aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/GT_Mod.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/GT_Mod.java')
-rw-r--r--src/main/java/gregtech/GT_Mod.java74
1 files changed, 68 insertions, 6 deletions
diff --git a/src/main/java/gregtech/GT_Mod.java b/src/main/java/gregtech/GT_Mod.java
index 82517427df..0bd4e8325d 100644
--- a/src/main/java/gregtech/GT_Mod.java
+++ b/src/main/java/gregtech/GT_Mod.java
@@ -64,6 +64,8 @@ import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
import static gregtech.api.enums.GT_Values.MOD_ID_AE;
import static gregtech.api.enums.GT_Values.MOD_ID_FR;
@@ -118,7 +120,17 @@ public class GT_Mod implements IGT_Mod {
private final String aTextGeneral = "general";
private final String aTextIC2 = "ic2_";
public static final Logger GT_FML_LOGGER = LogManager.getLogger("GregTech GTNH");
+ //CLS
private static String latestMaterial;
+ private static float lastPercent;
+
+ private static Class alexiilMinecraftDisplayer;
+ private static Field isReplacingVanillaMaterials;
+ private static Method getLastPercent;
+
+ private static Class alexiilProgressDisplayer;
+ private static Method displayProgress;
+ //end CLS
static {
if ((509 != GregTech_API.VERSION) || (509 != GT_ModHandler.VERSION) || (509 != GT_OreDictUnificator.VERSION) || (509 != GT_Recipe.VERSION) || (509 != GT_Utility.VERSION) || (509 != GT_RecipeRegistrator.VERSION) || (509 != Element.VERSION) || (509 != Materials.VERSION) || (509 != OrePrefixes.VERSION)) {
@@ -146,6 +158,30 @@ public class GT_Mod implements IGT_Mod {
Textures.BlockIcons.VOID.name();
Textures.ItemIcons.VOID.name();
+
+ //CLS
+ try {
+ alexiilMinecraftDisplayer = Class.forName("alexiil.mods.load.MinecraftDisplayer");
+ } catch (Throwable ignored) {
+ }
+ try {
+ isReplacingVanillaMaterials = alexiilMinecraftDisplayer.getField("isReplacingVanillaMaterials");
+ } catch (Throwable ignored) {
+ }
+ try {
+ getLastPercent = alexiilMinecraftDisplayer.getMethod("getLastPercent");
+ } catch (Throwable ignored) {
+ }
+
+ try {
+ alexiilProgressDisplayer = Class.forName("alexiil.mods.load.ProgressDisplayer");
+ } catch (Throwable ignored) {
+ }
+ try {
+ displayProgress = alexiilProgressDisplayer.getMethod("displayProgress");
+ } catch (Throwable ignored) {
+ }
+ //end CLS
}
public static int calculateTotalGTVersion(int minorVersion) {
@@ -808,7 +844,12 @@ public class GT_Mod implements IGT_Mod {
if (Loader.isModLoaded("betterloadingscreen")) {
originalSizeStep = sizeStep;
counter = replaceVanillaItemsSet.size();
- alexiil.mods.load.MinecraftDisplayer.isReplacingVanillaMaterials = true;
+ //alexiil.mods.load.MinecraftDisplayer.isReplacingVanillaMaterials = true;
+ //isReplacingVanillaMaterials.setAccessible(true);
+ try {
+ isReplacingVanillaMaterials.set(null, true);
+ } catch (Throwable ignored) {
+ }
if (replaceVanillaItemsSet.size() >= 100) {
sizeStep = replaceVanillaItemsSet.size()/100-1;
sizeStep2 = 1;
@@ -823,22 +864,26 @@ public class GT_Mod implements IGT_Mod {
if (Loader.isModLoaded("betterloadingscreen")) {
counter--;
sizeStep--;
+ //displayProgress.setAccessible(true);
if (counter == 1) {
try {
- alexiil.mods.load.ProgressDisplayer.displayProgress(m.mDefaultLocalName, ((float)95)/100);
+ //alexiil.mods.load.ProgressDisplayer.displayProgress(m.mDefaultLocalName, ((float)95)/100);
+ displayProgress.invoke(null, m.mDefaultLocalName, ((float)95)/100);
} catch (Throwable e) {
e.printStackTrace();
}
} else if (counter == 0) {
latestMaterial = m.mDefaultLocalName;
try {
- alexiil.mods.load.ProgressDisplayer.displayProgress(m.mDefaultLocalName, (float)1);
+ //alexiil.mods.load.ProgressDisplayer.displayProgress(m.mDefaultLocalName, (float)1);
+ displayProgress.invoke(null, m.mDefaultLocalName, (float)1);
} catch (Throwable e) {
e.printStackTrace();
}
} else {
try {
- alexiil.mods.load.ProgressDisplayer.displayProgress(m.mDefaultLocalName, ((float)size)/100);
+ //alexiil.mods.load.ProgressDisplayer.displayProgress(m.mDefaultLocalName, ((float)size)/100);
+ displayProgress.invoke(null, m.mDefaultLocalName, ((float)size)/100);
} catch (Throwable e) {
e.printStackTrace();
}
@@ -866,8 +911,25 @@ public class GT_Mod implements IGT_Mod {
//CLS
if (Loader.isModLoaded("betterloadingscreen")) {
try {
- alexiil.mods.load.MinecraftDisplayer.isReplacingVanillaMaterials = false;
- alexiil.mods.load.ProgressDisplayer.displayProgress("Post Initialization: loading GregTech", alexiil.mods.load.MinecraftDisplayer.getLastPercent());
+ //alexiil.mods.load.MinecraftDisplayer.isReplacingVanillaMaterials = false;
+ //isReplacingVanillaMaterials.setAccessible(true);
+ try {
+ isReplacingVanillaMaterials.set(null, false);
+ } catch (Throwable ignored) {
+ }
+ //displayProgress.setAccessible(true);
+ //getLastPercent.setAccessible(true);
+
+ try {
+ lastPercent = (float) getLastPercent.invoke(null);
+ } catch (Throwable ignored) {
+ }
+
+ try {
+ //alexiil.mods.load.ProgressDisplayer.displayProgress("Post Initialization: loading GregTech", alexiil.mods.load.MinecraftDisplayer.getLastPercent());
+ displayProgress.invoke(null, "Post Initialization: loading GregTech", lastPercent);
+ } catch (Throwable ignored) {
+ }
} catch (Throwable e) {
e.printStackTrace();
}