From 6a529d6671e2825600ecb4a39302aa502437568d Mon Sep 17 00:00:00 2001 From: md678685 Date: Mon, 31 Dec 2018 12:54:43 +0000 Subject: [PATCH] Update EssentialsX Protect with cross-version enum lookups --- .../protect/EssentialsProtectBlockListener.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java index 385899b72..0129ec3e0 100644 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java +++ b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java @@ -1,5 +1,6 @@ package com.earth2me.essentials.protect; +import com.earth2me.essentials.utils.EnumUtil; import net.ess3.api.IEssentials; import org.bukkit.Material; import org.bukkit.block.Block; @@ -12,8 +13,14 @@ import org.bukkit.event.block.BlockFromToEvent; import org.bukkit.event.block.BlockIgniteEvent; import org.bukkit.event.world.PortalCreateEvent; +import java.util.Set; + public class EssentialsProtectBlockListener implements Listener { + + private static final Set WATER_TYPES = EnumUtil.getAllMatching(Material.class, "WATER", "STATIONARY_WATER"); + private static final Set LAVA_TYPES = EnumUtil.getAllMatching(Material.class, "LAVA", "STATIONARY_LAVA"); + final private IProtect prot; final private IEssentials ess; @@ -57,12 +64,12 @@ public class EssentialsProtectBlockListener implements Listener { public void onBlockFromTo(final BlockFromToEvent event) { final Block block = event.getBlock(); - if (block.getType() == Material.WATER || block.getType() == Material.WATER) { + if (WATER_TYPES.contains(block.getType())) { event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_water_flow)); return; } - if (block.getType() == Material.LAVA || block.getType() == Material.LAVA) { + if (LAVA_TYPES.contains(block.getType())) { event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_lava_flow)); return; }