API completed, Implementation required (#1)

New API, ready to go.
Implementations required.
This commit is contained in:
Paldiu
2023-07-18 18:00:33 -05:00
committed by GitHub
parent a84bbeea94
commit 0648b51c96
61 changed files with 1760 additions and 1111 deletions

View File

@ -0,0 +1,137 @@
package app.simplexdev.arcanumocculta.api.caster;
import app.simplexdev.arcanumocculta.api.wand.Wand;
import java.util.UUID;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
public abstract class AbstractCaster implements Caster
{
private final SpellBook spellBook;
private final UUID playerUUID;
private final String name;
private Wand wand;
private CasterLevel level;
private double currentExperience;
private double currentMana;
private double maxMana;
protected AbstractCaster(final Player player, final Wand wand, final SpellBook spellBook, final CasterLevel level)
{
this.spellBook = spellBook;
this.playerUUID = player.getUniqueId();
this.name = player.getName();
this.wand = wand;
this.level = level;
}
@Override
public Wand getWand()
{
return this.wand;
}
public void setWand(final Wand wand)
{
this.wand = wand;
}
@Override
public SpellBook getSpellBook()
{
return this.spellBook;
}
@Override
public UUID getUniqueId()
{
return this.playerUUID;
}
@Override
public String getName()
{
return this.name;
}
@Override
public CasterLevel getCurrentLevel()
{
return this.level;
}
public void setCurrentLevel(final CasterLevel level)
{
this.level = level;
}
@Override
public double getCurrentExperience()
{
return this.currentExperience;
}
public void setCurrentExperience(final double experience)
{
this.currentExperience = experience;
}
@Override
public double getCurrentMana()
{
return this.currentMana;
}
public void setCurrentMana(final double mana)
{
this.currentMana = mana;
}
@Override
public double getMaxMana()
{
return this.maxMana;
}
@Override
public void setMaxMana(final double mana)
{
this.maxMana = mana;
}
public void addExperience(final double experience)
{
this.currentExperience = this.currentExperience + experience;
}
public void removeExperience(final double experience)
{
this.currentExperience = this.currentExperience - experience;
}
public void addMana(final double mana)
{
this.currentMana = this.currentMana + mana;
}
public void removeMana(final double mana)
{
this.currentMana = this.currentMana - mana;
}
public void setManaToMax()
{
this.currentMana = this.maxMana;
}
public void setExperienceToZero()
{
this.currentExperience = 0;
}
@Override
public Player bukkit()
{
return Bukkit.getPlayer(this.playerUUID);
}
}