package codechicken.wirelessredstone.logic; import java.util.List; import codechicken.lib.vec.BlockCoord; import codechicken.lib.vec.Vector3; import codechicken.multipart.JItemMultiPart; import codechicken.multipart.TMultiPart; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public class ItemWirelessPart extends JItemMultiPart { public ItemWirelessPart() { setHasSubtypes(true); setUnlocalizedName("wrcbe_logic:wirelesspart"); } @Override public TMultiPart newPart(ItemStack item, EntityPlayer player, World world, BlockCoord pos, int side, Vector3 vhit) { BlockCoord onPos = pos.copy().offset(side ^ 1); if (!world.isSideSolid(onPos.x, onPos.y, onPos.z, ForgeDirection.getOrientation(side))) return null; WirelessPart part = getPart(item.getItemDamage()); part.setupPlacement(player, side); return part; } public static WirelessPart getPart(int damage) { switch (damage) { case 0: return new TransmitterPart(); case 1: return new ReceiverPart(); case 2: return new JammerPart(); } return null; } @Override @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tab, List list) { for (int d = 0; d < 3; d++) list.add(new ItemStack(item, 1, d)); } public String getUnlocalizedName(ItemStack stack) { return super.getUnlocalizedName() + "|" + stack.getItemDamage(); } @Override @SideOnly(Side.CLIENT) public int getSpriteNumber() { return 0; } @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister par1IconRegister) { RenderWireless.loadIcons(par1IconRegister); } }