Make cause known if origin can be used (#1838)

This commit is contained in:
stonar96 2021-11-25 18:33:43 +01:00 committed by GitHub
parent a0922cb467
commit f55802c176
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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