diff --git a/dependencies.gradle b/dependencies.gradle index c06d39b61..80a29d4b9 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,11 +1,11 @@ // Add your dependencies here dependencies { - api("com.github.GTNewHorizons:GT5-Unofficial:5.09.52.195:dev") + api("com.github.GTNewHorizons:GT5-Unofficial:5.09.52.197:dev") api("com.github.GTNewHorizons:Yamcl:0.7.3:dev") api("com.github.GTNewHorizons:Baubles-Expanded:2.2.6-GTNH:dev") - implementation("com.github.GTNewHorizons:GTNHLib:0.8.44:dev") + implementation("com.github.GTNewHorizons:GTNHLib:0.9.0:dev") implementation("net.glease:tc4recipelib:1.5.37:dev") @@ -32,7 +32,7 @@ dependencies { compileOnlyApi("com.github.GTNewHorizons:Mobs-Info:0.5.9-GTNH:dev") compileOnly("com.github.GTNewHorizons:Backhand:1.8.2:dev") { transitive = false } compileOnly("com.cubefury.vendingmachine:VendingMachine:0.4.2:dev") { transitive = false } - compileOnly("com.github.GTNewHorizons:BetterQuesting:3.8.14-GTNH:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:BetterQuesting:3.8.17:dev") { transitive = false } //compileOnly("com.github.Roadhog360:Et-Futurum-Requiem:2.6.2:dev") { transitive = false } runtimeOnlyNonPublishable rfg.deobf("curse.maven:biomes-o-plenty-220318:2499612") diff --git a/gradle.properties b/gradle.properties index d99546bef..79bdb8d09 100644 --- a/gradle.properties +++ b/gradle.properties @@ -39,14 +39,34 @@ remoteMappings = https\://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/co # `./gradlew runClient --username=AnotherPlayer`, or configuring this command in your IDE. developmentEnvironmentUserName = Developer -# Enables using modern Java syntax (up to version 17) via Jabel, while still targeting JVM 8. -# See https://github.com/bsideup/jabel for details on how this works. -enableModernJavaSyntax = true +# Enables modern Java syntax support. Valid values: +# - false: No modern syntax, Java 8 only +# - jabel: Jabel syntax-only support, compiles to J8 bytecode +# - jvmDowngrader: Full modern Java via JVM Downgrader (syntax + stdlib APIs) +# - modern: Native modern Java bytecode, no downgrading +enableModernJavaSyntax = jabel # If set, ignores the above setting and compiles with the given toolchain. This may cause unexpected issues, # and should *not* be used in most situations. -1 disables this. # forceToolchainVersion = -1 +# Target JVM version for JVM Downgrader bytecode downgrading. +# Only used when enableModernJavaSyntax = jvmDowngrader +# downgradeTargetVersion = 8 + +# Comma-separated list of Java versions for multi-release jar support (JVM Downgrader only). +# Classes will be available in META-INF/versions/N/ for each version N in this list. +# Default: "21,25" (J25+ gets native classes, J21-24 gets partial downgrade, J8-20 gets full downgrade). +# jvmDowngraderMultiReleaseVersions = 21,25 + +# Specifies how JVM Downgrader API stubs are provided. Options: +# - shade: Shade minimized stubs into the jar +# - gtnhlib: GTNHLib provides stubs at runtime (adds version constraint) +# - external: Another dependency provides stubs (no constraint, no warning) +# - (empty): Warning reminding you to configure stubs +# Note: 'shade' option requires you to verify license compliance, see: https://github.com/unimined/JvmDowngrader/blob/main/LICENSE.md +# jvmDowngraderStubsProvider = + # Enables injecting missing generics into the decompiled source code for a better coding experience. # Turns most publicly visible List, Map, etc. into proper List, Map types. enableGenericInjection = true diff --git a/settings.gradle b/settings.gradle index 647b0d4a6..da3076b4a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -17,7 +17,7 @@ pluginManagement { } plugins { - id 'com.gtnewhorizons.gtnhsettingsconvention' version '2.0.10' + id 'com.gtnewhorizons.gtnhsettingsconvention' version '2.0.12' } diff --git a/src/main/java/com/dreammaster/scripts/ScriptEnderIO.java b/src/main/java/com/dreammaster/scripts/ScriptEnderIO.java index 46e136890..f7c628d5b 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptEnderIO.java +++ b/src/main/java/com/dreammaster/scripts/ScriptEnderIO.java @@ -4,10 +4,12 @@ import static gregtech.api.enums.Mods.AppliedEnergistics2; import static gregtech.api.enums.Mods.Avaritia; import static gregtech.api.enums.Mods.Backpack; +import static gregtech.api.enums.Mods.BiomesOPlenty; import static gregtech.api.enums.Mods.Botania; import static gregtech.api.enums.Mods.BuildCraftFactory; import static gregtech.api.enums.Mods.DraconicEvolution; import static gregtech.api.enums.Mods.EnderIO; +import static gregtech.api.enums.Mods.EtFuturumRequiem; import static gregtech.api.enums.Mods.ExtraUtilities; import static gregtech.api.enums.Mods.FloodLights; import static gregtech.api.enums.Mods.GraviSuite; @@ -18,12 +20,17 @@ import static gregtech.api.enums.Mods.OpenBlocks; import static gregtech.api.enums.Mods.ProjectRedIllumination; import static gregtech.api.enums.Mods.ProjectRedIntegration; +import static gregtech.api.enums.Mods.RandomThings; import static gregtech.api.enums.Mods.Thaumcraft; import static gregtech.api.enums.Mods.ThaumicExploration; +import static gregtech.api.enums.Mods.TinkerConstruct; +import static gregtech.api.enums.Mods.Witchery; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes; +import static gregtech.api.recipe.RecipeMaps.circuitAssemblerRecipes; import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes; import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes; import static gregtech.api.util.GTModHandler.getModItem; import static gregtech.api.util.GTRecipeBuilder.MINUTES; import static gregtech.api.util.GTRecipeBuilder.SECONDS; @@ -32,6 +39,8 @@ import java.util.Arrays; import java.util.List; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; @@ -1820,5 +1829,87 @@ public void loadRecipes() { .fluidInputs(Materials.Enderium.getMolten(2048)).duration(1 * MINUTES).eut(4096) .addTo(autoclaveRecipes); + // Soul Infused Medium + + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Soularium, 1), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Emerald, 1), + getModItem(EnderIO.ID, "blockEndermanSkull", 1, 0, missing), + getModItem(Thaumcraft.ID, "ItemZombieBrain", 1, 0, missing), + getModItem(Witchery.ID, "witchhand", 1, 0, missing), + getModItem(TinkerConstruct.ID, "heartCanister", 1, 1, missing)) + .itemOutputs(getModItem(BiomesOPlenty.ID, "misc", 4, 3, missing)) + .fluidInputs( + FluidRegistry.getFluidStack("xpjuice", 1728), + FluidRegistry.getFluidStack("hell_blood", 100), + FluidRegistry.getFluidStack("putrescine", 288), + FluidRegistry.getFluidStack("binnie.growthmedium", 100), + FluidRegistry.getFluidStack("vapor_of_levity", 500), + FluidRegistry.getFluidStack("cadaverine", 144)) + .fluidOutputs(Materials.SoulInfusedMedium.getFluid(2880)).duration(30 * SECONDS).eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + GregtechItemList.RawHumanMeat.get(1), + getModItem(RandomThings.ID, "ingredient", 1, 0, missing)) + .itemOutputs(getModItem(EnderIO.ID, "itemMaterial", 1, 9, missing)) + .fluidInputs(Materials.SoulInfusedMedium.getFluid(144 * 20)).duration(25 * SECONDS) + .eut(TierEU.RECIPE_EV).addTo(autoclaveRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.EnderPearl, 1), + getModItem(EnderIO.ID, "itemMaterial", 1, 6, missing)) + .itemOutputs(getModItem(EnderIO.ID, "itemMaterial", 1, 8, missing)) + .fluidInputs(Materials.SoulInfusedMedium.getFluid(144 * 20)).duration(25 * SECONDS) + .eut(TierEU.RECIPE_EV).addTo(autoclaveRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.EnderEye, 1), + getModItem(EnderIO.ID, "itemMaterial", 1, 5, missing)) + .itemOutputs(getModItem(EnderIO.ID, "itemMaterial", 1, 13, missing)) + .fluidInputs(Materials.SoulInfusedMedium.getFluid(144 * 10)).duration(25 * SECONDS) + .eut(TierEU.RECIPE_EV).addTo(autoclaveRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(Items.rotten_flesh, 1), + getModItem(EnderIO.ID, "itemFrankenSkull", 1, 1, missing)) + .itemOutputs(getModItem(EnderIO.ID, "itemFrankenSkull", 1, 2, missing)) + .fluidInputs(Materials.SoulInfusedMedium.getFluid(144 * 10)).duration(25 * SECONDS) + .eut(TierEU.RECIPE_EV).addTo(autoclaveRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(Items.fermented_spider_eye, 1), + getModItem(EnderIO.ID, "itemFrankenSkull", 1, 3, missing)) + .itemOutputs(getModItem(EnderIO.ID, "itemFrankenSkull", 1, 4, missing)) + .fluidInputs(Materials.SoulInfusedMedium.getFluid(144 * 10)).duration(25 * SECONDS) + .eut(TierEU.RECIPE_EV).addTo(autoclaveRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.EnderEye, 1), + new ItemStack(Blocks.detector_rail, 1)) + .itemOutputs(getModItem(EnderIO.ID, "blockEnderRail", 1, 0, missing)) + .fluidInputs(Materials.SoulInfusedMedium.getFluid(144 * 15)).duration(25 * SECONDS) + .eut(TierEU.RECIPE_EV).addTo(autoclaveRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + getModItem(EnderIO.ID, "itemBasicCapacitor", 1, 6, missing), + getModItem(EnderIO.ID, "itemMaterial", 8, 9, missing), + getModItem(EtFuturumRequiem.ID, "totem_of_undying", 1, 0, missing), + getModItem(EnderIO.ID, "itemFrankenSkull", 1, 2, missing), + new ItemStack(Blocks.dragon_egg, 1), + getModItem(EnderIO.ID, "itemFrankenSkull", 1, 4, missing)) + .itemOutputs( + createItemStack(EnderIO.ID, "itemBasicCapacitor", 1, 6, "{ench:[0:{id:32s,lvl:5s}]}", missing)) + .fluidInputs(Materials.SoulInfusedMedium.getFluid(144 * 40)).requiresCleanRoom().duration(40 * SECONDS) + .eut(TierEU.RECIPE_ZPM).addTo(circuitAssemblerRecipes); + } }