/* * Copyright (c) CovertJaguar, 2014 http://railcraft.info * * This code is the property of CovertJaguar * and may only be used with explicit written * permission unless otherwise specified on the * license page at http://railcraft.info/wiki/info:license. */ package mods.railcraft.common.blocks.machine; import mods.railcraft.common.blocks.ItemBlockRailcraftMultiType; import mods.railcraft.common.gui.tooltips.ToolTip; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.world.World; public class ItemMachine extends ItemBlockRailcraftMultiType { private final BlockMachine machineBlock; public ItemMachine(Block block) { super(block); this.machineBlock = (BlockMachine) block; setUnlocalizedName("railcraft.machine"); } @Override public IIcon getIconFromDamage(int damage) { return machineBlock.getIcon(2, damage); } @Override public String getUnlocalizedName(ItemStack stack) { return machineBlock.getMachineProxy().getMachine(stack.getItemDamage()).getTag(); } @Override public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int metadata) { if (!world.setBlock(x, y, z, machineBlock, metadata, 3)) return false; if (world.getBlock(x, y, z) == machineBlock) { machineBlock.onBlockPlacedBy(world, x, y, z, player, stack); machineBlock.onPostBlockPlaced(world, x, y, z, metadata); machineBlock.initFromItem(world, x, y, z, stack); } return true; } @Override public ToolTip getToolTip(ItemStack stack, EntityPlayer player, boolean adv) { return machineBlock.getMachineProxy().getMachine(stack.getItemDamage()).getToolTip(stack, player, adv); } }