123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- package me.km.effects;
- import java.util.ArrayList;
- import me.km.skills.Skill;
- public enum Effect
- {
- // comments indicate, that events aren't in active oder passive effect packages
- // passive effects
- ENCHANTER (false), // me.kt.custom.CustomEnchanting
- LESS_HUNGER (false), // me.kt.environment.EnvironmentTick
- LESS_THIRST (false), // me.kt.environment.EnvironmentAPI
- LESS_ENERGY_USE (false), // me.kt.environment.EnvironmentAPI
- LESS_COLD (false), // me.kt.environment.EnvironmentAPI
- FASTER_MANA (false), // me.kt.environment.EnvironmentAPI
- BREED_COW (false),
- BREED_PIG (false),
- BREED_SHEEP (false),
- BREED_RABBIT (false),
- BREED_CHICKEN (false),
- BREED_HORSE (false),
- BREED_MUSHROOMCOW (false),
- GRAVEL_SAND_DIGGER (false),
- MORE_MINERALS (false),
- MORE_CROPS (false),
- TREE_PICKER (false),
- MORE_SAPLINGS (false),
- CAKE_POWER (false),
- SNEAKING (false),
- SCENT (false),
- MUGGING (false),
- FAST_DIGGING (false),
- XP_COLLECTOR (false),
- MORE_DROPS (false),
- FASTER_ARROWS (false),
- ARROW_SAVER (false),
- MORE_AXE_DAMAGE (false),
- MORE_HOE_DAMAGE (false),
- MORE_PICKAXE_DAMAGE (false),
- MORE_SHOVEL_DAMAGE (false),
- MORE_SWORD_DAMAGE (false),
- MORE_DAGGER_DAMAGE (false),
- MORE_HAMMER_DAMAGE (false),
- MORE_STICK_DAMAGE (false),
- FISHING (false),
- POTION_SAVER (false),
- BREWING (false),
- CAULDRON_FILLING (false),
- SMELTING (false),
- NO_POISON (false),
- LESS_FALL_DAMAGE (false),
- LESS_DAMAGE (false),
- SMITH (false),
- FAST_ENDERPEARL_SHOOT (false),
- PEARL_SAVER (false),
- NO_ENDERPEARL_DAMAGE (false),
- GOLD_WASHER (false),
- GOLD_RUSH (false),
- USE_WAND (false),
- LESS_ITEM_LOSS (false);
-
- // TODO
- // active effects
- /*ARCANE_SHOT (true, ArcaneShot.class),
- BLINDING_SHOT (true, BlindingShot.class),
- BUNNY_HOP (true, BunnyHop.class),
- CALL_BACK (true, CallBack.class),
- CLUSTER_BOMB (true, ClusterBomb.class),
- DAY (true, Day.class),
- DOOMED (true, Doomed.class),
- EARTHQUAKE (true, Earthquake.class),
- ELEVATION (true, Elevation.class),
- ELVISH_HORN (true, ElvishHorn.class),
- ENDERCHEST (true, Enderchest.class),
- EXPLOSION (true, Explosion.class),
- FALL_IMMUNITY (true, FallImmunity.class),
- FIRE (true, Fire.class),
- FIREBALL (true, Fireball.class),
- FIRE_SHOT (true, FireShot.class),
- FLYING (true, Flying.class),
- FREEZE (true, Freeze.class),
- GRAPPLING_HOOK (true, GrapplingHook.class),
- HARM (true, Harm.class),
- HARVEST (true, Harvest.class),
- HEAL (true, Heal.class),
- HEAL_RAIN (true, HealRain.class),
- HEARTS (true, Hearts.class),
- HEART_SEEKER (true, HeartSeeker.class),
- IMMORTALITY (true, Immortality.class),
- INVISIBILITY (true, Invisibility.class),
- JUMP (true, Jump.class),
- KICK (true, Kick.class),
- LEAF_COCOON (true, LeafCocoon.class),
- LOCK_PICK (true, LockPick.class),
- LUCKY (true, Lucky.class),
- MUSKET (true, Musket.class),
- NAIL_DOWN (true, NailDown.class),
- NAIL_TRAP (true, NailTrap.class),
- NET_TRAP (true, NetTrap.class),
- NIGHT (true, Night.class),
- P_HEAL (true, PHeal.class),
- POISON (true, Poison.class),
- POISONED_BLADE (true, PoisonedBlade.class),
- POISON_VOLLEY (true, PoisonVolley.class),
- POWER (true, Power.class),
- POWER_ATTACK (true, PowerAttack.class),
- PULL (true, Pull.class),
- PUSH (true, Push.class),
- QUICK_SHOT (true, QuickShot.class),
- RAIN (true, Rain.class),
- RAPID_FIRE (true, RapidFire.class),
- ROOTING (true, Rooting.class),
- SHADOW (true, Shadow.class),
- SHADOW_HIT (true, ShadowHit.class),
- SHADOW_STEP (true, ShadowStep.class),
- SILENCE (true, Silence.class),
- SLOWING_SHOT (true, SlowingShot.class),
- SMOKE_BOMB (true, SmokeBomb.class),
- SPRINT (true, Sprint.class),
- STONE (true, Stone.class),
- SUN (true, Sun.class),
- TELEPORT_PLAYER (true, TeleportPlayer.class),
- THOR (true, Thor.class),
- UNLUCKY (true, Unlucky.class),
- VINE_TRAP (true, VineTrap.class),
- WORKBENCH (true, Workbench.class);*/
-
- private final ArrayList<Skill> skills;
- private final Class<? extends ActiveEffectBase> c;
- private final boolean active;
-
- Effect(boolean active, Class<? extends ActiveEffectBase> c)
- {
- skills = new ArrayList<>();
- this.active = active;
- this.c = c;
- }
-
- Effect(boolean active)
- {
- this(active, null);
- }
-
- public void addSkill(Skill s)
- {
- skills.add(s);
- }
-
- public ArrayList<Skill> getSkills()
- {
- return skills;
- }
-
- public void clearSkills()
- {
- skills.clear();
- }
-
- public boolean isActive()
- {
- return active;
- }
-
- public int getManaCost(int power)
- {
- if(c != null)
- {
- try
- {
- return c.newInstance().getManaCost(power);
- }
- catch(InstantiationException | IllegalAccessException ex)
- {
- return 0;
- }
- }
- return 0;
- }
-
- public Class<? extends ActiveEffectBase> getEffectBase()
- {
- return c;
- }
-
- public String getEffectString()
- {
- if(c == null)
- {
- return null;
- }
- return c.getSimpleName();
- }
- }
|