Archived
0

Fixed water flow

This commit is contained in:
David Panić
2019-01-07 21:20:22 +01:00
parent 89ac9cd907
commit 6b7f687c07

View File

@@ -13,6 +13,9 @@ import net.nemez.chatapi.click.Message;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.data.BlockData;
import org.bukkit.block.data.Waterlogged;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@@ -86,19 +89,26 @@ public class Misc implements Module, Listener {
} }
} }
private static final Material[] LIQUID_FLOW_EXCEPTIONS = {
Material.AIR,
Material.CAVE_AIR,
Material.VOID_AIR
};
// Disables water and lava breaking stuff // Disables water and lava breaking stuff
@EventHandler @EventHandler
public void onLiquidFlow(BlockFromToEvent event) { public void onLiquidFlow(BlockFromToEvent event) {
Material m = event.getToBlock().getType(); Block toBlock = event.getToBlock();
Material m = toBlock.getType();
switch (m) { for (Material exception : LIQUID_FLOW_EXCEPTIONS) {
case AIR: if (m == exception) return;
case WATER: }
case LAVA:
return; BlockData data = toBlock.getBlockData();
default: {
event.setCancelled(true); if (!(data instanceof Waterlogged)) {
} event.setCancelled(true);
} }
} }