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); + } + } +}