aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/api/enums/GTValues.java1
-rw-r--r--src/main/java/gregtech/api/util/GTCLSCompat.java78
-rw-r--r--src/main/java/gregtech/common/GTProxy.java12
-rw-r--r--src/main/java/gregtech/loaders/postload/GTPostLoad.java12
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);