From 28df77bbf01af37926f6f38f20496225be2b2cae Mon Sep 17 00:00:00 2001 From: Zrips Date: Tue, 10 Jan 2017 17:28:35 +0200 Subject: [PATCH] Update permission boost by force when checking with command --- com/gamingmesh/jobs/Jobs.java | 2 +- com/gamingmesh/jobs/PlayerManager.java | 22 +++++++++++++------ com/gamingmesh/jobs/commands/list/bonus.java | 2 +- com/gamingmesh/jobs/container/JobsPlayer.java | 3 ++- com/gamingmesh/jobs/i18n/Language.java | 19 +++++++++++----- 5 files changed, 32 insertions(+), 16 deletions(-) diff --git a/com/gamingmesh/jobs/Jobs.java b/com/gamingmesh/jobs/Jobs.java index abe68565..dbb31c47 100644 --- a/com/gamingmesh/jobs/Jobs.java +++ b/com/gamingmesh/jobs/Jobs.java @@ -910,7 +910,7 @@ public class Jobs extends JavaPlugin { player.giveExp(expInt); } } - Boost boost = Jobs.getPlayerManager().getFinalBonus(jPlayer, prog.getJob(), ent, victim); + Boost boost = Jobs.getPlayerManager().getFinalBonus(jPlayer, prog.getJob(), ent, victim, false); // Calculate income if (income != 0D) { diff --git a/com/gamingmesh/jobs/PlayerManager.java b/com/gamingmesh/jobs/PlayerManager.java index 87744c08..932be437 100644 --- a/com/gamingmesh/jobs/PlayerManager.java +++ b/com/gamingmesh/jobs/PlayerManager.java @@ -447,7 +447,7 @@ public class PlayerManager { if (sound != null && player != null && player.getLocation() != null) player.getWorld().playSound(player.getLocation(), sound, levelUpEvent.getSoundVolume(), levelUpEvent.getSoundPitch()); else - Bukkit.getConsoleSender().sendMessage("[Jobs] Cant find sound by name: " + levelUpEvent.getTitleChangeSoundName() + ". Please update it"); + Bukkit.getConsoleSender().sendMessage("[Jobs] Cant find sound by name: " + levelUpEvent.getTitleChangeSound().name() + ". Please update it"); } String message; @@ -488,7 +488,7 @@ public class PlayerManager { player.getWorld().playSound(player.getLocation(), sound, levelUpEvent.getTitleChangeVolume(), levelUpEvent.getTitleChangePitch()); else - Bukkit.getConsoleSender().sendMessage("[Jobs] Cant find sound by name: " + levelUpEvent.getTitleChangeSoundName() + ". Please update it"); + Bukkit.getConsoleSender().sendMessage("[Jobs] Cant find sound by name: " + levelUpEvent.getTitleChangeSound().name() + ". Please update it"); } // user would skill up if (Jobs.getGCManager().isBroadcastingSkillups()) { @@ -568,9 +568,13 @@ public class PlayerManager { } public BoostMultiplier getBoost(JobsPlayer player, Job job) { + return getBoost(player, job, false); + } + + public BoostMultiplier getBoost(JobsPlayer player, Job job, boolean force) { BoostMultiplier b = new BoostMultiplier(); for (CurrencyType one : CurrencyType.values()) { - b.add(one, getBoost(player, job, one, false)); + b.add(one, getBoost(player, job, one, force)); } return b; } @@ -673,11 +677,15 @@ public class PlayerManager { McMMO, PetPay, NearSpawner, Permission, Global, Dynamic, Item, Area } - public Boost getFinalBonus(JobsPlayer player, Job prog) { - return getFinalBonus(player, prog, null, null); + public Boost getFinalBonus(JobsPlayer player, Job prog, boolean force) { + return getFinalBonus(player, prog, null, null, force); } - public Boost getFinalBonus(JobsPlayer player, Job prog, Entity ent, LivingEntity victim) { + public Boost getFinalBonus(JobsPlayer player, Job prog) { + return getFinalBonus(player, prog, null, null, false); + } + + public Boost getFinalBonus(JobsPlayer player, Job prog, Entity ent, LivingEntity victim, boolean force) { Boost boost = new Boost(); if (player == null || prog == null) @@ -701,7 +709,7 @@ public class PlayerManager { if (victim != null && victim.hasMetadata(this.getMobSpawnerMetadata())) boost.add(BoostOf.NearSpawner, new BoostMultiplier().add(player.getVipSpawnerMultiplier())); - boost.add(BoostOf.Permission, Jobs.getPlayerManager().getBoost(player, prog)); + boost.add(BoostOf.Permission, Jobs.getPlayerManager().getBoost(player, prog, force)); boost.add(BoostOf.Global, prog.getBoost()); if (Jobs.getGCManager().useDynamicPayment) boost.add(BoostOf.Dynamic, new BoostMultiplier().add(prog.getBonus())); diff --git a/com/gamingmesh/jobs/commands/list/bonus.java b/com/gamingmesh/jobs/commands/list/bonus.java index 01331de0..613a5cdd 100644 --- a/com/gamingmesh/jobs/commands/list/bonus.java +++ b/com/gamingmesh/jobs/commands/list/bonus.java @@ -42,7 +42,7 @@ public class bonus implements Cmd { if (jPlayer == null) return false; - Boost boost = Jobs.getPlayerManager().getFinalBonus(jPlayer, job); + Boost boost = Jobs.getPlayerManager().getFinalBonus(jPlayer, job, true); sender.sendMessage(Jobs.getLanguage().getMessage("command.bonus.output.topline")); diff --git a/com/gamingmesh/jobs/container/JobsPlayer.java b/com/gamingmesh/jobs/container/JobsPlayer.java index b4a924c5..c94cf48a 100644 --- a/com/gamingmesh/jobs/container/JobsPlayer.java +++ b/com/gamingmesh/jobs/container/JobsPlayer.java @@ -33,6 +33,7 @@ import com.gamingmesh.jobs.dao.JobsDAO; import com.gamingmesh.jobs.economy.PaymentData; import com.gamingmesh.jobs.resources.jfep.Parser; import com.gamingmesh.jobs.stuff.ChatColor; +import com.gamingmesh.jobs.stuff.Debug; import com.gamingmesh.jobs.stuff.Perm; public class JobsPlayer { @@ -189,7 +190,6 @@ public class JobsPlayer { } public double getBoost(String JobName, CurrencyType type, boolean force) { - double Boost = 0D; if (this.OffPlayer == null) @@ -209,6 +209,7 @@ public class JobsPlayer { if (counter.getType() != type) continue; if (force || time - counter.getTime() > 1000 * 60) { + Debug.D("updating perm"); Boost = getPlayerBoost(JobName, type); counter.setBoost(Boost); counter.setTime(time); diff --git a/com/gamingmesh/jobs/i18n/Language.java b/com/gamingmesh/jobs/i18n/Language.java index e1cc7101..c968d403 100644 --- a/com/gamingmesh/jobs/i18n/Language.java +++ b/com/gamingmesh/jobs/i18n/Language.java @@ -18,7 +18,9 @@ package com.gamingmesh.jobs.i18n; +import org.bukkit.Bukkit; import org.bukkit.ChatColor; +import org.bukkit.command.ConsoleCommandSender; import org.bukkit.configuration.file.FileConfiguration; import com.gamingmesh.jobs.Jobs; import com.gamingmesh.jobs.config.YmlMaker; @@ -30,7 +32,6 @@ public class Language { public Language(Jobs plugin) { this.plugin = plugin; - reload(); } /** @@ -51,11 +52,17 @@ public class Language { public String getMessage(String key, Object... variables) { String missing = "Missing locale for " + key + " "; String msg = ""; - if (customlocale == null || !customlocale.contains(key)) - msg = enlocale.contains(key) == true ? ChatColor.translateAlternateColorCodes('&', enlocale.getString(key)) : missing; - else - msg = customlocale.contains(key) == true ? ChatColor.translateAlternateColorCodes('&', customlocale.getString(key)) : missing; - + try { + if (customlocale == null || !customlocale.contains(key)) + msg = enlocale.contains(key) == true ? ChatColor.translateAlternateColorCodes('&', enlocale.getString(key)) : missing; + else + msg = customlocale.contains(key) == true ? ChatColor.translateAlternateColorCodes('&', customlocale.getString(key)) : missing; + } catch (Exception e) { + String message = ChatColor.translateAlternateColorCodes('&', "&e[Jobs] &2Cant read language file. Plugin will be disabled."); + ConsoleCommandSender console = Bukkit.getServer().getConsoleSender(); + console.sendMessage(message); + throw e; + } if (variables.length > 0) for (int i = 0; i < variables.length; i++) { if (variables.length >= i + 2)