diff options
| -rw-r--r-- | forge/build.gradle | 2 | ||||
| -rw-r--r-- | runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/SearchFilterPrepareWatcher.java | 28 |
2 files changed, 17 insertions, 13 deletions
diff --git a/forge/build.gradle b/forge/build.gradle index de045af59..af5ddc41f 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -213,7 +213,7 @@ curseforge { apiKey = project.hasProperty('danielshe_curse_api_key') ? project.property('danielshe_curse_api_key') : System.getenv('danielshe_curse_api_key') project { id = "310111" - releaseType = "release" + releaseType = "beta" changelogType = "html" changelog = rootProject.releaseChangelog addGameVersion "1.18.2" diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/SearchFilterPrepareWatcher.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/SearchFilterPrepareWatcher.java index 436f41724..a6b8a641d 100644 --- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/SearchFilterPrepareWatcher.java +++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/SearchFilterPrepareWatcher.java @@ -45,18 +45,22 @@ public class SearchFilterPrepareWatcher implements HintProvider { @Override public List<Component> provide() { lastProcess = null; - if (Argument.prepareStage != null && Argument.currentStages != null && Argument.prepareStacks != null && Argument.prepareStacks.size() > 100) { - if (Util.getEpochMillis() - Argument.prepareStart < 500) return Collections.emptyList(); - int prepareStageCurrent = Argument.prepareStage.firstInt(); - int prepareStageTotal = Argument.prepareStage.secondInt(); - IntIntPair currentStage = ArrayUtils.get(Argument.currentStages, prepareStageCurrent - 1); - int currentStageCurrent = currentStage == null ? 0 : currentStage.firstInt(); - int currentStageTotal = currentStage == null ? 0 : currentStage.secondInt(); - double prepareStageProgress = prepareStageTotal == 0 ? 0 : prepareStageCurrent / (double) prepareStageTotal; - double currentStageProgress = currentStageTotal == 0 ? 0 : currentStageCurrent / (double) currentStageTotal; - lastProcess = prepareStageTotal == 0 ? 0 : Math.max(0, prepareStageProgress - (1 - currentStageProgress) / prepareStageTotal); - return ImmutableList.of(new TranslatableComponent("text.rei.caching.search"), - new TranslatableComponent("text.rei.caching.search.step", prepareStageCurrent, prepareStageTotal, Math.round(lastProcess * 100))); + try { + if (Argument.prepareStage != null && Argument.currentStages != null && Argument.prepareStacks != null && Argument.prepareStacks.size() > 100 + && Argument.prepareStart != null) { + if (Util.getEpochMillis() - Argument.prepareStart < 500) return Collections.emptyList(); + int prepareStageCurrent = Argument.prepareStage.firstInt(); + int prepareStageTotal = Argument.prepareStage.secondInt(); + IntIntPair currentStage = ArrayUtils.get(Argument.currentStages, prepareStageCurrent - 1); + int currentStageCurrent = currentStage == null ? 0 : currentStage.firstInt(); + int currentStageTotal = currentStage == null ? 0 : currentStage.secondInt(); + double prepareStageProgress = prepareStageTotal == 0 ? 0 : prepareStageCurrent / (double) prepareStageTotal; + double currentStageProgress = currentStageTotal == 0 ? 0 : currentStageCurrent / (double) currentStageTotal; + lastProcess = prepareStageTotal == 0 ? 0 : Math.max(0, prepareStageProgress - (1 - currentStageProgress) / prepareStageTotal); + return ImmutableList.of(new TranslatableComponent("text.rei.caching.search"), + new TranslatableComponent("text.rei.caching.search.step", prepareStageCurrent, prepareStageTotal, Math.round(lastProcess * 100))); + } + } catch (NullPointerException ignored) { } return Collections.emptyList(); } |
