From f79fe70a86d29e0f9f14e3bc111f4f289101b4d5 Mon Sep 17 00:00:00 2001 From: KHobbits Date: Sat, 1 Dec 2012 23:42:21 +0000 Subject: Fix queue save in god/tptoggle Use settings abstract for socialspy --- Essentials/src/messages.properties | 1 + Essentials/src/net/ess3/commands/Commandgod.java | 1 + .../src/net/ess3/commands/Commandsocialspy.java | 76 ++++++++-------------- .../src/net/ess3/commands/Commandtptoggle.java | 1 + .../ess3/commands/EssentialsSettingsCommand.java | 1 - 5 files changed, 30 insertions(+), 50 deletions(-) diff --git a/Essentials/src/messages.properties b/Essentials/src/messages.properties index 677407742..959782879 100644 --- a/Essentials/src/messages.properties +++ b/Essentials/src/messages.properties @@ -341,6 +341,7 @@ signFormatTemplate=[{0}] signProtectInvalidLocation=\u00a74You are not allowed to create sign here. similarWarpExist=\u00a74A warp with a similar name already exists. slimeMalformedSize=\u00a74Malformed size. +socialSpyMode=\u00a76SocialSpy\u00a7c {0} \u00a76for {1}\u00a76. soloMob=\u00a74That mob likes to be alone. spawnSet=\u00a76Spawn location set for group\u00a7c {0}\u00a76. spawned=spawned diff --git a/Essentials/src/net/ess3/commands/Commandgod.java b/Essentials/src/net/ess3/commands/Commandgod.java index 6282fad46..e8064a7ed 100644 --- a/Essentials/src/net/ess3/commands/Commandgod.java +++ b/Essentials/src/net/ess3/commands/Commandgod.java @@ -10,6 +10,7 @@ public class Commandgod extends EssentialsSettingsCommand protected void setValue(final IUser player, final boolean value) { player.setGodModeEnabled(value); + player.queueSave(); } protected boolean getValue(final IUser player) diff --git a/Essentials/src/net/ess3/commands/Commandsocialspy.java b/Essentials/src/net/ess3/commands/Commandsocialspy.java index 3e83aea49..0f99e2655 100644 --- a/Essentials/src/net/ess3/commands/Commandsocialspy.java +++ b/Essentials/src/net/ess3/commands/Commandsocialspy.java @@ -6,66 +6,44 @@ import net.ess3.permissions.Permissions; import org.bukkit.command.CommandSender; -public class Commandsocialspy extends EssentialsCommand +public class Commandsocialspy extends EssentialsSettingsCommand { - @Override - public void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception + + protected void setValue(final IUser player, final boolean value) { - if (args.length < 1) - { - throw new NotEnoughArgumentsException(); - } + player.getData().setSocialspy(value); + player.queueSave(); + } - socialspyOtherPlayers(sender, args); + protected boolean getValue(final IUser player) + { + return player.getData().isSocialspy(); } - @Override - protected void run(final IUser user, final String commandLabel, final String[] args) throws Exception + protected void informSender(final CommandSender sender, final boolean value, final IUser player) { - if (args.length > 0 && !args[0].trim().isEmpty() && Permissions.SOCIALSPY_OTHERS.isAuthorized(user)) - { - socialspyOtherPlayers(user, args); - return; + if (value) { + sender.sendMessage( _("socialSpyMode", _(getValue(player) ? "enabled" : "disabled"), player.getPlayer().getDisplayName())); + } + else { + //TODO: TL this + sender.sendMessage("Can't change socialspy for player " + player.getName()); } + } - user.getData().setSocialspy(!user.getData().isSocialspy()); - user.queueSave(); - user.sendMessage("§7SocialSpy " + (user.getData().isSocialspy() ? _("enabled") : _("disabled"))); + protected void informPlayer(final IUser player) + { + final String message = _("socialSpyMode", _(getValue(player) ? "enabled" : "disabled"), player.getPlayer().getDisplayName()); + player.sendMessage(message); } - private void socialspyOtherPlayers(final CommandSender sender, final String[] args) + protected boolean canToggleOthers(final IUser user) { - for (IUser player : ess.getUserMap().matchUsers(args[0], true)) - { - if (player.isOnline() - ? Permissions.SOCIALSPY_EXEMPT.isAuthorized(player) - : !Permissions.SOCIALSPY_OFFLINE.isAuthorized(sender)) - { - sender.sendMessage("Can't change socialspy for player " + player.getName()); //TODO: I18n - continue; - } - if (args.length > 1) - { - if (args[1].contains("on") || args[1].contains("ena") || args[1].equalsIgnoreCase("1")) - { - player.getData().setSocialspy(true); - player.queueSave(); - } - else - { - player.getData().setSocialspy(false); - player.queueSave(); - } - } - else - { - player.getData().setSocialspy(!player.getData().isSocialspy()); - player.queueSave(); - } + return Permissions.SOCIALSPY_OTHERS.isAuthorized(user); + } - final boolean enabled = player.getData().isSocialspy(); - player.sendMessage("§7SocialSpy " + (enabled ? _("enabled") : _("disabled"))); //TODO:I18n - sender.sendMessage("§7SocialSpy " + (enabled ? _("enabled") : _("disabled"))); - } + protected boolean isExempt(final CommandSender sender, final IUser player) + { + return (player.isOnline() ? Permissions.SOCIALSPY_EXEMPT.isAuthorized(player) : !Permissions.SOCIALSPY_OFFLINE.isAuthorized(sender)); } } diff --git a/Essentials/src/net/ess3/commands/Commandtptoggle.java b/Essentials/src/net/ess3/commands/Commandtptoggle.java index f34d667f4..39d84fea8 100644 --- a/Essentials/src/net/ess3/commands/Commandtptoggle.java +++ b/Essentials/src/net/ess3/commands/Commandtptoggle.java @@ -12,6 +12,7 @@ public class Commandtptoggle extends EssentialsSettingsCommand protected void setValue(final IUser player, final boolean value) { player.getData().setTeleportEnabled(value); + player.queueSave(); } protected boolean getValue(final IUser player) diff --git a/Essentials/src/net/ess3/commands/EssentialsSettingsCommand.java b/Essentials/src/net/ess3/commands/EssentialsSettingsCommand.java index f48b087a2..9d060cbdb 100644 --- a/Essentials/src/net/ess3/commands/EssentialsSettingsCommand.java +++ b/Essentials/src/net/ess3/commands/EssentialsSettingsCommand.java @@ -100,7 +100,6 @@ public abstract class EssentialsSettingsCommand extends EssentialsCommand else { setValue(matchPlayer, true); - ; } } else -- cgit v1.2.3