aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2024-05-25 15:39:05 +0100
committerRaven Szewczyk <git@eigenraven.me>2024-05-25 15:39:05 +0100
commitdb88561e8e21fb8b067bf5bf1a1753697d36ed29 (patch)
tree7a928f7502c46571b41dfa647151c253064cd5fb /src
parent9069e2aa47be7e6fb6ab1a2a29c5887ec2bfb2d7 (diff)
downloadGT5-Unofficial-db88561e8e21fb8b067bf5bf1a1753697d36ed29.tar.gz
GT5-Unofficial-db88561e8e21fb8b067bf5bf1a1753697d36ed29.tar.bz2
GT5-Unofficial-db88561e8e21fb8b067bf5bf1a1753697d36ed29.zip
Merge Lanthanides sources
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/elisis/gtnhlanth/GTNHLanthanides.java97
-rw-r--r--src/main/java/com/elisis/gtnhlanth/Tags.java9
-rw-r--r--src/main/java/com/elisis/gtnhlanth/api/recipe/LanthanidesRecipeMaps.java25
-rw-r--r--src/main/java/com/elisis/gtnhlanth/client/ClientProxy.java6
-rw-r--r--src/main/java/com/elisis/gtnhlanth/common/CommonProxy.java14
-rw-r--r--src/main/java/com/elisis/gtnhlanth/common/register/BotWerkstoffMaterialPool.java98
-rw-r--r--src/main/java/com/elisis/gtnhlanth/common/register/LanthItemList.java19
-rw-r--r--src/main/java/com/elisis/gtnhlanth/common/register/WerkstoffMaterialPool.java1919
-rw-r--r--src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java244
-rw-r--r--src/main/java/com/elisis/gtnhlanth/common/tileentity/DissolutionTank.java277
-rw-r--r--src/main/java/com/elisis/gtnhlanth/loader/BotRecipes.java267
-rw-r--r--src/main/java/com/elisis/gtnhlanth/loader/MetaTileEntity_Loader.java4
-rw-r--r--src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java3744
-rw-r--r--src/main/java/com/elisis/gtnhlanth/loader/ZPMRubberChanges.java409
-rw-r--r--src/main/java/com/elisis/gtnhlanth/util/DescTextLocalization.java22
-rw-r--r--src/main/java/com/elisis/gtnhlanth/xmod/nei/NEI_Config.java26
-rw-r--r--src/main/resources/assets/gtnhlanth/lang/en_US.lang55
-rw-r--r--src/main/resources/assets/gtnhlanth/lang/zh_CN.lang19
18 files changed, 7254 insertions, 0 deletions
diff --git a/src/main/java/com/elisis/gtnhlanth/GTNHLanthanides.java b/src/main/java/com/elisis/gtnhlanth/GTNHLanthanides.java
new file mode 100644
index 0000000000..944e36d0bc
--- /dev/null
+++ b/src/main/java/com/elisis/gtnhlanth/GTNHLanthanides.java
@@ -0,0 +1,97 @@
+package com.elisis.gtnhlanth;
+
+import java.util.Arrays;
+import java.util.logging.Logger;
+
+import net.minecraftforge.oredict.OreDictionary;
+
+import com.elisis.gtnhlanth.common.CommonProxy;
+import com.elisis.gtnhlanth.common.register.BotWerkstoffMaterialPool;
+import com.elisis.gtnhlanth.common.register.LanthItemList;
+import com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool;
+import com.elisis.gtnhlanth.loader.BotRecipes;
+import com.elisis.gtnhlanth.loader.RecipeLoader;
+import com.github.bartimaeusnek.bartworks.API.WerkstoffAdderRegistry;
+import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
+
+import cpw.mods.fml.common.Mod;
+import cpw.mods.fml.common.Mod.EventHandler;
+import cpw.mods.fml.common.SidedProxy;
+import cpw.mods.fml.common.event.FMLInitializationEvent;
+import cpw.mods.fml.common.event.FMLLoadCompleteEvent;
+import cpw.mods.fml.common.event.FMLPostInitializationEvent;
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_Log;
+
+@Mod(
+ modid = Tags.MODID,
+ version = Tags.VERSION,
+ name = Tags.MODNAME,
+ dependencies = "required-after:IC2; " + "required-after:gregtech; "
+ + "required-after:bartworks; "
+ + "required-after:GoodGenerator; "
+ + "before:miscutils; ")
+public class GTNHLanthanides {
+
+ public static Logger LOG = Logger.getLogger("GTNH:Lanthanides");
+
+ @Mod.Instance
+ public static GTNHLanthanides instance;
+
+ @SidedProxy(
+ clientSide = "com.elisis.gtnhlanth.client.ClientProxy",
+ serverSide = "com.elisis.gtnhlanth.common.CommonProxy")
+ public static CommonProxy proxy;
+
+ @EventHandler
+ public static void preInit(FMLPreInitializationEvent e) {
+ WerkstoffAdderRegistry.addWerkstoffAdder(new WerkstoffMaterialPool());
+ WerkstoffAdderRegistry.addWerkstoffAdder(new BotWerkstoffMaterialPool());
+ LanthItemList.register();
+ // GregTech_API.sAfterGTPostload.add(new ZPMRubberChanges());
+ proxy.preInit(e);
+ }
+
+ @EventHandler
+ public static void init(FMLInitializationEvent e) {
+ proxy.init(e);
+ WerkstoffMaterialPool.runInit();
+ }
+
+ @EventHandler
+ public static void postInit(FMLPostInitializationEvent e) {
+ RecipeLoader.loadGeneral();
+ RecipeLoader.loadLanthanideRecipes();
+ RecipeLoader.addRandomChemCrafting();
+ BotRecipes.addGTRecipe();
+ // RecipeLoader.loadZylonRecipes();
+ proxy.postInit(e);
+ // GT_Log.out.print(FluidRegistry.getFluid("Sodium Tungstate").getName());
+
+ GT_Log.out.print(
+ Arrays.toString(
+ Werkstoff.werkstoffNameHashMap.keySet()
+ .toArray()));
+ GT_Log.out.print(
+ Arrays.toString(
+ Werkstoff.werkstoffHashMap.keySet()
+ .toArray()));
+
+ GT_Log.out.print(
+ "HMMM " + Arrays.toString(
+ OreDictionary
+ .getOreIDs(WerkstoffMaterialPool.DephosphatedSamariumConcentrate.get(OrePrefixes.dust, 1))));
+ }
+
+ @EventHandler
+ public static void onModLoadingComplete(FMLLoadCompleteEvent e) {
+ GT_Log.out.print("AAAAAAAAAAAAAA");
+ //
+ GT_Log.out.print("We are done loading");
+ BotRecipes.removeRecipes();
+ RecipeLoader.removeCeriumSources();
+
+ GT_Log.out.print("blah blah " + WerkstoffMaterialPool.PTMEGElastomer.hasGenerationFeature(OrePrefixes.ingot));
+ }
+}
diff --git a/src/main/java/com/elisis/gtnhlanth/Tags.java b/src/main/java/com/elisis/gtnhlanth/Tags.java
new file mode 100644
index 0000000000..93666809ba
--- /dev/null
+++ b/src/main/java/com/elisis/gtnhlanth/Tags.java
@@ -0,0 +1,9 @@
+package com.elisis.gtnhlanth;
+
+public class Tags {
+
+ public static final String MODID = "GRADLETOKEN_MODID";
+ public static final String MODNAME = "GRADLETOKEN_MODNAME";
+ public static final String VERSION = "GRADLETOKEN_VERSION";
+ public static final String GROUPNAME = "GRADLETOKEN_GROUPNAME";
+}
diff --git a/src/main/java/com/elisis/gtnhlanth/api/recipe/LanthanidesRecipeMaps.java b/src/main/java/com/elisis/gtnhlanth/api/recipe/LanthanidesRecipeMaps.java
new file mode 100644
index 0000000000..4bf100b1d4
--- /dev/null
+++ b/src/main/java/com/elisis/gtnhlanth/api/recipe/LanthanidesRecipeMaps.java
@@ -0,0 +1,25 @@
+package com.elisis.gtnhlanth.api.recipe;
+
+import gregtech.api.gui.modularui.GT_UITextures;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMapBackend;
+import gregtech.api.recipe.RecipeMapBuilder;
+import gregtech.nei.formatter.HeatingCoilSpecialValueFormatter;
+import gregtech.nei.formatter.SimpleSpecialValueFormatter;
+
+public class LanthanidesRecipeMaps {
+
+ public static final RecipeMap<RecipeMapBackend> digesterRecipes = RecipeMapBuilder.of("gtnhlanth.recipe.digester")
+ .maxIO(1, 1, 1, 1)
+ .minInputs(1, 1)
+ .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE)
+ .neiSpecialInfoFormatter(HeatingCoilSpecialValueFormatter.INSTANCE)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> dissolutionTankRecipes = RecipeMapBuilder
+ .of("gtnhlanth.recipe.disstank")
+ .maxIO(2, 3, 2, 1)
+ .minInputs(1, 1)
+ .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE)
+ .neiSpecialInfoFormatter(new SimpleSpecialValueFormatter("value.disstank"))
+ .build();
+}
diff --git a/src/main/java/com/elisis/gtnhlanth/client/ClientProxy.java b/src/main/java/com/elisis/gtnhlanth/client/ClientProxy.java
new file mode 100644
index 0000000000..4420975173
--- /dev/null
+++ b/src/main/java/com/elisis/gtnhlanth/client/ClientProxy.java
@@ -0,0 +1,6 @@
+package com.elisis.gtnhlanth.client;
+
+import com.elisis.gtnhlanth.common.CommonProxy;
+
+public class ClientProxy extends CommonProxy {
+}
diff --git a/src/main/java/com/elisis/gtnhlanth/common/CommonProxy.java b/src/main/java/com/elisis/gtnhlanth/common/CommonProxy.java
new file mode 100644
index 0000000000..6e77ba200f
--- /dev/null
+++ b/src/main/java/com/elisis/gtnhlanth/common/CommonProxy.java
@@ -0,0 +1,14 @@
+package com.elisis.gtnhlanth.common;
+
+import cpw.mods.fml.common.event.FMLInitializationEvent;
+import cpw.mods.fml.common.event.FMLPostInitializationEvent;
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+
+public class CommonProxy {
+
+ public void preInit(FMLPreInitializationEvent e) {}
+
+ public void init(FMLInitializationEvent e) {}
+
+ public void postInit(FMLPostInitializationEvent e) {}
+}
diff --git a/src/main/java/com/elisis/gtnhlanth/common/register/BotWerkstoffMaterialPool.java b/src/main/java/com/elisis/gtnhlanth/common/register/BotWerkstoffMaterialPool.java
new file mode 100644
index 0000000000..3c52faaf64
--- /dev/null
+++ b/src/main/java/com/elisis/gtnhlanth/common/register/BotWerkstoffMaterialPool.java
@@ -0,0 +1,98 @@
+package com.elisis.gtnhlanth.common.register;
+
+import static com.github.bartimaeusnek.bartworks.system.material.Werkstoff.Types.*;
+import static com.github.bartimaeusnek.bartworks.util.BW_Util.subscriptNumbers;
+import static gregtech.api.enums.Materials.*;
+import static gregtech.api.enums.TextureSet.*;
+
+import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
+import com.github.bartimaeusnek.bartworks.util.Pair;
+
+/*
+ * Originally authored by botn365 under the MIT License. See BotdustriesLICENSE
+ */
+@SuppressWarnings("unchecked")
+public class BotWerkstoffMaterialPool implements Runnable {
+
+ public static final Werkstoff TungsticAcid = new Werkstoff(
+ new short[] { 0xf5, 0xf1, 0x16 },
+ "Tungstic Acid",
+ new Werkstoff.Stats(),
+ COMPOUND,
+ new Werkstoff.GenerationFeatures().onlyDust()
+ .enforceUnification(),
+ 29900,
+ SET_SHINY,
+ new Pair<>(Hydrogen, 2),
+ new Pair<>(Tungsten, 1),
+ new Pair<>(Oxygen, 4));
+ public static final Werkstoff TungstenTrioxide = new Werkstoff(
+ new short[] { 0x0f, 0x5, 0x16 },
+ "Tungsten Trioxide",
+ new Werkstoff.Stats(),
+ COMPOUND,
+ new Werkstoff.GenerationFeatures().onlyDust()
+ .enforceUnification(),
+ 29901,
+ SET_SHINY,
+ new Pair<>(Tungsten, 1),
+ new Pair<>(Oxygen, 3));
+ public static final Werkstoff AmmoniumNitrate = new Werkstoff(
+ new short[] { 0x81, 0xcc, 0x00 },
+ "Ammonium Nitrate",
+ new Werkstoff.Stats(),
+ COMPOUND,
+ new Werkstoff.GenerationFeatures().onlyDust(),
+ 29903,
+ SET_FINE,
+ new Pair<>(Nitrogen, 1),
+ new Pair<>(Hydrogen, 4),
+ new Pair<>(Nitrogen, 1),
+ new Pair<>(Oxygen, 3));
+ public static final Werkstoff SodiumTungstate = new Werkstoff(
+ new short[] { 0xc, 0xed, 0xd7, 0 },
+ "Sodium Tungstate",
+ subscriptNumbers("Na2WO4"),
+ new Werkstoff.Stats(),
+ COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ 29904,
+ SET_FINE);
+ public static final Werkstoff Phosgene = new Werkstoff(
+ new short[] { 0x15, 0xa1, 0x1a },
+ "Phosgene",
+ subscriptNumbers("COCl2"),
+ new Werkstoff.Stats(),
+ COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ 29905,
+ SET_FINE);
+ public static final Werkstoff OXylene = new Werkstoff(
+ new short[] { 0x88, 0x94, 0xa8 },
+ "O-Xylene",
+ subscriptNumbers("C8H10"),
+ new Werkstoff.Stats().setGas(true),
+ COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ 29915,
+ SET_FINE);
+ public static final Werkstoff Nitromethane = new Werkstoff(
+ new short[] { 0x87, 0x7d, 0x60 },
+ "Nitromethane",
+ subscriptNumbers("CH3NO2"),
+ new Werkstoff.Stats(),
+ COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ 29914,
+ SET_METALLIC);
+
+ @Override
+ public void run() {
+ // TODO Auto-generated method stub
+
+ }
+}
diff --git a/src/main/java/com/elisis/gtnhlanth/common/register/LanthItemList.java b/src/main/java/com/elisis/gtnhlanth/common/register/LanthItemList.java
new file mode 100644
index 0000000000..69aa026e47
--- /dev/null
+++ b/src/main/java/com/elisis/gtnhlanth/common/register/LanthItemList.java
@@ -0,0 +1,19 @@
+package com.elisis.gtnhlanth.common.register;
+
+import net.minecraft.item.ItemStack;
+
+import com.elisis.gtnhlanth.common.tileentity.Digester;
+import com.elisis.gtnhlanth.common.tileentity.DissolutionTank;
+
+public final class LanthItemList {
+
+ public static ItemStack DIGESTER;
+ public static ItemStack DISSOLUTION_TANK;
+
+ public static void register() {
+
+ LanthItemList.DIGESTER = new Digester(10500, "Digester", "Digester").getStackForm(1L);
+ LanthItemList.DISSOLUTION_TANK = new DissolutionTank(10501, "Dissolution Tank", "Dissolution Tank")
+ .getStackForm(1L);
+ }
+}
diff --git a/src/main/java/com/elisis/gtnhlanth/common/register/WerkstoffMaterialPool.java b/src/main/java/com/elisis/gtnhlanth/common/register/WerkstoffMaterialPool.java
new file mode 100644
index 0000000000..9f788c1b92
--- /dev/null
+++ b/src/main/java/com/elisis/gtnhlanth/common/register/WerkstoffMaterialPool.java
@@ -0,0 +1,1919 @@
+package com.elisis.gtnhlanth.common.register;
+
+import static com.github.bartimaeusnek.bartworks.util.BW_Util.subscriptNumbers;
+
+import java.util.Arrays;
+
+import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
+import com.github.bartimaeusnek.bartworks.util.Pair;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.TextureSet;
+
+@SuppressWarnings({ "unchecked" })
+public class WerkstoffMaterialPool implements Runnable {
+
+ private static final int offsetID = 11_000;
+ private static final int offsetID2 = 11_100;
+ private static final int offsetID3 = 11_300;
+ private static final int offsetID4 = 11_400;
+ private static final int offsetID5 = 11_460;
+
+ /*
+ * public static final Werkstoff __ = new Werkstoff( new short[] {_, _, _}, "__", new Werkstoff.Stats(),
+ * Werkstoff.Types.MIXTURE, new Werkstoff.GenerationFeatures().disable(), offsetID_, TextureSet.SET_DULL );
+ */
+
+ // Misc.
+ public static final Werkstoff Hafnium = new Werkstoff(
+ new short[] { 232, 224, 219 },
+ "Hafnium",
+ subscriptNumbers("Hf"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.ELEMENT,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust()
+ .addMetalItems()
+ .enforceUnification(), // Perhaps use
+ // hafnia
+ // liquid in
+ // elemental
+ // hafnium
+ // synthesis
+ offsetID,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff LowPurityHafnium = new Werkstoff(
+ new short[] { 240, 223, 208 },
+ "Low-Purity Hafnium",
+ subscriptNumbers("??Hf??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(), // Perhaps use hafnia liquid in elemental hafnium
+ // synthesis
+ offsetID + 1,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff Hafnia = new Werkstoff(
+ new short[] { 247, 223, 203 },
+ "Hafnia",
+ subscriptNumbers("HfO2"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(), // Perhaps use hafnia liquid in elemental hafnium
+ // synthesis
+ offsetID + 2,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff HafniumTetrachloride = new Werkstoff(
+ new short[] { 238, 247, 249 },
+ "Hafnium Tetrachloride",
+ subscriptNumbers("HfCl4"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 3,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff HafniumTetrachlorideSolution = new Werkstoff(
+ new short[] { 238, 247, 249 },
+ "Hafnium Tetrachloride Solution",
+ subscriptNumbers("HfCl4"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ offsetID + 4,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff HafniumIodide = new Werkstoff(
+ new short[] { 216, 60, 1 },
+ "Hafnium Iodide",
+ subscriptNumbers("HfI4"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 5,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff HafniumRunoff = new Werkstoff(
+ new short[] { 74, 65, 42 }, // Literally the statistically ugliest colour
+ "Hafnium Runoff",
+ subscriptNumbers("??????"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 6,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff Zirconium = new Werkstoff(
+ new short[] { 225, 230, 225 },
+ "Zirconium",
+ subscriptNumbers("Zr"),
+ new Werkstoff.Stats().setBlastFurnace(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust()
+ .addMetalItems()
+ .enforceUnification(),
+ offsetID + 7,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff Zirconia = new Werkstoff(
+ new short[] { 177, 152, 101 },
+ "Zirconia",
+ subscriptNumbers("ZrO2"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 8,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff ZirconiumTetrachloride = new Werkstoff(
+ new short[] { 179, 164, 151 },
+ "Zirconium Tetrachloride",
+ subscriptNumbers("ZrCl4"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 9,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff ZirconiumTetrachlorideSolution = new Werkstoff(
+ new short[] { 179, 164, 151 },
+ "Zirconium Tetrachloride Solution",
+ subscriptNumbers("ZrCl4"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(), // Blast Furnace needs liquid input because it
+ // can't do 3 item inputs so have a shitty
+ // material
+ offsetID + 10,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff HafniaZirconiaBlend = new Werkstoff(
+ new short[] { 247, 223, 203 },
+ "Hafnia-Zirconia Blend", // Maybe Hafnon??
+ subscriptNumbers("??HfZr??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 11,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff Iodine = new Werkstoff(
+ new short[] { 171, 40, 175 },
+ "Iodine",
+ subscriptNumbers("I"),
+ new Werkstoff.Stats().setProtons(53)
+ .setMass(127)
+ .setSublimation(true)
+ .setBoilingPoint(484)
+ .setGas(true),
+ Werkstoff.Types.ELEMENT,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust()
+ .addCells()
+ .enforceUnification(),
+ offsetID + 12,
+ TextureSet.SET_FLUID);
+
+ // Lanthanide Line
+ public static final Werkstoff MuddyRareEarthMonaziteSolution = new Werkstoff(
+ new short[] { 111, 78, 55 },
+ "Muddy Monazite Rare Earth Solution",
+ subscriptNumbers("??LaNdZr??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ offsetID + 14,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff DilutedRareEarthMonaziteMud = new Werkstoff(
+ new short[] { 160, 120, 90 },
+ "Diluted Monazite Rare Earth Mud",
+ subscriptNumbers("??LaNdHf??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ offsetID + 15,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff DilutedMonaziteSulfate = new Werkstoff(
+ new short[] { 237, 201, 175 },
+ "Diluted Monazite Sulfate",
+ subscriptNumbers("??LaNd??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ offsetID + 16,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff NitratedRareEarthMonaziteConcentrate = new Werkstoff(
+ new short[] { 250, 223, 173 },
+ "Nitrogenated Monazite Rare Earth Concentrate",
+ subscriptNumbers("??LaNd??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ offsetID + 17,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff NitricMonaziteLeachedConcentrate = new Werkstoff(
+ new short[] { 244, 202, 22 },
+ "Nitric Monazite Leached Concentrate",
+ subscriptNumbers("??LaNd??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ offsetID + 18,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff MonaziteSulfate = new Werkstoff(
+ new short[] { 152, 118, 84 },
+ "Monazite Sulfate",
+ subscriptNumbers("??CeEu??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 19,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff AcidicMonazitePowder = new Werkstoff(
+ new short[] { 50, 23, 77 },
+ "Acidic Monazite Powder",
+ subscriptNumbers("????"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 20,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff MonaziteRareEarthFiltrate = new Werkstoff(
+ new short[] { 72, 60, 50 },
+ "Monazite Rare Earth Filtrate",
+ subscriptNumbers("????"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 21,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff NeutralizedMonaziteRareEarthFiltrate = new Werkstoff(
+ new short[] { 50, 23, 77 },
+ "Neutralized Monazite Rare Earth Filtrate",
+ subscriptNumbers("????"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 22,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff MonaziteRareEarthHydroxideConcentrate = new Werkstoff(
+ new short[] { 193, 154, 107 },
+ "Monazite Rare Earth Hydroxide Concentrate",
+ subscriptNumbers("????"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 23,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff DriedMonaziteRareEarthConcentrate = new Werkstoff(
+ new short[] { 250, 214, 165 },
+ "Dried Monazite Rare Earth Concentrate",
+ subscriptNumbers("????"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 24,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff CeriumDioxide = new Werkstoff(
+ new short[] { 255, 255, 255 },
+ "Cerium Dioxide",
+ subscriptNumbers("CeO2"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust()
+ .enforceUnification(),
+ offsetID + 25,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff CeriumChloride = new Werkstoff(
+ new short[] { 255, 255, 255 },
+ "Cerium Chloride",
+ subscriptNumbers("CeCl3"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 26,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff CeriumOxalate = new Werkstoff(
+ new short[] { 255, 255, 224 },
+ "Cerium Oxalate",
+ subscriptNumbers("Ce2(C2O4)3"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 27,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff CeriumIIIOxide = new Werkstoff(
+ new short[] { 255, 255, 102 },
+ "Cerium (III) Oxide",
+ subscriptNumbers("Ce2O3"),
+ new Werkstoff.Stats().setElektrolysis(true),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 28,
+ TextureSet.SET_DULL,
+ Arrays.asList(Materials.Cerium, Materials.Oxygen),
+ new Pair<>(Materials.Cerium, 2),
+ new Pair<>(Materials.Oxygen, 3));
+
+ public static final Werkstoff CeriumRichMixture = new Werkstoff(
+ new short[] { 244, 164, 96 },
+ "Cerium-Rich Mixture",
+ subscriptNumbers("??Ce??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 29,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff CooledMonaziteRareEarthConcentrate = new Werkstoff(
+ new short[] { 250, 214, 165 },
+ "Cooled Monazite Rare Earth Concentrate",
+ subscriptNumbers("????"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 30,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff MonaziteRarerEarthSediment = new Werkstoff(
+ new short[] { 250, 214, 165 },
+ "MonaziteRarer Earth Sediment",
+ subscriptNumbers("????"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 31,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff MonaziteHeterogenousHalogenicRareEarthMixture = new Werkstoff(
+ new short[] { 250, 214, 165 },
+ "Heterogenous Halogenic Monazite Rare Earth Mixture",
+ subscriptNumbers("????"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 32,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff SaturatedMonaziteRareEarthMixture = new Werkstoff(
+ new short[] { 250, 214, 165 },
+ "Saturated Monazite Rare Earth",
+ subscriptNumbers("????"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 33,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff SamaricResidue = new Werkstoff(
+ new short[] { 248, 243, 231 },
+ "Samaric Residue",
+ subscriptNumbers("??SmGd??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 34,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff AmmoniumNitrate = new Werkstoff(
+ new short[] { 255, 255, 255 },
+ "Ammonium Nitrate Solution",
+ subscriptNumbers("NH4NO3"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ offsetID + 36,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff ThoriumPhosphateCake = new Werkstoff(
+ new short[] { 188, 143, 143 },
+ "Thorium-Phosphate Cake",
+ subscriptNumbers("??ThP??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 37,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff ThoriumPhosphateConcentrate = new Werkstoff(
+ new short[] { 217, 144, 88 },
+ "Thorium-Phosphate Concentrate",
+ subscriptNumbers("??ThP??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 38,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff UraniumFiltrate = new Werkstoff(
+ new short[] { 190, 240, 94 },
+ "UraniumFiltrate",
+ subscriptNumbers("??U??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 39,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff NeutralizedUraniumFiltrate = new Werkstoff(
+ new short[] { 217, 120, 88 },
+ "Neutralized Uranium Filtrate",
+ subscriptNumbers("??U??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 40,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff SeaweedAsh = new Werkstoff(
+ new short[] { 70, 75, 71 },
+ "Seaweed Ash",
+ new Werkstoff.Stats(),
+ Werkstoff.Types.BIOLOGICAL,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 41,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff SeaweedConcentrate = new Werkstoff(
+ new short[] { 70, 100, 71 },
+ "Seaweed Concentrate",
+ subscriptNumbers("??I??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.BIOLOGICAL,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ offsetID + 42,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff PotassiumPermanganate = new Werkstoff(
+ new short[] { 165, 50, 138 },
+ "Potassium Permanganate",
+ subscriptNumbers("KMnO4"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .onlyDust(),
+ offsetID + 43,
+ TextureSet.SET_DULL);
+
+ public static final Werkstoff PotassiumPermanganateSolution = new Werkstoff(
+ new short[] { 165, 50, 138 },
+ "Potassium Permanganate Solution",
+ subscriptNumbers("KMnO4"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable()
+ .addCells(),
+ offsetID + 44,
+ TextureSet.SET_FLUID);
+
+ public static final Werkstoff SeaweedByproducts = new Werkstoff(
+