From 43a8ec94816941040e00f36c638b4f053583facb Mon Sep 17 00:00:00 2001 From: Dico200 Date: Sun, 15 Mar 2015 01:13:36 +0100 Subject: [PATCH] Added pmtoggle module pmtoggle adds /tm [player](togglemessage). When activated, any chat message you send will be sent as: /msg [player] [msg] --- pmtoggle.py | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 pmtoggle.py 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()) +