From 148a3bb937f679a902dd64b1fc21a222353510fb Mon Sep 17 00:00:00 2001 From: Light_Quanta Date: Sun, 12 May 2024 16:04:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=86=85=E8=81=94=E6=B3=B0=E7=91=9F=E6=9E=AA?= =?UTF-8?q?=E5=AD=90=E5=BC=B9=E5=91=BD=E4=B8=AD=E8=BF=87=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/TaserBulletProjectileEntity.java | 17 ++++++++++++-- ...tDangTouZhiWuJiZhongShiTiShiProcedure.java | 23 ------------------- 2 files changed, 15 insertions(+), 25 deletions(-) delete mode 100644 src/main/java/net/mcreator/target/procedures/TaserBulletDangTouZhiWuJiZhongShiTiShiProcedure.java 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(); - } -}