From 24a24e224390180289281f64b75dba3a77035ff0 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Mon, 30 Jun 2025 14:52:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=A8=E5=B1=80=E9=BC=A0?= =?UTF-8?q?=E6=A0=87=E7=81=B5=E6=95=8F=E5=BA=A6=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../compat/clothconfig/ClothConfigHelper.java | 4 +-- .../client/ControlClothConfig.java | 31 +++++++++++++++++++ .../client/VehicleControlClothConfig.java | 23 -------------- .../superbwarfare/config/ClientConfig.java | 2 +- ...eControlConfig.java => ControlConfig.java} | 8 +++-- .../event/ClientMouseHandler.java | 8 ++--- .../assets/superbwarfare/lang/en_us.json | 8 +++-- .../assets/superbwarfare/lang/es_es.json | 6 ++-- .../assets/superbwarfare/lang/fr_fr.json | 6 ++-- .../assets/superbwarfare/lang/ja_jp.json | 6 ++-- .../assets/superbwarfare/lang/ru_ru.json | 6 ++-- .../assets/superbwarfare/lang/zh_cn.json | 8 +++-- 12 files changed, 66 insertions(+), 50 deletions(-) create mode 100644 src/main/java/com/atsuishio/superbwarfare/compat/clothconfig/client/ControlClothConfig.java delete mode 100644 src/main/java/com/atsuishio/superbwarfare/compat/clothconfig/client/VehicleControlClothConfig.java rename src/main/java/com/atsuishio/superbwarfare/config/client/{VehicleControlConfig.java => ControlConfig.java} (61%) diff --git a/src/main/java/com/atsuishio/superbwarfare/compat/clothconfig/ClothConfigHelper.java b/src/main/java/com/atsuishio/superbwarfare/compat/clothconfig/ClothConfigHelper.java index fc987656c..0cc2f14c8 100644 --- a/src/main/java/com/atsuishio/superbwarfare/compat/clothconfig/ClothConfigHelper.java +++ b/src/main/java/com/atsuishio/superbwarfare/compat/clothconfig/ClothConfigHelper.java @@ -1,9 +1,9 @@ package com.atsuishio.superbwarfare.compat.clothconfig; +import com.atsuishio.superbwarfare.compat.clothconfig.client.ControlClothConfig; import com.atsuishio.superbwarfare.compat.clothconfig.client.DisplayClothConfig; import com.atsuishio.superbwarfare.compat.clothconfig.client.KillMessageClothConfig; import com.atsuishio.superbwarfare.compat.clothconfig.client.ReloadClothConfig; -import com.atsuishio.superbwarfare.compat.clothconfig.client.VehicleControlClothConfig; import com.atsuishio.superbwarfare.compat.clothconfig.common.GameplayClothConfig; import me.shedaniel.clothconfig2.api.ConfigBuilder; import me.shedaniel.clothconfig2.api.ConfigEntryBuilder; @@ -27,7 +27,7 @@ public class ClothConfigHelper { ReloadClothConfig.init(root, entryBuilder); KillMessageClothConfig.init(root, entryBuilder); DisplayClothConfig.init(root, entryBuilder); - VehicleControlClothConfig.init(root, entryBuilder); + ControlClothConfig.init(root, entryBuilder); GameplayClothConfig.init(root, entryBuilder); diff --git a/src/main/java/com/atsuishio/superbwarfare/compat/clothconfig/client/ControlClothConfig.java b/src/main/java/com/atsuishio/superbwarfare/compat/clothconfig/client/ControlClothConfig.java new file mode 100644 index 000000000..0df396dcc --- /dev/null +++ b/src/main/java/com/atsuishio/superbwarfare/compat/clothconfig/client/ControlClothConfig.java @@ -0,0 +1,31 @@ +package com.atsuishio.superbwarfare.compat.clothconfig.client; + +import com.atsuishio.superbwarfare.config.client.ControlConfig; +import me.shedaniel.clothconfig2.api.ConfigBuilder; +import me.shedaniel.clothconfig2.api.ConfigCategory; +import me.shedaniel.clothconfig2.api.ConfigEntryBuilder; +import net.minecraft.network.chat.Component; + +import static com.atsuishio.superbwarfare.compat.clothconfig.ClothConfigHelper.save; + +public class ControlClothConfig { + + public static void init(ConfigBuilder root, ConfigEntryBuilder entryBuilder) { + ConfigCategory category = root.getOrCreateCategory(Component.translatable("config.superbwarfare.client.control")); + + category.addEntry(entryBuilder + .startBooleanToggle(Component.translatable("config.superbwarfare.client.control.invert_aircraft_control"), ControlConfig.INVERT_AIRCRAFT_CONTROL.get()) + .setDefaultValue(true) + .setSaveConsumer(save(ControlConfig.INVERT_AIRCRAFT_CONTROL)) + .setTooltip(Component.translatable("config.superbwarfare.client.control.invert_aircraft_control.des")).build() + ); + + category.addEntry(entryBuilder + .startIntSlider(Component.translatable("config.superbwarfare.client.control.mouse_sensitivity"), ControlConfig.MOUSE_SENSITIVITY.get(), + 10, 200) + .setDefaultValue(100) + .setSaveConsumer(save(ControlConfig.MOUSE_SENSITIVITY)) + .setTooltip(Component.translatable("config.superbwarfare.client.control.mouse_sensitivity.des")).build() + ); + } +} diff --git a/src/main/java/com/atsuishio/superbwarfare/compat/clothconfig/client/VehicleControlClothConfig.java b/src/main/java/com/atsuishio/superbwarfare/compat/clothconfig/client/VehicleControlClothConfig.java deleted file mode 100644 index 5ef23cff6..000000000 --- a/src/main/java/com/atsuishio/superbwarfare/compat/clothconfig/client/VehicleControlClothConfig.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.atsuishio.superbwarfare.compat.clothconfig.client; - -import com.atsuishio.superbwarfare.config.client.VehicleControlConfig; -import me.shedaniel.clothconfig2.api.ConfigBuilder; -import me.shedaniel.clothconfig2.api.ConfigCategory; -import me.shedaniel.clothconfig2.api.ConfigEntryBuilder; -import net.minecraft.network.chat.Component; - -import static com.atsuishio.superbwarfare.compat.clothconfig.ClothConfigHelper.save; - -public class VehicleControlClothConfig { - - public static void init(ConfigBuilder root, ConfigEntryBuilder entryBuilder) { - ConfigCategory category = root.getOrCreateCategory(Component.translatable("config.superbwarfare.client.vehicle")); - - category.addEntry(entryBuilder - .startBooleanToggle(Component.translatable("config.superbwarfare.client.vehicle.invert_aircraft_control"), VehicleControlConfig.INVERT_AIRCRAFT_CONTROL.get()) - .setDefaultValue(true) - .setSaveConsumer(save(VehicleControlConfig.INVERT_AIRCRAFT_CONTROL)) - .setTooltip(Component.translatable("config.superbwarfare.client.vehicle.left_click_reload.des")).build() - ); - } -} diff --git a/src/main/java/com/atsuishio/superbwarfare/config/ClientConfig.java b/src/main/java/com/atsuishio/superbwarfare/config/ClientConfig.java index 30f2c90f4..c8a6571e4 100644 --- a/src/main/java/com/atsuishio/superbwarfare/config/ClientConfig.java +++ b/src/main/java/com/atsuishio/superbwarfare/config/ClientConfig.java @@ -11,7 +11,7 @@ public class ClientConfig { ReloadConfig.init(builder); KillMessageConfig.init(builder); DisplayConfig.init(builder); - VehicleControlConfig.init(builder); + ControlConfig.init(builder); EnvironmentChecksumConfig.init(builder); return builder.build(); diff --git a/src/main/java/com/atsuishio/superbwarfare/config/client/VehicleControlConfig.java b/src/main/java/com/atsuishio/superbwarfare/config/client/ControlConfig.java similarity index 61% rename from src/main/java/com/atsuishio/superbwarfare/config/client/VehicleControlConfig.java rename to src/main/java/com/atsuishio/superbwarfare/config/client/ControlConfig.java index 95fd38d03..3eb8d1ee6 100644 --- a/src/main/java/com/atsuishio/superbwarfare/config/client/VehicleControlConfig.java +++ b/src/main/java/com/atsuishio/superbwarfare/config/client/ControlConfig.java @@ -2,16 +2,20 @@ package com.atsuishio.superbwarfare.config.client; import net.neoforged.neoforge.common.ModConfigSpec; -public class VehicleControlConfig { +public class ControlConfig { public static ModConfigSpec.BooleanValue INVERT_AIRCRAFT_CONTROL; + public static ModConfigSpec.IntValue MOUSE_SENSITIVITY; public static void init(ModConfigSpec.Builder builder) { - builder.push("invert_aircraft_control"); + builder.push("control"); builder.comment("Set true to invert aircraft control"); INVERT_AIRCRAFT_CONTROL = builder.define("invert_aircraft_control", false); + builder.comment("Sensitivity of mouse"); + MOUSE_SENSITIVITY = builder.defineInRange("mouse_sensitivity", 100, 10, 200); + builder.pop(); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/event/ClientMouseHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/ClientMouseHandler.java index 26ada8323..174fddd54 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/ClientMouseHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/ClientMouseHandler.java @@ -1,7 +1,7 @@ package com.atsuishio.superbwarfare.event; import com.atsuishio.superbwarfare.client.MouseMovementHandler; -import com.atsuishio.superbwarfare.config.client.VehicleControlConfig; +import com.atsuishio.superbwarfare.config.client.ControlConfig; import com.atsuishio.superbwarfare.data.gun.GunData; import com.atsuishio.superbwarfare.entity.vehicle.DroneEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.AirEntity; @@ -100,7 +100,7 @@ public class ClientMouseHandler { int y = 1; - if (vehicle instanceof AirEntity && VehicleControlConfig.INVERT_AIRCRAFT_CONTROL.get()) { + if (vehicle instanceof AirEntity && ControlConfig.INVERT_AIRCRAFT_CONTROL.get()) { y = -1; } @@ -189,7 +189,7 @@ public class ClientMouseHandler { if (player == null) return 1; if (player.getVehicle() instanceof VehicleEntity vehicle && vehicle instanceof AirEntity && vehicle.getFirstPassenger() == player) { - return VehicleControlConfig.INVERT_AIRCRAFT_CONTROL.get() ? -1 : 1; + return ControlConfig.INVERT_AIRCRAFT_CONTROL.get() ? -1 : 1; } return 1; } @@ -210,7 +210,7 @@ public class ClientMouseHandler { float customSens = data.sensitivity.get(); if (!player.getMainHandItem().isEmpty() && mc.options.getCameraType() == CameraType.FIRST_PERSON) { - return original / Math.max((1 + (0.2 * (data.zoom() - (0.3 * customSens)) * ClientEventHandler.zoomTime)), 0.1); + return original / Math.max((1 + (0.2 * (data.zoom() - (0.3 * customSens)) * ClientEventHandler.zoomTime)), 0.1) * (ControlConfig.MOUSE_SENSITIVITY.get() / 100f); } } diff --git a/src/main/resources/assets/superbwarfare/lang/en_us.json b/src/main/resources/assets/superbwarfare/lang/en_us.json index 79b78bda5..99cfc5492 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -627,9 +627,11 @@ "config.superbwarfare.client.display.weapon_hud_y_offset.des": "The vertical offset of weapon HUD", "config.superbwarfare.client.display.vehicle_info": "Vehicle Info", "config.superbwarfare.client.display.vehicle_info.des": "Whether to display vehicle info when aiming at a vehicle", - "config.superbwarfare.client.vehicle": "Control Vehicle", - "config.superbwarfare.client.vehicle.invert_aircraft_control": "Invert Aircraft Control", - "config.superbwarfare.client.vehicle.left_click_reload.des": "Set TRUE to invert aircraft control", + "config.superbwarfare.client.control": "Control Config", + "config.superbwarfare.client.control.invert_aircraft_control": "Invert Aircraft Control", + "config.superbwarfare.client.control.invert_aircraft_control.des": "Set TRUE to invert aircraft control", + "config.superbwarfare.client.control.mouse_sensitivity": "Mouse Sensitivity", + "config.superbwarfare.client.control.mouse_sensitivity.des": "Adjust mouse sensitivity while holding a gun", "config.superbwarfare.common.gameplay": "Gameplay Config", "config.superbwarfare.common.gameplay.respawn_reload": "Respawn Reload", diff --git a/src/main/resources/assets/superbwarfare/lang/es_es.json b/src/main/resources/assets/superbwarfare/lang/es_es.json index c781c9a3e..61f22ab8f 100644 --- a/src/main/resources/assets/superbwarfare/lang/es_es.json +++ b/src/main/resources/assets/superbwarfare/lang/es_es.json @@ -522,9 +522,9 @@ "config.superbwarfare.client.display.camera_rotate.des": "Visión ligeramente inestable al sostener un arma de fuego en la mano", "config.superbwarfare.client.display.armor_plate_hud": "HUD de placas de blindaje", "config.superbwarfare.client.display.armor_plate_hud.des": "Muestra la durabilidad del inserto antibalas equipado actualmente en la armadura pectoral en la esquina inferior izquierda cuando está activado.", - "config.superbwarfare.client.vehicle": "Vehículos de control", - "config.superbwarfare.client.vehicle.invert_aircraft_control": "Invertir el control del avión", - "config.superbwarfare.client.vehicle.left_click_reload.des": "Establece TRUE para invertir el control de la aeronave", + "config.superbwarfare.client.control": "Vehículos de control", + "config.superbwarfare.client.control.invert_aircraft_control": "Invertir el control del avión", + "config.superbwarfare.client.control.invert_aircraft_control.des": "Establece TRUE para invertir el control de la aeronave", "config.superbwarfare.common.gameplay": "Configuración del juego", "config.superbwarfare.common.gameplay.respawn_reload": "Recarga de Reinicio", diff --git a/src/main/resources/assets/superbwarfare/lang/fr_fr.json b/src/main/resources/assets/superbwarfare/lang/fr_fr.json index 26dc2547e..9242e87b1 100644 --- a/src/main/resources/assets/superbwarfare/lang/fr_fr.json +++ b/src/main/resources/assets/superbwarfare/lang/fr_fr.json @@ -514,9 +514,9 @@ "config.superbwarfare.client.display.camera_rotate.des": "Vue légèrement secouée lorsque vous tenez une arme à feu", "config.superbwarfare.client.display.armor_plate_hud": "HUD de la plaque d'armure", "config.superbwarfare.client.display.armor_plate_hud.des": "Affiche la durabilité de la plaque pare-balles actuellement équipée sur l'armure de poitrine dans le coin inférieur gauche lorsqu'il est activé", - "config.superbwarfare.client.vehicle": "Contrôler le véhicule", - "config.superbwarfare.client.vehicle.invert_aircraft_control": "Inverser le contrôle de l'aéronef", - "config.superbwarfare.client.vehicle.left_click_reload.des": "Définir sur VRAI pour inverser le contrôle de l'aéronef", + "config.superbwarfare.client.control": "Contrôler le véhicule", + "config.superbwarfare.client.control.invert_aircraft_control": "Inverser le contrôle de l'aéronef", + "config.superbwarfare.client.control.invert_aircraft_control.des": "Définir sur VRAI pour inverser le contrôle de l'aéronef", "config.superbwarfare.common.gameplay": "Configuration du gameplay", "config.superbwarfare.common.gameplay.respawn_reload": "Rechargement après réapparition", diff --git a/src/main/resources/assets/superbwarfare/lang/ja_jp.json b/src/main/resources/assets/superbwarfare/lang/ja_jp.json index 5a5c1fd09..fe830e783 100644 --- a/src/main/resources/assets/superbwarfare/lang/ja_jp.json +++ b/src/main/resources/assets/superbwarfare/lang/ja_jp.json @@ -542,9 +542,9 @@ "config.superbwarfare.client.display.armor_plate_hud.des": "オンにすると、胸部アーマーに装備されている防弾インサートの耐久性を左下隅に表示します", "config.superbwarfare.client.display.stamina_hud": "スタミナHUD", "config.superbwarfare.client.display.stamina_hud.des": "タクティカルスプリントや息止めの際にスタミナHUDを表示する", - "config.superbwarfare.client.vehicle": "車両制御", - "config.superbwarfare.client.vehicle.invert_aircraft_control": "航空機制御の反転", - "config.superbwarfare.client.vehicle.left_click_reload.des": "航空機の制御を反転するにはTRUEを設定します", + "config.superbwarfare.client.control": "車両制御", + "config.superbwarfare.client.control.invert_aircraft_control": "航空機制御の反転", + "config.superbwarfare.client.control.invert_aircraft_control.des": "航空機の制御を反転するにはTRUEを設定します", "config.superbwarfare.common.gameplay": "ゲームプレイ設定", "config.superbwarfare.common.gameplay.respawn_reload": "リスポーンリロード", diff --git a/src/main/resources/assets/superbwarfare/lang/ru_ru.json b/src/main/resources/assets/superbwarfare/lang/ru_ru.json index 8618a5416..58b35e8a3 100644 --- a/src/main/resources/assets/superbwarfare/lang/ru_ru.json +++ b/src/main/resources/assets/superbwarfare/lang/ru_ru.json @@ -492,9 +492,9 @@ "config.superbwarfare.client.display.camera_rotate.des": "Немного трясёт экран при использовании оружия в руках", "config.superbwarfare.client.display.armor_plate_hud": "HUD бронепластины", "config.superbwarfare.client.display.armor_plate_hud.des": "Если включено, полоска прочности бронежилета надетого в слот нагрудника появится в нижнем левом углу", - "config.superbwarfare.client.vehicle": "Управление транспортом", - "config.superbwarfare.client.vehicle.invert_aircraft_control": "Инвертировать управление воздушным транспортом", - "config.superbwarfare.client.vehicle.left_click_reload.des": "Если включено, управление воздушным транспортом инвертировано", + "config.superbwarfare.client.control": "Управление транспортом", + "config.superbwarfare.client.control.invert_aircraft_control": "Инвертировать управление воздушным транспортом", + "config.superbwarfare.client.control.invert_aircraft_control.des": "Если включено, управление воздушным транспортом инвертировано", "config.superbwarfare.common.gameplay": "Настройки геймплея", "config.superbwarfare.common.gameplay.respawn_reload": "Перезарядка при возрождении", "config.superbwarfare.common.gameplay.respawn_reload.des": "Перезаряжает все оружие в инвентаре после возрождения автоматически", diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index 50d299327..532f7497b 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -627,9 +627,11 @@ "config.superbwarfare.client.display.weapon_hud_y_offset.des": "武器HUD位置的竖直方向偏移量", "config.superbwarfare.client.display.vehicle_info": "载具信息显示", "config.superbwarfare.client.display.vehicle_info.des": "是否在看向载具的时候,显示该载具的信息", - "config.superbwarfare.client.vehicle": "载具控制", - "config.superbwarfare.client.vehicle.invert_aircraft_control": "飞行器鼠标反转", - "config.superbwarfare.client.vehicle.left_click_reload.des": "开启飞行器鼠标反转", + "config.superbwarfare.client.control": "控制配置", + "config.superbwarfare.client.control.invert_aircraft_control": "飞行器鼠标反转", + "config.superbwarfare.client.control.invert_aircraft_control.des": "开启飞行器鼠标反转", + "config.superbwarfare.client.control.mouse_sensitivity": "鼠标灵敏度", + "config.superbwarfare.client.control.mouse_sensitivity.des": "调整持枪时的鼠标灵敏度", "config.superbwarfare.common.gameplay": "游戏内容配置", "config.superbwarfare.common.gameplay.respawn_reload": "重生换弹",