From 397c82bc86abaada399941278ee92dbcbd577cf2 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Sat, 12 Oct 2024 23:27:28 -0400 Subject: [PATCH] Updated Upstream (Paper/Gale/Purpur) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@57c75a4 Fix CraftMagicNumbers#getTag (#11484) PaperMC/Paper@b16c0ae Add offline PDC API (#8117) PaperMC/Paper@4430e96 Add AnvilView#bypassEnchantmentLevelRestriction (#11475) Gale Changes: Dreeam-qwq/Gale@d6c9313 Updated Upstream (Paper) Dreeam-qwq/Gale@a235416 Added notification when executed perf command Purpur Changes: PurpurMC/Purpur@4565f41 these options should be off by default PurpurMC/Purpur@4671e1e show a message stating the removal of mojang profiler when running perf comamnd, closes #1591 PurpurMC/Purpur@e12a4de Updated Upstream (Paper) --- gradle.properties | 2 +- patches/api/0004-Purpur-API-Changes.patch | 20 +++---- .../0001-Purpur-generated-api-Changes.patch | 2 +- .../server/0011-Purpur-Server-Changes.patch | 60 +++++++++---------- .../0065-Improve-Purpur-AFK-system.patch | 10 ++-- ...Configurable-unknown-command-message.patch | 6 +- 6 files changed, 50 insertions(+), 50 deletions(-) diff --git a/gradle.properties b/gradle.properties index c0f835c4b..88e01d92a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = cn.dreeam.leaf mcVersion = 1.21.1 version = 1.21.1-R0.1-SNAPSHOT -galeCommit = 7829acfaa874ef66183c56a1b09c2415ea9045b7 +galeCommit = a235416736a0171984aacffcf646921cac5f2092 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0004-Purpur-API-Changes.patch b/patches/api/0004-Purpur-API-Changes.patch index 8df8d2ac1..59a9d1960 100644 --- a/patches/api/0004-Purpur-API-Changes.patch +++ b/patches/api/0004-Purpur-API-Changes.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Purpur API Changes Original license: MIT Original project: https://github.com/PurpurMC/Purpur -Commit: 2eaea6a06092ef78b6cd4ab949d15bbd337d2ee6 +Commit: e12a4ded8caa0ee5aa47e8ceb80fd1985ed74ad7 Patches below are removed in this patch: Pufferfish-API-Changes.patch @@ -293,13 +293,13 @@ index de469f32dd9a01e0e2fde016044a783dde0c5b98..c7fa497381c5c5d57fda8b9c1ef26f2e + // Purpur end } diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java -index 3993fecec5b4c2bbd77e175a168afcad571ce4d1..d0206c9c2f423a9b77237d9a005b9ee139dae70f 100644 +index a028f2fe541491729856051780b33dba07832fb6..fc64902368a068481f16d5db99c94386caf6b60b 100644 --- a/src/main/java/org/bukkit/OfflinePlayer.java +++ b/src/main/java/org/bukkit/OfflinePlayer.java -@@ -557,4 +557,106 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio - */ - @Nullable - public Location getLocation(); +@@ -573,4 +573,106 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio + @Override + io.papermc.paper.persistence.@NotNull PersistentDataContainerView getPersistentDataContainer(); + // Paper end - add pdc to offline player + + // Purpur start - OfflinePlayer API + /** @@ -1806,13 +1806,13 @@ index f1aa67997f904953742e8895e49341c2f73d44a2..993cf7995514fb0ef3c4388bb3ce49c3 public int hashCode() { int hash = 7; diff --git a/src/main/java/org/bukkit/inventory/view/AnvilView.java b/src/main/java/org/bukkit/inventory/view/AnvilView.java -index 0344b3db789baf1da0b59f2d2cd66154b69b38a9..4b130327c84b05938d21d563f78361f9483a6a4e 100644 +index cc5ffd28a6d6244b99a94e52c6f5a0f73a64aed7..76e2b4fe49febb2897e1e9c5487a6b1e2e6bd76a 100644 --- a/src/main/java/org/bukkit/inventory/view/AnvilView.java +++ b/src/main/java/org/bukkit/inventory/view/AnvilView.java -@@ -59,4 +59,34 @@ public interface AnvilView extends InventoryView { - * @param levels the levels to set +@@ -83,4 +83,34 @@ public interface AnvilView extends InventoryView { */ - void setMaximumRepairCost(int levels); + void bypassEnchantmentLevelRestriction(boolean bypassEnchantmentLevelRestriction); + // Paper end - bypass anvil level restrictions + + // Purpur start + /** diff --git a/patches/generated-api/0001-Purpur-generated-api-Changes.patch b/patches/generated-api/0001-Purpur-generated-api-Changes.patch index 379568bdc..7aa68f4be 100644 --- a/patches/generated-api/0001-Purpur-generated-api-Changes.patch +++ b/patches/generated-api/0001-Purpur-generated-api-Changes.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Purpur generated-api Changes Original license: MIT Original project: https://github.com/PurpurMC/Purpur -Commit: 8332fa45d9886aed8cf0c114e08c6671a06794c8 +Commit: e12a4ded8caa0ee5aa47e8ceb80fd1985ed74ad7 diff --git a/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/com/destroystokyo/paper/entity/ai/VanillaGoal.java index 02411466bdcf4ff731f01ccebb2c99942e0db878..2718c0e5061838b01881bb231c53f4da348adce3 100644 diff --git a/patches/server/0011-Purpur-Server-Changes.patch b/patches/server/0011-Purpur-Server-Changes.patch index e4f4b1329..de6e0082a 100644 --- a/patches/server/0011-Purpur-Server-Changes.patch +++ b/patches/server/0011-Purpur-Server-Changes.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Purpur Server Changes Original license: MIT Original project: https://github.com/PurpurMC/Purpur -Commit: 2eaea6a06092ef78b6cd4ab949d15bbd337d2ee6 +Commit: e12a4ded8caa0ee5aa47e8ceb80fd1985ed74ad7 Patches below are removed in this patch: Pufferfish-Server-Changes.patch @@ -409,10 +409,10 @@ index 2d344df35d47b4b1ecddf32ccaa4dae41e5f58cb..08e783882d0b2ef3ebf88e664f1a3d8b boolean flag1 = this.source.acceptsSuccess() && !this.silent; boolean flag2 = broadcastToOps && this.source.shouldInformAdmins() && !this.silent; diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index 6b2be7f529ceeb500018588319aa3944d9b4949d..f4bdc9eca20b7dfc104912b10e35315f189f8b5a 100644 +index c778b66ac5277eee789bf7ba2992f21f3315bc74..7b27575ee14ea30c104be2a231d378f69f7bd347 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java -@@ -218,8 +218,8 @@ public class Commands { +@@ -219,8 +219,8 @@ public class Commands { JfrCommand.register(this.dispatcher); } @@ -423,7 +423,7 @@ index 6b2be7f529ceeb500018588319aa3944d9b4949d..f4bdc9eca20b7dfc104912b10e35315f RaidCommand.register(this.dispatcher, commandRegistryAccess); DebugPathCommand.register(this.dispatcher); DebugMobSpawningCommand.register(this.dispatcher); -@@ -246,6 +246,14 @@ public class Commands { +@@ -248,6 +248,14 @@ public class Commands { StopCommand.register(this.dispatcher); TransferCommand.register(this.dispatcher); WhitelistCommand.register(this.dispatcher); @@ -13033,7 +13033,7 @@ index 58a5338e73aedaa3744dced128ac3eb6f5f6f87e..f032a3e76e2af3ebd67d202066f3bcac } else if (this.isFuel(itemstack1)) { if (!this.moveItemStackTo(itemstack1, 1, 2, false)) { diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java -index d685511104ac552dfc9ae2111e1bfb60fa812102..6c2e2c929810c60009f121b9a505cb9f775f2323 100644 +index 362278407679f245ebcea778f2199b357339e1fe..bd146be65c558dcd388359081e2625c4f5fbdc79 100644 --- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java @@ -25,6 +25,12 @@ import org.slf4j.Logger; @@ -13049,10 +13049,10 @@ index d685511104ac552dfc9ae2111e1bfb60fa812102..6c2e2c929810c60009f121b9a505cb9f public class AnvilMenu extends ItemCombinerMenu { public static final int INPUT_SLOT = 0; -@@ -53,6 +59,10 @@ public class AnvilMenu extends ItemCombinerMenu { - public int maximumRepairCost = 40; +@@ -54,6 +60,10 @@ public class AnvilMenu extends ItemCombinerMenu { private CraftAnvilView bukkitEntity; // CraftBukkit end + public boolean bypassEnchantmentLevelRestriction = false; // Paper - bypass anvil level restrictions + // Purpur start - Anvil API + public boolean bypassCost = false; + public boolean canDoUnsafeEnchants = false; @@ -13060,7 +13060,7 @@ index d685511104ac552dfc9ae2111e1bfb60fa812102..6c2e2c929810c60009f121b9a505cb9f public AnvilMenu(int syncId, Inventory inventory) { this(syncId, inventory, ContainerLevelAccess.NULL); -@@ -80,12 +90,17 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -81,12 +91,17 @@ public class AnvilMenu extends ItemCombinerMenu { @Override protected boolean mayPickup(Player player, boolean present) { @@ -13079,7 +13079,7 @@ index d685511104ac552dfc9ae2111e1bfb60fa812102..6c2e2c929810c60009f121b9a505cb9f player.giveExperienceLevels(-this.cost.get()); } -@@ -136,6 +151,12 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -137,6 +152,12 @@ public class AnvilMenu extends ItemCombinerMenu { @Override public void createResult() { @@ -13092,7 +13092,7 @@ index d685511104ac552dfc9ae2111e1bfb60fa812102..6c2e2c929810c60009f121b9a505cb9f ItemStack itemstack = this.inputSlots.getItem(0); this.cost.set(1); -@@ -143,7 +164,7 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -144,7 +165,7 @@ public class AnvilMenu extends ItemCombinerMenu { long j = 0L; byte b0 = 0; @@ -13101,7 +13101,7 @@ index d685511104ac552dfc9ae2111e1bfb60fa812102..6c2e2c929810c60009f121b9a505cb9f ItemStack itemstack1 = itemstack.copy(); ItemStack itemstack2 = this.inputSlots.getItem(1); ItemEnchantments.Mutable itemenchantments_a = new ItemEnchantments.Mutable(EnchantmentHelper.getEnchantmentsForCrafting(itemstack1)); -@@ -210,7 +231,10 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -211,7 +232,10 @@ public class AnvilMenu extends ItemCombinerMenu { i2 = l1 == i2 ? i2 + 1 : Math.max(i2, l1); Enchantment enchantment = (Enchantment) holder.value(); @@ -13113,7 +13113,7 @@ index d685511104ac552dfc9ae2111e1bfb60fa812102..6c2e2c929810c60009f121b9a505cb9f if (this.player.getAbilities().instabuild || itemstack.is(Items.ENCHANTED_BOOK)) { flag3 = true; -@@ -222,16 +246,22 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -223,16 +247,22 @@ public class AnvilMenu extends ItemCombinerMenu { Holder holder1 = (Holder) iterator1.next(); if (!holder1.equals(holder) && !Enchantment.areCompatible(holder, holder1)) { @@ -13134,12 +13134,12 @@ index d685511104ac552dfc9ae2111e1bfb60fa812102..6c2e2c929810c60009f121b9a505cb9f flag2 = true; } else { flag1 = true; -- if (i2 > enchantment.getMaxLevel()) { -+ if (!org.purpurmc.purpur.PurpurConfig.allowHigherEnchantsLevels && i2 > enchantment.getMaxLevel()) { // Purpur - Config to allow unsafe enchants +- if (i2 > enchantment.getMaxLevel() && !this.bypassEnchantmentLevelRestriction) { // Paper - bypass anvil level restrictions ++ if (!org.purpurmc.purpur.PurpurConfig.allowHigherEnchantsLevels && i2 > enchantment.getMaxLevel() && !this.bypassEnchantmentLevelRestriction) { // Paper - bypass anvil level restrictions // Purpur - Config to allow unsafe enchants i2 = enchantment.getMaxLevel(); } -@@ -261,6 +291,54 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -262,6 +292,54 @@ public class AnvilMenu extends ItemCombinerMenu { if (!this.itemName.equals(itemstack.getHoverName().getString())) { b0 = 1; i += b0; @@ -13194,7 +13194,7 @@ index d685511104ac552dfc9ae2111e1bfb60fa812102..6c2e2c929810c60009f121b9a505cb9f itemstack1.set(DataComponents.CUSTOM_NAME, Component.literal(this.itemName)); } } else if (itemstack.has(DataComponents.CUSTOM_NAME)) { -@@ -280,6 +358,12 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -281,6 +359,12 @@ public class AnvilMenu extends ItemCombinerMenu { this.cost.set(this.maximumRepairCost - 1); // CraftBukkit } @@ -13207,7 +13207,7 @@ index d685511104ac552dfc9ae2111e1bfb60fa812102..6c2e2c929810c60009f121b9a505cb9f if (this.cost.get() >= this.maximumRepairCost && !this.player.getAbilities().instabuild) { // CraftBukkit itemstack1 = ItemStack.EMPTY; } -@@ -301,6 +385,13 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -302,6 +386,13 @@ public class AnvilMenu extends ItemCombinerMenu { org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(this.getBukkitView(), itemstack1); // CraftBukkit this.sendAllDataToRemote(); // CraftBukkit - SPIGOT-6686: Always send completed inventory to stay in sync with client this.broadcastChanges(); @@ -13221,7 +13221,7 @@ index d685511104ac552dfc9ae2111e1bfb60fa812102..6c2e2c929810c60009f121b9a505cb9f } else { org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(this.getBukkitView(), ItemStack.EMPTY); // CraftBukkit this.cost.set(AnvilMenu.DEFAULT_DENIED_COST); // CraftBukkit - use a variable for set a cost for denied item -@@ -308,7 +399,7 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -309,7 +400,7 @@ public class AnvilMenu extends ItemCombinerMenu { } public static int calculateIncreasedRepairCost(int cost) { @@ -16653,10 +16653,10 @@ index 29123f3a2f211c08d1a9ccf62ca9bc9822f90111..db78616676ba021ee0f03cfea932f291 + // Purpur } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -index 4f4e3ee18d586f61706504218cddc06a38ca5580..95cf30c1ded4a46791e1739fbae2d06c50f3be5f 100644 +index 94ca0407303c4493ab4928b12ec6ecc75aaca549..a138e1b6b66d99f2035de054137a607aa6b7f0b9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -@@ -335,14 +335,26 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa +@@ -363,14 +363,26 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa @Override public Location getLocation() { @@ -16686,7 +16686,7 @@ index 4f4e3ee18d586f61706504218cddc06a38ca5580..95cf30c1ded4a46791e1739fbae2d06c UUID uuid = new UUID(data.getLong("WorldUUIDMost"), data.getLong("WorldUUIDLeast")); -@@ -353,9 +365,9 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa +@@ -381,9 +393,9 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa rotation.getFloat(0), rotation.getFloat(1) ); @@ -16698,7 +16698,7 @@ index 4f4e3ee18d586f61706504218cddc06a38ca5580..95cf30c1ded4a46791e1739fbae2d06c } @Override -@@ -598,4 +610,191 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa +@@ -626,4 +638,191 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa manager.save(); } } @@ -17811,10 +17811,10 @@ index 792cb6adf0c7a6335cc5985fce8bed2e0f1149af..5734c5caffda79383ae30df20c3defb5 + // Purpur end - Anvil API } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index f84e07fa0876bb6da0f99f4de6cb811f897adca2..090c485990f11ad72597bcd7473f7b439f7a6d86 100644 +index 6081c588c61406d0d21a15e8e6140d5d5240f0a8..52811706808f3adff16fb0e969ebbcae36c609c3 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -543,4 +543,285 @@ public final class CraftItemStack extends ItemStack { +@@ -514,4 +514,285 @@ public final class CraftItemStack extends ItemStack { return this.pdcView; } // Paper end - pdc @@ -18113,10 +18113,10 @@ index c76c78bb7757d407102271463e14716a1b012deb..458b91582a22fb1e6deb1551c38d2a10 } else if (bukkit == RecipeChoice.empty()) { stack = Ingredient.EMPTY; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/view/CraftAnvilView.java b/src/main/java/org/bukkit/craftbukkit/inventory/view/CraftAnvilView.java -index e2d8d69c5ae8feb6840462ba8332344972658d83..d1505efcf861224f0b3c9837072690155b36ae32 100644 +index 59f0b1207931a2a10d559f43e2926b17e6991257..02cef3b940822327e72c887f6b342c080c6d0f45 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/view/CraftAnvilView.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/view/CraftAnvilView.java -@@ -63,4 +63,26 @@ public class CraftAnvilView extends CraftInventoryView implements Anv +@@ -75,4 +75,26 @@ public class CraftAnvilView extends CraftInventoryView implements Anv this.setMaximumRepairCost(legacy.getMaximumRepairCost()); } } @@ -18218,7 +18218,7 @@ index 52649f82351ab4f675c3cc3cd6640956b0f76b91..eb51c88c7a0658190d3a8bfd5d18dca7 DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "seed", "Allows the user to view the seed of the world", PermissionDefault.OP, commands); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java new file mode 100644 -index 0000000000000000000000000000000000000000..7701482804e9ba88fb0b1e8f9d56b2e1a8fc31ad +index 0000000000000000000000000000000000000000..3700904b82d3116c1336b86907ce1c2c4644b0ab --- /dev/null +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -0,0 +1,581 @@ @@ -18637,9 +18637,9 @@ index 0000000000000000000000000000000000000000..7701482804e9ba88fb0b1e8f9d56b2e1 + } + + public static boolean allowShearsLooting = false; -+ public static boolean allowInapplicableEnchants = true; -+ public static boolean allowIncompatibleEnchants = true; -+ public static boolean allowHigherEnchantsLevels = true; ++ public static boolean allowInapplicableEnchants = false; ++ public static boolean allowIncompatibleEnchants = false; ++ public static boolean allowHigherEnchantsLevels = false; + public static boolean allowUnsafeEnchantCommand = false; + public static boolean replaceIncompatibleEnchants = false; + public static boolean clampEnchantLevels = true; diff --git a/patches/server/0065-Improve-Purpur-AFK-system.patch b/patches/server/0065-Improve-Purpur-AFK-system.patch index 9a46b1427..edb487d8c 100644 --- a/patches/server/0065-Improve-Purpur-AFK-system.patch +++ b/patches/server/0065-Improve-Purpur-AFK-system.patch @@ -7,10 +7,10 @@ AFK command & command cooldown AFK title message diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index b6713361cd104786f52bd880418b8653e4126fda..11e94766b487ee8e112813cae0561b84d16f4f8a 100644 +index 7b27575ee14ea30c104be2a231d378f69f7bd347..91eea05a68d0ace8678fc5071e67cedb18a4386b 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java -@@ -246,6 +246,7 @@ public class Commands { +@@ -248,6 +248,7 @@ public class Commands { StopCommand.register(this.dispatcher); TransferCommand.register(this.dispatcher); WhitelistCommand.register(this.dispatcher); @@ -57,7 +57,7 @@ index 7c6bda95b8b08cc70182f19cf0b991f78d28c235..79df52237b7a5822e0cbaff015ccd193 } else { getBukkitEntity().setPlayerListName(prefix + scoreboardName + suffix, true); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e05558115e906cb9c059007d437bace31a60139e..a0c4b996dfda86057a37c7430bf37654ddebca23 100644 +index 96f6279eb5567f72fcd0b99f22385e083c5fa9b3..31c3b9e281708784631230d80c4777f1486f26d5 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2276,6 +2276,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -142,7 +142,7 @@ index e05558115e906cb9c059007d437bace31a60139e..a0c4b996dfda86057a37c7430bf37654 this.cserver.getPluginManager().callEvent(event); command = event.getMessage().substring(1); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index f073b87e6b214e08672980f8f229cd436a742def..5d81f06c981128e4199555c1378345dccf4682b2 100644 +index e562e401f4548fd5ec0968e3eab06c65348d3ddd..4f1d226bc7c5eea06e837e99f268827ca94e221f 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -759,6 +759,7 @@ public abstract class PlayerList { @@ -154,7 +154,7 @@ index f073b87e6b214e08672980f8f229cd436a742def..5d81f06c981128e4199555c1378345dc entityplayer.awardStat(Stats.LEAVE_GAME); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 69832f436254d975a77e251e6ae5de2e81f92750..0a6aa10b112cf24a490ac4350f04a65e03fbb692 100644 +index 654e838d9a77e0dd8fe9fb1d4804785ad0f463c8..5b9b9830eadf133e5ee822d6d6a0d649e08a53ed 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -178,9 +178,14 @@ public class PurpurConfig { diff --git a/patches/server/0079-Configurable-unknown-command-message.patch b/patches/server/0079-Configurable-unknown-command-message.patch index 26304d6a0..2c495d6e2 100644 --- a/patches/server/0079-Configurable-unknown-command-message.patch +++ b/patches/server/0079-Configurable-unknown-command-message.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Configurable unknown command message TODO - Dreeam: total configurable diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index 94bb40c9932b0b7dd9fb8af680b63d139ae18e3a..f5446158a83d5ccd79988ab71f2c4df220b39167 100644 +index 91eea05a68d0ace8678fc5071e67cedb18a4386b..7af159281a69510d2b0787d472f1af39e1225a47 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java -@@ -388,7 +388,14 @@ public class Commands { +@@ -390,7 +390,14 @@ public class Commands { // Paper start - Add UnknownCommandEvent final net.kyori.adventure.text.TextComponent.Builder builder = net.kyori.adventure.text.Component.text(); // commandlistenerwrapper.sendFailure(ComponentUtils.fromMessage(commandsyntaxexception.getRawMessage())); @@ -24,7 +24,7 @@ index 94bb40c9932b0b7dd9fb8af680b63d139ae18e3a..f5446158a83d5ccd79988ab71f2c4df2 // Paper end - Add UnknownCommandEvent if (commandsyntaxexception.getInput() != null && commandsyntaxexception.getCursor() >= 0) { int i = Math.min(commandsyntaxexception.getInput().length(), commandsyntaxexception.getCursor()); -@@ -414,7 +421,7 @@ public class Commands { +@@ -416,7 +423,7 @@ public class Commands { .append(net.kyori.adventure.text.Component.newline()) .append(io.papermc.paper.adventure.PaperAdventure.asAdventure(ichatmutablecomponent)); }