From 893a0f7bc204ad0bd0a1a334ea7192724c9930cf Mon Sep 17 00:00:00 2001 From: Boos Date: Sat, 7 Jan 2012 18:04:51 +0100 Subject: [PATCH] per permission group cooldowns, prices and warmups! --- .../boosCooldown/boosConfigManager.java | 116 ++++++++++++++++-- src/cz/boosik/boosCooldown/boosCoolDown.java | 2 +- .../boosCooldown/boosCoolDownManager.java | 64 +++++++++- .../boosCoolDownPlayerListener.java | 32 ++++- .../boosik/boosCooldown/boosPriceManager.java | 39 +++++- src/plugin.yml | 2 +- 6 files changed, 239 insertions(+), 16 deletions(-) diff --git a/src/cz/boosik/boosCooldown/boosConfigManager.java b/src/cz/boosik/boosCooldown/boosConfigManager.java index 99dbe08..4f9099d 100644 --- a/src/cz/boosik/boosCooldown/boosConfigManager.java +++ b/src/cz/boosik/boosCooldown/boosConfigManager.java @@ -29,12 +29,24 @@ public class boosConfigManager { } else { this.confFile = new File(boosCoolDown.getDataFolder(), "config.yml"); this.conf = new Configuration(confFile); - conf.setProperty("commands.cooldown./spawn", 60); - conf.setProperty("commands.cooldown./home", 30); - conf.setProperty("commands.warmup./give", 60); - conf.setProperty("commands.warmup./home", 20); - conf.setProperty("commands.price./spawn", 10); - conf.setProperty("commands.price./home", 20); + conf.setProperty("commands.cooldowns.cooldown./spawn", 60); + conf.setProperty("commands.cooldowns.cooldown./home", 30); + conf.setProperty("commands.cooldowns.cooldown2./home", 40); + conf.setProperty("commands.cooldowns.cooldown3./home", 90); + conf.setProperty("commands.cooldowns.cooldown4./home", 99); + conf.setProperty("commands.cooldowns.cooldown5./home", 542); + conf.setProperty("commands.warmups.warmup./give", 60); + conf.setProperty("commands.warmups.warmup./home", 20); + conf.setProperty("commands.warmups.warmup2./home", 40); + conf.setProperty("commands.warmups.warmup3./home", 90); + conf.setProperty("commands.warmups.warmup4./home", 99); + conf.setProperty("commands.warmups.warmup5./home", 542); + conf.setProperty("commands.prices.price./spawn", 10); + conf.setProperty("commands.prices.price./home", 20); + conf.setProperty("commands.prices.price2./home", 40); + conf.setProperty("commands.prices.price3./home", 90); + conf.setProperty("commands.prices.price4./home", 99); + conf.setProperty("commands.prices.price5./home", 542); conf.setProperty("commands.options.cancel_warmup_on_damage", false); conf.setProperty("commands.options.cancel_warmup_on_move", false); conf.setProperty("commands.options.cancel_warmup_on_sneak", false); @@ -83,21 +95,105 @@ public class boosConfigManager { static int getCoolDown(Player player, String pre) { int coolDown = 0; pre = pre.toLowerCase(); - coolDown = conf.getInt("commands.cooldown." + pre, coolDown); + coolDown = conf.getInt("commands.cooldowns.cooldown." + pre, coolDown); + return coolDown; + } + + public static int getCoolDown2(Player player, String pre) { + int coolDown = 0; + pre = pre.toLowerCase(); + coolDown = conf.getInt("commands.cooldowns.cooldown2." + pre, coolDown); + return coolDown; + } + + public static int getCoolDown3(Player player, String pre) { + int coolDown = 0; + pre = pre.toLowerCase(); + coolDown = conf.getInt("commands.cooldowns.cooldown3." + pre, coolDown); + return coolDown; + } + + public static int getCoolDown4(Player player, String pre) { + int coolDown = 0; + pre = pre.toLowerCase(); + coolDown = conf.getInt("commands.cooldowns.cooldown4." + pre, coolDown); + return coolDown; + } + + public static int getCoolDown5(Player player, String pre) { + int coolDown = 0; + pre = pre.toLowerCase(); + coolDown = conf.getInt("commands.cooldowns.cooldown5." + pre, coolDown); return coolDown; } public static int getWarmUp(Player player, String pre) { int warmUp = 0; pre = pre.toLowerCase(); - warmUp = conf.getInt("commands.warmup." + pre, warmUp); + warmUp = conf.getInt("commands.warmups.warmup." + pre, warmUp); + return warmUp; + } + + public static int getWarmUp2(Player player, String pre) { + int warmUp = 0; + pre = pre.toLowerCase(); + warmUp = conf.getInt("commands.warmups.warmup2." + pre, warmUp); + return warmUp; + } + + public static int getWarmUp3(Player player, String pre) { + int warmUp = 0; + pre = pre.toLowerCase(); + warmUp = conf.getInt("commands.warmups.warmup3." + pre, warmUp); + return warmUp; + } + + public static int getWarmUp4(Player player, String pre) { + int warmUp = 0; + pre = pre.toLowerCase(); + warmUp = conf.getInt("commands.warmups.warmup4." + pre, warmUp); + return warmUp; + } + + public static int getWarmUp5(Player player, String pre) { + int warmUp = 0; + pre = pre.toLowerCase(); + warmUp = conf.getInt("commands.warmups.warmup5." + pre, warmUp); return warmUp; } public static int getPrice(Player player, String pre) { int price = 0; pre = pre.toLowerCase(); - price = conf.getInt("commands.price." + pre, price); + price = conf.getInt("commands.prices.price." + pre, price); + return price; + } + + public static int getPrice2(Player player, String pre) { + int price = 0; + pre = pre.toLowerCase(); + price = conf.getInt("commands.prices.price2." + pre, price); + return price; + } + + public static int getPrice3(Player player, String pre) { + int price = 0; + pre = pre.toLowerCase(); + price = conf.getInt("commands.prices.price3." + pre, price); + return price; + } + + public static int getPrice4(Player player, String pre) { + int price = 0; + pre = pre.toLowerCase(); + price = conf.getInt("commands.prices.price4." + pre, price); + return price; + } + + public static int getPrice5(Player player, String pre) { + int price = 0; + pre = pre.toLowerCase(); + price = conf.getInt("commands.prices.price5." + pre, price); return price; } @@ -188,6 +284,8 @@ public class boosConfigManager { "&6Warm-ups have been cancelled due to sprinting.&f"); } + + // public static String getWarmUpCancelledByDeathMessage() { // return conf.getString( // "commands.options.message_warmup_cancelled_by_death", diff --git a/src/cz/boosik/boosCooldown/boosCoolDown.java b/src/cz/boosik/boosCooldown/boosCoolDown.java index 490a3ad..70945c8 100644 --- a/src/cz/boosik/boosCooldown/boosCoolDown.java +++ b/src/cz/boosik/boosCooldown/boosCoolDown.java @@ -144,7 +144,7 @@ public class boosCoolDown extends JavaPlugin { private void registerEvents(){ pm.registerEvent(Event.Type.PLAYER_COMMAND_PREPROCESS, playerListener, - Event.Priority.High, this); + Event.Priority.Lowest, this); if (boosConfigManager.getCancelWarmUpOnDamage()) { pm.registerEvent(Event.Type.ENTITY_DAMAGE, entityListener, Event.Priority.Normal, this); diff --git a/src/cz/boosik/boosCooldown/boosCoolDownManager.java b/src/cz/boosik/boosCooldown/boosCoolDownManager.java index 954a371..f25dae5 100644 --- a/src/cz/boosik/boosCooldown/boosCoolDownManager.java +++ b/src/cz/boosik/boosCooldown/boosCoolDownManager.java @@ -95,7 +95,37 @@ public class boosCoolDownManager { static boolean coolDown(Player player, String pre, String message) { pre = pre.toLowerCase(); - int coolDownSeconds = boosConfigManager.getCoolDown(player, pre); + int coolDownSeconds = 0; + if (boosCoolDown.isUsingPermissions()) { + if (!boosCoolDown.getPermissions().has(player, + "booscooldowns.cooldown2") + && !boosCoolDown.getPermissions().has(player, + "booscooldowns.cooldown3") + && !boosCoolDown.getPermissions().has(player, + "booscooldowns.cooldown4") + && !boosCoolDown.getPermissions().has(player, + "booscooldowns.cooldown5")) { + coolDownSeconds = boosConfigManager.getCoolDown(player, pre); + } + if (boosCoolDown.getPermissions().has(player, + "booscooldowns.cooldown2")) { + coolDownSeconds = boosConfigManager.getCoolDown2(player, pre); + } + if (boosCoolDown.getPermissions().has(player, + "booscooldowns.cooldown3")) { + coolDownSeconds = boosConfigManager.getCoolDown3(player, pre); + } + if (boosCoolDown.getPermissions().has(player, + "booscooldowns.cooldown4")) { + coolDownSeconds = boosConfigManager.getCoolDown4(player, pre); + } + if (boosCoolDown.getPermissions().has(player, + "booscooldowns.cooldown5")) { + coolDownSeconds = boosConfigManager.getCoolDown5(player, pre); + } + } else { + coolDownSeconds = boosConfigManager.getCoolDown(player, pre); + } if (boosCoolDown.isUsingPermissions()) { if (coolDownSeconds > 0 && !boosCoolDown.getPermissions().has(player, @@ -205,7 +235,37 @@ public class boosCoolDownManager { static boolean checkCoolDownOK(Player player, String pre, String message) { pre = pre.toLowerCase(); - int coolDownSeconds = boosConfigManager.getCoolDown(player, pre); + int coolDownSeconds = 0; + if (boosCoolDown.isUsingPermissions()) { + if (!boosCoolDown.getPermissions().has(player, + "booscooldowns.cooldown2") + && !boosCoolDown.getPermissions().has(player, + "booscooldowns.cooldown3") + && !boosCoolDown.getPermissions().has(player, + "booscooldowns.cooldown4") + && !boosCoolDown.getPermissions().has(player, + "booscooldowns.cooldown5")) { + coolDownSeconds = boosConfigManager.getCoolDown(player, pre); + } + if (boosCoolDown.getPermissions().has(player, + "booscooldowns.cooldown2")) { + coolDownSeconds = boosConfigManager.getCoolDown2(player, pre); + } + if (boosCoolDown.getPermissions().has(player, + "booscooldowns.cooldown3")) { + coolDownSeconds = boosConfigManager.getCoolDown3(player, pre); + } + if (boosCoolDown.getPermissions().has(player, + "booscooldowns.cooldown4")) { + coolDownSeconds = boosConfigManager.getCoolDown4(player, pre); + } + if (boosCoolDown.getPermissions().has(player, + "booscooldowns.cooldown5")) { + coolDownSeconds = boosConfigManager.getCoolDown5(player, pre); + } + } else { + coolDownSeconds = boosConfigManager.getCoolDown(player, pre); + } if (coolDownSeconds > 0) { Date lastTime = getTime(player, pre); if (lastTime == null) { diff --git a/src/cz/boosik/boosCooldown/boosCoolDownPlayerListener.java b/src/cz/boosik/boosCooldown/boosCoolDownPlayerListener.java index 3e18a3e..e1ec4a9 100644 --- a/src/cz/boosik/boosCooldown/boosCoolDownPlayerListener.java +++ b/src/cz/boosik/boosCooldown/boosCoolDownPlayerListener.java @@ -76,7 +76,37 @@ public class boosCoolDownPlayerListener extends PlayerListener { // Returns true if the command is on cooldown, false otherwise private boolean checkCooldown(PlayerCommandPreprocessEvent event, Player player, String pre, String message) { - int warmUpSeconds = boosConfigManager.getWarmUp(player, pre); + int warmUpSeconds = 0; + if (boosCoolDown.isUsingPermissions()) { + if (!boosCoolDown.getPermissions().has(player, + "booscooldowns.warmup2") + && !boosCoolDown.getPermissions().has(player, + "booscooldowns.warmup3") + && !boosCoolDown.getPermissions().has(player, + "booscooldowns.warmup4") + && !boosCoolDown.getPermissions().has(player, + "booscooldowns.warmup5")) { + warmUpSeconds = boosConfigManager.getWarmUp(player, pre); + } + if (boosCoolDown.getPermissions().has(player, + "booscooldowns.warmup2")) { + warmUpSeconds = boosConfigManager.getWarmUp2(player, pre); + } + if (boosCoolDown.getPermissions().has(player, + "booscooldowns.warmup3")) { + warmUpSeconds = boosConfigManager.getWarmUp3(player, pre); + } + if (boosCoolDown.getPermissions().has(player, + "booscooldowns.warmup4")) { + warmUpSeconds = boosConfigManager.getWarmUp4(player, pre); + } + if (boosCoolDown.getPermissions().has(player, + "booscooldowns.warmup5")) { + warmUpSeconds = boosConfigManager.getWarmUp5(player, pre); + } + } else { + warmUpSeconds = boosConfigManager.getWarmUp(player, pre); + } if (boosCoolDown.isUsingPermissions()) { if (warmUpSeconds > 0 && !boosCoolDown.getPermissions().has(player, diff --git a/src/cz/boosik/boosCooldown/boosPriceManager.java b/src/cz/boosik/boosCooldown/boosPriceManager.java index 4ab4c50..365f256 100644 --- a/src/cz/boosik/boosCooldown/boosPriceManager.java +++ b/src/cz/boosik/boosCooldown/boosPriceManager.java @@ -11,8 +11,43 @@ public class boosPriceManager { private static Economy economy = boosCoolDown.getEconomy(); public static void payForCommand(Player player, String pre, String message) { - EconomyResponse r = economy.withdrawPlayer(player.getName(), - boosConfigManager.getPrice(player, pre)); + EconomyResponse r = null; + if (boosCoolDown.isUsingPermissions()) { + if (!boosCoolDown.getPermissions().has(player, + "booscooldowns.price2") + && !boosCoolDown.getPermissions().has(player, + "booscooldowns.price3") + && !boosCoolDown.getPermissions().has(player, + "booscooldowns.price4") + && !boosCoolDown.getPermissions().has(player, + "booscooldowns.price5")) { + r = economy.withdrawPlayer(player.getName(), + boosConfigManager.getPrice(player, pre)); + } + if (boosCoolDown.getPermissions().has(player, + "booscooldowns.price2")) { + r = economy.withdrawPlayer(player.getName(), + boosConfigManager.getPrice2(player, pre)); + } + if (boosCoolDown.getPermissions().has(player, + "booscooldowns.price3")) { + r = economy.withdrawPlayer(player.getName(), + boosConfigManager.getPrice3(player, pre)); + } + if (boosCoolDown.getPermissions().has(player, + "booscooldowns.price4")) { + r = economy.withdrawPlayer(player.getName(), + boosConfigManager.getPrice4(player, pre)); + } + if (boosCoolDown.getPermissions().has(player, + "booscooldowns.price5")) { + r = economy.withdrawPlayer(player.getName(), + boosConfigManager.getPrice5(player, pre)); + } + } else { + r = economy.withdrawPlayer(player.getName(), + boosConfigManager.getPrice(player, pre)); + } if (r.transactionSuccess()) { String msg = String.format( boosConfigManager.getPaidForCommandMessage(), diff --git a/src/plugin.yml b/src/plugin.yml index 7288b3a..4589e5f 100644 --- a/src/plugin.yml +++ b/src/plugin.yml @@ -1,6 +1,6 @@ name: boosCooldown main: cz.boosik.boosCooldown.boosCoolDown -version: 1.9.1 +version: 2.0.0 author: boosik softdepend: [Vault, iConomy 4 & 5 & 6, BOSEconomy 6 & 7, EssentialsEcon, 3Co, MultiCurrency, MineConomy, eWallet, EconXP] description: >