diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/gregtech/api/enums/GTValues.java | 1 | ||||
-rw-r--r-- | src/main/java/gregtech/api/util/GTCLSCompat.java | 78 | ||||
-rw-r--r-- | src/main/java/gregtech/common/GTProxy.java | 12 | ||||
-rw-r--r-- | src/main/java/gregtech/loaders/postload/GTPostLoad.java | 12 |
4 files changed, 27 insertions, 76 deletions
diff --git a/src/main/java/gregtech/api/enums/GTValues.java b/src/main/java/gregtech/api/enums/GTValues.java index 09cb0cb75c..388e2aec76 100644 --- a/src/main/java/gregtech/api/enums/GTValues.java +++ b/src/main/java/gregtech/api/enums/GTValues.java @@ -524,7 +524,6 @@ public class GTValues { public static boolean alwaysReloadChunkloaders = false; public static boolean debugChunkloaders = false; - public static boolean cls_enabled; public static final Set<String> mCTMEnabledBlock = new HashSet<>(); public static final Set<String> mCTMDisabledBlock = new HashSet<>(); diff --git a/src/main/java/gregtech/api/util/GTCLSCompat.java b/src/main/java/gregtech/api/util/GTCLSCompat.java index 823a7b850e..b8259d2547 100644 --- a/src/main/java/gregtech/api/util/GTCLSCompat.java +++ b/src/main/java/gregtech/api/util/GTCLSCompat.java @@ -1,69 +1,32 @@ package gregtech.api.util; +import java.io.IOException; import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; import java.util.Collection; -import java.util.Optional; import java.util.Set; import java.util.function.Consumer; import java.util.function.Function; +import alexiil.mods.load.MinecraftDisplayer; +import alexiil.mods.load.ProgressDisplayer; import cpw.mods.fml.common.ProgressManager; import gregtech.GTMod; import gregtech.api.enums.Materials; import gregtech.common.GTProxy; import gregtech.loaders.postload.GTPostLoad; -@SuppressWarnings("rawtypes, unchecked, deprecation") +@SuppressWarnings("rawtypes, deprecation") public class GTCLSCompat { - private static Class alexiilMinecraftDisplayer; - private static Class alexiilProgressDisplayer; private static Class cpwProgressBar; - - private static Method getLastPercent; - private static Method displayProgress; - - private static Field isReplacingVanillaMaterials; - private static Field isRegisteringGTmaterials; private static Field progressBarStep; static { - // CLS - try { - alexiilMinecraftDisplayer = Class.forName("alexiil.mods.load.MinecraftDisplayer"); - alexiilProgressDisplayer = Class.forName("alexiil.mods.load.ProgressDisplayer"); - } catch (ClassNotFoundException ex) { - GTMod.GT_FML_LOGGER.catching(ex); - } - try { cpwProgressBar = Class.forName("cpw.mods.fml.common.ProgressManager$ProgressBar"); } catch (ClassNotFoundException ex) { GTMod.GT_FML_LOGGER.catching(ex); } - - Optional.ofNullable(alexiilMinecraftDisplayer) - .ifPresent(e -> { - try { - getLastPercent = e.getMethod("getLastPercent"); - isReplacingVanillaMaterials = e.getField("isReplacingVanillaMaterials"); - isRegisteringGTmaterials = e.getField("isRegisteringGTmaterials"); - } catch (NoSuchMethodException | NoSuchFieldException ex) { - GTMod.GT_FML_LOGGER.catching(ex); - } - }); - - Optional.ofNullable(alexiilProgressDisplayer) - .ifPresent(e -> { - try { - displayProgress = e.getMethod("displayProgress", String.class, float.class); - } catch (NoSuchMethodException ex) { - GTMod.GT_FML_LOGGER.catching(ex); - } - }); - try { progressBarStep = cpwProgressBar.getDeclaredField("step"); progressBarStep.setAccessible(true); @@ -91,9 +54,9 @@ public class GTCLSCompat { String materialName = getName.apply(m) .toString(); try { - displayProgress.invoke(null, materialName, (float) currentStep / sizeStep); - } catch (IllegalAccessException | InvocationTargetException iae) { - GTMod.GT_FML_LOGGER.error("While updating progression", iae); + ProgressDisplayer.displayProgress(materialName, (float) currentStep / sizeStep); + } catch (IOException e) { + GTMod.GT_FML_LOGGER.error("While updating progression", e); } try { progressBarStep.set(progressBar, currentStep); @@ -119,12 +82,8 @@ public class GTCLSCompat { } public static void stepMaterialsCLS(Collection<GTProxy.OreDictEventContainer> mEvents, - ProgressManager.ProgressBar progressBar) throws IllegalAccessException { - try { - isRegisteringGTmaterials.set(null, true); - } catch (IllegalArgumentException | IllegalAccessException e) { - GTMod.GT_FML_LOGGER.catching(e); - } + ProgressManager.ProgressBar progressBar) { + MinecraftDisplayer.isRegisteringGTmaterials = true; registerAndReportProgression( "GregTech materials", mEvents, @@ -132,16 +91,12 @@ public class GTCLSCompat { m -> m.mMaterial, GTProxy::registerRecipes); ProgressManager.pop(progressBar); - isRegisteringGTmaterials.set(null, false); + MinecraftDisplayer.isRegisteringGTmaterials = false; } public static void doActualRegistrationCLS(ProgressManager.ProgressBar progressBar, Set<Materials> replacedVanillaItemsSet) { - try { - isReplacingVanillaMaterials.set(null, true); - } catch (IllegalArgumentException | IllegalAccessException e) { - GTMod.GT_FML_LOGGER.catching(e); - } + MinecraftDisplayer.isReplacingVanillaMaterials = true; registerAndReportProgression( "Vanilla materials", replacedVanillaItemsSet, @@ -150,8 +105,13 @@ public class GTCLSCompat { GTPostLoad::doActualRegistration); } - public static void pushToDisplayProgress() throws InvocationTargetException, IllegalAccessException { - isReplacingVanillaMaterials.set(null, false); - displayProgress.invoke(null, "Post Initialization: loading GregTech", getLastPercent.invoke(null)); + public static void pushToDisplayProgress() { + MinecraftDisplayer.isReplacingVanillaMaterials = false; + try { + ProgressDisplayer + .displayProgress("Post Initialization: loading GregTech", MinecraftDisplayer.getLastPercent()); + } catch (IOException e) { + GTMod.GT_FML_LOGGER.error("Exception caught when updating loading screen", e); + } } } diff --git a/src/main/java/gregtech/common/GTProxy.java b/src/main/java/gregtech/common/GTProxy.java index ef7070cb59..221fcd6f1f 100644 --- a/src/main/java/gregtech/common/GTProxy.java +++ b/src/main/java/gregtech/common/GTProxy.java @@ -2719,15 +2719,11 @@ public abstract class GTProxy implements IGTMod, IFuelHandler { public void activateOreDictHandler() { this.mOreDictActivated = true; ProgressManager.ProgressBar progressBar = ProgressManager.push("Register materials", mEvents.size()); - if (BetterLoadingScreen.isModLoaded()) { - GTValues.cls_enabled = true; - try { - GTCLSCompat.stepMaterialsCLS(mEvents, progressBar); - } catch (IllegalAccessException e) { - GT_FML_LOGGER.catching(e); - } - } else GTProxy.stepMaterialsVanilla(this.mEvents, progressBar); + GTCLSCompat.stepMaterialsCLS(mEvents, progressBar); + } else { + GTProxy.stepMaterialsVanilla(this.mEvents, progressBar); + } } @Deprecated diff --git a/src/main/java/gregtech/loaders/postload/GTPostLoad.java b/src/main/java/gregtech/loaders/postload/GTPostLoad.java index ffcd815156..35c4e2d874 100644 --- a/src/main/java/gregtech/loaders/postload/GTPostLoad.java +++ b/src/main/java/gregtech/loaders/postload/GTPostLoad.java @@ -1,5 +1,6 @@ package gregtech.loaders.postload; +import static gregtech.api.enums.Mods.BetterLoadingScreen; import static gregtech.api.enums.Mods.Forestry; import static gregtech.api.enums.Mods.GalacticraftCore; import static gregtech.api.enums.Mods.GalacticraftMars; @@ -13,7 +14,6 @@ import static gregtech.api.util.GTRecipeBuilder.MINUTES; import static gregtech.api.util.GTRecipeBuilder.SECONDS; import static gregtech.api.util.GTRecipeBuilder.TICKS; -import java.lang.reflect.InvocationTargetException; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -416,13 +416,9 @@ public class GTPostLoad { ProgressManager.ProgressBar progressBar = ProgressManager .push("Register materials", replaceVanillaItemsSet.size()); - if (GTValues.cls_enabled) { - try { - GTCLSCompat.doActualRegistrationCLS(progressBar, replaceVanillaItemsSet); - GTCLSCompat.pushToDisplayProgress(); - } catch (InvocationTargetException | IllegalAccessException e) { - GTMod.GT_FML_LOGGER.catching(e); - } + if (BetterLoadingScreen.isModLoaded()) { + GTCLSCompat.doActualRegistrationCLS(progressBar, replaceVanillaItemsSet); + GTCLSCompat.pushToDisplayProgress(); } else { replaceVanillaItemsSet.forEach(m -> { progressBar.step(m.mDefaultLocalName); |