diff --git a/src/main/java/net/mcreator/target/entity/TaserBulletProjectileEntity.java b/src/main/java/net/mcreator/target/entity/TaserBulletProjectileEntity.java index c42c37f9a..1033946d5 100644 --- a/src/main/java/net/mcreator/target/entity/TaserBulletProjectileEntity.java +++ b/src/main/java/net/mcreator/target/entity/TaserBulletProjectileEntity.java @@ -3,17 +3,20 @@ package net.mcreator.target.entity; import net.mcreator.target.headshot.BoundingBoxManager; import net.mcreator.target.headshot.IHeadshotBox; import net.mcreator.target.init.TargetModEntities; +import net.mcreator.target.init.TargetModMobEffects; import net.mcreator.target.network.TargetModVariables; -import net.mcreator.target.procedures.TaserBulletDangTouZhiWuJiZhongShiTiShiProcedure; import net.minecraft.commands.CommandSource; import net.minecraft.commands.CommandSourceStack; +import net.minecraft.nbt.CompoundTag; import net.minecraft.network.protocol.Packet; import net.minecraft.network.protocol.game.ClientGamePacketListener; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; +import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.projectile.AbstractArrow; import net.minecraft.world.entity.projectile.ItemSupplier; import net.minecraft.world.item.ItemStack; @@ -125,7 +128,17 @@ public class TaserBulletProjectileEntity extends AbstractArrow implements ItemSu } } super.onHitEntity(result); - TaserBulletDangTouZhiWuJiZhongShiTiShiProcedure.execute(result.getEntity(), this, this.getOwner()); + + if (this.getOwner() instanceof LivingEntity source) { + CompoundTag tag = source.getMainHandItem().getOrCreateTag(); + tag.putDouble("hitcount", tag.getDouble("hitcount") + 1); + } + + if (entity instanceof Player player && !player.isCreative()) { + if (!player.level().isClientSide()) + player.addEffect(new MobEffectInstance(TargetModMobEffects.SHOCK.get(), 100, 0)); + } + this.discard(); } diff --git a/src/main/java/net/mcreator/target/procedures/TaserBulletDangTouZhiWuJiZhongShiTiShiProcedure.java b/src/main/java/net/mcreator/target/procedures/TaserBulletDangTouZhiWuJiZhongShiTiShiProcedure.java deleted file mode 100644 index deadbdacb..000000000 --- a/src/main/java/net/mcreator/target/procedures/TaserBulletDangTouZhiWuJiZhongShiTiShiProcedure.java +++ /dev/null @@ -1,23 +0,0 @@ -package net.mcreator.target.procedures; - -import net.mcreator.target.init.TargetModMobEffects; -import net.minecraft.world.effect.MobEffectInstance; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; - -public class TaserBulletDangTouZhiWuJiZhongShiTiShiProcedure { - public static void execute(Entity entity, Entity immediatesourceentity, Entity sourceentity) { - if (entity == null || immediatesourceentity == null || sourceentity == null) - return; - (sourceentity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().putDouble("hitcount", - ((sourceentity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().getDouble("hitcount") + 1)); - if (entity instanceof Player player && !player.isCreative()) { - if (!player.level().isClientSide()) - player.addEffect(new MobEffectInstance(TargetModMobEffects.SHOCK.get(), 100, 0)); - } - if (!immediatesourceentity.level().isClientSide()) - immediatesourceentity.discard(); - } -}