diff --git a/patches/server/0127-Implement-TPSBar.patch b/patches/server/0127-Implement-TPSBar.patch index 3e1f12295..b2d03d549 100644 --- a/patches/server/0127-Implement-TPSBar.patch +++ b/patches/server/0127-Implement-TPSBar.patch @@ -17,7 +17,7 @@ index 40735237cc87a476d08f1ffcb1b67ce563091230..3156e7e43a5114aaaa1276b024f4ec45 if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 884a6b777102877ab9af50f6f1df39213b672fe7..e9a7da7f2f9d0661c128ca040e15676c6d72e38b 100644 +index 47fbe4f3877756d88d5b914bb43c06d3a136a288..121bc7f3be749a1773ad917023855bae529e6643 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1126,6 +1126,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop dispatcher) { + dispatcher.register(Commands.literal("tpsbar") + .requires(listener -> listener.hasPermission(2)) -+ .executes(context -> { -+ ServerPlayer player = context.getSource().getPlayerOrException(); -+ boolean result = TPSBarTask.instance().togglePlayer(player.getBukkitEntity()); -+ player.tpsBar(result); -+ return 1; -+ }) ++ .executes(context -> execute(context.getSource(), Collections.singleton(context.getSource().getPlayerOrException()))) ++ .then(Commands.argument("targets", EntityArgument.players()) ++ .executes((context) -> execute(context.getSource(), EntityArgument.getPlayers(context, "targets"))) ++ ) + ).setPermission("bukkit.command.tpsbar"); + } ++ ++ private static int execute(CommandSourceStack sender, Collection targets) { ++ for (ServerPlayer player : targets) { ++ boolean result = TPSBarTask.instance().togglePlayer(player.getBukkitEntity()); ++ player.tpsBar(result); ++ ++ Component output = MiniMessage.get().parse(PurpurConfig.tpsbarCommandOutput, ++ "onoff", Component.translatable(result ? "options.on" : "options.off") ++ .color(result ? NamedTextColor.GREEN : NamedTextColor.RED), ++ "target", player.getGameProfile().getName()); ++ ++ sender.sendSuccess(output, false); ++ } ++ return targets.size(); ++ } +} diff --git a/src/main/java/org/purpurmc/purpur/task/BossBarTask.java b/src/main/java/org/purpurmc/purpur/task/BossBarTask.java new file mode 100644 diff --git a/patches/server/0142-Dont-run-with-scissors.patch b/patches/server/0142-Dont-run-with-scissors.patch index 5019521f6..80b6e8122 100644 --- a/patches/server/0142-Dont-run-with-scissors.patch +++ b/patches/server/0142-Dont-run-with-scissors.patch @@ -68,21 +68,21 @@ index 8bc029dcd80452678eead24eaca867ca9afcb5da..361bd8edcc6e6d0fbac958e3ec91d74a if (cause != null) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index b85cc48ce8334f47c1776e1e35d81003118c2318..24cca9a7a5656f50a998f2d5e357315a6a3adffa 100644 +index 1eb8d599ebb70313fda467d943888f137b1fa745..994047373148cd23758998a3d161c6dc9e2b5349 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -176,6 +176,7 @@ public class PurpurConfig { - public static String creditsCommandOutput = "%s has been shown the end credits"; +@@ -177,6 +177,7 @@ public class PurpurConfig { public static String demoCommandOutput = "%s has been shown the demo screen"; public static String pingCommandOutput = "%s's ping is %sms"; + public static String tpsbarCommandOutput = "Tpsbar toggled for "; + public static String dontRunWithScissors = "Don't run with scissors!"; private static void messages() { cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob); afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway); -@@ -185,11 +186,14 @@ public class PurpurConfig { - creditsCommandOutput = getString("settings.messages.credits-command-output", creditsCommandOutput); +@@ -187,11 +188,14 @@ public class PurpurConfig { demoCommandOutput = getString("settings.messages.demo-command-output", demoCommandOutput); pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput); + tpsbarCommandOutput = getString("settings.messages.tpsbar-command-output", tpsbarCommandOutput); + dontRunWithScissors = getString("settings.messages.dont-run-with-scissors", dontRunWithScissors); } diff --git a/patches/server/0157-Allow-infinity-on-crossbows.patch b/patches/server/0157-Allow-infinity-on-crossbows.patch index a706b1d88..de423610a 100644 --- a/patches/server/0157-Allow-infinity-on-crossbows.patch +++ b/patches/server/0157-Allow-infinity-on-crossbows.patch @@ -77,10 +77,10 @@ index 11c1eb0e0bc326b28dc0cab16f67c413cc52e98c..7073985656ae5b17a7489518747dc858 return null; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 9caca4599d9db887929b191aa85f5501891f9393..6a876e3e50d0fac0ef4370331f5f67917bb65a9a 100644 +index 7a2cb685dbf10b8a0c69e393b855c001a24d1767..e1c4af38a7eac438b3304f11121c754e451c5bd6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -277,6 +277,7 @@ public class PurpurConfig { +@@ -279,6 +279,7 @@ public class PurpurConfig { } public static boolean allowInfinityMending = false; @@ -88,7 +88,7 @@ index 9caca4599d9db887929b191aa85f5501891f9393..6a876e3e50d0fac0ef4370331f5f6791 private static void enchantmentSettings() { if (version < 5) { boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false); -@@ -284,6 +285,7 @@ public class PurpurConfig { +@@ -286,6 +287,7 @@ public class PurpurConfig { set("settings.enchantment.allow-infinite-and-mending-together", null); } allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending); diff --git a/patches/server/0163-Config-to-allow-for-unsafe-enchants.patch b/patches/server/0163-Config-to-allow-for-unsafe-enchants.patch index 9dbf58770..a1dc5c591 100644 --- a/patches/server/0163-Config-to-allow-for-unsafe-enchants.patch +++ b/patches/server/0163-Config-to-allow-for-unsafe-enchants.patch @@ -27,7 +27,7 @@ index 514cc0e8805045549eacde6c280859aa2dc4a91d..4c8eeb66a9368597330957dd3c148634 ++i; } else if (targets.size() == 1) { diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java -index 69d996fead45bcf9fe5a29727f7f0a7a162cdabe..3f786be9c9efc069a3a1bc457f02421310941800 100644 +index 437127f223b738efe3532fc6b4c5b724bad99966..35ceeda917c3c49466f97b16a32c7ce9440f46c9 100644 --- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java @@ -208,7 +208,7 @@ public class AnvilMenu extends ItemCombinerMenu { @@ -58,7 +58,7 @@ index 69d996fead45bcf9fe5a29727f7f0a7a162cdabe..3f786be9c9efc069a3a1bc457f024213 ((ServerPlayer) player).connection.send(new ClientboundContainerSetDataPacket(containerId, 0, cost.get())); } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 31ac7e1e5cc37cd9abf0ffd0bab1402f51bffed9..fd8d102ac8e84c4bfe6f4431bd1088b862cff752 100644 +index ac8a90253f45a43486c1677c576231313d2d3e09..a95df369e8cdd7b7b1e31a463fdbae9017ebe2c0 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -1148,6 +1148,12 @@ public final class ItemStack { @@ -75,10 +75,10 @@ index 31ac7e1e5cc37cd9abf0ffd0bab1402f51bffed9..fd8d102ac8e84c4bfe6f4431bd1088b8 this.getOrCreateTag().put(key, element); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 6a876e3e50d0fac0ef4370331f5f67917bb65a9a..2a1082c106d601c3fe08d6806751561755c6e7f7 100644 +index e1c4af38a7eac438b3304f11121c754e451c5bd6..1de373851215803ace0da2058781da5d68500eb9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -278,6 +278,7 @@ public class PurpurConfig { +@@ -280,6 +280,7 @@ public class PurpurConfig { public static boolean allowInfinityMending = false; public static boolean allowCrossbowInfinity = false; @@ -86,7 +86,7 @@ index 6a876e3e50d0fac0ef4370331f5f67917bb65a9a..2a1082c106d601c3fe08d68067515617 private static void enchantmentSettings() { if (version < 5) { boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false); -@@ -286,6 +287,7 @@ public class PurpurConfig { +@@ -288,6 +289,7 @@ public class PurpurConfig { } allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending); allowCrossbowInfinity = getBoolean("settings.enchantment.allow-infinity-on-crossbow", allowCrossbowInfinity); diff --git a/patches/server/0168-Config-to-change-max-number-of-bees.patch b/patches/server/0168-Config-to-change-max-number-of-bees.patch index 55ffb6efe..652cc2d35 100644 --- a/patches/server/0168-Config-to-change-max-number-of-bees.patch +++ b/patches/server/0168-Config-to-change-max-number-of-bees.patch @@ -18,10 +18,10 @@ index b05ac56823feaf062b1418c9e6dbe4268225f00f..375f25807ca0f35784653d8fbe4e5086 public BeehiveBlockEntity(BlockPos pos, BlockState state) { super(BlockEntityType.BEEHIVE, pos, state); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 2a1082c106d601c3fe08d6806751561755c6e7f7..9137c8d55fad15dd9981513c4322f0c8ef40a897 100644 +index 1de373851215803ace0da2058781da5d68500eb9..09d9080a019d142ab427163439ef5e259d04e6bb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -243,6 +243,7 @@ public class PurpurConfig { +@@ -245,6 +245,7 @@ public class PurpurConfig { public static boolean enderChestSixRows = false; public static boolean enderChestPermissionRows = false; public static boolean cryingObsidianValidForPortalFrame = false; @@ -29,7 +29,7 @@ index 2a1082c106d601c3fe08d6806751561755c6e7f7..9137c8d55fad15dd9981513c4322f0c8 private static void blockSettings() { if (version < 3) { boolean oldValue = getBoolean("settings.barrel.packed-barrels", true); -@@ -274,6 +275,7 @@ public class PurpurConfig { +@@ -276,6 +277,7 @@ public class PurpurConfig { org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27); enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame); diff --git a/patches/server/0171-Gamemode-extra-permissions.patch b/patches/server/0171-Gamemode-extra-permissions.patch index b76705cdd..02c61a881 100644 --- a/patches/server/0171-Gamemode-extra-permissions.patch +++ b/patches/server/0171-Gamemode-extra-permissions.patch @@ -75,10 +75,10 @@ index 6cc517b394bafefce50d877761e5b2eee8e14c78..46ca899a7abddea108f6ff1b4ca14ca5 DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "toggledownfall", "Allows the user to toggle rain on/off for a given world", PermissionDefault.OP, commands); DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "defaultgamemode", "Allows the user to change the default gamemode of the server", PermissionDefault.OP, commands); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 9137c8d55fad15dd9981513c4322f0c8ef40a897..be773b26586ffb2d54fd66af1644556765c75fd4 100644 +index 09d9080a019d142ab427163439ef5e259d04e6bb..c3b00e02754f901fe2723cb536ced393ecc95e86 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -226,6 +226,7 @@ public class PurpurConfig { +@@ -228,6 +228,7 @@ public class PurpurConfig { public static String commandTPSBarTextColorMedium = ""; public static String commandTPSBarTextColorLow = ""; public static int commandTPSBarTickInterval = 20; @@ -86,7 +86,7 @@ index 9137c8d55fad15dd9981513c4322f0c8ef40a897..be773b26586ffb2d54fd66af16445567 private static void commandSettings() { commandTPSBarTitle = getString("settings.command.tpsbar.title", commandTPSBarTitle); commandTPSBarProgressOverlay = BossBar.Overlay.valueOf(getString("settings.command.tpsbar.overlay", commandTPSBarProgressOverlay.name())); -@@ -237,6 +238,7 @@ public class PurpurConfig { +@@ -239,6 +240,7 @@ public class PurpurConfig { commandTPSBarTextColorMedium = getString("settings.command.tpsbar.text-color.medium", commandTPSBarTextColorMedium); commandTPSBarTextColorLow = getString("settings.command.tpsbar.text-color.low", commandTPSBarTextColorLow); commandTPSBarTickInterval = getInt("settings.command.tpsbar.tick-interval", commandTPSBarTickInterval); diff --git a/patches/server/0174-Configurable-broadcast-settings.patch b/patches/server/0174-Configurable-broadcast-settings.patch index 2a60102de..b375fe1ba 100644 --- a/patches/server/0174-Configurable-broadcast-settings.patch +++ b/patches/server/0174-Configurable-broadcast-settings.patch @@ -17,7 +17,7 @@ index 6f5b7650d45958284f7b5c675c1e32d4b7738494..842acb66c58a1ee66c595bd56afc1f94 // Paper end } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a50d5342c5981a7ff5b4c56beea19da7e8a1b77c..6d643998ee32de7f96b94e10fbd0b08a75628978 100644 +index 97f1d557c8627c8fe201dafd457a9f31caec14e3..38a01e62ca99da9d8453b6275c5a1b22fcfa9b9e 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -910,6 +910,7 @@ public class ServerPlayer extends Player { @@ -29,10 +29,10 @@ index a50d5342c5981a7ff5b4c56beea19da7e8a1b77c..6d643998ee32de7f96b94e10fbd0b08a if (scoreboardteambase.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) { this.server.getPlayerList().broadcastToTeam(this, ichatbasecomponent); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index be773b26586ffb2d54fd66af1644556765c75fd4..fdc752a830c1858ad0afd66c8247dd052b37162e 100644 +index c3b00e02754f901fe2723cb536ced393ecc95e86..d3a26894b75a7222c6cd8208667fbb0d41d25118 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -196,6 +196,18 @@ public class PurpurConfig { +@@ -198,6 +198,18 @@ public class PurpurConfig { deathMsgRunWithScissors = getString("settings.messages.death-message.run-with-scissors", deathMsgRunWithScissors); } diff --git a/patches/server/0176-Hide-hidden-players-from-entity-selector.patch b/patches/server/0176-Hide-hidden-players-from-entity-selector.patch index 68eb67172..54887eab8 100644 --- a/patches/server/0176-Hide-hidden-players-from-entity-selector.patch +++ b/patches/server/0176-Hide-hidden-players-from-entity-selector.patch @@ -59,10 +59,10 @@ index 35cc3bba20afd4a47160cc674415ba6a3a0ec0ec..2cba35dcc479ed9ad3e698aa2e02b4aa + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index fdc752a830c1858ad0afd66c8247dd052b37162e..898ddc12b5a06b0497add689b4f82afe804745bd 100644 +index d3a26894b75a7222c6cd8208667fbb0d41d25118..48efc0d9cd8d55cb58e63115be8755af0d1d31d1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -239,6 +239,7 @@ public class PurpurConfig { +@@ -241,6 +241,7 @@ public class PurpurConfig { public static String commandTPSBarTextColorLow = ""; public static int commandTPSBarTickInterval = 20; public static boolean commandGamemodeRequiresPermission = false; @@ -70,7 +70,7 @@ index fdc752a830c1858ad0afd66c8247dd052b37162e..898ddc12b5a06b0497add689b4f82afe private static void commandSettings() { commandTPSBarTitle = getString("settings.command.tpsbar.title", commandTPSBarTitle); commandTPSBarProgressOverlay = BossBar.Overlay.valueOf(getString("settings.command.tpsbar.overlay", commandTPSBarProgressOverlay.name())); -@@ -251,6 +252,7 @@ public class PurpurConfig { +@@ -253,6 +254,7 @@ public class PurpurConfig { commandTPSBarTextColorLow = getString("settings.command.tpsbar.text-color.low", commandTPSBarTextColorLow); commandTPSBarTickInterval = getInt("settings.command.tpsbar.tick-interval", commandTPSBarTickInterval); commandGamemodeRequiresPermission = getBoolean("settings.command.gamemode.requires-specific-permission", commandGamemodeRequiresPermission); diff --git a/patches/server/0183-Config-for-unverified-username-message.patch b/patches/server/0183-Config-for-unverified-username-message.patch index a63b9c1a1..d51634a7f 100644 --- a/patches/server/0183-Config-for-unverified-username-message.patch +++ b/patches/server/0183-Config-for-unverified-username-message.patch @@ -18,20 +18,20 @@ index 368e32bc12a1a09bf7309f299a1a72554947f43b..5f154db373026ca78b812f9247dc9288 } } catch (AuthenticationUnavailableException authenticationunavailableexception) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 898ddc12b5a06b0497add689b4f82afe804745bd..c131507a17f49efbdde01abc813092d37e632cfd 100644 +index 728c0a362c182f72f1142cea8e98354093766d34..a6fb98f10028978013b5b44ae182571a74a4d084 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -177,6 +177,7 @@ public class PurpurConfig { - public static String demoCommandOutput = "%s has been shown the demo screen"; +@@ -178,6 +178,7 @@ public class PurpurConfig { public static String pingCommandOutput = "%s's ping is %sms"; + public static String tpsbarCommandOutput = "Tpsbar toggled for "; public static String dontRunWithScissors = "Don't run with scissors!"; + public static String unverifiedUsername = "default"; private static void messages() { cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob); afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway); -@@ -187,6 +188,7 @@ public class PurpurConfig { - demoCommandOutput = getString("settings.messages.demo-command-output", demoCommandOutput); +@@ -189,6 +190,7 @@ public class PurpurConfig { pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput); + tpsbarCommandOutput = getString("settings.messages.tpsbar-command-output", tpsbarCommandOutput); dontRunWithScissors = getString("settings.messages.dont-run-with-scissors", dontRunWithScissors); + unverifiedUsername = getString("settings.messages.unverified-username", unverifiedUsername); } diff --git a/patches/server/0184-Make-anvil-cumulative-cost-configurable.patch b/patches/server/0184-Make-anvil-cumulative-cost-configurable.patch index 45668237f..ed6d52dbf 100644 --- a/patches/server/0184-Make-anvil-cumulative-cost-configurable.patch +++ b/patches/server/0184-Make-anvil-cumulative-cost-configurable.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Make anvil cumulative cost configurable diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java -index 3f786be9c9efc069a3a1bc457f02421310941800..669093b7f531b4ff9d8348d0a08c8690f984218c 100644 +index 35ceeda917c3c49466f97b16a32c7ce9440f46c9..d2ba5cd4d52105d91fd1e67fc6d05d72cfd5dfea 100644 --- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java @@ -341,7 +341,7 @@ public class AnvilMenu extends ItemCombinerMenu { @@ -18,10 +18,10 @@ index 3f786be9c9efc069a3a1bc457f02421310941800..669093b7f531b4ff9d8348d0a08c8690 public void setItemName(String newItemName) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index c131507a17f49efbdde01abc813092d37e632cfd..315e96a09ef9f0e68b5255d041bc919f14895f31 100644 +index 41e5dee301c2a0b6ab603c3ebe1b9eccf7b3e7c8..d1c67ef98ce3b6db9a40b1c0734ea943f98b45c6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -262,6 +262,7 @@ public class PurpurConfig { +@@ -264,6 +264,7 @@ public class PurpurConfig { public static boolean enderChestPermissionRows = false; public static boolean cryingObsidianValidForPortalFrame = false; public static int beeInsideBeeHive = 3; @@ -29,7 +29,7 @@ index c131507a17f49efbdde01abc813092d37e632cfd..315e96a09ef9f0e68b5255d041bc919f private static void blockSettings() { if (version < 3) { boolean oldValue = getBoolean("settings.barrel.packed-barrels", true); -@@ -294,6 +295,7 @@ public class PurpurConfig { +@@ -296,6 +297,7 @@ public class PurpurConfig { enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame); beeInsideBeeHive = getInt("settings.blocks.beehive.max-bees-inside", beeInsideBeeHive); diff --git a/patches/server/0193-Make-lightning-rod-range-configurable.patch b/patches/server/0193-Make-lightning-rod-range-configurable.patch index f8be3dfaf..23654f08e 100644 --- a/patches/server/0193-Make-lightning-rod-range-configurable.patch +++ b/patches/server/0193-Make-lightning-rod-range-configurable.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Make lightning rod range configurable diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 582ec7c61769f34d05420651822982c1b2e56fc9..c12992fd526eba166499c5c73b4c76c18b3b77a1 100644 +index dc06ae09fbf81998a92ec1e9fb1fc6514a54183c..3cfb792fe6c55a0db9c53ebe375b33533306dd6a 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -918,7 +918,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -18,10 +18,10 @@ index 582ec7c61769f34d05420651822982c1b2e56fc9..c12992fd526eba166499c5c73b4c76c1 return optional.map((blockposition1) -> { return blockposition1.above(1); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 31d584da3cfd753aafa3c5608bfbcce7087d190c..2071939fbf57e711fa1c871a1382425a43f700ec 100644 +index d1c67ef98ce3b6db9a40b1c0734ea943f98b45c6..b5cdb57e9d6b67606bd629783a07f8e7ae93806b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -263,6 +263,7 @@ public class PurpurConfig { +@@ -265,6 +265,7 @@ public class PurpurConfig { public static boolean cryingObsidianValidForPortalFrame = false; public static int beeInsideBeeHive = 3; public static boolean anvilCumulativeCost = true; @@ -29,7 +29,7 @@ index 31d584da3cfd753aafa3c5608bfbcce7087d190c..2071939fbf57e711fa1c871a1382425a private static void blockSettings() { if (version < 3) { boolean oldValue = getBoolean("settings.barrel.packed-barrels", true); -@@ -296,6 +297,7 @@ public class PurpurConfig { +@@ -298,6 +299,7 @@ public class PurpurConfig { cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame); beeInsideBeeHive = getInt("settings.blocks.beehive.max-bees-inside", beeInsideBeeHive); anvilCumulativeCost = getBoolean("settings.blocks.anvil.cumulative-cost", anvilCumulativeCost); diff --git a/patches/server/0203-Add-uptime-command.patch b/patches/server/0203-Add-uptime-command.patch index 981ea3f6d..16f4b92db 100644 --- a/patches/server/0203-Add-uptime-command.patch +++ b/patches/server/0203-Add-uptime-command.patch @@ -17,7 +17,7 @@ index 3156e7e43a5114aaaa1276b024f4ec45e797de88..e787ccc3c21f7e966c1e291579bf7550 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index e9a7da7f2f9d0661c128ca040e15676c6d72e38b..ba2c31e1b9f9bac1762ae53a12ebfb2da43612d1 100644 +index 121bc7f3be749a1773ad917023855bae529e6643..793f72254220ab79bec4ba3c36f79309bf99cb3d 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -294,6 +294,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= d ? false : context.validBiome().test(context.chunkGenerator().getNoiseBiome(QuartPos.fromBlock(context.chunkPos().getMiddleBlockX()), QuartPos.fromBlock(50), QuartPos.fromBlock(context.chunkPos().getMiddleBlockZ()))); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 6f39a81f03f1ba01ea92529d5bd81d8c4421479e..5cb901ebb8fbc6bf3695386a100171a858ee3dc4 100644 +index dd15700d167ef169f6cfb838f8ce6517df17b605..f20736450acfb916c292068729021f57d5fbcae4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -212,6 +212,23 @@ public class PurpurConfig { +@@ -214,6 +214,23 @@ public class PurpurConfig { deathMessageOnlyBroadcastToAffectedPlayer = getBoolean("settings.broadcasts.death.only-broadcast-to-affected-player", deathMessageOnlyBroadcastToAffectedPlayer); } diff --git a/patches/server/0208-Customizable-sleeping-actionbar-messages.patch b/patches/server/0208-Customizable-sleeping-actionbar-messages.patch index 9438441a1..094f3d464 100644 --- a/patches/server/0208-Customizable-sleeping-actionbar-messages.patch +++ b/patches/server/0208-Customizable-sleeping-actionbar-messages.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Customizable sleeping actionbar messages diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index c12992fd526eba166499c5c73b4c76c18b3b77a1..c35100c0bc1b2e57679ab8ce2ff8bc24888d06b5 100644 +index 3cfb792fe6c55a0db9c53ebe375b33533306dd6a..4edcc0400466c6224a02af9c08ac2a04d580a1e2 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -967,11 +967,29 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -40,10 +40,10 @@ index c12992fd526eba166499c5c73b4c76c18b3b77a1..c35100c0bc1b2e57679ab8ce2ff8bc24 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index f4c29c3c9a1c177bae3efcdd3af16a4cc0aac372..5d34299ae21bcefa75d98de0bf2882ae1e92cece 100644 +index f20736450acfb916c292068729021f57d5fbcae4..7c0b24c6dbd989697c7fa258f6d7f7b35f5b1d2e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -179,6 +179,8 @@ public class PurpurConfig { +@@ -180,6 +180,8 @@ public class PurpurConfig { public static String dontRunWithScissors = "Don't run with scissors!"; public static String uptimeCommandOutput = "Server uptime is "; public static String unverifiedUsername = "default"; @@ -52,7 +52,7 @@ index f4c29c3c9a1c177bae3efcdd3af16a4cc0aac372..5d34299ae21bcefa75d98de0bf2882ae private static void messages() { cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob); afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway); -@@ -191,6 +193,8 @@ public class PurpurConfig { +@@ -193,6 +195,8 @@ public class PurpurConfig { dontRunWithScissors = getString("settings.messages.dont-run-with-scissors", dontRunWithScissors); uptimeCommandOutput = getString("settings.messages.uptime-command-output", uptimeCommandOutput); unverifiedUsername = getString("settings.messages.unverified-username", unverifiedUsername); diff --git a/patches/server/0214-Add-compass-command.patch b/patches/server/0214-Add-compass-command.patch index 6ffed27de..457e0abbd 100644 --- a/patches/server/0214-Add-compass-command.patch +++ b/patches/server/0214-Add-compass-command.patch @@ -17,7 +17,7 @@ index e787ccc3c21f7e966c1e291579bf7550ee6de696..a4ec8c35c1870810c11e81e79c3b191c if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 6d643998ee32de7f96b94e10fbd0b08a75628978..e2e83d8b39ddb154c0e69b63d5b996644926ac43 100644 +index 38a01e62ca99da9d8453b6275c5a1b22fcfa9b9e..f300589fad36c5c9768474a13db74144b760c2a5 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -257,6 +257,7 @@ public class ServerPlayer extends Player { @@ -59,10 +59,10 @@ index 6d643998ee32de7f96b94e10fbd0b08a75628978..e2e83d8b39ddb154c0e69b63d5b99664 // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 04766db12cc667ce312146aa7403fa9788e459cf..1b3121b780aceac7689ece96f1e8476e2d9ab104 100644 +index 7c0b24c6dbd989697c7fa258f6d7f7b35f5b1d2e..f59247132b92abafc20437f958b69a7964676423 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -263,6 +263,11 @@ public class PurpurConfig { +@@ -265,6 +265,11 @@ public class PurpurConfig { public static String commandTPSBarTextColorMedium = ""; public static String commandTPSBarTextColorLow = ""; public static int commandTPSBarTickInterval = 20; @@ -74,7 +74,7 @@ index 04766db12cc667ce312146aa7403fa9788e459cf..1b3121b780aceac7689ece96f1e8476e public static boolean commandGamemodeRequiresPermission = false; public static boolean hideHiddenPlayersFromEntitySelector = false; public static String uptimeFormat = ""; -@@ -285,6 +290,13 @@ public class PurpurConfig { +@@ -287,6 +292,13 @@ public class PurpurConfig { commandTPSBarTextColorMedium = getString("settings.command.tpsbar.text-color.medium", commandTPSBarTextColorMedium); commandTPSBarTextColorLow = getString("settings.command.tpsbar.text-color.low", commandTPSBarTextColorLow); commandTPSBarTickInterval = getInt("settings.command.tpsbar.tick-interval", commandTPSBarTickInterval); @@ -89,7 +89,7 @@ index 04766db12cc667ce312146aa7403fa9788e459cf..1b3121b780aceac7689ece96f1e8476e hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector); uptimeFormat = getString("settings.command.uptime.format", uptimeFormat); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a3d23ed9223b78311d5f1441c0ce2341515c976c..a0b11159a84b901696c288c7e48e6b11430761d1 100644 +index e213ab6708ab18568cae1387c4c0608f2f23af5c..7fb4ee9e72d001da6a372d91392a87cdff7bbf20 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -214,6 +214,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0236-Config-for-grindstones.patch b/patches/server/0236-Config-for-grindstones.patch index 5058cf8b5..6abba25dc 100644 --- a/patches/server/0236-Config-for-grindstones.patch +++ b/patches/server/0236-Config-for-grindstones.patch @@ -57,10 +57,10 @@ index 0bdf874ddb951daf8d469575a44144504472d12d..855ff86696d27f7029ec8bd255820707 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 1b3121b780aceac7689ece96f1e8476e2d9ab104..50b946518a1cc4ba2483cf2753037dc07429229c 100644 +index f59247132b92abafc20437f958b69a7964676423..147175986954fbcc66a960efd65c3f60cd6016d3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -317,6 +317,9 @@ public class PurpurConfig { +@@ -319,6 +319,9 @@ public class PurpurConfig { public static int beeInsideBeeHive = 3; public static boolean anvilCumulativeCost = true; public static int lightningRodRange = 128; @@ -70,7 +70,7 @@ index 1b3121b780aceac7689ece96f1e8476e2d9ab104..50b946518a1cc4ba2483cf2753037dc0 private static void blockSettings() { if (version < 3) { boolean oldValue = getBoolean("settings.barrel.packed-barrels", true); -@@ -351,6 +354,19 @@ public class PurpurConfig { +@@ -353,6 +356,19 @@ public class PurpurConfig { beeInsideBeeHive = getInt("settings.blocks.beehive.max-bees-inside", beeInsideBeeHive); anvilCumulativeCost = getBoolean("settings.blocks.anvil.cumulative-cost", anvilCumulativeCost); lightningRodRange = getInt("settings.blocks.lightning_rod.range", lightningRodRange); diff --git a/patches/server/0237-UPnP-Port-Forwarding.patch b/patches/server/0237-UPnP-Port-Forwarding.patch index ddc451222..7e60cb33c 100644 --- a/patches/server/0237-UPnP-Port-Forwarding.patch +++ b/patches/server/0237-UPnP-Port-Forwarding.patch @@ -67,10 +67,10 @@ index 9e83f2dea73461f698185f5ffdb6060e422b9494..6b503d7bdd0eb202ff3466dc1f691102 // CraftBukkit start // this.setPlayerList(new DedicatedPlayerList(this, this.registryHolder, this.playerDataStorage)); // Spigot - moved up diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index c09107111bc09e2359c6d661ff50bdbe46ca8cc5..3b0f8883ac1aa84de0d6db46d689cd7362692c1c 100644 +index 147175986954fbcc66a960efd65c3f60cd6016d3..a685ca0952fa401bb7e588051c7ae832a525a65b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -418,4 +418,9 @@ public class PurpurConfig { +@@ -420,4 +420,9 @@ public class PurpurConfig { private static void tpsCatchup() { tpsCatchup = getBoolean("settings.tps-catchup", tpsCatchup); } diff --git a/patches/server/0252-Configurable-valid-characters-for-usernames.patch b/patches/server/0252-Configurable-valid-characters-for-usernames.patch index 63c29eb37..214ca8f3a 100644 --- a/patches/server/0252-Configurable-valid-characters-for-usernames.patch +++ b/patches/server/0252-Configurable-valid-characters-for-usernames.patch @@ -18,10 +18,10 @@ index 5f154db373026ca78b812f9247dc9288d6826cb0..547158e80c501aec66f4ffc96c0a496a char c = in.charAt(i); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 3b0f8883ac1aa84de0d6db46d689cd7362692c1c..b917c669e4033d9c799ce18d1aac56bcbb9daae4 100644 +index a685ca0952fa401bb7e588051c7ae832a525a65b..7a9080e68113a629ccbd31695a6afc86cc2285f9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -423,4 +423,11 @@ public class PurpurConfig { +@@ -425,4 +425,11 @@ public class PurpurConfig { private static void networkSettings() { useUPnP = getBoolean("settings.network.upnp-port-forwarding", useUPnP); } diff --git a/patches/server/0253-Shears-can-have-looting-enchantment.patch b/patches/server/0253-Shears-can-have-looting-enchantment.patch index ef40a10d2..138e190bc 100644 --- a/patches/server/0253-Shears-can-have-looting-enchantment.patch +++ b/patches/server/0253-Shears-can-have-looting-enchantment.patch @@ -158,10 +158,10 @@ index 6b8a1535086aae7e4e3229d05615fb903188f507..60af917083de1b790b1d93d61835a669 public int getMinCost(int level) { return 15 + (level - 1) * 9; diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index f20565c61c56bd0a866cd1dd99dc088614f2c74c..93429c792513f213dcc0c18373774943c0b0d7ad 100644 +index 7a9080e68113a629ccbd31695a6afc86cc2285f9..ce52c5ddfe1687e8ff9f94711da437147564164a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -371,6 +371,7 @@ public class PurpurConfig { +@@ -373,6 +373,7 @@ public class PurpurConfig { public static boolean allowInfinityMending = false; public static boolean allowCrossbowInfinity = false; @@ -169,7 +169,7 @@ index f20565c61c56bd0a866cd1dd99dc088614f2c74c..93429c792513f213dcc0c18373774943 public static boolean allowUnsafeEnchants = false; private static void enchantmentSettings() { if (version < 5) { -@@ -380,6 +381,7 @@ public class PurpurConfig { +@@ -382,6 +383,7 @@ public class PurpurConfig { } allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending); allowCrossbowInfinity = getBoolean("settings.enchantment.allow-infinity-on-crossbow", allowCrossbowInfinity); diff --git a/patches/server/0261-Configurable-food-attributes.patch b/patches/server/0261-Configurable-food-attributes.patch index 75e850405..d67fce962 100644 --- a/patches/server/0261-Configurable-food-attributes.patch +++ b/patches/server/0261-Configurable-food-attributes.patch @@ -69,10 +69,10 @@ index 513343d225a71e242b0f237eefcd25147709d9d1..1f65bba67cd4fab1dee115f24b213075 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 89f6b49af6c851e28742bf99244c4bb9331b240a..0de19eca066dc7cd0ebdbf6bd4d9d846a672e81e 100644 +index ce52c5ddfe1687e8ff9f94711da437147564164a..2c3607fc71c0d11b935a58bbad6afe4b0c436883 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -432,4 +432,57 @@ public class PurpurConfig { +@@ -434,4 +434,57 @@ public class PurpurConfig { String setPattern = getString("settings.username-valid-characters", defaultPattern); usernameValidCharactersPattern = java.util.regex.Pattern.compile(setPattern == null || setPattern.isBlank() ? defaultPattern : setPattern); } diff --git a/patches/server/0262-Max-joins-per-second.patch b/patches/server/0262-Max-joins-per-second.patch index a4a6d7d39..9040da5d2 100644 --- a/patches/server/0262-Max-joins-per-second.patch +++ b/patches/server/0262-Max-joins-per-second.patch @@ -31,10 +31,10 @@ index 7b8f9cf06833860d0fc02399822e6aea214883ed..03701c154e7bfad5314f3ed0e51866a2 } // Paper end diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 0de19eca066dc7cd0ebdbf6bd4d9d846a672e81e..47463d2964b4db693b9054459bdf8f78afbb3d6d 100644 +index 2c3607fc71c0d11b935a58bbad6afe4b0c436883..231209f3ed97cd3dfa4fd3ccb9a84b234413107e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -422,8 +422,10 @@ public class PurpurConfig { +@@ -424,8 +424,10 @@ public class PurpurConfig { } public static boolean useUPnP = false; diff --git a/patches/server/0266-Fill-command-max-area-option.patch b/patches/server/0266-Fill-command-max-area-option.patch index 1608ba907..f4d0240bb 100644 --- a/patches/server/0266-Fill-command-max-area-option.patch +++ b/patches/server/0266-Fill-command-max-area-option.patch @@ -22,10 +22,10 @@ index 5db7c22f3b2db4fc19af007ee45ad0e11fa5e9cb..9e80bcf237e8e968caa692ec386f7cc9 List list = Lists.newArrayList(); ServerLevel serverLevel = source.getLevel(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index ea2b2a2c7aa311826cd78d80dd139b9aa0b83849..eadb28372be56d424b3fec362433a3e8b751d9e2 100644 +index 231209f3ed97cd3dfa4fd3ccb9a84b234413107e..b291f3da1070e259a69a967156d4320e5a5aa0c8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -269,6 +269,7 @@ public class PurpurConfig { +@@ -271,6 +271,7 @@ public class PurpurConfig { public static float commandCompassBarProgressPercent = 1.0F; public static int commandCompassBarTickInterval = 5; public static boolean commandGamemodeRequiresPermission = false; @@ -33,7 +33,7 @@ index ea2b2a2c7aa311826cd78d80dd139b9aa0b83849..eadb28372be56d424b3fec362433a3e8 public static boolean hideHiddenPlayersFromEntitySelector = false; public static String uptimeFormat = ""; public static String uptimeDay = "%02d day, "; -@@ -298,6 +299,7 @@ public class PurpurConfig { +@@ -300,6 +301,7 @@ public class PurpurConfig { commandCompassBarTickInterval = getInt("settings.command.compass.tick-interval", commandCompassBarTickInterval); commandGamemodeRequiresPermission = getBoolean("settings.command.gamemode.requires-specific-permission", commandGamemodeRequiresPermission);