From a8bd0e4406d76d06e3b701cf1a61be3cc6caff23 Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 26 Mar 2016 23:20:03 +0000 Subject: [PATCH] add current Clan Outpost to travel shop --- .../mineplex/game/clans/clans/ClansManager.java | 1 + .../game/clans/clans/siege/outpost/Outpost.java | 5 +++++ .../game/clans/spawn/travel/TravelButton.java | 5 +++++ .../game/clans/spawn/travel/TravelPage.java | 14 ++++++++++++-- .../tutorials/clans/ClansMainTutorial.java | 14 ++++++++++++++ 5 files changed, 37 insertions(+), 2 deletions(-) diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClansManager.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClansManager.java index 7de427c1f..2e1463a7f 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClansManager.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClansManager.java @@ -99,6 +99,7 @@ import mineplex.game.clans.clans.redis.ClanLoadCommandHandler; import mineplex.game.clans.clans.regions.ClansRegions; import mineplex.game.clans.clans.scoreboard.ClansScoreboardManager; import mineplex.game.clans.clans.siege.SiegeManager; +import mineplex.game.clans.clans.siege.outpost.OutpostManager; import mineplex.game.clans.clans.staff.SilentChestOpen; import mineplex.game.clans.clans.supplyDrop.SupplyDropManager; import mineplex.game.clans.clans.tntGenerator.TntGeneratorManager; diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/siege/outpost/Outpost.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/siege/outpost/Outpost.java index 5a010009e..4c7668e43 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/siege/outpost/Outpost.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/siege/outpost/Outpost.java @@ -621,4 +621,9 @@ public class Outpost implements Listener return token; } + + public Location getCoreLocation() + { + return _core; + } } diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/spawn/travel/TravelButton.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/spawn/travel/TravelButton.java index 27e0e51b0..6e6dc9b87 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/spawn/travel/TravelButton.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/spawn/travel/TravelButton.java @@ -58,6 +58,11 @@ public class TravelButton implements IButton return; } + if (_location == null) + { + return; + } + if (player.getLocation().distance(_location) <= 64) { return; diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/spawn/travel/TravelPage.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/spawn/travel/TravelPage.java index c90d27172..d111c78d8 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/spawn/travel/TravelPage.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/spawn/travel/TravelPage.java @@ -12,7 +12,6 @@ import org.bukkit.inventory.meta.ItemMeta; import mineplex.core.account.CoreClientManager; import mineplex.core.common.util.C; -import mineplex.core.common.util.F; import mineplex.core.common.util.UtilBlock; import mineplex.core.donation.DonationManager; import mineplex.core.itemstack.ItemBuilder; @@ -23,6 +22,8 @@ import mineplex.game.clans.clans.ClanInfo; import mineplex.game.clans.clans.ClanRole; import mineplex.game.clans.clans.ClansManager; import mineplex.game.clans.clans.gui.ClanIcon; +import mineplex.game.clans.clans.siege.outpost.Outpost; +import mineplex.game.clans.shop.ClansShopItem; import mineplex.game.clans.spawn.Spawn; public class TravelPage extends ShopPageBase @@ -73,9 +74,18 @@ public class TravelPage extends ShopPageBase C.cWhite + "as they are Safe Zones.", }, 22 + 9 + 9, ClanIcon.CASTLE.getData()); + final ClanInfo clan = _plugin.getClan(getPlayer()); + Outpost outpost = _plugin.getSiegeManager().getOutpostManager().Get(clan); + + addTravelLocation(outpost == null ? null : outpost.getCoreLocation().clone().add(0, 1, 0), ClansShopItem.OUTPOST.getMaterial(), (outpost == null ? C.cRedB : C.cDGreenB) + "Outpost", new String[] { + C.cWhite + "Teleport to your Clan's currently", + C.cWhite + "active Outpost.", + " ", + (outpost == null ? C.cRed + "Your Clan does not have an Outpost." : ""), + }, 8, ClanIcon.CASTLE.getData()); + - final ClanInfo clan = getPlugin().getClan(getPlayer()); final ItemStack item = new ItemStack(Material.BED, 1); ItemMeta meta = item.getItemMeta(); diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/tutorial/tutorials/clans/ClansMainTutorial.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/tutorial/tutorials/clans/ClansMainTutorial.java index f328f9aad..4bb0c7276 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/tutorial/tutorials/clans/ClansMainTutorial.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/tutorial/tutorials/clans/ClansMainTutorial.java @@ -17,7 +17,10 @@ import org.bukkit.event.player.PlayerDropItemEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.plugin.java.JavaPlugin; +import mineplex.core.common.util.Callback; +import mineplex.core.common.util.F; import mineplex.core.common.util.UtilAlg; +import mineplex.core.common.util.UtilPlayer; import mineplex.core.hologram.HologramManager; import mineplex.core.npc.NpcManager; import mineplex.core.updater.UpdateType; @@ -73,6 +76,17 @@ public class ClansMainTutorial extends Tutorial getMessage().removePlayer(player); player.teleport(Spawn.getNorthSpawn()); + ClansManager.getInstance().getClanDataAccess().delete(ClansManager.getInstance().getClan(player), new Callback() + { + @Override + public void run(Boolean data) + { + if (data.booleanValue()) + { + UtilPlayer.message(player, F.main("Clans", "Your Clan has been deleted.")); + } + } + }); } @Override