优化mle1934

This commit is contained in:
Atsuihsio 2024-12-07 17:29:11 +08:00
parent 7065fe6371
commit 67c71bba45
11 changed files with 3242 additions and 7245 deletions

View file

@ -25,7 +25,7 @@ public class Mk42DamageLayer extends GeoRenderLayer<Mk42Entity> {
@Override
public void render(PoseStack poseStack, Mk42Entity animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
RenderType glowRenderType = RenderType.entityTranslucent(LAYER);
float heal = Mth.clamp((0.3f * CannonConfig.MK42_HP.get() - animatable.getEntityData().get(Mk42Entity.HEALTH)) * 0.000007f * CannonConfig.MK42_HP.get(), 0.1f, 1);
float heal = Mth.clamp((0.3f * CannonConfig.MK42_HP.get() - animatable.getEntityData().get(Mk42Entity.HEALTH)) * 0.00001f * CannonConfig.MK42_HP.get(), 0f, 1);
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, heal);
}
}

View file

@ -25,7 +25,7 @@ public class Mle1934DamageLayer extends GeoRenderLayer<Mle1934Entity> {
@Override
public void render(PoseStack poseStack, Mle1934Entity animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
RenderType glowRenderType = RenderType.entityTranslucent(LAYER);
float heal = Mth.clamp((0.3f * CannonConfig.MLE1934_HP.get() - animatable.getEntityData().get(Mle1934Entity.HEALTH)) * 0.000007f * CannonConfig.MLE1934_HP.get(), 0.1f, 1);
float heal = Mth.clamp((0.3f * CannonConfig.MLE1934_HP.get() - animatable.getEntityData().get(Mle1934Entity.HEALTH)) * 0.00001f * CannonConfig.MLE1934_HP.get(), 0, 1);
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, heal);
}
}

View file

@ -30,10 +30,8 @@ public class Mle1934Model extends GeoModel<Mle1934Entity> {
if (distance < 32) {
return new ResourceLocation(ModUtils.MODID, "geo/mle1934.geo.json");
} else if (distance < 64){
} else{
return new ResourceLocation(ModUtils.MODID, "geo/mle1934_lod1.geo.json");
} else {
return new ResourceLocation(ModUtils.MODID, "geo/mle1934_lod2.geo.json");
}
}

View file

@ -67,7 +67,6 @@ public class Mk42Entity extends Entity implements GeoEntity, ICannonEntity {
public Mk42Entity(EntityType<Mk42Entity> type, Level world) {
super(type, world);
this.noCulling = true;
}
@Override

View file

@ -69,7 +69,6 @@ public class Mle1934Entity extends Entity implements GeoEntity, ICannonEntity {
public Mle1934Entity(EntityType<Mle1934Entity> type, Level world) {
super(type, world);
this.noCulling = true;
}
@Override
@ -117,6 +116,15 @@ public class Mle1934Entity extends Entity implements GeoEntity, ICannonEntity {
return NetworkHooks.getEntitySpawningPacket(this);
}
@Override
protected void positionRider(Entity pPassenger, MoveFunction pCallback) {
if (this.hasPassenger(pPassenger)) {
float f1 = (float) ((this.isRemoved() ? 0.009999999776482582 : this.getPassengersRidingOffset()) + pPassenger.getMyRidingOffset());
Vec3 vec3 = (new Vec3(1, 0.0, 0.0)).yRot(-this.getYRot() * 0.017453292F - 1.5707964F);
pCallback.accept(pPassenger, this.getX() + vec3.x, this.getY() + (double) f1, this.getZ() + vec3.z);
}
}
@Override
public double getPassengersRidingOffset() {
return super.getPassengersRidingOffset() - 0.075;
@ -334,7 +342,7 @@ public class Mle1934Entity extends Entity implements GeoEntity, ICannonEntity {
entityToSpawnLeft.shoot(this.getLookAngle().x, this.getLookAngle().y, this.getLookAngle().z, 15, 0.05f);
level.addFreshEntity(entityToSpawnLeft);
var leftPosP1 = new Vector3d(7, 0, -0.45);
var leftPosP1 = new Vector3d(8, 0, -0.45);
leftPosP1.rotateZ(-this.getXRot() * Mth.DEG_TO_RAD);
leftPosP1.rotateY(-yRot * Mth.DEG_TO_RAD);
@ -379,7 +387,7 @@ public class Mle1934Entity extends Entity implements GeoEntity, ICannonEntity {
entityToSpawnRight.shoot(this.getLookAngle().x, this.getLookAngle().y, this.getLookAngle().z, 15, 0.05f);
level.addFreshEntity(entityToSpawnRight);
var rightPosP1 = new Vector3d(7, 0, 0.45);
var rightPosP1 = new Vector3d(8, 0, 0.45);
rightPosP1.rotateZ(-this.getXRot() * Mth.DEG_TO_RAD);
rightPosP1.rotateY(-yRot * Mth.DEG_TO_RAD);

File diff suppressed because it is too large Load diff

View file

@ -17,7 +17,7 @@
"south": {"uv": [0, 8, 8, 16], "texture": "#4"},
"west": {"uv": [0, 8, 8, 16], "texture": "#4"},
"up": {"uv": [16, 8, 8, 0], "texture": "#4"},
"down": {"uv": [16, 0, 8, 8], "texture": "#4"}
"down": {"uv": [16, 8, 8, 16], "texture": "#4"}
}
}
]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1,009 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB