aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java/me/shedaniel/rei/impl
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-03-20 16:40:39 +0800
committershedaniel <daniel@shedaniel.me>2021-03-20 16:40:39 +0800
commit2cd3f0737b2008e37f8eaadf479312c60d36e7bc (patch)
tree94766ef4f9f33c66d28678e052cfb27d48f4094a /runtime/src/main/java/me/shedaniel/rei/impl
parentdae95200cbb2eb3b8851ca955ffd770e0892dedd (diff)
downloadRoughlyEnoughItems-2cd3f0737b2008e37f8eaadf479312c60d36e7bc.tar.gz
RoughlyEnoughItems-2cd3f0737b2008e37f8eaadf479312c60d36e7bc.tar.bz2
RoughlyEnoughItems-2cd3f0737b2008e37f8eaadf479312c60d36e7bc.zip
Allow customizing what part of REI should animate, disable config screen animation by default
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'runtime/src/main/java/me/shedaniel/rei/impl')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java23
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/InternalWidgets.java1
3 files changed, 24 insertions, 6 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java
index b8edc6b5c..e69c5f3aa 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java
@@ -245,7 +245,7 @@ public class ConfigManagerImpl implements ConfigManager {
MutableLong current = new MutableLong(0);
parentTranslated = new TransformingScreen(true, parent,
null,
- () -> current.setValue(current.getValue() == 0 ? Util.getMillis() + (getConfig().isReducedMotion() ? -3000 : 0) : current.getValue()),
+ () -> current.setValue(current.getValue() == 0 ? Util.getMillis() + (!getConfig().isConfigScreenAnimated() ? -3000 : 0) : current.getValue()),
() -> 0, () -> (EasingMethod.EasingMethodImpl.EXPO.apply(Mth.clamp((Util.getMillis() - current.getValue()) / 750.0, 0, 1)))
* Minecraft.getInstance().getWindow().getGuiScaledHeight(), () -> Util.getMillis() - current.getValue() > 800);
parentTranslated.setInitAfter(true);
@@ -266,7 +266,7 @@ public class ConfigManagerImpl implements ConfigManager {
CreditsScreen creditsScreen = new CreditsScreen(screen);
Minecraft.getInstance().setScreen(new TransformingScreen(false, creditsScreen,
screen,
- () -> current.setValue(current.getValue() == 0 ? Util.getMillis() + (getConfig().isReducedMotion() ? -3000 : 0) : current.getValue()),
+ () -> current.setValue(current.getValue() == 0 ? Util.getMillis() + (!getConfig().isCreditsScreenAnimated() ? -3000 : 0) : current.getValue()),
() -> (1 - EasingMethod.EasingMethodImpl.EXPO.apply(Mth.clamp((Util.getMillis() - current.getValue()) / 750.0, 0, 1)))
* Minecraft.getInstance().getWindow().getGuiScaledWidth() * 1.3,
() -> 0,
@@ -284,7 +284,7 @@ public class ConfigManagerImpl implements ConfigManager {
MutableLong current = new MutableLong(0);
return new TransformingScreen(false, configScreen,
parent,
- () -> current.setValue(current.getValue() == 0 ? Util.getMillis() + (getConfig().isReducedMotion() ? -3000 : 0) : current.getValue()),
+ () -> current.setValue(current.getValue() == 0 ? Util.getMillis() + (!getConfig().isConfigScreenAnimated() ? -3000 : 0) : current.getValue()),
() -> 0, () -> (1 - EasingMethod.EasingMethodImpl.EXPO.apply(Mth.clamp((Util.getMillis() - current.getValue()) / 750.0, 0, 1)))
* Minecraft.getInstance().getWindow().getGuiScaledHeight() * 1.3, () -> Util.getMillis() - current.getValue() > 800);
} catch (Exception e) {
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
index ad1ea29b3..9c019f19a 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
@@ -101,8 +101,18 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData {
}
@Override
- public boolean isReducedMotion() {
- return basics.reducedMotion;
+ public boolean isConfigScreenAnimated() {
+ return basics.motion.configScreenAnimation;
+ }
+
+ @Override
+ public boolean isCreditsScreenAnimated() {
+ return basics.motion.creditsScreenAnimation;
+ }
+
+ @Override
+ public boolean isFavoritesAnimated() {
+ return basics.motion.favoritesAnimation;
}
@Override
@@ -400,7 +410,14 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData {
@Comment("Declares whether REI is visible.") @ConfigEntry.Gui.Excluded private boolean overlayVisible = true;
@ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON)
private ItemCheatingStyle cheatingStyle = ItemCheatingStyle.GRAB;
- private boolean reducedMotion = false;
+ @ConfigEntry.Gui.CollapsibleObject
+ private Motion motion = new Motion();
+ }
+
+ public static class Motion {
+ private boolean configScreenAnimation = false;
+ private boolean creditsScreenAnimation = true;
+ private boolean favoritesAnimation = true;
}
public static class KeyBindings {
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/InternalWidgets.java b/runtime/src/main/java/me/shedaniel/rei/impl/InternalWidgets.java
index dea02b9c2..9e7831d23 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/InternalWidgets.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/InternalWidgets.java
@@ -48,6 +48,7 @@ import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
import net.minecraft.client.resources.language.I18n;
import net.minecraft.network.chat.Component;
import org.jetbrains.annotations.ApiStatus;
+import org.jetbrains.annotations.Nullable;
import java.util.List;
import java.util.Objects;