From 23efd5fec2f5c1ee27f23c669a0c497470c04336 Mon Sep 17 00:00:00 2001 From: wizjany Date: Wed, 15 Jul 2020 19:23:01 -0400 Subject: [PATCH] Fireworks are now projectiles. Only use paper-api for fallback. --- .../sk89q/worldguard/bukkit/cause/Cause.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/cause/Cause.java b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/cause/Cause.java index 062b6cb6..508a20e2 100644 --- a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/cause/Cause.java +++ b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/cause/Cause.java @@ -37,6 +37,7 @@ import org.bukkit.entity.Vehicle; import org.bukkit.metadata.Metadatable; import org.bukkit.projectiles.BlockProjectileSource; +import org.bukkit.projectiles.ProjectileSource; import javax.annotation.Nullable; import java.util.ArrayList; @@ -270,13 +271,15 @@ private void addAll(@Nullable Object... element) { if (o instanceof TNTPrimed) { addAll(((TNTPrimed) o).getSource()); } else if (o instanceof Projectile) { - addAll(((Projectile) o).getShooter()); - } else if (o instanceof Firework && PaperLib.isPaper()) { - UUID spawningUUID = ((Firework) o).getSpawningEntity(); - if (spawningUUID != null) { - Entity spawningEntity = Bukkit.getEntity(spawningUUID); - if (spawningEntity != null) { - addAll(spawningEntity); + ProjectileSource shooter = ((Projectile) o).getShooter(); + addAll(shooter); + if (shooter == null && o instanceof Firework && PaperLib.isPaper()) { + UUID spawningUUID = ((Firework) o).getSpawningEntity(); + if (spawningUUID != null) { + Entity spawningEntity = Bukkit.getEntity(spawningUUID); + if (spawningEntity != null) { + addAll(spawningEntity); + } } } } else if (o instanceof Vehicle) {