From f55802c17615b21329ee0c8fafdfddb97d3dba24 Mon Sep 17 00:00:00 2001 From: stonar96 Date: Thu, 25 Nov 2021 18:33:43 +0100 Subject: [PATCH] Make cause known if origin can be used (#1838) --- .../sk89q/worldguard/bukkit/cause/Cause.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) 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 0c9e5136..6b020c70 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 @@ -21,6 +21,8 @@ import com.google.common.base.Joiner; import com.google.common.collect.Sets; +import com.sk89q.worldguard.bukkit.BukkitWorldConfiguration; +import com.sk89q.worldguard.bukkit.WorldGuardPlugin; import com.sk89q.worldguard.bukkit.internal.WGMetadata; import io.papermc.lib.PaperLib; import org.bukkit.Bukkit; @@ -98,7 +100,25 @@ public boolean isIndirect() { */ public boolean isKnown() { Object object = getRootCause(); - return !(object == null || object instanceof TNTPrimed || object instanceof Vehicle); + + if (object == null) { + return false; + } + + if (object instanceof TNTPrimed || object instanceof Vehicle) { + if (!PaperLib.isPaper()) { + return false; + } + + Entity entity = (Entity) object; + BukkitWorldConfiguration config = WorldGuardPlugin.inst().getConfigManager().get(entity.getWorld().getName()); + + if (!config.usePaperEntityOrigin || entity.getOrigin() == null) { + return false; + } + } + + return true; } @Nullable