diff --git a/Essentials/src/com/earth2me/essentials/Essentials.java b/Essentials/src/com/earth2me/essentials/Essentials.java index b905e6a89..192192922 100644 --- a/Essentials/src/com/earth2me/essentials/Essentials.java +++ b/Essentials/src/com/earth2me/essentials/Essentials.java @@ -23,7 +23,7 @@ import org.bukkit.plugin.java.*; public class Essentials extends JavaPlugin { public static final String AUTHORS = "Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo and ceulemans."; - public static final int minBukkitBuildVersion = 733; + public static final int minBukkitBuildVersion = 740; private static final Logger logger = Logger.getLogger("Minecraft"); private Settings settings; private EssentialsPlayerListener playerListener; @@ -304,6 +304,22 @@ public class Essentials extends JavaPlugin @Override public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args) { + + if ("msg".equals(commandLabel.toLowerCase()) || "mail".equals(commandLabel.toLowerCase()) & sender instanceof Player) + { + StringBuilder str = new StringBuilder(); + for (String a : args) + { + str.append(a + " "); + } + for (Player player : getServer().getOnlinePlayers()) + { + if (getUser(player).isSocialSpyEnabled()) + { + player.sendMessage(getUser(sender).getDisplayName() + " : " + str); + } + } + } // Allow plugins to override the command via onCommand if (!getSettings().isCommandOverridden(command.getName()) && !commandLabel.startsWith("e")) { diff --git a/Essentials/src/com/earth2me/essentials/UserData.java b/Essentials/src/com/earth2me/essentials/UserData.java index edbbf11ba..6a010afcd 100644 --- a/Essentials/src/com/earth2me/essentials/UserData.java +++ b/Essentials/src/com/earth2me/essentials/UserData.java @@ -55,6 +55,7 @@ public abstract class UserData extends PlayerExtension implements IConf lastLogout = _getLastLogout(); afk = getAfk(); geolocation = _getGeoLocation(); + isSocialSpyEnabled = _isSocialSpyEnabled(); } public double getMoney() @@ -391,6 +392,12 @@ public abstract class UserData extends PlayerExtension implements IConf setTeleportEnabled(ret); return ret; } + public boolean toggleSocialSpy() + { + boolean ret = !isSocialSpyEnabled(); + setSocialSpyEnabled(ret); + return ret; + } private List ignoredPlayers; public List getIgnoredPlayers() @@ -670,4 +677,22 @@ public abstract class UserData extends PlayerExtension implements IConf } config.save(); } + + private boolean isSocialSpyEnabled; + + private boolean _isSocialSpyEnabled() + { + return config.getBoolean("socialspy", false); + } + + public boolean isSocialSpyEnabled() + { + return isSocialSpyEnabled; + } + + public void setSocialSpyEnabled(Boolean status) + { + config.setProperty("socialspy", status); + config.save(); + } } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandrules.java b/Essentials/src/com/earth2me/essentials/commands/Commandrules.java index 902d45cef..d7e3a6289 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandrules.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandrules.java @@ -1,5 +1,6 @@ package com.earth2me.essentials.commands; +import com.earth2me.essentials.commands.EssentialsCommand; import org.bukkit.Server; import org.bukkit.command.CommandSender; diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandsocialspy.java b/Essentials/src/com/earth2me/essentials/commands/Commandsocialspy.java new file mode 100644 index 000000000..6e43d0d2e --- /dev/null +++ b/Essentials/src/com/earth2me/essentials/commands/Commandsocialspy.java @@ -0,0 +1,22 @@ +package com.earth2me.essentials.commands; +import com.earth2me.essentials.User; +import org.bukkit.Server; +import org.bukkit.command.CommandSender; + + +public class Commandsocialspy extends EssentialsCommand +{ + public Commandsocialspy() + { + super("socialspy"); + } + + @Override + public void run(Server server, User user, String commandLabel, String[] args) throws Exception + { + + charge(user); + user.sendMessage("ยง7SocialSpy " + (user.toggleSocialSpy() ? "enabled." : "disabled.")); + + } +} diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml index e17b52e9a..6b3cae73b 100644 --- a/Essentials/src/plugin.yml +++ b/Essentials/src/plugin.yml @@ -226,6 +226,9 @@ commands: description: Set the value of an item for sale, will add item if doesn't exist usage: / [itemname|id] [price] aliases: [esetworth] + socialspy: + description: Toggles if you can see /msg and /mail commands in chat. + usage: / spawnmob: description: Spawns a mob. usage: / [mob]<:data><,mount<:data>>