package com.nisovin.magicspells.castmodifiers.conditions; import org.bukkit.Location; import org.bukkit.block.Block; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import com.nisovin.magicspells.MagicSpells; import com.nisovin.magicspells.castmodifiers.Condition; import com.nisovin.magicspells.materials.MagicMaterial; import com.nisovin.magicspells.util.BlockUtils; public class LookingAtBlockCondition extends Condition { MagicMaterial blockType; int dist = 4; @Override public boolean setVar(String var) { try { String[] varsplit = var.split(","); blockType = MagicSpells.getItemNameResolver().resolveBlock(varsplit[0]); if (blockType == null) return false; if (varsplit.length > 1) { dist = Integer.parseInt(varsplit[1]); } return true; } catch (Exception e) { return false; } } @Override public boolean check(Player player) { return check(player, player); } @Override public boolean check(Player player, LivingEntity target) { Block block = BlockUtils.getTargetBlock(null, target, dist); return blockType.equals(block); } @Override public boolean check(Player player, Location location) { return check(player); } }