--- a/net/minecraft/server/BlockChest.java +++ b/net/minecraft/server/BlockChest.java @@ -35,24 +35,7 @@ public Optional a(final TileEntityChest tileentitychest, final TileEntityChest tileentitychest1) { final InventoryLargeChest inventorylargechest = new InventoryLargeChest(tileentitychest, tileentitychest1); - return Optional.of(new ITileInventory() { - @Nullable - @Override - public Container createMenu(int i, PlayerInventory playerinventory, EntityHuman entityhuman) { - if (tileentitychest.e(entityhuman) && tileentitychest1.e(entityhuman)) { - tileentitychest.d(playerinventory.player); - tileentitychest1.d(playerinventory.player); - return ContainerChest.b(i, playerinventory, inventorylargechest); - } else { - return null; - } - } - - @Override - public IChatBaseComponent getScoreboardDisplayName() { - return (IChatBaseComponent) (tileentitychest.hasCustomName() ? tileentitychest.getScoreboardDisplayName() : (tileentitychest1.hasCustomName() ? tileentitychest1.getScoreboardDisplayName() : new ChatMessage("container.chestDouble"))); - } - }); + return Optional.of(new DoubleInventory(tileentitychest, tileentitychest1, inventorylargechest)); // CraftBukkit } public Optional a(TileEntityChest tileentitychest) { @@ -65,6 +48,38 @@ } }; + // CraftBukkit start + public static class DoubleInventory implements ITileInventory { + + private final TileEntityChest tileentitychest; + private final TileEntityChest tileentitychest1; + public final InventoryLargeChest inventorylargechest; + + public DoubleInventory(TileEntityChest tileentitychest, TileEntityChest tileentitychest1, InventoryLargeChest inventorylargechest) { + this.tileentitychest = tileentitychest; + this.tileentitychest1 = tileentitychest1; + this.inventorylargechest = inventorylargechest; + } + + @Nullable + @Override + public Container createMenu(int i, PlayerInventory playerinventory, EntityHuman entityhuman) { + if (tileentitychest.e(entityhuman) && tileentitychest1.e(entityhuman)) { + tileentitychest.d(playerinventory.player); + tileentitychest1.d(playerinventory.player); + return ContainerChest.b(i, playerinventory, inventorylargechest); + } else { + return null; + } + } + + @Override + public IChatBaseComponent getScoreboardDisplayName() { + return (IChatBaseComponent) (tileentitychest.hasCustomName() ? tileentitychest.getScoreboardDisplayName() : (tileentitychest1.hasCustomName() ? tileentitychest1.getScoreboardDisplayName() : new ChatMessage("container.chestDouble"))); + } + }; + // CraftBukkit end + protected BlockChest(BlockBase.Info blockbase_info, Supplier> supplier) { super(blockbase_info, supplier); this.j((IBlockData) ((IBlockData) ((IBlockData) ((IBlockData) this.blockStateList.getBlockData()).set(BlockChest.FACING, EnumDirection.NORTH)).set(BlockChest.c, BlockPropertyChestType.SINGLE)).set(BlockChest.d, false)); @@ -218,7 +233,7 @@ } public DoubleBlockFinder.Result a(IBlockData iblockdata, World world, BlockPosition blockposition, boolean flag) { - BiPredicate bipredicate; + BiPredicate bipredicate; // CraftBukkit - decompile error if (flag) { bipredicate = (generatoraccess, blockposition1) -> {