diff --git a/patches/server/0004-Purpur-config-files.patch b/patches/server/0004-Purpur-config-files.patch index 52f3152413..fbe72227b9 100644 --- a/patches/server/0004-Purpur-config-files.patch +++ b/patches/server/0004-Purpur-config-files.patch @@ -190,8 +190,8 @@ index 0000000000000000000000000000000000000000..6903706219a146146a213710a5f83af3 + commands = new HashMap<>(); + commands.put("purpur", new PurpurCommand("purpur")); + -+ version = getInt("config-version", 19); -+ set("config-version", 19); ++ version = getInt("config-version", 20); ++ set("config-version", 20); + + readConfig(PurpurConfig.class, null); + } diff --git a/patches/server/0010-Barrels-and-enderchests-6-rows.patch b/patches/server/0010-Barrels-and-enderchests-6-rows.patch index c0be89185b..65d472545d 100644 --- a/patches/server/0010-Barrels-and-enderchests-6-rows.patch +++ b/patches/server/0010-Barrels-and-enderchests-6-rows.patch @@ -112,45 +112,81 @@ index 7e45c97acce83a9fe8ada486e9fcdafe58769736..e3c84ad3fad4ee479bb00b7dc02a2502 }, CONTAINER_TITLE)); player.awardStat(Stats.OPEN_ENDERCHEST); diff --git a/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java -index f494063ead9c6303fb3ca880aba2a877ae8d83ab..3b027111ed933856ae86ad5f62aac744021f8880 100644 +index f494063ead9c6303fb3ca880aba2a877ae8d83ab..91667ef99f5e962a3c77334ce040261c753edce1 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java -@@ -68,7 +68,7 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity { +@@ -16,6 +16,7 @@ import net.minecraft.world.entity.player.Inventory; + import net.minecraft.world.entity.player.Player; + import net.minecraft.world.inventory.AbstractContainerMenu; + import net.minecraft.world.inventory.ChestMenu; ++import net.minecraft.world.inventory.MenuType; + import net.minecraft.world.item.ItemStack; + import net.minecraft.world.level.Level; + import net.minecraft.world.level.block.BarrelBlock; +@@ -68,7 +69,16 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity { public BarrelBlockEntity(BlockPos pos, BlockState state) { super(BlockEntityType.BARREL, pos, state); - this.items = NonNullList.withSize(27, ItemStack.EMPTY); -+ this.items = NonNullList.withSize(net.pl3x.purpur.PurpurConfig.barrelSixRows ? 54 : 27, ItemStack.EMPTY); // Purpur ++ // Purpur start ++ this.items = NonNullList.withSize(switch (net.pl3x.purpur.PurpurConfig.barrelRows) { ++ case 6 -> 54; ++ case 5 -> 45; ++ case 4 -> 36; ++ case 2 -> 18; ++ case 1 -> 9; ++ default -> 27; ++ }, ItemStack.EMPTY); ++ // Purpur end this.openersCounter = new ContainerOpenersCounter() { @Override protected void onOpen(Level world, BlockPos pos, BlockState state) { -@@ -120,7 +120,7 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity { +@@ -120,7 +130,16 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity { @Override public int getContainerSize() { - return 27; -+ return net.pl3x.purpur.PurpurConfig.barrelSixRows ? 54 : 27; // Purpur ++ // Purpur start ++ return switch (net.pl3x.purpur.PurpurConfig.barrelRows) { ++ case 6 -> 54; ++ case 5 -> 45; ++ case 4 -> 36; ++ case 2 -> 18; ++ case 1 -> 9; ++ default -> 27; ++ }; ++ // Purpur end } @Override -@@ -140,6 +140,7 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity { +@@ -140,7 +159,16 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity { @Override protected AbstractContainerMenu createMenu(int syncId, Inventory playerInventory) { -+ if (net.pl3x.purpur.PurpurConfig.barrelSixRows) return ChestMenu.sixRows(syncId, playerInventory, (Container) this); // Purpur - return ChestMenu.threeRows(syncId, playerInventory, (Container) this); +- return ChestMenu.threeRows(syncId, playerInventory, (Container) this); ++ // Purpur start ++ return switch (net.pl3x.purpur.PurpurConfig.barrelRows) { ++ case 6 -> ChestMenu.sixRows(syncId, playerInventory, this); ++ case 5 -> ChestMenu.fiveRows(syncId, playerInventory, this); ++ case 4 -> ChestMenu.fourRows(syncId, playerInventory, this); ++ case 2 -> ChestMenu.twoRows(syncId, playerInventory, this); ++ case 1 -> ChestMenu.oneRow(syncId, playerInventory, this); ++ default -> ChestMenu.threeRows(syncId, playerInventory, this); ++ }; ++ // Purpur end } + @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index b634d1a67b741feadf3f8fda5439a501fef3d132..e9c2ad24aea7861d8d3c1f8879f70e8fa514fa05 100644 +index b634d1a67b741feadf3f8fda5439a501fef3d132..57b90d6f12f58ea4297cc45985151598e6c390ab 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -174,4 +174,23 @@ public class PurpurConfig { +@@ -174,4 +174,39 @@ public class PurpurConfig { } if (!co.aikar.timings.TimingsManager.hiddenConfigs.contains("server-ip")) co.aikar.timings.TimingsManager.hiddenConfigs.add("server-ip"); } + -+ public static boolean barrelSixRows = false; ++ public static int barrelRows = 3; + public static boolean enderChestSixRows = false; + public static boolean enderChestPermissionRows = false; + private static void blockSettings() { @@ -162,18 +198,34 @@ index b634d1a67b741feadf3f8fda5439a501fef3d132..e9c2ad24aea7861d8d3c1f8879f70e8f + set("settings.blocks.ender_chest.six-rows", oldValue); + set("settings.large-ender-chests", null); + } -+ barrelSixRows = getBoolean("settings.blocks.barrel.six-rows", barrelSixRows); -+ org.bukkit.event.inventory.InventoryType.BARREL.setDefaultSize(barrelSixRows ? 54 : 27); ++ if (version < 20) { ++ boolean oldValue = getBoolean("settings.blocks.barrel.six-rows", false); ++ set("settings.blocks.barrel.rows", oldValue ? 6 : 3); ++ set("settings.blocks.barrel.six-rows", null); ++ } ++ barrelRows = getInt("settings.blocks.barrel.rows", barrelRows); ++ if (barrelRows < 1 || barrelRows > 6) { ++ Bukkit.getLogger().severe("settings.blocks.barrel.rows must be 1-6, resetting to default"); ++ barrelRows = 3; ++ } ++ org.bukkit.event.inventory.InventoryType.BARREL.setDefaultSize(switch (barrelRows) { ++ case 6 -> 54; ++ case 5 -> 45; ++ case 4 -> 36; ++ case 2 -> 18; ++ case 1 -> 9; ++ default -> 27; ++ }); + enderChestSixRows = getBoolean("settings.blocks.ender_chest.six-rows", enderChestSixRows); + org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27); + enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); + } } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java -index 99d52dc4a3619200e8eb864e8ed8f4a6e469b443..613a0bcb4268f5d3256a871d47ae079ba5d92525 100644 +index 99d52dc4a3619200e8eb864e8ed8f4a6e469b443..1f752673b590f5a3a676db7e04be2c7602de0f51 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java -@@ -165,8 +165,12 @@ public class CraftContainer extends AbstractContainerMenu { +@@ -165,8 +165,19 @@ public class CraftContainer extends AbstractContainerMenu { case PLAYER: case CHEST: case ENDER_CHEST: @@ -182,7 +234,14 @@ index 99d52dc4a3619200e8eb864e8ed8f4a6e469b443..613a0bcb4268f5d3256a871d47ae079b + break; case BARREL: - this.delegate = new ChestMenu(MenuType.GENERIC_9x3, windowId, bottom, top, top.getContainerSize() / 9); -+ this.delegate = new ChestMenu(net.pl3x.purpur.PurpurConfig.barrelSixRows ? MenuType.GENERIC_9x6 : MenuType.GENERIC_9x3, windowId, bottom, top, top.getContainerSize() / 9); ++ this.delegate = new ChestMenu(switch (net.pl3x.purpur.PurpurConfig.barrelRows) { ++ case 6 -> MenuType.GENERIC_9x6; ++ case 5 -> MenuType.GENERIC_9x5; ++ case 4 -> MenuType.GENERIC_9x4; ++ case 2 -> MenuType.GENERIC_9x2; ++ case 1 -> MenuType.GENERIC_9x1; ++ default -> MenuType.GENERIC_9x3; ++ }, windowId, bottom, top, top.getContainerSize() / 9); + // Purpur end break; case DISPENSER: diff --git a/patches/server/0017-Lagging-threshold.patch b/patches/server/0017-Lagging-threshold.patch index 63d7584b41..d15e7b63e1 100644 --- a/patches/server/0017-Lagging-threshold.patch +++ b/patches/server/0017-Lagging-threshold.patch @@ -25,7 +25,7 @@ index be32f41d1ec6f8a4f8c6835fe262c3d86f163f34..41eccbed6dda81f7d50c6ccb3539db39 } // Paper - replace logic diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index e0a7010c6d1499499d0b5b305306897061e5b640..2553768892562869efdad56e31c4db17e3d86b39 100644 +index d7d2604fd324f1bfc9136a3a34ea217ff458a26a..1a68b4b5c8ea498ef1fdc507a9a8e8dfaa64b4c1 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -188,6 +188,11 @@ public class PurpurConfig { @@ -37,7 +37,7 @@ index e0a7010c6d1499499d0b5b305306897061e5b640..2553768892562869efdad56e31c4db17 + laggingThreshold = getDouble("settings.lagging-threshold", laggingThreshold); + } + - public static boolean barrelSixRows = false; + public static int barrelRows = 3; public static boolean enderChestSixRows = false; public static boolean enderChestPermissionRows = false; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/patches/server/0024-Alternative-Keepalive-Handling.patch b/patches/server/0024-Alternative-Keepalive-Handling.patch index 226a7b5704..a9686f68d7 100644 --- a/patches/server/0024-Alternative-Keepalive-Handling.patch +++ b/patches/server/0024-Alternative-Keepalive-Handling.patch @@ -56,7 +56,7 @@ index 8ea53a2c6f62c6e65257fa7eb094187529e6525b..cf10b1025fa3c6da91cfefbf8b31b83e if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) { int i = (int) (Util.getMillis() - this.keepAliveTime); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 2553768892562869efdad56e31c4db17e3d86b39..20f57abd6420466002e2413a59482c0af224d830 100644 +index 1a68b4b5c8ea498ef1fdc507a9a8e8dfaa64b4c1..47c0fde3000fd5c016ffb4c70d9a58086890162b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -193,6 +193,11 @@ public class PurpurConfig { @@ -68,6 +68,6 @@ index 2553768892562869efdad56e31c4db17e3d86b39..20f57abd6420466002e2413a59482c0a + useAlternateKeepAlive = getBoolean("settings.use-alternate-keepalive", useAlternateKeepAlive); + } + - public static boolean barrelSixRows = false; + public static int barrelRows = 3; public static boolean enderChestSixRows = false; public static boolean enderChestPermissionRows = false; diff --git a/patches/server/0028-Logger-settings-suppressing-pointless-logs.patch b/patches/server/0028-Logger-settings-suppressing-pointless-logs.patch index 267e2e009a..1837d4af85 100644 --- a/patches/server/0028-Logger-settings-suppressing-pointless-logs.patch +++ b/patches/server/0028-Logger-settings-suppressing-pointless-logs.patch @@ -29,10 +29,10 @@ index 63a4fa2408edf84b490ca39e824977135d78eff0..461796c9c559f43bd2e0126b12a46bfc } else { handler.accept((Recipe) optional.get()); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 20f57abd6420466002e2413a59482c0af224d830..a91f51f80e8c19cfca75086ff7a1a9f71abc4647 100644 +index db286d3c0d37603e5f06cfff4642b321e879e6b4..62396ba628de428c05d4e803e489503607391e9b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -216,4 +216,13 @@ public class PurpurConfig { +@@ -232,4 +232,13 @@ 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); } diff --git a/patches/server/0035-Dont-send-useless-entity-packets.patch b/patches/server/0035-Dont-send-useless-entity-packets.patch index a494a0185f..4fb42ba93f 100644 --- a/patches/server/0035-Dont-send-useless-entity-packets.patch +++ b/patches/server/0035-Dont-send-useless-entity-packets.patch @@ -43,7 +43,7 @@ diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net index a91f51f80e8c19cfca75086ff7a1a9f71abc4647..bfe334678aef01738a834b4b281bed34d8e71a23 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -217,6 +217,11 @@ public class PurpurConfig { +@@ -233,6 +233,11 @@ public class PurpurConfig { enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); } diff --git a/patches/server/0057-Configurable-TPS-Catchup.patch b/patches/server/0057-Configurable-TPS-Catchup.patch index b8913057a9..499399a2d4 100644 --- a/patches/server/0057-Configurable-TPS-Catchup.patch +++ b/patches/server/0057-Configurable-TPS-Catchup.patch @@ -24,10 +24,10 @@ index 41eccbed6dda81f7d50c6ccb3539db3927b96021..88038c8286e46a89eed94169db9de5b8 this.profiler.pop(); this.endMetricsRecordingTick(); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index bfe334678aef01738a834b4b281bed34d8e71a23..e80ef21d6bd16f4d1ed9f2b47875fbc306b80e54 100644 +index 0e9699da061abb2a959f5b7a3c9723faafb2a14a..b0bd6e19b40850aea2c79a627f33ce8b78bc794b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -230,4 +230,9 @@ public class PurpurConfig { +@@ -246,4 +246,9 @@ public class PurpurConfig { loggerSuppressIgnoredAdvancementWarnings = getBoolean("settings.logger.suppress-ignored-advancement-warnings", loggerSuppressIgnoredAdvancementWarnings); loggerSuppressUnrecognizedRecipeErrors = getBoolean("settings.logger.suppress-unrecognized-recipe-errors", loggerSuppressUnrecognizedRecipeErrors); } diff --git a/patches/server/0082-Add-allow-water-in-end-world-option.patch b/patches/server/0082-Add-allow-water-in-end-world-option.patch index dbce552933..2c9096ebff 100644 --- a/patches/server/0082-Add-allow-water-in-end-world-option.patch +++ b/patches/server/0082-Add-allow-water-in-end-world-option.patch @@ -71,7 +71,7 @@ diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net index e98257697af84bf7501ee40db0683ab8b9880ee6..a35d10d864418c06b8f4543d886ac14a1ba76a76 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -228,6 +228,11 @@ public class PurpurConfig { +@@ -244,6 +244,11 @@ public class PurpurConfig { dontSendUselessEntityPackets = getBoolean("settings.dont-send-useless-entity-packets", dontSendUselessEntityPackets); } diff --git a/patches/server/0093-Add-option-to-disable-certain-block-updates.patch b/patches/server/0093-Add-option-to-disable-certain-block-updates.patch index 40bb18601c..de5fa51f9a 100644 --- a/patches/server/0093-Add-option-to-disable-certain-block-updates.patch +++ b/patches/server/0093-Add-option-to-disable-certain-block-updates.patch @@ -120,7 +120,7 @@ diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net index 15ce3d3f1f95f232203f5fe10a754c21ae88f729..568e119f599397b8bd5c5e41603f692a8fc848f5 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -355,6 +355,15 @@ public class PurpurConfig { +@@ -371,6 +371,15 @@ public class PurpurConfig { allowWaterPlacementInTheEnd = getBoolean("settings.allow-water-placement-in-the-end", allowWaterPlacementInTheEnd); } diff --git a/patches/server/0098-Short-enderman-height.patch b/patches/server/0098-Short-enderman-height.patch index 72d058c8d0..d8e5da423d 100644 --- a/patches/server/0098-Short-enderman-height.patch +++ b/patches/server/0098-Short-enderman-height.patch @@ -31,10 +31,10 @@ index a36313c321f9057350a9edb8b0959fd49a8e21a3..10c3a0c49579fbd9f1fe7ec82eebd42b if (this.tryEscape(com.destroystokyo.paper.event.entity.EndermanEscapeEvent.Reason.INDIRECT)) { // Paper start for (int i = 0; i < 64; ++i) { diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 6522045a99d93fc756571d8f43949a050cefb246..336a6afbcd5359a1e82d8bac23cd8bfac5e4cd1e 100644 +index 316ac05a6d0dde3f2a192d4fbdbe90fbf58f7d79..d7dec624a7ea4b3a977728f42bcb78210dcd64ec 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -345,6 +345,12 @@ public class PurpurConfig { +@@ -361,6 +361,12 @@ public class PurpurConfig { enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); } diff --git a/patches/server/0101-Crying-obsidian-valid-for-portal-frames.patch b/patches/server/0101-Crying-obsidian-valid-for-portal-frames.patch index f0c7e388a9..06724cd52d 100644 --- a/patches/server/0101-Crying-obsidian-valid-for-portal-frames.patch +++ b/patches/server/0101-Crying-obsidian-valid-for-portal-frames.patch @@ -18,18 +18,18 @@ index c07b5d1f1ef8b5e6026c7555d476880c8802d6c5..068f1b184a3694603f564d49fa45d5ce private final LevelAccessor level; private final Direction.Axis axis; diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 336a6afbcd5359a1e82d8bac23cd8bfac5e4cd1e..8065d13f4036d62e39aa1f8f081a2cf80edef708 100644 +index d7dec624a7ea4b3a977728f42bcb78210dcd64ec..2dbdd6e4feb38bc67f1258bc9ef72c349bef6807 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -329,6 +329,7 @@ public class PurpurConfig { - public static boolean barrelSixRows = false; + public static int barrelRows = 3; public static boolean enderChestSixRows = false; public static boolean enderChestPermissionRows = false; + public static boolean cryingObsidianValidForPortalFrame = false; private static void blockSettings() { if (version < 3) { boolean oldValue = getBoolean("settings.barrel.packed-barrels", true); -@@ -343,6 +344,7 @@ public class PurpurConfig { +@@ -359,6 +360,7 @@ public class PurpurConfig { enderChestSixRows = getBoolean("settings.blocks.ender_chest.six-rows", enderChestSixRows); org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27); enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); diff --git a/patches/server/0115-Allow-infinite-and-mending-enchantments-together.patch b/patches/server/0115-Allow-infinite-and-mending-enchantments-together.patch index a52871fa45..98bddfa1e9 100644 --- a/patches/server/0115-Allow-infinite-and-mending-enchantments-together.patch +++ b/patches/server/0115-Allow-infinite-and-mending-enchantments-together.patch @@ -17,10 +17,10 @@ index 3aece8245060dd1ba269c08d226c84247a6f0a83..6763d0b96c83d1b462999f525bf1f31c } } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 8065d13f4036d62e39aa1f8f081a2cf80edef708..b87478ce6f9ed3ef0f329622268e9133930ae7b8 100644 +index 2dbdd6e4feb38bc67f1258bc9ef72c349bef6807..e7215ede4286ee5a1047d8c94b0c42f3dfae9dcf 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -347,6 +347,16 @@ public class PurpurConfig { +@@ -363,6 +363,16 @@ public class PurpurConfig { cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame); } diff --git a/patches/server/0133-EMC-Configurable-disable-give-dropping.patch b/patches/server/0133-EMC-Configurable-disable-give-dropping.patch index d0bd2169c8..272b45d23c 100644 --- a/patches/server/0133-EMC-Configurable-disable-give-dropping.patch +++ b/patches/server/0133-EMC-Configurable-disable-give-dropping.patch @@ -20,7 +20,7 @@ index a0dc380e90415de9068ea408d62a1605c82631df..60fd566f7e1499ecf2ad91216a667f12 itemStack.setCount(1); ItemEntity itemEntity2 = serverPlayer.drop(itemStack, false, false, true); // Paper - Fix duplicating /give items on item drop cancel diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index b87478ce6f9ed3ef0f329622268e9133930ae7b8..c727654feb472518bdeaa780ba885ec85616902e 100644 +index e7215ede4286ee5a1047d8c94b0c42f3dfae9dcf..76e84ae0a91808a40b6cfe888134de07c87087c6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -326,6 +326,11 @@ public class PurpurConfig { @@ -32,6 +32,6 @@ index b87478ce6f9ed3ef0f329622268e9133930ae7b8..c727654feb472518bdeaa780ba885ec8 + disableGiveCommandDrops = getBoolean("settings.disable-give-dropping", disableGiveCommandDrops); + } + - public static boolean barrelSixRows = false; + public static int barrelRows = 3; public static boolean enderChestSixRows = false; public static boolean enderChestPermissionRows = false; diff --git a/patches/server/0142-Implement-TPSBar.patch b/patches/server/0142-Implement-TPSBar.patch index 6977dae350..7486a98984 100644 --- a/patches/server/0142-Implement-TPSBar.patch +++ b/patches/server/0142-Implement-TPSBar.patch @@ -105,7 +105,7 @@ index e17c61e3b807dbc1a7bca4952349145617204154..cf016f139895690d5a0e0ef2709e31ea entityplayer.awardStat(Stats.LEAVE_GAME); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index c727654feb472518bdeaa780ba885ec85616902e..a51de18eee2caf87b710e3ab863b7157d093859c 100644 +index 76e84ae0a91808a40b6cfe888134de07c87087c6..624af72fbef2255c7a164a04cf795475433329fd 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -331,6 +331,29 @@ public class PurpurConfig { @@ -135,7 +135,7 @@ index c727654feb472518bdeaa780ba885ec85616902e..a51de18eee2caf87b710e3ab863b7157 + commandTPSBarTickInterval = getInt("settings.command.tpsbar.tick-interval", commandTPSBarTickInterval); + } + - public static boolean barrelSixRows = false; + public static int barrelRows = 3; public static boolean enderChestSixRows = false; public static boolean enderChestPermissionRows = false; diff --git a/src/main/java/net/pl3x/purpur/command/TPSBarCommand.java b/src/main/java/net/pl3x/purpur/command/TPSBarCommand.java diff --git a/patches/server/0174-Allow-infinity-on-crossbows.patch b/patches/server/0174-Allow-infinity-on-crossbows.patch index b7998ed99d..c421b72c7d 100644 --- a/patches/server/0174-Allow-infinity-on-crossbows.patch +++ b/patches/server/0174-Allow-infinity-on-crossbows.patch @@ -65,10 +65,10 @@ index 6f6106ca4d74d50a7b74b086adc96c58c7906cb6..d6417c1e77ac8823e18a179dc9f61757 public abstract boolean canEnchant(Item item); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index d8ec1c94b018ce566ed81a41023b4192557dc06d..110f12af4c0e5e27578e2db4d15ddc30689d5fdf 100644 +index 23f896ab6a58668c61f753c58142d5836644383b..52633405edabea5d8d457f05f5b753ee940cd40d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -378,6 +378,7 @@ public class PurpurConfig { +@@ -394,6 +394,7 @@ public class PurpurConfig { } public static boolean allowInfinityMending = false; @@ -76,7 +76,7 @@ index d8ec1c94b018ce566ed81a41023b4192557dc06d..110f12af4c0e5e27578e2db4d15ddc30 private static void enchantmentSettings() { if (version < 5) { boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false); -@@ -385,6 +386,7 @@ public class PurpurConfig { +@@ -401,6 +402,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/0180-Config-to-allow-for-unsafe-enchants.patch b/patches/server/0180-Config-to-allow-for-unsafe-enchants.patch index e68fb00ac6..24b4808011 100644 --- a/patches/server/0180-Config-to-allow-for-unsafe-enchants.patch +++ b/patches/server/0180-Config-to-allow-for-unsafe-enchants.patch @@ -75,10 +75,10 @@ index d1b4fe830170ddee2b6f39eba29e7068e6ae37a3..115f8eb919e90bc4a79db1d0f7875a31 this.getOrCreateTag().put(key, tag); } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 110f12af4c0e5e27578e2db4d15ddc30689d5fdf..52d105d363219f8fc7e8b373ab8d8288ca377003 100644 +index 52633405edabea5d8d457f05f5b753ee940cd40d..af4573d733b5f6f63062a7309560522bd26dd9a4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -379,6 +379,7 @@ public class PurpurConfig { +@@ -395,6 +395,7 @@ public class PurpurConfig { public static boolean allowInfinityMending = false; public static boolean allowCrossbowInfinity = false; @@ -86,7 +86,7 @@ index 110f12af4c0e5e27578e2db4d15ddc30689d5fdf..52d105d363219f8fc7e8b373ab8d8288 private static void enchantmentSettings() { if (version < 5) { boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false); -@@ -387,6 +388,7 @@ public class PurpurConfig { +@@ -403,6 +404,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/0185-Config-to-change-max-number-of-bees.patch b/patches/server/0185-Config-to-change-max-number-of-bees.patch index e72fa29aa1..af4bc0601b 100644 --- a/patches/server/0185-Config-to-change-max-number-of-bees.patch +++ b/patches/server/0185-Config-to-change-max-number-of-bees.patch @@ -18,7 +18,7 @@ index 8484e80a70129fb0358d56efab6fd54798b54e6e..ffacc4b8cc3ab8285c4131aec58e48ff public BeehiveBlockEntity(BlockPos pos, BlockState state) { super(BlockEntityType.BEEHIVE, pos, state); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 52d105d363219f8fc7e8b373ab8d8288ca377003..ca9f6aa9f773c0017a499311ffdde00e00955b25 100644 +index af4573d733b5f6f63062a7309560522bd26dd9a4..2a314fd4542b7dd4654c973fbe490c2d8a7c3a83 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -360,6 +360,7 @@ public class PurpurConfig { @@ -29,7 +29,7 @@ index 52d105d363219f8fc7e8b373ab8d8288ca377003..ca9f6aa9f773c0017a499311ffdde00e private static void blockSettings() { if (version < 3) { boolean oldValue = getBoolean("settings.barrel.packed-barrels", true); -@@ -375,6 +376,7 @@ public class PurpurConfig { +@@ -391,6 +392,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/0188-Gamemode-extra-permissions.patch b/patches/server/0188-Gamemode-extra-permissions.patch index 63293243b1..30e3f6d707 100644 --- a/patches/server/0188-Gamemode-extra-permissions.patch +++ b/patches/server/0188-Gamemode-extra-permissions.patch @@ -54,7 +54,7 @@ index 79f6089b934124c3309c6bee2e48b36b937252e0..dff8ef0a1a2e52792070d93685c29002 for(ServerPlayer serverPlayer : targets) { diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index ca9f6aa9f773c0017a499311ffdde00e00955b25..0371ce09bbddbd08aaed0e059c28d0d2384ce9ea 100644 +index 2a314fd4542b7dd4654c973fbe490c2d8a7c3a83..f699c93ef8b30b6fecae655c848c8fb088f64782 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -343,6 +343,7 @@ public class PurpurConfig { @@ -72,7 +72,7 @@ index ca9f6aa9f773c0017a499311ffdde00e00955b25..0371ce09bbddbd08aaed0e059c28d0d2 + commandGamemodeRequiresPermission = getBoolean("settings.command.gamemode.requires-specific-permission", commandGamemodeRequiresPermission); } - public static boolean barrelSixRows = false; + public static int barrelRows = 3; diff --git a/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java b/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java index 6cc517b394bafefce50d877761e5b2eee8e14c78..46ca899a7abddea108f6ff1b4ca14ca5cd3112ab 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java diff --git a/patches/server/0194-Hide-hidden-players-from-entity-selector.patch b/patches/server/0194-Hide-hidden-players-from-entity-selector.patch index c8f929c62e..55745f6ead 100644 --- a/patches/server/0194-Hide-hidden-players-from-entity-selector.patch +++ b/patches/server/0194-Hide-hidden-players-from-entity-selector.patch @@ -59,7 +59,7 @@ index 0fb8f32427843f4bfd90ab88ecb3ab3e4a4fda31..f99f1ba7f912a2fd503e12c446b342a8 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index d04fff457bb1ec4b0291c0691569d74f17711c8c..74f8b416eb1746088c1785a97a2b595ce405e08b 100644 +index 729eebd2e2948586a9f0dde2908b6d9c9ef83553..8f3defd9c656580170ae1083ca1be859efce999f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -356,6 +356,7 @@ public class PurpurConfig { @@ -77,4 +77,4 @@ index d04fff457bb1ec4b0291c0691569d74f17711c8c..74f8b416eb1746088c1785a97a2b595c + hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector); } - public static boolean barrelSixRows = false; + public static int barrelRows = 3; diff --git a/patches/server/0202-Make-anvil-cumulative-cost-configurable.patch b/patches/server/0202-Make-anvil-cumulative-cost-configurable.patch index 23094c092f..43adf7f414 100644 --- a/patches/server/0202-Make-anvil-cumulative-cost-configurable.patch +++ b/patches/server/0202-Make-anvil-cumulative-cost-configurable.patch @@ -18,7 +18,7 @@ index bb80328af5051cc01609dfd79b749d9acd2d69ac..9dd5dfc95049de84916bbbd63acb6125 public void setItemName(String newItemName) { diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 61b617d3cd867dfe5898e8fad788848295a8d74f..11e563ba1aec3006205de91761ec14698577267a 100644 +index d832e8b44f4b723199c6c5a7a7658eb6f5803b6b..ada22f00dbcd08d21c0e0c2df540f1e637a39e1f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -379,6 +379,7 @@ public class PurpurConfig { @@ -29,7 +29,7 @@ index 61b617d3cd867dfe5898e8fad788848295a8d74f..11e563ba1aec3006205de91761ec1469 private static void blockSettings() { if (version < 3) { boolean oldValue = getBoolean("settings.barrel.packed-barrels", true); -@@ -395,6 +396,7 @@ public class PurpurConfig { +@@ -411,6 +412,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/0212-Make-lightning-rod-range-configurable.patch b/patches/server/0212-Make-lightning-rod-range-configurable.patch index 30f89fe887..ff6ff8fe15 100644 --- a/patches/server/0212-Make-lightning-rod-range-configurable.patch +++ b/patches/server/0212-Make-lightning-rod-range-configurable.patch @@ -18,7 +18,7 @@ index 6add1cb8a35c1e16670ba2e9db7878f27bbf3752..8c1e06dab7198e8331d39c39a27b6bce return optional.map((blockposition1) -> { return blockposition1.above(1); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 11e563ba1aec3006205de91761ec14698577267a..f53139a2db91403f17608f05149076c37db05d04 100644 +index ada22f00dbcd08d21c0e0c2df540f1e637a39e1f..042cdf2654b2c93712cb69100a0d3883722fb6e4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -380,6 +380,7 @@ public class PurpurConfig { @@ -29,7 +29,7 @@ index 11e563ba1aec3006205de91761ec14698577267a..f53139a2db91403f17608f05149076c3 private static void blockSettings() { if (version < 3) { boolean oldValue = getBoolean("settings.barrel.packed-barrels", true); -@@ -397,6 +398,7 @@ public class PurpurConfig { +@@ -413,6 +414,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/0223-Add-uptime-command.patch b/patches/server/0223-Add-uptime-command.patch index f282cf272d..46efeb1375 100644 --- a/patches/server/0223-Add-uptime-command.patch +++ b/patches/server/0223-Add-uptime-command.patch @@ -29,7 +29,7 @@ index 807269b3fc6a1fe7cdbaef6f5336ee40e988505b..2576e2c6bce86cacc54092559f6ed059 public int autosavePeriod; public boolean serverAutoSave = false; // Paper diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index f53139a2db91403f17608f05149076c37db05d04..820ef4ade5a38ca158ee5ec841abbdde80fc1399 100644 +index 042cdf2654b2c93712cb69100a0d3883722fb6e4..b29fd0dfe1096c67dc236f9cdba1a93063d20858 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -166,6 +166,7 @@ public class PurpurConfig { @@ -79,7 +79,7 @@ index f53139a2db91403f17608f05149076c37db05d04..820ef4ade5a38ca158ee5ec841abbdde + uptimeSeconds = getString("settings.command.uptime.seconds", uptimeSeconds); } - public static boolean barrelSixRows = false; + public static int barrelRows = 3; diff --git a/src/main/java/net/pl3x/purpur/command/UptimeCommand.java b/src/main/java/net/pl3x/purpur/command/UptimeCommand.java new file mode 100644 index 0000000000000000000000000000000000000000..c63ad24ca4ea4c2bd6239c7fe9beb64e78332e77 diff --git a/patches/server/0226-SPIGOT-5988-Fix-bed-respawn-location-not-resetting.patch b/patches/server/0226-SPIGOT-5988-Fix-bed-respawn-location-not-resetting.patch index ea8d5da3db..e6657718d8 100644 --- a/patches/server/0226-SPIGOT-5988-Fix-bed-respawn-location-not-resetting.patch +++ b/patches/server/0226-SPIGOT-5988-Fix-bed-respawn-location-not-resetting.patch @@ -17,7 +17,7 @@ index eea99b8f6fabae1b0c5c9ef55798173f8ba99f28..71705517943f62ae85a9298cf484bb7c } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index a2e3594c92f3b16fe70d327616040a4afac77765..0006d4a7e67cf282bdad93017ceffc45a36e9885 100644 +index 30c14751001637a36e715e04d3b18e7ed5acec09..67d36f4e2abfd760e79a2e5172adb5920c803442 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -407,6 +407,7 @@ public class PurpurConfig { @@ -28,7 +28,7 @@ index a2e3594c92f3b16fe70d327616040a4afac77765..0006d4a7e67cf282bdad93017ceffc45 private static void blockSettings() { if (version < 3) { boolean oldValue = getBoolean("settings.barrel.packed-barrels", true); -@@ -425,6 +426,7 @@ public class PurpurConfig { +@@ -441,6 +442,7 @@ 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);