Skip to content

Commit

Permalink
Faster dev boot times (120s --> 80s while profiling) (#2866)
Browse files Browse the repository at this point in the history
* Faster dev boot times (120s --> 80s while profiling)
* Clean up sloppy hard deps and properly gate them behind isModLoaded() checks.
* Include CoreTweaks as runtime only non publishable for faster boot as well
  • Loading branch information
mitchej123 authored Aug 11, 2024
1 parent 7e15379 commit 5cd813a
Show file tree
Hide file tree
Showing 27 changed files with 308 additions and 236 deletions.
25 changes: 16 additions & 9 deletions dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -45,16 +45,16 @@ dependencies {
api("com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-426-GTNH:dev")
api("com.github.GTNewHorizons:AE2FluidCraft-Rework:1.3.21-gtnh:dev")
api('com.github.GTNewHorizons:Yamcl:0.6.0:dev')
api('com.github.GTNewHorizons:ThaumicTinkerer:2.10.1:dev')
api("com.github.GTNewHorizons:Mobs-Info:0.3.2-GTNH:dev")
api("com.github.GTNewHorizons:Navigator:1.0.6:dev")

compileOnlyApi('com.github.GTNewHorizons:ThaumicTinkerer:2.10.1:dev')
compileOnlyApi("com.github.GTNewHorizons:Mobs-Info:0.3.2-GTNH:dev")
compileOnlyApi("com.github.GTNewHorizons:Navigator:1.0.6:dev")

devOnlyNonPublishable("com.github.GTNewHorizons:Infernal-Mobs:1.8.1-GTNH:dev")
runtimeOnly("com.github.GTNewHorizons:Draconic-Evolution:1.3.6-GTNH:dev") // needed?

implementation('com.github.GTNewHorizons:GTNEIOrePlugin:1.3.3:dev') { transitive = false }
implementation("com.github.GTNewHorizons:Avaritia:1.51:dev")
implementation("com.github.GTNewHorizons:ForestryMC:4.9.7:dev") { transitive = false }
compileOnlyApi("com.github.GTNewHorizons:Avaritia:1.51:dev")
compileOnlyApi("com.github.GTNewHorizons:ForestryMC:4.9.7:dev") { transitive = false }

compileOnlyApi('com.github.GTNewHorizons:Angelica:1.0.0-beta4:api') { transitive = false }
compileOnlyApi("com.github.GTNewHorizons:AppleCore:3.3.0:dev") { transitive = false }
Expand All @@ -66,8 +66,10 @@ dependencies {
compileOnly("TGregworks:TGregworks:1.7.10-GTNH-1.0.26:deobf") {transitive = false}
compileOnly("com.github.GTNewHorizons:ThaumicBases:1.7.5:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:EnderCore:0.4.6:dev") { transitive = false }
implementation("com.github.GTNewHorizons:Galacticraft:3.2.1-GTNH:dev") { transitive = false }

compileOnlyApi("com.github.GTNewHorizons:Galacticraft:3.2.1-GTNH:dev") { transitive = false }
implementation("com.github.GTNewHorizons:TinkersConstruct:1.12.6-GTNH:dev")

compileOnly("com.github.GTNewHorizons:Chisel:2.15.2-GTNH:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:Translocators:1.2.1:dev") { transitive = false }
compileOnly rfg.deobf("curse.maven:cofh-core-69162:2388751")
Expand All @@ -80,7 +82,7 @@ dependencies {
compileOnly rfg.deobf('curse.maven:minefactory-reloaded-66672:2366150')
compileOnly("com.github.GTNewHorizons:OpenComputers:1.10.19-GTNH:dev") {transitive = false}
// https://www.curseforge.com/minecraft/mc-mods/advancedsolarpanels
implementation rfg.deobf('curse.maven:advsolar-362768:2885953')
compileOnlyApi rfg.deobf('curse.maven:advsolar-362768:2885953')
compileOnly('com.github.GTNewHorizons:ThaumicEnergistics:1.6.22-GTNH:dev') {transitive = false}
compileOnly("com.github.GTNewHorizons:BloodMagic:1.6.2:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:CraftTweaker:3.3.1:dev") { transitive = false }
Expand Down Expand Up @@ -111,5 +113,10 @@ dependencies {
functionalTestImplementation('org.junit.platform:junit-platform-reporting')

runtimeOnlyNonPublishable("com.github.GTNewHorizons:DuraDisplay:1.3.2:dev")
runtimeOnly('com.github.GTNewHorizons:TCNEIAdditions:1.4.0:dev')

// For testing
//runtimeOnlyNonPublishable('com.github.GTNewHorizons:TCNEIAdditions:1.4.0:dev')

// Speeds up mod identification and loading in dev
runtimeOnlyNonPublishable(rfg.deobf("CoreTweaks:CoreTweaks:0.3.3.2"))
}
17 changes: 17 additions & 0 deletions repositories.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,23 @@
// Add any additional repositories for your dependencies here

repositories {
exclusiveContent {
forRepository {
ivy {
name = 'CoreTweaks releases'
url = 'https://github.com/makamys/CoreTweaks/releases/download/'
patternLayout {
artifact '[revision]/[module]-1.7.10-[revision]+nomixin(-[classifier])(.[ext])'
}
metadataSources {
artifact()
}
}
}
filter {
includeGroup('CoreTweaks')
}
}
ivy {
url 'https://files.vexatos.com/'
patternLayout {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/bloodasp/galacticgreg/GalacticGreg.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
modid = GalacticGreg.MODID,
name = GalacticGreg.MODNAME,
version = GalacticGreg.VERSION,
dependencies = "required-after:GalacticraftCore; required-after:gregtech@5.09.32.30;",
dependencies = "after:GalacticraftCore; required-after:gregtech@5.09.32.30;",
acceptableRemoteVersions = "*")
public class GalacticGreg {

Expand Down
97 changes: 44 additions & 53 deletions src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -3666,13 +3666,9 @@ public static void removeCeriumSources() {
if (GT_Utility.isStackValid(input)) {
int[] oreDict = OreDictionary.getOreIDs(input);
for (int oreDictID : oreDict) {
if ((OreDictionary.getOreName(oreDictID)
.startsWith("ore")
|| OreDictionary.getOreName(oreDictID)
.startsWith("rawOre")
|| OreDictionary.getOreName(oreDictID)
.startsWith("crushed"))) {
GT_Log.out.print(OreDictionary.getOreName(oreDictID));
final String oreName = OreDictionary.getOreName(oreDictID);
if ((oreName.startsWith("ore") || oreName.startsWith("rawOre") || oreName.startsWith("crushed"))) {
GT_Log.out.print(oreName);
GT_Recipe tRecipe = recipe.copy();
boolean modified = false;
for (int i = 0; i < tRecipe.mOutputs.length; i++) {
Expand Down Expand Up @@ -3814,17 +3810,15 @@ public static void removeCeriumSources() {
if (GT_Utility.isStackValid(input)) {
int[] oreDict = OreDictionary.getOreIDs(input);
for (int oreDictID : oreDict) {
if (OreDictionary.getOreName(oreDictID)
.startsWith("dust")
&& (!OreDictionary.getOreName(oreDictID)
.contains(
"Dephosphated")) /*
* OreDictionary.getOreName(oreDictID).startsWith("dustPureCerium")
* || OreDictionary.getOreName(oreDictID).startsWith(
* "dustImpureCerium") ||
* OreDictionary.getOreName(oreDictID).startsWith("dustSpace") ||
* OreDictionary.getOreName(oreDictID).startsWith("dustCerium")
*/) {
final String oreName = OreDictionary.getOreName(oreDictID);
if (oreName.startsWith("dust")
&& (!oreName.contains("Dephosphated")) /*
* oreName.startsWith("dustPureCerium")
* || oreName.startsWith(
* "dustImpureCerium") ||
* oreName.startsWith("dustSpace") ||
* oreName.startsWith("dustCerium")
*/) {
GT_Recipe tRecipe = recipe.copy();
boolean modified = false;
for (int i = 0; i < tRecipe.mOutputs.length; i++) {
Expand Down Expand Up @@ -3899,10 +3893,8 @@ public static void removeCeriumSources() {
if (GT_Utility.isStackValid(input)) {
int[] oreDict = OreDictionary.getOreIDs(input);
for (int oreDictID : oreDict) {
if (OreDictionary.getOreName(oreDictID)
.startsWith("dust")
&& (!OreDictionary.getOreName(oreDictID)
.contains("Dephosphated"))) {
final String oreName = OreDictionary.getOreName(oreDictID);
if (oreName.startsWith("dust") && (!oreName.contains("Dephosphated"))) {
GT_Recipe tRecipe = recipe.copy();
boolean modified = false;
for (int i = 0; i < tRecipe.mOutputs.length; i++) {
Expand Down Expand Up @@ -3967,8 +3959,8 @@ public static void removeCeriumSources() {
if (GT_Utility.isStackValid(input)) {
int[] oreDict = OreDictionary.getOreIDs(input);
for (int oreDictID : oreDict) {
if (OreDictionary.getOreName(oreDictID)
.startsWith("crushed") /* && OreDictionary.getOreName(oreDictID).contains("Cerium") */) {
final String oreName = OreDictionary.getOreName(oreDictID);
if (oreName.startsWith("crushed") /* && oreName.contains("Cerium") */) {
GT_Recipe tRecipe = recipe.copy();
boolean modified = false;
for (int i = 0; i < tRecipe.mOutputs.length; i++) {
Expand Down Expand Up @@ -4014,13 +4006,14 @@ public static void removeCeriumSources() {
GT_Log.out.print(input.getDisplayName() + "\n");
int[] oreDict = OreDictionary.getOreIDs(input);
for (int oreDictID : oreDict) {
String oreName = OreDictionary.getOreName(oreDictID);
if (oreName.equals("dustHibonite") || oreName.equals("dustLanthaniteCe")
|| oreName.equals("dustZirconolite")
|| oreName.equals("dustYttrocerite")
|| oreName.equals("dustXenotime")
|| oreName.equals("dustBastnasite")
|| oreName.equals("dustFlorencite")) {
final String oreName = OreDictionary.getOreName(oreDictID);
if (oreName.startsWith("dust")
&& (oreName.equals("dustHibonite") || oreName.equals("dustLanthaniteCe")
|| oreName.equals("dustZirconolite")
|| oreName.equals("dustYttrocerite")
|| oreName.equals("dustXenotime")
|| oreName.equals("dustBastnasite")
|| oreName.equals("dustFlorencite"))) {
GT_Recipe tRecipe = recipe.copy();
boolean modified = false;
for (int i = 0; i < tRecipe.mOutputs.length; i++) {
Expand Down Expand Up @@ -4068,13 +4061,14 @@ public static void removeCeriumSources() {
GT_Log.out.print(input.getDisplayName() + "\n");
int[] oreDict = OreDictionary.getOreIDs(input);
for (int oreDictID : oreDict) {
String oreName = OreDictionary.getOreName(oreDictID);
if (oreName.equals("dustHibonite") || oreName.equals("dustLanthaniteCe")
|| oreName.equals("dustZirconolite")
|| oreName.equals("dustYttrocerite")
|| oreName.equals("dustXenotime")
|| oreName.equals("dustBastnasite")
|| oreName.equals("dustFlorencite")) {
final String oreName = OreDictionary.getOreName(oreDictID);
if (oreName.startsWith("dust")
&& (oreName.equals("dustHibonite") || oreName.equals("dustLanthaniteCe")
|| oreName.equals("dustZirconolite")
|| oreName.equals("dustYttrocerite")
|| oreName.equals("dustXenotime")
|| oreName.equals("dustBastnasite")
|| oreName.equals("dustFlorencite"))) {
GT_Recipe tRecipe = recipe.copy();
boolean modified = false;
for (int i = 0; i < tRecipe.mOutputs.length; i++) {
Expand Down Expand Up @@ -4121,14 +4115,10 @@ public static void removeCeriumSources() {
if (GT_Utility.isStackValid(input)) {
int[] oreDict = OreDictionary.getOreIDs(input);
for (int oreDictID : oreDict) {
if (OreDictionary.getOreName(oreDictID)
.startsWith("dustImpureCerium")
|| OreDictionary.getOreName(oreDictID)
.startsWith("dustImpureSamarium")
|| OreDictionary.getOreName(oreDictID)
.startsWith("dustPureSamarium")
|| OreDictionary.getOreName(oreDictID)
.startsWith("dustPureCerium")) {
final String oreName = OreDictionary.getOreName(oreDictID);
if (oreName.startsWith("dustImpureCerium") || oreName.startsWith("dustImpureSamarium")
|| oreName.startsWith("dustPureSamarium")
|| oreName.startsWith("dustPureCerium")) {
GT_Recipe tRecipe = recipe.copy();
for (int i = 0; i < tRecipe.mOutputs.length; i++) {
if (!GT_Utility.isStackValid(tRecipe.mOutputs[i])) continue;
Expand Down Expand Up @@ -4174,13 +4164,14 @@ public static void removeCeriumSources() {
if (GT_Utility.isStackValid(input)) {
int[] oreDict = OreDictionary.getOreIDs(input);
for (int oreDictID : oreDict) {
String oreName = OreDictionary.getOreName(oreDictID);
if (oreName.equals("dustCerite") || oreName.equals("dustFluorcaphite")
|| oreName.equals("dustZirkelite")
|| oreName.equals("dustGadoliniteCe")
|| oreName.equals("dustGadoliniteY")
|| oreName.equals("dustPolycrase")
|| oreName.equals("dustBastnasite")) {
final String oreName = OreDictionary.getOreName(oreDictID);
if (oreName.startsWith("dust")
&& (oreName.equals("dustCerite") || oreName.equals("dustFluorcaphite")
|| oreName.equals("dustZirkelite")
|| oreName.equals("dustGadoliniteCe")
|| oreName.equals("dustGadoliniteY")
|| oreName.equals("dustPolycrase")
|| oreName.equals("dustBastnasite"))) {
GT_Recipe tRecipe = recipe.copy();
for (int i = 0; i < tRecipe.mOutputs.length; i++) {
if (!GT_Utility.isStackValid(tRecipe.mOutputs[i])) continue;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.enums.Mods;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_OreDictUnificator;
import ic2.api.item.IKineticRotor;
Expand Down Expand Up @@ -274,9 +275,11 @@ public static void run() {
bitmask = GregTech_API.sMachineIDs.getOrDefault(GregTech_API.sBlockMetal9, 0) | 1 << 3 | 1 << 4 | 1 << 8;
GregTech_API.registerMachineBlock(GregTech_API.sBlockMetal9, bitmask);

// Also infinity
bitmask = GregTech_API.sMachineIDs.getOrDefault(LudicrousBlocks.resource_block, 0) | 1 << 1;
GregTech_API.registerMachineBlock(LudicrousBlocks.resource_block, bitmask);
if (Mods.Avaritia.isModLoaded()) {
// Also infinity
bitmask = GregTech_API.sMachineIDs.getOrDefault(LudicrousBlocks.resource_block, 0) | 1 << 1;
GregTech_API.registerMachineBlock(LudicrousBlocks.resource_block, bitmask);
}

ItemRegistry.THTR = new GT_TileEntity_THTR(
ConfigHandler.IDOffset + GT_Values.VN.length * 8 + 5,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@
import cpw.mods.fml.relauncher.SideOnly;
import fox.spiteful.avaritia.blocks.LudicrousBlocks;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Mods;
import gregtech.api.enums.SoundResource;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
Expand Down Expand Up @@ -206,7 +207,9 @@ public static List<Pair<Block, Integer>> getAllBlockTiers() {

{
this.add(Pair.of(GregTech_API.sBlockMetal5, 2));
this.add(Pair.of(LudicrousBlocks.resource_block, 1));
if (Mods.Avaritia.isModLoaded()) {
this.add(Pair.of(LudicrousBlocks.resource_block, 1));
}
this.add(Pair.of(GregTech_API.sBlockMetal9, 4));
this.add(Pair.of(GregTech_API.sBlockMetal9, 3));
this.add(Pair.of(GregTech_API.sBlockMetal9, 8));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
import gregtech.api.GregTech_API;
import gregtech.api.enums.FluidState;
import gregtech.api.enums.Materials;
import gregtech.api.enums.Mods;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.SubTag;
import gregtech.api.enums.TC_Aspects;
Expand Down Expand Up @@ -733,10 +734,12 @@ public static void initPrefixLogic() {
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.rawOre, 0b1000);

Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.cell, 0b10000);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.capsule, 0b10000);
if (Mods.Forestry.isModLoaded()) {
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.capsule, 0b10000);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.capsuleMolten, 0b1000000);
}
// Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.bottle,0b10000);

Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.capsuleMolten, 0b1000000);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.cellMolten, 0b1000000);

Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plate, 0b10000000);
Expand Down
5 changes: 4 additions & 1 deletion src/main/java/common/Blocks.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import common.blocks.Block_ThaumiumReinforcedJar;
import common.blocks.Block_YSZUnit;

import gregtech.api.enums.Mods;
import kekztech.KekzCore;

public class Blocks {
Expand All @@ -28,7 +29,9 @@ public static void preInit() {

registerBlocks_SOFC();
registerBlocks_TFFT();
registerBlocks_Jars();
if (Mods.Thaumcraft.isModLoaded()) {
registerBlocks_Jars();
}
registerBlocks_LSC();
registerBlocks_Cosmetics();

Expand Down
13 changes: 9 additions & 4 deletions src/main/java/common/CommonProxy.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import gregtech.api.enums.Mods;
import kekztech.Items;

public class CommonProxy {
Expand All @@ -22,8 +23,10 @@ public void preInit(final FMLPreInitializationEvent e) {
Blocks.preInit();
// TileEntities
TileEntities.preInit();
// TC Research
Researches.preInit();
if (Mods.Thaumcraft.isModLoaded() && Mods.ThaumicTinkerer.isModLoaded()) {
// TC Research
Researches.preInit();
}
}

public void init(final FMLInitializationEvent e) {
Expand All @@ -34,8 +37,10 @@ public void init(final FMLInitializationEvent e) {
public void postInit(final FMLPostInitializationEvent e) {
// Recipes
Recipes.postInit();
// Research
Researches.postInit();
if (Mods.Thaumcraft.isModLoaded() && Mods.ThaumicTinkerer.isModLoaded()) {
// Research
Researches.postInit();
}

GTMTE_TFFTHatch.registerAEIntegration();
}
Expand Down
Loading

0 comments on commit 5cd813a

Please sign in to comment.