diff --git a/.gitignore b/.gitignore
index 365f4fd3..e5993572 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,9 @@
# run
run/*
+#include run in src
+!src/main/java/com/astro/core/common/data/recipe/run/
+!src/main/java/com/astro/core/common/data/recipe/run/**
# gradle
.gradle/
diff --git a/src/generated/resources/assets/astrogreg/lang/en_ud.json b/src/generated/resources/assets/astrogreg/lang/en_ud.json
index c62332f3..5e64f216 100644
--- a/src/generated/resources/assets/astrogreg/lang/en_ud.json
+++ b/src/generated/resources/assets/astrogreg/lang/en_ud.json
@@ -17,14 +17,18 @@
"material.astrogreg.calorite": "ǝʇıɹoןɐƆ",
"material.astrogreg.desh": "ɥsǝᗡ",
"material.astrogreg.electrolyte": "ǝʇʎןoɹʇɔǝןƎ",
+ "material.astrogreg.elementium": "ɯnıʇuǝɯǝןƎ",
"material.astrogreg.energized_steel": "ןǝǝʇS pǝzıbɹǝuƎ",
"material.astrogreg.etrium": "ɯnıɹʇƎ",
"material.astrogreg.futura_alloy": "ןǝǝʇS ɐɹnʇnℲ",
+ "material.astrogreg.gaiasteel": "ןǝǝʇsɐıɐ⅁",
"material.astrogreg.jovite": "ǝʇıʌoſ",
"material.astrogreg.juperium": "ɯnıɹǝdnſ",
"material.astrogreg.kronalium": "ɯnıןɐuoɹʞ",
+ "material.astrogreg.manasteel": "ןǝǝʇsɐuɐW",
"material.astrogreg.ostrum": "ɯnɹʇsO",
- "material.astrogreg.polyamide_imide": "ǝpıɯI-pıɯɐʎןoԀ",
+ "material.astrogreg.polyamide_imide": "ǝpıɯI-ǝpıɯɐʎןoԀ",
"material.astrogreg.saturlyte": "ǝʇʎןɹnʇɐS",
- "material.astrogreg.sky_stone": "ǝuoʇS ʎʞS"
+ "material.astrogreg.sky_stone": "ǝuoʇS ʎʞS",
+ "material.astrogreg.terrasteel": "ןǝǝʇsɐɹɹǝ⟘"
}
\ No newline at end of file
diff --git a/src/generated/resources/assets/astrogreg/lang/en_us.json b/src/generated/resources/assets/astrogreg/lang/en_us.json
index a0aadfd3..911f642a 100644
--- a/src/generated/resources/assets/astrogreg/lang/en_us.json
+++ b/src/generated/resources/assets/astrogreg/lang/en_us.json
@@ -17,14 +17,18 @@
"material.astrogreg.calorite": "Calorite",
"material.astrogreg.desh": "Desh",
"material.astrogreg.electrolyte": "Electrolyte",
+ "material.astrogreg.elementium": "Elementium",
"material.astrogreg.energized_steel": "Energized Steel",
"material.astrogreg.etrium": "Etrium",
"material.astrogreg.futura_alloy": "Futura Steel",
+ "material.astrogreg.gaiasteel": "Gaiasteel",
"material.astrogreg.jovite": "Jovite",
"material.astrogreg.juperium": "Juperium",
"material.astrogreg.kronalium": "Kronalium",
+ "material.astrogreg.manasteel": "Manasteel",
"material.astrogreg.ostrum": "Ostrum",
- "material.astrogreg.polyamide_imide": "Polyamid-Imide",
+ "material.astrogreg.polyamide_imide": "Polyamide-Imide",
"material.astrogreg.saturlyte": "Saturlyte",
- "material.astrogreg.sky_stone": "Sky Stone"
+ "material.astrogreg.sky_stone": "Sky Stone",
+ "material.astrogreg.terrasteel": "Terrasteel"
}
\ No newline at end of file
diff --git a/src/main/java/com/astro/core/AstroCore.java b/src/main/java/com/astro/core/AstroCore.java
index 3221d5cb..855f8325 100644
--- a/src/main/java/com/astro/core/AstroCore.java
+++ b/src/main/java/com/astro/core/AstroCore.java
@@ -1,6 +1,5 @@
package com.astro.core;
-import com.astro.core.common.data.materials.AstroPolymers;
import com.gregtechceu.gtceu.api.GTCEuAPI;
import com.gregtechceu.gtceu.api.data.chemical.material.event.MaterialEvent;
import com.gregtechceu.gtceu.api.data.chemical.material.event.MaterialRegistryEvent;
@@ -28,6 +27,7 @@
import com.astro.core.common.data.materials.AstroMaterialFlagAddition;
import com.astro.core.common.data.materials.AstroMaterialFlags;
import com.astro.core.common.data.materials.AstroMaterials;
+import com.astro.core.common.data.materials.AstroPolymers;
import com.astro.core.common.machine.multiblock.generator.AetherEngine;
import com.astro.core.common.machine.multiblock.generator.ManaBoilers;
import com.astro.core.datagen.AstroDatagen;
diff --git a/src/main/java/com/astro/core/AstroGregGTAddon.java b/src/main/java/com/astro/core/AstroGregGTAddon.java
index 884b8720..ac35cc42 100644
--- a/src/main/java/com/astro/core/AstroGregGTAddon.java
+++ b/src/main/java/com/astro/core/AstroGregGTAddon.java
@@ -1,7 +1,5 @@
package com.astro.core;
-import com.astro.core.common.data.recipe.generated.AstroWireRecipeHandler;
-import com.astro.core.common.data.recipe.run.AstroWireRecipeRunner;
import com.gregtechceu.gtceu.api.addon.GTAddon;
import com.gregtechceu.gtceu.api.addon.IGTAddon;
import com.gregtechceu.gtceu.api.registry.registrate.GTRegistrate;
@@ -11,6 +9,7 @@
import com.astro.core.common.data.AstroMachineRecipes;
import com.astro.core.common.data.block.AstroBlocks;
import com.astro.core.common.data.materials.AstroElements;
+import com.astro.core.common.data.recipe.run.AstroWireRecipeRunner;
import com.astro.core.common.registry.AstroRegistry;
import java.util.function.Consumer;
diff --git a/src/main/java/com/astro/core/common/GTVoltage.java b/src/main/java/com/astro/core/common/GTVoltage.java
new file mode 100644
index 00000000..7bf5f30c
--- /dev/null
+++ b/src/main/java/com/astro/core/common/GTVoltage.java
@@ -0,0 +1,64 @@
+package com.astro.core.common;
+
+import com.gregtechceu.gtceu.api.GTValues;
+
+public final class GTVoltage {
+
+ private GTVoltage() {}
+
+ public static final class V {
+
+ public static final long ULV = GTValues.V[GTValues.ULV];
+ public static final long LV = GTValues.V[GTValues.LV];
+ public static final long MV = GTValues.V[GTValues.MV];
+ public static final long HV = GTValues.V[GTValues.HV];
+ public static final long EV = GTValues.V[GTValues.EV];
+ public static final long IV = GTValues.V[GTValues.IV];
+ public static final long LuV = GTValues.V[GTValues.LuV];
+ public static final long ZPM = GTValues.V[GTValues.ZPM];
+ public static final long UV = GTValues.V[GTValues.UV];
+ public static final long UHV = GTValues.V[GTValues.UHV];
+ }
+
+ public static final class VA {
+
+ public static final long ULV = GTValues.VA[GTValues.ULV];
+ public static final long LV = GTValues.VA[GTValues.LV];
+ public static final long MV = GTValues.VA[GTValues.MV];
+ public static final long HV = GTValues.VA[GTValues.HV];
+ public static final long EV = GTValues.VA[GTValues.EV];
+ public static final long IV = GTValues.VA[GTValues.IV];
+ public static final long LuV = GTValues.VA[GTValues.LuV];
+ public static final long ZPM = GTValues.VA[GTValues.ZPM];
+ public static final long UV = GTValues.VA[GTValues.UV];
+ public static final long UHV = GTValues.VA[GTValues.UHV];
+ }
+
+ public static final class VH {
+
+ public static final long ULV = GTValues.VH[GTValues.ULV];
+ public static final long LV = GTValues.VH[GTValues.LV];
+ public static final long MV = GTValues.VH[GTValues.MV];
+ public static final long HV = GTValues.VH[GTValues.HV];
+ public static final long EV = GTValues.VH[GTValues.EV];
+ public static final long IV = GTValues.VH[GTValues.IV];
+ public static final long LuV = GTValues.VH[GTValues.LuV];
+ public static final long ZPM = GTValues.VH[GTValues.ZPM];
+ public static final long UV = GTValues.VH[GTValues.UV];
+ public static final long UHV = GTValues.VH[GTValues.UHV];
+ }
+
+ public static final class VHA {
+
+ public static final long ULV = GTValues.VHA[GTValues.ULV];
+ public static final long LV = GTValues.VHA[GTValues.LV];
+ public static final long MV = GTValues.VHA[GTValues.MV];
+ public static final long HV = GTValues.VHA[GTValues.HV];
+ public static final long EV = GTValues.VHA[GTValues.EV];
+ public static final long IV = GTValues.VHA[GTValues.IV];
+ public static final long LuV = GTValues.VHA[GTValues.LuV];
+ public static final long ZPM = GTValues.VHA[GTValues.ZPM];
+ public static final long UV = GTValues.VHA[GTValues.UV];
+ public static final long UHV = GTValues.VHA[GTValues.UHV];
+ }
+}
diff --git a/src/main/java/com/astro/core/common/data/materials/AstroMaterials.java b/src/main/java/com/astro/core/common/data/materials/AstroMaterials.java
index 2b1baa7f..d072f592 100644
--- a/src/main/java/com/astro/core/common/data/materials/AstroMaterials.java
+++ b/src/main/java/com/astro/core/common/data/materials/AstroMaterials.java
@@ -8,10 +8,13 @@
import appeng.core.definitions.AEItems;
import com.astro.core.AstroCore;
+import com.astro.core.common.GTVoltage;
import com.drd.ad_extendra.common.registry.ModBlocks;
import earth.terrarium.adastra.common.registry.ModItems;
+import org.zeith.botanicadds.init.ItemsBA;
import owmii.powah.block.Blcks;
import owmii.powah.item.Itms;
+import vazkii.botania.common.item.BotaniaItems;
import static com.gregtechceu.gtceu.api.data.tag.TagPrefix.*;
@@ -29,9 +32,12 @@ public class AstroMaterials {
public static Material ENERGIZED_STEEL;
public static Material SKY_STONE;
public static Material FUTURA_ALLOY;
+ public static Material MANASTEEL;
+ public static Material TERRASTEEL;
+ public static Material ELEMENTIUM;
+ public static Material GAIASTEEL;
public static void register() {
-
// Ad Astra/Extendra Materials
DESH = new Material.Builder(
AstroCore.id("desh"))
@@ -169,6 +175,55 @@ public static void register() {
.buildAndRegister();
// Botania
+ MANASTEEL = new Material.Builder(
+ AstroCore.id("manasteel"))
+ .langValue("Manasteel")
+ .dust()
+ .ingot()
+ .fluid()
+ .blastTemp(1000, BlastProperty.GasTier.LOW, 120, 400)
+ .flags(MaterialFlags.GENERATE_FRAME, MaterialFlags.GENERATE_DENSE,
+ MaterialFlags.GENERATE_PLATE, MaterialFlags.GENERATE_ROD, MaterialFlags.MORTAR_GRINDABLE)
+ .color(0x228cc9).secondaryColor(0x000000).iconSet(MaterialIconSet.SHINY)
+// .formula("*Fe*")
+ .buildAndRegister();
+
+ TERRASTEEL = new Material.Builder(
+ AstroCore.id("terrasteel"))
+ .langValue("Terrasteel")
+ .dust()
+ .ingot()
+ .fluid()
+ .blastTemp(1700, BlastProperty.GasTier.LOW, (int) GTVoltage.VA.MV, 800)
+ .flags(MaterialFlags.GENERATE_FRAME, MaterialFlags.GENERATE_DENSE,
+ MaterialFlags.GENERATE_PLATE, MaterialFlags.GENERATE_ROD, MaterialFlags.MORTAR_GRINDABLE)
+ .color(0x159e1e).secondaryColor(0x000000).iconSet(MaterialIconSet.SHINY)
+// .formula("**Fe**")
+ .buildAndRegister();
+ ELEMENTIUM = new Material.Builder(
+ AstroCore.id("elementium"))
+ .langValue("Elementium")
+ .dust()
+ .ingot()
+ .fluid()
+ .blastTemp(3500, BlastProperty.GasTier.MID, (int) GTVoltage.VA.IV, 1600)
+ .flags(MaterialFlags.GENERATE_FRAME, MaterialFlags.GENERATE_DENSE,
+ MaterialFlags.GENERATE_PLATE, MaterialFlags.GENERATE_ROD, MaterialFlags.MORTAR_GRINDABLE)
+ .color(0xed64d4).secondaryColor(0x000000).iconSet(MaterialIconSet.SHINY)
+// .formula("El")
+ .buildAndRegister();
+ GAIASTEEL = new Material.Builder(
+ AstroCore.id("gaiasteel"))
+ .langValue("Gaiasteel")
+ .dust()
+ .ingot()
+ .fluid()
+ .blastTemp(7100, BlastProperty.GasTier.HIGH, (int) GTVoltage.VA.ZPM, 2400)
+ .flags(MaterialFlags.GENERATE_FRAME, MaterialFlags.GENERATE_DENSE,
+ MaterialFlags.GENERATE_PLATE, MaterialFlags.GENERATE_ROD, MaterialFlags.MORTAR_GRINDABLE)
+ .color(0x8c2929).secondaryColor(0x000000).iconSet(MaterialIconSet.SHINY)
+// .formula("***Fe***")
+ .buildAndRegister();
}
public static void init() {
@@ -204,5 +259,18 @@ public static void init() {
block.setIgnored(AstroMaterials.ENERGIZED_STEEL, Blcks.ENERGIZED_STEEL);
dust.setIgnored(AstroMaterials.SKY_STONE, AEItems.SKY_DUST);
+
+ ingot.setIgnored(AstroMaterials.MANASTEEL, () -> BotaniaItems.manaSteel);
+ dust.setIgnored(AstroMaterials.MANASTEEL, () -> BotaniaItems.manaPowder);
+
+ ingot.setIgnored(AstroMaterials.TERRASTEEL, () -> BotaniaItems.terrasteel);
+ nugget.setIgnored(AstroMaterials.TERRASTEEL, () -> BotaniaItems.terrasteelNugget);
+
+ ingot.setIgnored(AstroMaterials.ELEMENTIUM, () -> BotaniaItems.elementium);
+ nugget.setIgnored(AstroMaterials.ELEMENTIUM, () -> BotaniaItems.elementium);
+
+ ingot.setIgnored(AstroMaterials.GAIASTEEL, () -> BotaniaItems.gaiaIngot);
+
+ nugget.setIgnored(AstroMaterials.GAIASTEEL, () -> BotaniaItems.gaiaIngot);
}
}
diff --git a/src/main/java/com/astro/core/common/data/materials/AstroPolymers.java b/src/main/java/com/astro/core/common/data/materials/AstroPolymers.java
index 9e614c9a..a95a0179 100644
--- a/src/main/java/com/astro/core/common/data/materials/AstroPolymers.java
+++ b/src/main/java/com/astro/core/common/data/materials/AstroPolymers.java
@@ -1,12 +1,14 @@
package com.astro.core.common.data.materials;
-import com.astro.core.AstroCore;
import com.gregtechceu.gtceu.api.data.chemical.material.Material;
import com.gregtechceu.gtceu.api.data.chemical.material.info.MaterialIconSet;
+import com.astro.core.AstroCore;
+
public class AstroPolymers {
public static Material POLYAMIDE_IMIDE;
+
public static void register() {
// GT Progression
POLYAMIDE_IMIDE = new Material.Builder(
@@ -20,5 +22,6 @@ public static void register() {
// .components().formula()
.buildAndRegister();
}
+
public static void init() {}
}
diff --git a/src/main/java/com/astro/core/common/data/recipe/generated/AstroWireRecipeHandler.java b/src/main/java/com/astro/core/common/data/recipe/generated/AstroWireRecipeHandler.java
index a5530f7c..d19630e6 100644
--- a/src/main/java/com/astro/core/common/data/recipe/generated/AstroWireRecipeHandler.java
+++ b/src/main/java/com/astro/core/common/data/recipe/generated/AstroWireRecipeHandler.java
@@ -26,7 +26,8 @@
* Guide to Astro Core Cable Processing.
*
* Cable Covering Fluids:
- * - Polyamide-Imide: This can be used for any cable tier, saving the amount of fluid needed. However, at UV (?), it will be required.
+ * - Polyamide-Imide: This can be used for any cable tier, saving the amount of fluid needed. However, at UV (?), it
+ * will be required.
*
* Extra Materials for Cable Covering:
* - Polyphenylene Sulfide (PPS): At LuV, this foil is required to cover cables. Lower tiers will not use it.
@@ -61,7 +62,6 @@ public static void run(@NotNull Consumer provider, @NotNull Mate
generateCableCovering(provider, property, wireGtHex, material);
}
-
private static void generateCableCovering(@NotNull Consumer provider,
@NotNull WireProperties property,
@NotNull TagPrefix prefix, @NotNull Material material) {
diff --git a/src/main/java/com/astro/core/common/data/recipe/run/AstroWireRecipeRunner.java b/src/main/java/com/astro/core/common/data/recipe/run/AstroWireRecipeRunner.java
new file mode 100644
index 00000000..837004c9
--- /dev/null
+++ b/src/main/java/com/astro/core/common/data/recipe/run/AstroWireRecipeRunner.java
@@ -0,0 +1,20 @@
+package com.astro.core.common.data.recipe.run;
+
+import com.gregtechceu.gtceu.api.GTCEuAPI;
+import com.gregtechceu.gtceu.api.data.chemical.material.Material;
+
+import net.minecraft.data.recipes.FinishedRecipe;
+
+import com.astro.core.common.data.recipe.generated.AstroWireRecipeHandler;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.function.Consumer;
+
+public class AstroWireRecipeRunner {
+
+ public static void init(@NotNull Consumer provider) {
+ for (Material material : GTCEuAPI.materialManager.getRegisteredMaterials()) {
+ AstroWireRecipeHandler.run(provider, material);
+ }
+ }
+}