diff options
-rw-r--r-- | build.gradle | 8 | ||||
-rw-r--r-- | dependencies.gradle | 5 | ||||
-rw-r--r-- | gradle/wrapper/gradle-wrapper.jar | bin | 61574 -> 61608 bytes | |||
-rw-r--r-- | gradle/wrapper/gradle-wrapper.properties | 2 | ||||
-rwxr-xr-x | gradlew | 4 | ||||
-rw-r--r-- | src/main/java/kubatech/ClientProxy.java | 9 | ||||
-rw-r--r-- | src/main/java/kubatech/CommonProxy.java | 5 | ||||
-rw-r--r-- | src/main/java/kubatech/api/LoaderReference.java | 1 | ||||
-rw-r--r-- | src/main/java/kubatech/api/helpers/ProgressBarWrapper.java | 55 | ||||
-rw-r--r-- | src/main/java/kubatech/kubatech.java | 5 | ||||
-rw-r--r-- | src/main/java/kubatech/loaders/MobRecipeLoader.java | 25 | ||||
-rw-r--r-- | src/main/java/kubatech/loaders/RecipeLoader.java | 1 |
12 files changed, 92 insertions, 28 deletions
diff --git a/build.gradle b/build.gradle index 927ed20fdb..7b1f6c4507 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ -//version: 1678003329 +//version: 1679040806 /* DO NOT CHANGE THIS FILE! Also, you may replace this file at any time if there is an update available. @@ -695,13 +695,13 @@ ext.java17PatchDependenciesCfg = configurations.create("java17PatchDependencies" } dependencies { - def lwjgl3ifyVersion = '1.1.35' + def lwjgl3ifyVersion = '1.2.2' def asmVersion = '9.4' if (modId != 'lwjgl3ify') { java17Dependencies("com.github.GTNewHorizons:lwjgl3ify:${lwjgl3ifyVersion}") } if (modId != 'hodgepodge') { - java17Dependencies('com.github.GTNewHorizons:Hodgepodge:2.0.40') + java17Dependencies('com.github.GTNewHorizons:Hodgepodge:2.1.0') } java17PatchDependencies('net.minecraft:launchwrapper:1.15') {transitive = false} @@ -1204,7 +1204,7 @@ def addCurseForgeRelation(String type, String name) { // Updating -def buildscriptGradleVersion = "8.0.1" +def buildscriptGradleVersion = "8.0.2" tasks.named('wrapper', Wrapper).configure { gradleVersion = buildscriptGradleVersion diff --git a/dependencies.gradle b/dependencies.gradle index d553177825..30db070943 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -34,6 +34,10 @@ dependencies { { transitive = false } + compileOnly("com.github.GTNewHorizons:BetterLoadingScreen:1.3.39-GTNH:dev") + { + transitive = false + } runtimeOnly("com.github.GTNewHorizons:Baubles:1.0.1.14:dev") runtimeOnly("curse.maven:cofh-core-69162:2388751") /* @@ -44,6 +48,7 @@ dependencies { */ // For testing + //runtimeOnly("com.github.GTNewHorizons:BetterLoadingScreen:1.3.39-GTNH:dev") //runtimeOnly("com.github.GTNewHorizons:GTplusplus:1.7.134:dev") //runtimeOnly("com.github.GTNewHorizons:harvestcraft:1.0.18-GTNH:dev") //runtimeOnly("com.github.GTNewHorizons:NewHorizonsCoreMod:1.9.103:dev") diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar Binary files differindex 943f0cbfa7..ccebba7710 100644 --- a/gradle/wrapper/gradle-wrapper.jar +++ b/gradle/wrapper/gradle-wrapper.jar diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index fc10b601f7..bdc9a83b1e 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists @@ -144,7 +144,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -152,7 +152,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac diff --git a/src/main/java/kubatech/ClientProxy.java b/src/main/java/kubatech/ClientProxy.java index 618518a016..f14ce56e74 100644 --- a/src/main/java/kubatech/ClientProxy.java +++ b/src/main/java/kubatech/ClientProxy.java @@ -11,11 +11,7 @@ package kubatech; import kubatech.api.utils.ModUtils; -import kubatech.loaders.MobRecipeLoader; import kubatech.nei.IMCForNEI; - -import net.minecraftforge.common.MinecraftForge; - import cpw.mods.fml.common.event.*; @SuppressWarnings("unused") @@ -29,7 +25,6 @@ public class ClientProxy extends CommonProxy { public void init(FMLInitializationEvent event) { super.init(event); IMCForNEI.IMCSender(); - MinecraftForge.EVENT_BUS.register(MobRecipeLoader.instance); } public void postInit(FMLPostInitializationEvent event) { @@ -55,4 +50,8 @@ public class ClientProxy extends CommonProxy { public void serverStopped(FMLServerStoppedEvent event) { super.serverStopped(event); } + + public void loadComplete(FMLLoadCompleteEvent event) { + super.loadComplete(event); + } } diff --git a/src/main/java/kubatech/CommonProxy.java b/src/main/java/kubatech/CommonProxy.java index b2297b5105..db62bf7c97 100644 --- a/src/main/java/kubatech/CommonProxy.java +++ b/src/main/java/kubatech/CommonProxy.java @@ -17,6 +17,7 @@ import kubatech.api.LoaderReference; import kubatech.commands.*; import kubatech.config.Config; import kubatech.loaders.MTLoader; +import kubatech.loaders.MobRecipeLoader; import kubatech.loaders.RecipeLoader; import kubatech.loaders.TCLoader; import kubatech.savedata.PlayerDataManager; @@ -65,4 +66,8 @@ public class CommonProxy { public void serverStopping(FMLServerStoppingEvent event) {} public void serverStopped(FMLServerStoppedEvent event) {} + + public void loadComplete(FMLLoadCompleteEvent event) { + MobRecipeLoader.generateMobRecipeMap(); + } } diff --git a/src/main/java/kubatech/api/LoaderReference.java b/src/main/java/kubatech/api/LoaderReference.java index 5ae387ed63..16526b2b9e 100644 --- a/src/main/java/kubatech/api/LoaderReference.java +++ b/src/main/java/kubatech/api/LoaderReference.java @@ -18,4 +18,5 @@ public class LoaderReference { public static final boolean Forestry = Loader.isModLoaded("Forestry"); public static final boolean DraconicEvolution = Loader.isModLoaded("DraconicEvolution"); public static final boolean Avaritia = Loader.isModLoaded("Avaritia"); + public static final boolean BetterLoadingScreen = Loader.isModLoaded("betterloadingscreen"); } diff --git a/src/main/java/kubatech/api/helpers/ProgressBarWrapper.java b/src/main/java/kubatech/api/helpers/ProgressBarWrapper.java new file mode 100644 index 0000000000..f1243c4d46 --- /dev/null +++ b/src/main/java/kubatech/api/helpers/ProgressBarWrapper.java @@ -0,0 +1,55 @@ +package kubatech.api.helpers; + +import static kubatech.api.utils.ModUtils.isClientSided; + +import java.io.IOException; + +import kubatech.Tags; +import kubatech.api.LoaderReference; +import alexiil.mods.load.ProgressDisplayer; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.ProgressManager; + +@SuppressWarnings("deprecation") +public class ProgressBarWrapper { + + ProgressManager.ProgressBar internalFMLBar; + boolean isFMLBar; + String name; + int maxSteps; + int steps = 0; + + public ProgressBarWrapper(String name, int steps) { + if (!isClientSided) return; + maxSteps = steps; + this.name = name; + if (!LoaderReference.BetterLoadingScreen) { + internalFMLBar = ProgressManager.push(name, steps); + isFMLBar = true; + return; + } + isFMLBar = false; + } + + public void step(String message) { + if (!isClientSided) return; + if (isFMLBar) internalFMLBar.step(message); + else { + steps++; + try { + ProgressDisplayer.displayProgress( + Tags.MODNAME + ": " + name + " -> " + message, + (float) steps / (float) maxSteps); + } catch (IOException e) { + throw new RuntimeException(e); + } + // Prevent game freeze + FMLCommonHandler.instance().processWindowMessages(); + } + } + + public void end() { + if (!isClientSided) return; + if (isFMLBar) ProgressManager.pop(internalFMLBar); + } +} diff --git a/src/main/java/kubatech/kubatech.java b/src/main/java/kubatech/kubatech.java index a459116d83..b0868a3f30 100644 --- a/src/main/java/kubatech/kubatech.java +++ b/src/main/java/kubatech/kubatech.java @@ -135,6 +135,11 @@ public class kubatech { proxy.serverStopped(event); } + @Mod.EventHandler + public void loadComplete(FMLLoadCompleteEvent event) { + proxy.loadComplete(event); + } + public static void debug(String message) { LOG.debug(message); } diff --git a/src/main/java/kubatech/loaders/MobRecipeLoader.java b/src/main/java/kubatech/loaders/MobRecipeLoader.java index a63f3dad13..bfa94eb632 100644 --- a/src/main/java/kubatech/loaders/MobRecipeLoader.java +++ b/src/main/java/kubatech/loaders/MobRecipeLoader.java @@ -28,6 +28,7 @@ import kubatech.Tags; import kubatech.api.LoaderReference; import kubatech.api.helpers.EnderIOHelper; import kubatech.api.helpers.InfernalHelper; +import kubatech.api.helpers.ProgressBarWrapper; import kubatech.api.mobhandler.MobDrop; import kubatech.api.network.LoadConfigPacket; import kubatech.api.utils.GSONUtils; @@ -59,8 +60,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.StatCollector; import net.minecraft.world.World; -import net.minecraftforge.client.event.GuiOpenEvent; -import net.minecraftforge.common.MinecraftForge; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -74,7 +73,6 @@ import atomicstryker.infernalmobs.common.mods.api.ModifierLoader; import com.google.common.io.Files; import com.google.gson.Gson; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.util.GT_Utility; @@ -84,15 +82,6 @@ public class MobRecipeLoader { private static final Logger LOG = LogManager.getLogger(Tags.MODID + "[Mob Recipe Loader]"); - public static final MobRecipeLoader instance = new MobRecipeLoader(); - - @SuppressWarnings("unused") - @SubscribeEvent - public void onOpenGui(GuiOpenEvent event) { - MobRecipeLoader.generateMobRecipeMap(); - MinecraftForge.EVENT_BUS.unregister(instance); - } - private static final String dropFewItemsName = isDeobfuscatedEnvironment ? "dropFewItems" : "func_70628_a"; private static final String dropRareDropName = isDeobfuscatedEnvironment ? "dropRareDrop" : "func_70600_l"; private static final String setSlimeSizeName = isDeobfuscatedEnvironment ? "setSlimeSize" : "func_70799_a"; @@ -620,7 +609,9 @@ public class MobRecipeLoader { MobRecipeLoaderCacheStructure s = gson.fromJson(reader, MobRecipeLoaderCacheStructure.class); if (Config.MobHandler.regenerationTrigger == Config.MobHandler._CacheRegenerationTrigger.Never || s.version.equals(modlistversion)) { + ProgressBarWrapper bar = new ProgressBarWrapper("Parsing cached Mob Recipe Map", s.moblist.size()); for (Map.Entry<String, ArrayList<MobDrop>> entry : s.moblist.entrySet()) { + bar.step(entry.getKey()); try { EntityLiving e; String mobName = entry.getKey(); @@ -637,6 +628,7 @@ public class MobRecipeLoader { new GeneralMappedMob(e, MobRecipe.generateMobRecipe(e, mobName, drops), drops)); } catch (Exception ignored) {} } + bar.end(); LOG.info("Parsed cached map, skipping generation"); return; } else { @@ -691,8 +683,9 @@ public class MobRecipeLoader { Map<String, Class<? extends Entity>> stringToClassMapping = (Map<String, Class<? extends Entity>>) EntityList.stringToClassMapping; boolean registeringWitherSkeleton = !stringToClassMapping.containsKey("witherSkeleton"); if (registeringWitherSkeleton) stringToClassMapping.put("witherSkeleton", EntitySkeleton.class); - + ProgressBarWrapper bar = new ProgressBarWrapper("Generating Mob Recipe Map", stringToClassMapping.size()); stringToClassMapping.forEach((k, v) -> { + bar.step(k); if (v == null) return; if (Modifier.isAbstract(v.getModifiers())) { @@ -727,10 +720,10 @@ public class MobRecipeLoader { return; } - e.captureDrops = true; - // POWERFULL GENERATION + e.captureDrops = true; + if (e instanceof EntitySlime) try { setSlimeSize.invoke(e, 1); } catch (Exception ex) { @@ -1101,6 +1094,8 @@ public class MobRecipeLoader { LOG.info("Recipe map generated ! It took " + time + "ms"); + bar.end(); + isInGenerationProcess = false; LOG.info("Saving generated map to file"); diff --git a/src/main/java/kubatech/loaders/RecipeLoader.java b/src/main/java/kubatech/loaders/RecipeLoader.java index dc70c183e8..c8241e7f0c 100644 --- a/src/main/java/kubatech/loaders/RecipeLoader.java +++ b/src/main/java/kubatech/loaders/RecipeLoader.java @@ -134,7 +134,6 @@ public class RecipeLoader { if (lateRecipesInitialized) return; lateRecipesInitialized = true; - MobRecipeLoader.generateMobRecipeMap(); MobRecipeLoader.processMobRecipeMap(); } |