Skip to content

Commit

Permalink
Platinum, Rhodium chains, GTCEu electrolysis total removal (#22)
Browse files Browse the repository at this point in the history
* replaced electrolysis platinum groupe sludge separation by chemical bath/centrifuge recipes

* almost finished rhodium chain, added config

* finished rhodium chain

* several fixes, removed useless GTCEu recipeMaps modification

* several fixes, removed electrolyzer, recipemap

* added sodium nitrite recipes

* updated changelog
  • Loading branch information
tekcay authored Jan 27, 2024
1 parent bf0ed3e commit f03d0f5
Show file tree
Hide file tree
Showing 17 changed files with 361 additions and 25 deletions.
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@
## v0.2

### Features
- added missing steps in Platinum and Rhodium chains ([#22](https://github.com/tekcay/tkcy-simple-addon/pull/22))
- added methane cracking recipes in the cracking unit and removed the GTCEu one.
Subsequent products must be distilled to recover the desired hydrogen
([#21](https://github.com/tekcay/tkcy-simple-addon/pull/21))


### Internal

- added JEI module to hide ingredients ([#21](https://github.com/tekcay/tkcy-simple-addon/pull/21))

### Fixes

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import tkcy.simpleaddon.api.unification.TKCYSAFirstDegreeMaterials;
import tkcy.simpleaddon.api.unification.iconset.MaterialIconAddition;
import tkcy.simpleaddon.api.unification.materials.chains.*;
import tkcy.simpleaddon.api.unification.materials.other.Chemicals;
import tkcy.simpleaddon.api.unification.materials.other.MethaneCracking;
import tkcy.simpleaddon.api.unification.materials.other.MiscMaterials;
import tkcy.simpleaddon.api.unification.properties.PropertiesAddition;
Expand All @@ -27,12 +28,14 @@ public static void init() {
id = GermaniumChainMaterials.init(id);
id = FluorineChainMaterials.init(id);
id = ManganeseChainMaterials.register(id);
id = SmallChains.init(id);
id = SmallChainsMaterials.init(id);
id = MethaneCracking.register(id);
id = PlatinumGroupChainMaterials.register(id);

id = AlloysMaterials.init(id);

id = MiscMaterials.register(id);
id = Chemicals.register(id);

MaterialsFormula.init();

Expand Down Expand Up @@ -61,13 +64,6 @@ public static void init() {
// FluorineChain
public static Material PotassiumBifluoride;
public static Material Fluorite;

/**
* Used in
* Fireproofing:
* Fire-Resistant Materials: Calcium sulfate can contribute to the fire resistance of certain materials, making it
* useful in applications where fireproofing is essential.
*/
public static Material CalciumSulfate;
public static Material LithiumFluoride;
public static Material SodiumFluoride;
Expand Down Expand Up @@ -135,6 +131,14 @@ public static void init() {
public static Material DimethylOxalate;
public static Material DiethylOxalate;

// Platinum chain
public static Material TreatedPlatinumGroupSludge;
public static Material RhodiumHydroxide;
public static Material ChlororhodicAcid;
public static Material RhodiumPrecipitate;
public static Material TreatedRhodiumPrecipitate;
public static Material HotRhodium;

// Alloys
public static Material GalvanizedSteel;
public static Material Monel;
Expand All @@ -149,6 +153,9 @@ public static void init() {
// Misc
public static Material Ceramic;
public static Material MicaPulp;
public static Material SodiumNitrite;
public static Material SodiumNitriteSolution;
public static Material LiquidDinitrogenTrioxide;

// MethaneCracking
public static Material LightlySteamCrackedMethane;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package tkcy.simpleaddon.api.unification.materials.chains;

import static gregtech.api.unification.material.Materials.*;
import static gregtech.api.util.GTUtility.gregtechId;
import static tkcy.simpleaddon.api.unification.materials.TKCYSAMaterials.*;

import gregtech.api.fluids.FluidBuilder;
import gregtech.api.fluids.attribute.FluidAttributes;
import gregtech.api.unification.material.Material;
import gregtech.api.unification.material.info.MaterialFlags;

public class PlatinumGroupChainMaterials {

public static int register(int startId) {
TreatedPlatinumGroupSludge = new Material.Builder(startId++,
gregtechId("treated_platinum_group_sludge"))
.liquid(new FluidBuilder().attributes(FluidAttributes.ACID))
.components(PlatinumGroupSludge, 5, AquaRegia, 1)
.colorAverage()
.build();
TreatedPlatinumGroupSludge.setFormula("");

RhodiumHydroxide = new Material.Builder(startId++, gregtechId("rhodium_hydroxide"))
.dust()
.fluid()
.components(Rhodium, 1, Oxygen, 2, Hydrogen, 2)
.colorAverage()
.build();
RhodiumHydroxide.setFormula("Rh(OH)2", true);

ChlororhodicAcid = new Material.Builder(startId++, gregtechId("chlororhodic_acid"))
.liquid(new FluidBuilder().attributes(FluidAttributes.ACID))
.components(Hydrogen, 3, Rhodium, 1, Chlorine, 6)
.colorAverage()
.build();

RhodiumPrecipitate = new Material.Builder(startId++, gregtechId("rhodium_precipitate"))
.dust()
.color(0x8c2222)
.build();
RhodiumPrecipitate.setFormula("Rh?");

TreatedRhodiumPrecipitate = new Material.Builder(startId++, gregtechId("treated_rhodium_precipitate"))
.liquid(new FluidBuilder().attributes(FluidAttributes.ACID))
.components(RhodiumPrecipitate, 1, HydrochloricAcid, 4)
.colorAverage()
.build();

HotRhodium = new Material.Builder(startId++, gregtechId("rhodium_hot"))
.liquid(new FluidBuilder().temperature(1500))
.flags(MaterialFlags.DISABLE_DECOMPOSITION)
.components(Rhodium, 1)
.colorAverage()
.build();

return startId;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import gregtech.api.unification.material.Material;
import gregtech.api.unification.material.info.MaterialFlags;

public class SmallChains {
public class SmallChainsMaterials {

public static int init(int id) {
PigIron = new Material.Builder(id++, gregtechId("pig_iron"))
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package tkcy.simpleaddon.api.unification.materials.other;

import static gregtech.api.unification.material.Materials.*;
import static gregtech.api.util.GTUtility.gregtechId;
import static tkcy.simpleaddon.api.unification.materials.TKCYSAMaterials.*;

import gregtech.api.fluids.FluidBuilder;
import gregtech.api.unification.material.Material;

public class Chemicals {

public static int register(int startId) {
SodiumNitrite = new Material.Builder(startId++, gregtechId("sodium_nitrite"))
.dust()
.components(Sodium, 1, Nitrogen, 1, Oxygen, 2)
.colorAverage()
.build();

SodiumNitriteSolution = new Material.Builder(startId++, gregtechId("sodium_nitrite_solution"))
.fluid()
.components(SodiumNitrite, 1, Water, 1)
.colorAverage()
.build();

LiquidDinitrogenTrioxide = new Material.Builder(startId++, gregtechId("liquid_dinitrogen_trioxide"))
.liquid(new FluidBuilder().temperature(140))
.components(Nitrogen, 2, Oxygen, 3)
.colorAverage()
.build();

return startId;
}
}
2 changes: 0 additions & 2 deletions src/main/java/tkcy/simpleaddon/common/ClientProxy.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;

import tkcy.simpleaddon.api.render.GCYMTextures;
import tkcy.simpleaddon.common.block.TKCYSAMetaBlocks;

@Mod.EventBusSubscriber(Side.CLIENT)
Expand All @@ -14,7 +13,6 @@ public class ClientProxy extends CommonProxy {
@Override
public void preLoad() {
super.preLoad();
GCYMTextures.preInit();
}

@SubscribeEvent
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/tkcy/simpleaddon/common/CommonProxy.java
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,9 @@ public static void registerMaterials(MaterialEvent event) {
OrePrefixRegistry.register();
}

@SubscribeEvent()
public static void registerRecipes(RegistryEvent.Register<IRecipe> event) {}

@SubscribeEvent
public static void registerMaterialsPost(PostMaterialEvent event) {
FlagsAddition.init();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ public static class Chains {
public boolean enableGermaniumChain = true;
public boolean enableCopperChain = true;
public boolean enableAluminiumChain = true;
public boolean enablePlatinumGroupChains = true;
}

@Config.Comment("Config options applying to all chains")
Expand Down
Empty file.
27 changes: 27 additions & 0 deletions src/main/java/tkcy/simpleaddon/integration/jei/Removals.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package tkcy.simpleaddon.integration.jei;

import java.util.Arrays;
import java.util.Objects;

import org.jetbrains.annotations.NotNull;

import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.common.metatileentities.MetaTileEntities;

import mezz.jei.api.*;
import mezz.jei.api.ingredients.IIngredientBlacklist;

@JEIPlugin
public class Removals implements IModPlugin {

@Override
public void register(@NotNull IModRegistry registry) {
IJeiHelpers jeiHelpers = registry.getJeiHelpers();
IIngredientBlacklist ingredientBlacklist = jeiHelpers.getIngredientBlacklist();

Arrays.stream(MetaTileEntities.ELECTROLYZER)
.filter(Objects::nonNull)
.map(MetaTileEntity::getStackForm)
.forEach(ingredientBlacklist::addIngredientToBlacklist);
}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
package tkcy.simpleaddon.loaders.recipe;

import static gregtech.api.recipes.RecipeMaps.*;
import static tkcy.simpleaddon.common.TKCYSAConfigHolder.chains;
import static tkcy.simpleaddon.common.TKCYSAConfigHolder.harderStuff;

import gregtech.api.recipes.RecipeMaps;
import java.util.Arrays;
import java.util.Objects;

import net.minecraft.item.ItemStack;

import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.recipes.GTRecipeHandler;
import gregtech.api.recipes.ModHandler;
import gregtech.common.metatileentities.MetaTileEntities;

import tkcy.simpleaddon.loaders.recipe.alloys.AlloyingRecipes;
import tkcy.simpleaddon.loaders.recipe.alloys.GalvanizedSteelRecipes;
Expand All @@ -18,30 +27,39 @@ public final class TKCYSARecipeLoader {
private TKCYSARecipeLoader() {}

public static void init() {
RecipeMaps.BLAST_RECIPES.setMaxFluidOutputs(2);
POLARIZER_RECIPES.setMaxInputs(2);

TKCYSAMaterialRecipeHandler.register();

OxalicAcidChain.init();
MiscChemicals.init();
PrimitiveCastingHandler.init();
PartsHandler.init();
GasReleaseHandler.generateRecipes();

harderStuff();
chains();
BrickMTEs.init();

removeGTCEuElectrolyzsis();
removeGTCEuElectrolyzerMTEs();
}

private static void harderStuff() {
if (harderStuff.enableAlloyingAndCasting) AlloyingRecipes.init();
if (harderStuff.enableHarderCoils) HarderCoilsRecipes.init();
if (harderStuff.enableHarderPolarization) HarderPolarization.init();
if (harderStuff.removeTinCircuitRecipes) CircuitRecipes.init();
if (harderStuff.enableHarderComponents) HarderComponents.init();
if (harderStuff.enableMethaneCracking) MethaneCracking.init();

MTEs.init();

if (harderStuff.enableHarderMachineCasings) {
GalvanizedSteelRecipes.init();
HarderMachineCasings.init();
}
}

private static void chains() {
OxalicAcidChain.init();
if (chains.enablePlatinumGroupChains) PlatinumChain.init();
if (chains.enableCopperChain) CopperChains.init();
if (chains.enableChromiteChain) ChromiteChain.init();
if (chains.enableGoldChain) GoldChain.init();
Expand All @@ -53,4 +71,19 @@ public static void init() {
if (chains.enableAluminiumChain) AluminiumChain.init();
if (chains.enableAluminiumChain) FluorineChain.init();
}

private static void removeGTCEuElectrolyzsis() {
GTRecipeHandler.removeAllRecipes(ELECTROLYZER_RECIPES);
}

/**
* Hidden in JEI via {@link //tkcy.simpleaddon.integration.jei.Removals}.
*/
private static void removeGTCEuElectrolyzerMTEs() {
Arrays.stream(MetaTileEntities.ELECTROLYZER)
.filter(Objects::nonNull)
.map(MetaTileEntity::getStackForm)
.map(ItemStack::copy)
.forEach(ModHandler::removeRecipeByOutput);
}
}
Loading

0 comments on commit f03d0f5

Please sign in to comment.