package com.thebrokenrail.sorcerycraft.spell;
import com.thebrokenrail.sorcerycraft.spell.api.Spell;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.Identifier;
import net.minecraft.world.World;
public class DamageSpell extends Spell {
public DamageSpell(Identifier id, int level) {
super(id, level);
}
@Override
public void execute(World world, Entity source, Entity attacker, Entity target) {
if (target instanceof LivingEntity) {
StatusEffects.INSTANT_DAMAGE.applyInstantEffect(source, attacker, (LivingEntity) target, getLevel(), 1.0d);
public int getXPCost() {
switch (getLevel()) {
case 0: {
return 4;
case 1: {
return 8;
return -1;
public ItemStack getItemCost() {
return ItemStack.EMPTY;
return new ItemStack(Items.WITHER_ROSE);
public int getMaxLevel() {
return 2;