package mcjty.rftools.items.devdelight; import mcjty.lib.api.Infusable; import mcjty.lib.base.GeneralConfig; import mcjty.lib.entity.GenericTileEntity; import mcjty.lib.varia.Logging; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class ShardWandItem extends Item { public ShardWandItem() { setMaxStackSize(1); } @Override public int getMaxItemUseDuration(ItemStack stack) { return 1; } @Override public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float sx, float sy, float sz) { if (!world.isRemote) { Block block = world.getBlock(x, y, z); if (block instanceof Infusable) { TileEntity te = world.getTileEntity(x, y, z); if (te instanceof GenericTileEntity) { GenericTileEntity genericTileEntity = (GenericTileEntity) te; int infused = genericTileEntity.getInfused(); if (infused < GeneralConfig.maxInfuse) { infused = GeneralConfig.maxInfuse; Logging.message(player, "Maximized infusion level!"); } else { infused = 0; Logging.message(player, "Cleared infusion level!"); } genericTileEntity.setInfused(infused); } else { Logging.message(player, "This block doesn't have the right tile entity!"); } } else { Logging.message(player, "This block is not infusable!"); } return true; } return true; } }