From c9426b4a7016730b242b8f25aa4120b55dd08122 Mon Sep 17 00:00:00 2001 From: zetrock1 Date: Tue, 9 Dec 2025 00:28:50 +0300 Subject: [PATCH 1/8] Add hotkey (default apostrophe) for toggle stepAssist QuarkTechSuite and NanoMuscleSuite --- .../resources/assets/gtceu/lang/en_us.json | 10 ++++- .../common/item/armor/NanoMuscleSuite.java | 45 +++++++++++++------ .../common/item/armor/QuarkTechSuite.java | 31 ++++++++----- .../gtceu/forge/ForgeCommonEventListener.java | 4 +- .../gtceu/utils/input/KeyBind.java | 1 + 5 files changed, 64 insertions(+), 27 deletions(-) diff --git a/src/generated/resources/assets/gtceu/lang/en_us.json b/src/generated/resources/assets/gtceu/lang/en_us.json index 4d52d3657e9..d0e4ffea50f 100644 --- a/src/generated/resources/assets/gtceu/lang/en_us.json +++ b/src/generated/resources/assets/gtceu/lang/en_us.json @@ -5659,17 +5659,23 @@ "metaarmor.message.nightvision.disabled": "§bNightVision: §cOff", "metaarmor.message.nightvision.enabled": "§bNightVision: §aOn", "metaarmor.message.nightvision.error": "§cNot enough power!", - "metaarmor.nms.boosted_jump.disabled": "NanoMuscle™ Suite: Jump Boost Disabled", - "metaarmor.nms.boosted_jump.enabled": "NanoMuscle™ Suite: Jump Boost Enabled", + "metaarmor.message.stepassist.disabled": "StepAssist: §cOff", + "metaarmor.message.stepassist.enabled": "StepAssist: §aOn", "metaarmor.nms.nightvision.disabled": "NanoMuscle™ Suite: NightVision Disabled", "metaarmor.nms.nightvision.enabled": "NanoMuscle™ Suite: NightVision Enabled", "metaarmor.nms.nightvision.error": "NanoMuscle™ Suite: §cNot enough power!", + "metaarmor.nms.stepassist.disabled": "NanoMuscle™ Suite: StepAssist Disabled", + "metaarmor.nms.stepassist.enabled": "NanoMuscle™ Suite: StepAssist Enabled", "metaarmor.nms.share.disable": "NanoMuscle™ Suite: Charging Disabled", "metaarmor.nms.share.enable": "NanoMuscle™ Suite: Charging Enabled", "metaarmor.nms.share.error": "NanoMuscle™ Suite: §cNot enough power for charging!", + "metaarmor.qts.boosted_jump.disabled": "QuarkTech™ Suite: Jump Boost Disabled", + "metaarmor.qts.boosted_jump.enabled": "QuarkTech™ Suite: Jump Boost Enabled", "metaarmor.qts.nightvision.disabled": "QuarkTech™ Suite: NightVision Disabled", "metaarmor.qts.nightvision.enabled": "QuarkTech™ Suite: NightVision Enabled", "metaarmor.qts.nightvision.error": "QuarkTech™ Suite: §cNot enough power!", + "metaarmor.qts.stepassist.disabled": "QuarkTech™ Suite: StepAssist Disabled", + "metaarmor.qts.stepassist.enabled": "QuarkTech™ Suite: StepAssist Enabled", "metaarmor.qts.share.disable": "QuarkTech™ Suite: Charging Disabled", "metaarmor.qts.share.enable": "QuarkTech™ Suite: Charging Enabled", "metaarmor.qts.share.error": "QuarkTech™ Suite: §cNot enough power for charging!", diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java index 0a22daffc42..b11e37ffbec 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java @@ -51,19 +51,36 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) { return; } CompoundTag data = itemStack.getOrCreateTag(); - byte toggleTimer = data.contains("toggleTimer") ? data.getByte("toggleTimer") : 0; - int nightVisionTimer = data.contains("nightVisionTimer") ? data.getInt("nightVisionTimer") : - ArmorUtils.NIGHTVISION_DURATION; + + byte toggleStepTimer = data.getByte("toggleStepTimer"); + if (type == ArmorItem.Type.BOOTS) { + boolean stepAssist = data.contains("stepAssist") && data.getBoolean("stepAssist"); + if (toggleStepTimer == 0 && KeyBind.TOGGLE_STEP_ASSIST.isKeyDown(player)) { + stepAssist = !stepAssist; + toggleStepTimer = 5; + if (world.isClientSide()) player.displayClientMessage(Component + .translatable("metaarmor.nms.stepassist." + (stepAssist ? "enabled" : "disabled")), true); + data.putBoolean("stepAssist", stepAssist); + } + + if (toggleStepTimer > 0) toggleStepTimer--; + data.putInt("toggleStepTimer", toggleStepTimer); + } + if (type == ArmorItem.Type.HELMET) { + byte toggleTimer = data.contains("toggleTimer") ? data.getByte("toggleTimer") : 0; + int nightVisionTimer = data.contains("nightVisionTimer") ? data.getInt("nightVisionTimer") : + ArmorUtils.NIGHTVISION_DURATION; boolean nightVision = data.contains("nightVision") && data.getBoolean("nightVision"); if (toggleTimer == 0 && KeyBind.ARMOR_MODE_SWITCH.isKeyDown(player)) { nightVision = !nightVision; toggleTimer = 5; if (item.getCharge() < ArmorUtils.MIN_NIGHTVISION_CHARGE) { nightVision = false; - player.displayClientMessage(Component.translatable("metaarmor.nms.nightvision.error"), true); + if (world.isClientSide()) + player.displayClientMessage(Component.translatable("metaarmor.nms.nightvision.error"), true); } else { - player.displayClientMessage(Component + if (world.isClientSide()) player.displayClientMessage(Component .translatable("metaarmor.nms.nightvision." + (nightVision ? "enabled" : "disabled")), true); } } @@ -81,14 +98,11 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) { player.removeEffect(MobEffects.NIGHT_VISION); } data.putBoolean("nightVision", nightVision); - + if (nightVisionTimer > 0) nightVisionTimer--; + if (toggleTimer > 0) toggleTimer--; + data.putInt("nightVisionTimer", nightVisionTimer); + data.putByte("toggleTimer", toggleTimer); } - - if (nightVisionTimer > 0) nightVisionTimer--; - if (toggleTimer > 0) toggleTimer--; - - data.putInt("nightVisionTimer", nightVisionTimer); - data.putByte("toggleTimer", toggleTimer); } public static void disableNightVision(@NotNull Level world, Player player, boolean sendMsg) { @@ -163,8 +177,9 @@ public void drawHUD(ItemStack item, GuiGraphics guiGraphics) { @Override public void addInfo(ItemStack itemStack, List lines) { super.addInfo(itemStack, lines); + CompoundTag nbtData = itemStack.getOrCreateTag(); if (type == ArmorItem.Type.HELMET) { - CompoundTag nbtData = itemStack.getOrCreateTag(); + boolean nv = nbtData.getBoolean("nightVision"); if (nv) { lines.add(Component.translatable("metaarmor.message.nightvision.enabled")); @@ -172,7 +187,9 @@ public void addInfo(ItemStack itemStack, List lines) { lines.add(Component.translatable("metaarmor.message.nightvision.disabled")); } } else if (type == ArmorItem.Type.BOOTS) { - lines.add(Component.translatable("metaarmor.tooltip.stepassist")); + if (nbtData.getBoolean("stepAssist")) + lines.add(Component.translatable("metaarmor.message.stepassist.enabled")); + else lines.add(Component.translatable("metaarmor.message.stepassist.disabled")); lines.add(Component.translatable("metaarmor.tooltip.falldamage")); } } diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java index af016575c6b..1c5a72eb6db 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java @@ -78,7 +78,7 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) { int nightVisionTimer = data.contains("nightVisionTimer") ? data.getInt("nightVisionTimer") : ArmorUtils.NIGHTVISION_DURATION; byte runningTimer = data.contains("runningTimer") ? data.getByte("runningTimer") : RUNNING_TIMER; - byte boostedJumpTimer = data.contains("boostedJumpTimer") ? data.getByte("boostedJumpTimer") : JUMPING_TIMER; + byte toggleBootsTimer = data.contains("toggleBootsTimer") ? data.getByte("toggleBootsTimer") : JUMPING_TIMER; if (!player.getItemBySlot(EquipmentSlot.CHEST).is(GTItems.QUANTUM_CHESTPLATE.get()) && !player.getItemBySlot(EquipmentSlot.CHEST).is(GTItems.QUANTUM_CHESTPLATE_ADVANCED.get())) { @@ -97,10 +97,10 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) { toggleTimer = 5; if (item.getCharge() < ArmorUtils.MIN_NIGHTVISION_CHARGE) { nightVision = false; - player.displayClientMessage(Component.translatable("metaarmor.nms.nightvision.error"), true); + player.displayClientMessage(Component.translatable("metaarmor.qts.nightvision.error"), true); } else { player.displayClientMessage(Component - .translatable("metaarmor.nms.nightvision." + (nightVision ? "enabled" : "disabled")), true); + .translatable("metaarmor.qts.nightvision." + (nightVision ? "enabled" : "disabled")), true); } } @@ -161,11 +161,11 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) { boolean canUseEnergy = item.canUse(energyPerUse / 100); boolean jumping = SyncedKeyMappings.VANILLA_JUMP.isKeyDown(player); boolean boostedJump = data.contains("boostedJump") && data.getBoolean("boostedJump"); - if (boostedJumpTimer == 0 && KeyBind.BOOTS_ENABLE.isKeyDown(player)) { + if (toggleBootsTimer == 0 && KeyBind.BOOTS_ENABLE.isKeyDown(player)) { boostedJump = !boostedJump; - boostedJumpTimer = JUMPING_TIMER; + toggleBootsTimer = JUMPING_TIMER; player.displayClientMessage(Component - .translatable("metaarmor.nms.boosted_jump." + (boostedJump ? "enabled" : "disabled")), true); + .translatable("metaarmor.qts.boosted_jump." + (boostedJump ? "enabled" : "disabled")), true); } if (boostedJump) { if (!world.isClientSide) { @@ -198,11 +198,19 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) { } } } - data.putBoolean("boostedJump", boostedJump); - if (boostedJumpTimer > 0) boostedJumpTimer--; + boolean stepAssist = data.contains("stepAssist") && data.getBoolean("stepAssist"); + if (toggleBootsTimer == 0 && KeyBind.TOGGLE_STEP_ASSIST.isKeyDown(player)) { + stepAssist = !stepAssist; + toggleBootsTimer = 5; + if (world.isClientSide()) player.displayClientMessage(Component + .translatable("metaarmor.qts.stepassist." + (stepAssist ? "enabled" : "disabled")), true); + data.putBoolean("stepAssist", stepAssist); + } - data.putInt("boostedJumpTimer", boostedJumpTimer); + data.putBoolean("boostedJump", boostedJump); + if (toggleBootsTimer > 0) toggleBootsTimer--; + data.putInt("toggleBootsTimer", toggleBootsTimer); } if (ret) { @@ -356,7 +364,10 @@ public void addInfo(ItemStack itemStack, List lines) { } else if (type == ArmorItem.Type.LEGGINGS) { lines.add(Component.translatable("metaarmor.tooltip.speed")); } else if (type == ArmorItem.Type.BOOTS) { - lines.add(Component.translatable("metaarmor.tooltip.stepassist")); + CompoundTag nbtData = itemStack.getOrCreateTag(); + if (nbtData.getBoolean("stepAssist")) + lines.add(Component.translatable("metaarmor.message.stepassist.enabled")); + else lines.add(Component.translatable("metaarmor.message.stepassist.disabled")); lines.add(Component.translatable("metaarmor.tooltip.falldamage")); lines.add(Component.translatable("metaarmor.tooltip.jump")); } diff --git a/src/main/java/com/gregtechceu/gtceu/forge/ForgeCommonEventListener.java b/src/main/java/com/gregtechceu/gtceu/forge/ForgeCommonEventListener.java index 7e6555d6703..4e9540f182d 100644 --- a/src/main/java/com/gregtechceu/gtceu/forge/ForgeCommonEventListener.java +++ b/src/main/java/com/gregtechceu/gtceu/forge/ForgeCommonEventListener.java @@ -416,7 +416,9 @@ public static void playerTickEvent(TickEvent.PlayerTickEvent event) { public static void stepAssistHandler(LivingEvent.LivingTickEvent event) { float MAGIC_STEP_HEIGHT = 1.0023f; if (event.getEntity() == null || !(event.getEntity() instanceof Player player)) return; - if (!player.isCrouching() && player.getItemBySlot(EquipmentSlot.FEET).is(CustomTags.STEP_BOOTS)) { + CompoundTag tag = player.getItemBySlot(EquipmentSlot.FEET).getOrCreateTag(); + if (!player.isCrouching() && player.getItemBySlot(EquipmentSlot.FEET).is(CustomTags.STEP_BOOTS) && + (!tag.contains("stepAssist") || tag.getBoolean("stepAssist"))) { if (player.getStepHeight() < MAGIC_STEP_HEIGHT) { player.setMaxUpStep(MAGIC_STEP_HEIGHT); } diff --git a/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java b/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java index 1b0feeb5b4d..ef21ea20bd6 100644 --- a/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java +++ b/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java @@ -38,6 +38,7 @@ public enum KeyBind { VANILLA_LEFT(() -> () -> Minecraft.getInstance().options.keyLeft), VANILLA_RIGHT(() -> () -> Minecraft.getInstance().options.keyRight), ARMOR_MODE_SWITCH("gtceu.key.armor_mode_switch", KeyConflictContext.IN_GAME, InputConstants.KEY_M), + TOGGLE_STEP_ASSIST("gtceu.toggle_step_assist", KeyConflictContext.IN_GAME, InputConstants.KEY_APOSTROPHE), ARMOR_HOVER("gtceu.key.armor_hover", KeyConflictContext.IN_GAME, InputConstants.KEY_H), JETPACK_ENABLE("gtceu.key.enable_jetpack", KeyConflictContext.IN_GAME, InputConstants.KEY_G), BOOTS_ENABLE("gtceu.key.enable_boots", KeyConflictContext.IN_GAME, InputConstants.KEY_PERIOD), From 25be45b3265ff8e6fafdc998acb0da024af3b77a Mon Sep 17 00:00:00 2001 From: zetrock1 Date: Tue, 9 Dec 2025 02:06:49 +0300 Subject: [PATCH 2/8] add hotkey name in controls settings rename toggle_step_assist -> enable_step_assist TOGGLE_STEP_ASSIST -> STEP_ASSIST_ENABLE --- .../resources/assets/gtceu/lang/en_us.json | 13 +++++++------ .../gtceu/common/item/armor/NanoMuscleSuite.java | 8 ++++---- .../gtceu/common/item/armor/QuarkTechSuite.java | 8 ++++---- .../gregtechceu/gtceu/data/lang/LangHandler.java | 1 + .../com/gregtechceu/gtceu/utils/input/KeyBind.java | 2 +- 5 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/generated/resources/assets/gtceu/lang/en_us.json b/src/generated/resources/assets/gtceu/lang/en_us.json index d0e4ffea50f..be5db2fd5d2 100644 --- a/src/generated/resources/assets/gtceu/lang/en_us.json +++ b/src/generated/resources/assets/gtceu/lang/en_us.json @@ -2589,6 +2589,7 @@ "gtceu.key.enable_boots": "Enable Boosted Jump", "gtceu.key.enable_jetpack": "Enable Jetpack", "gtceu.key.tool_aoe_change": "Tool AoE Mode Switch", + "gtceu.key.enable_step_assist": "Enable StepAssist", "gtceu.large_boiler": "Large Boiler", "gtceu.large_chemical_reactor": "Large Chemical Reactor", "gtceu.laser_engraver": "Laser Engraver", @@ -5659,13 +5660,13 @@ "metaarmor.message.nightvision.disabled": "§bNightVision: §cOff", "metaarmor.message.nightvision.enabled": "§bNightVision: §aOn", "metaarmor.message.nightvision.error": "§cNot enough power!", - "metaarmor.message.stepassist.disabled": "StepAssist: §cOff", - "metaarmor.message.stepassist.enabled": "StepAssist: §aOn", + "metaarmor.message.step_assist.disabled": "StepAssist: §cOff", + "metaarmor.message.step_assist.enabled": "StepAssist: §aOn", "metaarmor.nms.nightvision.disabled": "NanoMuscle™ Suite: NightVision Disabled", "metaarmor.nms.nightvision.enabled": "NanoMuscle™ Suite: NightVision Enabled", "metaarmor.nms.nightvision.error": "NanoMuscle™ Suite: §cNot enough power!", - "metaarmor.nms.stepassist.disabled": "NanoMuscle™ Suite: StepAssist Disabled", - "metaarmor.nms.stepassist.enabled": "NanoMuscle™ Suite: StepAssist Enabled", + "metaarmor.nms.step_assist.disabled": "NanoMuscle™ Suite: StepAssist Disabled", + "metaarmor.nms.step_assist.enabled": "NanoMuscle™ Suite: StepAssist Enabled", "metaarmor.nms.share.disable": "NanoMuscle™ Suite: Charging Disabled", "metaarmor.nms.share.enable": "NanoMuscle™ Suite: Charging Enabled", "metaarmor.nms.share.error": "NanoMuscle™ Suite: §cNot enough power for charging!", @@ -5674,8 +5675,8 @@ "metaarmor.qts.nightvision.disabled": "QuarkTech™ Suite: NightVision Disabled", "metaarmor.qts.nightvision.enabled": "QuarkTech™ Suite: NightVision Enabled", "metaarmor.qts.nightvision.error": "QuarkTech™ Suite: §cNot enough power!", - "metaarmor.qts.stepassist.disabled": "QuarkTech™ Suite: StepAssist Disabled", - "metaarmor.qts.stepassist.enabled": "QuarkTech™ Suite: StepAssist Enabled", + "metaarmor.qts.step_assist.disabled": "QuarkTech™ Suite: StepAssist Disabled", + "metaarmor.qts.step_assist.enabled": "QuarkTech™ Suite: StepAssist Enabled", "metaarmor.qts.share.disable": "QuarkTech™ Suite: Charging Disabled", "metaarmor.qts.share.enable": "QuarkTech™ Suite: Charging Enabled", "metaarmor.qts.share.error": "QuarkTech™ Suite: §cNot enough power for charging!", diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java index b11e37ffbec..8a3f4479527 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java @@ -55,11 +55,11 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) { byte toggleStepTimer = data.getByte("toggleStepTimer"); if (type == ArmorItem.Type.BOOTS) { boolean stepAssist = data.contains("stepAssist") && data.getBoolean("stepAssist"); - if (toggleStepTimer == 0 && KeyBind.TOGGLE_STEP_ASSIST.isKeyDown(player)) { + if (toggleStepTimer == 0 && KeyBind.STEP_ASSIST_ENABLE.isKeyDown(player)) { stepAssist = !stepAssist; toggleStepTimer = 5; if (world.isClientSide()) player.displayClientMessage(Component - .translatable("metaarmor.nms.stepassist." + (stepAssist ? "enabled" : "disabled")), true); + .translatable("metaarmor.nms.step_assist." + (stepAssist ? "enabled" : "disabled")), true); data.putBoolean("stepAssist", stepAssist); } @@ -188,8 +188,8 @@ public void addInfo(ItemStack itemStack, List lines) { } } else if (type == ArmorItem.Type.BOOTS) { if (nbtData.getBoolean("stepAssist")) - lines.add(Component.translatable("metaarmor.message.stepassist.enabled")); - else lines.add(Component.translatable("metaarmor.message.stepassist.disabled")); + lines.add(Component.translatable("metaarmor.message.step_assist.enabled")); + else lines.add(Component.translatable("metaarmor.message.step_assist.disabled")); lines.add(Component.translatable("metaarmor.tooltip.falldamage")); } } diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java index 1c5a72eb6db..f43e7483cfb 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java @@ -200,11 +200,11 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) { } boolean stepAssist = data.contains("stepAssist") && data.getBoolean("stepAssist"); - if (toggleBootsTimer == 0 && KeyBind.TOGGLE_STEP_ASSIST.isKeyDown(player)) { + if (toggleBootsTimer == 0 && KeyBind.STEP_ASSIST_ENABLE.isKeyDown(player)) { stepAssist = !stepAssist; toggleBootsTimer = 5; if (world.isClientSide()) player.displayClientMessage(Component - .translatable("metaarmor.qts.stepassist." + (stepAssist ? "enabled" : "disabled")), true); + .translatable("metaarmor.qts.step_assist." + (stepAssist ? "enabled" : "disabled")), true); data.putBoolean("stepAssist", stepAssist); } @@ -366,8 +366,8 @@ public void addInfo(ItemStack itemStack, List lines) { } else if (type == ArmorItem.Type.BOOTS) { CompoundTag nbtData = itemStack.getOrCreateTag(); if (nbtData.getBoolean("stepAssist")) - lines.add(Component.translatable("metaarmor.message.stepassist.enabled")); - else lines.add(Component.translatable("metaarmor.message.stepassist.disabled")); + lines.add(Component.translatable("metaarmor.message.step_assist.enabled")); + else lines.add(Component.translatable("metaarmor.message.step_assist.disabled")); lines.add(Component.translatable("metaarmor.tooltip.falldamage")); lines.add(Component.translatable("metaarmor.tooltip.jump")); } diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java b/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java index 51cc5c7d90d..ffa90f6f66f 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java @@ -1204,6 +1204,7 @@ public static void init(RegistrateLangProvider provider) { provider.add("gtceu.key.enable_boots", "Enable Boosted Jump"); provider.add("gtceu.key.armor_charging", "Armor Charging to Inventory Toggle"); provider.add("gtceu.key.tool_aoe_change", "Tool AoE Mode Switch"); + provider.add("gtceu.key.enable_step_assist", "Enable StepAssist"); provider.add("gtceu.debug.f3_h.enabled", "GregTech has modified the debug info! For Developers: enable the misc:debug config option in the GregTech config file to see more"); provider.add("config.jade.plugin_gtceu.controllable_provider", "[GTCEu] Controllable"); diff --git a/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java b/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java index ef21ea20bd6..00a188ea081 100644 --- a/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java +++ b/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java @@ -38,7 +38,7 @@ public enum KeyBind { VANILLA_LEFT(() -> () -> Minecraft.getInstance().options.keyLeft), VANILLA_RIGHT(() -> () -> Minecraft.getInstance().options.keyRight), ARMOR_MODE_SWITCH("gtceu.key.armor_mode_switch", KeyConflictContext.IN_GAME, InputConstants.KEY_M), - TOGGLE_STEP_ASSIST("gtceu.toggle_step_assist", KeyConflictContext.IN_GAME, InputConstants.KEY_APOSTROPHE), + STEP_ASSIST_ENABLE("gtceu.key.enable_step_assist", KeyConflictContext.IN_GAME, InputConstants.KEY_APOSTROPHE), ARMOR_HOVER("gtceu.key.armor_hover", KeyConflictContext.IN_GAME, InputConstants.KEY_H), JETPACK_ENABLE("gtceu.key.enable_jetpack", KeyConflictContext.IN_GAME, InputConstants.KEY_G), BOOTS_ENABLE("gtceu.key.enable_boots", KeyConflictContext.IN_GAME, InputConstants.KEY_PERIOD), From f3322adb61748bdedb883afa638d1cd0455ede51 Mon Sep 17 00:00:00 2001 From: zetrock1 Date: Tue, 9 Dec 2025 02:18:16 +0300 Subject: [PATCH 3/8] move from deprecated KeyBind to SyncedKeyMappings --- .../gtceu/common/item/armor/NanoMuscleSuite.java | 3 ++- .../gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java | 2 +- .../java/com/gregtechceu/gtceu/utils/input/KeyBind.java | 1 - .../gregtechceu/gtceu/utils/input/SyncedKeyMappings.java | 6 ++++++ 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java index 8a3f4479527..223ee0a2665 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java @@ -7,6 +7,7 @@ import com.gregtechceu.gtceu.api.item.armor.ArmorUtils; import com.gregtechceu.gtceu.common.data.GTItems; import com.gregtechceu.gtceu.utils.input.KeyBind; +import com.gregtechceu.gtceu.utils.input.SyncedKeyMappings; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; @@ -55,7 +56,7 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) { byte toggleStepTimer = data.getByte("toggleStepTimer"); if (type == ArmorItem.Type.BOOTS) { boolean stepAssist = data.contains("stepAssist") && data.getBoolean("stepAssist"); - if (toggleStepTimer == 0 && KeyBind.STEP_ASSIST_ENABLE.isKeyDown(player)) { + if (toggleStepTimer == 0 && SyncedKeyMappings.STEP_ASSIST_ENABLE.isKeyDown(player)) { stepAssist = !stepAssist; toggleStepTimer = 5; if (world.isClientSide()) player.displayClientMessage(Component diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java index f43e7483cfb..bd6a0ad56ea 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java @@ -200,7 +200,7 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) { } boolean stepAssist = data.contains("stepAssist") && data.getBoolean("stepAssist"); - if (toggleBootsTimer == 0 && KeyBind.STEP_ASSIST_ENABLE.isKeyDown(player)) { + if (toggleBootsTimer == 0 && SyncedKeyMappings.STEP_ASSIST_ENABLE.isKeyDown(player)) { stepAssist = !stepAssist; toggleBootsTimer = 5; if (world.isClientSide()) player.displayClientMessage(Component diff --git a/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java b/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java index 00a188ea081..1b0feeb5b4d 100644 --- a/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java +++ b/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java @@ -38,7 +38,6 @@ public enum KeyBind { VANILLA_LEFT(() -> () -> Minecraft.getInstance().options.keyLeft), VANILLA_RIGHT(() -> () -> Minecraft.getInstance().options.keyRight), ARMOR_MODE_SWITCH("gtceu.key.armor_mode_switch", KeyConflictContext.IN_GAME, InputConstants.KEY_M), - STEP_ASSIST_ENABLE("gtceu.key.enable_step_assist", KeyConflictContext.IN_GAME, InputConstants.KEY_APOSTROPHE), ARMOR_HOVER("gtceu.key.armor_hover", KeyConflictContext.IN_GAME, InputConstants.KEY_H), JETPACK_ENABLE("gtceu.key.enable_jetpack", KeyConflictContext.IN_GAME, InputConstants.KEY_G), BOOTS_ENABLE("gtceu.key.enable_boots", KeyConflictContext.IN_GAME, InputConstants.KEY_PERIOD), diff --git a/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java b/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java index 451acee9106..4e4dc20a15b 100644 --- a/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java +++ b/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java @@ -3,9 +3,12 @@ import com.gregtechceu.gtceu.GTCEu; import net.minecraft.client.Minecraft; +import net.minecraftforge.client.settings.KeyConflictContext; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.ModLoader; +import com.mojang.blaze3d.platform.InputConstants; + public class SyncedKeyMappings { public static final SyncedKeyMapping VANILLA_JUMP = SyncedKeyMapping @@ -20,6 +23,9 @@ public class SyncedKeyMappings { .createFromMC(() -> () -> Minecraft.getInstance().options.keyLeft); public static final SyncedKeyMapping VANILLA_RIGHT = SyncedKeyMapping .createFromMC(() -> () -> Minecraft.getInstance().options.keyRight); + public static final SyncedKeyMapping STEP_ASSIST_ENABLE = SyncedKeyMapping + .createConfigurable("gtceu.key.enable_step_assist", KeyConflictContext.IN_GAME, + InputConstants.KEY_APOSTROPHE); public static void init() { if (GTCEu.isClientSide()) { From ac2d9c3b861ba907b049e1c2859d55fb60ed4260 Mon Sep 17 00:00:00 2001 From: zetrock1 Date: Tue, 9 Dec 2025 02:40:23 +0300 Subject: [PATCH 4/8] Move others hotkeys from Deprecated KeyBind to SyncedKeyMappings --- .../common/item/armor/AdvancedNanoMuscleSuite.java | 8 ++++---- .../common/item/armor/AdvancedQuarkTechSuite.java | 8 ++++---- .../gtceu/common/item/armor/Jetpack.java | 6 +++--- .../gtceu/common/item/armor/NanoMuscleSuite.java | 3 +-- .../common/item/armor/NightvisionGoggles.java | 4 ++-- .../gtceu/common/item/armor/PowerlessJetpack.java | 6 +++--- .../gtceu/common/item/armor/QuarkTechSuite.java | 5 ++--- .../com/gregtechceu/gtceu/utils/input/KeyBind.java | 8 -------- .../gtceu/utils/input/SyncedKeyMappings.java | 14 ++++++++++++++ 9 files changed, 33 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedNanoMuscleSuite.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedNanoMuscleSuite.java index c1f0190a701..848422bc5fa 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedNanoMuscleSuite.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedNanoMuscleSuite.java @@ -5,7 +5,7 @@ import com.gregtechceu.gtceu.api.capability.IElectricItem; import com.gregtechceu.gtceu.api.item.armor.ArmorComponentItem; import com.gregtechceu.gtceu.api.item.armor.ArmorUtils; -import com.gregtechceu.gtceu.utils.input.KeyBind; +import com.gregtechceu.gtceu.utils.input.SyncedKeyMappings; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.core.NonNullList; @@ -64,15 +64,15 @@ public void onArmorTick(Level world, Player player, @NotNull ItemStack item) { String messageKey = null; if (toggleTimer == 0) { - if (KeyBind.JETPACK_ENABLE.isKeyDown(player)) { + if (SyncedKeyMappings.JETPACK_ENABLE.isKeyDown(player)) { jetpackEnabled = !jetpackEnabled; messageKey = "metaarmor.jetpack.flight." + (jetpackEnabled ? "enable" : "disable"); data.putBoolean("enabled", jetpackEnabled); - } else if (KeyBind.ARMOR_HOVER.isKeyDown(player)) { + } else if (SyncedKeyMappings.ARMOR_HOVER.isKeyDown(player)) { hoverMode = !hoverMode; messageKey = "metaarmor.jetpack.hover." + (hoverMode ? "enable" : "disable"); data.putBoolean("hover", hoverMode); - } else if (KeyBind.ARMOR_CHARGING.isKeyDown(player)) { + } else if (SyncedKeyMappings.ARMOR_CHARGING.isKeyDown(player)) { canShare = !canShare; if (canShare && cont.getCharge() == 0) { // Only allow for charging to be enabled if charge is nonzero messageKey = "metaarmor.nms.share.error"; diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedQuarkTechSuite.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedQuarkTechSuite.java index 42d4eceabcf..f38ffa9ffd6 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedQuarkTechSuite.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedQuarkTechSuite.java @@ -6,7 +6,7 @@ import com.gregtechceu.gtceu.api.item.armor.ArmorComponentItem; import com.gregtechceu.gtceu.api.item.armor.ArmorUtils; import com.gregtechceu.gtceu.core.IFireImmuneEntity; -import com.gregtechceu.gtceu.utils.input.KeyBind; +import com.gregtechceu.gtceu.utils.input.SyncedKeyMappings; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.core.NonNullList; @@ -64,15 +64,15 @@ public void onArmorTick(Level world, Player player, ItemStack item) { String messageKey = null; if (toggleTimer == 0) { - if (KeyBind.JETPACK_ENABLE.isKeyDown(player)) { + if (SyncedKeyMappings.JETPACK_ENABLE.isKeyDown(player)) { jetpackEnabled = !jetpackEnabled; messageKey = "metaarmor.jetpack.flight." + (jetpackEnabled ? "enable" : "disable"); data.putBoolean("enabled", jetpackEnabled); - } else if (KeyBind.ARMOR_HOVER.isKeyDown(player)) { + } else if (SyncedKeyMappings.ARMOR_HOVER.isKeyDown(player)) { hoverMode = !hoverMode; messageKey = "metaarmor.jetpack.hover." + (hoverMode ? "enable" : "disable"); data.putBoolean("hover", hoverMode); - } else if (KeyBind.ARMOR_CHARGING.isKeyDown(player)) { + } else if (SyncedKeyMappings.ARMOR_CHARGING.isKeyDown(player)) { canShare = !canShare; if (canShare && cont.getCharge() == 0) { // Only allow for charging to be enabled if charge is nonzero messageKey = "metaarmor.qts.share.error"; diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/Jetpack.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/Jetpack.java index 4c072ff9d7a..063cfb89bd6 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/Jetpack.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/Jetpack.java @@ -5,7 +5,7 @@ import com.gregtechceu.gtceu.api.capability.IElectricItem; import com.gregtechceu.gtceu.api.item.armor.ArmorLogicSuite; import com.gregtechceu.gtceu.api.item.armor.ArmorUtils; -import com.gregtechceu.gtceu.utils.input.KeyBind; +import com.gregtechceu.gtceu.utils.input.SyncedKeyMappings; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.core.particles.ParticleOptions; @@ -61,11 +61,11 @@ public void onArmorTick(Level world, Player player, @NotNull ItemStack item) { String messageKey = null; if (toggleTimer == 0) { - if (KeyBind.JETPACK_ENABLE.isKeyDown(player)) { + if (SyncedKeyMappings.JETPACK_ENABLE.isKeyDown(player)) { jetpackEnabled = !jetpackEnabled; messageKey = "metaarmor.jetpack.flight." + (jetpackEnabled ? "enable" : "disable"); data.putBoolean("enabled", jetpackEnabled); - } else if (KeyBind.ARMOR_HOVER.isKeyDown(player)) { + } else if (SyncedKeyMappings.ARMOR_HOVER.isKeyDown(player)) { hoverMode = !hoverMode; messageKey = "metaarmor.jetpack.hover." + (hoverMode ? "enable" : "disable"); data.putBoolean("hover", hoverMode); diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java index 223ee0a2665..546c6a24ccb 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java @@ -6,7 +6,6 @@ import com.gregtechceu.gtceu.api.item.armor.ArmorLogicSuite; import com.gregtechceu.gtceu.api.item.armor.ArmorUtils; import com.gregtechceu.gtceu.common.data.GTItems; -import com.gregtechceu.gtceu.utils.input.KeyBind; import com.gregtechceu.gtceu.utils.input.SyncedKeyMappings; import net.minecraft.client.Minecraft; @@ -73,7 +72,7 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) { int nightVisionTimer = data.contains("nightVisionTimer") ? data.getInt("nightVisionTimer") : ArmorUtils.NIGHTVISION_DURATION; boolean nightVision = data.contains("nightVision") && data.getBoolean("nightVision"); - if (toggleTimer == 0 && KeyBind.ARMOR_MODE_SWITCH.isKeyDown(player)) { + if (toggleTimer == 0 && SyncedKeyMappings.ARMOR_MODE_SWITCH.isKeyDown(player)) { nightVision = !nightVision; toggleTimer = 5; if (item.getCharge() < ArmorUtils.MIN_NIGHTVISION_CHARGE) { diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/NightvisionGoggles.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/NightvisionGoggles.java index 89d78447cb4..2efb5d97005 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/NightvisionGoggles.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/NightvisionGoggles.java @@ -5,7 +5,7 @@ import com.gregtechceu.gtceu.api.capability.IElectricItem; import com.gregtechceu.gtceu.api.item.armor.ArmorLogicSuite; import com.gregtechceu.gtceu.api.item.armor.ArmorUtils; -import com.gregtechceu.gtceu.utils.input.KeyBind; +import com.gregtechceu.gtceu.utils.input.SyncedKeyMappings; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; @@ -41,7 +41,7 @@ public void onArmorTick(Level world, @NotNull Player player, @NotNull ItemStack ArmorUtils.NIGHTVISION_DURATION; if (type == ArmorItem.Type.HELMET) { boolean nightVision = data.contains("nightVision") && data.getBoolean("nightVision"); - if (toggleTimer == 0 && KeyBind.ARMOR_MODE_SWITCH.isKeyDown(player)) { + if (toggleTimer == 0 && SyncedKeyMappings.ARMOR_MODE_SWITCH.isKeyDown(player)) { nightVision = !nightVision; toggleTimer = 5; if (item.getCharge() < ArmorUtils.MIN_NIGHTVISION_CHARGE) { diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/PowerlessJetpack.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/PowerlessJetpack.java index 9a96613c7aa..f8de74af15a 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/PowerlessJetpack.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/PowerlessJetpack.java @@ -9,7 +9,7 @@ import com.gregtechceu.gtceu.api.recipe.ingredient.FluidIngredient; import com.gregtechceu.gtceu.common.data.GTMaterials; import com.gregtechceu.gtceu.utils.GradientUtil; -import com.gregtechceu.gtceu.utils.input.KeyBind; +import com.gregtechceu.gtceu.utils.input.SyncedKeyMappings; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.core.NonNullList; @@ -77,11 +77,11 @@ public void onArmorTick(Level world, Player player, @NotNull ItemStack stack) { String messageKey = null; if (toggleTimer == 0) { - if (KeyBind.JETPACK_ENABLE.isKeyDown(player)) { + if (SyncedKeyMappings.JETPACK_ENABLE.isKeyDown(player)) { jetpackEnabled = !jetpackEnabled; messageKey = "metaarmor.jetpack.flight." + (jetpackEnabled ? "enable" : "disable"); data.putBoolean("enabled", jetpackEnabled); - } else if (KeyBind.ARMOR_HOVER.isKeyDown(player)) { + } else if (SyncedKeyMappings.ARMOR_HOVER.isKeyDown(player)) { hoverMode = !hoverMode; messageKey = "metaarmor.jetpack.hover." + (hoverMode ? "enable" : "disable"); data.putBoolean("hover", hoverMode); diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java index bd6a0ad56ea..594d0b98c46 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java @@ -7,7 +7,6 @@ import com.gregtechceu.gtceu.api.item.armor.ArmorUtils; import com.gregtechceu.gtceu.common.data.GTItems; import com.gregtechceu.gtceu.core.IFireImmuneEntity; -import com.gregtechceu.gtceu.utils.input.KeyBind; import com.gregtechceu.gtceu.utils.input.SyncedKeyMappings; import net.minecraft.client.Minecraft; @@ -92,7 +91,7 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) { removeNegativeEffects(item, player); boolean nightVision = data.contains("nightVision") && data.getBoolean("nightVision"); - if (toggleTimer == 0 && KeyBind.ARMOR_MODE_SWITCH.isKeyDown(player)) { + if (toggleTimer == 0 && SyncedKeyMappings.ARMOR_MODE_SWITCH.isKeyDown(player)) { nightVision = !nightVision; toggleTimer = 5; if (item.getCharge() < ArmorUtils.MIN_NIGHTVISION_CHARGE) { @@ -161,7 +160,7 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) { boolean canUseEnergy = item.canUse(energyPerUse / 100); boolean jumping = SyncedKeyMappings.VANILLA_JUMP.isKeyDown(player); boolean boostedJump = data.contains("boostedJump") && data.getBoolean("boostedJump"); - if (toggleBootsTimer == 0 && KeyBind.BOOTS_ENABLE.isKeyDown(player)) { + if (toggleBootsTimer == 0 && SyncedKeyMappings.BOOTS_ENABLE.isKeyDown(player)) { boostedJump = !boostedJump; toggleBootsTimer = JUMPING_TIMER; player.displayClientMessage(Component diff --git a/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java b/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java index 1b0feeb5b4d..0aab18813b7 100644 --- a/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java +++ b/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java @@ -13,7 +13,6 @@ import net.minecraftforge.client.event.InputEvent; import net.minecraftforge.client.event.RegisterKeyMappingsEvent; import net.minecraftforge.client.settings.IKeyConflictContext; -import net.minecraftforge.client.settings.KeyConflictContext; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; @@ -37,13 +36,6 @@ public enum KeyBind { VANILLA_BACKWARD(() -> () -> Minecraft.getInstance().options.keyDown), VANILLA_LEFT(() -> () -> Minecraft.getInstance().options.keyLeft), VANILLA_RIGHT(() -> () -> Minecraft.getInstance().options.keyRight), - ARMOR_MODE_SWITCH("gtceu.key.armor_mode_switch", KeyConflictContext.IN_GAME, InputConstants.KEY_M), - ARMOR_HOVER("gtceu.key.armor_hover", KeyConflictContext.IN_GAME, InputConstants.KEY_H), - JETPACK_ENABLE("gtceu.key.enable_jetpack", KeyConflictContext.IN_GAME, InputConstants.KEY_G), - BOOTS_ENABLE("gtceu.key.enable_boots", KeyConflictContext.IN_GAME, InputConstants.KEY_PERIOD), - ARMOR_CHARGING("gtceu.key.armor_charging", KeyConflictContext.IN_GAME, InputConstants.KEY_N), - TOOL_AOE_CHANGE("gtceu.key.tool_aoe_change", KeyConflictContext.IN_GAME, InputConstants.KEY_V), - ACTION("gtceu.key.action", KeyConflictContext.GUI, InputConstants.KEY_DELETE), ; public static final KeyBind[] VALUES = values(); diff --git a/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java b/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java index 4e4dc20a15b..c292e56efe3 100644 --- a/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java +++ b/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java @@ -26,6 +26,20 @@ public class SyncedKeyMappings { public static final SyncedKeyMapping STEP_ASSIST_ENABLE = SyncedKeyMapping .createConfigurable("gtceu.key.enable_step_assist", KeyConflictContext.IN_GAME, InputConstants.KEY_APOSTROPHE); + public static final SyncedKeyMapping ARMOR_MODE_SWITCH = SyncedKeyMapping + .createConfigurable("gtceu.key.armor_mode_switch", KeyConflictContext.IN_GAME, InputConstants.KEY_M); + public static final SyncedKeyMapping ARMOR_HOVER = SyncedKeyMapping + .createConfigurable("gtceu.key.armor_hover", KeyConflictContext.IN_GAME, InputConstants.KEY_H); + public static final SyncedKeyMapping JETPACK_ENABLE = SyncedKeyMapping + .createConfigurable("gtceu.key.enable_jetpack", KeyConflictContext.IN_GAME, InputConstants.KEY_G); + public static final SyncedKeyMapping BOOTS_ENABLE = SyncedKeyMapping + .createConfigurable("gtceu.key.enable_boots", KeyConflictContext.IN_GAME, InputConstants.KEY_PERIOD); + public static final SyncedKeyMapping ARMOR_CHARGING = SyncedKeyMapping + .createConfigurable("gtceu.key.armor_charging", KeyConflictContext.IN_GAME, InputConstants.KEY_N); + public static final SyncedKeyMapping TOOL_AOE_CHANGE = SyncedKeyMapping + .createConfigurable("gtceu.key.tool_aoe_change", KeyConflictContext.IN_GAME, InputConstants.KEY_V); + public static final SyncedKeyMapping ACTION = SyncedKeyMapping + .createConfigurable("gtceu.key.action", KeyConflictContext.GUI, InputConstants.KEY_DELETE); public static void init() { if (GTCEu.isClientSide()) { From a695f15284734e1883c3e0ec4f3c22625d5fb2dc Mon Sep 17 00:00:00 2001 From: zetrock1 Date: Tue, 9 Dec 2025 13:05:30 +0300 Subject: [PATCH 5/8] add to LangHandler --- .../resources/assets/gtceu/lang/en_us.json | 14 +++++++------- .../gregtechceu/gtceu/data/lang/LangHandler.java | 8 ++++++-- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/generated/resources/assets/gtceu/lang/en_us.json b/src/generated/resources/assets/gtceu/lang/en_us.json index be5db2fd5d2..c45a3ab7e0c 100644 --- a/src/generated/resources/assets/gtceu/lang/en_us.json +++ b/src/generated/resources/assets/gtceu/lang/en_us.json @@ -5665,21 +5665,21 @@ "metaarmor.nms.nightvision.disabled": "NanoMuscle™ Suite: NightVision Disabled", "metaarmor.nms.nightvision.enabled": "NanoMuscle™ Suite: NightVision Enabled", "metaarmor.nms.nightvision.error": "NanoMuscle™ Suite: §cNot enough power!", - "metaarmor.nms.step_assist.disabled": "NanoMuscle™ Suite: StepAssist Disabled", - "metaarmor.nms.step_assist.enabled": "NanoMuscle™ Suite: StepAssist Enabled", - "metaarmor.nms.share.disable": "NanoMuscle™ Suite: Charging Disabled", - "metaarmor.nms.share.enable": "NanoMuscle™ Suite: Charging Enabled", - "metaarmor.nms.share.error": "NanoMuscle™ Suite: §cNot enough power for charging!", - "metaarmor.qts.boosted_jump.disabled": "QuarkTech™ Suite: Jump Boost Disabled", - "metaarmor.qts.boosted_jump.enabled": "QuarkTech™ Suite: Jump Boost Enabled", "metaarmor.qts.nightvision.disabled": "QuarkTech™ Suite: NightVision Disabled", "metaarmor.qts.nightvision.enabled": "QuarkTech™ Suite: NightVision Enabled", "metaarmor.qts.nightvision.error": "QuarkTech™ Suite: §cNot enough power!", + "metaarmor.nms.step_assist.disabled": "NanoMuscle™ Suite: StepAssist Disabled", + "metaarmor.nms.step_assist.enabled": "NanoMuscle™ Suite: StepAssist Enabled", "metaarmor.qts.step_assist.disabled": "QuarkTech™ Suite: StepAssist Disabled", "metaarmor.qts.step_assist.enabled": "QuarkTech™ Suite: StepAssist Enabled", + "metaarmor.nms.share.disable": "NanoMuscle™ Suite: Charging Disabled", + "metaarmor.nms.share.enable": "NanoMuscle™ Suite: Charging Enabled", + "metaarmor.nms.share.error": "NanoMuscle™ Suite: §cNot enough power for charging!", "metaarmor.qts.share.disable": "QuarkTech™ Suite: Charging Disabled", "metaarmor.qts.share.enable": "QuarkTech™ Suite: Charging Enabled", "metaarmor.qts.share.error": "QuarkTech™ Suite: §cNot enough power for charging!", + "metaarmor.qts.boosted_jump.disabled": "QuarkTech™ Suite: Jump Boost Disabled", + "metaarmor.qts.boosted_jump.enabled": "QuarkTech™ Suite: Jump Boost Enabled", "metaarmor.tooltip.autoeat": "Replenishes Food Bar by Using Food from Inventory", "metaarmor.tooltip.breath": "Replenishes Underwater Breath Bar", "metaarmor.tooltip.burning": "Nullifies Burning", diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java b/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java index ffa90f6f66f..1125b57dbc0 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java @@ -305,12 +305,16 @@ public static void init(RegistrateLangProvider provider) { provider.add("metaitem.liquid_fuel_jetpack.tooltip", "Uses Combustion Generator Fuels for Thrust"); provider.add("metaarmor.nms.nightvision.enabled", "NanoMuscle™ Suite: NightVision Enabled"); provider.add("metaarmor.nms.nightvision.disabled", "NanoMuscle™ Suite: NightVision Disabled"); - provider.add("metaarmor.nms.boosted_jump.enabled", "NanoMuscle™ Suite: Jump Boost Enabled"); - provider.add("metaarmor.nms.boosted_jump.disabled", "NanoMuscle™ Suite: Jump Boost Disabled"); provider.add("metaarmor.nms.nightvision.error", "NanoMuscle™ Suite: §cNot enough power!"); provider.add("metaarmor.qts.nightvision.enabled", "QuarkTech™ Suite: NightVision Enabled"); provider.add("metaarmor.qts.nightvision.disabled", "QuarkTech™ Suite: NightVision Disabled"); provider.add("metaarmor.qts.nightvision.error", "QuarkTech™ Suite: §cNot enough power!"); + provider.add("metaarmor.nms.step_assist.disabled", "NanoMuscle™ Suite: StepAssist Disabled"); + provider.add("metaarmor.nms.step_assist.enabled", "NanoMuscle™ Suite: StepAssist Enabled"); + provider.add("metaarmor.qts.step_assist.disabled", "QuarkTech™ Suite: StepAssist Disabled"); + provider.add("metaarmor.qts.step_assist.enabled", "QuarkTech™ Suite: StepAssist Enabled"); + provider.add("metaarmor.qts.boosted_jump.enabled", "QuarkTech™ Suite: Jump Boost Enabled"); + provider.add("metaarmor.qts.boosted_jump.disabled", "QuarkTech™ Suite: Jump Boost Disabled"); provider.add("metaarmor.jetpack.flight.enable", "Jetpack: Flight Enabled"); provider.add("metaarmor.jetpack.flight.disable", "Jetpack: Flight Disabled"); provider.add("metaarmor.jetpack.hover.enable", "Jetpack: Hover Mode Enabled"); From f4bcb2f453cd771110e02168dd6b958d653d1355 Mon Sep 17 00:00:00 2001 From: zetrock1 Date: Mon, 5 Jan 2026 23:39:05 +0300 Subject: [PATCH 6/8] resolve conflicts --- .../gtceu/common/item/armor/QuarkTechSuite.java | 2 +- .../gregtechceu/gtceu/utils/input/KeyBind.java | 1 + .../gtceu/utils/input/SyncedKeyMappings.java | 16 ++-------------- 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java index 453ccbc6065..4c245423a1c 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java @@ -162,7 +162,7 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) { boolean canUseEnergy = item.canUse(energyPerUse / 100); boolean jumping = SyncedKeyMappings.VANILLA_JUMP.isKeyDown(player); boolean boostedJump = data.contains("boostedJump") && data.getBoolean("boostedJump"); - if (boostedJumpTimer == 0 && SyncedKeyMappings.BOOTS_ENABLE.isKeyDown(player)) { + if (toggleBootsTimer == 0 && SyncedKeyMappings.BOOTS_ENABLE.isKeyDown(player)) { boostedJump = !boostedJump; toggleBootsTimer = JUMPING_TIMER; player.displayClientMessage(Component diff --git a/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java b/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java index 73c5a0a1631..1d26a375c10 100644 --- a/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java +++ b/src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java @@ -9,6 +9,7 @@ import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.client.event.InputEvent; import net.minecraftforge.client.settings.IKeyConflictContext; +import net.minecraftforge.client.settings.KeyConflictContext; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; diff --git a/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java b/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java index 28bf60fb8f0..12303fc7cf8 100644 --- a/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java +++ b/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java @@ -24,6 +24,8 @@ public final class SyncedKeyMappings { .createFromMC(() -> () -> Minecraft.getInstance().options.keyLeft); public static final SyncedKeyMapping VANILLA_RIGHT = SyncedKeyMapping .createFromMC(() -> () -> Minecraft.getInstance().options.keyRight); + + // GT keymappings public static final SyncedKeyMapping STEP_ASSIST_ENABLE = SyncedKeyMapping .createConfigurable("gtceu.key.enable_step_assist", KeyConflictContext.IN_GAME, InputConstants.KEY_APOSTROPHE); @@ -42,20 +44,6 @@ public final class SyncedKeyMappings { public static final SyncedKeyMapping ACTION = SyncedKeyMapping .createConfigurable("gtceu.key.action", KeyConflictContext.GUI, InputConstants.KEY_DELETE); - // GT keymappings - public static final SyncedKeyMapping ARMOR_MODE_SWITCH = SyncedKeyMapping.createConfigurable( - "gtceu.key.armor_mode_switch", KeyConflictContext.IN_GAME, InputConstants.KEY_M); - public static final SyncedKeyMapping ARMOR_HOVER = SyncedKeyMapping.createConfigurable( - "gtceu.key.armor_hover", KeyConflictContext.IN_GAME, InputConstants.KEY_H); - public static final SyncedKeyMapping JETPACK_ENABLE = SyncedKeyMapping.createConfigurable( - "gtceu.key.enable_jetpack", KeyConflictContext.IN_GAME, InputConstants.KEY_G); - public static final SyncedKeyMapping BOOTS_ENABLE = SyncedKeyMapping.createConfigurable( - "gtceu.key.enable_boots", KeyConflictContext.IN_GAME, InputConstants.KEY_PERIOD); - public static final SyncedKeyMapping ARMOR_CHARGING = SyncedKeyMapping.createConfigurable( - "gtceu.key.armor_charging", KeyConflictContext.IN_GAME, InputConstants.KEY_N); - public static final SyncedKeyMapping TOOL_AOE_CHANGE = SyncedKeyMapping.createConfigurable( - "gtceu.key.tool_aoe_change", KeyConflictContext.IN_GAME, InputConstants.KEY_V); - public static void init() { if (GTCEu.isClientSide()) { MinecraftForge.EVENT_BUS.register(SyncedKeyMapping.class); From 32d23589f8193cddf46fd317299dc834136f2cd1 Mon Sep 17 00:00:00 2001 From: zetrock1 Date: Mon, 5 Jan 2026 23:45:44 +0300 Subject: [PATCH 7/8] style --- .../gtceu/utils/input/SyncedKeyMappings.java | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java b/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java index 12303fc7cf8..3b6fe4769b8 100644 --- a/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java +++ b/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java @@ -26,23 +26,21 @@ public final class SyncedKeyMappings { .createFromMC(() -> () -> Minecraft.getInstance().options.keyRight); // GT keymappings - public static final SyncedKeyMapping STEP_ASSIST_ENABLE = SyncedKeyMapping - .createConfigurable("gtceu.key.enable_step_assist", KeyConflictContext.IN_GAME, + public static final SyncedKeyMapping ARMOR_MODE_SWITCH = SyncedKeyMapping.createConfigurable( + "gtceu.key.armor_mode_switch", KeyConflictContext.IN_GAME, InputConstants.KEY_M); + public static final SyncedKeyMapping ARMOR_HOVER = SyncedKeyMapping.createConfigurable( + "gtceu.key.armor_hover", KeyConflictContext.IN_GAME, InputConstants.KEY_H); + public static final SyncedKeyMapping JETPACK_ENABLE = SyncedKeyMapping.createConfigurable( + "gtceu.key.enable_jetpack", KeyConflictContext.IN_GAME, InputConstants.KEY_G); + public static final SyncedKeyMapping BOOTS_ENABLE = SyncedKeyMapping.createConfigurable( + "gtceu.key.enable_boots", KeyConflictContext.IN_GAME, InputConstants.KEY_PERIOD); + public static final SyncedKeyMapping ARMOR_CHARGING = SyncedKeyMapping.createConfigurable( + "gtceu.key.armor_charging", KeyConflictContext.IN_GAME, InputConstants.KEY_N); + public static final SyncedKeyMapping TOOL_AOE_CHANGE = SyncedKeyMapping.createConfigurable( + "gtceu.key.tool_aoe_change", KeyConflictContext.IN_GAME, InputConstants.KEY_V); + public static final SyncedKeyMapping STEP_ASSIST_ENABLE = SyncedKeyMapping.createConfigurable( + "gtceu.key.enable_step_assist", KeyConflictContext.IN_GAME, InputConstants.KEY_APOSTROPHE); - public static final SyncedKeyMapping ARMOR_MODE_SWITCH = SyncedKeyMapping - .createConfigurable("gtceu.key.armor_mode_switch", KeyConflictContext.IN_GAME, InputConstants.KEY_M); - public static final SyncedKeyMapping ARMOR_HOVER = SyncedKeyMapping - .createConfigurable("gtceu.key.armor_hover", KeyConflictContext.IN_GAME, InputConstants.KEY_H); - public static final SyncedKeyMapping JETPACK_ENABLE = SyncedKeyMapping - .createConfigurable("gtceu.key.enable_jetpack", KeyConflictContext.IN_GAME, InputConstants.KEY_G); - public static final SyncedKeyMapping BOOTS_ENABLE = SyncedKeyMapping - .createConfigurable("gtceu.key.enable_boots", KeyConflictContext.IN_GAME, InputConstants.KEY_PERIOD); - public static final SyncedKeyMapping ARMOR_CHARGING = SyncedKeyMapping - .createConfigurable("gtceu.key.armor_charging", KeyConflictContext.IN_GAME, InputConstants.KEY_N); - public static final SyncedKeyMapping TOOL_AOE_CHANGE = SyncedKeyMapping - .createConfigurable("gtceu.key.tool_aoe_change", KeyConflictContext.IN_GAME, InputConstants.KEY_V); - public static final SyncedKeyMapping ACTION = SyncedKeyMapping - .createConfigurable("gtceu.key.action", KeyConflictContext.GUI, InputConstants.KEY_DELETE); public static void init() { if (GTCEu.isClientSide()) { From 16446d5182d648324d1edfdaddbffe2164067be5 Mon Sep 17 00:00:00 2001 From: zetrock1 Date: Mon, 5 Jan 2026 23:49:26 +0300 Subject: [PATCH 8/8] formatting --- .../com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java b/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java index 3b6fe4769b8..f59598a7104 100644 --- a/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java +++ b/src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java @@ -40,7 +40,7 @@ public final class SyncedKeyMappings { "gtceu.key.tool_aoe_change", KeyConflictContext.IN_GAME, InputConstants.KEY_V); public static final SyncedKeyMapping STEP_ASSIST_ENABLE = SyncedKeyMapping.createConfigurable( "gtceu.key.enable_step_assist", KeyConflictContext.IN_GAME, - InputConstants.KEY_APOSTROPHE); + InputConstants.KEY_APOSTROPHE); public static void init() { if (GTCEu.isClientSide()) {