Effect.java 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. package me.km.effects;
  2. import java.util.ArrayList;
  3. import me.km.effects.active.*;
  4. import me.km.skills.Skill;
  5. public enum Effect
  6. {
  7. // comments indicate, that events aren't in active oder passive effect packages
  8. // passive effects
  9. ENCHANTER , // me.kt.custom.CustomEnchanting
  10. LESS_HUNGER , // me.kt.environment.EnvironmentTick
  11. LESS_THIRST , // me.kt.environment.EnvironmentAPI
  12. LESS_ENERGY_USE , // me.kt.environment.EnvironmentAPI
  13. LESS_COLD , // me.kt.environment.EnvironmentAPI
  14. FASTER_MANA , // me.kt.environment.EnvironmentAPI
  15. BREED_COW ,
  16. BREED_PIG ,
  17. BREED_SHEEP ,
  18. BREED_RABBIT ,
  19. BREED_CHICKEN ,
  20. BREED_HORSE ,
  21. BREED_MUSHROOMCOW ,
  22. GRAVEL_SAND_DIGGER ,
  23. MORE_MINERALS ,
  24. MORE_CROPS ,
  25. TREE_PICKER ,
  26. MORE_SAPLINGS ,
  27. CAKE_POWER ,
  28. SNEAKING ,
  29. SCENT ,
  30. MUGGING ,
  31. FAST_DIGGING ,
  32. XP_COLLECTOR ,
  33. MORE_DROPS ,
  34. FASTER_ARROWS ,
  35. ARROW_SAVER ,
  36. MORE_AXE_DAMAGE ,
  37. MORE_HOE_DAMAGE ,
  38. MORE_PICKAXE_DAMAGE ,
  39. MORE_SHOVEL_DAMAGE ,
  40. MORE_SWORD_DAMAGE ,
  41. MORE_DAGGER_DAMAGE ,
  42. MORE_HAMMER_DAMAGE ,
  43. MORE_STICK_DAMAGE ,
  44. FISHING ,
  45. POTION_SAVER ,
  46. BREWING ,
  47. CAULDRON_FILLING ,
  48. SMELTING ,
  49. NO_POISON ,
  50. LESS_FALL_DAMAGE ,
  51. LESS_DAMAGE ,
  52. SMITH ,
  53. FAST_ENDERPEARL_SHOOT ,
  54. PEARL_SAVER ,
  55. NO_ENDERPEARL_DAMAGE ,
  56. GOLD_WASHER ,
  57. GOLD_RUSH ,
  58. USE_WAND ,
  59. LESS_ITEM_LOSS ,
  60. NO_ARMOR_DROPPING ,
  61. // active effects
  62. POISON_VOLLEY (new PoisonVolley()),
  63. FIRE (new Fire()),
  64. SHADOW_STEP (new ShadowStep()),
  65. BLINDING_SHOT (new BlindingShot()),
  66. KICK (new Kick()),
  67. CRIPPLE (new Cripple()),
  68. ELEVATION (new Elevation()),
  69. SUN (new Sun()),
  70. IMMORTALITY (new Immortality()),
  71. LUCKY (new Lucky()),
  72. POISONED_BLADE (new PoisonedBlade()),
  73. BUNNY_HOP (new BunnyHop()),
  74. CONSTANT_POWER (new ConstantPower()),
  75. ARMOR_PASSER (new ArmorPasser()),
  76. IMPACT_PUNCH (new ImpactPunch()),
  77. ENDERCHEST (new Enderchest()),
  78. NAIL_DOWN (new NailDown()),
  79. DOOMED (new Doomed()),
  80. PUSH (new Push()),
  81. HUNGER_PUNCH (new HungerPunch()),
  82. FIRE_SHOT (new FireShot()),
  83. PULL (new Pull()),
  84. HEAL_RAIN (new HealRain()),
  85. UNLUCKY (new Unlucky()),
  86. NAIL_TRAP (new NailTrap()),
  87. NIGHT (new Night()),
  88. AREA_DAMAGE (new AreaDamage()),
  89. EARTHQUAKE (new Earthquake()),
  90. FIREBALL (new Fireball()),
  91. JUMP (new Jump()),
  92. PUSH_UP (new PushUp()),
  93. THOR (new Thor()),
  94. GRAPPLING_HOOK (new GrapplingHook()),
  95. QUICK_SHOT (new QuickShot()),
  96. CALL_BACK (new CallBack()),
  97. SHADOW_HIT (new ShadowHit()),
  98. LOCK_PICK (new LockPick()),
  99. HEART_SEEKER (new HeartSeeker()),
  100. TELEPORT_PLAYER (new TeleportPlayer()),
  101. SPRINT (new Sprint()),
  102. LIFE_BREAKER (new LifeBreaker()),
  103. POWER (new Power()),
  104. MUSKET (new Musket()),
  105. HEARTS (new Hearts()),
  106. ROOTING (new Rooting()),
  107. WORKBENCH (new Workbench()),
  108. NET_TRAP (new NetTrap()),
  109. LEAF_COCOON (new LeafCocoon()),
  110. POISON (new Poison()),
  111. SMASH (new Smash()),
  112. LIFE_STEAL (new LifeSteal()),
  113. SHADOW (new Shadow()),
  114. SLOWING_SHOT (new SlowingShot()),
  115. VINE_TRAP (new VineTrap()),
  116. RAPID_FIRE (new RapidFire()),
  117. STONE (new Stone()),
  118. FIRE_PROTECTION_RAIN (new FireProtectionRain()),
  119. BONE_BREAKER (new BoneBreaker()),
  120. ARCANE_SHOT (new ArcaneShot()),
  121. RAIN (new Rain()),
  122. INVISIBILITY (new Invisibility()),
  123. DAY (new Day()),
  124. FLYING (new Flying()),
  125. EXPLOSION (new Explosion()),
  126. SMOKE_BOMB (new SmokeBomb()),
  127. HARVEST (new Harvest()),
  128. FREEZE (new Freeze()),
  129. FALL_IMMUNITY (new FallImmunity()),
  130. BLOCK_EXPLOSION (new BlockExplosion()),
  131. ELVISH_HORN (new ElvishHorn()),
  132. GRAVITY (new Gravity()),
  133. TELEPORT_BLOCK (new TeleportBlock()),
  134. CLUSTER_BOMB (new ClusterBomb()),
  135. HARM (new Harm()),
  136. SILENCE (new Silence()),
  137. POWER_ATTACK (new PowerAttack()),
  138. HEAL (new Heal()),
  139. JUMP_ATTACK (new JumpAttack());
  140. private static Effect[] effects = Effect.values();
  141. private final ArrayList<Skill> skills;
  142. private final ActiveEffectBase aeb;
  143. private final boolean active;
  144. Effect(ActiveEffectBase aeb)
  145. {
  146. skills = new ArrayList<>();
  147. this.active = aeb != null;
  148. this.aeb = aeb;
  149. }
  150. Effect()
  151. {
  152. this(null);
  153. }
  154. public void addSkill(Skill s)
  155. {
  156. skills.add(s);
  157. }
  158. public ArrayList<Skill> getSkills()
  159. {
  160. return skills;
  161. }
  162. public void clearSkills()
  163. {
  164. skills.clear();
  165. }
  166. public boolean isActive()
  167. {
  168. return active;
  169. }
  170. public ActiveEffectBase getEffectInstance()
  171. {
  172. return aeb;
  173. }
  174. public static Effect getEffect(int id)
  175. {
  176. if(id < 0 || id >= effects.length)
  177. {
  178. return null;
  179. }
  180. return effects[id];
  181. }
  182. }