From 40741d1a7dbf3717dbe22321dfb1be958a02c1b9 Mon Sep 17 00:00:00 2001 From: Zrips Date: Fri, 2 Dec 2016 15:00:58 +0200 Subject: [PATCH] Check block type for fast pay to avoid paying for different block types --- com/gamingmesh/jobs/HookEconomyTask.java | 2 +- com/gamingmesh/jobs/Jobs.java | 1 + com/gamingmesh/jobs/commands/JobsCommands.java | 6 +++--- com/gamingmesh/jobs/container/Job.java | 2 +- com/gamingmesh/jobs/listeners/JobsPaymentListener.java | 9 ++++++--- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/com/gamingmesh/jobs/HookEconomyTask.java b/com/gamingmesh/jobs/HookEconomyTask.java index f3065468..d06fb351 100644 --- a/com/gamingmesh/jobs/HookEconomyTask.java +++ b/com/gamingmesh/jobs/HookEconomyTask.java @@ -54,7 +54,7 @@ public class HookEconomyTask implements Runnable { Bukkit.getServer().getLogger().severe("https://dev.bukkit.org/bukkit-plugins/iconomy-7/"); Bukkit.getServer().getLogger().severe("=============================================="); } - + private boolean setVault() { Plugin eco = Bukkit.getServer().getPluginManager().getPlugin("Vault"); if (eco == null) diff --git a/com/gamingmesh/jobs/Jobs.java b/com/gamingmesh/jobs/Jobs.java index de260c1f..3c9b308f 100644 --- a/com/gamingmesh/jobs/Jobs.java +++ b/com/gamingmesh/jobs/Jobs.java @@ -996,6 +996,7 @@ public class Jobs extends JavaPlugin { else expAmount = JobsExpGainEvent.getExp(); + Debug.D("income: " + income); FastPayment.clear(); FastPayment.put(jPlayer.getUserName(), new FastPayment(jPlayer, info, new BufferedPayment(jPlayer.getPlayer(), income, pointAmount, expAmount), prog .getJob())); diff --git a/com/gamingmesh/jobs/commands/JobsCommands.java b/com/gamingmesh/jobs/commands/JobsCommands.java index 95ad6a81..f5d4d6a6 100644 --- a/com/gamingmesh/jobs/commands/JobsCommands.java +++ b/com/gamingmesh/jobs/commands/JobsCommands.java @@ -376,13 +376,13 @@ public class JobsCommands implements CommandExecutor { } if (job.getBoost().get(BoostType.EXP) != 0D) - message.append(ChatColor.GOLD + Jobs.getLanguage().getMessage("command.expboost.output.infostats", "%boost%", job.getBoost().get(BoostType.EXP)) + "\n"); + message.append(ChatColor.GOLD + Jobs.getLanguage().getMessage("command.expboost.output.infostats", "%boost%", (job.getBoost().get(BoostType.EXP)) + 1) + "\n"); if (job.getBoost().get(BoostType.MONEY) != 0D) - message.append(ChatColor.GOLD + Jobs.getLanguage().getMessage("command.moneyboost.output.infostats", "%boost%", job.getBoost().get(BoostType.MONEY)) + "\n"); + message.append(ChatColor.GOLD + Jobs.getLanguage().getMessage("command.moneyboost.output.infostats", "%boost%", (job.getBoost().get(BoostType.MONEY)) + 1) + "\n"); if (job.getBoost().get(BoostType.POINTS) != 0D) - message.append(ChatColor.GOLD + Jobs.getLanguage().getMessage("command.pointboost.output.infostats", "%boost%", job.getBoost().get(BoostType.POINTS)) + "\n"); + message.append(ChatColor.GOLD + Jobs.getLanguage().getMessage("command.pointboost.output.infostats", "%boost%", (job.getBoost().get(BoostType.POINTS)) + 1) + "\n"); if (Jobs.getGCManager().useDynamicPayment) if (job.getBonus() < 0) diff --git a/com/gamingmesh/jobs/container/Job.java b/com/gamingmesh/jobs/container/Job.java index f7e599a0..da7d7919 100644 --- a/com/gamingmesh/jobs/container/Job.java +++ b/com/gamingmesh/jobs/container/Job.java @@ -44,7 +44,7 @@ public class Job { // limited items private List jobLimitedItems; // job name - private String jobName; + private String jobName = "N/A"; // job short name (for use in multiple jobs) private String jobShortName; // short description of the job diff --git a/com/gamingmesh/jobs/listeners/JobsPaymentListener.java b/com/gamingmesh/jobs/listeners/JobsPaymentListener.java index 2641a403..75f01329 100644 --- a/com/gamingmesh/jobs/listeners/JobsPaymentListener.java +++ b/com/gamingmesh/jobs/listeners/JobsPaymentListener.java @@ -270,11 +270,15 @@ public class JobsPaymentListener implements Listener { if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName())) return; + BlockActionInfo bInfo = new BlockActionInfo(block, ActionType.BREAK); FastPayment fp = Jobs.FastPayment.get(player.getName()); if (fp != null) { if (fp.getTime() > System.currentTimeMillis()) { - Jobs.perform(fp.getPlayer(), fp.getInfo(), fp.getPayment(), fp.getJob()); - return; + if (fp.getInfo().getName().equalsIgnoreCase(bInfo.getName()) || + fp.getInfo().getNameWithSub().equalsIgnoreCase(bInfo.getNameWithSub())) { + Jobs.perform(fp.getPlayer(), fp.getInfo(), fp.getPayment(), fp.getJob()); + return; + } } Jobs.FastPayment.remove(player.getName()); } @@ -294,7 +298,6 @@ public class JobsPaymentListener implements Listener { if (jPlayer == null) return; - BlockActionInfo bInfo = new BlockActionInfo(block, ActionType.BREAK); Jobs.action(jPlayer, bInfo, block); }