Implement an arena manager for the specific bosses on the map

This commit is contained in:
AlexTheCoder 2017-04-29 00:27:46 -04:00
parent 77f13f9b4c
commit 4e58fa1e6c
2 changed files with 55 additions and 0 deletions

View File

@ -16,6 +16,7 @@ import mineplex.core.MiniPlugin;
import mineplex.core.blockrestore.BlockRestore;
import mineplex.core.common.util.C;
import mineplex.core.common.util.UtilServer;
import mineplex.core.common.util.UtilWorld;
import mineplex.core.disguise.DisguiseManager;
import mineplex.core.thereallyoldscoreboardapiweshouldremove.ScoreboardManager;
import mineplex.core.thereallyoldscoreboardapiweshouldremove.elements.ScoreboardElement;
@ -26,6 +27,7 @@ import mineplex.game.clans.clans.loot.LootManager;
import mineplex.game.clans.clans.regions.ClansRegions;
import mineplex.game.clans.clans.worldevent.api.EventState;
import mineplex.game.clans.clans.worldevent.api.WorldEvent;
import mineplex.game.clans.clans.worldevent.boss.BossArenaLocationFinder;
import mineplex.game.clans.clans.worldevent.command.WorldEventCommand;
import mineplex.minecraft.game.classcombat.Skill.SkillFactory;
import mineplex.minecraft.game.classcombat.Skill.event.SkillTriggerEvent;
@ -38,6 +40,7 @@ public class WorldEventManager extends MiniPlugin implements ScoreboardElement
private Random _random;
private ClansManager _clansManager;
private EventTerrainFinder _terrainFinder;
private BossArenaLocationFinder _bossFinder;
private DamageManager _damageManager;
private LootManager _lootManager;
private BlockRestore _blockRestore;
@ -52,6 +55,7 @@ public class WorldEventManager extends MiniPlugin implements ScoreboardElement
_random = new Random();
_terrainFinder = new EventTerrainFinder(clansManager);
_bossFinder = new BossArenaLocationFinder(UtilWorld.getWorld("world"));
_clansManager = clansManager;
_damageManager = damageManager;
_lootManager = lootManager;
@ -230,6 +234,11 @@ public class WorldEventManager extends MiniPlugin implements ScoreboardElement
return _terrainFinder;
}
public BossArenaLocationFinder getBossArenaLocationFinder()
{
return _bossFinder;
}
private void updateNextEventTime()
{
// 45 Minutes + (0 - 15 Minutes)

View File

@ -0,0 +1,46 @@
package mineplex.game.clans.clans.worldevent.boss;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.util.Vector;
import mineplex.core.common.Pair;
public class BossArenaLocationFinder
{
private World _world;
public BossArenaLocationFinder(World world)
{
_world = world;
}
public Location getIronWizardCenter()
{
return new Location(_world, 0, 0, 0);
}
public Pair<List<Vector>, List<Vector>> getIronWizardPads()
{
List<Vector> in = new ArrayList<>();
List<Vector> out = new ArrayList<>();
return Pair.create(in, out);
}
public Location getSkeletonKingCenter()
{
return new Location(_world, 0, 0, 0);
}
public Pair<List<Vector>, List<Vector>> getSkeletonKingPads()
{
List<Vector> in = new ArrayList<>();
List<Vector> out = new ArrayList<>();
return Pair.create(in, out);
}
}