diff options
author | Dico200 <dico.karssiens@gmail.com> | 2015-03-15 01:13:36 +0100 |
---|---|---|
committer | Dico200 <dico.karssiens@gmail.com> | 2015-03-15 01:13:36 +0100 |
commit | 43a8ec94816941040e00f36c638b4f053583facb (patch) | |
tree | 8b661d02b1412acde9fe0194b2e28d2f0a3d6544 /pmtoggle.py | |
parent | 1fd3d591f94df9fb32c6474346f28c909b94d467 (diff) |
Added pmtoggle module
pmtoggle adds /tm [player](togglemessage).
When activated, any chat message you send will be sent as:
/msg [player] [msg]
Diffstat (limited to 'pmtoggle.py')
-rw-r--r-- | pmtoggle.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/pmtoggle.py b/pmtoggle.py new file mode 100644 index 0000000..906f9b6 --- /dev/null +++ b/pmtoggle.py @@ -0,0 +1,51 @@ +from helpers import * +import org.bukkit.Bukkit as Bukkit + +toggle_list = {} +permission = "utils.pmtoggle" + +@hook.command("tm") +def on_toggle_message_command(sender, args): + name = sender.getName() + if not sender.hasPermission(permission) or name == "CONSOLE": + noperm(sender) + return True + plugin_header(sender, "Private Message Toggle") + uuid = uid(sender) + if len(args) > 0: + if len(args) > 1: + msg(sender, "&cToo many arguments!") + return True + target = Bukkit.getPlayer(args[0]) + if target: + toggle_list[uuid] = uid(target) + msg(sender, "&2Enabled toggle so that you're now sending only to %s &2by default" % target.getDisplayName()) + else: + msg(sender, "&cThat player could not be found") + else if uuid in toggle_list: + del toggle_list[uuid] + msg(sender, "&2Disabled toggle successfully") + else: + msg(sender, "&cExpected a player as argument") + return True + +@hook.event("Player.AsyncPlayerChatEvent", "normal") +def on_chat(event): + player = event.getPlayer() + uuid = uid(player) + if uuid in toggle_list: + event.setCancelled(True) + target = Bukkit.getPlayer(toggle_list[uuid]).getName() + runas(player, "msg %s %s" % (target, event.getMessage())) + + +@hook.event("Player.PlayerQuitEvent", "normal") +def on_quit(event): + uuid = uid(event.getPlayer()) + if uuid in toggle_list: + del toggle_list[uuid] + for pid in toggle_list: + if toggle_list[pid] == uuid: + del toggle_list[pid] + msg(Bukkit.getPlayer(pid), "%s &cwent off so your Private Message Toggle has been disabled!" % Bukkit.getPlayer(uuid).getDisplayName()) + |