CraftMinecartHopper(CraftServer server, EntityMinecartHopper entity) { super(server, entity); inventory = new CraftInventory(entity); }
public InventoryView openInventory(Inventory inventory) { if(!(getHandle() instanceof EntityPlayer)) return null; EntityPlayer player = (EntityPlayer) getHandle(); InventoryType type = inventory.getType(); Container formerContainer = getHandle().activeContainer; // TODO: Should we check that it really IS a CraftInventory first? CraftInventory craftinv = (CraftInventory) inventory; switch(type) { case PLAYER: case CHEST: case ENDER_CHEST: getHandle().openContainer(craftinv.getInventory()); break; case DISPENSER: if (craftinv.getInventory() instanceof TileEntityDispenser) { getHandle().openDispenser((TileEntityDispenser) craftinv.getInventory()); } else { openCustomInventory(inventory, player, 3); } break; case FURNACE: if (craftinv.getInventory() instanceof TileEntityFurnace) { getHandle().openFurnace((TileEntityFurnace) craftinv.getInventory()); } else { openCustomInventory(inventory, player, 2); } break; case WORKBENCH: openCustomInventory(inventory, player, 1); break; case BREWING: if (craftinv.getInventory() instanceof TileEntityBrewingStand) { getHandle().openBrewingStand((TileEntityBrewingStand) craftinv.getInventory()); } else { openCustomInventory(inventory, player, 5); } break; case ENCHANTING: openCustomInventory(inventory, player, 4); break; case HOPPER: if (craftinv.getInventory() instanceof TileEntityHopper) { getHandle().openHopper((TileEntityHopper) craftinv.getInventory()); } else if (craftinv.getInventory() instanceof EntityMinecartHopper) { getHandle().openMinecartHopper((EntityMinecartHopper) craftinv.getInventory()); } else { openCustomInventory(inventory, player, 9); } break; case CREATIVE: case CRAFTING: throw new IllegalArgumentException("Can't open a " + type + " inventory!"); } if (getHandle().activeContainer == formerContainer) { return null; } getHandle().activeContainer.checkReachable = false; return getHandle().activeContainer.getBukkitView(); }
@Override public boolean isEnabled() { return ((EntityMinecartHopper) getHandle()).isEnabled(); }
@Override public void setEnabled(boolean enabled) { ((EntityMinecartHopper) getHandle()).setEnabled(enabled); }
public InventoryView openInventory(Inventory inventory) { if(!(getHandle() instanceof EntityPlayer)) return null; EntityPlayer player = (EntityPlayer) getHandle(); InventoryType type = inventory.getType(); Container formerContainer = getHandle().activeContainer; // TODO: Should we check that it really IS a CraftInventory first? CraftInventory craftinv = (CraftInventory) inventory; switch(type) { case PLAYER: case CHEST: case ENDER_CHEST: getHandle().openContainer(craftinv.getInventory()); break; case DISPENSER: if (craftinv.getInventory() instanceof TileEntityDispenser) { getHandle().openDispenser((TileEntityDispenser) craftinv.getInventory()); } else { openCustomInventory(inventory, player, 3); } break; case FURNACE: if (craftinv.getInventory() instanceof TileEntityFurnace) { getHandle().openFurnace((TileEntityFurnace) craftinv.getInventory()); } else { openCustomInventory(inventory, player, 2); } break; case WORKBENCH: openCustomInventory(inventory, player, 1); break; case BREWING: if (craftinv.getInventory() instanceof TileEntityBrewingStand) { getHandle().openBrewingStand((TileEntityBrewingStand) craftinv.getInventory()); } else { openCustomInventory(inventory, player, 5); } break; case ENCHANTING: openCustomInventory(inventory, player, 4); break; case HOPPER: if (craftinv.getInventory() instanceof TileEntityHopper) { getHandle().openHopper((TileEntityHopper) craftinv.getInventory()); } else if (craftinv.getInventory() instanceof EntityMinecartHopper) { getHandle().openMinecartHopper((EntityMinecartHopper) craftinv.getInventory()); } break; case CREATIVE: case CRAFTING: throw new IllegalArgumentException("Can't open a " + type + " inventory!"); } if (getHandle().activeContainer == formerContainer) { return null; } getHandle().activeContainer.checkReachable = false; return getHandle().activeContainer.getBukkitView(); }