Commits

md_5 authored 25de1e6baf8
SPIGOT-769: Fix opening custom inventories.
No tags

src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java

Modified
178 178 // TODO: Should we check that it really IS a CraftInventory first?
179 179 CraftInventory craftinv = (CraftInventory) inventory;
180 180 switch(type) {
181 181 case PLAYER:
182 182 case CHEST:
183 183 case ENDER_CHEST:
184 184 getHandle().openContainer(craftinv.getInventory());
185 185 break;
186 186 case DISPENSER:
187 187 if (craftinv.getInventory() instanceof TileEntityDispenser) {
188 - getHandle().openTileEntity((TileEntityDispenser) craftinv.getInventory());
188 + getHandle().openContainer((TileEntityDispenser) craftinv.getInventory());
189 189 } else {
190 190 openCustomInventory(inventory, player, "minecraft:dispenser");
191 191 }
192 192 break;
193 193 case FURNACE:
194 194 if (craftinv.getInventory() instanceof TileEntityFurnace) {
195 - getHandle().openTileEntity((TileEntityFurnace) craftinv.getInventory());
195 + getHandle().openContainer((TileEntityFurnace) craftinv.getInventory());
196 196 } else {
197 197 openCustomInventory(inventory, player, "minecraft:furnace");
198 198 }
199 199 break;
200 200 case WORKBENCH:
201 201 openCustomInventory(inventory, player, "minecraft:crafting_table");
202 202 break;
203 203 case BREWING:
204 204 if (craftinv.getInventory() instanceof TileEntityBrewingStand) {
205 - getHandle().openTileEntity((TileEntityBrewingStand) craftinv.getInventory());
205 + getHandle().openContainer((TileEntityBrewingStand) craftinv.getInventory());
206 206 } else {
207 207 openCustomInventory(inventory, player, "minecraft:brewing_stand");
208 208 }
209 209 break;
210 210 case ENCHANTING:
211 211 openCustomInventory(inventory, player, "minecraft:enchanting_table");
212 212 break;
213 213 case HOPPER:
214 214 if (craftinv.getInventory() instanceof TileEntityHopper) {
215 - getHandle().openTileEntity((TileEntityHopper) craftinv.getInventory());
215 + getHandle().openContainer((TileEntityHopper) craftinv.getInventory());
216 216 } else if (craftinv.getInventory() instanceof EntityMinecartHopper) {
217 - getHandle().openTileEntity((EntityMinecartHopper) craftinv.getInventory());
217 + getHandle().openContainer((EntityMinecartHopper) craftinv.getInventory());
218 218 } else {
219 219 openCustomInventory(inventory, player, "minecraft:hopper");
220 220 }
221 221 break;
222 222 case BEACON:
223 223 if (craftinv.getInventory() instanceof TileEntityBeacon) {
224 - getHandle().openTileEntity((TileEntityBeacon) craftinv.getInventory());
224 + getHandle().openContainer((TileEntityBeacon) craftinv.getInventory());
225 225 } else {
226 226 openCustomInventory(inventory, player, "minecraft:beacon");
227 227 }
228 228 break;
229 229 case ANVIL:
230 230 if (craftinv.getInventory() instanceof BlockAnvil.TileEntityContainerAnvil) {
231 231 getHandle().openTileEntity((BlockAnvil.TileEntityContainerAnvil) craftinv.getInventory());
232 232 } else {
233 233 openCustomInventory(inventory, player, "minecraft:anvil");
234 234 }

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut