diff options
5 files changed, 14 insertions, 5 deletions
diff --git a/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/gui/TransformingScreen.java b/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/gui/TransformingScreen.java index c85308476..ae6772e02 100644 --- a/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/gui/TransformingScreen.java +++ b/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/gui/TransformingScreen.java @@ -45,6 +45,7 @@ public class TransformingScreen extends DelegateScreen implements ScissorsScreen private Runnable init; private boolean renderingLastScreen = false; private boolean translatingLast; + private boolean initAfter = false; public TransformingScreen(boolean translatingLast, Screen parent, Screen lastScreen, Runnable init, DoubleSupplier xTransformer, DoubleSupplier yTransformer, BooleanSupplier finished) { super(Minecraft.getInstance().level == null && parent == null ? new TitleScreen() : parent); @@ -56,6 +57,10 @@ public class TransformingScreen extends DelegateScreen implements ScissorsScreen this.finished = finished; } + public void setInitAfter(boolean initAfter) { + this.initAfter = initAfter; + } + public void setParentScreen(Screen parent) { this.parent = parent; } @@ -128,6 +133,9 @@ public class TransformingScreen extends DelegateScreen implements ScissorsScreen Minecraft.getInstance().screen = parent; if (parent != null) { Minecraft.getInstance().noRender = false; + if (initAfter) { + parent.init(Minecraft.getInstance(), Minecraft.getInstance().getWindow().getGuiScaledWidth(), Minecraft.getInstance().getWindow().getGuiScaledHeight()); + } } } else { super.tick(); diff --git a/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/gui/widget/EntryWidget.java b/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/gui/widget/EntryWidget.java index 471c19606..45a1776a9 100644 --- a/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/gui/widget/EntryWidget.java +++ b/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/gui/widget/EntryWidget.java @@ -368,10 +368,10 @@ public class EntryWidget extends Slot { public boolean mouseScrolled(double mouseX, double mouseY, double amount) { if (ScreenHelper.isWithinRecipeViewingScreen && entryStacks.size() > 1 && containsMouse(mouseX, mouseY)) { if (amount < 0) { - EntryWidget.stackDisplayOffset += 500; + EntryWidget.stackDisplayOffset = ((System.currentTimeMillis() + stackDisplayOffset) / 1000 - 1) * 1000; return true; } else if (amount > 0) { - EntryWidget.stackDisplayOffset -= 500; + EntryWidget.stackDisplayOffset = ((System.currentTimeMillis() + stackDisplayOffset) / 1000 + 1) * 1000; return true; } } diff --git a/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java b/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java index 42cadb835..6ff9efcf0 100644 --- a/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java +++ b/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java @@ -220,11 +220,12 @@ public class ConfigManagerImpl implements ConfigManager { TransformingScreen parentTranslated; { MutableLong current = new MutableLong(0); - parentTranslated = new TransformingScreen(true, null, + parentTranslated = new TransformingScreen(true, parent, null, () -> current.setValue(current.getValue() == 0 ? Util.getMillis() + (getConfig().isReducedMotion() ? -3000 : 0) : current.getValue()), () -> 0, () -> (EasingMethod.EasingMethodImpl.EXPO.apply(MathHelper.clamp((Util.getMillis() - current.getValue()) / 750.0, 0, 1))) * Minecraft.getInstance().getWindow().getGuiScaledHeight(), () -> Util.getMillis() - current.getValue() > 800); + parentTranslated.setInitAfter(true); } ConfigScreenProvider<ConfigObjectImpl> provider = (ConfigScreenProvider<ConfigObjectImpl>) AutoConfig.getConfigScreen(ConfigObjectImpl.class, parentTranslated); provider.setI13nFunction(manager -> "config.roughlyenoughitems"); diff --git a/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/RecipeHelperImpl.java b/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/RecipeHelperImpl.java index 157329fab..f864d7ff8 100644 --- a/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/RecipeHelperImpl.java +++ b/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/RecipeHelperImpl.java @@ -206,7 +206,7 @@ public class RecipeHelperImpl implements RecipeHelper { } for (EntryStack stack : usagesFor) { if (isStackWorkStationOfCategory(categoryId, stack)) { - set.addAll(allRecipesFromCategory); + set.addAll(CollectionUtils.filter(allRecipesFromCategory, this::isDisplayVisible)); break; } } diff --git a/gradle.properties b/gradle.properties index f1398c270..28e61bf7b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ org.gradle.jvmargs=-Xmx3G -mod_version=5.8.8 +mod_version=5.8.9 supported_version=1.16.2/3/4 minecraft_version=1.16.2 forge_version=33.0.37 |
