diff --git a/src/main/java/com/sidezbros/double_hotbar/DHModConfig.java b/src/main/java/com/sidezbros/double_hotbar/DHModConfig.java index 8ab27ed..5e0a522 100644 --- a/src/main/java/com/sidezbros/double_hotbar/DHModConfig.java +++ b/src/main/java/com/sidezbros/double_hotbar/DHModConfig.java @@ -22,6 +22,7 @@ public static void init() { public int inventoryRow = 3; public boolean holdToSwap = true; public boolean holdToSwapBar = false; + public boolean pressToSwapActive = false; public boolean allowDoubleTap = true; @ConfigEntry.BoundedDiscrete(min = 50, max = 1000) public int holdTime = 200; diff --git a/src/main/java/com/sidezbros/double_hotbar/DoubleHotbar.java b/src/main/java/com/sidezbros/double_hotbar/DoubleHotbar.java index ffde7f5..fef9398 100644 --- a/src/main/java/com/sidezbros/double_hotbar/DoubleHotbar.java +++ b/src/main/java/com/sidezbros/double_hotbar/DoubleHotbar.java @@ -37,7 +37,9 @@ public void onInitializeClient() { Registry.register(Registries.SOUND_EVENT, WOOSH_SOUND_ID, WOOSH_SOUND_EVENT); keyBinding = KeyBindingHelper.registerKeyBinding(new KeyBinding("key.double_hotbar.swap", InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_R, KEYBIND_CATEGORY)); + ClientTickEvents.END_CLIENT_TICK.register(client -> { + if (DHModConfig.INSTANCE.holdToSwap) { if (keyBinding.isPressed() != this.hotbarKeys[9]) { this.hotbarKeys[9] = keyBinding.isPressed(); @@ -56,11 +58,16 @@ public void onInitializeClient() { this.swapStack(client.player, DHModConfig.INSTANCE.holdToSwapBar, client.player.getInventory().getSelectedSlot()); this.alreadySwapped = true; } + } else { while (keyBinding.wasPressed()) { - this.swapStack(client.player, true, 0); + this.swapStack( + client.player, + !DHModConfig.INSTANCE.pressToSwapActive, // short version of "DHModConfig.INSTANCE.pressToSwapActive ? false : true" + DHModConfig.INSTANCE.pressToSwapActive ? client.player.getInventory().getSelectedSlot() : 0); } } + if (DHModConfig.INSTANCE.allowDoubleTap) { for (int i = 0; i < 9; i++) { if (client.options.hotbarKeys[i].isPressed() != this.hotbarKeys[i]) { @@ -76,6 +83,7 @@ public void onInitializeClient() { } } } + }); } diff --git a/src/main/resources/assets/double_hotbar/lang/en_us.json b/src/main/resources/assets/double_hotbar/lang/en_us.json index f925499..a61e65e 100644 --- a/src/main/resources/assets/double_hotbar/lang/en_us.json +++ b/src/main/resources/assets/double_hotbar/lang/en_us.json @@ -12,6 +12,7 @@ "text.autoconfig.double_hotbar.option.holdTime": "Hold to Swap Time (ms)", "text.autoconfig.double_hotbar.option.renderCrop": "Crop Hotbar Height (pixels)", "text.autoconfig.double_hotbar.option.holdToSwapBar": "Hold to Swap Entire Bar", + "text.autoconfig.double_hotbar.option.pressToSwapActive": "Replacing the active item when pressed", "text.autoconfig.double_hotbar.option.wooshVolume": "Sound Effect Volume (%)", "text.autoconfig.double_hotbar.option.reverseBars": "Main Hotbar On Top", "text.autoconfig.double_hotbar.title":"Double Hotbar Config" diff --git a/src/main/resources/assets/double_hotbar/lang/ru_ru.json b/src/main/resources/assets/double_hotbar/lang/ru_ru.json new file mode 100644 index 0000000..96b0b50 --- /dev/null +++ b/src/main/resources/assets/double_hotbar/lang/ru_ru.json @@ -0,0 +1,20 @@ +{ + "key.category.double_hotbar.keybinds": "Double Hotbar", + "key.double_hotbar.swap": "Сменить Хотбар", + "subtitles.double_hotbar.woosh": "Hotbar Woosh", + "text.autoconfig.double_hotbar.option.disableMod": "Отключить мод", + "text.autoconfig.double_hotbar.option.displayDoubleHotbar": "Показывать второй хотбар", + "text.autoconfig.double_hotbar.option.inventoryRow": "Выбранная строка инвентаря", + "text.autoconfig.double_hotbar.option.shift": "Позиция по вертикали", + "text.autoconfig.double_hotbar.option.allowDoubleTap": "Включить двойное нажатие", + "text.autoconfig.double_hotbar.option.doubleTapWindow": "Время для двойного нажатия (ms)", + "text.autoconfig.double_hotbar.option.holdToSwap": "Режим \"Удержать для замены\"", + "text.autoconfig.double_hotbar.option.holdTime": "Время удержания для замены (ms)", + "text.autoconfig.double_hotbar.option.renderCrop": "Обрезать высоту хотбара (pixels)", + "text.autoconfig.double_hotbar.option.holdToSwapBar": "Удержать для смены всего хотбара", + "text.autoconfig.double_hotbar.option.pressToSwapActive": "Замена активного предмета при нажатию", + "text.autoconfig.double_hotbar.option.wooshVolume": "Громкость звукового эффекта (%)", + "text.autoconfig.double_hotbar.option.reverseBars": "Закрепить Хотбар наверху", + "text.autoconfig.double_hotbar.title":"Настройки Double Hotbar" + +} \ No newline at end of file diff --git a/src/main/resources/assets/double_hotbar/lang/zh_tw.json b/src/main/resources/assets/double_hotbar/lang/zh_tw.json index 1e261b9..ef37c30 100644 --- a/src/main/resources/assets/double_hotbar/lang/zh_tw.json +++ b/src/main/resources/assets/double_hotbar/lang/zh_tw.json @@ -12,6 +12,7 @@ "text.autoconfig.double_hotbar.option.holdTime": "長按切換時間(毫秒)", "text.autoconfig.double_hotbar.option.renderCrop": "快捷欄高度裁剪(像素)", "text.autoconfig.double_hotbar.option.holdToSwapBar": "長按切換整個快捷欄", + "text.autoconfig.double_hotbar.option.pressToSwapActive": "按下时替换活动项", "text.autoconfig.double_hotbar.option.wooshVolume": "音效音量 (%)", "text.autoconfig.double_hotbar.option.reverseBars": "主要快捷欄置頂", "text.autoconfig.double_hotbar.title": "雙層快捷欄設定"