diff options
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r-- | src/main/java/gregtech/api/enums/GTValues.java | 1 | ||||
-rw-r--r-- | src/main/java/gregtech/api/util/GTCLSCompat.java | 78 |
2 files changed, 19 insertions, 60 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); + } } } |