Files
Wizardry/src/main/java/electroblob/wizardry/entity/living/IIntelligentSpellCaster.java
T
Electroblob77 f37812be3e That's one heck of a commit you've got there...
I may have got a bit behind with version control. A lot behind, in fact. Maybe I'll go back and split this sometime - then again, I probably won't. But hey, at least it's here!
2019-08-18 00:04:18 +01:00

27 lines
1.0 KiB
Java

package electroblob.wizardry.entity.living;
import electroblob.wizardry.spell.Spell;
import java.util.List;
/**
* [NYI] Interface for entities that can select between spells based on their current circumstances, to be used in
* conjunction with {@link EntityAISelectSpell}.
*/
public interface IIntelligentSpellCaster extends ISpellCaster {
/**
* Called from {@link EntityAISelectSpell} to set the spells that the entity can use in its current situation.
* Implementors should assign the given list to some internal field and retrieve it when {@link #getSpells()} is
* called.
*/
public void setCurrentSpells(List<Spell> spells);
/**
* Returns a list of spells that this entity 'knows'. The entity's current spell will be selected from this list
* based on the current situation: whether it is attacking, its health, etc. Most likely, you will want to return a
* constant list, but it may change for some reason - perhaps if the entity 'learns' a new spell.
*/
public List<Spell> getKnownSpells();
}