优化a10自动回正和调整武器挂载点

This commit is contained in:
Atsuishio 2025-06-08 11:03:56 +08:00 committed by Light_Quanta
parent 81582c4e16
commit 8a03b1a10c
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
3 changed files with 373 additions and 368 deletions

View file

@ -221,8 +221,8 @@ public class AircraftOverlay implements LayeredDraw.Layer {
// 准星
if (pCross != null) {
poseStack.pushPose();
float x = (float) pCross.x + (zoomVehicle ? 6 : 2);
float y = (float) pCross.y + (zoomVehicle ? 15 : 5);
float x = (float) pCross.x + (zoomVehicle ? 8 * (float) (Minecraft.getInstance().options.fov().get() / 70) : 3);
float y = (float) pCross.y + (zoomVehicle ? 25 * (float) (Minecraft.getInstance().options.fov().get() / 70) : 5);
if (mc.options.getCameraType() == CameraType.FIRST_PERSON && !(mobileVehicle instanceof A10Entity a10Entity && a10Entity.getWeaponIndex(0) == 3)) {
RenderSystem.disableDepthTest();

View file

@ -540,7 +540,12 @@ public class A10Entity extends ContainerMobileVehicleEntity implements GeoEntity
}
if (!onGround()) {
this.setZRot(this.roll * 0.98f);
float speed = Mth.clamp(Mth.abs(roll) / 90, 0, 1);
if (this.roll > 0) {
setZRot(roll - Math.min(speed, roll));
} else if (this.roll < 0){
setZRot(roll + Math.min(speed, -roll));
}
}
this.setPropellerRot(this.getPropellerRot() + 30 * this.entityData.get(POWER));
@ -832,16 +837,16 @@ public class A10Entity extends ContainerMobileVehicleEntity implements GeoEntity
Vector4f worldPosition;
if (fireIndex == 0) {
worldPosition = transformPosition(transform, -6.63f, -0.55f, 1.83f);
worldPosition = transformPosition(transform, -3.9321875f, -1.38680625f, 0.12965f);
fireIndex = 1;
} else if (fireIndex == 1) {
worldPosition = transformPosition(transform, -5.28f, -1.76f, 1.87f);
worldPosition = transformPosition(transform, -1.56875f, -1.443f, 0.1272f);
fireIndex = 2;
} else if (fireIndex == 2) {
worldPosition = transformPosition(transform, 5.28f, -1.76f, 1.87f);
worldPosition = transformPosition(transform, 1.56875f, -1.443f, 0.1272f);
fireIndex = 3;
} else {
worldPosition = transformPosition(transform, 6.63f, -0.55f, 1.83f);
worldPosition = transformPosition(transform, 3.9321875f, -1.38680625f, 0.12965f);
fireIndex = 0;
}
@ -896,13 +901,13 @@ public class A10Entity extends ContainerMobileVehicleEntity implements GeoEntity
Vector4f worldPosition;
if (this.getEntityData().get(LOADED_MISSILE) == 4) {
worldPosition = transformPosition(transform, 1.56875f, -0.943f - 0.5f, 0.1272f);
worldPosition = transformPosition(transform, 5.28f, -1.76f, 1.87f);
} else if (this.getEntityData().get(LOADED_MISSILE) == 3) {
worldPosition = transformPosition(transform, -1.56875f, -0.943f - 0.5f, 0.1272f);
worldPosition = transformPosition(transform, -5.28f, -1.76f, 1.87f);
} else if (this.getEntityData().get(LOADED_MISSILE) == 2) {
worldPosition = transformPosition(transform, 3.9321875f, -0.88680625f - 0.5f, 0.12965f);
worldPosition = transformPosition(transform, 6.63f, -0.55f, 1.83f);
} else {
worldPosition = transformPosition(transform, -3.9321875f, -0.88680625f - 0.5f, 0.12965f);
worldPosition = transformPosition(transform, -6.63f, -0.55f, 1.83f);
}
if (locked) {

File diff suppressed because it is too large Load diff