Files
Chisel/src/main/java/com/cricketcraft/chisel/item/ItemUpgrade.java
T

67 lines
2.0 KiB
Java

package com.cricketcraft.chisel.item;
import java.util.List;
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.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
import com.cricketcraft.chisel.Chisel;
import com.cricketcraft.chisel.block.tileentity.TileEntityAutoChisel;
import com.cricketcraft.chisel.block.tileentity.TileEntityAutoChisel.Upgrade;
public class ItemUpgrade extends BaseItem {
public IIcon[] icons = new IIcon[3];
public ItemUpgrade(String unlocalizedName) {
super();
this.setUnlocalizedName(unlocalizedName);
this.setCreativeTab(CreativeTabs.tabMaterials);
setHasSubtypes(true);
}
@Override
public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int size, float hitX, float hitY, float hitZ) {
if (world.isRemote)
return false;
TileEntity tile = world.getTileEntity(x, y, z);
if (tile != null && tile instanceof TileEntityAutoChisel) {
}
return true;
}
@Override
public IIcon getIconFromDamage(int meta) {
// using modulo throughout to prevent AIOB
return this.icons[meta % Upgrade.values().length];
}
@Override
public void registerIcons(IIconRegister reg) {
Upgrade[] upgrades = Upgrade.values();
for (int i = 0; i < upgrades.length; i++) {
this.icons[i] = reg.registerIcon(Chisel.MOD_ID + ":upgrade_" + upgrades[i].name().toLowerCase());
}
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void getSubItems(Item item, CreativeTabs tab, List list) {
for (int i = 0; i < 3; i++) {
list.add(new ItemStack(item, 1, i));
}
}
@Override
public String getUnlocalizedName(ItemStack stack) {
Upgrade[] upgrades = Upgrade.values();
return getUnlocalizedName() + "_" + upgrades[stack.getItemDamage() % upgrades.length].name().toLowerCase();
}
}