package in.twizmwaz.cardinal.module.modules.filter.type; import in.twizmwaz.cardinal.GameHandler; import in.twizmwaz.cardinal.module.modules.filter.FilterModule; import in.twizmwaz.cardinal.module.modules.filter.FilterState; import in.twizmwaz.cardinal.module.modules.filter.parsers.GenericFilterParser; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.Block; import static in.twizmwaz.cardinal.module.modules.filter.FilterState.*; public class VoidFilter extends FilterModule { public VoidFilter(final GenericFilterParser parser) { super(parser.getName(), parser.getParent()); } @Override public FilterState evaluate(final Object... objects) { for (Object object : objects) { if (object instanceof Block) { Block check = new Location(GameHandler.getGameHandler().getMatchWorld(), ((Block) object).getX(), 0, ((Block) object).getZ()).getBlock(); if (object.equals(check)) return ALLOW; return check.getType() == Material.AIR ? (ALLOW) : DENY; } } return (getParent() == null ? ABSTAIN : getParent().evaluate(objects)); } }