From 4ae291db8457ba803d8e225d8eb342960daebff4 Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Thu, 12 Sep 2024 11:07:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=81=AB=E7=82=AE=E7=B2=92?= =?UTF-8?q?=E5=AD=90=E6=95=88=E6=9E=9C=E5=92=8C=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/screens/CannonHudOverlay.java | 5 +- .../superbwarfare/entity/Mk42Entity.java | 51 ++------ .../superbwarfare/entity/Mle1934Entity.java | 117 ++++++++++-------- .../projectile/JavelinMissileEntity.java | 9 +- 4 files changed, 86 insertions(+), 96 deletions(-) diff --git a/src/main/java/net/mcreator/superbwarfare/client/screens/CannonHudOverlay.java b/src/main/java/net/mcreator/superbwarfare/client/screens/CannonHudOverlay.java index f2415087d..a5a667eac 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/screens/CannonHudOverlay.java +++ b/src/main/java/net/mcreator/superbwarfare/client/screens/CannonHudOverlay.java @@ -12,6 +12,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.ClipContext; import net.minecraft.world.phys.Vec3; @@ -68,9 +69,9 @@ public class CannonHudOverlay { double entity_range = 0; - if (lookingEntity != null) { + if (lookingEntity instanceof LivingEntity living) { lookAtEntity = true; - entity_range = player.distanceTo(lookingEntity); + entity_range = player.distanceTo(living); } if (lookAtEntity) { event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("des.superbwarfare.drone.range") diff --git a/src/main/java/net/mcreator/superbwarfare/entity/Mk42Entity.java b/src/main/java/net/mcreator/superbwarfare/entity/Mk42Entity.java index 20562e3d1..81afeb7ef 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/Mk42Entity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/Mk42Entity.java @@ -122,7 +122,7 @@ public class Mk42Entity extends PathfinderMob implements GeoEntity, ICannonEntit if (amount < 32) { return false; } - return super.hurt(source, amount - 32); + return super.hurt(source, 0.3f * amount); } @Override @@ -216,7 +216,7 @@ public class Mk42Entity extends PathfinderMob implements GeoEntity, ICannonEntit int durability = 0; if (stack.is(ModItems.HE_5_INCHES.get())) { - hitDamage = 100; + hitDamage = 600; explosionRadius = 10; explosionDamage = 200; fireProbability = 0.18F; @@ -224,7 +224,7 @@ public class Mk42Entity extends PathfinderMob implements GeoEntity, ICannonEntit } if (stack.is(ModItems.AP_5_INCHES.get())) { - hitDamage = 450; + hitDamage = 850; explosionRadius = 3; explosionDamage = 250; fireProbability = 0; @@ -257,7 +257,7 @@ public class Mk42Entity extends PathfinderMob implements GeoEntity, ICannonEntit this.getX() + 5 * this.getLookAngle().x, this.getY(), this.getZ() + 5 * this.getLookAngle().z, - 200, 5, 0.02, 5, 0.005); + 100, 7, 0.02, 7, 0.005); double x = this.getX() + 9 * this.getLookAngle().x; double y = this.getEyeY() + 9 * this.getLookAngle().y; @@ -267,42 +267,15 @@ public class Mk42Entity extends PathfinderMob implements GeoEntity, ICannonEntit server.sendParticles(ParticleTypes.CLOUD, x, y, z, 10, 0.4, 0.4, 0.4, 0.0075); + int count = 6; - server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, - this.getX() + 9.5 * this.getLookAngle().x, - this.getEyeY() + 9.5 * this.getLookAngle().y, - this.getZ() + 9.5 * this.getLookAngle().z, - 5, 0.15, 0.15, 0.15, 0.0075); - - server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, - this.getX() + 10 * this.getLookAngle().x, - this.getEyeY() + 10 * this.getLookAngle().y, - this.getZ() + 10 * this.getLookAngle().z, - 4, 0.15, 0.15, 0.15, 0.0075); - - server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, - this.getX() + 11.5 * this.getLookAngle().x, - this.getEyeY() + 11.5 * this.getLookAngle().y, - this.getZ() + 11.5 * this.getLookAngle().z, - 3, 0.15, 0.15, 0.15, 0.0075); - - server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, - this.getX() + 12 * this.getLookAngle().x, - this.getEyeY() + 12 * this.getLookAngle().y, - this.getZ() + 12 * this.getLookAngle().z, - 2, 0.15, 0.15, 0.15, 0.0075); - - server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, - this.getX() + 12.5 * this.getLookAngle().x, - this.getEyeY() + 12.5 * this.getLookAngle().y, - this.getZ() + 12.5 * this.getLookAngle().z, - 2, 0.15, 0.15, 0.15, 0.0075); - - server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, - this.getX() + 13 * this.getLookAngle().x, - this.getEyeY() + 13 * this.getLookAngle().y, - this.getZ() + 13 * this.getLookAngle().z, - 1, 0.15, 0.15, 0.15, 0.0075); + for (float i = 9.5f; i < 16; i += .5f) { + server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, + this.getX() + i * this.getLookAngle().x, + this.getEyeY() + i * this.getLookAngle().y, + this.getZ() + i * this.getLookAngle().z, + Mth.clamp(count--,1,5), 0.15, 0.15, 0.15, 0.0025); + } } } diff --git a/src/main/java/net/mcreator/superbwarfare/entity/Mle1934Entity.java b/src/main/java/net/mcreator/superbwarfare/entity/Mle1934Entity.java index 54641ccf5..27cf2dda5 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/Mle1934Entity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/Mle1934Entity.java @@ -124,7 +124,7 @@ public class Mle1934Entity extends PathfinderMob implements GeoEntity, ICannonEn if (amount < 34) { return false; } - return super.hurt(source, amount - 34); + return super.hurt(source, 0.3f * amount); } @Override @@ -213,7 +213,7 @@ public class Mle1934Entity extends PathfinderMob implements GeoEntity, ICannonEn boolean salvoShoot = false; if (stack.is(ModItems.HE_5_INCHES.get())) { - hitDamage = 130; + hitDamage = 700; explosionRadius = 13; explosionDamage = 250; fireProbability = 0.24F; @@ -222,7 +222,7 @@ public class Mle1934Entity extends PathfinderMob implements GeoEntity, ICannonEn } if (stack.is(ModItems.AP_5_INCHES.get())) { - hitDamage = 550; + hitDamage = 1000; explosionRadius = 3.8f; explosionDamage = 300; fireProbability = 0; @@ -241,7 +241,7 @@ public class Mle1934Entity extends PathfinderMob implements GeoEntity, ICannonEn } yRot = yRot + 90 % 360; - var leftPos = new Vector3d(7.2, 0, -0.45); + var leftPos = new Vector3d(0, 0, -0.45); leftPos.rotateZ(-this.getXRot() * Mth.DEG_TO_RAD); leftPos.rotateY(-yRot * Mth.DEG_TO_RAD); @@ -255,9 +255,40 @@ public class Mle1934Entity extends PathfinderMob implements GeoEntity, ICannonEn 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); + leftPosP1.rotateZ(-this.getXRot() * Mth.DEG_TO_RAD); + leftPosP1.rotateY(-yRot * Mth.DEG_TO_RAD); + + server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, + this.getX() + leftPosP1.x, + this.getEyeY() - 0.2 + leftPosP1.y, + this.getZ() + leftPosP1.z, + 10, 0.4, 0.4, 0.4, 0.0075); + + server.sendParticles(ParticleTypes.CLOUD, + this.getX() + leftPosP1.x, + this.getEyeY() - 0.2 + leftPosP1.y, + this.getZ() + leftPosP1.z, + 10, 0.4, 0.4, 0.4, 0.0075); + + int count = 5; + + for (float i = 9.5f; i < 14; i += .5f) { + + var leftPosP = new Vector3d(i, 0, -0.45); + leftPosP.rotateZ(-this.getXRot() * Mth.DEG_TO_RAD); + leftPosP.rotateY(-yRot * Mth.DEG_TO_RAD); + + server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, + this.getX() + leftPosP.x, + this.getEyeY() - 0.2 + leftPosP.y, + this.getZ() + leftPosP.z, + Mth.clamp(count--,1,5), 0.1, 0.1, 0.1, 0.002); + } + //右炮管 if (salvoShoot) { - var rightPos = new Vector3d(7.2, 0, 0.45); + var rightPos = new Vector3d(0, 0, 0.45); rightPos.rotateZ(-this.getXRot() * Mth.DEG_TO_RAD); rightPos.rotateY(-yRot * Mth.DEG_TO_RAD); @@ -270,6 +301,37 @@ public class Mle1934Entity extends PathfinderMob implements GeoEntity, ICannonEn 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); + rightPosP1.rotateZ(-this.getXRot() * Mth.DEG_TO_RAD); + rightPosP1.rotateY(-yRot * Mth.DEG_TO_RAD); + + server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, + this.getX() + rightPosP1.x, + this.getEyeY() - 0.2 + rightPosP1.y, + this.getZ() + rightPosP1.z, + 10, 0.4, 0.4, 0.4, 0.0075); + + server.sendParticles(ParticleTypes.CLOUD, + this.getX() + rightPosP1.x, + this.getEyeY() - 0.2 + rightPosP1.y, + this.getZ() + rightPosP1.z, + 10, 0.4, 0.4, 0.4, 0.0075); + + int countR = 5; + + for (float i = 9.5f; i < 14; i += .5f) { + + var rightPosP = new Vector3d(i, 0, 0.45); + rightPosP.rotateZ(-this.getXRot() * Mth.DEG_TO_RAD); + rightPosP.rotateY(-yRot * Mth.DEG_TO_RAD); + + server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, + this.getX() + rightPosP.x, + this.getEyeY() - 0.2 + rightPosP.y, + this.getZ() + rightPosP.z, + Mth.clamp(countR--,1,5), 0.1, 0.1, 0.1, 0.002); + } + player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> capability.recoilHorizon = 1); } else { player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> capability.recoilHorizon = -1); @@ -289,51 +351,8 @@ public class Mle1934Entity extends PathfinderMob implements GeoEntity, ICannonEn this.getX() + 5 * this.getLookAngle().x, this.getY(), this.getZ() + 5 * this.getLookAngle().z, - 200, 5, 0.02, 5, 0.005); + 100, 7, 0.02, 7, 0.005); - double x = this.getX() + 9 * this.getLookAngle().x; - double y = this.getEyeY() + 9 * this.getLookAngle().y; - double z = this.getZ() + 9 * this.getLookAngle().z; - - server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, x, y, z, 10, 0.4, 0.4, 0.4, 0.0075); - - server.sendParticles(ParticleTypes.CLOUD, x, y, z, 10, 0.4, 0.4, 0.4, 0.0075); - - server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, - this.getX() + 9.5 * this.getLookAngle().x, - this.getEyeY() + 9.5 * this.getLookAngle().y, - this.getZ() + 9.5 * this.getLookAngle().z, - 5, 0.15, 0.15, 0.15, 0.0075); - - server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, - this.getX() + 10 * this.getLookAngle().x, - this.getEyeY() + 10 * this.getLookAngle().y, - this.getZ() + 10 * this.getLookAngle().z, - 4, 0.15, 0.15, 0.15, 0.0075); - - server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, - this.getX() + 11.5 * this.getLookAngle().x, - this.getEyeY() + 11.5 * this.getLookAngle().y, - this.getZ() + 11.5 * this.getLookAngle().z, - 3, 0.15, 0.15, 0.15, 0.0075); - - server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, - this.getX() + 12 * this.getLookAngle().x, - this.getEyeY() + 12 * this.getLookAngle().y, - this.getZ() + 12 * this.getLookAngle().z, - 2, 0.15, 0.15, 0.15, 0.0075); - - server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, - this.getX() + 12.5 * this.getLookAngle().x, - this.getEyeY() + 12.5 * this.getLookAngle().y, - this.getZ() + 12.5 * this.getLookAngle().z, - 2, 0.15, 0.15, 0.15, 0.0075); - - server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, - this.getX() + 13 * this.getLookAngle().x, - this.getEyeY() + 13 * this.getLookAngle().y, - this.getZ() + 13 * this.getLookAngle().z, - 1, 0.15, 0.15, 0.15, 0.0075); } } diff --git a/src/main/java/net/mcreator/superbwarfare/entity/projectile/JavelinMissileEntity.java b/src/main/java/net/mcreator/superbwarfare/entity/projectile/JavelinMissileEntity.java index b22d45553..46edf6032 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/projectile/JavelinMissileEntity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/projectile/JavelinMissileEntity.java @@ -119,14 +119,14 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo } if (entity instanceof Monster monster) { - monster.hurt(ModDamageTypes.causeCannonFireDamage(this.level().registryAccess(), this, this.getOwner()), this.damage * damageMultiplier); + monster.hurt(ModDamageTypes.causeCannonFireDamage(this.level().registryAccess(), this, this.getOwner()), 2 * this.damage * damageMultiplier); } else { - entity.hurt(ModDamageTypes.causeCannonFireDamage(this.level().registryAccess(), this, this.getOwner()), this.damage); + entity.hurt(ModDamageTypes.causeCannonFireDamage(this.level().registryAccess(), this, this.getOwner()), 2 * this.damage); } if (this.tickCount > 1) { if (this.level() instanceof ServerLevel) { - ProjectileTool.causeCustomExplode(this, entity, this.damage, 8.0f, this.monsterMultiplier); + ProjectileTool.causeCustomExplode(this, entity, 1.25f *this.damage, 8.0f, this.monsterMultiplier); } } @@ -187,9 +187,6 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo } else { this.look(EntityAnchorArgument.Anchor.EYES, new Vec3(entity.getX(), entity.getEyeY() + (entity instanceof EnderDragon ? -3 : 1), entity.getZ())); } - if (this.position().distanceTo(entity.position()) < 4) { - ProjectileTool.causeCustomExplode(this, entity, this.damage, 8.0f, this.monsterMultiplier); - } } }