From 458dc7db42c04ee6e169bdf6d7c23f7520c17d3a Mon Sep 17 00:00:00 2001 From: TfT_02 Date: Sat, 29 Mar 2014 17:02:08 +0100 Subject: [PATCH] Make database command cooldown configurable --- Changelog.txt | 1 + .../java/com/gmail/nossr50/commands/player/McrankCommand.java | 4 ++-- .../java/com/gmail/nossr50/commands/player/MctopCommand.java | 4 ++-- src/main/java/com/gmail/nossr50/config/Config.java | 1 + src/main/java/com/gmail/nossr50/util/Misc.java | 1 - src/main/resources/config.yml | 4 ++++ 6 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index d1d9c5f0b..4ff8c142a 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -22,6 +22,7 @@ Version 1.4.08-dev + Added Ender Dragon, Wither, and Witch to combat experience multipliers - they do not give XP by default + Added support for multiple mod config files, naming can be done as either armor..yml or .armor.yml + Added config options to configure the items used in "Call of the Wild" + + Added config option to configure the database command cooldown = Fixed bug where healthbars wouldn't display if skills were disabled = Fixed bug with "Call of the Wild" entities despawning = Fixed bug with updating (very) old user data. diff --git a/src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java b/src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java index c4ab962bd..5c509389f 100644 --- a/src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java @@ -14,7 +14,6 @@ import com.gmail.nossr50.config.Config; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.runnables.commands.McrankCommandAsyncTask; -import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.commands.CommandUtils; import com.gmail.nossr50.util.player.UserManager; @@ -82,8 +81,9 @@ public class McrankCommand implements TabExecutor { private void display(CommandSender sender, String playerName) { if (sender instanceof Player) { McMMOPlayer mcMMOPlayer = UserManager.getPlayer(sender.getName()); + long cooldownMillis = Math.max(Config.getInstance().getDatabasePlayerCooldown(), 1750); - if (mcMMOPlayer.getDatabaseATS() + Misc.PLAYER_DATABASE_COOLDOWN_MILLIS > System.currentTimeMillis()) { + if (mcMMOPlayer.getDatabaseATS() + cooldownMillis > System.currentTimeMillis()) { sender.sendMessage(LocaleLoader.getString("Commands.Database.Cooldown")); return; } diff --git a/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java b/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java index 9eea219da..1b04f9c78 100644 --- a/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java @@ -15,7 +15,6 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.SkillType; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.runnables.commands.MctopCommandAsyncTask; -import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.StringUtils; import com.gmail.nossr50.util.commands.CommandUtils; @@ -85,8 +84,9 @@ public class MctopCommand implements TabExecutor { if (sender instanceof Player) { McMMOPlayer mcMMOPlayer = UserManager.getPlayer(sender.getName()); + long cooldownMillis = Math.max(Config.getInstance().getDatabasePlayerCooldown(), 1750); - if (mcMMOPlayer.getDatabaseATS() + Misc.PLAYER_DATABASE_COOLDOWN_MILLIS > System.currentTimeMillis()) { + if (mcMMOPlayer.getDatabaseATS() + cooldownMillis > System.currentTimeMillis()) { sender.sendMessage(LocaleLoader.getString("Commands.Database.Cooldown")); return; } diff --git a/src/main/java/com/gmail/nossr50/config/Config.java b/src/main/java/com/gmail/nossr50/config/Config.java index 26f20bc55..644f3698a 100644 --- a/src/main/java/com/gmail/nossr50/config/Config.java +++ b/src/main/java/com/gmail/nossr50/config/Config.java @@ -248,6 +248,7 @@ public class Config extends AutoUpdateConfigLoader { public boolean getAdminDisplayNames() { return config.getBoolean("Commands.adminchat.Use_Display_Names", true); } public boolean getMatchOfflinePlayers() { return config.getBoolean("Commands.Generic.Match_OfflinePlayers", false); } + public long getDatabasePlayerCooldown() { return config.getLong("Commands.Database.Player_Cooldown", 1750); } public boolean getLevelUpSoundsEnabled() { return config.getBoolean("General.LevelUp_Sounds", true); } diff --git a/src/main/java/com/gmail/nossr50/util/Misc.java b/src/main/java/com/gmail/nossr50/util/Misc.java index db99a2fda..51eaeee13 100644 --- a/src/main/java/com/gmail/nossr50/util/Misc.java +++ b/src/main/java/com/gmail/nossr50/util/Misc.java @@ -22,7 +22,6 @@ public final class Misc { public static final int TIME_CONVERSION_FACTOR = 1000; public static final int TICK_CONVERSION_FACTOR = 20; - public static final long PLAYER_DATABASE_COOLDOWN_MILLIS = 1750; public static final int PLAYER_RESPAWN_COOLDOWN_SECONDS = 5; public static final double SKILL_MESSAGE_MAX_SENDING_DISTANCE = 10.0; diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 67187bfeb..976c59a14 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -395,6 +395,10 @@ Commands: # If true, when using partial names in commands mcMMO will try to look for a match from # the offline players. Enabling this might slow the server down if there are a lot of offline players. Match_OfflinePlayers: false + Database: + # Database command cooldown in milliseconds, cannot be changed below the default value. (1750) + # Prevents players from spamming /mctop or /mcrank + Player_Cooldown: 1750 mcmmo: Donate_Message: true inspect: