From 0bb10189c432d3b3f1efb1c2981b4ae32f521e03 Mon Sep 17 00:00:00 2001 From: Shoaib Khan Date: Wed, 11 Aug 2021 19:59:01 +0530 Subject: [PATCH] Added Config Button For Action Bar --- .../accessibilityplus/config/Config.java | 17 +++++++- .../accessibilityplus/gui/ConfigGui.java | 6 ++- .../mixin/ActionbarInject.java | 8 +++- .../assets/accessibilityplus/lang/en_us.json | 41 ++++++++++--------- 4 files changed, 47 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/luissanchezdev/accessibilityplus/config/Config.java b/src/main/java/com/luissanchezdev/accessibilityplus/config/Config.java index 9af2293..b056abe 100644 --- a/src/main/java/com/luissanchezdev/accessibilityplus/config/Config.java +++ b/src/main/java/com/luissanchezdev/accessibilityplus/config/Config.java @@ -20,6 +20,7 @@ public class Config { public static final String READ_TOOLTIPS_KEY = "read_tooltip"; public static final String READ_SIGNS_CONTENTS = "read_signs_contents"; public static final String INV_KEYBOARD_CONTROL_KEY = "inventory_keyboard_control"; + public static final String ATION_BAR_KEY = "action_bar_key"; public Config() { } @@ -44,7 +45,14 @@ public static boolean get(String key) { if (data == null) { loadConfig(); } - return data.get(key).getAsBoolean(); + boolean val; + try { + val = data.get(key).getAsBoolean(); + } catch(Exception e) { + resetData(); + val = data.get(key).getAsBoolean(); + } + return val; } public static boolean toggle(String key) { @@ -76,15 +84,20 @@ private static JsonObject loadConfig() { data = new Gson().fromJson(jsonString, JsonObject.class); return data; } else { + return resetData(); + } + } + + public static JsonObject resetData(){ data = new JsonObject(); data.add(READ_BLOCKS_KEY, new JsonPrimitive(true)); data.add(READ_TOOLTIPS_KEY, new JsonPrimitive(true)); data.add(READ_SIGNS_CONTENTS, new JsonPrimitive(true)); data.add(INV_KEYBOARD_CONTROL_KEY, new JsonPrimitive(true)); + data.add(ATION_BAR_KEY, new JsonPrimitive(true)); saveConfig(data); return data; - } } public static void saveConfig(JsonObject newConfig) { diff --git a/src/main/java/com/luissanchezdev/accessibilityplus/gui/ConfigGui.java b/src/main/java/com/luissanchezdev/accessibilityplus/gui/ConfigGui.java index de6f25d..31ea963 100644 --- a/src/main/java/com/luissanchezdev/accessibilityplus/gui/ConfigGui.java +++ b/src/main/java/com/luissanchezdev/accessibilityplus/gui/ConfigGui.java @@ -43,6 +43,10 @@ public ConfigGui(ClientPlayerEntity player) { "gui.accessibilityplus.config.buttons.inventorykeyboardcontrol", Config.INV_KEYBOARD_CONTROL_KEY); root.add(inventoryKeyboardControllButton, 11, 2, 10, 1); + ConfigButton actionBarButton = new ConfigButton("gui.accessibilityplus.config.buttons.actionbar", + Config.ATION_BAR_KEY); + root.add(actionBarButton, 0, 3, 10, 1); + WButton doneButton = new WButton(new TranslatableText("gui.accessibilityplus.config.buttons.done")); doneButton.setOnClick(this::onDoneClick); root.add(doneButton, 7, 8, 7, 1); @@ -64,4 +68,4 @@ public void addPainters() { this.rootPanel.setBackgroundPainter(BackgroundPainter.createColorful(0x242424)); } -} \ No newline at end of file +} diff --git a/src/main/java/com/luissanchezdev/accessibilityplus/mixin/ActionbarInject.java b/src/main/java/com/luissanchezdev/accessibilityplus/mixin/ActionbarInject.java index a14a1b4..06f7fa8 100644 --- a/src/main/java/com/luissanchezdev/accessibilityplus/mixin/ActionbarInject.java +++ b/src/main/java/com/luissanchezdev/accessibilityplus/mixin/ActionbarInject.java @@ -1,5 +1,7 @@ package com.luissanchezdev.accessibilityplus.mixin; +import com.luissanchezdev.accessibilityplus.config.Config; + import com.luissanchezdev.accessibilityplus.NarratorPlus; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @@ -12,6 +14,8 @@ public class ActionbarInject { @Inject(at = @At("HEAD"), method = "setOverlayMessage(Lnet/minecraft/text/Text;Z)V") public void speakActionbar(Text message, boolean tinted, CallbackInfo ci) { - NarratorPlus.narrate(message.getString()); + if(Config.get(Config.ATION_BAR_KEY)){ + NarratorPlus.narrate(message.getString()); + } } -} \ No newline at end of file +} diff --git a/src/main/resources/assets/accessibilityplus/lang/en_us.json b/src/main/resources/assets/accessibilityplus/lang/en_us.json index 3708fa8..1ca6c5a 100644 --- a/src/main/resources/assets/accessibilityplus/lang/en_us.json +++ b/src/main/resources/assets/accessibilityplus/lang/en_us.json @@ -1,21 +1,22 @@ { - "gui.accessibilityplus.config.title": "Accessibility Plus Configuration", - "gui.accessibilityplus.config.buttons.done": "Done", - "gui.accessibilityplus.config.buttons.cancel": "Cancel", - "gui.accessibilityplus.config.buttons.readblocks": "Read Blocks: %s", - "gui.accessibilityplus.config.buttons.readtooltips": "Read Tooltips: %s", - "gui.accessibilityplus.config.buttons.readsignscontents": "Read Sign Contents: %s", - "gui.accessibilityplus.config.buttons.inventorykeyboardcontrol": "Inventory Keyboard Control: %s", - "key.categories.accessibilityplus.inventorycontrol": "Accessibility Plus (Inventory)", - "key.accessibilityplus.left": "Move Left", - "key.accessibilityplus.right": "Move Right", - "key.accessibilityplus.up": "Move Up", - "key.accessibilityplus.down": "Move Down", - "key.accessibilityplus.group": "Switch Group", - "key.accessibilityplus.home": "Go To First Slot / Group", - "key.accessibilityplus.end": "Go To Last Slot / Group", - "key.accessibilityplus.mouseclick": "Mouse Click", - "key.accessibilityplus.mouserightclick": "Mouse Right Click", - "key.accessibilityplus.config": "Config Menu Key", - "key.categories.accessibilityplus.general": "Accessibility Plus (General)" -} \ No newline at end of file + "gui.accessibilityplus.config.title": "Accessibility Plus Configuration", + "gui.accessibilityplus.config.buttons.done": "Done", + "gui.accessibilityplus.config.buttons.cancel": "Cancel", + "gui.accessibilityplus.config.buttons.readblocks": "Read Blocks: %s", + "gui.accessibilityplus.config.buttons.readtooltips": "Read Tooltips: %s", + "gui.accessibilityplus.config.buttons.readsignscontents": "Read Sign Contents: %s", + "gui.accessibilityplus.config.buttons.inventorykeyboardcontrol": "Inventory Keyboard Control: %s", + "gui.accessibilityplus.config.buttons.actionbar": "Action Bar: %s", + "key.categories.accessibilityplus.inventorycontrol": "Accessibility Plus (Inventory)", + "key.accessibilityplus.left": "Move Left", + "key.accessibilityplus.right": "Move Right", + "key.accessibilityplus.up": "Move Up", + "key.accessibilityplus.down": "Move Down", + "key.accessibilityplus.group": "Switch Group", + "key.accessibilityplus.home": "Go To First Slot / Group", + "key.accessibilityplus.end": "Go To Last Slot / Group", + "key.accessibilityplus.mouseclick": "Mouse Click", + "key.accessibilityplus.mouserightclick": "Mouse Right Click", + "key.accessibilityplus.config": "Config Menu Key", + "key.categories.accessibilityplus.general": "Accessibility Plus (General)" +}