diff options
author | Xander <xander@isxander.dev> | 2022-12-09 16:31:25 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-09 16:31:25 +0000 |
commit | e4856a17133b0567d09cb6db3821674491d57e64 (patch) | |
tree | 0c59597708b3ea9f402ba119490537b5c18fdb93 /src/client/java/dev/isxander/yacl/api/OptionFlag.java | |
parent | e1f6d190d862dd86c251fdd5726efe99f8ec1baf (diff) | |
parent | 49ff470de36e719d5b963de405de891eca2b69d1 (diff) | |
download | YetAnotherConfigLib-e4856a17133b0567d09cb6db3821674491d57e64.tar.gz YetAnotherConfigLib-e4856a17133b0567d09cb6db3821674491d57e64.tar.bz2 YetAnotherConfigLib-e4856a17133b0567d09cb6db3821674491d57e64.zip |
Merge pull request #38 from isXander/update/1.19.3
Diffstat (limited to 'src/client/java/dev/isxander/yacl/api/OptionFlag.java')
-rw-r--r-- | src/client/java/dev/isxander/yacl/api/OptionFlag.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/client/java/dev/isxander/yacl/api/OptionFlag.java b/src/client/java/dev/isxander/yacl/api/OptionFlag.java new file mode 100644 index 0000000..7a5c23f --- /dev/null +++ b/src/client/java/dev/isxander/yacl/api/OptionFlag.java @@ -0,0 +1,23 @@ +package dev.isxander.yacl.api; + +import dev.isxander.yacl.gui.RequireRestartScreen; +import net.minecraft.client.MinecraftClient; + +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<MinecraftClient> { + /** Warns the user that a game restart is required for the changes to take effect */ + OptionFlag GAME_RESTART = client -> client.setScreen(new RequireRestartScreen(client.currentScreen)); + + /** Reloads chunks upon applying (F3+A) */ + OptionFlag RELOAD_CHUNKS = client -> client.worldRenderer.reload(); + + OptionFlag WORLD_RENDER_UPDATE = client -> client.worldRenderer.scheduleTerrainUpdate(); + + OptionFlag ASSET_RELOAD = MinecraftClient::reloadResourcesConcurrently; +} |