aboutsummaryrefslogtreecommitdiffhomepage
path: root/patch-remap/og/net/minecraft/world/level/block/BlockChest.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patch-remap/og/net/minecraft/world/level/block/BlockChest.patch')
-rw-r--r--patch-remap/og/net/minecraft/world/level/block/BlockChest.patch92
1 files changed, 92 insertions, 0 deletions
diff --git a/patch-remap/og/net/minecraft/world/level/block/BlockChest.patch b/patch-remap/og/net/minecraft/world/level/block/BlockChest.patch
new file mode 100644
index 0000000000..3f9027edce
--- /dev/null
+++ b/patch-remap/og/net/minecraft/world/level/block/BlockChest.patch
@@ -0,0 +1,92 @@
+--- a/net/minecraft/world/level/block/BlockChest.java
++++ b/net/minecraft/world/level/block/BlockChest.java
+@@ -93,24 +93,7 @@
+ public Optional<ITileInventory> acceptDouble(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.canOpen(entityhuman) && tileentitychest1.canOpen(entityhuman)) {
+- tileentitychest.unpackLootTable(playerinventory.player);
+- tileentitychest1.unpackLootTable(playerinventory.player);
+- return ContainerChest.sixRows(i, playerinventory, inventorylargechest);
+- } else {
+- return null;
+- }
+- }
+-
+- @Override
+- public IChatBaseComponent getDisplayName() {
+- return (IChatBaseComponent) (tileentitychest.hasCustomName() ? tileentitychest.getDisplayName() : (tileentitychest1.hasCustomName() ? tileentitychest1.getDisplayName() : IChatBaseComponent.translatable("container.chestDouble")));
+- }
+- });
++ return Optional.of(new DoubleInventory(tileentitychest, tileentitychest1, inventorylargechest)); // CraftBukkit
+ }
+
+ public Optional<ITileInventory> acceptSingle(TileEntityChest tileentitychest) {
+@@ -123,6 +106,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.canOpen(entityhuman) && tileentitychest1.canOpen(entityhuman)) {
++ tileentitychest.unpackLootTable(playerinventory.player);
++ tileentitychest1.unpackLootTable(playerinventory.player);
++ return ContainerChest.sixRows(i, playerinventory, inventorylargechest);
++ } else {
++ return null;
++ }
++ }
++
++ @Override
++ public IChatBaseComponent getDisplayName() {
++ return (IChatBaseComponent) (tileentitychest.hasCustomName() ? tileentitychest.getDisplayName() : (tileentitychest1.hasCustomName() ? tileentitychest1.getDisplayName() : IChatBaseComponent.translatable("container.chestDouble")));
++ }
++ };
++ // CraftBukkit end
++
+ @Override
+ public MapCodec<? extends BlockChest> codec() {
+ return BlockChest.CODEC;
+@@ -278,7 +293,7 @@
+
+ @Override
+ public DoubleBlockFinder.Result<? extends TileEntityChest> combine(IBlockData iblockdata, World world, BlockPosition blockposition, boolean flag) {
+- BiPredicate bipredicate;
++ BiPredicate<GeneratorAccess, BlockPosition> bipredicate; // CraftBukkit - decompile error
+
+ if (flag) {
+ bipredicate = (generatoraccess, blockposition1) -> {
+@@ -294,7 +309,14 @@
+ @Nullable
+ @Override
+ public ITileInventory getMenuProvider(IBlockData iblockdata, World world, BlockPosition blockposition) {
+- return (ITileInventory) ((Optional) this.combine(iblockdata, world, blockposition, false).apply(BlockChest.MENU_PROVIDER_COMBINER)).orElse((Object) null);
++ // CraftBukkit start
++ return getMenuProvider(iblockdata, world, blockposition, false);
++ }
++
++ @Nullable
++ public ITileInventory getMenuProvider(IBlockData iblockdata, World world, BlockPosition blockposition, boolean ignoreObstructions) {
++ return (ITileInventory) ((Optional) this.combine(iblockdata, world, blockposition, ignoreObstructions).apply(BlockChest.MENU_PROVIDER_COMBINER)).orElse((Object) null);
++ // CraftBukkit end
+ }
+
+ public static DoubleBlockFinder.Combiner<TileEntityChest, Float2FloatFunction> opennessCombiner(final LidBlockEntity lidblockentity) {