mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
start of moving zirnox, other rods to enummulti
This commit is contained in:
parent
9dc3061160
commit
8b2a304e62
@ -5,7 +5,7 @@ import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemFluidIdentifier;
|
||||
import com.hbm.items.machine.ItemZirnoxRod;
|
||||
import com.hbm.items.machine.ItemZirnoxRodDeprecated;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineTurbineGas;
|
||||
|
||||
import api.hbm.energy.IBatteryItem;
|
||||
|
||||
@ -3,7 +3,7 @@ package com.hbm.inventory.container;
|
||||
import com.hbm.inventory.FluidContainerRegistry;
|
||||
import com.hbm.inventory.SlotMachineOutput;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.items.machine.ItemZirnoxRod;
|
||||
import com.hbm.items.machine.ItemZirnoxRodDeprecated;
|
||||
import com.hbm.tileentity.machine.TileEntityReactorZirnox;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
@ -88,7 +88,7 @@ public class ContainerReactorZirnox extends Container {
|
||||
|
||||
} else {
|
||||
|
||||
if(stack.getItem() instanceof ItemZirnoxRod) {
|
||||
if(stack.getItem() instanceof ItemZirnoxRodDeprecated) {
|
||||
|
||||
if(!this.mergeItemStack(stack, 0, 24, true))
|
||||
return null;
|
||||
|
||||
@ -3682,18 +3682,18 @@ public class ModItems {
|
||||
rod_quad = (ItemEnumMulti) new ItemBreedingRod().setUnlocalizedName("rod_quad").setContainerItem(ModItems.rod_quad_empty).setCreativeTab(MainRegistry.controlTab);
|
||||
|
||||
rod_zirnox_empty = new Item().setUnlocalizedName("rod_zirnox_empty").setMaxStackSize(64).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_empty");
|
||||
rod_zirnox_natural_uranium_fuel = new ItemZirnoxRod(250000, 30).setUnlocalizedName("rod_zirnox_natural_uranium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_natural_uranium_fuel");
|
||||
rod_zirnox_uranium_fuel = new ItemZirnoxRod(200000, 50).setUnlocalizedName("rod_zirnox_uranium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_uranium_fuel");
|
||||
rod_zirnox_natural_uranium_fuel = new ItemZirnoxRodDeprecated(250000, 30).setUnlocalizedName("rod_zirnox_natural_uranium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_natural_uranium_fuel");
|
||||
rod_zirnox_uranium_fuel = new ItemZirnoxRodDeprecated(200000, 50).setUnlocalizedName("rod_zirnox_uranium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_uranium_fuel");
|
||||
rod_zirnox_th232 = new ItemZirnoxBreedingRod(20000, 0).setUnlocalizedName("rod_zirnox_th232").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_th232");
|
||||
rod_zirnox_thorium_fuel = new ItemZirnoxRod(200000, 40).setUnlocalizedName("rod_zirnox_thorium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_thorium_fuel");
|
||||
rod_zirnox_mox_fuel = new ItemZirnoxRod(165000, 75).setUnlocalizedName("rod_zirnox_mox_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_mox_fuel");
|
||||
rod_zirnox_plutonium_fuel = new ItemZirnoxRod(175000, 65).setUnlocalizedName("rod_zirnox_plutonium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_plutonium_fuel");
|
||||
rod_zirnox_u233_fuel = new ItemZirnoxRod(150000, 100).setUnlocalizedName("rod_zirnox_u233_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_u233_fuel");
|
||||
rod_zirnox_u235_fuel = new ItemZirnoxRod(165000, 85).setUnlocalizedName("rod_zirnox_u235_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_u235_fuel");
|
||||
rod_zirnox_les_fuel = new ItemZirnoxRod(150000, 150).setUnlocalizedName("rod_zirnox_les_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_les_fuel");
|
||||
rod_zirnox_thorium_fuel = new ItemZirnoxRodDeprecated(200000, 40).setUnlocalizedName("rod_zirnox_thorium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_thorium_fuel");
|
||||
rod_zirnox_mox_fuel = new ItemZirnoxRodDeprecated(165000, 75).setUnlocalizedName("rod_zirnox_mox_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_mox_fuel");
|
||||
rod_zirnox_plutonium_fuel = new ItemZirnoxRodDeprecated(175000, 65).setUnlocalizedName("rod_zirnox_plutonium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_plutonium_fuel");
|
||||
rod_zirnox_u233_fuel = new ItemZirnoxRodDeprecated(150000, 100).setUnlocalizedName("rod_zirnox_u233_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_u233_fuel");
|
||||
rod_zirnox_u235_fuel = new ItemZirnoxRodDeprecated(165000, 85).setUnlocalizedName("rod_zirnox_u235_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_u235_fuel");
|
||||
rod_zirnox_les_fuel = new ItemZirnoxRodDeprecated(150000, 150).setUnlocalizedName("rod_zirnox_les_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_les_fuel");
|
||||
rod_zirnox_lithium = new ItemZirnoxBreedingRod(20000, 0).setUnlocalizedName("rod_zirnox_lithium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_lithium");
|
||||
rod_zirnox_tritium = new Item().setUnlocalizedName("rod_zirnox_tritium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_tritium");
|
||||
rod_zirnox_zfb_mox = new ItemZirnoxRod(50000, 35).setUnlocalizedName("rod_zirnox_zfb_mox").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_zfb_mox");
|
||||
rod_zirnox_zfb_mox = new ItemZirnoxRodDeprecated(50000, 35).setUnlocalizedName("rod_zirnox_zfb_mox").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_zfb_mox");
|
||||
|
||||
rod_zirnox_natural_uranium_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_natural_uranium_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_uranium_fuel_depleted");
|
||||
rod_zirnox_uranium_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_uranium_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_uranium_fuel_depleted");
|
||||
|
||||
@ -0,0 +1,34 @@
|
||||
package com.hbm.items.machine;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.items.ItemEnumMulti;
|
||||
import com.hbm.items.machine.ItemZirnoxRod.EnumZirnoxType;
|
||||
import com.hbm.util.EnumUtil;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ItemNuclearWasteMulti extends ItemEnumMulti {
|
||||
|
||||
public ItemNuclearWasteMulti(Class<? extends Enum> theEnum, boolean multiName, boolean multiTexture) {
|
||||
super(theEnum, multiName, multiTexture);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void getSubItems(Item item, CreativeTabs tab, List list) {
|
||||
for(int i = 0; i < theEnum.getEnumConstants().length; i++) {
|
||||
if(theEnum == ItemZirnoxRod.EnumZirnoxType.class) { //i could make an interface or a base enum, but it's only used for 'nox rods anyway
|
||||
EnumZirnoxType num = EnumUtil.grabEnumSafely(EnumZirnoxType.class, i);
|
||||
if(!num.breeding) list.add(new ItemStack(item, 1, i)); //wastes' ordinals are always equal to their fuels' ordinals
|
||||
} else
|
||||
list.add(new ItemStack(item, 1, i));
|
||||
}
|
||||
}
|
||||
|
||||
//TODO: cooling stuff
|
||||
}
|
||||
@ -9,7 +9,7 @@ import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
|
||||
public class ItemZirnoxBreedingRod extends ItemZirnoxRod {
|
||||
public class ItemZirnoxBreedingRod extends ItemZirnoxRodDeprecated {
|
||||
|
||||
public ItemZirnoxBreedingRod(int life, int heat) {
|
||||
super(life, heat);
|
||||
|
||||
@ -1,30 +1,93 @@
|
||||
package com.hbm.items.machine;
|
||||
|
||||
import java.util.List;
|
||||
import com.hbm.items.ItemEnumMulti;
|
||||
import com.hbm.util.EnumUtil;
|
||||
|
||||
import com.hbm.util.BobMathUtil;
|
||||
import com.hbm.util.I18nUtil;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.IIcon;
|
||||
|
||||
public class ItemZirnoxRod extends ItemFuelRod {
|
||||
|
||||
public int heat;
|
||||
|
||||
public ItemZirnoxRod(int life, int heat) {
|
||||
super(life);
|
||||
this.heat = heat;
|
||||
public class ItemZirnoxRod extends ItemEnumMulti {
|
||||
|
||||
public ItemZirnoxRod() {
|
||||
super(EnumZirnoxType.class, true, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
|
||||
|
||||
public static void setLifeTime(ItemStack stack, int time) {
|
||||
|
||||
String[] descLocs = I18nUtil.resolveKeyArray("desc.item.zirnoxRod", heat, BobMathUtil.getShortNumber(lifeTime));
|
||||
if(!stack.hasTagCompound())
|
||||
stack.stackTagCompound = new NBTTagCompound();
|
||||
|
||||
for(String loc : descLocs) {
|
||||
list.add(loc);
|
||||
stack.stackTagCompound.setInteger("life", time);
|
||||
}
|
||||
|
||||
public static int getLifeTime(ItemStack stack) {
|
||||
|
||||
if(!stack.hasTagCompound()) {
|
||||
stack.stackTagCompound = new NBTTagCompound();
|
||||
return 0;
|
||||
}
|
||||
|
||||
return stack.stackTagCompound.getInteger("life");
|
||||
}
|
||||
|
||||
public boolean showDurabilityBar(ItemStack stack) {
|
||||
return getDurabilityForDisplay(stack) > 0D;
|
||||
}
|
||||
|
||||
public double getDurabilityForDisplay(ItemStack stack) {
|
||||
EnumZirnoxType num = EnumUtil.grabEnumSafely(theEnum, stack.getItemDamage());
|
||||
return (double)getLifeTime(stack) / (double)num.maxLife;
|
||||
}
|
||||
|
||||
@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();
|
||||
}
|
||||
|
||||
public static enum EnumZirnoxType {
|
||||
NATURAL_URANIUM_FUEL(250_000, 30),
|
||||
URANIUM_FUEL(200_000, 50),
|
||||
TH232(20_000, 0, true),
|
||||
THORIUM_FUEL(200_000, 40),
|
||||
MOX_FUEL(165_000, 75),
|
||||
PLUTONIUM_FUEL(175_000, 65),
|
||||
U233_FUEL(150_000, 100),
|
||||
U235_FUEL(165_000, 85),
|
||||
LES_FUEL(150_000, 150),
|
||||
LITHIUM(20_000, 0, true),
|
||||
ZFB_MOX(50_000, 35);
|
||||
|
||||
public int maxLife;
|
||||
public int heat;
|
||||
/** Doesn't auto-generate a waste type, waste rods, etc. */
|
||||
public boolean breeding = false;
|
||||
|
||||
private EnumZirnoxType(int life, int heat, boolean breeding) {
|
||||
this.maxLife = life;
|
||||
this.heat = heat;
|
||||
this.breeding = breeding;
|
||||
}
|
||||
|
||||
private EnumZirnoxType(int life, int heat) {
|
||||
this.maxLife = life;
|
||||
this.heat = heat;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,30 @@
|
||||
package com.hbm.items.machine;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.util.BobMathUtil;
|
||||
import com.hbm.util.I18nUtil;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
|
||||
public class ItemZirnoxRodDeprecated extends ItemFuelRod {
|
||||
|
||||
public int heat;
|
||||
|
||||
public ItemZirnoxRodDeprecated(int life, int heat) {
|
||||
super(life);
|
||||
this.heat = heat;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
|
||||
|
||||
String[] descLocs = I18nUtil.resolveKeyArray("desc.item.zirnoxRod", heat, BobMathUtil.getShortNumber(lifeTime));
|
||||
|
||||
for(String loc : descLocs) {
|
||||
list.add(loc);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -21,7 +21,7 @@ import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemZirnoxBreedingRod;
|
||||
import com.hbm.items.machine.ItemZirnoxRod;
|
||||
import com.hbm.items.machine.ItemZirnoxRodDeprecated;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
@ -95,12 +95,12 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int i, ItemStack stack) {
|
||||
return i < 24 && stack.getItem() instanceof ItemZirnoxRod;
|
||||
return i < 24 && stack.getItem() instanceof ItemZirnoxRodDeprecated;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canExtractItem(int i, ItemStack stack, int j) {
|
||||
return i < 24 && !(stack.getItem() instanceof ItemZirnoxRod);
|
||||
return i < 24 && !(stack.getItem() instanceof ItemZirnoxRodDeprecated);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -201,7 +201,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF
|
||||
for(int i = 0; i < 24; i++) {
|
||||
|
||||
if(slots[i] != null) {
|
||||
if(slots[i].getItem() instanceof ItemZirnoxRod)
|
||||
if(slots[i].getItem() instanceof ItemZirnoxRodDeprecated)
|
||||
decay(i);
|
||||
else if(slots[i].getItem() == ModItems.meteorite_sword_bred)
|
||||
slots[i] = new ItemStack(ModItems.meteorite_sword_irradiated);
|
||||
@ -263,7 +263,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF
|
||||
private boolean hasFuelRod(int id) {
|
||||
if(slots[id] != null) {
|
||||
if(!(slots[id].getItem() instanceof ItemZirnoxBreedingRod)) {
|
||||
return slots[id].getItem() instanceof ItemZirnoxRod;
|
||||
return slots[id].getItem() instanceof ItemZirnoxRodDeprecated;
|
||||
}
|
||||
}
|
||||
|
||||
@ -296,11 +296,11 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF
|
||||
}
|
||||
|
||||
for(int i = 0; i < decay; i++) {
|
||||
ItemZirnoxRod rod = ((ItemZirnoxRod) slots[id].getItem());
|
||||
ItemZirnoxRodDeprecated rod = ((ItemZirnoxRodDeprecated) slots[id].getItem());
|
||||
this.heat += rod.heat;
|
||||
ItemZirnoxRod.setLifeTime(slots[id], ItemZirnoxRod.getLifeTime(slots[id]) + 1);
|
||||
ItemZirnoxRodDeprecated.setLifeTime(slots[id], ItemZirnoxRodDeprecated.getLifeTime(slots[id]) + 1);
|
||||
|
||||
if(ItemZirnoxRod.getLifeTime(slots[id]) > rod.lifeTime) {
|
||||
if(ItemZirnoxRodDeprecated.getLifeTime(slots[id]) > rod.lifeTime) {
|
||||
slots[id] = fuelMap.get(new ComparableStack(getStackInSlot(id))).copy();
|
||||
break;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user