summaryrefslogtreecommitdiff
path: root/pmtoggle.py
diff options
context:
space:
mode:
authorDico200 <dico.karssiens@gmail.com>2015-03-15 01:13:36 +0100
committerDico200 <dico.karssiens@gmail.com>2015-03-15 01:13:36 +0100
commit43a8ec94816941040e00f36c638b4f053583facb (patch)
tree8b661d02b1412acde9fe0194b2e28d2f0a3d6544 /pmtoggle.py
parent1fd3d591f94df9fb32c6474346f28c909b94d467 (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.py51
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())
+