From 1710c076239a0820bcc9d2a30cc76b29b269fad5 Mon Sep 17 00:00:00 2001 From: wizjany Date: Wed, 29 Jul 2020 23:39:04 -0400 Subject: [PATCH] Check non-waterloggable waterlogged blocks for liquid flow. Fixes #1616. --- .../bukkit/listener/WorldGuardBlockListener.java | 7 ++++--- .../java/com/sk89q/worldguard/bukkit/util/Materials.java | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/WorldGuardBlockListener.java b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/WorldGuardBlockListener.java index 7bfbda24..fa52c994 100644 --- a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/WorldGuardBlockListener.java +++ b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/WorldGuardBlockListener.java @@ -132,9 +132,10 @@ public void onBlockFromTo(BlockFromToEvent event) { Block blockFrom = event.getBlock(); Block blockTo = event.getToBlock(); - boolean isWater = blockFrom.getType() == Material.WATER; - boolean isLava = blockFrom.getType() == Material.LAVA; - boolean isAir = blockFrom.getType() == Material.AIR; + Material fromType = blockFrom.getType(); + boolean isWater = Materials.isWater(fromType); + boolean isLava = fromType == Material.LAVA; + boolean isAir = fromType == Material.AIR; ConfigurationManager cfg = WorldGuard.getInstance().getPlatform().getGlobalStateManager(); WorldConfiguration wcfg = getWorldConfig(event.getBlock().getWorld()); diff --git a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/util/Materials.java b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/util/Materials.java index a0df9414..5bfc0279 100644 --- a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/util/Materials.java +++ b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/util/Materials.java @@ -962,7 +962,8 @@ public static boolean isLiquid(Material material) { * @return true if a water block */ public static boolean isWater(Material material) { - return material == Material.WATER || material == Material.BUBBLE_COLUMN; + return material == Material.WATER || material == Material.BUBBLE_COLUMN + || material == Material.KELP_PLANT || material == Material.SEAGRASS || material == Material.TALL_SEAGRASS; } /**