调整渲染,提高载具对生物的撞击伤害

This commit is contained in:
Atsuishio 2025-05-22 22:16:20 +08:00 committed by Light_Quanta
parent 357de63e25
commit c8b10d1255
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
2 changed files with 13 additions and 7 deletions

View file

@ -147,17 +147,18 @@ public class AnimationHelper {
int alpha = hasBlackPart ? a : (int) (0.12 * a);
VertexConsumer blackPart = buffer.getBuffer(RenderType.entityTranslucent(tex));
vertexRGB(blackPart, $$7, pose, 255, 0.0F, 0, 0, 1, r, g, b, alpha, size);
vertexRGB(blackPart, $$7, pose, 255, size, 0, 1, 1, r, g, b, alpha, size);
vertexRGB(blackPart, $$7, pose, 255, size, size, 1, 0, r, g, b, alpha, size);
vertexRGB(blackPart, $$7, pose, 255, 0.0F, size, 0, 0, r, g, b, alpha, size);
VertexConsumer $$9 = buffer.getBuffer(ModRenderTypes.MUZZLE_FLASH_TYPE.apply(tex));
vertexRGB($$9, $$7, pose, 255, 0.0F, 0, 0, 1, r, g, b, a, size);
vertexRGB($$9, $$7, pose, 255, size, 0, 1, 1, r, g, b, a, size);
vertexRGB($$9, $$7, pose, 255, size, size, 1, 0, r, g, b, a, size);
vertexRGB($$9, $$7, pose, 255, 0.0F, size, 0, 0, r, g, b, a, size);
VertexConsumer blackPart = buffer.getBuffer(RenderType.entityTranslucent(tex));
vertexRGB(blackPart, $$7, pose, 255, 0.0F, 0, 0, 1, r, g, b, alpha, size);
vertexRGB(blackPart, $$7, pose, 255, size, 0, 1, 1, r, g, b, alpha, size);
vertexRGB(blackPart, $$7, pose, 255, size, size, 1, 0, r, g, b, alpha, size);
vertexRGB(blackPart, $$7, pose, 255, 0.0F, size, 0, 0, r, g, b, alpha, size);
stack.popPose();
}
currentBuffer.getBuffer(renderType);

View file

@ -469,7 +469,7 @@ public abstract class MobileVehicleEntity extends EnergyVehicleEntity implements
var res = this.level().clip(new ClipContext(pos, pos.add(0, -maxLength, 0),
ClipContext.Block.COLLIDER, ClipContext.Fluid.NONE, this));
double targetY = 0;
double targetY;
BlockState state = level().getBlockState(BlockPos.containing(pos));
VoxelShape shape = state.getCollisionShape(level(), BlockPos.containing(pos));
@ -691,7 +691,12 @@ public abstract class MobileVehicleEntity extends EnergyVehicleEntity implements
this.level().playSound(null, this, ModSounds.VEHICLE_STRIKE.get(), this.getSoundSource(), 1, 1);
}
entity.hurt(ModDamageTypes.causeVehicleStrikeDamage(this.level().registryAccess(), this, this.getFirstPassenger() == null ? this : this.getFirstPassenger()), (float) (f1 * 2 * (Mth.abs(v) - 0.3) * (Mth.abs(v) - 0.3)));
if (entity instanceof LivingEntity) {
entity.hurt(ModDamageTypes.causeVehicleStrikeDamage(this.level().registryAccess(), this, this.getFirstPassenger() == null ? this : this.getFirstPassenger()), (float) (f1 * 5 * (Mth.abs(v) - 0.3) * (Mth.abs(v) - 0.3)));
} else {
entity.hurt(ModDamageTypes.causeVehicleStrikeDamage(this.level().registryAccess(), this, this.getFirstPassenger() == null ? this : this.getFirstPassenger()), (float) (f1 * 2 * (Mth.abs(v) - 0.3) * (Mth.abs(v) - 0.3)));
}
if (entity instanceof VehicleEntity) {
this.hurt(ModDamageTypes.causeVehicleStrikeDamage(this.level().registryAccess(), entity, entity.getFirstPassenger() == null ? entity : entity.getFirstPassenger()), (float) (f * (Mth.abs(v) - 0.3) * (Mth.abs(v) - 0.3)));
}