mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: cae142b85 Enable Hex colors on PaperAdventure.LEGACY_SECTION_UXRC, and use it for sending messages to console command sender (#5230) c1635eabb PlayerDeathEvent#getDeathMessage should provide translation for legacy reasons #5227 3f74af202 Fix Log4J converter not parsing hex without named colors (#5228)
This commit is contained in:
2
Paper
2
Paper
Submodule Paper updated: d5cb9308f2...cae142b85d
@@ -10919,7 +10919,7 @@ index 7636a51a7ef0aa05b5b2aaa9d17e7b551dedac96..480a02a8f6ec7110f9af8f2037fdc09a
|
||||
|
||||
double d0 = this.locX() + vec3d.x;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 17f6031558d98182c32b3df3fb60daf528d5e684..81249a38ecfdb04a8e266c8d9c3d00d63ccead4b 100644
|
||||
index d51925612bc3d37164a8e821833ef1721b6e6976..cf14b83ec3c2b9a2812f50f3bca991e029bf7c67 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -531,6 +531,185 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
@@ -25,7 +25,7 @@ index 59b00c78f8d92bcceca35d0f25e4d94b3ebdc6e2..e0cf2af8fcbfc66fc32aa8e693b62160
|
||||
super(EntityTypes.PLAYER, world);
|
||||
this.bL = ItemStack.b;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 81249a38ecfdb04a8e266c8d9c3d00d63ccead4b..771f634a06eca998853830d78b4d1546dd2b4c67 100644
|
||||
index cf14b83ec3c2b9a2812f50f3bca991e029bf7c67..a4e266955ada46db08b1815e549fa4bde9606df2 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -1929,8 +1929,54 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Player invulnerabilities
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 771f634a06eca998853830d78b4d1546dd2b4c67..f4f6e85bd98ce57bf2daeb9ea30bccc25fdae8ec 100644
|
||||
index a4e266955ada46db08b1815e549fa4bde9606df2..599d7fbc4db928a9825e154c09c9a74d39a39a03 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -154,6 +154,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
@@ -4,8 +4,20 @@ Date: Thu, 9 May 2019 14:27:37 -0500
|
||||
Subject: [PATCH] Silk touch spawners
|
||||
|
||||
|
||||
diff --git a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
|
||||
index 23e6a033612d964f1185dd09a10b470f46685568..a93102ec168ebddd524492250df09c7522b12fc8 100644
|
||||
--- a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
|
||||
+++ b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
|
||||
@@ -33,6 +33,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
public final class PaperAdventure {
|
||||
public static final AttributeKey<Locale> LOCALE_ATTRIBUTE = AttributeKey.valueOf("adventure:locale");
|
||||
public static final LegacyComponentSerializer LEGACY_SECTION_UXRC = LegacyComponentSerializer.builder().hexColors().useUnusualXRepeatedCharacterHexFormat().build();
|
||||
+ public static final LegacyComponentSerializer LEGACY_AMPERSAND = LegacyComponentSerializer.builder().character(LegacyComponentSerializer.AMPERSAND_CHAR).hexColors().build(); // Purpur
|
||||
static final GsonComponentSerializer GSON = GsonComponentSerializer.builder()
|
||||
.legacyHoverEventSerializer(NBTLegacyHoverEventSerializer.INSTANCE)
|
||||
.build();
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockMobSpawner.java b/src/main/java/net/minecraft/server/BlockMobSpawner.java
|
||||
index 81e145ff0759322f74888c81df8d2133fece7144..f9c4fe9bec9f0ca32e2de907f8705a5d627e0736 100644
|
||||
index 81e145ff0759322f74888c81df8d2133fece7144..567a6a064254d99ae6a931b91e6bdd94badb19fc 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockMobSpawner.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockMobSpawner.java
|
||||
@@ -1,5 +1,17 @@
|
||||
@@ -47,7 +59,7 @@ index 81e145ff0759322f74888c81df8d2133fece7144..f9c4fe9bec9f0ca32e2de907f8705a5d
|
||||
+
|
||||
+ String name = world.purpurConfig.silkTouchSpawnerName;
|
||||
+ if (name != null && !name.isEmpty() && !name.equals("Spawner")) {
|
||||
+ final Component displayName = LegacyComponentSerializer.legacyAmpersand().deserialize(name).replaceText(config).decoration(ITALIC, false);
|
||||
+ final Component displayName = PaperAdventure.LEGACY_AMPERSAND.deserialize(name).replaceText(config).decoration(ITALIC, false);
|
||||
+ display.set("Name", NBTTagString.create(GsonComponentSerializer.gson().serialize(displayName)));
|
||||
+ customDisplay = true;
|
||||
+ }
|
||||
@@ -56,7 +68,7 @@ index 81e145ff0759322f74888c81df8d2133fece7144..f9c4fe9bec9f0ca32e2de907f8705a5d
|
||||
+ if (lore != null && !lore.isEmpty()) {
|
||||
+ NBTTagList list = new NBTTagList();
|
||||
+ for (String line : lore) {
|
||||
+ final Component lineComponent = LegacyComponentSerializer.legacyAmpersand().deserialize(line).replaceText(config).decoration(ITALIC, false);
|
||||
+ final Component lineComponent = PaperAdventure.LEGACY_AMPERSAND.deserialize(line).replaceText(config).decoration(ITALIC, false);
|
||||
+ list.add(NBTTagString.create(GsonComponentSerializer.gson().serialize(lineComponent)));
|
||||
+ }
|
||||
+ display.set("Lore", list);
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Signs allow color codes
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index f4f6e85bd98ce57bf2daeb9ea30bccc25fdae8ec..a76d4ed8a0baa09340fcf58e647afa1ce18d9c97 100644
|
||||
index 599d7fbc4db928a9825e154c09c9a74d39a39a03..8bfff671ed779991b8ef5433cfec61b405a184ba 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -1449,6 +1449,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -37,7 +37,7 @@ index 82ac1971278c98d1d09e18b8e0abaacc358efcac..0054c4ec899146e5bb8cebebba2db2a0
|
||||
}
|
||||
SignChangeEvent event = new SignChangeEvent(org.bukkit.craftbukkit.block.CraftBlock.at(worldserver, blockposition), this.getPlayer(), lines);
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
|
||||
index 316766970243e8ac00e4c82f6c710de5edc3fa51..be6c9e17379e2c9bf50c58f11632c308efded6c3 100644
|
||||
index 316766970243e8ac00e4c82f6c710de5edc3fa51..23706010e6419821709cdaf34c0b1bbb91671d01 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
|
||||
@@ -1,6 +1,7 @@
|
||||
@@ -56,7 +56,7 @@ index 316766970243e8ac00e4c82f6c710de5edc3fa51..be6c9e17379e2c9bf50c58f11632c308
|
||||
+ public PacketPlayOutTileEntityData getTranslatedUpdatePacket() {
|
||||
+ NBTTagCompound nbt = save(new NBTTagCompound());
|
||||
+ for (int i = 0; i < 4; ++i) {
|
||||
+ String line = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacyAmpersand().serialize(PaperAdventure.asAdventure(lines[i]));
|
||||
+ String line = PaperAdventure.LEGACY_AMPERSAND.serialize(PaperAdventure.asAdventure(lines[i]));
|
||||
+ nbt.setString("Text" + (i + 1), net.kyori.adventure.text.serializer.gson.GsonComponentSerializer.gson().serialize(net.kyori.adventure.text.Component.text(line)));
|
||||
+ }
|
||||
+ nbt.setString("PurpurEditor", "true");
|
||||
|
||||
@@ -106,7 +106,7 @@ index 022dfdc5b6af4b243e7e4da8660e8e41d04e1a30..298af30b1a7f12d42216fc1b7ee801fd
|
||||
this.move(EnumMoveType.SELF, this.getMot());
|
||||
if (!this.onGround) {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index a76d4ed8a0baa09340fcf58e647afa1ce18d9c97..26220aa522f5bfa64fe0cacbe3800624b41299bb 100644
|
||||
index 8bfff671ed779991b8ef5433cfec61b405a184ba..2ccfa195cf351ca0e2b867c119a66e9fa6bfc742 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -1002,6 +1002,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Players should not cram to death
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 26220aa522f5bfa64fe0cacbe3800624b41299bb..d3b0e7d03b625f13b1317025d88d93886a900c95 100644
|
||||
index 2ccfa195cf351ca0e2b867c119a66e9fa6bfc742..56d8ad52abfcedffc0baebba9e250177fce7153b 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -1426,7 +1426,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
@@ -17,7 +17,7 @@ index ba678ad67d1a48724738a71e1ff3b4e85b672f2c..67f33647cd66c32fcc6d91edd7f66684
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index d3b0e7d03b625f13b1317025d88d93886a900c95..fd923594c67f51cfd77ca22f5b6664a3b7136e7e 100644
|
||||
index 56d8ad52abfcedffc0baebba9e250177fce7153b..fcf8f988c1dbc7798e3c1b837de33b3049b33a2f 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -2414,4 +2414,26 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
@@ -5,17 +5,16 @@ Subject: [PATCH] Allow anvil colors
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ContainerAnvil.java b/src/main/java/net/minecraft/server/ContainerAnvil.java
|
||||
index 4aa6b035a6a8ea39401c6566cd286de39f60e942..bae418eb43a413b09adbfa1f87e5e20052289a21 100644
|
||||
index 4aa6b035a6a8ea39401c6566cd286de39f60e942..02924766a4c655f149b58bf1ded8e0610f8900a3 100644
|
||||
--- a/src/main/java/net/minecraft/server/ContainerAnvil.java
|
||||
+++ b/src/main/java/net/minecraft/server/ContainerAnvil.java
|
||||
@@ -10,6 +10,14 @@ import org.apache.logging.log4j.Logger;
|
||||
@@ -10,6 +10,13 @@ import org.apache.logging.log4j.Logger;
|
||||
import org.bukkit.craftbukkit.inventory.CraftInventoryView;
|
||||
// CraftBukkit end
|
||||
|
||||
+// Purpur start
|
||||
+import io.papermc.paper.adventure.PaperAdventure;
|
||||
+import net.kyori.adventure.text.Component;
|
||||
+import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
||||
+
|
||||
+import static net.kyori.adventure.text.format.TextDecoration.ITALIC;
|
||||
+// Purpur end
|
||||
@@ -23,7 +22,7 @@ index 4aa6b035a6a8ea39401c6566cd286de39f60e942..bae418eb43a413b09adbfa1f87e5e200
|
||||
public class ContainerAnvil extends ContainerAnvilAbstract {
|
||||
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
@@ -251,6 +259,17 @@ public class ContainerAnvil extends ContainerAnvilAbstract {
|
||||
@@ -251,6 +258,17 @@ public class ContainerAnvil extends ContainerAnvilAbstract {
|
||||
} else if (!this.renameText.equals(itemstack.getName().getString())) {
|
||||
b1 = 1;
|
||||
i += b1;
|
||||
@@ -31,9 +30,9 @@ index 4aa6b035a6a8ea39401c6566cd286de39f60e942..bae418eb43a413b09adbfa1f87e5e200
|
||||
+ if (player != null && player.world.purpurConfig.anvilAllowColors && player.getBukkitEntity().hasPermission("purpur.anvil.color")) {
|
||||
+ final Component renameTextComponent;
|
||||
+ if (renameText.startsWith("&r") && player.getBukkitEntity().hasPermission("purpur.anvil.remove_italics")) {
|
||||
+ renameTextComponent = LegacyComponentSerializer.legacyAmpersand().deserialize(renameText.substring(2)).decoration(ITALIC, false);
|
||||
+ renameTextComponent = PaperAdventure.LEGACY_AMPERSAND.deserialize(renameText.substring(2)).decoration(ITALIC, false);
|
||||
+ } else {
|
||||
+ renameTextComponent = LegacyComponentSerializer.legacyAmpersand().deserialize(renameText);
|
||||
+ renameTextComponent = PaperAdventure.LEGACY_AMPERSAND.deserialize(renameText);
|
||||
+ }
|
||||
+ itemstack1.a(PaperAdventure.asVanilla(renameTextComponent));
|
||||
+ } else
|
||||
|
||||
@@ -3203,7 +3203,7 @@ index a3a428da99574c485fcf2b8c7944e0d8354146ee..cf7de0127166f6175a6246062c8664e6
|
||||
this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));
|
||||
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false));
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index fd923594c67f51cfd77ca22f5b6664a3b7136e7e..f4d971448c91d2814055eea9f13426f1225c3e21 100644
|
||||
index fcf8f988c1dbc7798e3c1b837de33b3049b33a2f..cfbe3c1c96e6406219c5f186ae15e178d877dfd6 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -512,6 +512,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -6381,7 +6381,7 @@ index 744e6351c58e5aa4a0c668f2ff1adb76a3dc0822..a3b810556e306bc2be65c7811cfa7806
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index a6d9212da2821d12449b0405dd360185388eefe5..6eece873dc948c89f8431a6f11e4a940bf6ca476 100644
|
||||
index ee325757c79d3dc6db6bcc80c32a371e064ef24d..fefac469e4c8b803cd8e8c104103fad586ff2998 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -527,6 +527,18 @@ public class CraftEventFactory {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add tablist suffix option for afk
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index f4d971448c91d2814055eea9f13426f1225c3e21..b3b88a1d9eab891a09c5ce64fc5e9440e1997dd0 100644
|
||||
index cfbe3c1c96e6406219c5f186ae15e178d877dfd6..f22fcc41a20f2be14a05d418a6345234418d6199 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -1980,7 +1980,11 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
@@ -33,7 +33,7 @@ index e6e180ea46529e80eeab95f550dee5f3f8198ba8..b6bfd8f5073ce481dfe2b1667ece42d3
|
||||
if (flag5) {
|
||||
if (i > 0) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 6eece873dc948c89f8431a6f11e4a940bf6ca476..3796cdb49329584fe8c753bf24e4b23f922de372 100644
|
||||
index fefac469e4c8b803cd8e8c104103fad586ff2998..8f5ca21a9d0e198aade8b7bc0d7990f444c81ffd 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -1073,7 +1073,7 @@ public class CraftEventFactory {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add boat fall damage config
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index b3b88a1d9eab891a09c5ce64fc5e9440e1997dd0..d9565c8a33afbaaec66672d888f45dfa63985a2e 100644
|
||||
index f22fcc41a20f2be14a05d418a6345234418d6199..0e5581e363f80735549cfbc5259eb044828e483b 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -1011,7 +1011,16 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
@@ -25,7 +25,7 @@ index 1c407f3050ba34afd33ce66b6ef8ef682010091a..a2ba87dac005572d2617b6fe2c92f698
|
||||
|
||||
this.inPortal = true;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index d9565c8a33afbaaec66672d888f45dfa63985a2e..d9206191e653df877e327b6538eaa321c48be789 100644
|
||||
index 0e5581e363f80735549cfbc5259eb044828e483b..67f822e64013540dd890e0269c8f770f7c029405 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -1161,6 +1161,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
Reference in New Issue
Block a user