From cc8bbcdadecf7b8ed8e154f77efa4bd7a6fdb94d Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Mon, 6 May 2024 17:18:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E6=B3=A2=E5=A1=9E?= =?UTF-8?q?=E5=85=8B=E6=95=A3=E5=B0=84=E6=A8=A1=E5=BC=8F=E4=BC=A4=E5=AE=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../target/init/TargetCustomModEntities.java | 2 +- .../target/procedures/BowlooseProcedure.java | 8 ++--- .../procedures/BulletFireNormalProcedure.java | 29 ++++++++++++------- 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/src/main/java/net/mcreator/target/init/TargetCustomModEntities.java b/src/main/java/net/mcreator/target/init/TargetCustomModEntities.java index e08ea51bd..68a1146e4 100644 --- a/src/main/java/net/mcreator/target/init/TargetCustomModEntities.java +++ b/src/main/java/net/mcreator/target/init/TargetCustomModEntities.java @@ -19,6 +19,6 @@ public class TargetCustomModEntities { public static final RegistryObject> PROJECTILE = ENTITY_TYPES.register("projectile", - () -> EntityType.Builder.of(ProjectileEntity::new, MobCategory.MISC).setTrackingRange(0).sized(0.5f, 0.5f).build("projectile")); + () -> EntityType.Builder.of(ProjectileEntity::new, MobCategory.MISC).sized(0.5f, 0.5f).build("projectile")); } diff --git a/src/main/java/net/mcreator/target/procedures/BowlooseProcedure.java b/src/main/java/net/mcreator/target/procedures/BowlooseProcedure.java index c4d198822..fd2108768 100644 --- a/src/main/java/net/mcreator/target/procedures/BowlooseProcedure.java +++ b/src/main/java/net/mcreator/target/procedures/BowlooseProcedure.java @@ -2,6 +2,7 @@ package net.mcreator.target.procedures; import net.mcreator.target.entity.BocekarrowEntity; import net.mcreator.target.entity.ProjectileEntity; +import net.mcreator.target.init.TargetModAttributes; import net.mcreator.target.init.TargetModEntities; import net.mcreator.target.init.TargetModItems; import net.mcreator.target.network.TargetModVariables; @@ -62,12 +63,7 @@ public class BowlooseProcedure { } } else { for (int index0 = 0; index0 < 10; index0++) { - if (!entity.level().isClientSide() && entity instanceof LivingEntity living) { - ProjectileEntity projectile = new ProjectileEntity(entity.level(), living); - projectile.setPos(living.getX(), living.getEyeY() - 0.1, living.getZ()); - projectile.shoot(living.getLookAngle().x, living.getLookAngle().y, living.getLookAngle().z, (float) (4 * power), 2); - entity.level().addFreshEntity(projectile); - } + BulletFireNormalProcedure.execute(entity); } if (!entity.level().isClientSide() && entity.getServer() != null) { diff --git a/src/main/java/net/mcreator/target/procedures/BulletFireNormalProcedure.java b/src/main/java/net/mcreator/target/procedures/BulletFireNormalProcedure.java index 99ea9cc16..28973bc7f 100644 --- a/src/main/java/net/mcreator/target/procedures/BulletFireNormalProcedure.java +++ b/src/main/java/net/mcreator/target/procedures/BulletFireNormalProcedure.java @@ -36,21 +36,30 @@ public class BulletFireNormalProcedure { if (!entity.level().isClientSide() && entity instanceof LivingEntity living) { float damage; + float headshot = (float) heldItem.getOrCreateTag().getDouble("headshot"); + float velocity = 4 * (float) heldItem.getOrCreateTag().getDouble("power"); + if (heldItem.getItem() == TargetModItems.BOCEK.get()) { - damage = (float) heldItem.getOrCreateTag().getDouble("speed") * (float) heldItem.getOrCreateTag().getDouble("damageadd"); + + damage = 0.2f * (float) heldItem.getOrCreateTag().getDouble("speed") * (float) heldItem.getOrCreateTag().getDouble("damageadd"); + + ProjectileEntity projectile = new ProjectileEntity(entity.level(), living, damage, headshot); + + projectile.setPos((living.getX() + (-0.5) * living.getLookAngle().x), (living.getEyeY() - 0.1 + (-0.5) * living.getLookAngle().y), (living.getZ() + (-0.5) * living.getLookAngle().z)); + projectile.shoot(living.getLookAngle().x, living.getLookAngle().y, living.getLookAngle().z, velocity, 2); + entity.level().addFreshEntity(projectile); + } else { damage = (float) (heldItem.getOrCreateTag().getDouble("damage") + heldItem.getOrCreateTag().getDouble("adddamage")) * (float) heldItem.getOrCreateTag().getDouble("damageadd"); + + ProjectileEntity projectile = new ProjectileEntity(entity.level(), living, damage, headshot); + + projectile.setPos((living.getX() + (-0.5) * living.getLookAngle().x), (living.getEyeY() - 0.1 + (-0.5) * living.getLookAngle().y), (living.getZ() + (-0.5) * living.getLookAngle().z)); + projectile.shoot(living.getLookAngle().x, living.getLookAngle().y, living.getLookAngle().z, (float) heldItem.getOrCreateTag().getDouble("velocity"), + (float) living.getAttribute(TargetModAttributes.SPREAD.get()).getBaseValue()); + entity.level().addFreshEntity(projectile); } - - float headshot = (float) heldItem.getOrCreateTag().getDouble("headshot"); - - ProjectileEntity projectile = new ProjectileEntity(entity.level(), living, damage, headshot); - - projectile.setPos((living.getX() + (-0.5) * living.getLookAngle().x), (living.getEyeY() - 0.1 + (-0.5) * living.getLookAngle().y), (living.getZ() + (-0.5) * living.getLookAngle().z)); - projectile.shoot(living.getLookAngle().x, living.getLookAngle().y, living.getLookAngle().z, (float) heldItem.getOrCreateTag().getDouble("velocity"), - (float) living.getAttribute(TargetModAttributes.SPREAD.get()).getBaseValue()); - entity.level().addFreshEntity(projectile); } } }