diff options
| author | unknown <gtandemmodding@gmail.com> | 2022-01-26 11:21:01 +1100 |
|---|---|---|
| committer | unknown <gtandemmodding@gmail.com> | 2022-01-26 11:21:01 +1100 |
| commit | 3b4e3b33b630e676b44aa8ec16baf7dd11138d5c (patch) | |
| tree | f084421e82565b34439480c8060df07f1adb5296 /src/main/java/com | |
| parent | 3d743ff6ab49677321eba06a96aff8f4262b85d9 (diff) | |
| download | GT5-Unofficial-3b4e3b33b630e676b44aa8ec16baf7dd11138d5c.tar.gz GT5-Unofficial-3b4e3b33b630e676b44aa8ec16baf7dd11138d5c.tar.bz2 GT5-Unofficial-3b4e3b33b630e676b44aa8ec16baf7dd11138d5c.zip | |
Add materials, add multis, just look at the diff tbh
Diffstat (limited to 'src/main/java/com')
10 files changed, 1289 insertions, 7 deletions
diff --git a/src/main/java/com/elisis/gtnhlanth/GTNHLanthanides.java b/src/main/java/com/elisis/gtnhlanth/GTNHLanthanides.java index 6f22d039e5..5e900fdf55 100644 --- a/src/main/java/com/elisis/gtnhlanth/GTNHLanthanides.java +++ b/src/main/java/com/elisis/gtnhlanth/GTNHLanthanides.java @@ -1,7 +1,11 @@ package com.elisis.gtnhlanth;
+import java.util.logging.Logger;
+
import com.elisis.gtnhlanth.common.CommonProxy;
+import com.elisis.gtnhlanth.common.register.ItemList;
import com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool;
+import com.elisis.gtnhlanth.loader.RecipeLoader;
import com.github.bartimaeusnek.bartworks.API.WerkstoffAdderRegistry;
import cpw.mods.fml.common.Mod;
@@ -13,9 +17,13 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent; @Mod(modid = Tags.MODID, version = Tags.VERSION, name = Tags.MODNAME,
dependencies = "required-after:IC2; " + "required-after:gregtech; "
+ + "required-after:bartworks; "
+ + "required-after:GoodGenerator; "
)
public class GTNHLanthanides {
+ public static Logger LOG = Logger.getLogger("GTNH:Lanthanides");
+
@Mod.Instance
public static GTNHLanthanides instance;
@@ -25,6 +33,7 @@ public class GTNHLanthanides { @EventHandler
public static void preInit(FMLPreInitializationEvent e) {
WerkstoffAdderRegistry.addWerkstoffAdder(new WerkstoffMaterialPool());
+ ItemList.register();
proxy.preInit(e);
}
@@ -35,6 +44,8 @@ public class GTNHLanthanides { @EventHandler
public static void postInit(FMLPostInitializationEvent e) {
+ RecipeLoader.loadGeneral();
+ RecipeLoader.loadLanthanideRecipes();
proxy.postInit(e);
}
diff --git a/src/main/java/com/elisis/gtnhlanth/common/CommonProxy.java b/src/main/java/com/elisis/gtnhlanth/common/CommonProxy.java index c99a60fd79..a1022cf699 100644 --- a/src/main/java/com/elisis/gtnhlanth/common/CommonProxy.java +++ b/src/main/java/com/elisis/gtnhlanth/common/CommonProxy.java @@ -1,7 +1,5 @@ package com.elisis.gtnhlanth.common;
-import java.util.logging.Logger;
-
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
diff --git a/src/main/java/com/elisis/gtnhlanth/common/register/ItemList.java b/src/main/java/com/elisis/gtnhlanth/common/register/ItemList.java new file mode 100644 index 0000000000..9f70c70d78 --- /dev/null +++ b/src/main/java/com/elisis/gtnhlanth/common/register/ItemList.java @@ -0,0 +1,19 @@ +package com.elisis.gtnhlanth.common.register; + +import com.elisis.gtnhlanth.common.tileentity.Digester; + +import net.minecraft.item.ItemStack; + +public final class ItemList { + + public static ItemStack DIGESTER; + + public static void register() { + + ItemList.DIGESTER = new Digester(10500, "Digester", "Digester").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 index ec8bb8cbbf..dca342fded 100644 --- a/src/main/java/com/elisis/gtnhlanth/common/register/WerkstoffMaterialPool.java +++ b/src/main/java/com/elisis/gtnhlanth/common/register/WerkstoffMaterialPool.java @@ -3,6 +3,7 @@ package com.elisis.gtnhlanth.common.register; import static com.github.bartimaeusnek.bartworks.util.BW_Util.subscriptNumbers;
import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
+import com.github.bartimaeusnek.bartworks.system.material.Werkstoff.GenerationFeatures;
import gregtech.api.enums.TextureSet;
@@ -12,6 +13,28 @@ public class WerkstoffMaterialPool implements Runnable { private static final int offsetID = 11_000;
//Misc.
+ public static final Werkstoff Hafnium = new Werkstoff(
+ new short[] {232, 224, 219},
+ "Hafnium",
+ subscriptNumbers("Hf"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.COMPOUND,
+ 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",
@@ -19,10 +42,122 @@ public class WerkstoffMaterialPool implements Runnable { new Werkstoff.Stats(),
Werkstoff.Types.COMPOUND,
new Werkstoff.GenerationFeatures().disable().onlyDust(), //Perhaps use hafnia liquid in elemental hafnium synthesis
- offsetID,
+ 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(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().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(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().addCells().enforceUnification(),
+ offsetID + 12,
+ TextureSet.SET_FLUID
+ );
+
//Lanthanide Line
public static final Werkstoff MuddyRareEarthSolution = new Werkstoff(
@@ -32,7 +167,7 @@ public class WerkstoffMaterialPool implements Runnable { new Werkstoff.Stats(),
Werkstoff.Types.MIXTURE,
new Werkstoff.GenerationFeatures().disable().addCells(),
- offsetID + 1,
+ offsetID + 14,
TextureSet.SET_FLUID
);
@@ -43,7 +178,7 @@ public class WerkstoffMaterialPool implements Runnable { new Werkstoff.Stats(),
Werkstoff.Types.MIXTURE,
new Werkstoff.GenerationFeatures().disable().addCells(),
- offsetID + 2,
+ offsetID + 15,
TextureSet.SET_FLUID
);
@@ -54,11 +189,223 @@ public class WerkstoffMaterialPool implements Runnable { new Werkstoff.Stats(),
Werkstoff.Types.MIXTURE,
new Werkstoff.GenerationFeatures().disable().addCells(),
- offsetID + 3,
+ offsetID + 16,
TextureSet.SET_FLUID
);
-
+ public static final Werkstoff NitratedRareEarthConcentrate = new Werkstoff(
+ new short[] {250, 223, 173},
+ "Nitrated 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 NitricLeachedConcentrate = new Werkstoff(
+ new short[] {244, 202, 22},
+ "Nitric 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 RareEarthFiltrate = new Werkstoff(
+ new short[] {72, 60, 50},
+ "Rare Earth Filtrate",
+ subscriptNumbers("????"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ offsetID + 21,
+ TextureSet.SET_DULL
+ );
+
+ public static final Werkstoff NeutralizedRareEarthFiltrate = new Werkstoff(
+ new short[] {50, 23, 77},
+ "Neutralized Rare Earth Filtrate",
+ subscriptNumbers("????"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ offsetID + 22,
+ TextureSet.SET_DULL
+ );
+
+ public static final Werkstoff RareEarthHydroxideConcentrate = new Werkstoff(
+ new short[] {193, 154, 107},
+ "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 DriedRareEarthConcentrate = new Werkstoff(
+ new short[] {250, 214, 165},
+ "Dried 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(),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ offsetID + 28,
+ TextureSet.SET_DULL
+ );
+
+ 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 CooledRareEarthConcentrate = new Werkstoff(
+ new short[] {250, 214, 165},
+ "Cooled Rare Earth Concentrate",
+ subscriptNumbers("????"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ offsetID + 30,
+ TextureSet.SET_DULL
+ );
+
+ public static final Werkstoff RarerEarthSediment = new Werkstoff(
+ new short[] {250, 214, 165},
+ "Rarer Earth Sediment",
+ subscriptNumbers("????"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ offsetID + 31,
+ TextureSet.SET_DULL
+ );
+
+ public static final Werkstoff HeterogenousHalogenicRareEarthMixture = new Werkstoff(
+ new short[] {250, 214, 165},
+ "Heterogenous Halogenic Rare Earth Mixture",
+ subscriptNumbers("????"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ offsetID + 32,
+ TextureSet.SET_DULL
+ );
+
+ public static final Werkstoff SaturatedRareEarthMixture = new Werkstoff(
+ new short[] {250, 214, 165},
+ "Saturated Rare Earth Mixture",
+ 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 MonaziteResidue = new Werkstoff(
+ new short[] {64, 69, 62},
+ subscriptNumbers("??ZrHfTh??"),
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
+ offsetID + 35,
+ TextureSet.SET_DULL
+ );
+
+
+
+
+
+
@Override
public void run() {
diff --git a/src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java b/src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java new file mode 100644 index 0000000000..655408550c --- /dev/null +++ b/src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java @@ -0,0 +1,206 @@ +package com.elisis.gtnhlanth.common.tileentity; + +import static com.elisis.gtnhlanth.util.DescTextLocalization.BLUEPRINT_INFO; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofCoil; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; + +import java.util.ArrayList; + +import org.lwjgl.input.Keyboard; + +import com.elisis.gtnhlanth.loader.RecipeAdder; +import com.elisis.gtnhlanth.util.DescTextLocalization; +import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContainer_MultiMachineEM; +import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; +import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; +import com.gtnewhorizon.structurelib.structure.IStructureDefinition; +import com.gtnewhorizon.structurelib.structure.StructureDefinition; + +import gregtech.api.GregTech_API; +import gregtech.api.enums.HeatingCoilLevel; +import gregtech.api.enums.Textures; +import gregtech.api.interfaces.IIconContainer; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import gregtech.api.util.GT_Recipe; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; + + +public class Digester extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { + + protected int casingAmount = 0; + protected int height = 0; + + private HeatingCoilLevel heatLevel; + + @SuppressWarnings("deprecation") + private IStructureDefinition<Digester> multiDefinition = StructureDefinition.<Digester>builder() + .addShape(mName, transpose(new String[][] { + {"-------", "-ttttt-", "-t---t-", "-t---t-", "-t---t-", "-ttttt-", "-------"}, + {"--ttt--", "-t---t-", "t-----t", "t-----t", "t-----t", "-t---t-", "--ttt--"}, + {"-tccct-", "tc---ct", "c-----c", "c-----c", "c-----c", "tc---ct", "-tccct-"}, + {"-tt~tt-", "thhhhht", "thsssht", "thsssht", "thsssht", "thhhhht", "-ttttt-"}, + + + + + + })) + .addElement('t', ofChain( + ofHatchAdder(Digester::addInputToMachineList, 47, 1), + ofHatchAdder(Digester::addOutputToMachineList, 47, 1), + ofHatchAdder(Digester::addEnergyInputToMachineList, 47, 1), + ofHatchAdder(Digester::addMaintenanceToMachineList, 47, 1), + ofHatchAdder(Digester::addMufflerToMachineList, 47, 1), + ofBlock(GregTech_API.sBlockCasings4, 0) + )) + .addElement('h', ofBlock(GregTech_API.sBlockCasings1, 11)) + .addElement('s', ofBlock(GregTech_API.sBlockCasings4, 1)) + .addElement('c', ofCoil(Digester::setCoilLevel, Digester::getCoilLevel)) + .build(); + + + //private int mHeat; + //private int mNeededHeat; + + + public Digester(String name) { + super(name); + } + + public Digester(int id, String name, String nameRegional) { + super(id, name, nameRegional); + } + + + @Override + public IStructureDefinition<Digester> getStructure_EM(){ + return multiDefinition; + } + + @Override + public boolean checkMachine_EM(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { + return structureCheck_EM(mName, 3, 3, 0); + } + + @Override + public boolean isCorrectMachinePart(ItemStack aStack) { + return true; + } + + public HeatingCoilLevel getCoilLevel() { + return this.heatLevel; + } + + public void setCoilLevel(HeatingCoilLevel level) { + this.heatLevel = level; + } + + @Override + public boolean checkRecipe_EM(ItemStack itemStack) { + + ArrayList<FluidStack> tFluidInputs = this.getStoredFluids(); + FluidStack[] tFluidInputArray = tFluidInputs.toArray(new FluidStack[0]); + ArrayList<ItemStack> tItems = this.getStoredInputs(); + long tVoltage = this.getMaxInputVoltage(); + + //Collection<GT_Recipe> tRecipes = RecipeAdder.instance.DigesterRecipes.mRecipeList; + GT_Recipe tRecipe = RecipeAdder.instance.DigesterRecipes.findRecipe( + this.getBaseMetaTileEntity(), + this.doTickProfilingInThisTick, + tVoltage, + this.mOutputFluids, + this.mInventory + ); + + if (tRecipe == null) + return false; + + if (tRecipe.isRecipeInputEqual(true, tFluidInputArray, mInventory[1])) { + + this.mEfficiency = (10000 - (this.getIdealStatus() - this.getRepairStatus()) * 1000); + this.mEfficiencyIncrease = 10000; + this.calculateOverclockedNessMulti(tRecipe.mEUt, tRecipe.mDuration, 1, tVoltage); + + if (mMaxProgresstime == Integer.MAX_VALUE - 1 && this.mEUt == Integer.MAX_VALUE - 1) + return false; + + if (tRecipe.mSpecialValue > this.getCoilLevel().getHeat()) + return false; + + if (this.mEUt > 0) + this.mEUt = (-this.mEUt); + + this.mOutputFluids = new FluidStack[] { + tRecipe.getFluidOutput(0) + }; + return true; + } + return false; + } + + @Override + public int getMaxEfficiency(ItemStack itemStack) { + return 10000; + } + + @Override + public int getPollutionPerTick(ItemStack aStack) { + return 200; + } + + @Override + public Object getClientGUI(int id, InventoryPlayer playerInventory, IGregTechTileEntity metaTileEntity) { + return new GT_GUIContainer_MultiMachineEM(playerInventory, metaTileEntity, getLocalName(), "Digester.png"); + } + + @Override + public String[] getDescription() { + final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); + tt.addMachineType("Digester") + .addInfo("Controller block for the Digester") + .addInfo("Input ores and fluid, output water.") + .addInfo("You will need to balance the heat provided") + .addInfo("to be able to complete the recipe.") + .addInfo(BLUEPRINT_INFO) + .addSeparator() + .addController("Front bottom") + .addInputHatch("Hint block with dot 1") + .addInputBus("Hint block with dot 1") + .addOutputHatch("Hint block with dot 2") + .addOutputBus("Hint block with dot 2") + .addMaintenanceHatch("Hint block with dot 2") + .addOtherStructurePart("Neutron Accelerator", "Hint block with dot 2") + .addOtherStructurePart("Neutron Sensor", "Hint block with dot 2") + .addCasingInfo("Clean Stainless Steel Machine Casing", 7) + .toolTipFinisher("GTNH: Lanthanides"); + if (!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { + return tt.getInformation(); + } else { + return tt.getStructureInformation(); + } + } + + @Override + public IMetaTileEntity newMetaEntity(IGregTechTileEntity arg0) { + return new Digester(this.mName); + } + + @Override + public void construct(ItemStack itemStack, boolean b) { + structureBuild_EM(mName, 3, 3, 0, b, itemStack); + + } + + @Override + public String[] getStructureDescription(ItemStack arg0) { + return DescTextLocalization.addText("UniversalChemicalFuelEngine.hint", 11); + } + +} diff --git a/src/main/java/com/elisis/gtnhlanth/common/tileentity/DissolutionTank.java b/src/main/java/com/elisis/gtnhlanth/common/tileentity/DissolutionTank.java new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/main/java/com/elisis/gtnhlanth/common/tileentity/DissolutionTank.java diff --git a/src/main/java/com/elisis/gtnhlanth/loader/MetaTileEntity_Loader.java b/src/main/java/com/elisis/gtnhlanth/loader/MetaTileEntity_Loader.java new file mode 100644 index 0000000000..a2cd209a13 --- /dev/null +++ b/src/main/java/com/elisis/gtnhlanth/loader/MetaTileEntity_Loader.java @@ -0,0 +1,5 @@ +package com.elisis.gtnhlanth.loader; + +public class MetaTileEntity_Loader { + +} diff --git a/src/main/java/com/elisis/gtnhlanth/loader/RecipeAdder.java b/src/main/java/com/elisis/gtnhlanth/loader/RecipeAdder.java new file mode 100644 index 0000000000..fa17bc4bdd --- /dev/null +++ b/src/main/java/com/elisis/gtnhlanth/loader/RecipeAdder.java @@ -0,0 +1,91 @@ +package com.elisis.gtnhlanth.loader; + +import java.util.Collection; +import java.util.HashSet; + +import gregtech.api.util.GT_Recipe; +import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; +import net.minecraftforge.fluids.FluidStack; + +public class RecipeAdder { + + + + public static final RecipeAdder instance = new RecipeAdder(); + + public final DigestMap DigesterRecipes = new DigestMap( + new HashSet<>(100), + "gtnhlanth.recipe.digester", + StatCollector.translateToLocal("tile.recipe.digester"), + null, + "gtnhlanth:textures/gui/digester", + 1, 1, 1, 1, 1, + StatCollector.translateToLocal("value.digester") + ": ", //Heat Capacity + 1, + "K", + false, + true + ); + + public final DissolutionTankMap DissolutionTankRecipes = new DissolutionTankMap( + new HashSet<>(100), + "gtnhlanth.recipe.disstank", + StatCollector.translateToLocal("tile.recipe.disstank"), + null, + "gtnhlanth:textures/gui/disstank", + 1, 1, 1, 1, 1, + StatCollector.translateToLocal("value.disstank") + " ", + 1, + " EU/t", + false, + true + ); + + + public class DigestMap extends GT_Recipe.GT_Recipe_Map { + + public DigestMap(Collection<GT_Recipe> aRecipeList, + String aUnlocalizedName, String aLocalName, + String aNEIName, String aNEIGUIPath, + int aUsualInputCount, int aUsualOutputCount, + int aMinimalInputItems, int aMinimalInputFluids, + int aAmperage, String aNEISpecialValuePre, + int aNEISpecialValueMultiplier, String aNEISpecialValuePost, + boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) { + super(aRecipeList, aUnlocalizedName, aLocalName, aNEIName, aNEIGUIPath, aUsualInputCount, aUsualOutputCount, + aMinimalInputItems, aMinimalInputFluids, aAmperage, aNEISpecialValuePre, aNEISpecialValueMultiplier, + aNEISpecialValuePost, aShowVoltageAmperageInNEI, aNEIAllowed); + + } + + public void addDigesterRecipe(FluidStack[] fluidInputs, ItemStack[] itemInputs, FluidStack fluidOutput, ItemStack[] itemOutputs, int EUt, int ticks, int heat){ + super.addRecipe(false, itemInputs, itemOutputs, null, fluidInputs, new FluidStack[]{fluidOutput}, ticks, EUt, heat); + } + + + } + + public class DissolutionTankMap extends GT_Recipe.GT_Recipe_Map { + + public DissolutionTankMap(Collection<GT_Recipe> aRecipeList, + String aUnlocalizedName, String aLocalName, + String aNEIName, String aNEIGUIPath, + int aUsualInputCount, int aUsualOutputCount, + int aMinimalInputItems, int aMinimalInputFluids, + int aAmperage, String aNEISpecialValuePre, + int aNEISpecialValueMultiplier, String aNEISpecialValuePost, + boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) { + super(aRecipeList, aUnlocalizedName, aLocalName, aNEIName, aNEIGUIPath, aUsualInputCount, aUsualOutputCount, + aMinimalInputItems, aMinimalInputFluids, aAmperage, aNEISpecialValuePre, aNEISpecialValueMultiplier, + aNEISpecialValuePost, aShowVoltageAmperageInNEI, aNEIAllowed); + + } + + public void addDissolutionTankRecipe(FluidStack[] fluidInputs, ItemStack[] itemInputs, FluidStack fluidOutput, ItemStack[] itemOutputs, int EUt, int ticks) { + super.addRecipe(false, itemInputs, itemOutputs, null, fluidInputs, new FluidStack[] {fluidOutput}, ticks, EUt, ticks); + } + + } + +} diff --git a/src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java b/src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java new file mode 100644 index 0000000000..2700154bee --- /dev/null +++ b/src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java @@ -0,0 +1,587 @@ +package com.elisis.gtnhlanth.loader; + +import static goodgenerator.items.MyMaterial.naquadahEarth; + +import java.util.HashSet; + +import com.elisis.gtnhlanth.Tags; +import com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool; +import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; + +import goodgenerator.crossmod.LoadedList; +import goodgenerator.items.MyMaterial; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GTPP_Recipe; +import gregtech.api.util.GT_Log; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Utility; +import gregtech.common.items.CombType; +import gregtech.loaders.misc.GT_Bees; +import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_MultisUsingFluidInsteadOfCells; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.oredict.OreDictionary; + +public class RecipeLoader { + + private static final Materials[] BLACKLIST = null; + + public static void loadGeneral() { + + /* ZIRCONIUM */ + //ZrCl4 + GT_Values.RA.addChemicalRecipe( + GT_Utility.getIntegratedCircuit(1), + WerkstoffMaterialPool.Zirconia.get(OrePrefixes.dust, 1), + Materials.HydrochloricAcid.getFluid(4000), + Materials.Water.getFluid(2000), + WerkstoffMaterialPool.ZirconiumTetrachloride.get(OrePrefixes.dust, 1), + 300 + ); + + //ZrCl4 |
