Cancel hit for all vanished entities, not only players (#12906)

This commit is contained in:
Gero
2025-08-03 17:17:41 +02:00
committed by GitHub
parent ed31825a8d
commit bf465e0029
@@ -190,15 +190,15 @@
return false;
} else {
Entity owner = this.getOwner();
+ // Paper start - Cancel hit for vanished players
+ if (owner instanceof net.minecraft.server.level.ServerPlayer && target instanceof net.minecraft.server.level.ServerPlayer) {
+ org.bukkit.entity.Player collided = (org.bukkit.entity.Player) target.getBukkitEntity();
+ // Paper start - Cancel hit for vanished entities
+ if (owner instanceof net.minecraft.server.level.ServerPlayer) {
+ org.bukkit.entity.Entity collided = target.getBukkitEntity();
+ org.bukkit.entity.Player shooter = (org.bukkit.entity.Player) owner.getBukkitEntity();
+ if (!shooter.canSee(collided)) {
+ return false;
+ }
+ }
+ // Paper end - Cancel hit for vanished players
+ // Paper end - Cancel hit for vanished entities
return owner == null || this.leftOwner || !owner.isPassengerOfSameVehicle(target);
}
}