diff options
| author | GDCloud <93287602+GDCloudstrike@users.noreply.github.com> | 2024-09-01 19:59:32 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-01 19:59:32 +0200 |
| commit | dda0f8bb1ed2211b2df492d7bd53751e47de305f (patch) | |
| tree | d22877026684353beabd58728d0cd0824ec87ea7 /src/main/java | |
| parent | e2ae14d4b5c0f3081dd9ff9fbe66beae7d724b9b (diff) | |
| download | GT5-Unofficial-dda0f8bb1ed2211b2df492d7bd53751e47de305f.tar.gz GT5-Unofficial-dda0f8bb1ed2211b2df492d7bd53751e47de305f.tar.bz2 GT5-Unofficial-dda0f8bb1ed2211b2df492d7bd53751e47de305f.zip | |
Godforge continuation (#2950)
* fix wrong offset
* improve item insertion window
* finish upgrade material functionality
* add tooltip to material button
* add rhugnor gear
* half serious upgrade costs (will definitely change)
* fix stocking hatch not working for fuel supply
* add information window
* add heat formula info
* add autobuild hint dot info
* add phonon related items and fluids
* first iteration of glitchy material renderer
* tweak renderer overlay opacity
* add new material
* add phononic seed crystal and six-phased copper block
* add recipes for phonon transfer medium chain
* add solenoid block replacement
* add creon
* decouple smelting module structure
* spotless weirdness
* add most casing recipes and late loading method (for the special singularities)
* add new singularity recipes
* more recipes
* add glow
* generate more dragonblood parts
* add upgrade costs
* fix upgrade tree window scrollable weirdness
* forgor glow texture
* add last upgrade text + a random comma
* re-add phonon medium abs recipe
* add six-phased copper nanite recipe
* fix button overlay being off by 1 pixel
* fix merge mishaps
* forgot to adjust debug buttons
* fix stocking bus fuel insertion and fuel int overflow
* add graviton shard ejection
* minor structure oopsie
* ejection button registration
* ejection button tooltip
* add graviton shard item
* eject the right item + save ejection status to nbt
* fix input bus amount npe
* change rendering block offset
* adapt eoh rendering to allow changing the star's size
* initial rendering changes (make the blue star render)
* change seed crystal recipes
* another small seed crystal change
* adjust item renderer
* add tooltips
* circuit oredict fix
* tooltips, upgrade names, some experimental ui changes and small fixes
* author
* make star bigger
* fix recipes
* remove unnecessary tooltips
* spotless
* recipe adjustments
* make magneto resonatic block craftable
* change magneto resonatic gem autoclave times + spotless
* add structurecheck button to modules
* more recipe adjustments
* fix extra material crash
* more recipe adjustments
* lower eternal singularity amounts
* display recipetimes <1 sec properly
* try to fix hasShiftDown crash
* adjust plasma module recipes
* swap placeholder names
* implement rings disappearing/reappearing for renderer
* utility for structure strings
* buff plasma module parallel
* fix itemlist
* Spotless apply for branch godforge for #2950 (#3013)
spotlessApply
Co-authored-by: GitHub GTNH Actions <>
---------
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Co-authored-by: boubou19 <miisterunknown@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Diffstat (limited to 'src/main/java')
50 files changed, 2332 insertions, 533 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ElectricImplosionCompressorRecipes.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ElectricImplosionCompressorRecipes.java index dfc3ab7e83..d616829fbd 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ElectricImplosionCompressorRecipes.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ElectricImplosionCompressorRecipes.java @@ -16,6 +16,7 @@ import static gregtech.api.enums.Mods.UniversalSingularities; import static gregtech.api.util.GT_ModHandler.getModItem; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; import net.minecraft.item.ItemStack; @@ -26,6 +27,7 @@ import gregtech.api.enums.MaterialsUEVplus; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; public class ElectricImplosionCompressorRecipes implements Runnable { @@ -43,7 +45,7 @@ public class ElectricImplosionCompressorRecipes implements Runnable { .noOptimize() .addTo(electricImplosionCompressorRecipes); - if (UniversalSingularities.isModLoaded()) + if (UniversalSingularities.isModLoaded()) { // Raw Exposed Optical Chip GT_Values.RA.stdBuilder() .itemInputs( @@ -55,6 +57,29 @@ public class ElectricImplosionCompressorRecipes implements Runnable { .eut(TierEU.RECIPE_UMV) .noOptimize() .addTo(electricImplosionCompressorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + // fluxed electrum singularity + getModItem(UniversalSingularities.ID, "universal.general.singularity", 1L, 20)) + .fluidInputs(MaterialsUEVplus.Mellion.getMolten(4 * 144L)) + // spaghettic singularity + .itemOutputs(getModItem(EternalSingularity.ID, "combined_singularity", 1L, 2)) + .duration(1 * SECONDS) + .eut(TierEU.RECIPE_UMV) + .addTo(electricImplosionCompressorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + // iron singularity + getModItem(Avaritia.ID, "Singularity", 1L, 0)) + .fluidInputs(MaterialsUEVplus.Creon.getMolten(4 * 144L)) + // cryptic singularity + .itemOutputs(getModItem(EternalSingularity.ID, "combined_singularity", 1L, 4)) + .duration(1 * SECONDS) + .eut(TierEU.RECIPE_UMV) + .addTo(electricImplosionCompressorRecipes); + } } GT_Values.RA.stdBuilder() @@ -124,6 +149,24 @@ public class ElectricImplosionCompressorRecipes implements Runnable { .eut(TierEU.RECIPE_UIV) .noOptimize() .addTo(electricImplosionCompressorRecipes); + + // Copper Singularity + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Copper.getMolten(3648 * 9 * 144L)) + .itemOutputs(getModItem(Avaritia.ID, "Singularity", 1L, 5)) + .duration(1 * TICKS) + .eut(TierEU.RECIPE_UIV) + .addTo(electricImplosionCompressorRecipes); + + ItemStack diamondBlocks = GT_Utility + .copyAmountUnsafe(729, GT_OreDictUnificator.get(OrePrefixes.block, Materials.Diamond, 1L)); + // Diamond Singularity + GT_Values.RA.stdBuilder() + .itemInputs(diamondBlocks) + .itemOutputs(getModItem(UniversalSingularities.ID, "universal.vanilla.singularity", 1L, 2)) + .duration(1 * TICKS) + .eut(TierEU.RECIPE_UIV) + .addTo(electricImplosionCompressorRecipes); } // MHDCSM V2 GT_Values.RA.stdBuilder() diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java index a1398f57e3..51398d2914 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java @@ -422,7 +422,7 @@ public class AdditionalRecipes { .itemOutputs(WerkstoffLoader.MagnetoResonaticDust.get(gemChipped, 9)) .outputChances(90_00) .fluidInputs(WerkstoffLoader.Neon.getFluidOrGas(1000)) - .duration(3 * MINUTES + 45 * SECONDS) + .duration(25 * SECONDS) .eut(TierEU.RECIPE_IV) .addTo(autoclaveRecipes); @@ -430,7 +430,7 @@ public class AdditionalRecipes { .itemInputs(WerkstoffLoader.MagnetoResonaticDust.get(dust)) .itemOutputs(WerkstoffLoader.MagnetoResonaticDust.get(gem)) .fluidInputs(WerkstoffLoader.Krypton.getFluidOrGas(1000)) - .duration(3 * MINUTES + 45 * SECONDS) + .duration(25 * SECONDS) .eut(TierEU.RECIPE_IV) .addTo(autoclaveRecipes); diff --git a/src/main/java/com/github/technus/tectech/TecTech.java b/src/main/java/com/github/technus/tectech/TecTech.java index c8946ec80d..c31f9a878d 100644 --- a/src/main/java/com/github/technus/tectech/TecTech.java +++ b/src/main/java/com/github/technus/tectech/TecTech.java @@ -113,6 +113,7 @@ public class TecTech { @SuppressWarnings("unused") public void onLoadCompleted(FMLLoadCompleteEvent event) { eyeOfHarmonyRecipeStorage = new EyeOfHarmonyRecipeStorage(); + MainLoader.onLoadCompleted(); } public static EyeOfHarmonyRecipeStorage eyeOfHarmonyRecipeStorage = null; diff --git a/src/main/java/com/github/technus/tectech/loader/MainLoader.java b/src/main/java/com/github/technus/tectech/loader/MainLoader.java index 01d63392e5..915b113fe9 100644 --- a/src/main/java/com/github/technus/tectech/loader/MainLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/MainLoader.java @@ -18,6 +18,7 @@ import net.minecraftforge.fluids.FluidStack; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.loader.gui.CreativeTabTecTech; import com.github.technus.tectech.loader.recipe.BaseRecipeLoader; +import com.github.technus.tectech.loader.recipe.ResearchStationAssemblyLine; import com.github.technus.tectech.loader.thing.CoverLoader; import com.github.technus.tectech.loader.thing.MachineLoader; import com.github.technus.tectech.loader.thing.ThingsLoader; @@ -199,4 +200,8 @@ public final class MainLoader { safeSetResistance(GameRegistry.findBlock("TwilightForest", "tile.TFDeadrock"), 5); } } + + public static void onLoadCompleted() { + new ResearchStationAssemblyLine().runLateRecipes(); + } } diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/Godforge.java b/src/main/java/com/github/technus/tectech/loader/recipe/Godforge.java index a2dc61132d..80f10fc44f 100644 --- a/src/main/java/com/github/technus/tectech/loader/recipe/Godforge.java +++ b/src/main/java/com/github/technus/tectech/loader/recipe/Godforge.java @@ -3,7 +3,11 @@ package com.github.technus.tectech.loader.recipe; import static com.github.technus.tectech.recipe.TecTechRecipeMaps.godforgeExoticMatterRecipes; import static com.github.technus.tectech.recipe.TecTechRecipeMaps.godforgePlasmaRecipes; import static com.github.technus.tectech.util.GodforgeMath.getRandomIntInRange; +import static gregtech.api.enums.Mods.EternalSingularity; +import static gregtech.api.enums.Mods.GalaxySpace; +import static gregtech.api.util.GT_ModHandler.getModItem; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; import static gregtech.api.util.GT_RecipeConstants.FOG_EXOTIC_TIER; import static gregtech.api.util.GT_RecipeConstants.FOG_PLASMA_TIER; @@ -15,12 +19,21 @@ import java.util.List; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; +import com.github.technus.tectech.thing.CustomItemList; + +import goodgenerator.items.MyMaterial; +import goodgenerator.util.ItemRefer; import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; +import gtPlusPlus.core.material.ALLOY; import gtPlusPlus.core.material.ELEMENT; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; public class Godforge implements Runnable { @@ -29,6 +42,7 @@ public class Godforge implements Runnable { public static final HashMap<ItemStack, Integer> exoticModulePlasmaItemMap = new HashMap<>(); public static final HashMap<FluidStack, Integer> exoticModulePlasmaFluidMap = new HashMap<>(); public static final HashMap<ItemStack, Integer> exoticModuleMagmatterItemMap = new HashMap<>(); + public static final HashMap<Integer, ItemStack[]> godforgeUpgradeMats = new HashMap<>(); public static final List<ItemStack> quarkGluonFluidItemsForNEI = new ArrayList<>(); public static final List<ItemStack> quarkGluonItemsForNEI = new ArrayList<>(); public static final List<ItemStack> magmatterTimeFluidItemsForNEI = new ArrayList<>(); @@ -112,7 +126,7 @@ public class Godforge implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(solids_t0_1step[i]) .fluidOutputs(solid_plasmas_t0_1step[i]) - .duration(1 * SECONDS) + .duration(10 * TICKS) .eut(TierEU.RECIPE_MAX) .special(multistep) .metadata(FOG_PLASMA_TIER, 0) @@ -145,7 +159,7 @@ public class Godforge implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(solids_t0_xstep[i]) .fluidOutputs(solid_plasmas_t0_xstep[i]) - .duration(3 * SECONDS) + .duration(2 * SECONDS) .eut(TierEU.RECIPE_MAX) .special(multistep) .metadata(FOG_PLASMA_TIER, 0) @@ -249,16 +263,16 @@ public class Godforge implements Runnable { // Fusion tier 1-3 { // Single step - FluidStack[] fluids_t0_1step = { Materials.Helium.getGas(1000), Materials.Nitrogen.getGas(1000), - Materials.Argon.getGas(1000), Materials.Chlorine.getGas(1000), Materials.Deuterium.getGas(1000), - Materials.Fluorine.getGas(1000), Materials.Hydrogen.getGas(1000), Materials.Radon.getGas(1000), - Materials.Tritium.getGas(1000), Materials.Mercury.getFluid(1000) }; - FluidStack[] fluid_plasmas_t0_1step = { Materials.Helium.getPlasma(1000), - Materials.Nitrogen.getPlasma(1000), Materials.Argon.getPlasma(1000), - Materials.Chlorine.getPlasma(1000), Materials.Deuterium.getPlasma(1000), - Materials.Fluorine.getPlasma(1000), Materials.Hydrogen.getPlasma(1000), - Materials.Radon.getPlasma(1000), Materials.Tritium.getPlasma(1000), - Materials.Mercury.getPlasma(1000) }; + FluidStack[] fluids_t0_1step = { Materials.Helium.getGas(500), Materials.Nitrogen.getGas(500), + Materials.Argon.getGas(500), Materials.Chlorine.getGas(500), Materials.Deuterium.getGas(500), + Materials.Fluorine.getGas(500), Materials.Hydrogen.getGas(500), Materials.Radon.getGas(500), + Materials.Tritium.getGas(500), Materials.Mercury.getFluid(500) }; + FluidStack[] fluid_plasmas_t0_1step = { Materials.Helium.getPlasma(500), + Materials.Nitrogen.getPlasma(500), Materials.Argon.getPlasma(500), + Materials.Chlorine.getPlasma(500), Materials.Deuterium.getPlasma(500), + Materials.Fluorine.getPlasma(500), Materials.Hydrogen.getPlasma(500), + Materials.Radon.getPlasma(500), Materials.Tritium.getPlasma(500), + Materials.Mercury.getPlasma(500) }; for (int i = 0; i < fluids_t0_1step.length; i++) { boolean multistep = false; @@ -274,12 +288,12 @@ public class Godforge implements Runnable { } // Multi-step - FluidStack[] fluids_t0_xstep = { ELEMENT.getInstance().NEON.getFluidStack(1000), - Materials.Oxygen.getGas(1000), ELEMENT.getInstance().KRYPTON.getFluidStack(1000), - ELEMENT.getInstance().XENON.getFluidStack(1000) }; - FluidStack[] fluid_plasmas_t0_xstep = { new FluidStack(ELEMENT.getInstance().NEON.getPlasma(), 1000), - Materials.Oxygen.getPlasma(1000), new FluidStack(ELEMENT.getInstance().KRYPTON.getPlasma(), 1000), - new FluidStack(ELEMENT.getInstance().XENON.getPlasma(), 1000) }; + FluidStack[] fluids_t0_xstep = { ELEMENT.getInstance().NEON.getFluidStack(500), + Materials.Oxygen.getGas(500), ELEMENT.getInstance().KRYPTON.getFluidStack(500), + ELEMENT.getInstance().XENON.getFluidStack(500) }; + FluidStack[] fluid_plasmas_t0_xstep = { new FluidStack(ELEMENT.getInstance().NEON.getPlasma(), 500), + Materials.Oxygen.getPlasma(500), new FluidStack(ELEMENT.getInstance().KRYPTON.getPlasma(), 500), + new FluidStack(ELEMENT.getInstance().XENON.getPlasma(), 500) }; for (int i = 0; i < fluids_t0_xstep.length; i++) { boolean multistep = true; @@ -577,5 +591,72 @@ public class Godforge implements Runnable { GT_Utility.getFluidDisplayStack(MaterialsUEVplus.Space.getMolten(getRandomIntInRange(51, 100)), true)); } magmatterItemsForNEI.addAll(exoticModuleMagmatterItemMap.keySet()); + + // Godforge upgrade materials + if (EternalSingularity.isModLoaded() && GalaxySpace.isModLoaded()) { + godforgeUpgradeMats.put( + 0, + new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SuperconductorUIVBase, 64), + ItemList.SuperconductorComposite.get(32), + MyMaterial.metastableOganesson.get(OrePrefixes.gearGt, 16), + getModItem(EternalSingularity.ID, "eternal_singularity", 8L), ItemList.Robot_Arm_UIV.get(64L), + ItemList.Field_Generator_UEV.get(64L) }); + + godforgeUpgradeMats.put( + 5, + new ItemStack[] { GregtechItemList.Mega_AlloyBlastSmelter.get(16L), + ItemList.Casing_Coil_Hypogen.get(64L), + CustomItemList.Godforge_HarmonicPhononTransmissionConduit.get(32L), + getModItem(EternalSingularity.ID, "eternal_singularity", 16L), + ItemRefer.Field_Restriction_Coil_T3.get(48), ItemList.Robot_Arm_UIV.get(64L), + ItemList.Field_Generator_UEV.get(64L) }); + + godforgeUpgradeMats.put( + 7, + new ItemStack[] { CustomItemList.Godforge_StellarEnergySiphonCasing.get(8), + GregtechItemList.FusionComputer_UV3.get(8), GregtechItemList.Casing_Fusion_Internal2.get(64), + getModItem(GalaxySpace.ID, "item.DysonSwarmParts", 64, 3), ALLOY.QUANTUM.getPlateDense(48), + ELEMENT.STANDALONE.RHUGNOR.getGear(32), + getModItem(EternalSingularity.ID, "eternal_singularity", 16L), ItemList.Robot_Arm_UIV.get(64L), + ItemList.Field_Generator_UEV.get(64L) }); + + godforgeUpgradeMats.put( + 11, + new ItemStack[] { CustomItemList.Godforge_StellarEnergySiphonCasing.get(16), + ItemRefer.Compact_Fusion_MK5.get(2), ItemRefer.Compact_Fusion_Coil_T4.get(64), + CustomItemList.Godforge_HarmonicPhononTransmissionConduit.get(16), + ItemList.Machine_Multi_TranscendentPlasmaMixer.get(4), ELEMENT.STANDALONE.RHUGNOR.getGear(64), + GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Ichorium, 64), + getModItem(EternalSingularity.ID, "eternal_singularity", 32L), ItemList.Robot_Arm_UIV.get(64L), + ItemList.Field_Generator_UEV.get(64L) }); + + godforgeUpgradeMats.put( + 26, + new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.SpaceTime, 64), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SuperconductorUMVBase, 64), + ELEMENT.STANDALONE.HYPOGEN.getFrameBox(64), ELEMENT.STANDALONE.DRAGON_METAL.getFrameBox(64), + CustomItemList.EOH_Reinforced_Spatial_Casing.get(64), + CustomItemList.EOH_Infinite_Energy_Casing.get(8), ItemList.ZPM6.get(4), + ItemList.Field_Generator_UMV.get(32) }); + + godforgeUpgradeMats.put( + 29, + new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.WhiteDwarfMatter, 64), + GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.BlackDwarfMatter, 64), + GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.Eternity, 16), + GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.Universium, 4), + CustomItemList.EOH_Infinite_Energy_Casing.get(64), + CustomItemList.StabilisationFieldGeneratorTier5.get(16), ItemList.ZPM6.get(16), + ItemList.Field_Generator_UMV.get(64) }); + + godforgeUpgradeMats.put( + 30, + new ItemStack[] { CustomItemList.Machine_Multi_QuarkGluonPlasmaModule.get(32), + CustomItemList.Godforge_StellarEnergySiphonCasing.get(64), + CustomItemList.StabilisationFieldGeneratorTier6.get(48), + ItemList.Transdimensional_Alignment_Matrix.get(8), ItemList.ZPM6.get(16), + ItemList.Robot_Arm_UMV.get(64), ItemList.Conveyor_Module_UMV.get(64) }); + } + } } diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/ResearchStationAssemblyLine.java b/src/main/java/com/github/technus/tectech/loader/recipe/ResearchStationAssemblyLine.java index dc5cf1c5ed..f9377143c4 100644 --- a/src/main/java/com/github/technus/tectech/loader/recipe/ResearchStationAssemblyLine.java +++ b/src/main/java/com/github/technus/tectech/loader/recipe/ResearchStationAssemblyLine.java @@ -13,6 +13,7 @@ import static gregtech.api.enums.Mods.EternalSingularity; import static gregtech.api.enums.Mods.ExtraUtilities; import static gregtech.api.enums.Mods.GTNHIntergalactic; import static gregtech.api.enums.Mods.GTPlusPlusEverglades; +import static gregtech.api.enums.Mods.GalacticraftAmunRa; import static gregtech.api.enums.Mods.GalaxySpace; import static gregtech.api.enums.Mods.GraviSuite; import static gregtech.api.enums.Mods.IndustrialCraft2; @@ -53,11 +54,15 @@ import com.github.bartimaeusnek.bartworks.common.loaders.ItemRegistry; import com.github.bartimaeusn |
