From d6aa73d16c98116305dbd7d639a07d57f1c55a08 Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 10 Mar 2017 20:01:31 +1100 Subject: [PATCH] SPIGOT-3114: Initialize custom SHULKER_BOX slots --- .../craftbukkit/inventory/CraftContainer.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java index 3f5ffb80a9..226fa0c178 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java @@ -12,6 +12,7 @@ import net.minecraft.server.EntityHuman; import net.minecraft.server.IInventory; import net.minecraft.server.PacketPlayOutOpenWindow; import net.minecraft.server.Slot; +import net.minecraft.server.SlotShulkerBox; public class CraftContainer extends Container { @@ -150,6 +151,9 @@ public class CraftContainer extends Container { case BEACON: setupBeacon(top, bottom); break; + case SHULKER_BOX: + setupShulkerBox(top, bottom); + break; } } @@ -346,6 +350,29 @@ public class CraftContainer extends Container { // End copy from ContainerBeacon } + private void setupShulkerBox(IInventory top, IInventory bottom) { + // This code is copied from ContainerShulkerBox + int i; + int j; + + for (i = 0; i < 3; ++i) { + for (j = 0; j < 9; ++j) { + this.a((Slot) (new SlotShulkerBox(top, j + i * 9, 8 + j * 18, 18 + i * 18))); + } + } + + for (i = 0; i < 3; ++i) { + for (j = 0; j < 9; ++j) { + this.a(new Slot(bottom, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for (i = 0; i < 9; ++i) { + this.a(new Slot(bottom, i, 8 + i * 18, 142)); + } + // End copy from ContainerShulkerBox + } + public boolean a(EntityHuman entity) { return true; }