diff options
author | jackowski626 <jf@wikiera.net> | 2020-04-19 18:02:28 +0200 |
---|---|---|
committer | jackowski626 <jf@wikiera.net> | 2020-04-19 18:02:28 +0200 |
commit | 007e17150f2bb86d38cfb44c7ac1176532126ef1 (patch) | |
tree | 450bab5f16325ce3eca0afa5d05d8d8009922371 /src | |
parent | 361e6fae8f9f0ac9caff0d38f746a92cc3d585ba (diff) | |
download | GT5-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.java | 74 | ||||
-rw-r--r-- | src/main/java/gregtech/common/GT_Proxy.java | 55 |
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(); } |