From c719d693dd99dc651cffe82a6a894256d41d57b0 Mon Sep 17 00:00:00 2001 From: Jonathan Williams Date: Wed, 21 Oct 2015 01:15:09 -0500 Subject: [PATCH] Added delete benefit call for repository. Added failsafe in case inventory update didn't apply Removed 43k benefit. --- .../src/mineplex/core/benefit/BenefitManager.java | 4 ++-- .../src/mineplex/core/benefit/BenefitManagerRepository.java | 6 ++++++ .../src/mineplex/core/benefit/benefits/BenefitBase.java | 5 +++++ .../src/mineplex/core/benefit/benefits/Players43k.java | 4 ++++ 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/benefit/BenefitManager.java b/Plugins/Mineplex.Core/src/mineplex/core/benefit/BenefitManager.java index a6caf2cdb..045d6f42f 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/benefit/BenefitManager.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/benefit/BenefitManager.java @@ -27,11 +27,11 @@ public class BenefitManager extends MiniDbClientPlugin { super("Benefit Manager", plugin, clientManager); - _repository = new BenefitManagerRepository(plugin); + _repository = new BenefitManagerRepository(plugin); //_benefits.add(new Christmas2014(plugin, _repository, inventoryManager)); //_benefits.add(new Thanksgiving2014(plugin, _repository, inventoryManager)); - _benefits.add(new Players43k(this, _repository, inventoryManager)); + //_benefits.add(new Players43k(this, _repository, inventoryManager)); } @EventHandler(priority = EventPriority.LOWEST) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/benefit/BenefitManagerRepository.java b/Plugins/Mineplex.Core/src/mineplex/core/benefit/BenefitManagerRepository.java index 8cfe26b64..39fbfa530 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/benefit/BenefitManagerRepository.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/benefit/BenefitManagerRepository.java @@ -15,6 +15,7 @@ public class BenefitManagerRepository extends RepositoryBase private static String CREATE_BENEFIT_TABLE = "CREATE TABLE IF NOT EXISTS rankBenefits (id INT NOT NULL AUTO_INCREMENT, accountId INT, benefit VARCHAR(100), PRIMARY KEY (id), FOREIGN KEY (accountId) REFERENCES accounts(id));"; private static String INSERT_BENEFIT = "INSERT INTO rankBenefits (accountId, benefit) VALUES (?, ?);"; + private static String DELETE_BENEFIT = "DELETE FROM rankBenefits WHERE accountId = ? AND benefit = ?;"; public BenefitManagerRepository(JavaPlugin plugin) { @@ -50,4 +51,9 @@ public class BenefitManagerRepository extends RepositoryBase return playerBenefit; } + + public void removeBenefit(int accountId, String benefit) + { + executeUpdate(DELETE_BENEFIT, new ColumnInt("accountId", accountId), new ColumnVarChar("benefit", 100, benefit)); + } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/BenefitBase.java b/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/BenefitBase.java index 517d95c34..fbed670f4 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/BenefitBase.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/BenefitBase.java @@ -45,6 +45,11 @@ public abstract class BenefitBase } }); } + + protected void removeBenefit(final Player player) + { + _repository.removeBenefit(_plugin.getClientManager().Get(player).getAccountId(), _name); + } public String getName() { diff --git a/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/Players43k.java b/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/Players43k.java index 1bfd155fe..41e40cd9f 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/Players43k.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/benefit/benefits/Players43k.java @@ -39,6 +39,10 @@ public class Players43k extends BenefitBase UtilPlayer.message(player, ""); UtilPlayer.message(player, C.cGold + C.Strike + "============================================="); } + else + { + removeBenefit(player); + } } }, player, "Ancient Chest", 3); }