diff --git a/Plugins/Mineplex.Core/src/mineplex/core/RankBenefitsGiver9000.java b/Plugins/Mineplex.Core/src/mineplex/core/RankBenefitsGiver9000.java deleted file mode 100644 index 06617f9ed..000000000 --- a/Plugins/Mineplex.Core/src/mineplex/core/RankBenefitsGiver9000.java +++ /dev/null @@ -1,123 +0,0 @@ -package mineplex.core; - -import java.util.HashSet; - -import mineplex.core.account.CoreClientManager; -import mineplex.core.account.event.RetrieveClientInformationEvent; -import mineplex.core.common.Rank; -import mineplex.core.common.util.C; -import mineplex.core.common.util.F; -import mineplex.core.common.util.NautHashMap; -import mineplex.core.common.util.UtilPlayer; -import mineplex.core.inventory.InventoryManager; - -import org.bukkit.Bukkit; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.plugin.java.JavaPlugin; - -public class RankBenefitsGiver9000 extends MiniPlugin -{ - private CoreClientManager _clientManager; - private InventoryManager _inventoryManager; - private RankBenefitsGiver9000Repository _repository; - - private NautHashMap _playersNeedingBenefit = new NautHashMap(); - - public RankBenefitsGiver9000(JavaPlugin plugin, CoreClientManager clientManager, InventoryManager inventoryManager) - { - super("RankBenefitsGiver9000", plugin); - - _clientManager = clientManager; - _inventoryManager = inventoryManager; - _repository = new RankBenefitsGiver9000Repository(plugin); - } - - @EventHandler - public void loadPlayer(RetrieveClientInformationEvent event) - { - boolean treasureUpdate = false; - boolean horrorUpdate = false; - - for (String benefit : _repository.retrievePlayerBenefits(event.getUniqueId().toString())) - { - if (benefit.equalsIgnoreCase("TreasureUpdate")) - treasureUpdate = true; - - if (benefit.equalsIgnoreCase("HalloweenHorror")) - horrorUpdate = true; - } - - if (!horrorUpdate) - { - _playersNeedingBenefit.put(event.getPlayerName(), "Horror"); - } - - if (!treasureUpdate) - { - _playersNeedingBenefit.put(event.getPlayerName(), "Treasure"); - } - } - - @EventHandler(priority = EventPriority.LOWEST) - public void giveBenefit(final PlayerJoinEvent event) - { - if (!_playersNeedingBenefit.containsKey(event.getPlayer().getName())) - return; - - if (_playersNeedingBenefit.get(event.getPlayer().getName()).contains("Horror")) - { - _inventoryManager.addItemToInventory(event.getPlayer(), "Treasure", "Treasure Key", 2); - - Bukkit.getServer().getScheduler().runTaskAsynchronously(GetPlugin(), new Runnable() - { - public void run() - { - _repository.addBenefit(event.getPlayer().getUniqueId().toString(), "HalloweenHorror"); - } - }); - - Bukkit.getServer().getScheduler().runTaskLater(GetPlugin(), new Runnable() - { - public void run() - { - UtilPlayer.message(event.getPlayer(), C.cPurple + C.Strike + "============================================="); - UtilPlayer.message(event.getPlayer(), ""); - UtilPlayer.message(event.getPlayer(), C.cGold + C.Strike + "HAPPY HALLOWEEN"); - UtilPlayer.message(event.getPlayer(), "You received 2 Treasure Keys!"); - UtilPlayer.message(event.getPlayer(), ""); - UtilPlayer.message(event.getPlayer(), C.cPurple + C.Strike + "============================================="); - } - }, 5L); - } - else if (_playersNeedingBenefit.get(event.getPlayer().getName()).contains("Treasure")) - { - if (_clientManager.Get(event.getPlayer()).GetRank() == Rank.ALL) - { - _inventoryManager.addItemToInventory(event.getPlayer(), "Utility", "Treasure Chest", 1); - _inventoryManager.addItemToInventory(event.getPlayer(), "Treasure", "Treasure Key", 1); - } - else if (_clientManager.Get(event.getPlayer()).GetRank() == Rank.ULTRA) - { - _inventoryManager.addItemToInventory(event.getPlayer(), "Utility", "Treasure Chest", 20); - _inventoryManager.addItemToInventory(event.getPlayer(), "Treasure", "Treasure Key", 5); - } - else - { - _inventoryManager.addItemToInventory(event.getPlayer(), "Utility", "Treasure Chest", 40); - _inventoryManager.addItemToInventory(event.getPlayer(), "Treasure", "Treasure Key", 10); - } - - Bukkit.getServer().getScheduler().runTaskAsynchronously(GetPlugin(), new Runnable() - { - public void run() - { - _repository.addBenefit(event.getPlayer().getUniqueId().toString(), "TreasureUpdate"); - } - }); - } - - _playersNeedingBenefit.remove(event.getPlayer().getName()); - } -} diff --git a/Plugins/Mineplex.Core/src/mineplex/core/benefit/PlayerBenefit.java b/Plugins/Mineplex.Core/src/mineplex/core/benefit/PlayerBenefit.java new file mode 100644 index 000000000..f9c60c04e --- /dev/null +++ b/Plugins/Mineplex.Core/src/mineplex/core/benefit/PlayerBenefit.java @@ -0,0 +1,8 @@ +package mineplex.core.benefit; + +import java.util.HashSet; + +public class PlayerBenefit +{ + public HashSet Benefits = new HashSet(); +} diff --git a/Plugins/Mineplex.Core/src/mineplex/core/benefit/RankBenefitsGiver9000.java b/Plugins/Mineplex.Core/src/mineplex/core/benefit/RankBenefitsGiver9000.java new file mode 100644 index 000000000..cb59b62c7 --- /dev/null +++ b/Plugins/Mineplex.Core/src/mineplex/core/benefit/RankBenefitsGiver9000.java @@ -0,0 +1,68 @@ +package mineplex.core.benefit; + +import java.util.ArrayList; +import java.util.List; + +import mineplex.core.MiniClientPlugin; +import mineplex.core.account.CoreClientManager; +import mineplex.core.account.event.RetrieveClientInformationEvent; +import mineplex.core.benefit.benefits.BenefitBase; +import mineplex.core.benefit.benefits.HalloweenHorror2014; +import mineplex.core.benefit.benefits.Thanksgiving2014; +import mineplex.core.benefit.benefits.TreasureRelease; +import mineplex.core.inventory.InventoryManager; + +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.player.PlayerJoinEvent; +import org.bukkit.plugin.java.JavaPlugin; + +public class RankBenefitsGiver9000 extends MiniClientPlugin +{ + private RankBenefitsGiver9000Repository _repository; + + private List _benefits = new ArrayList(); + + public RankBenefitsGiver9000(JavaPlugin plugin, CoreClientManager clientManager, InventoryManager inventoryManager) + { + super("RankBenefitsGiver9000", plugin); + + _repository = new RankBenefitsGiver9000Repository(plugin); + + _benefits.add(new HalloweenHorror2014(plugin, _repository, inventoryManager)); + _benefits.add(new TreasureRelease(plugin, _repository, inventoryManager, clientManager)); + _benefits.add(new Thanksgiving2014(plugin, _repository, inventoryManager)); + } + + @EventHandler(priority = EventPriority.LOWEST) + public void giveBenefit(final PlayerJoinEvent event) + { + for (BenefitBase benefit : _benefits) + { + if (!Get(event.getPlayer()).Benefits.contains(benefit.getName())) + { + benefit.rewardPlayer(event.getPlayer()); + benefit.recordBenefit(event.getPlayer()); + } + } + } + + @Override + protected PlayerBenefit AddPlayer(String player) + { + return new PlayerBenefit(); + } + + @Override + protected void loadClientInformation(RetrieveClientInformationEvent event) + { + event.incrementProcessingCount(); + + for (String benefit : _repository.retrievePlayerBenefits(event.getUniqueId().toString())) + { + Get(event.getPlayerName()).Benefits.add(benefit); + } + + event.decreaseProcessingCount(); + } +} diff --git a/Plugins/Mineplex.Core/src/mineplex/core/RankBenefitsGiver9000Repository.java b/Plugins/Mineplex.Core/src/mineplex/core/benefit/RankBenefitsGiver9000Repository.java similarity index 98% rename from Plugins/Mineplex.Core/src/mineplex/core/RankBenefitsGiver9000Repository.java rename to Plugins/Mineplex.Core/src/mineplex/core/benefit/RankBenefitsGiver9000Repository.java index 7f591ea6a..f55f7581c 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/RankBenefitsGiver9000Repository.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/benefit/RankBenefitsGiver9000Repository.java @@ -1,4 +1,4 @@ -package mineplex.core; +package mineplex.core.benefit; import java.sql.ResultSet; import java.sql.SQLException; diff --git a/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/BenefitBase.java b/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/BenefitBase.java new file mode 100644 index 000000000..b2d00d366 --- /dev/null +++ b/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/BenefitBase.java @@ -0,0 +1,49 @@ +package mineplex.core.benefit.benefits; + +import mineplex.core.benefit.RankBenefitsGiver9000Repository; + +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.plugin.java.JavaPlugin; + +public abstract class BenefitBase +{ + private JavaPlugin _plugin; + private String _name; + private RankBenefitsGiver9000Repository _repository; + + protected BenefitBase(JavaPlugin plugin, String name, RankBenefitsGiver9000Repository repository) + { + _plugin = plugin; + _name = name; + _repository = repository; + } + + public JavaPlugin getPlugin() + { + return _plugin; + } + + public RankBenefitsGiver9000Repository getRepository() + { + return _repository; + } + + public abstract void rewardPlayer(Player player); + + public void recordBenefit(final Player player) + { + Bukkit.getServer().getScheduler().runTaskAsynchronously(_plugin, new Runnable() + { + public void run() + { + _repository.addBenefit(player.getUniqueId().toString(), _name); + } + }); + } + + public String getName() + { + return _name; + } +} diff --git a/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/HalloweenHorror2014.java b/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/HalloweenHorror2014.java new file mode 100644 index 000000000..7b63b0cc3 --- /dev/null +++ b/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/HalloweenHorror2014.java @@ -0,0 +1,41 @@ +package mineplex.core.benefit.benefits; + +import mineplex.core.benefit.RankBenefitsGiver9000Repository; +import mineplex.core.common.util.C; +import mineplex.core.common.util.UtilPlayer; +import mineplex.core.inventory.InventoryManager; + +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.plugin.java.JavaPlugin; + +public class HalloweenHorror2014 extends BenefitBase +{ + private InventoryManager _inventoryManager; + + public HalloweenHorror2014(JavaPlugin plugin, RankBenefitsGiver9000Repository repository, InventoryManager inventoryManager) + { + super(plugin, "HalloweenHorror", repository); + + _inventoryManager = inventoryManager; + } + + @Override + public void rewardPlayer(final Player player) + { + _inventoryManager.addItemToInventory(player, "Treasure", "Treasure Key", 2); + + Bukkit.getServer().getScheduler().runTaskLater(getPlugin(), new Runnable() + { + public void run() + { + UtilPlayer.message(player, C.cPurple + C.Strike + "============================================="); + UtilPlayer.message(player, ""); + UtilPlayer.message(player, C.cGold + "HAPPY HALLOWEEN"); + UtilPlayer.message(player, "You received 2 Treasure Keys!"); + UtilPlayer.message(player, ""); + UtilPlayer.message(player, C.cPurple + C.Strike + "============================================="); + } + }, 5L); + } +} diff --git a/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/Thanksgiving2014.java b/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/Thanksgiving2014.java new file mode 100644 index 000000000..43cac31f0 --- /dev/null +++ b/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/Thanksgiving2014.java @@ -0,0 +1,41 @@ +package mineplex.core.benefit.benefits; + +import mineplex.core.benefit.RankBenefitsGiver9000Repository; +import mineplex.core.common.util.C; +import mineplex.core.common.util.UtilPlayer; +import mineplex.core.inventory.InventoryManager; + +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.plugin.java.JavaPlugin; + +public class Thanksgiving2014 extends BenefitBase +{ + private InventoryManager _inventoryManager; + + public Thanksgiving2014(JavaPlugin plugin, RankBenefitsGiver9000Repository repository, InventoryManager inventoryManager) + { + super(plugin, "Thanksgiving2014", repository); + + _inventoryManager = inventoryManager; + } + + @Override + public void rewardPlayer(final Player player) + { + _inventoryManager.addItemToInventory(player, "Treasure", "Treasure Key", 1); + + Bukkit.getServer().getScheduler().runTaskLater(getPlugin(), new Runnable() + { + public void run() + { + UtilPlayer.message(player, C.cPurple + C.Strike + "============================================="); + UtilPlayer.message(player, ""); + UtilPlayer.message(player, C.cGold + "HAPPY THANKSGIVING"); + UtilPlayer.message(player, "You received 1 Treasure Key!"); + UtilPlayer.message(player, ""); + UtilPlayer.message(player, C.cPurple + C.Strike + "============================================="); + } + }, 5L); + } +} diff --git a/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/TreasureRelease.java b/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/TreasureRelease.java new file mode 100644 index 000000000..fdd13dcaf --- /dev/null +++ b/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/TreasureRelease.java @@ -0,0 +1,43 @@ +package mineplex.core.benefit.benefits; + +import mineplex.core.account.CoreClientManager; +import mineplex.core.benefit.RankBenefitsGiver9000Repository; +import mineplex.core.common.Rank; +import mineplex.core.inventory.InventoryManager; + +import org.bukkit.entity.Player; +import org.bukkit.plugin.java.JavaPlugin; + +public class TreasureRelease extends BenefitBase +{ + private InventoryManager _inventoryManager; + private CoreClientManager _clientManager; + + public TreasureRelease(JavaPlugin plugin, RankBenefitsGiver9000Repository repository, InventoryManager inventoryManager, CoreClientManager clientManager) + { + super(plugin, "TreasureUpdate", repository); + + _inventoryManager = inventoryManager; + _clientManager = clientManager; + } + + @Override + public void rewardPlayer(final Player player) + { + if (_clientManager.Get(player).GetRank() == Rank.ALL) + { + _inventoryManager.addItemToInventory(player, "Utility", "Treasure Chest", 1); + _inventoryManager.addItemToInventory(player, "Treasure", "Treasure Key", 1); + } + else if (_clientManager.Get(player).GetRank() == Rank.ULTRA) + { + _inventoryManager.addItemToInventory(player, "Utility", "Treasure Chest", 20); + _inventoryManager.addItemToInventory(player, "Treasure", "Treasure Key", 5); + } + else + { + _inventoryManager.addItemToInventory(player, "Utility", "Treasure Chest", 40); + _inventoryManager.addItemToInventory(player, "Treasure", "Treasure Key", 10); + } + } +} diff --git a/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java b/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java index ef53f41e1..ce6b1c604 100644 --- a/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java +++ b/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java @@ -40,12 +40,11 @@ import org.bukkit.scoreboard.Objective; import org.bukkit.scoreboard.Scoreboard; import mineplex.core.MiniClientPlugin; -import mineplex.core.RankBenefitsGiver9000; import mineplex.core.account.CoreClient; import mineplex.core.account.CoreClientManager; import mineplex.core.account.event.RetrieveClientInformationEvent; -import mineplex.core.achievement.Achievement; import mineplex.core.achievement.AchievementManager; +import mineplex.core.benefit.RankBenefitsGiver9000; import mineplex.core.blockrestore.BlockRestore; import mineplex.core.common.Rank; import mineplex.core.common.util.C; diff --git a/Plugins/Mineplex.ServerMonitor/src/mineplex/servermonitor/ServerMonitor.java b/Plugins/Mineplex.ServerMonitor/src/mineplex/servermonitor/ServerMonitor.java index 921859a76..8a6aac201 100644 --- a/Plugins/Mineplex.ServerMonitor/src/mineplex/servermonitor/ServerMonitor.java +++ b/Plugins/Mineplex.ServerMonitor/src/mineplex/servermonitor/ServerMonitor.java @@ -186,6 +186,9 @@ public class ServerMonitor for (ServerGroup serverGroup : serverGroups) { + if (serverGroup.getName().equals("Testing")) + continue; + handleGroupChanges(dedicatedServers, serverTracker, serverGroup, false); }