aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/goodgenerator/items
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2024-05-25 14:13:58 +0100
committerRaven Szewczyk <git@eigenraven.me>2024-05-25 14:13:58 +0100
commit91b1909427bb0cab0f72505c325b07f8fb39c62e (patch)
treed6570897b7150afd4f3cb1470202af11e3e9ece3 /src/main/java/goodgenerator/items
parent40efa0d238677418071b658b11b0a1a7c9e0d864 (diff)
downloadGT5-Unofficial-91b1909427bb0cab0f72505c325b07f8fb39c62e.tar.gz
GT5-Unofficial-91b1909427bb0cab0f72505c325b07f8fb39c62e.tar.bz2
GT5-Unofficial-91b1909427bb0cab0f72505c325b07f8fb39c62e.zip
Move GoodGen sources
Diffstat (limited to 'src/main/java/goodgenerator/items')
-rw-r--r--src/main/java/goodgenerator/items/DepletedFuelRod.java54
-rw-r--r--src/main/java/goodgenerator/items/FuelRod.java215
-rw-r--r--src/main/java/goodgenerator/items/MyItemBlocks.java105
-rw-r--r--src/main/java/goodgenerator/items/MyItems.java127
-rw-r--r--src/main/java/goodgenerator/items/MyMaterial.java1524
-rw-r--r--src/main/java/goodgenerator/items/RadioactiveItem.java40
-rw-r--r--src/main/java/goodgenerator/items/nuclear/IsotopeMaterial.java60
-rw-r--r--src/main/java/goodgenerator/items/nuclear/IsotopeMaterialLoader.java177
-rw-r--r--src/main/java/goodgenerator/items/nuclear/NuclearMetaItemGenerator.java110
-rw-r--r--src/main/java/goodgenerator/items/nuclear/NuclearTextures.java31
10 files changed, 2443 insertions, 0 deletions
diff --git a/src/main/java/goodgenerator/items/DepletedFuelRod.java b/src/main/java/goodgenerator/items/DepletedFuelRod.java
new file mode 100644
index 0000000000..308f149933
--- /dev/null
+++ b/src/main/java/goodgenerator/items/DepletedFuelRod.java
@@ -0,0 +1,54 @@
+package goodgenerator.items;
+
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.ItemStack;
+
+import ic2.api.item.IBoxable;
+import ic2.api.reactor.IReactor;
+import ic2.api.reactor.IReactorComponent;
+
+public class DepletedFuelRod extends RadioactiveItem implements IReactorComponent, IBoxable {
+
+ public DepletedFuelRod(String name, String[] tooltip, CreativeTabs Tab, int Rad) {
+ super(name, tooltip, Tab, Rad);
+ }
+
+ @Override
+ public boolean canBeStoredInToolbox(ItemStack itemStack) {
+ return true;
+ }
+
+ @Override
+ public void processChamber(IReactor iReactor, ItemStack itemStack, int i, int i1, boolean b) {}
+
+ @Override
+ public boolean acceptUraniumPulse(IReactor iReactor, ItemStack itemStack, ItemStack itemStack1, int i, int i1,
+ int i2, int i3, boolean b) {
+ return false;
+ }
+
+ @Override
+ public boolean canStoreHeat(IReactor iReactor, ItemStack itemStack, int i, int i1) {
+ return false;
+ }
+
+ @Override
+ public int getMaxHeat(IReactor iReactor, ItemStack itemStack, int i, int i1) {
+ return 0;
+ }
+
+ @Override
+ public int getCurrentHeat(IReactor iReactor, ItemStack itemStack, int i, int i1) {
+ return 0;
+ }
+
+ @Override
+ public int alterHeat(IReactor iReactor, ItemStack itemStack, int i, int i1, int i2) {
+ return 0;
+ }
+
+ @Override
+ public float influenceExplosion(IReactor iReactor, ItemStack itemStack) {
+ return 0;
+ }
+}
diff --git a/src/main/java/goodgenerator/items/FuelRod.java b/src/main/java/goodgenerator/items/FuelRod.java
new file mode 100644
index 0000000000..00ca8b3491
--- /dev/null
+++ b/src/main/java/goodgenerator/items/FuelRod.java
@@ -0,0 +1,215 @@
+package goodgenerator.items;
+
+import static goodgenerator.util.DescTextLocalization.addText;
+
+import java.util.ArrayList;
+import java.util.List;
+
+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 net.minecraft.util.StatCollector;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.util.GT_Utility;
+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;
+
+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;
+ setMaxDamage(100);
+ }
+
+ 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;
+ setMaxDamage(100);
+ }
+
+ 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, GT_Utility.copyAmount(1, 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)
+ @SuppressWarnings("unchecked")
+ @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)));
+ double tMut = this.Heat / 4.0;
+ if (this.Heat == 4) {
+ tooltip.add(StatCollector.translateToLocal("fuelrodheat.tooltip.0"));
+ } else {
+ tooltip.add(String.format(StatCollector.translateToLocal("fuelrodheat.tooltip.1"), tMut));
+ }
+ if (this.HeatBonus != 0) tooltip.add(StatCollector.translateToLocal("fuelrodheat.tooltip.2"));
+ }
+}
diff --git a/src/main/java/goodgenerator/items/MyItemBlocks.java b/src/main/java/goodgenerator/items/MyItemBlocks.java
new file mode 100644
index 0000000000..3ee7347e97
--- /dev/null
+++ b/src/main/java/goodgenerator/items/MyItemBlocks.java
@@ -0,0 +1,105 @@
+package goodgenerator.items;
+
+import static goodgenerator.loader.Loaders.essentiaCell;
+import static goodgenerator.loader.Loaders.yottaFluidTankCell;
+import static goodgenerator.util.CharExchanger.tierName;
+
+import java.util.Arrays;
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.StatCollector;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import goodgenerator.blocks.regularBlock.TEBlock;
+import goodgenerator.blocks.tileEntity.EssentiaOutputHatch;
+import goodgenerator.main.GoodGenerator;
+import goodgenerator.util.CharExchanger;
+import goodgenerator.util.DescTextLocalization;
+import gregtech.api.util.GT_LanguageManager;
+
+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 stack, EntityPlayer playerIn, List tooltip, boolean advanced) {
+ if (stack == null) return;
+ tooltip.add(mNoMobsToolTip);
+ if (Block.getBlockFromItem(stack.getItem()) instanceof TEBlock) {
+ TEBlock tile = (TEBlock) Block.getBlockFromItem(stack.getItem());
+ if (tile.getIndex() == 1)
+ tooltip.addAll(Arrays.asList(DescTextLocalization.addText("EssentiaHatch.tooltip", 2)));
+ if (tile.getIndex() == 2) {
+ tooltip.add(StatCollector.translateToLocal("EssentiaOutputHatch.tooltip.0"));
+ tooltip.add(
+ StatCollector.translateToLocal("EssentiaOutputHatch.tooltip.1") + " "
+ + EssentiaOutputHatch.CAPACITY);
+ }
+ } else {
+ tooltip.add(mNoTileEntityToolTip);
+ }
+
+ if (Block.getBlockFromItem(stack.getItem())
+ .equals(yottaFluidTankCell)) {
+ StringBuilder cap = new StringBuilder();
+ cap.append(" 1000000");
+ for (int i = 0; i < stack.getItemDamage(); i++) cap.append("00");
+ cap.append(" L");
+ tooltip.add(
+ StatCollector.translateToLocal("YOTTankCell.tooltip.0") + CharExchanger.formatNumber(cap.toString()));
+ tooltip.add(StatCollector.translateToLocal("YOTTankCell.tooltip.1"));
+ }
+
+ if (Block.getBlockFromItem(stack.getItem())
+ .equals(essentiaCell)) {
+ tooltip
+ .add(StatCollector.translateToLocal("hatchTier.tooltip.0") + " " + tierName[stack.getItemDamage() + 4]);
+ }
+ }
+}
diff --git a/src/main/java/goodgenerator/items/MyItems.java b/src/main/java/goodgenerator/items/MyItems.java
new file mode 100644
index 0000000000..71a67d4fd6
--- /dev/null
+++ b/src/main/java/goodgenerator/items/MyItems.java
@@ -0,0 +1,127 @@
+package goodgenerator.items;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+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 cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import goodgenerator.main.GoodGenerator;
+
+public class MyItems extends Item {
+
+ @SideOnly(Side.CLIENT)
+ protected IIcon[] texture;
+
+ private String tex;
+ private String[] textureNames;
+ private final String Name;
+ private List<String> tooltips = new ArrayList<>();
+ private List<String> tooltipses = 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, String[] textures) {
+ this.setUnlocalizedName(name);
+ this.setCreativeTab(Tab);
+ this.setHasSubtypes(true);
+ this.textureNames = textures;
+ this.Name = name;
+ this.tooltipses = Arrays.asList(tooltip);
+ }
+
+ 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);
+ }
+ if (tooltipses.size() > 0) {
+ int meta = p_77624_1_.getItemDamage();
+ if (tooltipses.size() - 1 < meta) meta = tooltipses.size() - 1;
+ p_77624_3_.add(tooltipses.get(meta));
+ }
+ }
+}
diff --git a/src/main/java/goodgenerator/items/MyMaterial.java b/src/main/java/goodgenerator/items/MyMaterial.java
new file mode 100644
index 0000000000..1e75167ef0
--- /dev/null
+++ b/src/main/java/goodgenerator/items/MyMaterial.java
@@ -0,0 +1,1524 @@
+package goodgenerator.items;
+
+import static com.github.bartimaeusnek.bartworks.util.BW_Util.subscriptNumbers;
+import static gregtech.api.enums.Materials.*;
+
+import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
+import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader;
+import com.github.bartimaeusnek.bartworks.util.Pair;
+
+import goodgenerator.util.CharExchanger;
+import gregtech.api.enums.TextureSet;
+
+@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("U36K8Qt4Rn"),
+ 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("*(U36K8Qt4Rn)*"),
+ 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, 11),
+ new Pair<>(WerkstoffLoader.Thorium232, 1),
+ 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("Th?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("Pu45Nt8Cs16Nq2"),
+ 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("*(Pu45Nt8Cs16Nq2)*"),
+ 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()
+ .addMolten(),
+ 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),
+ 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().setElektrolysis(true),
+ 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 naquadahBasedFuelMkVI = new Werkstoff(
+ new short[] { 0x30, 0x00, 0x00 },
+ "Naquadah Based Liquid Fuel MkVI",
+ "THE FUTURE",
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ OffsetID + 115,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff naquadahBasedFuelMkVIDepleted = new Werkstoff(
+ new short[] { 0x99, 0x33, 0x33 },
+ "Naquadah Based Liquid Fuel MkVI (Depleted)",
+ "THE FUTURE (achieved)",
+ new Werkstoff.Stats().setToxic(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ OffsetID + 116,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff zincChloride = new Werkstoff(
+ new short[] { 0x73, 0xa5, 0xfc },
+ "Zinc Chloride",
+ subscriptNumbers("ZnCl2"),
+ new Werkstoff.Stats().setElektrolysis(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ OffsetID + 51,
+ TextureSet.SET_SHINY,
+ new Pair<>(Zinc, 1),
+ new Pair<>(Chlorine, 2));
+
+ 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(false),
+ 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(false),
+ 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(false),
+ 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(false),
+ 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(false),
+ 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()
+ .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()
+ .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),
+ 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(5500)
+ .setSpeedOverride(191.2F)
+ .setDurOverride(102400),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust()
+ .addMolten()
+ .addMetalItems()
+ .addCraftingMetalWorkingItems()
+ .addSimpleMetalWorkingItems()
+ .addMultipleIngotMetalWorkingItems()
+ .addMixerRecipes((short) 3),
+ OffsetID + 84,
+ TextureSet.SET_SHINY,
+ new Pair<>(Adamantium, 5),
+ new Pair<>(Naquadah, 2),
+ new Pair<>(Lanthanum, 3));
+
+ public static final Werkstoff ethanolGasoline = new Werkstoff(
+ new short[] { 0xe4, 0xc6, 0x61 },
+ "Ethanol Gasoline",
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ OffsetID + 85,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff cyclopentadiene = new Werkstoff(
+ new short[] { 0xff, 0xf6, 0xbd },
+ "Cyclopentadiene",
+ subscriptNumbers("C5H6"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ OffsetID + 86,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff ferrousChloride = new Werkstoff(
+ new short[] { 0x5b, 0x5b, 0x5b },
+ "Iron II Chloride",
+ subscriptNumbers("FeCl2"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ OffsetID + 87,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff diethylamine = new Werkstoff(
+ new short[] { 0x69, 0x77, 0xca },
+ "Diethylamine",
+ subscriptNumbers("C4H11N"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ OffsetID + 88,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff impureFerroceneMixture = new Werkstoff(
+ new short[] { 0x79, 0x55, 0x08 },
+ "Impure Ferrocene Mixture",
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ OffsetID + 89,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff ferroceneSolution = new Werkstoff(
+ new short[] { 0xde, 0x7e, 0x1c },
+ "Ferrocene Solution",
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ OffsetID + 90,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff ferroceneWaste = new Werkstoff(
+ new short[] { 0x35, 0x1d, 0x03 },
+ "Ferrocene Waste",
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ OffsetID + 91,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff ferrocene = new Werkstoff(
+ new short[] { 0xf1, 0x8f, 0x2b },
+ "Ferrocene",
+ subscriptNumbers("Fe(C5H5)2"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ OffsetID + 92,
+ TextureSet.SET_SHINY);
+
+ public static final Werkstoff ironedKerosene = new Werkstoff(
+ new short[] { 0x97, 0x00, 0x61 },
+ "Jet Fuel No.3",
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ OffsetID + 93,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff ironedFuel = new Werkstoff(
+ new short[] { 0xff, 0x98, 0x00 },
+ "Jet Fuel A",
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ OffsetID + 94,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff marM200 = new Werkstoff(
+ new short[] { 0x51, 0x51, 0x51 },
+ "MAR-M200 Steel",
+ new Werkstoff.Stats().setCentrifuge(true)
+ .setBlastFurnace(true)
+ .setMeltingPoint(5000),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust()
+ .addMolten()
+ .addMetalItems()
+ .addCraftingMetalWorkingItems()
+ .addSimpleMetalWorkingItems()
+ .addMultipleIngotMetalWorkingItems()
+ .addMixerRecipes((short) 7),
+ OffsetID + 95,
+ TextureSet.SET_SHINY,
+ new Pair<>(Niobium, 2),
+ new Pair<>(Chrome, 9),
+ new Pair<>(Aluminium, 5),
+ new Pair<>(Titanium, 2),
+ new Pair<>(Cobalt, 10),
+ new Pair<>(Tungsten, 13),
+ new Pair<>(Nickel, 18));
+
+ public static final Werkstoff marCeM200 = new Werkstoff(
+ new short[] { 0x38, 0x30, 0x30 },
+ "MAR-Ce-M200 Steel",
+ new Werkstoff.Stats().setCentrifuge(true)
+ .setBlastFurnace(true)
+ .setMeltingPoint(5000)
+ .setMass(1200)
+ .setProtons(1000)
+ .setSpeedOverride(150F)
+ .setDurOverride(204800),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust()
+ .addMolten()
+ .addMetalItems()
+ .addCraftingMetalWorkingItems()
+ .addSimpleMetalWorkingItems()
+ .addMultipleIngotMetalWorkingItems(),
+ OffsetID + 96,
+ TextureSet.SET_METALLIC,
+ new Pair<>(marM200, 18),
+ new Pair<>(Cerium, 1));
+
+ public static final Werkstoff lithiumChloride = new Werkstoff(
+ new short[] { 0xb7, 0xe2, 0xce },
+ "Lithium Chloride",
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust()
+ .addMolten()
+ .addMetalItems()
+ .enforceUnification(),
+ OffsetID + 97,
+ TextureSet.SET_DULL,
+ new Pair<>(Lithium, 1),
+ new Pair<>(Chlorine, 1));
+
+ public static final Werkstoff signalium = new Werkstoff(
+ new short[] { 0xd4, 0x40, 0x00 },
+ "Signalium",
+ new Werkstoff.Stats().setBlastFurnace(true)
+ .setMeltingPoint(4000),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust()
+ .addMolten()
+ .addMetalItems()
+ .addCraftingMetalWorkingItems(),
+ OffsetID + 98,
+ TextureSet.SET_SHINY,
+ new Pair<>(AnnealedCopper, 4),
+ new Pair<>(Ardite, 2),
+ new Pair<>(RedAlloy, 2));
+
+ public static final Werkstoff lumiinessence = new Werkstoff(
+ new short[] { 0xe8, 0xf2, 0x24 },
+ "Lumiinessence",
+ subscriptNumbers("(Al??)2(PO4)4"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust(),
+ OffsetID + 99,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff lumiium = new Werkstoff(
+ new short[] { 0xe8, 0xf2, 0x24 },
+ "Lumiium",
+ new Werkstoff.Stats().setBlastFurnace(true)
+ .setMeltingPoint(4000),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust()
+ .addMolten()
+ .addMetalItems()
+ .addCraftingMetalWorkingItems(),
+ OffsetID + 100,
+ TextureSet.SET_SHINY,
+ new Pair<>(TinAlloy, 4),
+ new Pair<>(SterlingSilver, 2),
+ new Pair<>(lumiinessence, 2));
+
+ public static final Werkstoff artheriumSn = new Werkstoff(
+ new short[] { 0x60, 0x36, 0xf7 },
+ "Artherium-Sn",
+ new Werkstoff.Stats().setBlastFurnace(true)
+ .setMeltingPoint(6500)
+ .setCentrifuge(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust()
+ .addMolten()
+ .addMetalItems()
+ .addCraftingMetalWorkingItems()
+ .addMixerRecipes((short) 6),
+ OffsetID + 101,
+ TextureSet.SET_SHINY,
+ new Pair<>(adamantiumAlloy, 12),
+ new Pair<>(orundum, 9),
+ new Pair<>(Tin, 8),
+ new Pair<>(Arsenic, 7),
+ new Pair<>(Caesium, 4),
+ new Pair<>(Osmiridium, 3));
+
+ public static final Werkstoff titaniumBetaC = new Werkstoff(
+ new short[] { 0xc7, 0x2f, 0xcc },
+ "Tanmolyium Beta-C",
+ new Werkstoff.Stats().setBlastFurnace(true)
+ .setMeltingPoint(5300)
+ .setCentrifuge(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust()
+ .addMolten()
+ .addMetalItems()
+ .addCraftingMetalWorkingItems()
+ .addMixerRecipes((short) 5),
+ OffsetID + 102,
+ TextureSet.SET_METALLIC,
+ new Pair<>(Titanium, 5),
+ new Pair<>(Molybdenum, 5),
+ new Pair<>(Vanadium, 2),
+ new Pair<>(Chrome, 3),
+ new Pair<>(Aluminium, 1));
+
+ public static final Werkstoff dalisenite = new Werkstoff(
+ new short[] { 0xb0, 0xb8, 0x12 },
+ "Dalisenite",
+ new Werkstoff.Stats().setMeltingPoint(8700)
+ .setCentrifuge(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust()
+ .addMolten()
+ .addMetalItems()
+ .addCraftingMetalWorkingItems()
+ .addMixerRecipes((short) 6),
+ OffsetID + 103,
+ TextureSet.SET_SHINY,
+ new Pair<>(titaniumBetaC, 14),
+ new Pair<>(Tungsten, 10),
+ new Pair<>(NiobiumTitanium, 9),
+ new Pair<>(WerkstoffLoader.LuVTierMaterial, 8),
+ new Pair<>(Quantium, 7),
+ new Pair<>(Erbium, 3));
+
+ public static final Werkstoff hikarium = new Werkstoff(
+ new short[] { 0xff, 0xd6, 0xfb },
+ "Hikarium",
+ new Werkstoff.Stats().setBlastFurnace(true)
+ .setMeltingPoint(5400)
+ .setCentrifuge(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust()
+ .addMolten()
+ .addMetalItems()
+ .addCraftingMetalWorkingItems()
+ .addMixerRecipes((short) 3),
+ OffsetID + 104,
+ TextureSet.SET_SHINY,
+ new Pair<>(lumiium, 18),
+ new Pair<>(Silver, 8),
+ new Pair<>(Sunnarium, 4));
+
+ public static final Werkstoff tairitsu = new Werkstoff(
+ new short[] { 0x36, 0x36, 0x36 },
+ "Tairitsu",
+ new Werkstoff.Stats().setBlastFurnace(true)
+ .setMeltingPoint(7400)
+ .setCentrifuge(true),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust()
+ .addMolten()
+ .addMetalItems()
+ .addCraftingMetalWorkingItems()
+ .addMixerRecipes((short) 6),
+ OffsetID + 105,
+ TextureSet.SET_SHINY,
+ new Pair<>(Tungsten, 8),
+ new Pair<>(Naquadria, 7),
+ new Pair<>(Bedrockium, 4),
+ new Pair<>(Carbon, 4),
+ new Pair<>(Vanadium, 3),
+ new Pair<>(BlackPlutonium, 1));
+
+ public static final Werkstoff antimonyPentafluorideSolution = new Werkstoff(
+ new short[] { 0x16, 0xd5, 0xe2 },
+ "Antimony Pentafluoride Solution",
+ subscriptNumbers("SbF5"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ OffsetID + 106,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff magnesiumSulphate = new Werkstoff(
+ new short[] { 0x87, 0x74, 0x91 },
+ "Magnesium Sulphate",
+ subscriptNumbers("MgSO4"),
+ new Werkstoff.Stats().setElektrolysis(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ OffsetID + 107,
+ TextureSet.SET_DULL,
+ new Pair<>(Magnesium, 1),
+ new Pair<>(Sulfur, 1),
+ new Pair<>(Oxygen, 4));
+
+ public static final Werkstoff preciousMetalAlloy = new Werkstoff(
+ new short[] { 0x9d, 0x90, 0xc6 },
+ "Precious Metals Alloy",
+ new Werkstoff.Stats().setBlastFurnace(true)
+ .setMeltingPoint(10000)
+ .setCentrifuge(true)
+ .setSpeedOverride(100F),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust()
+ .addMolten()
+ .addMetalItems()
+ .addCraftingMetalWorkingItems()
+ .addMultipleIngotMetalWorkingItems()
+ .addMixerRecipes((short) 6),
+ OffsetID + 108,
+ TextureSet.SET_SHINY,
+ new Pair<>(WerkstoffLoader.Ruthenium, 1),
+ new Pair<>(WerkstoffLoader.Rhodium, 1),
+ new Pair<>(Palladium, 1),
+ new Pair<>(Platinum, 1),
+ new Pair<>(Osmium, 1),
+ new Pair<>(Iridium, 1));
+
+ public static final Werkstoff enrichedNaquadahAlloy = new Werkstoff(
+ new short[] { 0x16, 0x07, 0x40 },
+ "Enriched Naquadah Alloy",
+ new Werkstoff.Stats().setBlastFurnace(true)
+ .setMeltingPoint(11000)
+ .setCentrifuge(true)
+ .setSpeedOverride(180F),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust()
+ .addMolten()
+ .addMetalItems()
+ .addCraftingMetalWorkingItems()
+ .addSimpleMetalWorkingItems()
+ .addMultipleIngotMetalWorkingItems()
+ .addMixerRecipes((short) 4),
+ OffsetID + 109,
+ TextureSet.SET_METALLIC,
+ new Pair<>(NaquadahEnriched, 8),
+ new Pair<>(Tritanium, 5),
+ new Pair<>(WerkstoffLoader.Californium, 3),
+ new Pair<>(BlackPlutonium, 2));
+
+ public static final Werkstoff metastableOganesson = new Werkstoff(
+ new short[] { 0x14, 0x39, 0x7f },
+ "Metastable Oganesson",
+ "Og*",
+ new Werkstoff.Stats().setBlastFurnace(true)
+ .setProtons(118)
+ .setMass(294)
+ .setMeltingPoint(11000),
+ Werkstoff.Types.ELEMENT,
+ new Werkstoff.GenerationFeatures().onlyDust()
+ .addMolten()
+ .addMetalItems()
+ .addCraftingMetalWorkingItems()
+ .addMultipleIngotMetalWorkingItems()
+ .addMetaSolidifierRecipes(),
+ OffsetID + 110,
+ TextureSet.SET_SHINY);
+
+ public static final Werkstoff shirabon = new Werkstoff(
+ new short[] { 0xe0, 0x15, 0x6d },
+ "Shirabon",
+ "Sh" + CharExchanger.shifter(9191),
+ new Werkstoff.Stats().setProtons(500)
+ .setMass(750)
+ .setMeltingPoint(13000)
+ .setSpeedOverride(640.0F)
+ .setDurOverride(15728640)
+ .setQualityOverride((byte) 26),
+ Werkstoff.Types.ELEMENT,
+ new Werkstoff.GenerationFeatures().onlyDust()
+ .addMolten()
+ .addMetalItems()
+ .addCraftingMetalWorkingItems()
+ .addSimpleMetalWorkingItems()
+ .addMultipleIngotMetalWorkingItems()
+ .addMetalCraftingSolidifierRecipes()
+ .addMetaSolidifierRecipes(),
+ OffsetID + 111,
+ TextureSet.SET_SHINY);
+
+ public static final Werkstoff inertNaquadah = new Werkstoff(
+ new short[] { 0x3b, 0x3b, 0x3b },
+ "Inert Naquadah",
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MATERIAL,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ OffsetID + 112,
+ TextureSet.SET_METALLIC,
+ new Pair<>(Naquadah, 1));
+
+ public static final Werkstoff inertEnrichedNaquadah = new Werkstoff(
+ new short[] { 0x61, 0x44, 0x44 },
+ "Inert Enriched Naquadah",
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.MATERIAL,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ OffsetID + 113,
+ TextureSet.SET_METALLIC,
+ new Pair<>(NaquadahEnriched, 1));
+
+ public static final Werkstoff inertNaquadria = new Werkstoff(
+ new short[] { 0x00, 0x00, 0x00 },
+ "Inert Naquadria",
+ new Werkstoff.Stats().setRadioactive(true),
+ Werkstoff.Types.MATERIAL,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ OffsetID + 114,
+ TextureSet.SET_METALLIC,
+ new Pair<>(Naquadria, 1));
+
+ @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..ab6c003268
--- /dev/null
+++ b/src/main/java/goodgenerator/items/RadioactiveItem.java
@@ -0,0 +1,40 @@
+package goodgenerator.items;
+
+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;
+
+import gregtech.api.util.GT_Utility;
+import ic2.core.IC2Potion;
+
+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..593a663a71
--- /dev/null
+++ b/src/main/java/goodgenerator/items/nuclear/IsotopeMaterial.java
@@ -0,0 +1,60 @@
+// 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 short[] mRGBO;
+// public final NuclearTextures mTexture;
+//
+// public IsotopeMaterial(int aID, String aName, String aMaterialName, String aLocalizedName, NuclearTextures
+// aTexture, int aR, int aG, int aB, int aNeutron) {
+// if (mIDMap.get(aID) != null)
+// throw new UnsupportedOperationException("ID:" + aID + " is already used!");
+// this.mID = aID;
+// this.mNeutron = aNeutron;
+// this.mName = aName;
+// this.mMaterialName = aMaterialName;
+// this.mLocalizedName = aLocalizedName;
+// this.mRGB = new short[] {(short) (aR * 0.6), (short) (aG * 0.6), (short) (aB * 0.6), 0};
+// this.mRGBO = 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..a014abaa32
--- /dev/null
+++ b/src/main/java/goodgenerator/items/nuclear/IsotopeMaterialLoader.java
@@ -0,0 +1,177 @@
+// 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
+// );
+//
+// public static final IsotopeMaterial Thorium230 = new IsotopeMaterial(
+// OffsetID + 1,
+// "Thorium232", "Thorium", "Thorium-230",
+// NuclearTextures.STABLE2, 59, 59, 59,
+// 230
+// );
+//
+// public static final IsotopeMaterial Uranium233 = new IsotopeMaterial(
+// OffsetID + 2,
+// "Uranium233", "Uranium", "Uranium-233",
+// NuclearTextures.UNSTABLE4, 60, 167, 85,
+// 233
+// );
+//
+// public static final IsotopeMaterial Uranium235 = new IsotopeMaterial(
+// OffsetID + 3,
+// "Uranium235", "Uranium", "Uranium-235",
+// NuclearTextures.UNSTABLE3, 60, 167, 85,
+// 235
+// );
+//
+// public static final IsotopeMaterial Uranium238 = new IsotopeMaterial(
+// OffsetID + 4,
+// "Uranium238", "Uranium", "Uranium-238",
+// NuclearTextures.STABLE2, 60, 167, 85,
+// 238
+// );
+//
+// public static final IsotopeMaterial Neptunium236 = new IsotopeMaterial(
+// OffsetID + 5,
+// "Neptunium236", "Neptunium", "Neptunium-236",
+// NuclearTextures.UNSTABLE1, 60, 170, 176,
+// 236
+// );
+//
+// public static final IsotopeMaterial Neptunium237 = new IsotopeMaterial(
+// OffsetID + 6,
+// "Neptunium237", "Neptunium", "Neptunium-237",
+// NuclearTextures.STABLE2, 60, 170, 176,
+// 237
+// );
+//
+// public static final IsotopeMaterial Plutonium238 = new IsotopeMaterial(
+// OffsetID + 7,
+// "Plutonium238", "Plutonium", "Plutonium-238",
+// NuclearTextures.STABLE1, 169, 169, 169,
+// 238
+// );
+//
+// public static final IsotopeMaterial Plutonium239 = new IsotopeMaterial(
+// OffsetID + 8,
+// "Plutonium239", "Plutonium", "Plutonium-239",
+// NuclearTextures.UNSTABLE1, 169, 169, 169,
+// 239
+// );
+//
+// public static final IsotopeMaterial Plutonium241 = new IsotopeMaterial(
+// OffsetID + 9,
+// "Plutonium241", "Plutonium", "Plutonium-241",
+// NuclearTextures.UNSTABLE2, 169, 169, 169,
+// 241
+// );
+//
+// public static final IsotopeMaterial Plutonium242 = new IsotopeMaterial(
+// OffsetID + 10,
+// "Plutonium242", "Plutonium", "Plutonium-242",
+// NuclearTextures.STABLE2, 169, 169, 169,
+// 242
+// );
+//
+// public static final IsotopeMaterial Americium241 = new IsotopeMaterial(
+// OffsetID + 11,
+// "Americium241", "Americium", "Americium-241",
+// NuclearTextures.STABLE1, 150, 120, 22,
+// 241
+// );
+//
+// public static final IsotopeMaterial Americium242 = new IsotopeMaterial(
+// OffsetID + 12,
+// "Americium242", "Americium", "Americium-242",
+// NuclearTextures.UNSTABLE4, 150, 120, 22,
+// 242
+// );
+//
+// public static final IsotopeMaterial Americium243 = new IsotopeMaterial(
+// OffsetID + 13,
+// "Americium243", "Americium", "Americium-243",
+// NuclearTextures.STABLE2, 150, 120, 22,
+// 243
+// );
+//
+// public static final IsotopeMaterial Curium243 = new IsotopeMaterial(
+// OffsetID + 14,
+// "Curium243", "Curium", "Curium-243",
+// NuclearTextures.UNSTABLE1, 107, 6, 105,
+// 243
+// );
+//
+// public static final IsotopeMaterial Curium245 = new IsotopeMaterial(
+// OffsetID + 15,
+// "Curium245", "Curium", "Curium-245",
+// NuclearTextures.UNSTABLE3, 107, 6, 105,
+// 245
+// );
+//
+// public static final IsotopeMaterial Curium246 = new IsotopeMaterial(
+// OffsetID + 16,
+// "Curium246", "Curium", "Curium-246",
+// NuclearTextures.STABLE2, 107, 6, 105,
+// 246
+// );
+//
+// public static final IsotopeMaterial Curium247 = new IsotopeMaterial(
+// OffsetID + 17,
+// "Curium247", "Curium", "Curium-247",
+// NuclearTextures.UNSTABLE4, 107, 6, 105,
+// 247
+// );
+//
+// public static final IsotopeMaterial Berkelium247 = new IsotopeMaterial(
+// OffsetID + 18,
+// "Berkelium247", "Berkelium", "Berkelium-247",
+// NuclearTextures.STABLE2, 130, 54, 29,
+// 247
+// );
+//
+// public static final IsotopeMaterial Berkelium248 = new IsotopeMaterial(
+// OffsetID + 19,
+// "Berkelium248", "Berkelium", "Berkelium-248",
+// NuclearTextures.UNSTABLE1, 130, 54, 29,
+// 248
+// );
+//
+// public static final IsotopeMaterial Californium249 = new IsotopeMaterial(
+// OffsetID + 20,
+// "Californium249", "Californium", "Californium-249",
+// NuclearTextures.UNSTABLE2, 186, 55, 11,
+// 249
+// );
+//
+// public static final IsotopeMaterial Californium250 = new IsotopeMaterial(
+// OffsetID + 21,
+// "Californium250", "Californium", "Californium-250",
+// NuclearTextures.STABLE1, 186, 55, 11,
+// 250
+// );
+//
+// public static final IsotopeMaterial Californium251 = new IsotopeMaterial(
+// OffsetID + 22,
+// "Californium251", "Californium", "Californium-251",
+// NuclearTextures.UNSTABLE4, 186, 55, 11,
+// 251
+// );
+//
+// public static final IsotopeMaterial Californium252 = new IsotopeMaterial(
+// OffsetID + 23,
+// "Californium252", "Californium", "Californium-252",
+// NuclearTextures.UNSTABLE1, 186, 55, 11,
+// 252
+// );
+//
+// @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..a0b71b52e5
--- /dev/null
+++ b/src/main/java/goodgenerator/items/nuclear/NuclearMetaItemGenerator.java
@@ -0,0 +1,110 @@
+// 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.EnumChatFormatting;
+// 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",
+// EnumChatFormatting.AQUA + String.format("%s's Isotope.", tIsotope.mMaterialName) + EnumChatFormatting.RESET);
+// }
+// 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;
+// int tType = aStack.getItemDamage() / 1000;
+// IsotopeMaterial tMaterial = mIDMap.get(tID);
+// if (tMaterial != null) {
+// if (tType == 1 || tType == 2)
+// return tMaterial.mRGB;
+// else
+// return tMaterial.mRGBO;
+// }
+// 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..63314044cf
--- /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");
+// }
+// }