From 4b3279b5da65dcffdfdf536636d412ec489c0229 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 23 May 2019 21:50:37 -0500 Subject: [PATCH] Barrels have 6 rows --- src/main/java/net/minecraft/server/ContainerChest.java | 1 + src/main/java/net/minecraft/server/TileEntityBarrel.java | 5 +++-- src/main/java/net/pl3x/purpur/PurpurConfig.java | 9 +++++++++ .../org/bukkit/craftbukkit/inventory/CraftContainer.java | 5 ++++- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/minecraft/server/ContainerChest.java b/src/main/java/net/minecraft/server/ContainerChest.java index 0ee6524b89..7d8567b4b8 100644 --- a/src/main/java/net/minecraft/server/ContainerChest.java +++ b/src/main/java/net/minecraft/server/ContainerChest.java @@ -65,6 +65,7 @@ public class ContainerChest extends Container { return new ContainerChest(Containers.GENERIC_9X3, i, playerinventory, iinventory, 3); } + public static ContainerChest createSixRows(int i, PlayerInventory playerinventory, IInventory iinventory) { return b(i, playerinventory, iinventory); } // Purpur - OBFHELPER public static ContainerChest b(int i, PlayerInventory playerinventory, IInventory iinventory) { return new ContainerChest(Containers.GENERIC_9X6, i, playerinventory, iinventory, 6); } diff --git a/src/main/java/net/minecraft/server/TileEntityBarrel.java b/src/main/java/net/minecraft/server/TileEntityBarrel.java index 1e27abbea0..d1a3aae91f 100644 --- a/src/main/java/net/minecraft/server/TileEntityBarrel.java +++ b/src/main/java/net/minecraft/server/TileEntityBarrel.java @@ -54,7 +54,7 @@ public class TileEntityBarrel extends TileEntityLootable { private TileEntityBarrel(TileEntityTypes tileentitytypes) { super(tileentitytypes); - this.items = NonNullList.a(27, ItemStack.a); + this.items = NonNullList.a(net.pl3x.purpur.PurpurConfig.barrelSixRows ? 54 : 27, ItemStack.a); // Purpur } public TileEntityBarrel() { @@ -83,7 +83,7 @@ public class TileEntityBarrel extends TileEntityLootable { @Override public int getSize() { - return 27; + return net.pl3x.purpur.PurpurConfig.barrelSixRows ? 54 : 27; // Purpur } @Override @@ -103,6 +103,7 @@ public class TileEntityBarrel extends TileEntityLootable { @Override protected Container createContainer(int i, PlayerInventory playerinventory) { + if (net.pl3x.purpur.PurpurConfig.barrelSixRows) return ContainerChest.createSixRows(i, playerinventory, this); // Purpur return ContainerChest.a(i, playerinventory, this); } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java index 1dfe2407da..871f2a031a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -6,6 +6,7 @@ import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.YamlConfiguration; +import org.bukkit.event.inventory.InventoryType; import java.io.File; import java.io.IOException; @@ -159,8 +160,16 @@ public class PurpurConfig { fixItemPositionDesync = getBoolean("settings.fix-item-position-desync", fixItemPositionDesync); } + public static boolean barrelSixRows = false; public static boolean slimeBlocksNotPushable = false; private static void blockSettings() { + if (version < 3) { + boolean oldValue = getBoolean("settings.barrel.packed-barrels", true); + set("settings.blocks.barrel.six-rows", oldValue); + set("settings.packed-barrels", null); + } + barrelSixRows = getBoolean("settings.blocks.barrel.six-rows", barrelSixRows); + InventoryType.BARREL.setDefaultSize(barrelSixRows ? 54 : 27); slimeBlocksNotPushable = getBoolean("settings.blocks.slime.not-movable-by-piston", slimeBlocksNotPushable); } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java index b4a7d982eb..afb40a7523 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java @@ -155,6 +155,7 @@ public class CraftContainer extends Container { return Containers.GRINDSTONE; case STONECUTTER: return Containers.STONECUTTER; + case BARREL: return net.pl3x.purpur.PurpurConfig.barrelSixRows ? Containers.GENERIC_9X6 : Containers.GENERIC_9X3; // Purpur default: return Containers.GENERIC_9X3; } @@ -168,8 +169,10 @@ public class CraftContainer extends Container { case PLAYER: case CHEST: case ENDER_CHEST: + delegate = new ContainerChest(Containers.GENERIC_9X3, windowId, bottom, top, top.getSize() / 9); // Purpur + break; // Purpur case BARREL: - delegate = new ContainerChest(Containers.GENERIC_9X3, windowId, bottom, top, top.getSize() / 9); + delegate = new ContainerChest(net.pl3x.purpur.PurpurConfig.barrelSixRows ? Containers.GENERIC_9X6 : Containers.GENERIC_9X3, windowId, bottom, top, top.getSize() / 9); // Purpur break; case DISPENSER: case DROPPER: -- 2.24.0