@Override public void onBlockPlacedBy( World world, int x, int y, int z, EntityLivingBase player, ItemStack itemstack) { if (itemstack != null && itemstack.getItem() instanceof ItemBlockEnergyCube) { ItemBlockEnergyCube itemBlock = (ItemBlockEnergyCube) itemstack.getItem(); TileEntityEnergyCube tileEntity = (TileEntityEnergyCube) world.getTileEntity(x, y, z); tileEntity.setEnergyStored(itemBlock.getEnergyStored(itemstack)); } }
@Override public ArrayList<ItemStack> getDrops( World world, int x, int y, int z, int metadata, int fortune) { ArrayList<ItemStack> ret = new ArrayList<ItemStack>(); TileEntityEnergyCube tileEntity = (TileEntityEnergyCube) world.getTileEntity(x, y, z); Item item = getItemDropped(metadata, world.rand, fortune); if (item != null && item instanceof ItemBlockEnergyCube) { ItemBlockEnergyCube itemBlock = (ItemBlockEnergyCube) item; ItemStack itemstack = new ItemStack(itemBlock, 1, damageDropped(metadata)); itemBlock.receiveEnergy(itemstack, tileEntity.getEnergyStored(null), false); ret.add(itemstack); } if (tileEntity != null) { for (int i = 0; i < tileEntity.getSizeInventory(); ++i) { ItemStack itemstack = tileEntity.getStackInSlot(i); if (itemstack != null) ret.add(itemstack); } } return ret; }