diff options
author | Christina Berchtold <kekzdealer@gmail.com> | 2019-06-09 23:41:14 +0200 |
---|---|---|
committer | Christina Berchtold <kekzdealer@gmail.com> | 2019-06-09 23:41:14 +0200 |
commit | e806e19f3b42df2759231880afff02648908239f (patch) | |
tree | 1cba8a919ee261f2f03f1f6f1aac381017d0544a /src/main/java/items/MetaItem_ReactorComponent.java | |
parent | 133b330fecda75943ab3b1e379a08e3b9ba37fc3 (diff) | |
download | GT5-Unofficial-e806e19f3b42df2759231880afff02648908239f.tar.gz GT5-Unofficial-e806e19f3b42df2759231880afff02648908239f.tar.bz2 GT5-Unofficial-e806e19f3b42df2759231880afff02648908239f.zip |
gradle building and recipes. SOFC fully functional. Probably first release :)
Diffstat (limited to 'src/main/java/items/MetaItem_ReactorComponent.java')
-rw-r--r-- | src/main/java/items/MetaItem_ReactorComponent.java | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/src/main/java/items/MetaItem_ReactorComponent.java b/src/main/java/items/MetaItem_ReactorComponent.java new file mode 100644 index 0000000000..458de48a00 --- /dev/null +++ b/src/main/java/items/MetaItem_ReactorComponent.java @@ -0,0 +1,140 @@ +package items; + +import java.util.List; + +import cpw.mods.fml.common.registry.GameRegistry; +import kekztech.KekzCore; +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.nbt.NBTTagCompound; +import net.minecraft.util.IIcon; +import reactor.items.CoolantCell; +import reactor.items.FuelRod; +import reactor.items.HeatExchanger; +import reactor.items.HeatVent; +import reactor.items.NeutronReflector; + +public class MetaItem_ReactorComponent extends Item { + + private static MetaItem_ReactorComponent instance = new MetaItem_ReactorComponent(); + private final IIcon[] icons = new IIcon[50]; + + private MetaItem_ReactorComponent() { + // I am a singleton + } + + public static MetaItem_ReactorComponent getInstance() { + return instance; + } + + public void registerItem() { + super.setHasSubtypes(true); + final String unlocalizedName = "kekztech_reactor_item"; + super.setUnlocalizedName(unlocalizedName); + super.setCreativeTab(CreativeTabs.tabMisc); + super.setMaxStackSize(1); + GameRegistry.registerItem(getInstance(), unlocalizedName); + } + + @Override + public void registerIcons(IIconRegister reg) { + int counter = 0; + for(String s : HeatVent.RESOURCE_NAMES) { + icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + s); + } + for(String s : HeatExchanger.RESOURCE_NAME) { + icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + s); + } + for(String s : FuelRod.RESOURCE_NAME) { + icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + s); + } + for(String s : FuelRod.RESOURCE_NAME_DEPLETED) { + icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + s); + } + for(String s : NeutronReflector.RESOURCE_NAME) { + icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + s); + } + for(String s : CoolantCell.RESOURCE_NAME) { + icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + s); + } + } + + @Override + public IIcon getIconFromDamage(int meta) { + return icons[meta]; + } + + @SuppressWarnings({"unchecked", "rawtypes"}) + @Override + public void getSubItems(Item item, CreativeTabs tab, List list) { + for(int i = 0; i < icons.length; i++) { + list.add(new ItemStack(item, 1, i)); + } + } + + @Override + public String getUnlocalizedName(ItemStack stack) { + return super.getUnlocalizedName() + "." + stack.getItemDamage(); + } + + @SuppressWarnings({"unchecked", "rawtypes"}) + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean b) { + list.add("Part for the Modular Nuclear Reactor"); + } + + @Override + public double getDurabilityForDisplay(ItemStack stack) { + NBTTagCompound nbt = (stack.getTagCompound() == null) ? new NBTTagCompound() : stack.getTagCompound(); + if(nbt.getInteger("HEALTH") != 0 && nbt.getInteger("MAXHEALTH") != 0) { + return 1 - (double) (nbt.getInteger("HEALTH") / nbt.getInteger("MAXHEALTH")); + } else { + return 0.0d; + } + } + + @Override + public boolean showDurabilityBar(ItemStack stack) { + final int meta = stack.getItemDamage(); + if(meta >= 31 && meta <= 45) { + return false; + } else { + return true; + } + } + + public ItemStack getStackFromDamage(int meta) { + return new ItemStack(getInstance(), 1, meta); + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + +} |