Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.arsfortuna.plugin.main.magic;
- import java.util.List;
- import org.bukkit.entity.LivingEntity;
- import net.arsfortuna.plugin.main.Attribute;
- public interface Magic {
- /**
- * 内部名称を返すメソッド
- * @return 内部名称
- */
- public default String getName() {
- null;
- }
- /**
- * 属性を返すメソッド
- * @return 属性
- */
- public Attribute getAttribute();
- /**
- * 消費魔力を返すメソッド
- * 動的に消費魔力を変更することは、このメソッドを介してでは不可
- * もし動的に変更したいのなら、-1 を指定するとゲーム内での表示が " - " となるので、play() メソッドで処理する必要有り、その場合一言
- * @return 消費魔力
- */
- public int getCost();
- /**
- * クールタイムを返すメソッド
- * ミリ秒で設定する
- * @return クールタイム
- */
- public int getCoolTime();
- /**
- * ミリ秒を秒単位にして返すメソッド
- * ゲーム内の表示用
- * いじらない
- * @return クールタイム (表示用)
- */
- public default double getCoolTimeAsSecond() {
- return getCoolTime() / 1000.0;
- }
- /**
- * ゲーム内の表示名を返すメソッド
- * §r や ChatColor でリセットする必要はない
- * @return 表示名
- */
- public String getDisplayName();
- /**
- * ゲーム内の説明を返すメソッド
- * §r や ChatColor を最初につける必要有り
- * @return ゲーム内の説明
- */
- public List<String> getLore();
- /**
- * 魔法種を返すメソッド
- * いじらない
- * @return MagicSeedItem
- */
- public default MagicSeedItem getMagicSeed() {
- return new MagicSeedItem(this);
- }
- /**
- * 魔法を実行するメソッド
- * 実行者はモンスター、つまり他の LivingEntity も含まれるので引数は Player ではなくこれをとる
- * パーティのフレンドリーファイア対策はメインプラグインが処理するので不要
- * @param living 実行者
- */
- public void play(LivingEntity living);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement