package com.nisovin.magicspells.spells;
import java.util.List;
import org.bukkit.entity.Player;
import com.nisovin.magicspells.MagicSpells;
import com.nisovin.magicspells.spelleffects.EffectPosition;
import com.nisovin.magicspells.util.MagicConfig;
public class PermissionSpell extends InstantSpell {
private int duration;
private List<String> permissionNodes;
public PermissionSpell(MagicConfig config, String spellName) {
super(config, spellName);
duration = getConfigInt("duration", 0);
permissionNodes = getConfigStringList("permission-nodes", null);
}
@Override
public PostCastAction castSpell(Player player, SpellCastState state, float power, String[] args) {
if (state == SpellCastState.NORMAL && duration > 0 && permissionNodes != null) {
for (String node : permissionNodes) {
player.addAttachment(MagicSpells.plugin, node, true, duration);
}
playSpellEffects(EffectPosition.CASTER, player);
}
return PostCastAction.HANDLE_NORMALLY;
}
}