添加视角摇晃的配置项

This commit is contained in:
17146 2024-09-29 13:42:49 +08:00
parent d890a05b77
commit 11729e259a
5 changed files with 33 additions and 16 deletions

View file

@ -42,5 +42,13 @@ public class DisplayClothConfig {
.setTooltip(Component.translatable("config.superbwarfare.client.display.float_cross_hair.des"))
.build()
);
category.addEntry(entryBuilder
.startBooleanToggle(Component.translatable("config.superbwarfare.client.display.camera_rotate"), DisplayConfig.CAMERA_ROTATE.get())
.setDefaultValue(true)
.setSaveConsumer(DisplayConfig.CAMERA_ROTATE::set)
.setTooltip(Component.translatable("config.superbwarfare.client.display.camera_rotate.des"))
.build()
);
}
}

View file

@ -8,6 +8,7 @@ public class DisplayConfig {
public static ForgeConfigSpec.BooleanValue GLOBAL_INDICATION;
public static ForgeConfigSpec.BooleanValue AMMO_HUD;
public static ForgeConfigSpec.BooleanValue FLOAT_CROSS_HAIR;
public static ForgeConfigSpec.BooleanValue CAMERA_ROTATE;
public static void init(ForgeConfigSpec.Builder builder) {
builder.push("display");
@ -24,6 +25,9 @@ public class DisplayConfig {
builder.comment("Set TRUE to enable float cross hair");
FLOAT_CROSS_HAIR = builder.define("float_cross_hair", true);
builder.comment("Set TRUE to enable camera rotate when holding a gun");
CAMERA_ROTATE = builder.define("camera_rotate", true);
builder.pop();
}
}

View file

@ -1,6 +1,7 @@
package net.mcreator.superbwarfare.event;
import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.config.client.DisplayConfig;
import net.mcreator.superbwarfare.entity.DroneEntity;
import net.mcreator.superbwarfare.entity.ICannonEntity;
import net.mcreator.superbwarfare.init.ModItems;
@ -536,8 +537,7 @@ public class ClientEventHandler {
angle = Math.atan(0.6 / (lookDistance + 2.9)) * Mth.RAD_TO_DEG;
}
// player.displayClientMessage(Component.nullToEmpty(Component.literal(new DecimalFormat("##").format(lookDistance)) + " " + new DecimalFormat("##.#").format(angle)), true);
if (DisplayConfig.CAMERA_ROTATE.get()) {
if (player.getMainHandItem().is(ModTags.Items.GUN) || (player.getVehicle() != null && (player.getVehicle() instanceof ICannonEntity))) {
event.setPitch((float) (pitch + cameraRot[0] + 0.2 * turnRot[0] + 3 * velocityY));
if (Minecraft.getInstance().options.getCameraType() == CameraType.THIRD_PERSON_BACK) {
@ -549,6 +549,7 @@ public class ClientEventHandler {
event.setRoll((float) (roll + cameraRot[2] + 0.35 * turnRot[2]));
}
}
}
private static void handleBowPullAnimation(LivingEntity entity) {
float times = 4 * Minecraft.getInstance().getDeltaFrameTime();

View file

@ -361,5 +361,7 @@
"config.superbwarfare.client.display.ammo_hud": "枪械信息",
"config.superbwarfare.client.display.ammo_hud.des": "开启时,在屏幕右下角显示枪械和弹药信息",
"config.superbwarfare.client.display.float_cross_hair": "浮动准星",
"config.superbwarfare.client.display.float_cross_hair.des": "开启时,准星会跟随视角进行一定程度的移动"
"config.superbwarfare.client.display.float_cross_hair.des": "开启时,准星会跟随视角进行一定程度的移动",
"config.superbwarfare.client.display.camera_rotate": "视角摇晃",
"config.superbwarfare.client.display.camera_rotate.des": "手持枪械时,视角会出现轻微的摇晃"
}

View file

@ -360,5 +360,7 @@
"config.superbwarfare.client.display.ammo_hud": "枪械信息",
"config.superbwarfare.client.display.ammo_hud.des": "开启时,在屏幕右下角显示枪械和弹药信息",
"config.superbwarfare.client.display.float_cross_hair": "浮动准星",
"config.superbwarfare.client.display.float_cross_hair.des": "开启时,准星会跟随视角进行一定程度的移动"
"config.superbwarfare.client.display.float_cross_hair.des": "开启时,准星会跟随视角进行一定程度的移动",
"config.superbwarfare.client.display.camera_rotate": "视角摇晃",
"config.superbwarfare.client.display.camera_rotate.des": "手持枪械时,视角会出现轻微的摇晃"
}