123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 |
- package me.km.effects;
- import java.util.ArrayList;
- import me.km.effects.active.*;
- import me.km.skills.Skill;
- public enum Effect
- {
- // comments indicate, that events aren't in active oder passive effect packages
- // passive effects
- ENCHANTER , // me.kt.custom.CustomEnchanting
- LESS_HUNGER , // me.kt.environment.EnvironmentTick
- LESS_THIRST , // me.kt.environment.EnvironmentAPI
- LESS_ENERGY_USE , // me.kt.environment.EnvironmentAPI
- LESS_COLD , // me.kt.environment.EnvironmentAPI
- FASTER_MANA , // me.kt.environment.EnvironmentAPI
- BREED_COW ,
- BREED_PIG ,
- BREED_SHEEP ,
- BREED_RABBIT ,
- BREED_CHICKEN ,
- BREED_HORSE ,
- BREED_MUSHROOMCOW ,
- GRAVEL_SAND_DIGGER ,
- MORE_MINERALS ,
- MORE_CROPS ,
- TREE_PICKER ,
- MORE_SAPLINGS ,
- CAKE_POWER ,
- SNEAKING ,
- SCENT ,
- MUGGING ,
- FAST_DIGGING ,
- XP_COLLECTOR ,
- MORE_DROPS ,
- FASTER_ARROWS ,
- ARROW_SAVER ,
- MORE_AXE_DAMAGE ,
- MORE_HOE_DAMAGE ,
- MORE_PICKAXE_DAMAGE ,
- MORE_SHOVEL_DAMAGE ,
- MORE_SWORD_DAMAGE ,
- MORE_DAGGER_DAMAGE ,
- MORE_HAMMER_DAMAGE ,
- MORE_STICK_DAMAGE ,
- FISHING ,
- POTION_SAVER ,
- BREWING ,
- CAULDRON_FILLING ,
- SMELTING ,
- NO_POISON ,
- LESS_FALL_DAMAGE ,
- LESS_DAMAGE ,
- SMITH ,
- FAST_ENDERPEARL_SHOOT ,
- PEARL_SAVER ,
- NO_ENDERPEARL_DAMAGE ,
- GOLD_WASHER ,
- GOLD_RUSH ,
- USE_WAND ,
- LESS_ITEM_LOSS ,
- NO_ARMOR_DROPPING ,
- DODGE ,
- BLOOD_THIRST ,
-
- // active effects
- POISON_VOLLEY (new PoisonVolley()),
- STRONG_STUN_PUNCH (new StrongStunPunch()),
- IGNORANCE (new Ignorance()),
- FIRE (new Fire()),
- ARMOR_BOOST (new ArmorBoost()),
- SHADOW_STEP (new ShadowStep()),
- BLINDING_SHOT (new BlindingShot()),
- KICK (new Kick()),
- CRIPPLE (new Cripple()),
- ELEVATION (new Elevation()),
- SUN (new Sun()),
- IMMORTALITY (new Immortality()),
- LUCKY (new Lucky()),
- POISONED_BLADE (new PoisonedBlade()),
- BUNNY_HOP (new BunnyHop()),
- CONSTANT_POWER (new ConstantPower()),
- ARMOR_PASSER (new ArmorPasser()),
- IMPACT_PUNCH (new ImpactPunch()),
- ENDERCHEST (new Enderchest()),
- NAIL_DOWN (new NailDown()),
- DOOMED (new Doomed()),
- PUSH (new Push()),
- HUNGER_PUNCH (new HungerPunch()),
- FIRE_SHOT (new FireShot()),
- PULL (new Pull()),
- HEAL_RAIN (new HealRain()),
- UNLUCKY (new Unlucky()),
- NAIL_TRAP (new NailTrap()),
- NIGHT (new Night()),
- AREA_DAMAGE (new AreaDamage()),
- SILENCE_PUNCH (new SilencePunch()),
- EARTHQUAKE (new Earthquake()),
- FIREBALL (new Fireball()),
- JUMP (new Jump()),
- STUN_PUNCH (new StunPunch()),
- PUSH_UP (new PushUp()),
- THOR (new Thor()),
- GRAPPLING_HOOK (new GrapplingHook()),
- QUICK_SHOT (new QuickShot()),
- CALL_BACK (new CallBack()),
- THORNS (new Thorns()),
- SHADOW_HIT (new ShadowHit()),
- LOCK_PICK (new LockPick()),
- HEART_SEEKER (new HeartSeeker()),
- TELEPORT_PLAYER (new TeleportPlayer()),
- SPRINT (new Sprint()),
- LIFE_BREAKER (new LifeBreaker()),
- TIMED_HEAL (new TimedHeal()),
- POWER (new Power()),
- MUSKET (new Musket()),
- HEARTS (new Hearts()),
- ROOTING (new Rooting()),
- WORKBENCH (new Workbench()),
- NET_TRAP (new NetTrap()),
- LEAF_COCOON (new LeafCocoon()),
- POISON (new Poison()),
- SMASH (new Smash()),
- LIFE_STEAL (new LifeSteal()),
- SHADOW (new Shadow()),
- SLOWING_SHOT (new SlowingShot()),
- WAR_CALL (new WarCall()),
- VINE_TRAP (new VineTrap()),
- RAPID_FIRE (new RapidFire()),
- STONE (new Stone()),
- FIRE_PROTECTION_RAIN (new FireProtectionRain()),
- BONE_BREAKER (new BoneBreaker()),
- PULL_ATTACK (new PullAttack()),
- ARCANE_SHOT (new ArcaneShot()),
- RAIN (new Rain()),
- INVISIBILITY (new Invisibility()),
- REVENGE (new Revenge()),
- DAY (new Day()),
- FLYING (new Flying()),
- EXPLOSION (new Explosion()),
- SMOKE_BOMB (new SmokeBomb()),
- CHARGE (new Charge()),
- HARVEST (new Harvest()),
- FREEZE (new Freeze()),
- FALL_IMMUNITY (new FallImmunity()),
- DISARM (new Disarm()),
- BLOCK_EXPLOSION (new BlockExplosion()),
- BLADE_STORM (new BladeStorm()),
- ELVISH_HORN (new ElvishHorn()),
- SHIELD (new Shield()),
- GRAVITY (new Gravity()),
- TELEPORT_BLOCK (new TeleportBlock()),
- CLUSTER_BOMB (new ClusterBomb()),
- HARM (new Harm()),
- SILENCE (new Silence()),
- POWER_ATTACK (new PowerAttack()),
- HEAL (new Heal()),
- JUMP_ATTACK (new JumpAttack()),
- DRAGON_SKIN (new DragonSkin());
-
- private static Effect[] effects = Effect.values();
-
- private final ArrayList<Skill> skills;
- private final ActiveEffectBase aeb;
- private final boolean active;
-
- Effect(ActiveEffectBase aeb)
- {
- skills = new ArrayList<>();
- this.active = aeb != null;
- this.aeb = aeb;
- }
-
- Effect()
- {
- this(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 ActiveEffectBase getEffectInstance()
- {
- return aeb;
- }
-
- public static Effect getEffect(int id)
- {
- if(id < 0 || id >= effects.length)
- {
- return null;
- }
- return effects[id];
- }
- }
|