sdddddf80 34865547c4 Transferred a bunch of text to lang file
Transferred a bunch of text to lang file(not all)
2023-11-28 21:46:04 -06:00

118 lines
3.3 KiB
Java

package com.hbm.items.machine;
import java.util.List;
import com.hbm.items.special.ItemNuclearWaste;
import com.hbm.main.MainRegistry;
import com.hbm.util.I18nUtil;
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.util.EnumChatFormatting;
import net.minecraft.util.IIcon;
public class ItemRBMKPellet extends ItemNuclearWaste {
public String fullName = "";
protected boolean hasXenon = true;
public ItemRBMKPellet(String fullName) {
this.fullName = fullName;
this.setHasSubtypes(true);
this.setMaxDamage(0);
this.setCreativeTab(MainRegistry.controlTab);
}
public ItemRBMKPellet disableXenon() {
this.hasXenon = false;
return this;
}
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs tabs, List list) {
for(int i = 0; i < (this.hasXenon ? 10 : 5); ++i) {
list.add(new ItemStack(item, 1, i));
}
}
@SideOnly(Side.CLIENT)
private IIcon[] enrichmentOverlays;
@SideOnly(Side.CLIENT)
private IIcon xenonOverlay;
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister iconRegister) {
super.registerIcons(iconRegister);
this.enrichmentOverlays = new IIcon[5];
for(int i = 0; i < enrichmentOverlays.length; i++) {
enrichmentOverlays[i] = iconRegister.registerIcon("hbm:rbmk_pellet_overlay_e" + i);
}
if(this.hasXenon)
xenonOverlay = iconRegister.registerIcon("hbm:rbmk_pellet_overlay_xenon");
}
@Override
@SideOnly(Side.CLIENT)
public boolean requiresMultipleRenderPasses() {
return true;
}
@Override
public int getRenderPasses(int meta) {
return hasXenon(meta) ? 3 : 2;
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
super.addInformation(stack, player, list, bool);
list.add(EnumChatFormatting.ITALIC + this.fullName);
list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[0]);
int meta = rectify(stack.getItemDamage());
switch(meta % 5) {
case 0: list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[1]); break;
case 1: list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[2]); break;
case 2: list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[3]); break;
case 3: list.add(EnumChatFormatting.DARK_GREEN + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[4]); break;
case 4: list.add(EnumChatFormatting.DARK_GRAY + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[5]); break;
}
if(hasXenon(meta))
list.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[6]);
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIconFromDamageForRenderPass(int meta, int pass) {
if(pass == 0)
return this.itemIcon;
if(pass == 2)
return this.xenonOverlay;
return this.enrichmentOverlays[rectify(meta) % 5];
}
public static boolean hasXenon(int meta) {
return rectify(meta) >= 5;
}
public static int rectify(int meta) {
return Math.abs(meta) % 10;
}
}