Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. package net.arsfortuna.plugin.main.magic;
  2.  
  3. import java.util.List;
  4.  
  5. import org.bukkit.entity.LivingEntity;
  6.  
  7. import net.arsfortuna.plugin.main.Attribute;
  8.  
  9. public interface Magic {
  10.  
  11. /**
  12. * 内部名称を返すメソッド
  13. * @return 内部名称
  14. */
  15. public default String getName() {
  16. null;
  17. }
  18.  
  19. /**
  20. * 属性を返すメソッド
  21. * @return 属性
  22. */
  23. public Attribute getAttribute();
  24.  
  25. /**
  26. * 消費魔力を返すメソッド
  27. * 動的に消費魔力を変更することは、このメソッドを介してでは不可
  28. * もし動的に変更したいのなら、-1 を指定するとゲーム内での表示が " - " となるので、play() メソッドで処理する必要有り、その場合一言
  29. * @return 消費魔力
  30. */
  31. public int getCost();
  32.  
  33. /**
  34. * クールタイムを返すメソッド
  35. * ミリ秒で設定する
  36. * @return クールタイム
  37. */
  38. public int getCoolTime();
  39.  
  40. /**
  41. * ミリ秒を秒単位にして返すメソッド
  42. * ゲーム内の表示用
  43. * いじらない
  44. * @return クールタイム (表示用)
  45. */
  46. public default double getCoolTimeAsSecond() {
  47. return getCoolTime() / 1000.0;
  48. }
  49.  
  50. /**
  51. * ゲーム内の表示名を返すメソッド
  52. * §r や ChatColor でリセットする必要はない
  53. * @return 表示名
  54. */
  55. public String getDisplayName();
  56.  
  57. /**
  58. * ゲーム内の説明を返すメソッド
  59. * §r や ChatColor を最初につける必要有り
  60. * @return ゲーム内の説明
  61. */
  62. public List<String> getLore();
  63.  
  64. /**
  65. * 魔法種を返すメソッド
  66. * いじらない
  67. * @return MagicSeedItem
  68. */
  69. public default MagicSeedItem getMagicSeed() {
  70. return new MagicSeedItem(this);
  71. }
  72.  
  73. /**
  74. * 魔法を実行するメソッド
  75. * 実行者はモンスター、つまり他の LivingEntity も含まれるので引数は Player ではなくこれをとる
  76. * パーティのフレンドリーファイア対策はメインプラグインが処理するので不要
  77. * @param living 実行者
  78. */
  79. public void play(LivingEntity living);
  80.  
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement