// Path: src/com/hpspells/core/SpellTargeter.java
// public interface SpellHitEvent {
// 
//     /**
//      * Called when a spell has hit a block
//      *
//      * @param block the block it hit
//      */
//     void hitBlock(Block block);
// 
//     /**
//      * Called when a spell has hit an entity
//      *
//      * @param entity the entity it hit
//      */
//     void hitEntity(LivingEntity entity);
// 
// }


import org.bukkit.Particle;
import org.bukkit.block.Block;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import com.hpspells.core.SpellTargeter.SpellHitEvent;
package com.hpspells.core.spell;



public class Obliviate extends Spell {

    public Obliviate(com.hpspells.core.HPS instance) {
        super(instance);
    }

    @Override
    public boolean cast(final Player p) {
// Path: src/com/hpspells/core/SpellTargeter.java
// public interface SpellHitEvent {
// 
//     /**
//      * Called when a spell has hit a block
//      *
//      * @param block the block it hit
//      */
//     void hitBlock(Block block);
// 
//     /**
//      * Called when a spell has hit an entity
//      *
//      * @param entity the entity it hit
//      */
//     void hitEntity(LivingEntity entity);
// 
// }


// Path: src/com/hpspells/core/spell/Obliviate.java
import org.bukkit.Particle;
import org.bukkit.block.Block;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import com.hpspells.core.SpellTargeter.SpellHitEvent;

package com.hpspells.core.spell;



public class Obliviate extends Spell {

    public Obliviate(com.hpspells.core.HPS instance) {
        super(instance);
    }

    @Override
    public boolean cast(final Player p) {
        HPS.SpellTargeter.register(p, new SpellHitEvent() {