aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/dev/isxander/yacl3/api/OptionFlag.java
diff options
context:
space:
mode:
authorisxander <xander@isxander.dev>2024-04-11 18:43:06 +0100
committerisxander <xander@isxander.dev>2024-04-11 18:43:06 +0100
commit04fe933f4c24817100f3101f088accf55a621f8a (patch)
treefeff94ca3ab4484160e69a24f4ee38522381950e /src/main/java/dev/isxander/yacl3/api/OptionFlag.java
parent831b894fdb7fe3e173d81387c8f6a2402b8ccfa9 (diff)
downloadYetAnotherConfigLib-04fe933f4c24817100f3101f088accf55a621f8a.tar.gz
YetAnotherConfigLib-04fe933f4c24817100f3101f088accf55a621f8a.tar.bz2
YetAnotherConfigLib-04fe933f4c24817100f3101f088accf55a621f8a.zip
Extremely fragile and broken multiversion build with stonecutter
Diffstat (limited to 'src/main/java/dev/isxander/yacl3/api/OptionFlag.java')
-rw-r--r--src/main/java/dev/isxander/yacl3/api/OptionFlag.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/main/java/dev/isxander/yacl3/api/OptionFlag.java b/src/main/java/dev/isxander/yacl3/api/OptionFlag.java
new file mode 100644
index 0000000..6f35495
--- /dev/null
+++ b/src/main/java/dev/isxander/yacl3/api/OptionFlag.java
@@ -0,0 +1,23 @@
+package dev.isxander.yacl3.api;
+
+import dev.isxander.yacl3.gui.RequireRestartScreen;
+import net.minecraft.client.Minecraft;
+
+import java.util.function.Consumer;
+
+/**
+ * Code that is executed upon certain options being applied.
+ * Each flag is executed only once per save, no matter the amount of options with the flag.
+ */
+@FunctionalInterface
+public interface OptionFlag extends Consumer<Minecraft> {
+ /** Warns the user that a game restart is required for the changes to take effect */
+ OptionFlag GAME_RESTART = client -> client.setScreen(new RequireRestartScreen(client.screen));
+
+ /** Reloads chunks upon applying (F3+A) */
+ OptionFlag RELOAD_CHUNKS = client -> client.levelRenderer.allChanged();
+
+ OptionFlag WORLD_RENDER_UPDATE = client -> client.levelRenderer.needsUpdate();
+
+ OptionFlag ASSET_RELOAD = Minecraft::delayTextureReload;
+}