diff --git a/src/main/java/net/mcreator/target/entity/BocekArrowEntity.java b/src/main/java/net/mcreator/target/entity/BocekArrowEntity.java index f3378d553..42c7cfaaa 100644 --- a/src/main/java/net/mcreator/target/entity/BocekArrowEntity.java +++ b/src/main/java/net/mcreator/target/entity/BocekArrowEntity.java @@ -136,9 +136,9 @@ public class BocekArrowEntity extends AbstractArrow implements ItemSupplier { boolean hurt; if (headshot) { - hurt = entity.hurt(TargetModDamageTypes.causeArrowInBrainDamage(this.level().registryAccess(), this.getOwner()), (float) i * 2); + hurt = entity.hurt(TargetModDamageTypes.causeArrowInBrainDamage(this.level().registryAccess(), this, this.getOwner()), (float) i * 2); } else { - hurt = entity.hurt(TargetModDamageTypes.causeArrowInKneeDamage(this.level().registryAccess(), this.getOwner()), (float) i); + hurt = entity.hurt(TargetModDamageTypes.causeArrowInKneeDamage(this.level().registryAccess(), this, this.getOwner()), (float) i); } if (!hurt) { diff --git a/src/main/java/net/mcreator/target/entity/GunGrenadeEntity.java b/src/main/java/net/mcreator/target/entity/GunGrenadeEntity.java index 5cb48552d..33e853efc 100644 --- a/src/main/java/net/mcreator/target/entity/GunGrenadeEntity.java +++ b/src/main/java/net/mcreator/target/entity/GunGrenadeEntity.java @@ -120,9 +120,9 @@ public class GunGrenadeEntity extends ThrowableItemProjectile { } if (headshot) { - entity.hurt(TargetModDamageTypes.causeGunFireHeadshotDamage(this.level().registryAccess(), this.getOwner()), this.damage * 2f); + entity.hurt(TargetModDamageTypes.causeGunFireHeadshotDamage(this.level().registryAccess(), this, this.getOwner()), this.damage * 2f); } else { - entity.hurt(TargetModDamageTypes.causeGunFireDamage(this.level().registryAccess(), this.getOwner()), this.damage); + entity.hurt(TargetModDamageTypes.causeGunFireDamage(this.level().registryAccess(), this, this.getOwner()), this.damage); } this.discard(); diff --git a/src/main/java/net/mcreator/target/entity/ProjectileEntity.java b/src/main/java/net/mcreator/target/entity/ProjectileEntity.java index 05e67b4c7..e5a7eeb7e 100644 --- a/src/main/java/net/mcreator/target/entity/ProjectileEntity.java +++ b/src/main/java/net/mcreator/target/entity/ProjectileEntity.java @@ -358,7 +358,7 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa TargetMod.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> player), new ClientIndicatorMessage(1, 5)); } - entity.hurt(TargetModDamageTypes.causeGunFireHeadshotDamage(this.level().registryAccess(), this.shooter), this.damage * this.headShot); + entity.hurt(TargetModDamageTypes.causeGunFireHeadshotDamage(this.level().registryAccess(), this, this.shooter), this.damage * this.headShot); } else { if (!this.shooter.level().isClientSide() && this.shooter instanceof ServerPlayer player) { var holder = Holder.direct(TargetModSounds.INDICATION.get()); @@ -366,7 +366,7 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa TargetMod.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> player), new ClientIndicatorMessage(0, 5)); } - entity.hurt(TargetModDamageTypes.causeGunFireDamage(this.level().registryAccess(), this.shooter), this.damage); + entity.hurt(TargetModDamageTypes.causeGunFireDamage(this.level().registryAccess(), this, this.shooter), this.damage); } this.discard(); } diff --git a/src/main/java/net/mcreator/target/entity/RpgRocketEntity.java b/src/main/java/net/mcreator/target/entity/RpgRocketEntity.java index 29fe71d34..7b5f729c0 100644 --- a/src/main/java/net/mcreator/target/entity/RpgRocketEntity.java +++ b/src/main/java/net/mcreator/target/entity/RpgRocketEntity.java @@ -119,9 +119,9 @@ public class RpgRocketEntity extends ThrowableItemProjectile { } if (headshot) { - entity.hurt(TargetModDamageTypes.causeGunFireHeadshotDamage(this.level().registryAccess(), this.getOwner()), this.damage * 5f); + entity.hurt(TargetModDamageTypes.causeGunFireHeadshotDamage(this.level().registryAccess(), this, this.getOwner()), this.damage * 5f); } else { - entity.hurt(TargetModDamageTypes.causeGunFireDamage(this.level().registryAccess(), this.getOwner()), this.damage); + entity.hurt(TargetModDamageTypes.causeGunFireDamage(this.level().registryAccess(), this, this.getOwner()), this.damage); } this.discard(); diff --git a/src/main/java/net/mcreator/target/entity/TaserBulletProjectileEntity.java b/src/main/java/net/mcreator/target/entity/TaserBulletProjectileEntity.java index abb5c50fc..f67aca39d 100644 --- a/src/main/java/net/mcreator/target/entity/TaserBulletProjectileEntity.java +++ b/src/main/java/net/mcreator/target/entity/TaserBulletProjectileEntity.java @@ -113,9 +113,9 @@ public class TaserBulletProjectileEntity extends ThrowableItemProjectile { } if (headshot) { - entity.hurt(TargetModDamageTypes.causeGunFireHeadshotDamage(this.level().registryAccess(), this.getOwner()), this.damage * 1.5f); + entity.hurt(TargetModDamageTypes.causeGunFireHeadshotDamage(this.level().registryAccess(), this, this.getOwner()), this.damage * 1.5f); } else { - entity.hurt(TargetModDamageTypes.causeGunFireDamage(this.level().registryAccess(), this.getOwner()), this.damage); + entity.hurt(TargetModDamageTypes.causeGunFireDamage(this.level().registryAccess(), this, this.getOwner()), this.damage); } this.discard(); diff --git a/src/main/java/net/mcreator/target/event/LivingEventHandler.java b/src/main/java/net/mcreator/target/event/LivingEventHandler.java index 8eae0811e..4a1c4be0a 100644 --- a/src/main/java/net/mcreator/target/event/LivingEventHandler.java +++ b/src/main/java/net/mcreator/target/event/LivingEventHandler.java @@ -215,7 +215,7 @@ public class LivingEventHandler { ResourceKey damageTypeResourceKey = source.typeHolder().unwrapKey().isPresent() ? source.typeHolder().unwrapKey().get() : DamageTypes.GENERIC; ServerPlayer attacker = null; - if (source.getDirectEntity() instanceof ServerPlayer player) { + if (source.getEntity() instanceof ServerPlayer player) { attacker = player; } if (source.getDirectEntity() instanceof Projectile projectile && projectile.getOwner() instanceof ServerPlayer player) { diff --git a/src/main/java/net/mcreator/target/init/TargetModDamageTypes.java b/src/main/java/net/mcreator/target/init/TargetModDamageTypes.java index 0195ac7f7..d96a797bb 100644 --- a/src/main/java/net/mcreator/target/init/TargetModDamageTypes.java +++ b/src/main/java/net/mcreator/target/init/TargetModDamageTypes.java @@ -23,21 +23,20 @@ public class TargetModDamageTypes { public static final ResourceKey MINE = ResourceKey.create(Registries.DAMAGE_TYPE, new ResourceLocation(TargetMod.MODID, "mine")); public static final ResourceKey BEAST = ResourceKey.create(Registries.DAMAGE_TYPE, new ResourceLocation(TargetMod.MODID, "beast")); - - public static DamageSource causeGunFireDamage(RegistryAccess registryAccess, @Nullable Entity entity) { - return new DamageMessages(registryAccess.registry(Registries.DAMAGE_TYPE).get().getHolderOrThrow(GUN_FIRE), entity); + public static DamageSource causeGunFireDamage(RegistryAccess registryAccess, @Nullable Entity directEntity, @Nullable Entity attacker) { + return new DamageMessages(registryAccess.registry(Registries.DAMAGE_TYPE).get().getHolderOrThrow(GUN_FIRE), directEntity, attacker); } - public static DamageSource causeGunFireHeadshotDamage(RegistryAccess registryAccess, @Nullable Entity entity) { - return new DamageMessages(registryAccess.registry(Registries.DAMAGE_TYPE).get().getHolderOrThrow(GUN_FIRE_HEADSHOT), entity); + public static DamageSource causeGunFireHeadshotDamage(RegistryAccess registryAccess, @Nullable Entity directEntity, @Nullable Entity attacker) { + return new DamageMessages(registryAccess.registry(Registries.DAMAGE_TYPE).get().getHolderOrThrow(GUN_FIRE_HEADSHOT), directEntity, attacker); } - public static DamageSource causeArrowInKneeDamage(RegistryAccess registryAccess, @Nullable Entity entity) { - return new DamageMessages(registryAccess.registry(Registries.DAMAGE_TYPE).get().getHolderOrThrow(ARROW_IN_KNEE), entity); + public static DamageSource causeArrowInKneeDamage(RegistryAccess registryAccess, @Nullable Entity directEntity, @Nullable Entity attacker) { + return new DamageMessages(registryAccess.registry(Registries.DAMAGE_TYPE).get().getHolderOrThrow(ARROW_IN_KNEE), directEntity, attacker); } - public static DamageSource causeArrowInBrainDamage(RegistryAccess registryAccess, @Nullable Entity entity) { - return new DamageMessages(registryAccess.registry(Registries.DAMAGE_TYPE).get().getHolderOrThrow(ARROW_IN_BRAIN), entity); + public static DamageSource causeArrowInBrainDamage(RegistryAccess registryAccess, @Nullable Entity directEntity, @Nullable Entity attacker) { + return new DamageMessages(registryAccess.registry(Registries.DAMAGE_TYPE).get().getHolderOrThrow(ARROW_IN_BRAIN), directEntity, attacker); } public static DamageSource causeMineDamage(RegistryAccess registryAccess, @Nullable Entity entity) { @@ -53,9 +52,13 @@ public class TargetModDamageTypes { super(typeReference, entity); } + public DamageMessages(Holder.Reference typeReference, Entity directEntity, Entity attacker) { + super(typeReference, directEntity, attacker); + } + @Override public Component getLocalizedDeathMessage(LivingEntity pLivingEntity) { - Entity entity = this.getDirectEntity() == null ? this.getEntity() : this.getDirectEntity(); + Entity entity = this.getEntity() == null ? this.getDirectEntity() : this.getEntity(); if (entity == null) { return Component.translatable("death.attack." + this.getMsgId(), pLivingEntity.getDisplayName()); } else if (entity instanceof LivingEntity living && living.getMainHandItem().hasCustomHoverName()) {