use of org.bukkit.craftbukkit.v1_12_R1.inventory.InventoryWrapper in project Magma by magmafoundation.
the class CraftHumanEntity method openInventory.
public InventoryView openInventory(Inventory inventory) {
if (!(getHandle() instanceof EntityPlayerMP))
return null;
EntityPlayerMP player = (EntityPlayerMP) getHandle();
InventoryType type = inventory.getType();
Container formerContainer = getHandle().openContainer;
IInventory iinventory = (inventory instanceof CraftInventory) ? ((CraftInventory) inventory).getInventory() : new InventoryWrapper(inventory);
switch(type) {
case PLAYER:
case CHEST:
case ENDER_CHEST:
getHandle().displayGUIChest(iinventory);
break;
case DISPENSER:
if (iinventory instanceof TileEntityDispenser) {
getHandle().displayGUIChest((TileEntityDispenser) iinventory);
} else {
openCustomInventory(inventory, player, "minecraft:dispenser");
}
break;
case DROPPER:
if (iinventory instanceof TileEntityDropper) {
getHandle().displayGUIChest((TileEntityDropper) iinventory);
} else {
openCustomInventory(inventory, player, "minecraft:dropper");
}
break;
case FURNACE:
if (iinventory instanceof TileEntityFurnace) {
getHandle().displayGUIChest((TileEntityFurnace) iinventory);
} else {
openCustomInventory(inventory, player, "minecraft:furnace");
}
break;
case WORKBENCH:
openCustomInventory(inventory, player, "minecraft:crafting_table");
break;
case BREWING:
if (iinventory instanceof TileEntityBrewingStand) {
getHandle().displayGUIChest((TileEntityBrewingStand) iinventory);
} else {
openCustomInventory(inventory, player, "minecraft:brewing_stand");
}
break;
case ENCHANTING:
openCustomInventory(inventory, player, "minecraft:enchanting_table");
break;
case HOPPER:
if (iinventory instanceof TileEntityHopper) {
getHandle().displayGUIChest((TileEntityHopper) iinventory);
} else if (iinventory instanceof EntityMinecartHopper) {
getHandle().displayGUIChest((EntityMinecartHopper) iinventory);
} else {
openCustomInventory(inventory, player, "minecraft:hopper");
}
break;
case BEACON:
if (iinventory instanceof TileEntityBeacon) {
getHandle().displayGUIChest((TileEntityBeacon) iinventory);
} else {
openCustomInventory(inventory, player, "minecraft:beacon");
}
break;
case ANVIL:
if (iinventory instanceof BlockAnvil.Anvil) {
getHandle().displayGui((BlockAnvil.Anvil) iinventory);
} else {
openCustomInventory(inventory, player, "minecraft:anvil");
}
break;
case SHULKER_BOX:
if (iinventory instanceof TileEntityShulkerBox) {
getHandle().displayGUIChest((TileEntityShulkerBox) iinventory);
} else {
openCustomInventory(inventory, player, "minecraft:shulker_box");
}
break;
case CREATIVE:
case CRAFTING:
throw new IllegalArgumentException("Can't open a " + type + " inventory!");
}
if (getHandle().openContainer == formerContainer) {
return null;
}
getHandle().openContainer.checkReachable = false;
return getHandle().openContainer.getBukkitView();
}
Aggregations