aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjackowski626 <jf@wikiera.net>2020-04-19 18:02:28 +0200
committerjackowski626 <jf@wikiera.net>2020-04-19 18:02:28 +0200
commit007e17150f2bb86d38cfb44c7ac1176532126ef1 (patch)
tree450bab5f16325ce3eca0afa5d05d8d8009922371 /src
parent361e6fae8f9f0ac9caff0d38f746a92cc3d585ba (diff)
downloadGT5-Unofficial-007e17150f2bb86d38cfb44c7ac1176532126ef1.tar.gz
GT5-Unofficial-007e17150f2bb86d38cfb44c7ac1176532126ef1.tar.bz2
GT5-Unofficial-007e17150f2bb86d38cfb44c7ac1176532126ef1.zip
CLS not a dependency anymore
Works through reflection now
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/GT_Mod.java74
-rw-r--r--src/main/java/gregtech/common/GT_Proxy.java55
2 files changed, 118 insertions, 11 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();
}
diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java
index 09399daceb..03257cd59b 100644
--- a/src/main/java/gregtech/common/GT_Proxy.java
+++ b/src/main/java/gregtech/common/GT_Proxy.java
@@ -87,6 +87,8 @@ import org.apache.logging.log4j.Logger;
import java.io.File;
import java.text.DateFormat;
import java.util.*;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
import static gregtech.api.enums.GT_Values.debugEntityCramming;
@@ -224,6 +226,19 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
public boolean ic2EnergySourceCompat = true;
public boolean costlyCableConnection = false;
+ //CLS
+ private static Field isNice;
+
+ private static Class alexiilMinecraftDisplayer;
+ private static Field isRegisteringGTmaterials;
+ //private static Method getLastPercent;
+
+ private static Class alexiilProgressDisplayer;
+ private static Method displayProgress;
+
+
+ //end CLS
+
public GT_Proxy() {
GameRegistry.registerFuelHandler(this);
MinecraftForge.EVENT_BUS.register(this);
@@ -242,6 +257,27 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
}
}
} catch (Throwable e) {e.printStackTrace(GT_Log.err);}
+
+ //CLS
+ System.out.println("Uing reflection on CLS");
+ try {
+ alexiilMinecraftDisplayer = Class.forName("alexiil.mods.load.MinecraftDisplayer");
+ } catch (Throwable e) { System.out.println("bruh momento1"); e.printStackTrace(GT_Log.err); }
+ try {
+ isRegisteringGTmaterials = alexiilMinecraftDisplayer.getField("isRegisteringGTmaterials");
+ } catch (Throwable e) {System.out.println("bruh momento2");e.printStackTrace(GT_Log.err);}
+ try {
+ isNice = alexiilMinecraftDisplayer.getField("isNice");
+ } catch (Throwable e) {System.out.println("bruh momento3");e.printStackTrace(GT_Log.err);}
+
+ try {
+ alexiilProgressDisplayer = Class.forName("alexiil.mods.load.ProgressDisplayer");
+ } catch (Throwable e) {System.out.println("bruh momento4");e.printStackTrace(GT_Log.err);}
+ try {
+ //hmm errors here
+ displayProgress = alexiilProgressDisplayer.getDeclaredMethod("displayProgress", String.class, float.class);
+ } catch (Throwable e) {System.out.println("bruh momento5");e.printStackTrace(GT_Log.err);}
+ //end CLS
}
private static final void registerRecipes(OreDictEventContainer aOre) {
@@ -1936,8 +1972,12 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
//CLS
boolean hasSetNice = false;
if (Loader.isModLoaded("betterloadingscreen")) {
+ //isRegisteringGTmaterials.setAccessible(true);
+ //isNice.setAccessible(true);
+ //displayProgress.setAccessible(true);
try {
- alexiil.mods.load.MinecraftDisplayer.isRegisteringGTmaterials = true;
+ //alexiil.mods.load.MinecraftDisplayer.isRegisteringGTmaterials = true;
+ isRegisteringGTmaterials.set(null, true);
} catch (Throwable e) {
e.printStackTrace();
}
@@ -1947,6 +1987,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
}
//end CLS
OreDictEventContainer tEvent;
+
for (Iterator i$ = this.mEvents.iterator(); i$.hasNext(); registerRecipes(tEvent)) {
tEvent = (OreDictEventContainer) i$.next();
sizeStep--;
@@ -1954,21 +1995,24 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
if (Loader.isModLoaded("betterloadingscreen")) {
if (!(tEvent.mMaterial == null)) {
try {
- alexiil.mods.load.ProgressDisplayer.displayProgress(tEvent.mMaterial.toString(), ((float)size)/100);
+ //alexiil.mods.load.ProgressDisplayer.displayProgress(tEvent.mMaterial.toString(), ((float)size)/100);
+ displayProgress.invoke(null, tEvent.mMaterial.toString(), ((float)size)/100);
} catch (Throwable e) {
e.printStackTrace();
}
if (size == 70 && !hasSetNice) {
hasSetNice = true;
try {
- alexiil.mods.load.MinecraftDisplayer.isNice = true;
+ //alexiil.mods.load.MinecraftDisplayer.isNice = true;
+ isNice.set(null, true);
} catch (Throwable e) {
e.printStackTrace();
}
GT_FML_LOGGER.info("nice");
} else if (size != 70) {
try{
- alexiil.mods.load.MinecraftDisplayer.isNice = false;
+ //alexiil.mods.load.MinecraftDisplayer.isNice = false;
+ isNice.set(null, false);
} catch (Throwable e) {
e.printStackTrace();
}
@@ -1994,7 +2038,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
//CLS
if (Loader.isModLoaded("betterloadingscreen")) {
try {
- alexiil.mods.load.MinecraftDisplayer.isRegisteringGTmaterials = false;
+ //alexiil.mods.load.MinecraftDisplayer.isRegisteringGTmaterials = false;
+ isRegisteringGTmaterials.set(null, false);
} catch (Throwable e) {
e.printStackTrace();
}