Check waterlogged blocks for water-flow flag.

Also remove some terribly outdated obsidian generator protection.

Fixes #1546.
This commit is contained in:
wizjany 2020-03-29 20:16:50 -04:00
parent 570b7f7b77
commit 1fcda13469

View File

@ -34,6 +34,7 @@
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.block.data.Waterlogged;
import org.bukkit.entity.Player;
import org.bukkit.entity.Snowman;
import org.bukkit.event.EventHandler;
@ -194,7 +195,7 @@ public void onBlockFromTo(BlockFromToEvent event) {
}
}
if (wcfg.highFreqFlags && isWater
if (wcfg.highFreqFlags && (isWater || blockFrom.getBlockData() instanceof Waterlogged)
&& WorldGuard.getInstance().getPlatform().getRegionContainer().createQuery().queryState(BukkitAdapter.adapt(blockFrom.getLocation()), (RegionAssociable) null, Flags.WATER_FLOW) == StateFlag.State.DENY) {
event.setCancelled(true);
return;
@ -205,13 +206,6 @@ public void onBlockFromTo(BlockFromToEvent event) {
event.setCancelled(true);
return;
}
if (wcfg.disableObsidianGenerators && (isAir || isLava)
&& (blockTo.getType() == Material.REDSTONE_WIRE
|| blockTo.getType() == Material.TRIPWIRE)) {
blockTo.setType(Material.AIR);
return;
}
}
/*