diff options
| author | Jakub <53441451+kuba6000@users.noreply.github.com> | 2023-03-17 18:58:12 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-17 18:58:12 +0100 |
| commit | 032d63ad73432b0643cd42b8b1897d9593b4f728 (patch) | |
| tree | feb6c6454cd45e31ad988bf6bbe0cdccbcefee5e /src/main/java/kubatech/api | |
| parent | c5f2184b6b0e9375f75a860c51ec54d8c40c689e (diff) | |
| parent | a12768cd189fcbca175295a948291a81f8c4d350 (diff) | |
| download | GT5-Unofficial-032d63ad73432b0643cd42b8b1897d9593b4f728.tar.gz GT5-Unofficial-032d63ad73432b0643cd42b8b1897d9593b4f728.tar.bz2 GT5-Unofficial-032d63ad73432b0643cd42b8b1897d9593b4f728.zip | |
Merge branch 'master' into test
Diffstat (limited to 'src/main/java/kubatech/api')
| -rw-r--r-- | src/main/java/kubatech/api/LoaderReference.java | 3 | ||||
| -rw-r--r-- | src/main/java/kubatech/api/helpers/ProgressBarWrapper.java | 55 |
2 files changed, 57 insertions, 1 deletions
diff --git a/src/main/java/kubatech/api/LoaderReference.java b/src/main/java/kubatech/api/LoaderReference.java index 5d6545adae..192a7158a4 100644 --- a/src/main/java/kubatech/api/LoaderReference.java +++ b/src/main/java/kubatech/api/LoaderReference.java @@ -19,5 +19,6 @@ public class LoaderReference { public static final boolean DraconicEvolution = Loader.isModLoaded("DraconicEvolution"); public static final boolean Avaritia = Loader.isModLoaded("Avaritia"); public static final boolean ProjRedIllumination = Loader.isModLoaded("ProjRed|Illumination"); - public static final boolean RandomThings = Loader.isModLoaded("RandomThings"); + public static final boolean RandomThings = Loader.isModLoaded("RandomThings") + public static final boolean BetterLoadingScreen = Loader.isModLoaded("betterloadingscreen"); } diff --git a/src/main/java/kubatech/api/helpers/ProgressBarWrapper.java b/src/main/java/kubatech/api/helpers/ProgressBarWrapper.java new file mode 100644 index 0000000000..f1243c4d46 --- /dev/null +++ b/src/main/java/kubatech/api/helpers/ProgressBarWrapper.java @@ -0,0 +1,55 @@ +package kubatech.api.helpers; + +import static kubatech.api.utils.ModUtils.isClientSided; + +import java.io.IOException; + +import kubatech.Tags; +import kubatech.api.LoaderReference; +import alexiil.mods.load.ProgressDisplayer; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.ProgressManager; + +@SuppressWarnings("deprecation") +public class ProgressBarWrapper { + + ProgressManager.ProgressBar internalFMLBar; + boolean isFMLBar; + String name; + int maxSteps; + int steps = 0; + + public ProgressBarWrapper(String name, int steps) { + if (!isClientSided) return; + maxSteps = steps; + this.name = name; + if (!LoaderReference.BetterLoadingScreen) { + internalFMLBar = ProgressManager.push(name, steps); + isFMLBar = true; + return; + } + isFMLBar = false; + } + + public void step(String message) { + if (!isClientSided) return; + if (isFMLBar) internalFMLBar.step(message); + else { + steps++; + try { + ProgressDisplayer.displayProgress( + Tags.MODNAME + ": " + name + " -> " + message, + (float) steps / (float) maxSteps); + } catch (IOException e) { + throw new RuntimeException(e); + } + // Prevent game freeze + FMLCommonHandler.instance().processWindowMessages(); + } + } + + public void end() { + if (!isClientSided) return; + if (isFMLBar) ProgressManager.pop(internalFMLBar); + } +} |
