diff --git a/src/com/garbagemule/MobArena/ArenaListener.java b/src/com/garbagemule/MobArena/ArenaListener.java index 6206da7..4df6256 100644 --- a/src/com/garbagemule/MobArena/ArenaListener.java +++ b/src/com/garbagemule/MobArena/ArenaListener.java @@ -469,7 +469,7 @@ public class ArenaListener ap.getStats().inc("kills"); arena.getScoreboard().addKill(p); } - MABoss boss = monsters.removeBoss(event.getEntity()); + MABoss boss = monsters.getBoss(event.getEntity()); if (boss != null) { ItemStack reward = boss.getReward(); if (reward != null) { diff --git a/src/com/garbagemule/MobArena/MobArena.java b/src/com/garbagemule/MobArena/MobArena.java index 077d716..14ac110 100644 --- a/src/com/garbagemule/MobArena/MobArena.java +++ b/src/com/garbagemule/MobArena/MobArena.java @@ -202,8 +202,9 @@ public class MobArena extends JavaPlugin private void loadAbilities() { File dir = new File(this.getDataFolder(), "abilities"); if (!dir.exists()) dir.mkdir(); - - AbilityManager.loadAbilities(dir, getClass()); + + AbilityManager.loadCoreAbilities(); + AbilityManager.loadAbilities(dir); } private void startMetrics() { diff --git a/src/com/garbagemule/MobArena/waves/WaveParser.java b/src/com/garbagemule/MobArena/waves/WaveParser.java index ee85cfd..03c9a0c 100644 --- a/src/com/garbagemule/MobArena/waves/WaveParser.java +++ b/src/com/garbagemule/MobArena/waves/WaveParser.java @@ -279,7 +279,7 @@ public class WaveParser if (ablts != null) { String[] parts = ablts.split(","); for (String ability : parts) { - Ability a = AbilityManager.fromString(ability.trim()); + Ability a = AbilityManager.getAbility(ability.trim()); if (a == null) { Messenger.warning(WaveError.BOSS_ABILITY.format(ability.trim(), name, arena.configName())); continue; diff --git a/src/com/garbagemule/MobArena/waves/ability/AbilityManager.java b/src/com/garbagemule/MobArena/waves/ability/AbilityManager.java index 2d75e9b..41a4e45 100644 --- a/src/com/garbagemule/MobArena/waves/ability/AbilityManager.java +++ b/src/com/garbagemule/MobArena/waves/ability/AbilityManager.java @@ -16,6 +16,7 @@ import javax.tools.ToolProvider; import com.garbagemule.MobArena.Messenger; import com.garbagemule.MobArena.util.FileUtils; +import com.garbagemule.MobArena.waves.ability.core.*; public class AbilityManager { @@ -23,22 +24,58 @@ public class AbilityManager private static final String classpath = jarpath + ";" + System.getProperty("java.class.path"); private static Map abilities; - + private static Map> abs; + /** - * Get an Ability by one of its aliases. - * @param name an Ability alias - * @return an Ability, if one exists with the given alias, false otherwise + * Get an instance of an ability by alias + * @param alias the alias of an ability + * @return a new Ability object, or null */ - public static Ability fromString(String name) { - return abilities.get(name.toLowerCase().replaceAll("[-_.]", "")); + public static Ability getAbility(String alias) { + try { + Class cls = abs.get(alias.toLowerCase().replaceAll("[-_.]", "")); + return cls.newInstance(); + } catch (Exception e) { + return null; + } + } + + /** + * Load all the core abilities included in MobArena + */ + public static void loadCoreAbilities() { + if (abs == null) abs = new HashMap>(); + + register(ChainLightning.class); + register(DisorientDistant.class); + register(DisorientNearby.class); + register(DisorientTarget.class); + register(FetchDistant.class); + register(FetchNearby.class); + register(FetchTarget.class); + register(FireAura.class); + register(Flood.class); + register(LightningAura.class); + register(LivingBomb.class); + register(ObsidianBomb.class); + register(PullDistant.class); + register(PullNearby.class); + register(PullTarget.class); + register(RootTarget.class); + register(ShootArrow.class); + register(ShootFireball.class); + register(ShufflePositions.class); + register(ThrowDistant.class); + register(ThrowNearby.class); + register(ThrowTarget.class); + register(WarpToPlayer.class); } /** - * Load the known abilities as well as all custom abilities from - * the specified directory. - * @param dir a directory of .class (and/or .java) files + * Load the custom abilities from the specified directory. + * @param classDir a directory of .class (and/or .java) files */ - public static void loadAbilities(File classDir, Class cls) { + public static void loadAbilities(File classDir) { abilities = new HashMap(); // Grab the source directory. @@ -56,32 +93,21 @@ public class AbilityManager } } - /* If there is only one file in the directory, make sure it isn't the - * src/ folder, in which case there will be no .class files to load. - * In the case of no .class files, extract the defaults. */ - String[] files = classDir.list(); - if (files.length == 0 || (files.length == 1 && files[0].equals("src"))) { - Messenger.info("No boss abilities found. Extracting defaults..."); - extractDefaultAbilities(classDir, cls); - } - // Load all the custom abilities. loadClasses(classDir); } - - private static void extractDefaultAbilities(File classDir, Class cls) { - // Grab a list of all the class files. - List resources = FileUtils.listFilesOnPath("res/abilities/", ".class"); - - // Check that there is stuff to extract. - if (resources == null || resources.isEmpty()) { - Messenger.severe("Couldn't extract the default boss abilities!"); - return; + + /** + * Register an ability by its class object + * @param cls the ability class + */ + private static void register(Class cls) { + AbilityInfo info = cls.getAnnotation(AbilityInfo.class); + if (info == null) return; + + for (String alias : info.aliases()) { + abs.put(alias, cls); } - - // Extract everything. - List files = FileUtils.extractResources(classDir, "abilities/", resources, cls); - Messenger.info("Extracted abilities: " + fileListToString(files, "$")); } private static void compileAbilities(File javaDir, File classDir) { @@ -175,7 +201,7 @@ public class AbilityManager /** * (Compiles and) loads all custom abilities in the given directory. - * @param dir a directory + * @param classDir a directory */ private static void loadClasses(File classDir) { // Grab the class loader diff --git a/abilities/ChainLightning.java b/src/com/garbagemule/MobArena/waves/ability/core/ChainLightning.java similarity index 89% rename from abilities/ChainLightning.java rename to src/com/garbagemule/MobArena/waves/ability/core/ChainLightning.java index 4f3884b..32dbd3a 100644 --- a/abilities/ChainLightning.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/ChainLightning.java @@ -1,12 +1,15 @@ -import java.util.ArrayList; -import java.util.List; - -import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Player; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; + +import java.util.ArrayList; +import java.util.List; @AbilityInfo( name = "Chain Lightning", diff --git a/abilities/DisorientDistant.java b/src/com/garbagemule/MobArena/waves/ability/core/DisorientDistant.java similarity index 76% rename from abilities/DisorientDistant.java rename to src/com/garbagemule/MobArena/waves/ability/core/DisorientDistant.java index 3def274..10f4ab1 100644 --- a/abilities/DisorientDistant.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/DisorientDistant.java @@ -1,9 +1,12 @@ -import org.bukkit.Location; -import org.bukkit.entity.Player; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.Location; +import org.bukkit.entity.Player; @AbilityInfo( name = "Disorient Distant", diff --git a/abilities/DisorientNearby.java b/src/com/garbagemule/MobArena/waves/ability/core/DisorientNearby.java similarity index 79% rename from abilities/DisorientNearby.java rename to src/com/garbagemule/MobArena/waves/ability/core/DisorientNearby.java index 9167c92..7ef806a 100644 --- a/abilities/DisorientNearby.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/DisorientNearby.java @@ -1,10 +1,13 @@ -import org.bukkit.Location; -import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Player; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.Location; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; @AbilityInfo( name = "Disorient Nearby", diff --git a/abilities/DisorientTarget.java b/src/com/garbagemule/MobArena/waves/ability/core/DisorientTarget.java similarity index 77% rename from abilities/DisorientTarget.java rename to src/com/garbagemule/MobArena/waves/ability/core/DisorientTarget.java index 582687e..c256d4f 100644 --- a/abilities/DisorientTarget.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/DisorientTarget.java @@ -1,9 +1,12 @@ -import org.bukkit.Location; -import org.bukkit.entity.LivingEntity; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.Location; +import org.bukkit.entity.LivingEntity; @AbilityInfo( name = "Disorient Target", diff --git a/abilities/FetchDistant.java b/src/com/garbagemule/MobArena/waves/ability/core/FetchDistant.java similarity index 74% rename from abilities/FetchDistant.java rename to src/com/garbagemule/MobArena/waves/ability/core/FetchDistant.java index 8e0a750..2d520dd 100644 --- a/abilities/FetchDistant.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/FetchDistant.java @@ -1,9 +1,12 @@ -import org.bukkit.Location; -import org.bukkit.entity.Player; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.Location; +import org.bukkit.entity.Player; @AbilityInfo( name = "Fetch Distant", diff --git a/abilities/FetchNearby.java b/src/com/garbagemule/MobArena/waves/ability/core/FetchNearby.java similarity index 74% rename from abilities/FetchNearby.java rename to src/com/garbagemule/MobArena/waves/ability/core/FetchNearby.java index a5367c0..3a70e02 100644 --- a/abilities/FetchNearby.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/FetchNearby.java @@ -1,9 +1,12 @@ -import org.bukkit.Location; -import org.bukkit.entity.Player; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.Location; +import org.bukkit.entity.Player; @AbilityInfo( name = "Fetch Nearby", diff --git a/abilities/FetchTarget.java b/src/com/garbagemule/MobArena/waves/ability/core/FetchTarget.java similarity index 73% rename from abilities/FetchTarget.java rename to src/com/garbagemule/MobArena/waves/ability/core/FetchTarget.java index 03aec40..7f8f86c 100644 --- a/abilities/FetchTarget.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/FetchTarget.java @@ -1,8 +1,11 @@ -import org.bukkit.entity.LivingEntity; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.entity.LivingEntity; @AbilityInfo( name = "Fetch Target", diff --git a/abilities/FireAura.java b/src/com/garbagemule/MobArena/waves/ability/core/FireAura.java similarity index 75% rename from abilities/FireAura.java rename to src/com/garbagemule/MobArena/waves/ability/core/FireAura.java index 8a90f21..ac5e70c 100644 --- a/abilities/FireAura.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/FireAura.java @@ -1,8 +1,11 @@ -import org.bukkit.entity.Player; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.entity.Player; @AbilityInfo( name = "Fire Aura", diff --git a/abilities/Flood.java b/src/com/garbagemule/MobArena/waves/ability/core/Flood.java similarity index 71% rename from abilities/Flood.java rename to src/com/garbagemule/MobArena/waves/ability/core/Flood.java index d026ef8..6e13eea 100644 --- a/abilities/Flood.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/Flood.java @@ -1,9 +1,12 @@ -import org.bukkit.block.Block; -import org.bukkit.entity.Player; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.block.Block; +import org.bukkit.entity.Player; @AbilityInfo( name = "Flood", diff --git a/abilities/LightningAura.java b/src/com/garbagemule/MobArena/waves/ability/core/LightningAura.java similarity index 75% rename from abilities/LightningAura.java rename to src/com/garbagemule/MobArena/waves/ability/core/LightningAura.java index 5c6c29a..ae76c92 100644 --- a/abilities/LightningAura.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/LightningAura.java @@ -1,9 +1,12 @@ -import org.bukkit.World; -import org.bukkit.entity.Player; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.World; +import org.bukkit.entity.Player; @AbilityInfo( name = "Lightning Aura", diff --git a/abilities/LivingBomb.java b/src/com/garbagemule/MobArena/waves/ability/core/LivingBomb.java similarity index 88% rename from abilities/LivingBomb.java rename to src/com/garbagemule/MobArena/waves/ability/core/LivingBomb.java index fe51b85..7279773 100644 --- a/abilities/LivingBomb.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/LivingBomb.java @@ -1,9 +1,12 @@ -import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Player; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; @AbilityInfo( name = "Living Bomb", diff --git a/abilities/ObsidianBomb.java b/src/com/garbagemule/MobArena/waves/ability/core/ObsidianBomb.java similarity index 84% rename from abilities/ObsidianBomb.java rename to src/com/garbagemule/MobArena/waves/ability/core/ObsidianBomb.java index 943c79e..4b59c48 100644 --- a/abilities/ObsidianBomb.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/ObsidianBomb.java @@ -1,13 +1,16 @@ +package com.garbagemule.MobArena.waves.ability.core; + +import com.garbagemule.MobArena.framework.Arena; +import com.garbagemule.MobArena.waves.MABoss; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.World; import org.bukkit.block.Block; import org.bukkit.entity.LivingEntity; -import com.garbagemule.MobArena.framework.Arena; -import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; - @AbilityInfo( name = "Obsidian Bomb", aliases = {"obsidianbomb"} diff --git a/abilities/PullDistant.java b/src/com/garbagemule/MobArena/waves/ability/core/PullDistant.java similarity index 82% rename from abilities/PullDistant.java rename to src/com/garbagemule/MobArena/waves/ability/core/PullDistant.java index fb6ce03..8cfa269 100644 --- a/abilities/PullDistant.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/PullDistant.java @@ -1,10 +1,13 @@ -import org.bukkit.Location; -import org.bukkit.entity.Player; -import org.bukkit.util.Vector; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.Location; +import org.bukkit.entity.Player; +import org.bukkit.util.Vector; @AbilityInfo( name = "Pull Distant", diff --git a/abilities/PullNearby.java b/src/com/garbagemule/MobArena/waves/ability/core/PullNearby.java similarity index 82% rename from abilities/PullNearby.java rename to src/com/garbagemule/MobArena/waves/ability/core/PullNearby.java index e35be4f..5d9eea0 100644 --- a/abilities/PullNearby.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/PullNearby.java @@ -1,10 +1,13 @@ -import org.bukkit.Location; -import org.bukkit.entity.Player; -import org.bukkit.util.Vector; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.Location; +import org.bukkit.entity.Player; +import org.bukkit.util.Vector; @AbilityInfo( name = "Pull Nearby", diff --git a/abilities/PullTarget.java b/src/com/garbagemule/MobArena/waves/ability/core/PullTarget.java similarity index 82% rename from abilities/PullTarget.java rename to src/com/garbagemule/MobArena/waves/ability/core/PullTarget.java index 5105428..7fc60fb 100644 --- a/abilities/PullTarget.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/PullTarget.java @@ -1,10 +1,13 @@ -import org.bukkit.Location; -import org.bukkit.entity.LivingEntity; -import org.bukkit.util.Vector; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.Location; +import org.bukkit.entity.LivingEntity; +import org.bukkit.util.Vector; @AbilityInfo( name = "Pull Target", diff --git a/abilities/RootTarget.java b/src/com/garbagemule/MobArena/waves/ability/core/RootTarget.java similarity index 90% rename from abilities/RootTarget.java rename to src/com/garbagemule/MobArena/waves/ability/core/RootTarget.java index 0c42d32..dcc9fcc 100644 --- a/abilities/RootTarget.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/RootTarget.java @@ -1,10 +1,13 @@ -import org.bukkit.Location; -import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Player; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.Location; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; /** * DISCLAIMER: The Ability source code is provided as-is, and the creator(s) of diff --git a/abilities/ShootArrow.java b/src/com/garbagemule/MobArena/waves/ability/core/ShootArrow.java similarity index 69% rename from abilities/ShootArrow.java rename to src/com/garbagemule/MobArena/waves/ability/core/ShootArrow.java index a338b60..4078799 100644 --- a/abilities/ShootArrow.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/ShootArrow.java @@ -1,8 +1,10 @@ -import org.bukkit.entity.Arrow; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import org.bukkit.entity.Arrow; @AbilityInfo( name = "Shoot Arrow", diff --git a/abilities/ShootFireball.java b/src/com/garbagemule/MobArena/waves/ability/core/ShootFireball.java similarity index 70% rename from abilities/ShootFireball.java rename to src/com/garbagemule/MobArena/waves/ability/core/ShootFireball.java index 530f526..01fdea6 100644 --- a/abilities/ShootFireball.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/ShootFireball.java @@ -1,8 +1,10 @@ -import org.bukkit.entity.Fireball; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import org.bukkit.entity.Fireball; @AbilityInfo( name = "Shoot Fireball", diff --git a/abilities/ShufflePositions.java b/src/com/garbagemule/MobArena/waves/ability/core/ShufflePositions.java similarity index 88% rename from abilities/ShufflePositions.java rename to src/com/garbagemule/MobArena/waves/ability/core/ShufflePositions.java index c46ce89..08b4eac 100644 --- a/abilities/ShufflePositions.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/ShufflePositions.java @@ -1,15 +1,17 @@ +package com.garbagemule.MobArena.waves.ability.core; + +import com.garbagemule.MobArena.framework.Arena; +import com.garbagemule.MobArena.waves.MABoss; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import org.bukkit.Location; +import org.bukkit.entity.LivingEntity; + import java.util.ArrayList; import java.util.Collections; import java.util.LinkedList; import java.util.List; -import org.bukkit.Location; -import org.bukkit.entity.LivingEntity; - -import com.garbagemule.MobArena.framework.Arena; -import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; - @AbilityInfo( name = "Shuffle Positions", aliases = {"shuffle","shufflepositions"} diff --git a/abilities/ThrowDistant.java b/src/com/garbagemule/MobArena/waves/ability/core/ThrowDistant.java similarity index 79% rename from abilities/ThrowDistant.java rename to src/com/garbagemule/MobArena/waves/ability/core/ThrowDistant.java index f919436..16d0692 100644 --- a/abilities/ThrowDistant.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/ThrowDistant.java @@ -1,10 +1,13 @@ -import org.bukkit.Location; -import org.bukkit.entity.Player; -import org.bukkit.util.Vector; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.Location; +import org.bukkit.entity.Player; +import org.bukkit.util.Vector; @AbilityInfo( name = "Throw Distant", diff --git a/abilities/ThrowNearby.java b/src/com/garbagemule/MobArena/waves/ability/core/ThrowNearby.java similarity index 79% rename from abilities/ThrowNearby.java rename to src/com/garbagemule/MobArena/waves/ability/core/ThrowNearby.java index 00dc2bf..a8401cf 100644 --- a/abilities/ThrowNearby.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/ThrowNearby.java @@ -1,10 +1,13 @@ -import org.bukkit.Location; -import org.bukkit.entity.Player; -import org.bukkit.util.Vector; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.Location; +import org.bukkit.entity.Player; +import org.bukkit.util.Vector; @AbilityInfo( name = "Throw Nearby", diff --git a/abilities/ThrowTarget.java b/src/com/garbagemule/MobArena/waves/ability/core/ThrowTarget.java similarity index 79% rename from abilities/ThrowTarget.java rename to src/com/garbagemule/MobArena/waves/ability/core/ThrowTarget.java index bc08234..005b064 100644 --- a/abilities/ThrowTarget.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/ThrowTarget.java @@ -1,10 +1,13 @@ -import org.bukkit.Location; -import org.bukkit.entity.LivingEntity; -import org.bukkit.util.Vector; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.Location; +import org.bukkit.entity.LivingEntity; +import org.bukkit.util.Vector; @AbilityInfo( name = "Throw Target", diff --git a/abilities/WarpToPlayer.java b/src/com/garbagemule/MobArena/waves/ability/core/WarpToPlayer.java similarity index 64% rename from abilities/WarpToPlayer.java rename to src/com/garbagemule/MobArena/waves/ability/core/WarpToPlayer.java index 7c555d6..4e70a46 100644 --- a/abilities/WarpToPlayer.java +++ b/src/com/garbagemule/MobArena/waves/ability/core/WarpToPlayer.java @@ -1,8 +1,11 @@ -import org.bukkit.entity.Player; +package com.garbagemule.MobArena.waves.ability.core; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.waves.MABoss; -import com.garbagemule.MobArena.waves.ability.*; +import com.garbagemule.MobArena.waves.ability.Ability; +import com.garbagemule.MobArena.waves.ability.AbilityInfo; +import com.garbagemule.MobArena.waves.ability.AbilityUtils; +import org.bukkit.entity.Player; @AbilityInfo( name = "Warp",