From b0ef60387187bdb7ccbe1e5f04e972902fe34d54 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 23 Jun 2019 17:01:26 -0500 Subject: [PATCH] Add large sized ender chests --- src/main/java/net/minecraft/server/BlockEnderChest.java | 1 + .../java/net/minecraft/server/InventoryEnderChest.java | 2 +- src/main/java/net/pl3x/purpur/PurpurConfig.java | 6 ++++++ .../org/bukkit/craftbukkit/inventory/CraftContainer.java | 8 +++++++- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraft/server/BlockEnderChest.java b/src/main/java/net/minecraft/server/BlockEnderChest.java index 4b72902385..fc52276836 100644 --- a/src/main/java/net/minecraft/server/BlockEnderChest.java +++ b/src/main/java/net/minecraft/server/BlockEnderChest.java @@ -46,6 +46,7 @@ public class BlockEnderChest extends BlockTileEntity implements IBlockWaterlogge inventoryenderchest.a(tileentityenderchest); entityhuman.openContainer(new TileInventory((i, playerinventory, entityhuman1) -> { + if (net.pl3x.purpur.PurpurConfig.largeEnderChests) return ContainerChest.b(i, playerinventory, inventoryenderchest); // Purpur return ContainerChest.a(i, playerinventory, inventoryenderchest); }, BlockEnderChest.d)); entityhuman.a(StatisticList.OPEN_ENDERCHEST); diff --git a/src/main/java/net/minecraft/server/InventoryEnderChest.java b/src/main/java/net/minecraft/server/InventoryEnderChest.java index fd31b9a6dc..49b369236d 100644 --- a/src/main/java/net/minecraft/server/InventoryEnderChest.java +++ b/src/main/java/net/minecraft/server/InventoryEnderChest.java @@ -20,7 +20,7 @@ public class InventoryEnderChest extends InventorySubcontainer { } public InventoryEnderChest(EntityHuman owner) { - super(27); + super(net.pl3x.purpur.PurpurConfig.largeEnderChests ? 54 : 27); // Purpur this.owner = owner; // CraftBukkit end } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java index 7dac34a6cd..abdbf21775 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -173,6 +173,12 @@ public class PurpurConfig { snowmanPumpkinPutBack = getBoolean("settings.mobs.snow_golem.pumpkin-can-be-added-back", snowmanPumpkinPutBack); } + public static boolean largeEnderChests = true; + private static void largeEnderChests() { + largeEnderChests = getBoolean("settings.large-ender-chests", largeEnderChests); + InventoryType.ENDER_CHEST.setDefaultSize(largeEnderChests ? 54 : 27); + } + public static boolean packedBarrels = true; private static void packedBarrels() { packedBarrels = getBoolean("settings.packed-barrels", packedBarrels); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java index 5ee6fc1629..fef1a774bc 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java @@ -157,6 +157,8 @@ public class CraftContainer extends Container { return Containers.STONECUTTER; case BARREL: return net.pl3x.purpur.PurpurConfig.packedBarrels ? Containers.GENERIC_9X6 : Containers.GENERIC_9X3; + case ENDER_CHEST: + return net.pl3x.purpur.PurpurConfig.largeEnderChests ? Containers.GENERIC_9X6 : Containers.GENERIC_9X3; default: return Containers.GENERIC_9X3; } @@ -170,7 +172,11 @@ public class CraftContainer extends Container { case PLAYER: case CHEST: case ENDER_CHEST: - delegate = new ContainerChest(Containers.GENERIC_9X3, windowId, bottom, top, top.getSize() / 9); break; // Purpur + // Purpur start + if (net.pl3x.purpur.PurpurConfig.largeEnderChests) delegate = new ContainerChest(Containers.GENERIC_9X6, windowId, bottom, top, top.getSize() / 9); + delegate = new ContainerChest(Containers.GENERIC_9X3, windowId, bottom, top, top.getSize() / 9); + break; + // Purpur end case BARREL: if (net.pl3x.purpur.PurpurConfig.packedBarrels) delegate = new ContainerChest(Containers.GENERIC_9X6, windowId, bottom, top, top.getSize() / 9); // Purpur delegate = new ContainerChest(Containers.GENERIC_9X3, windowId, bottom, top, top.getSize() / 9); -- 2.20.1