diff --git a/src/main/java/exopandora/worldhandler/config/Config.java b/src/main/java/exopandora/worldhandler/config/Config.java index 168d148..7057213 100644 --- a/src/main/java/exopandora/worldhandler/config/Config.java +++ b/src/main/java/exopandora/worldhandler/config/Config.java @@ -95,6 +95,7 @@ public class Config if(configValue != null && value != null && (!value.equals(configValue.get()) || configValue.get() instanceof List)) { Config.CONFIG_DATA.set(configValue.getPath(), value); + configValue.clearCache(); } } diff --git a/src/main/java/exopandora/worldhandler/config/ConfigCategorySettings.java b/src/main/java/exopandora/worldhandler/config/ConfigCategorySettings.java index 3a5ed0d..386e20c 100644 --- a/src/main/java/exopandora/worldhandler/config/ConfigCategorySettings.java +++ b/src/main/java/exopandora/worldhandler/config/ConfigCategorySettings.java @@ -1,6 +1,7 @@ package exopandora.worldhandler.config; import exopandora.worldhandler.builder.impl.BuilderSetBlock.EnumMode; +import exopandora.worldhandler.event.KeyHandler; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.common.ForgeConfigSpec; @@ -124,7 +125,14 @@ public class ConfigCategorySettings public void setShortcutKeys(boolean enabled) { + boolean previous = this.shortcutKeys(); + Config.set(this.shortcutKeys, enabled); + + if(previous != enabled) + { + KeyHandler.updatePosKeys(); + } } public boolean tooltips() diff --git a/src/main/java/exopandora/worldhandler/event/KeyHandler.java b/src/main/java/exopandora/worldhandler/event/KeyHandler.java index 9a65dc9..1f01f1c 100644 --- a/src/main/java/exopandora/worldhandler/event/KeyHandler.java +++ b/src/main/java/exopandora/worldhandler/event/KeyHandler.java @@ -19,22 +19,22 @@ public class KeyHandler { public static final KeyBinding KEY_WORLD_HANDLER = new KeyBinding("key.worldhandler", GLFW.GLFW_KEY_V, "key.categories.worldhandler"); public static final KeyBinding KEY_WORLD_HANDLER_POS1 = new KeyBinding("key.worldhandler.pos1", GLFW.GLFW_KEY_O, "key.categories.worldhandler"); - public static final KeyBinding KEY_WORLD_HANDLER_POS2 = new KeyBinding("key.worldhandler.pos1", GLFW.GLFW_KEY_P, "key.categories.worldhandler"); + public static final KeyBinding KEY_WORLD_HANDLER_POS2 = new KeyBinding("key.worldhandler.pos2", GLFW.GLFW_KEY_P, "key.categories.worldhandler"); @SubscribeEvent public static void keyInputEvent(KeyInputEvent event) { if(Minecraft.getInstance() != null && Minecraft.getInstance().screen == null) { - if(KEY_WORLD_HANDLER.isDown()) + if(KEY_WORLD_HANDLER.consumeClick()) { ActionHelper.displayGui(); } - else if(KEY_WORLD_HANDLER_POS1.isDown() && Config.getSettings().shortcutKeys()) + else if(Config.getSettings().shortcutKeys() && KEY_WORLD_HANDLER_POS1.consumeClick()) { BlockHelper.setPos1(BlockHelper.getFocusedBlockPos()); } - else if(KEY_WORLD_HANDLER_POS2.isDown() && Config.getSettings().shortcutKeys()) + else if(Config.getSettings().shortcutKeys() && KEY_WORLD_HANDLER_POS2.consumeClick()) { BlockHelper.setPos2(BlockHelper.getFocusedBlockPos()); }