添加全局鼠标灵敏度配置

This commit is contained in:
17146 2025-06-30 14:52:14 +08:00 committed by Light_Quanta
parent 035017846d
commit 24a24e2243
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
12 changed files with 66 additions and 50 deletions

View file

@ -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);

View file

@ -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()
);
}
}

View file

@ -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()
);
}
}

View file

@ -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();

View file

@ -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();
}
}

View file

@ -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);
}
}

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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": "リスポーンリロード",

View file

@ -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": "Перезаряжает все оружие в инвентаре после возрождения автоматически",

View file

@ -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": "重生换弹",