aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit/src
diff options
context:
space:
mode:
authorBuildTools <unconfigured@null.spigotmc.org>2025-12-20 18:54:58 -0500
committerKrakenied <46192742+Krakenied@users.noreply.github.com>2025-12-21 07:57:54 +0100
commit00497269fe7c404f9792f51ef4ecf6b20517b09c (patch)
tree5cd1749a7f0252d2f77be88f396bddf34264d1a9 /bukkit/src
parentcc3c6bc7ced3f2c8b8574e91cb7d2c39201c3919 (diff)
Use LivingEntity#getKiller value in mobkilling task typeHEADmaster
Still fallback to last damage event damager if null. It doesn't really fix https://github.com/LMBishop/Quests/issues/752, however possibly allows for Fire Aspect tracking of entities ignited within last 5 seconds (similarly to different built-in game mechanics).
Diffstat (limited to 'bukkit/src')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MobkillingTaskType.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MobkillingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MobkillingTaskType.java
index ab53e5a2..e38cc01f 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MobkillingTaskType.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MobkillingTaskType.java
@@ -63,8 +63,15 @@ public final class MobkillingTaskType extends BukkitTaskType {
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onEntityDeath(EntityDeathEvent event) {
LivingEntity entity = event.getEntity();
- EntityDamageEvent damageEvent = entity.getLastDamageCause();
- Player player = plugin.getVersionSpecificHandler().getDamager(damageEvent);
+ Player killer = entity.getKiller();
+ Player player;
+
+ if (killer != null) {
+ player = killer;
+ } else {
+ EntityDamageEvent damageEvent = entity.getLastDamageCause();
+ player = plugin.getVersionSpecificHandler().getDamager(damageEvent);
+ }
handle(player, entity, 1);
}