mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
68 lines
2.0 KiB
Java
68 lines
2.0 KiB
Java
package com.hbm.items.machine;
|
|
|
|
import java.util.List;
|
|
|
|
import com.hbm.inventory.fluid.trait.FT_Combustible.FuelGrade;
|
|
import com.hbm.items.ItemEnumMulti;
|
|
import com.hbm.util.EnumUtil;
|
|
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.util.EnumChatFormatting;
|
|
import net.minecraft.util.IIcon;
|
|
|
|
public class ItemPistons extends ItemEnumMulti {
|
|
|
|
public ItemPistons() {
|
|
super(EnumPistonType.class, true, true);
|
|
}
|
|
|
|
@Override
|
|
@SideOnly(Side.CLIENT)
|
|
public void registerIcons(IIconRegister reg) {
|
|
Enum[] enums = theEnum.getEnumConstants();
|
|
this.icons = new IIcon[enums.length];
|
|
|
|
for(int i = 0; i < icons.length; i++) {
|
|
Enum num = enums[i];
|
|
this.icons[i] = reg.registerIcon(this.getIconString() + "_" + num.name().toLowerCase());
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public String getUnlocalizedName(ItemStack stack) {
|
|
Enum num = EnumUtil.grabEnumSafely(theEnum, stack.getItemDamage());
|
|
return super.getUnlocalizedName() + "_" + num.name().toLowerCase();
|
|
}
|
|
|
|
@Override
|
|
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
|
EnumPistonType type = EnumUtil.grabEnumSafely(theEnum, stack.getItemDamage());
|
|
|
|
|
|
list.add(EnumChatFormatting.YELLOW + "Fuel efficiency:");
|
|
for(int i = 0; i < type.eff.length; i++) {
|
|
list.add(EnumChatFormatting.YELLOW + "-" + FuelGrade.values()[i].getGrade() + ": " + EnumChatFormatting.RED + "" + (int)(type.eff[i] * 100) + "%");
|
|
}
|
|
}
|
|
|
|
public static enum EnumPistonType {
|
|
STEEL (1.00, 0.75, 0.25, 0.00),
|
|
DURA (0.50, 1.00, 0.90, 0.50),
|
|
DESH (0.00, 0.50, 1.00, 0.75),
|
|
STARMETAL (0.50, 0.75, 1.00, 0.90);
|
|
|
|
public double[] eff;
|
|
|
|
private EnumPistonType(double... eff) {
|
|
this.eff = new double[Math.min(FuelGrade.values().length, eff.length)];
|
|
for(int i = 0; i < eff.length; i++) {
|
|
this.eff[i] = eff[i];
|
|
}
|
|
}
|
|
}
|
|
}
|