aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/goodgenerator/items
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/goodgenerator/items')
-rw-r--r--src/main/java/goodgenerator/items/FuelRod.java183
-rw-r--r--src/main/java/goodgenerator/items/MyItemBlocks.java89
-rw-r--r--src/main/java/goodgenerator/items/MyItems.java112
-rw-r--r--src/main/java/goodgenerator/items/MyMaterial.java1015
-rw-r--r--src/main/java/goodgenerator/items/RadioactiveItem.java40
-rw-r--r--src/main/java/goodgenerator/items/nuclear/IsotopeMaterial.java55
-rw-r--r--src/main/java/goodgenerator/items/nuclear/IsotopeMaterialLoader.java16
-rw-r--r--src/main/java/goodgenerator/items/nuclear/NuclearMetaItemGenerator.java103
-rw-r--r--src/main/java/goodgenerator/items/nuclear/NuclearTextures.java31
9 files changed, 1644 insertions, 0 deletions
diff --git a/src/main/java/goodgenerator/items/FuelRod.java b/src/main/java/goodgenerator/items/FuelRod.java
new file mode 100644
index 0000000000..9a0becf8b1
--- /dev/null
+++ b/src/main/java/goodgenerator/items/FuelRod.java
@@ -0,0 +1,183 @@
+package goodgenerator.items;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import ic2.api.item.IBoxable;
+import ic2.api.reactor.IReactor;
+import ic2.api.reactor.IReactorComponent;
+import ic2.core.util.StackUtil;
+import ic2.core.util.Util;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static goodgenerator.util.DescTextLocalization.addText;
+
+public class FuelRod extends RadioactiveItem implements IReactorComponent, IBoxable {
+ private final int numberOfCells;
+ private final int maxDmg;
+ private final float Power;
+ private final int Heat;
+ private float HeatBonus = 0;
+ private final ItemStack result;
+
+ public FuelRod(String aName, int aCells, int aEUt, int aHeat, int aRads, int aDuration, ItemStack aResult, CreativeTabs Tab) {
+ super(aName, Tab, aRads);
+ this.setMaxStackSize(64);
+ this.numberOfCells = aCells;
+ this.maxDmg = aDuration;
+ this.Power = (float)aEUt / 25.0F;
+ this.result = aResult;
+ this.Heat = aHeat;
+ }
+
+ public FuelRod(String aName, int aCells, int aEUt, int aHeat, int aRads, int aDuration, float aHeatBonus, ItemStack aResult, CreativeTabs Tab) {
+ super(aName, Tab, aRads);
+ this.setMaxStackSize(64);
+ this.numberOfCells = aCells;
+ this.maxDmg = aDuration;
+ this.Power = (float)aEUt / 25.0F;
+ this.result = aResult;
+ this.Heat = aHeat;
+ this.HeatBonus = aHeatBonus;
+ }
+
+ public void processChamber(IReactor reactor, ItemStack stack, int x, int y, boolean heatRun) {
+ if (reactor.produceEnergy()) {
+ for(int iteration = 0; iteration < this.numberOfCells; ++iteration) {
+ int pulses = 1 + this.numberOfCells / 2;
+ int heat;
+ if (!heatRun) {
+ for(heat = 0; heat < pulses; ++heat) {
+ this.acceptUraniumPulse(reactor, stack, stack, x, y, x, y, heatRun);
+ }
+ checkPulseable(reactor, x - 1, y, stack, x, y, heatRun);
+ checkPulseable(reactor, x + 1, y, stack, x, y, heatRun);
+ checkPulseable(reactor, x, y - 1, stack, x, y, heatRun);
+ checkPulseable(reactor, x, y + 1, stack, x, y, heatRun);
+ } else {
+ pulses += checkPulseable(reactor, x - 1, y, stack, x, y, heatRun) + checkPulseable(reactor, x + 1, y, stack, x, y, heatRun) + checkPulseable(reactor, x, y - 1, stack, x, y, heatRun) + checkPulseable(reactor, x, y + 1, stack, x, y, heatRun);
+ heat = sumUp(pulses) * this.Heat;
+ ArrayList<FuelRod.ItemStackCoord> heatAcceptors = new ArrayList<>();
+ this.checkHeatAcceptor(reactor, x - 1, y, heatAcceptors);
+ this.checkHeatAcceptor(reactor, x + 1, y, heatAcceptors);
+ this.checkHeatAcceptor(reactor, x, y - 1, heatAcceptors);
+ this.checkHeatAcceptor(reactor, x, y + 1, heatAcceptors);
+
+ while(heatAcceptors.size() > 0 && heat > 0) {
+ int dheat = heat / heatAcceptors.size();
+ heat -= dheat;
+ dheat = ((IReactorComponent) heatAcceptors.get(0).stack.getItem()).alterHeat(reactor, heatAcceptors.get(0).stack, heatAcceptors.get(0).x, heatAcceptors.get(0).y, dheat);
+ heat += dheat;
+ heatAcceptors.remove(0);
+ }
+
+ if (heat > 0) {
+ reactor.addHeat(heat);
+ }
+ }
+ }
+ if (this.getCustomDamage(stack) >= this.getMaxCustomDamage(stack) - 1) {
+ reactor.setItemAt(x, y, result);
+ } else if (heatRun) {
+ this.applyCustomDamage(stack, 1, null);
+ }
+ }
+ }
+
+ private static int checkPulseable(IReactor reactor, int x, int y, ItemStack me, int mex, int mey, boolean heatrun) {
+ ItemStack other = reactor.getItemAt(x, y);
+ return other != null && other.getItem() instanceof IReactorComponent && ((IReactorComponent)other.getItem()).acceptUraniumPulse(reactor, other, me, x, y, mex, mey, heatrun) ? 1 : 0;
+ }
+
+ private static int sumUp(int x) {
+ return (x * x + x) / 2;
+ }
+
+ private void checkHeatAcceptor(IReactor reactor, int x, int y, ArrayList<FuelRod.ItemStackCoord> heatAcceptors) {
+ ItemStack thing = reactor.getItemAt(x, y);
+ if (thing != null && thing.getItem() instanceof IReactorComponent && ((IReactorComponent)thing.getItem()).canStoreHeat(reactor, thing, x, y)) {
+ heatAcceptors.add(new ItemStackCoord(thing, x, y));
+ }
+
+ }
+
+ public boolean acceptUraniumPulse(IReactor reactor, ItemStack yourStack, ItemStack pulsingStack, int youX, int youY, int pulseX, int pulseY, boolean heatrun) {
+ if (!heatrun) {
+ reactor.addOutput(Power * (1 + HeatBonus * ((float) reactor.getHeat() /(float) reactor.getMaxHeat())));
+ }
+ return true;
+ }
+
+ public boolean canStoreHeat(IReactor reactor, ItemStack yourStack, int x, int y) {
+ return false;
+ }
+
+ public int getMaxHeat(IReactor reactor, ItemStack yourStack, int x, int y) {
+ return 0;
+ }
+
+ public int getCurrentHeat(IReactor reactor, ItemStack yourStack, int x, int y) {
+ return 0;
+ }
+
+ public int alterHeat(IReactor reactor, ItemStack yourStack, int x, int y, int heat) {
+ return heat;
+ }
+
+ public float influenceExplosion(IReactor reactor, ItemStack yourStack) {
+ return (float)(2 * this.numberOfCells);
+ }
+
+ @Override
+ public boolean canBeStoredInToolbox(ItemStack itemStack) {
+ return true;
+ }
+
+ private static class ItemStackCoord {
+ public ItemStack stack;
+ public int x;
+ public int y;
+
+ public ItemStackCoord(ItemStack stack1, int x1, int y1) {
+ this.stack = stack1;
+ this.x = x1;
+ this.y = y1;
+ }
+ }
+
+ public int getCustomDamage(ItemStack stack) {
+ NBTTagCompound nbt = StackUtil.getOrCreateNbtData(stack);
+ return nbt.getInteger("advDmg");
+ }
+
+ public int getMaxCustomDamage(ItemStack stack) {
+ return this.maxDmg;
+ }
+
+ public void setCustomDamage(ItemStack stack, int damage) {
+ NBTTagCompound nbt = StackUtil.getOrCreateNbtData(stack);
+ nbt.setInteger("advDmg", damage);
+ int maxStackDamage = stack.getMaxDamage();
+ if (maxStackDamage > 2) {
+ stack.setItemDamage(1 + (int) Util.map(damage, this.maxDmg, maxStackDamage - 2));
+ }
+ }
+
+ public boolean applyCustomDamage(ItemStack stack, int damage, EntityLivingBase src) {
+ this.setCustomDamage(stack, this.getCustomDamage(stack) + damage);
+ return true;
+ }
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ public void addInformation(ItemStack item, EntityPlayer player, List tooltip, boolean p_77624_4_) {
+ super.addInformation(item, player, tooltip, p_77624_4_);
+ tooltip.add(String.format(addText("fuelrod.tooltip", 1)[0], getMaxCustomDamage(item) - getCustomDamage(item), getMaxCustomDamage(item)));
+ }
+}
diff --git a/src/main/java/goodgenerator/items/MyItemBlocks.java b/src/main/java/goodgenerator/items/MyItemBlocks.java
new file mode 100644
index 0000000000..2136c6a9c4
--- /dev/null
+++ b/src/main/java/goodgenerator/items/MyItemBlocks.java
@@ -0,0 +1,89 @@
+package goodgenerator.items;
+
+import goodgenerator.blocks.regularBlock.TEBlock;
+import goodgenerator.util.CharExchanger;
+import goodgenerator.util.DescTextLocalization;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.util.GT_LanguageManager;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import goodgenerator.main.GoodGenerator;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.StatCollector;
+
+import java.util.Arrays;
+import java.util.List;
+
+import static goodgenerator.loader.Loaders.essentiaCell;
+import static goodgenerator.loader.Loaders.yottaFluidTankCell;
+import static goodgenerator.util.CharExchanger.tierName;
+
+public class MyItemBlocks extends ItemBlock {
+ private final String mNoMobsToolTip = GT_LanguageManager.addStringLocalization("gt.nomobspawnsonthisblock", "Mobs cannot Spawn on this Block");
+ private final String mNoTileEntityToolTip = GT_LanguageManager.addStringLocalization("gt.notileentityinthisblock", "This is NOT a TileEntity!");
+
+
+ public MyItemBlocks(Block block){
+ super(block);
+ this.setMaxDamage(0);
+ this.setHasSubtypes(true);
+ this.setCreativeTab(GoodGenerator.GG);
+ }
+
+ @Override
+ public int getMetadata(int aMeta) {
+ return aMeta;
+ }
+
+ @Override
+ public String getUnlocalizedName(ItemStack aStack) {
+ return this.field_150939_a.getUnlocalizedName() + "." + this.getDamage(aStack);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(ItemStack stack, int pass) {
+ return this.field_150939_a.getIcon(0, stack.getItemDamage());
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) {
+ return this.getIcon(stack, renderPass);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIconFromDamageForRenderPass(int p_77618_1_, int p_77618_2_) {
+ return this.field_150939_a.getIcon(0, p_77618_2_);
+ }
+
+ @Override
+ @SuppressWarnings({"unchecked"})
+ @SideOnly(Side.CLIENT)
+ public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List p_77624_3_, boolean p_77624_4_) {
+ if (p_77624_1_ == null) return;
+ p_77624_3_.add(mNoMobsToolTip);
+ if (Block.getBlockFromItem(p_77624_1_.getItem()) instanceof TEBlock) {
+ TEBlock tile = (TEBlock) Block.getBlockFromItem(p_77624_1_.getItem());
+ if (tile.getIndex() == 1)
+ p_77624_3_.addAll(Arrays.asList(DescTextLocalization.addText("EssentiaHatch.tooltip", 2)));
+ }
+ else p_77624_3_.add(mNoTileEntityToolTip);
+
+ if (Block.getBlockFromItem(p_77624_1_.getItem()).equals(yottaFluidTankCell)) {
+ StringBuilder cap = new StringBuilder();
+ cap.append(" 1000000");
+ for (int i = 0; i < p_77624_1_.getItemDamage(); i++) cap.append("00");
+ cap.append(" L");
+ p_77624_3_.add(StatCollector.translateToLocal("YOTTankCell.tooltip.0") + CharExchanger.formatNumber(cap.toString()));
+ }
+
+ if (Block.getBlockFromItem(p_77624_1_.getItem()).equals(essentiaCell)) {
+ p_77624_3_.add(StatCollector.translateToLocal("hatchTier.tooltip.0") + " " + tierName[p_77624_1_.getItemDamage() + 3]);
+ }
+ }
+}
diff --git a/src/main/java/goodgenerator/items/MyItems.java b/src/main/java/goodgenerator/items/MyItems.java
new file mode 100644
index 0000000000..58203953db
--- /dev/null
+++ b/src/main/java/goodgenerator/items/MyItems.java
@@ -0,0 +1,112 @@
+package goodgenerator.items;
+
+import goodgenerator.main.GoodGenerator;
+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.IIcon;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class MyItems extends Item {
+
+ @SideOnly(Side.CLIENT)
+ protected IIcon[] texture;
+ private String tex;
+ private String[] textureNames;
+ private String Name;
+ private List<String> tooltips = new ArrayList<>();
+
+ public MyItems(String name, CreativeTabs Tab){
+ this.setUnlocalizedName(name);
+ this.setCreativeTab(Tab);
+ this.tex = name;
+ this.Name = name;
+ }
+
+ public MyItems(String name, CreativeTabs Tab, String[] textures){
+ this.setUnlocalizedName(name);
+ this.setCreativeTab(Tab);
+ this.setHasSubtypes(true);
+ this.textureNames = textures;
+ this.Name = name;
+ }
+
+ public MyItems(String name, String tooltip, CreativeTabs Tab) {
+ this.setUnlocalizedName(name);
+ this.setCreativeTab(Tab);
+ this.tex = name;
+ this.tooltips.add(tooltip);
+ this.Name = name;
+ }
+
+ public MyItems(String name, String[] tooltip, CreativeTabs Tab) {
+ this.setUnlocalizedName(name);
+ this.setCreativeTab(Tab);
+ this.tex = name;
+ this.tooltips = Arrays.asList(tooltip);
+ this.Name = name;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIconFromDamage(int meta) {
+ if (this.texture == null || this.texture.length < 1) return this.itemIcon;
+ else return meta < this.texture.length ? this.texture[meta] : this.texture[0];
+ }
+
+ @Override
+ public int getMetadata(int aMeta) {
+ return aMeta;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister iconRegister) {
+ if (this.textureNames == null || this.textureNames.length < 1) {
+ this.itemIcon = iconRegister.registerIcon(GoodGenerator.MOD_ID + ":" + this.tex);
+ }
+ else {
+ this.texture = new IIcon[this.textureNames.length];
+ for (int i = 0; i < this.textureNames.length; ++i) {
+ this.texture[i] = iconRegister.registerIcon(this.textureNames[i]);
+ }
+ }
+ }
+
+ @Override
+ public String getUnlocalizedName(ItemStack p_77667_1_) {
+ if (this.textureNames == null || this.textureNames.length < 1){
+ return "item." + this.Name;
+ }
+ else {
+ return "item." + this.Name + "." + p_77667_1_.getItemDamage();
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ @SuppressWarnings("unchecked")
+ public void getSubItems(Item item, CreativeTabs tab, List list) {
+ if (this.texture == null || this.texture.length < 1) list.add(new ItemStack(item, 1, 0));
+ else {
+ for (int i = 0; i < this.texture.length; ++i) {
+ list.add(new ItemStack(item, 1, i));
+ }
+ }
+ }
+
+ @SideOnly(Side.CLIENT)
+ @SuppressWarnings({"unchecked"})
+ public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List p_77624_3_, boolean p_77624_4_) {
+ if (tooltips.size() > 0) {
+ p_77624_3_.addAll(tooltips);
+ }
+ }
+}
diff --git a/src/main/java/goodgenerator/items/MyMaterial.java b/src/main/java/goodgenerator/items/MyMaterial.java
new file mode 100644
index 0000000000..5e2a5e2a0d
--- /dev/null
+++ b/src/main/java/goodgenerator/items/MyMaterial.java
@@ -0,0 +1,1015 @@
+package goodgenerator.items;
+
+import goodgenerator.util.CharExchanger;
+import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
+import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader;
+import gregtech.api.enums.TextureSet;
+import com.github.bartimaeusnek.bartworks.util.Pair;
+
+import static com.github.bartimaeusnek.bartworks.util.BW_Util.subscriptNumbers;
+import static gregtech.api.enums.Materials.*;
+
+@SuppressWarnings({"unchecked"})
+public class MyMaterial implements Runnable {
+
+ protected static final int OffsetID = 10001;
+
+ //Uranium Based Fuel Line
+ public static final Werkstoff graphiteUraniumMixture = new Werkstoff(
+ new short[]{0x3a,0x77,0x3d},
+ "Graphite-Uranium Mixture",
+ subscriptNumbers("C3U"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addMixerRecipes().onlyDust(),
+ OffsetID,
+ TextureSet.SET_DULL,
+ new Pair<> (Graphite,3),
+ new Pair<> (Uranium,1)
+ );
+
+ public static final Werkstoff uraniumBasedLiquidFuel = new Werkstoff(
+ new short[]{0x00,0xff,0x00},
+ "Uranium Based Liquid Fuel",
+ subscriptNumbers("U36Rb8Qt4Rn"),
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 1,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff uraniumBasedLiquidFuelExcited = new Werkstoff(
+ new short[]{0x00,0xff,0x00},
+ "Uranium Based Liquid Fuel (Excited State)",
+ subscriptNumbers("*(U36Rb8Qt4Rn)*"),
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 2,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff uraniumBasedLiquidFuelDepleted = new Werkstoff(
+ new short[]{0x6e,0x8b,0x3d},
+ "Uranium Based Liquid Fuel (Depleted)",
+ subscriptNumbers("Pb?Bi?Ba?Xe?"),
+ new Werkstoff.Stats().setToxic(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 3,
+ TextureSet.SET_FLUID
+ );
+
+ //Thorium Based Fuel
+ public static final Werkstoff uraniumCarbideThoriumMixture = new Werkstoff(
+ new short[]{0x16,0x32,0x07},
+ "Uranium Carbide-Thorium Mixture",
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addMixerRecipes().onlyDust(),
+ OffsetID + 4,
+ TextureSet.SET_DULL,
+ new Pair<> (Thorium,8),
+ new Pair<> (WerkstoffLoader.Thorium232,4),
+ new Pair<> (Uranium235,1),
+ new Pair<> (Carbon,3)
+ );
+
+ public static final Werkstoff thoriumBasedLiquidFuel = new Werkstoff(
+ new short[]{0x50,0x32,0x66},
+ "Thorium Based Liquid Fuel",
+ subscriptNumbers("Th432Li4D2Hg"),
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 5,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff thoriumBasedLiquidFuelExcited = new Werkstoff(
+ new short[]{0x50,0x32,0x66},
+ "Thorium Based Liquid Fuel (Excited State)",
+ subscriptNumbers("*(Th432Li4D2Hg)*"),
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 6,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff thoriumBasedLiquidFuelDepleted = new Werkstoff(
+ new short[]{0x7d,0x6c,0x8a},
+ "Thorium Based Liquid Fuel (Depleted)",
+ subscriptNumbers("Lu?Pr?B?In?"),
+ new Werkstoff.Stats().setToxic(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 7,
+ TextureSet.SET_FLUID
+ );
+
+ //Plutonium Based Fuel
+ public static final Werkstoff plutoniumOxideUraniumMixture = new Werkstoff(
+ new short[]{0xd1,0x1f,0x4a},
+ "Plutonium Oxide-Uranium Mixture",
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addMixerRecipes().onlyDust(),
+ OffsetID + 8,
+ TextureSet.SET_SHINY,
+ new Pair<> (Plutonium,10),
+ new Pair<> (Oxygen,12),
+ new Pair<> (Uranium,2),
+ new Pair<> (Carbon,8)
+ );
+
+ public static final Werkstoff plutoniumBasedLiquidFuel = new Werkstoff(
+ new short[]{0xef,0x15,0x15},
+ "Plutonium Based Liquid Fuel",
+ subscriptNumbers("Pu45Nt8Cs16Am2"),
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 9,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff plutoniumBasedLiquidFuelExcited = new Werkstoff(
+ new short[]{0xef,0x15,0x15},
+ "Plutonium Based Liquid Fuel (Excited State)",
+ subscriptNumbers("*(Pu45Nt8Cs16Am2)*"),
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 10,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff plutoniumBasedLiquidFuelDepleted = new Werkstoff(
+ new short[]{0x67,0x19,0x19},
+ "Plutonium Based Liquid Fuel (Depleted)",
+ subscriptNumbers("Tn?Ce?Au?Kr?"),
+ new Werkstoff.Stats().setToxic(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 11,
+ TextureSet.SET_FLUID
+ );
+
+ //Thorium-233
+ public static final Werkstoff oxalate = new Werkstoff(
+ new short[]{0x79,0xd8,0x55},
+ "Oxalate",
+ Werkstoff.Types.BIOLOGICAL,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 12,
+ TextureSet.SET_FLUID,
+ new Pair<> (Hydrogen,2),
+ new Pair<> (Carbon,2),
+ new Pair<> (Oxygen,4)
+ );
+
+ public static final Werkstoff vanadiumPentoxide = new Werkstoff(
+ new short[]{0xde,0x8d,0x12},
+ "Vanadium Pentoxide",
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ OffsetID + 13,
+ TextureSet.SET_SHINY,
+ new Pair<> (Vanadium,2),
+ new Pair<> (Oxygen,5)
+ );
+
+ public static final Werkstoff thoriumNitrate = new Werkstoff(
+ new short[]{0xba,0xe8,0x26},
+ "Thorium Nitrate",
+ subscriptNumbers("Th(NO3)4"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 14,
+ TextureSet.SET_DULL
+ );
+
+ public static final Werkstoff thoriumOxalate = new Werkstoff(
+ new short[]{0x50,0x63,0x13},
+ "Thorium Oxalate",
+ subscriptNumbers("Th(C2O4)2"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ OffsetID + 15,
+ TextureSet.SET_DULL
+ );
+
+ public static final Werkstoff thoriumHydroxide = new Werkstoff(
+ new short[]{0x92,0xae,0x89},
+ "Thorium Hydroxide",
+ subscriptNumbers("Th(OH)4"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ OffsetID + 16,
+ TextureSet.SET_SHINY
+ );
+
+ public static final Werkstoff sodiumOxalate = new Werkstoff(
+ new short[]{0xe4,0xf8,0x9b},
+ "Sodium Oxalate",
+ subscriptNumbers("Na2C2O4"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ OffsetID + 17,
+ TextureSet.SET_DULL
+ );
+
+ public static final Werkstoff thoriumTetrachloride = new Werkstoff(
+ new short[]{0x13,0x7c,0x16},
+ "Thorium Tetrachloride",
+ subscriptNumbers("ThCl4"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 18,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff thoriumTetrafluoride = new Werkstoff(
+ new short[]{0x15,0x6a,0x6a},
+ "Thorium Tetrafluoride",
+ subscriptNumbers("ThF4"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 19,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff thorium232Tetrafluoride = new Werkstoff(
+ new short[]{0x15,0x6a,0x6a},
+ "Thorium-232 Tetrafluoride",
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 20,
+ TextureSet.SET_FLUID,
+ new Pair<> (WerkstoffLoader.Thorium232,1),
+ new Pair<> (Fluorine,4)
+ );
+
+ //Atomic Separation Catalyst
+ public static final Werkstoff orundum = new Werkstoff(
+ new short[]{0xcd,0x26,0x26},
+ "Orundum",
+ "Or",
+ new Werkstoff.Stats().setProtons(120).setMass(300),
+ Werkstoff.Types.ELEMENT,
+ new Werkstoff.GenerationFeatures().addGems(),
+ OffsetID + 22,
+ TextureSet.SET_DIAMOND
+ );
+
+ public static final Werkstoff atomicSeparationCatalyst = new Werkstoff(
+ new short[]{0xe8,0x5e,0x0c},
+ "Atomic Separation Catalyst",
+ "the melting core...",
+ new Werkstoff.Stats().setMeltingPoint(5000).setBlastFurnace(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().onlyDust().addMolten().addMetalItems().addSimpleMetalWorkingItems().addCraftingMetalWorkingItems().addMultipleIngotMetalWorkingItems(),
+ OffsetID + 21,
+ TextureSet.SET_SHINY,
+ new Pair<>(MyMaterial.orundum, 2),
+ new Pair<>(Plutonium, 1),
+ new Pair<>(Naquadah, 2)
+ );
+
+ //Naquadah Fuel Rework
+ public static final Werkstoff extremelyUnstableNaquadah = new Werkstoff(
+ new short[]{0x06,0x26,0x05},
+ "Extremely Unstable Naquadah",
+ "Nq"+ CharExchanger.shifter(9734),
+ new Werkstoff.Stats().setMeltingPoint(7000).setBlastFurnace(true).setProtons(200).setMass(450).setRadioactive(true),
+ Werkstoff.Types.ELEMENT,
+ new Werkstoff.GenerationFeatures().disable().onlyDust().addMolten().addMetalItems().addSimpleMetalWorkingItems().addCraftingMetalWorkingItems().addMultipleIngotMetalWorkingItems(),
+ OffsetID + 23,
+ TextureSet.SET_SHINY
+ );
+
+ public static final Werkstoff lightNaquadahFuel = new Werkstoff(
+ new short[]{92,203,92},
+ "Light Naquadah Fuel",
+ "far from enough",
+ new Werkstoff.Stats().setToxic(true).setRadioactive(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 24,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff heavyNaquadahFuel = new Werkstoff(
+ new short[]{54,255,54},
+ "Heavy Naquadah Fuel",
+ "still need processing",
+ new Werkstoff.Stats().setToxic(true).setRadioactive(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 25,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff naquadahGas = new Werkstoff(
+ new short[]{93,219,0},
+ "Naquadah Gas",
+ "Who need it?",
+ new Werkstoff.Stats().setToxic(true).setRadioactive(true).setGas(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 26,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff naquadahAsphalt = new Werkstoff(
+ new short[]{5,37,5},
+ "Naquadah Asphalt",
+ "It will damage the reactor.",
+ new Werkstoff.Stats().setToxic(true).setRadioactive(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 27,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff ether = new Werkstoff(
+ new short[]{0xeb,0xbc,0x2f},
+ "Ether",
+ subscriptNumbers("CH3CH2OCH2CH3"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 28,
+ TextureSet.SET_FLUID,
+ new Pair<> (Carbon,4),
+ new Pair<> (Hydrogen, 10),
+ new Pair<> (Oxygen, 1)
+ );
+
+ public static final Werkstoff antimonyTrichloride = new Werkstoff(
+ new short[]{0x0f,0xdc,0x34},
+ "Antimony Trichloride Solution",
+ subscriptNumbers("SbCl3"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 29,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff antimonyPentachlorideSolution = new Werkstoff(
+ new short[]{0x15,0x93,0x2c},
+ "Antimony Pentachloride Solution",
+ subscriptNumbers("SbCl5"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 30,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff antimonyPentachloride = new Werkstoff(
+ new short[]{0x15,0x93,0x2c},
+ "Antimony Pentachloride",
+ subscriptNumbers("SbCl5"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 31,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff antimonyPentafluoride = new Werkstoff(
+ new short[]{0x16,0xd5,0xe2},
+ "Antimony Pentafluoride",
+ subscriptNumbers("SbF5"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 32,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff fluoroantimonicAcid = new Werkstoff(
+ new short[]{0x16,0xd5,0xe2},
+ "Fluoroantimonic Acid",
+ subscriptNumbers("HSbF6"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 33,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff radioactiveSludge = new Werkstoff(
+ new short[]{0xb3,0x49,0x1e},
+ "Radioactive Sludge",
+ ">>> DANGER <<<",
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ OffsetID + 34,
+ TextureSet.SET_DULL
+ );
+
+ public static final Werkstoff acidNaquadahEmulsion = new Werkstoff(
+ new short[]{0x25,0x22,0x22},
+ "Acid Naquadah Emulsion",
+ "??Nq??H"+CharExchanger.shifter(8314),
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 35,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff naquadahEmulsion = new Werkstoff(
+ new short[]{0x4a,0x46,0x45},
+ "Naquadah Emulsion",
+ "??Nq??",
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 36,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff naquadahSolution = new Werkstoff(
+ new short[]{0x84,0x81,0x80},
+ "Naquadah Solution",
+ "~Nq~",
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 37,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff naquadahBasedFuelMkI = new Werkstoff(
+ new short[]{0x62,0x5c,0x5b},
+ "Naquadah Based Liquid Fuel MkI",
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 38,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff naquadahBasedFuelMkIDepleted = new Werkstoff(
+ new short[]{0xcb,0xc3,0xc1},
+ "Naquadah Based Liquid Fuel MkI (Depleted)",
+ new Werkstoff.Stats().setToxic(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 39,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff naquadahBasedFuelMkII = new Werkstoff(
+ new short[]{0x52,0x4e,0x4d},
+ "Naquadah Based Liquid Fuel MkII",
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 40,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff naquadahBasedFuelMkIIDepleted = new Werkstoff(
+ new short[]{0xb5,0xb0,0xae},
+ "Naquadah Based Liquid Fuel MkII (Depleted)",
+ new Werkstoff.Stats().setToxic(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 41,
+ TextureSet.SET_FLUID
+ );
+ /*These materials will be enable when they are removed in GregTech*/
+ /*
+ public static final Werkstoff praseodymium = new Werkstoff(
+ new short[]{0xff,0xff,0xff},
+ "praseodymium",
+ "Pr",
+ new Werkstoff.Stats(),
+ Werkstoff.Types.ELEMENT,
+ new Werkstoff.GenerationFeatures().disable().onlyDust().addMolten().addMetalItems(),
+ OffsetID + 42,
+ TextureSet.SET_METALLIC
+ );
+
+ public static final Werkstoff rubidium = new Werkstoff(
+ new short[]{0xff,0x2a,0x00},
+ "rubidium",
+ "Rb",
+ new Werkstoff.Stats(),
+ Werkstoff.Types.ELEMENT,
+ new Werkstoff.GenerationFeatures().disable().onlyDust().addMolten().addMetalItems(),
+ OffsetID + 43,
+ TextureSet.SET_SHINY
+ );
+
+ public static final Werkstoff thulium = new Werkstoff(
+ new short[]{0xff,0xff,0xff},
+ "Thulium",
+ "Tm",
+ new Werkstoff.Stats(),
+ Werkstoff.Types.ELEMENT,
+ new Werkstoff.GenerationFeatures().disable().onlyDust().addMolten().addMetalItems(),
+ OffsetID + 44,
+ TextureSet.SET_METALLIC
+ );
+ */
+ public static final Werkstoff naquadahBasedFuelMkIII = new Werkstoff(
+ new short[]{0x29,0x22,0x21},
+ "Naquadah Based Liquid Fuel MkIII",
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 45,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff naquadahBasedFuelMkIIIDepleted = new Werkstoff(
+ new short[]{0x66,0x40,0x38},
+ "Naquadah Based Liquid Fuel MkIII (Depleted)",
+ new Werkstoff.Stats().setToxic(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 46,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff naquadahBasedFuelMkIV = new Werkstoff(
+ new short[]{0x0e,0x0c,0x0c},
+ "Naquadah Based Liquid Fuel MkIV",
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 47,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff naquadahBasedFuelMkIVDepleted = new Werkstoff(
+ new short[]{0x8e,0x34,0x22},
+ "Naquadah Based Liquid Fuel MkIV (Depleted)",
+ new Werkstoff.Stats().setToxic(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 48,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff naquadahBasedFuelMkV = new Werkstoff(
+ new short[]{0x00,0x00,0x00},
+ "Naquadah Based Liquid Fuel MkV",
+ "THE END",
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 49,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff naquadahBasedFuelMkVDepleted = new Werkstoff(
+ new short[]{0xff,0xff,0xff},
+ "Naquadah Based Liquid Fuel MkV (Depleted)",
+ "THE END (literally)",
+ new Werkstoff.Stats().setToxic(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 50,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff zincChloride = new Werkstoff(
+ new short[]{0x73,0xa5,0xfc},
+ "Zinc Chloride",
+ subscriptNumbers("ZnCl2"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ OffsetID + 51,
+ TextureSet.SET_SHINY
+ );
+
+ public static final Werkstoff zincThoriumAlloy = new Werkstoff(
+ new short[]{0x12,0x34,0x56},
+ "Zn-Th Alloy",
+ subscriptNumbers("ZnTh"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().onlyDust().addMolten().addMetalItems(),
+ OffsetID + 52,
+ TextureSet.SET_SHINY,
+ new Pair<>(Zinc, 1),
+ new Pair<>(Thorium, 1)
+ );
+
+ //Naquadah Rework Materials
+ public static final Werkstoff naquadahEarth = new Werkstoff(
+ new short[]{0x4c,0x4c,0x4c},
+ "Naquadah Oxide Mixture",
+ subscriptNumbers("??NqTiGaAd??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures(),
+ OffsetID + 53,
+ TextureSet.SET_METALLIC
+ );
+
+ public static final Werkstoff titaniumTrifluoride = new Werkstoff(
+ new short[]{0xc0,0x92,0xa8},
+ "Titanium Trifluoride",
+ subscriptNumbers("TiF3"),
+ new Werkstoff.Stats().setElektrolysis(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ OffsetID + 54,
+ TextureSet.SET_METALLIC,
+ new Pair<> (Titanium, 1),
+ new Pair<> (Fluorine, 3)
+ );
+
+ public static final Werkstoff lowQualityNaquadahEmulsion = new Werkstoff(
+ new short[]{0x4c,0x4c,0x4c},
+ "Low Quality Naquadah Emulsion",
+ subscriptNumbers("??NqGaAd??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 55,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff galliumHydroxide = new Werkstoff(
+ new short[]{0xa6,0xa6,0xa6},
+ "Gallium Hydroxide",
+ subscriptNumbers("Ga(OH)3"),
+ new Werkstoff.Stats().setElektrolysis(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ OffsetID + 56,
+ TextureSet.SET_DULL,
+ new Pair<> (Gallium, 1),
+ new Pair<> (Oxygen, 3),
+ new Pair<> (Hydrogen, 3)
+ );
+
+ public static final Werkstoff lowQualityNaquadahSolution = new Werkstoff(
+ new short[]{0x71,0x62,0x62},
+ "Low Quality Naquadah Solution",
+ subscriptNumbers("~??NqAd??~"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 57,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff towEthyl1Hexanol = new Werkstoff(
+ new short[]{0x80,0xb5,0x57},
+ "2-Ethyl-1-Hexanol",
+ subscriptNumbers("C8H18O"),
+ new Werkstoff.Stats().setElektrolysis(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 58,
+ TextureSet.SET_FLUID,
+ new Pair<> (Carbon, 8),
+ new Pair<> (Oxygen, 1),
+ new Pair<> (Hydrogen, 18)
+ );
+
+ public static final Werkstoff P507 = new Werkstoff(
+ new short[]{0x29,0xc2,0x2a},
+ "P-507",
+ subscriptNumbers("(C8H17)2PO3H"),
+ new Werkstoff.Stats().setElektrolysis(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 59,
+ TextureSet.SET_FLUID,
+ new Pair<> (Carbon, 16),
+ new Pair<> (Phosphorus, 1),
+ new Pair<> (Oxygen, 3),
+ new Pair<> (Hydrogen, 35)
+ );
+
+ public static final Werkstoff naquadahAdamantiumSolution = new Werkstoff(
+ new short[]{0x3d,0x38,0x38},
+ "Naquadah-Adamantium Solution",
+ subscriptNumbers("~NqAd~"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 60,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff naquadahRichSolution = new Werkstoff(
+ new short[]{0x33,0x33,0x33},
+ "Naquadah-Rich Solution",
+ subscriptNumbers("~?Nq?~"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 61,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff naquadahine = new Werkstoff(
+ new short[]{0x33,0x33,0x33},
+ "Naquadahine",
+ subscriptNumbers("NqO2"),
+ new Werkstoff.Stats().setElektrolysis(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ OffsetID + 62,
+ TextureSet.SET_METALLIC,
+ new Pair<> (Naquadah, 1),
+ new Pair<> (Oxygen, 2)
+ );
+
+ public static final Werkstoff fluorineRichWasteLiquid = new Werkstoff(
+ new short[]{0x13,0x68,0x62},
+ "Fluorine-Rich Waste Liquid",
+ new Werkstoff.Stats().setToxic(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 63,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff wasteLiquid = new Werkstoff(
+ new short[]{0x14,0x1c,0x68},
+ "Waste Liquid",
+ new Werkstoff.Stats().setToxic(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 64,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff adamantine = new Werkstoff(
+ new short[]{0xb7,0xb7,0xb7},
+ "Adamantine",
+ subscriptNumbers("Ad2O3"),
+ new Werkstoff.Stats().setElektrolysis(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ OffsetID + 65,
+ TextureSet.SET_DULL,
+ new Pair<> (Adamantium, 2),
+ new Pair<> (Oxygen, 3)
+ );
+
+ public static final Werkstoff enrichedNaquadahEarth = new Werkstoff(
+ new short[]{0x82,0x68,0x68},
+ "Enriched-Naquadah Oxide Mixture",
+ subscriptNumbers("??KeNq") + CharExchanger.shifter(8314) + "??",
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures(),
+ OffsetID + 66,
+ TextureSet.SET_METALLIC
+ );
+
+ public static final Werkstoff triniumSulphate = new Werkstoff(
+ new short[]{0xda,0xda,0xda},
+ "Trinium Sulphate",
+ subscriptNumbers("KeSO4"),
+ new Werkstoff.Stats().setElektrolysis(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ OffsetID + 67,
+ TextureSet.SET_METALLIC,
+ new Pair<> (Trinium, 1),
+ new Pair<> (Sulfur, 1),
+ new Pair<> (Oxygen, 4)
+ );
+
+ public static final Werkstoff enrichedNaquadahRichSolution = new Werkstoff(
+ new short[]{0x52,0x39,0x39},
+ "Enriched-Naquadah-Rich Solution",
+ subscriptNumbers("~?Nq") + CharExchanger.shifter(8314) + "?~",
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 68,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff concentratedEnrichedNaquadahSludge = new Werkstoff(
+ new short[]{0x52,0x39,0x39},
+ "Concentrated Enriched-Naquadah Sludge",
+ subscriptNumbers("?Nq") + CharExchanger.shifter(8314) + "?",
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ OffsetID + 69,
+ TextureSet.SET_METALLIC
+ );
+
+ public static final Werkstoff enrichedNaquadahSulphate = new Werkstoff(
+ new short[]{0x52,0x39,0x39},
+ "Enriched-Naquadah Sulphate",
+ "Nq" + CharExchanger.shifter(8314) + subscriptNumbers("(SO4)2"),
+ new Werkstoff.Stats().setRadioactive(true).setElektrolysis(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ OffsetID + 70,
+ TextureSet.SET_DULL,
+ new Pair<>(NaquadahEnriched, 1),
+ new Pair<>(Sulfur, 2),
+ new Pair<>(Oxygen, 8)
+ );
+
+ public static final Werkstoff naquadriaEarth = new Werkstoff(
+ new short[]{0x4d,0x4d,0x55},
+ "Naquadria Oxide Mixture",
+ subscriptNumbers("??Nq*BaIn??"),
+ new Werkstoff.Stats().setRadioactive(true).setToxic(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures(),
+ OffsetID + 71,
+ TextureSet.SET_METALLIC
+ );
+
+ public static final Werkstoff indiumPhosphate = new Werkstoff(
+ new short[]{0x2b,0x2e,0x70},
+ "Indium Phosphate",
+ subscriptNumbers("InPO4"),
+ new Werkstoff.Stats().setToxic(true).setElektrolysis(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ OffsetID + 72,
+ TextureSet.SET_DULL,
+ new Pair<>(Indium, 1),
+ new Pair<>(Phosphorus, 1),
+ new Pair<>(Oxygen, 4)
+ );
+
+ public static final Werkstoff lowQualityNaquadriaPhosphate = new Werkstoff(
+ new short[]{0x4d,0x4d,0x55},
+ "Low Quality Naquadria Phosphate",
+ subscriptNumbers("??Nq*3(PO4)4??"),
+ new Werkstoff.Stats().setRadioactive(true).setToxic(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ OffsetID + 73,
+ TextureSet.SET_DULL
+ );
+
+ public static final Werkstoff naquadriaRichSolution = new Werkstoff(
+ new short[]{0x1f,0x1e,0x33},
+ "Naquadria-Rich Solution",
+ subscriptNumbers("~?Nq*?~"),
+ new Werkstoff.Stats().setRadioactive(true).setToxic(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 74,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff lowQualityNaquadriaSulphate = new Werkstoff(
+ new short[]{0x73,0x72,0x84},
+ "Low Quality Naquadria Sulphate",
+ subscriptNumbers("??Nq*(SO4)2??"),
+ new Werkstoff.Stats().setRadioactive(true).setToxic(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ OffsetID + 75,
+ TextureSet.SET_METALLIC
+ );
+
+ public static final Werkstoff lowQualityNaquadriaSolution = new Werkstoff(
+ new short[]{0x73,0x72,0x84},
+ "Low Quality Naquadria Sulphate",
+ subscriptNumbers("~??Nq*??~"),
+ new Werkstoff.Stats().setRadioactive(true).setToxic(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 76,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff naquadriaSulphate = new Werkstoff(
+ new short[]{0x1f,0x1e,0x33},
+ "Naquadria Sulphate",
+ subscriptNumbers("Nq*(SO4)2"),
+ new Werkstoff.Stats().setRadioactive(true).setToxic(true).setElektrolysis(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ OffsetID + 77,
+ TextureSet.SET_METALLIC,
+ new Pair<>(Naquadria, 1),
+ new Pair<>(Sulfur, 2),
+ new Pair<>(Oxygen, 8)
+ );
+
+ public static final Werkstoff naquadahGoo = new Werkstoff(
+ new short[]{0x4c,0x4c,0x4c},
+ "Naquadah Goo",
+ subscriptNumbers("??NqTiGaAd??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 78,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff enrichedNaquadahGoo = new Werkstoff(
+ new short[]{0x82,0x68,0x68},
+ "Enriched Naquadah Goo",
+ subscriptNumbers("??KeNq") + CharExchanger.shifter(8314) + "??",
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 79,
+ TextureSet.SET_FLUID
+ );
+
+ public static final Werkstoff naquadriaGoo = new Werkstoff(
+ new short[]{0x4d,0x4d,0x55},
+ "Naquadria Goo",
+ subscriptNumbers("??Nq*BaIn??"),
+ new Werkstoff.Stats().setRadioactive(true).setToxic(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().addCells(),
+ OffsetID + 80,
+ TextureSet.SET_FLUID
+ );
+
+ //material for reactor stuff
+ public static final Werkstoff zircaloy4 = new Werkstoff(
+ new short[]{0x8a,0x6e,0x68},
+ "Zircaloy-4",
+ subscriptNumbers("Zr34Sn5Fe2Cr"),
+ new Werkstoff.Stats().setCentrifuge(true).setBlastFurnace(true).setMeltingPoint(2800),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust().addMolten().addMetalItems().addCraftingMetalWorkingItems().addSimpleMetalWorkingItems().addMixerRecipes((short) 4),
+ OffsetID + 81,
+ TextureSet.SET_METALLIC,
+ new Pair<>(WerkstoffLoader.Zirconium, 34),
+ new Pair<>(Tin, 5),
+ new Pair<>(Iron, 2),
+ new Pair<>(Chrome, 1)
+ );
+
+ public static final Werkstoff zircaloy2 = new Werkstoff(
+ new short[]{0xa4,0x8f,0x8b},
+ "Zircaloy-2",
+ subscriptNumbers("Zr34Sn4FeCrNi"),
+ new Werkstoff.Stats().setCentrifuge(true).setBlastFurnace(true).setMeltingPoint(2800),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust().addMolten().addMetalItems().addCraftingMetalWorkingItems().addSimpleMetalWorkingItems().addMixerRecipes((short) 2),
+ OffsetID + 82,
+ TextureSet.SET_METALLIC,
+ new Pair<>(WerkstoffLoader.Zirconium, 34),
+ new Pair<>(Tin, 4),
+ new Pair<>(Iron, 1),
+ new Pair<>(Chrome, 1),
+ new Pair<>(Nickel, 1)
+ );
+
+ public static final Werkstoff incoloy903 = new Werkstoff(
+ new short[]{0xa4,0x8f,0x8b},
+ "Incoloy-903",
+ subscriptNumbers("Fe12Ni10Co8Ti4Mo2Al"),
+ new Werkstoff.Stats().setCentrifuge(true).setBlastFurnace(true).setMeltingPoint(3700).setGas(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust().addMolten().addMetalItems().addCraftingMetalWorkingItems().addSimpleMetalWorkingItems().addMixerRecipes((short) 6),
+ OffsetID + 83,
+ TextureSet.SET_METALLIC,
+ new Pair<>(Iron, 12),
+ new Pair<>(Nickel, 10),
+ new Pair<>(Cobalt, 8),
+ new Pair<>(Titanium, 4),
+ new Pair<>(Molybdenum, 2),
+ new Pair<>(Aluminium, 1)
+ );
+
+ public static final Werkstoff adamantiumAlloy = new Werkstoff(
+ new short[]{0xa0,0xa0,0xa0},
+ "Adamantium Alloy",
+ subscriptNumbers("Ad5Nq2La3"),
+ new Werkstoff.Stats().setCentrifuge(true).setBlastFurnace(true).setMeltingPoint(5000).setGas(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust().addMolten().addMetalItems().addCraftingMetalWorkingItems().addSimpleMetalWorkingItems().addMixerRecipes((short) 3),
+ OffsetID + 84,
+ TextureSet.SET_SHINY,
+ new Pair<>(Adamantium, 5),
+ new Pair<>(Naquadah, 2),
+ new Pair<>(Lanthanum, 3)
+ );
+
+ @Override
+ public void run() { }
+}
diff --git a/src/main/java/goodgenerator/items/RadioactiveItem.java b/src/main/java/goodgenerator/items/RadioactiveItem.java
new file mode 100644
index 0000000000..81ed7aa98a
--- /dev/null
+++ b/src/main/java/goodgenerator/items/RadioactiveItem.java
@@ -0,0 +1,40 @@
+package goodgenerator.items;
+
+import gregtech.api.util.GT_Utility;
+import ic2.core.IC2Potion;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.potion.PotionEffect;
+import net.minecraft.world.World;
+
+public class RadioactiveItem extends MyItems{
+
+ protected final int mRadio;
+
+ public RadioactiveItem(String name, CreativeTabs Tab, int Rad) {
+ super(name, Tab);
+ this.mRadio = Rad;
+ }
+
+ public RadioactiveItem(String name, String[] tooltip, CreativeTabs Tab, int Rad) {
+ super(name, tooltip, Tab);
+ this.mRadio = Rad;
+ }
+
+ public RadioactiveItem(String name, String tooltip, CreativeTabs Tab, int Rad) {
+ super(name, tooltip, Tab);
+ this.mRadio = Rad;
+ }
+
+ @Override
+ public void onUpdate(ItemStack aStack, World aWorld, Entity aPlayer, int aTimer, boolean aIsInHand) {
+ super.onUpdate(aStack, aWorld, aPlayer, aTimer, aIsInHand);
+ EntityLivingBase tPlayer = (EntityPlayer) aPlayer;
+ if (!GT_Utility.isWearingFullRadioHazmat(tPlayer))
+ tPlayer.addPotionEffect(new PotionEffect(IC2Potion.radiation.id, mRadio, 4));
+ }
+
+}
diff --git a/src/main/java/goodgenerator/items/nuclear/IsotopeMaterial.java b/src/main/java/goodgenerator/items/nuclear/IsotopeMaterial.java
new file mode 100644
index 0000000000..3d3d36cee0
--- /dev/null
+++ b/src/main/java/goodgenerator/items/nuclear/IsotopeMaterial.java
@@ -0,0 +1,55 @@
+package goodgenerator.items.nuclear;
+
+import goodgenerator.loader.Loaders;
+import net.minecraft.item.ItemStack;
+
+import java.util.HashMap;
+import java.util.HashSet;
+
+public class IsotopeMaterial {
+
+ public static final HashSet<IsotopeMaterial> mIsotopeMaterial = new HashSet<>();
+ public static final HashMap<Integer, IsotopeMaterial> mIDMap = new HashMap<>();
+ public static final HashMap<String, IsotopeMaterial> mNameMap = new HashMap<>();
+
+ public final int mID;
+ public final int mNeutron;
+ public final String mName;
+ public final String mLocalizedName;
+ public final String mMaterialName;
+ public final short[] mRGB;
+ public final NuclearTextures mTexture;
+
+ public IsotopeMaterial(int aID, String aName, String aMaterialName, String aLocalizedName, NuclearTextures aTexture, int aR, int aG, int aB, int aNeutron) {
+ this.mID = aID;
+ this.mNeutron = aNeutron;
+ this.mName = aName;
+ this.mMaterialName = aMaterialName;
+ this.mLocalizedName = aLocalizedName;
+ this.mRGB = new short[] {(short) aR,(short) aG,(short) aB, 0};
+ this.mTexture = aTexture;
+ mIsotopeMaterial.add(this);
+ mIDMap.put(this.mID, this);
+ mNameMap.put(this.mName, this);
+ }
+
+ public ItemStack getFull(int aAmount) {
+ if (aAmount > 64) aAmount = 64;
+ return new ItemStack(Loaders.Isotope, aAmount, mID + 1000);
+ }
+
+ public ItemStack getTiny(int aAmount) {
+ if (aAmount > 64) aAmount = 64;
+ return new ItemStack(Loaders.Isotope, aAmount, mID + 2000);
+ }
+
+ public ItemStack getFullOxide(int aAmount) {
+ if (aAmount > 64) aAmount = 64;
+ return new ItemStack(Loaders.Isotope, aAmount, mID + 3000);
+ }
+
+ public ItemStack getTinyOxide(int aAmount) {
+ if (aAmount > 64) aAmount = 64;
+ return new ItemStack(Loaders.Isotope, aAmount, mID + 4000);
+ }
+}
diff --git a/src/main/java/goodgenerator/items/nuclear/IsotopeMaterialLoader.java b/src/main/java/goodgenerator/items/nuclear/IsotopeMaterialLoader.java
new file mode 100644
index 0000000000..75c2dba39c
--- /dev/null
+++ b/src/main/java/goodgenerator/items/nuclear/IsotopeMaterialLoader.java
@@ -0,0 +1,16 @@
+package goodgenerator.items.nuclear;
+
+public class IsotopeMaterialLoader implements Runnable {
+
+ protected static final int OffsetID = 0;
+
+ public static final IsotopeMaterial Thorium232 = new IsotopeMaterial(
+ OffsetID,
+ "Thorium232", "Thorium", "Thorium-232",
+ NuclearTextures.STABLE1, 59, 59, 59,
+ 232
+ );
+
+ @Override
+ public void run() { }
+}
diff --git a/src/main/java/goodgenerator/items/nuclear/NuclearMetaItemGenerator.java b/src/main/java/goodgenerator/items/nuclear/NuclearMetaItemGenerator.java
new file mode 100644
index 0000000000..bd530699b3
--- /dev/null
+++ b/src/main/java/goodgenerator/items/nuclear/NuclearMetaItemGenerator.java
@@ -0,0 +1,103 @@
+package goodgenerator.items.nuclear;
+
+import com.github.bartimaeusnek.bartworks.util.Pair;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import goodgenerator.main.GoodGenerator;
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.items.GT_MetaGenerated_Item;
+import gregtech.api.util.GT_LanguageManager;
+import gregtech.api.util.GT_OreDictUnificator;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+
+import java.util.List;
+
+import static goodgenerator.items.nuclear.IsotopeMaterial.mIDMap;
+import static goodgenerator.items.nuclear.IsotopeMaterial.mIsotopeMaterial;
+
+public class NuclearMetaItemGenerator extends GT_MetaGenerated_Item {
+
+ /**
+ * <p>Full ingot - 1000
+ * <p>Tiny ingot - 2000
+ * <p>Full-Oxide - 3000
+ * <p>Tiny-Oxide - 4000
+ */
+ public static final Pair<Integer, String>[] TYPE_OFFSET = new Pair[] {
+ new Pair<>(1000, "%s"),
+ new Pair<>(2000, "Tiny of %s"),
+ new Pair<>(3000, "%s Oxide"),
+ new Pair<>(4000, "Tiny of %s Oxide"),
+ };
+ public static final Pair<Integer, String>[] OREPREFIX = new Pair[] {
+ new Pair<>(1000, "item%s"),
+ new Pair<>(2000, "itemTiny%s"),
+ new Pair<>(3000, "item%sOxide"),
+ new Pair<>(4000, "itemTiny%sOxide"),
+ };
+
+ public NuclearMetaItemGenerator() {
+ super("nuclearIsotopeMaterial", (short) 32766, (short) 0);
+ this.setCreativeTab(GoodGenerator.GG);
+ for (IsotopeMaterial tIsotope : mIsotopeMaterial) {
+ for (Pair<Integer, String> tType : TYPE_OFFSET) {
+ int tOffset = tType.getKey();
+ String tOreName = tType.getValue();
+ ItemStack tStack = new ItemStack(this, 1, tIsotope.mID + tOffset);
+ GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".name", String.format(tOreName, tIsotope.mLocalizedName));
+ GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".tooltip", String.format("§b%s's Isotope.§r", tIsotope.mMaterialName));
+ }
+ for (Pair<Integer, String> tOreDict : OREPREFIX) {
+ int tOffset = tOreDict.getKey();
+ String tOreName = tOreDict.getValue();
+ ItemStack tStack = new ItemStack(this, 1, tIsotope.mID + tOffset);
+ GT_OreDictUnificator.registerOre(String.format(tOreName, tIsotope.mName), tStack);
+ }
+ }
+ }
+
+ @Override
+ public String getItemStackDisplayName(ItemStack aStack) {
+ return GT_LanguageManager.getTranslation(this.getUnlocalizedName(aStack) + ".name");
+ }
+
+ @Override
+ public IIconContainer getIconContainer(int aMetaData) {
+ int tID = aMetaData % 1000;
+ int tType = aMetaData / 1000 - 1;
+ IsotopeMaterial tMaterial = mIDMap.get(tID);
+ if (tMaterial != null) {
+ return tMaterial.mTexture.mTextures[tType];
+ }
+ return null;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void getSubItems(Item var1, CreativeTabs aCreativeTab, List aList) {
+ for (IsotopeMaterial tIsotope : mIsotopeMaterial) {
+ for (int i = 1; i <= 4; i ++) {
+ ItemStack tStack = new ItemStack(this, 1, tIsotope.mID + i * 1000);
+ aList.add(tStack);
+ }
+ }
+ }
+
+ @Override
+ public short[] getRGBa(ItemStack aStack) {
+ int tID = aStack.getItemDamage() % 1000;
+ IsotopeMaterial tMaterial = mIDMap.get(tID);
+ if (tMaterial != null) {
+ return tMaterial.mRGB;
+ }
+ return null;
+ }
+
+ @Override
+ public final IIcon getIconFromDamage(int aMetaData) {
+ return this.getIconContainer(aMetaData).getIcon();
+ }
+}
diff --git a/src/main/java/goodgenerator/items/nuclear/NuclearTextures.java b/src/main/java/goodgenerator/items/nuclear/NuclearTextures.java
new file mode 100644
index 0000000000..b68c31a014
--- /dev/null
+++ b/src/main/java/goodgenerator/items/nuclear/NuclearTextures.java
@@ -0,0 +1,31 @@
+package goodgenerator.items.nuclear;
+
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.IIconContainer;
+
+public class NuclearTextures {
+ public static final NuclearTextures
+ STABLE1 = new NuclearTextures("stable1"),
+ STABLE2 = new NuclearTextures("stable2"),
+ UNSTABLE1 = new NuclearTextures("unstable1"),
+ UNSTABLE2 = new NuclearTextures("unstable2"),
+ UNSTABLE3 = new NuclearTextures("unstable3"),
+ UNSTABLE4 = new NuclearTextures("unstable4");
+
+ public final IIconContainer[] mTextures = new IIconContainer[4];
+ public final String mSetName;
+ public static final String mTextureDir = "icons/isotope/";
+ public static final int
+ FULL = 0,
+ TINY = 1,
+ FULL_OXIDE = 2,
+ TINY_OXIDE = 3;
+
+ public NuclearTextures(String aName) {
+ mSetName = aName;
+ mTextures[0] = new Textures.ItemIcons.CustomIcon(mTextureDir + aName);
+ mTextures[1] = new Textures.ItemIcons.CustomIcon(mTextureDir + aName + "tiny");
+ mTextures[2] = new Textures.ItemIcons.CustomIcon(mTextureDir + aName);
+ mTextures[3] = new Textures.ItemIcons.CustomIcon(mTextureDir + aName + "tiny");
+ }
+}