aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/GT_Proxy.java
diff options
context:
space:
mode:
authorjackowski626 <jf@wikiera.net>2020-04-19 14:07:16 +0200
committerjackowski626 <jf@wikiera.net>2020-04-19 14:07:16 +0200
commit76c7090220f83008b157eb4ae9e1541c9ac6c1ee (patch)
tree13bbc2211b84ff4a6701cecc79fdecdcff025d59 /src/main/java/gregtech/common/GT_Proxy.java
parentfcc29fa66ffd1ce2880c6896730f8cc3fff37a9f (diff)
downloadGT5-Unofficial-76c7090220f83008b157eb4ae9e1541c9ac6c1ee.tar.gz
GT5-Unofficial-76c7090220f83008b157eb4ae9e1541c9ac6c1ee.tar.bz2
GT5-Unofficial-76c7090220f83008b157eb4ae9e1541c9ac6c1ee.zip
CLS support
OpenGL is a bit of a pita, wants only to be used in main thread. The easiest solution was to trigger CLS screen updates from GT. It is a soft dependency, if CLS isn't present, nothing breaks. Second pr because cloned fresh repo or else it attributed not my changes to me
Diffstat (limited to 'src/main/java/gregtech/common/GT_Proxy.java')
-rw-r--r--src/main/java/gregtech/common/GT_Proxy.java62
1 files changed, 58 insertions, 4 deletions
diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java
index 3b668d805d..09399daceb 100644
--- a/src/main/java/gregtech/common/GT_Proxy.java
+++ b/src/main/java/gregtech/common/GT_Proxy.java
@@ -1933,19 +1933,73 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
ProgressManager.ProgressBar progressBar = ProgressManager.push("Register materials", mEvents.size());
int sizeStep = mEvents.size()/20-1;
int size = 5;
+ //CLS
+ boolean hasSetNice = false;
+ if (Loader.isModLoaded("betterloadingscreen")) {
+ try {
+ alexiil.mods.load.MinecraftDisplayer.isRegisteringGTmaterials = true;
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
+ sizeStep = mEvents.size()/100-1;
+ size = 0;
+ hasSetNice = false;
+ }
+ //end CLS
OreDictEventContainer tEvent;
for (Iterator i$ = this.mEvents.iterator(); i$.hasNext(); registerRecipes(tEvent)) {
tEvent = (OreDictEventContainer) i$.next();
sizeStep--;
- progressBar.step(tEvent.mMaterial == null ? "" : tEvent.mMaterial.toString());
- if( sizeStep == 0 )
- {
- GT_FML_LOGGER.info("Baking : " + size + "%", new Object[0]);
+ //CLS
+ if (Loader.isModLoaded("betterloadingscreen")) {
+ if (!(tEvent.mMaterial == null)) {
+ try {
+ alexiil.mods.load.ProgressDisplayer.displayProgress(tEvent.mMaterial.toString(), ((float)size)/100);
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
+ if (size == 70 && !hasSetNice) {
+ hasSetNice = true;
+ try {
+ alexiil.mods.load.MinecraftDisplayer.isNice = true;
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
+ GT_FML_LOGGER.info("nice");
+ } else if (size != 70) {
+ try{
+ alexiil.mods.load.MinecraftDisplayer.isNice = false;
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+ //end CLS
+ if( sizeStep == 0 ) {
+ GT_FML_LOGGER.info("Baking : " + size + "%", new Object[0]);
+ //CLS
+ if (Loader.isModLoaded("betterloadingscreen")) {
+ sizeStep = mEvents.size()/100-1;
+ size++;
+ } else {
+ //end CLS
sizeStep = mEvents.size()/20-1;
size += 5;
}
+ }
+ progressBar.step(tEvent.mMaterial == null ? "" : tEvent.mMaterial.toString());
}
ProgressManager.pop(progressBar);
+ //CLS
+ if (Loader.isModLoaded("betterloadingscreen")) {
+ try {
+ alexiil.mods.load.MinecraftDisplayer.isRegisteringGTmaterials = false;
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
+ }
+ //end CLS
}
public static final HashMap<Integer,HashMap<ChunkCoordIntPair,int []>> dimensionWiseChunkData = new HashMap<>(16);//stores chunk data that is loaded/saved