package com.thebrokenrail.sorcerycraft.spell.registry; import net.minecraft.entity.Entity; import net.minecraft.item.ItemStack; import net.minecraft.util.Identifier; public abstract class Spell { private final Identifier id; private final int level; public Spell(Identifier id, int level) { this.id = id; this.level = level; } public Identifier getID() { return id; } public int getLevel() { return level; } public abstract void execute(Entity target, Entity source, Entity attacker); public abstract int getXPCost(); public abstract ItemStack getItemCost(); public abstract int getMaxLevel(); }