diff --git a/src/main/java/com/atsuishio/superbwarfare/client/AnimationHelper.java b/src/main/java/com/atsuishio/superbwarfare/client/AnimationHelper.java index 1874b0b1f..96b2cedfd 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/AnimationHelper.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/AnimationHelper.java @@ -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); diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/base/MobileVehicleEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/base/MobileVehicleEntity.java index 2ba6cce42..ce66bc40d 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/base/MobileVehicleEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/base/MobileVehicleEntity.java @@ -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))); }