This commit is contained in:
Dico200
2015-11-01 21:59:21 +01:00
5 changed files with 42 additions and 13 deletions

37
chatalias.py Executable file → Normal file
View File

@@ -13,9 +13,14 @@
# for "unlimited" setting.
from helpers import *
from traceback import format_exc as trace
data = None
def safe_open_json():
global data
if data is not None:
return data
data = open_json_file("aliases")
if data is None:
data = {"gnl":{"max_len":"35","max_entries":"10"}}
@@ -25,7 +30,7 @@ def safe_open_json():
@hook.command("alias", usage = "/<command> [to_alias] [alias...]", desc = "Aliases words in chat")
def on_alias_command(sender, cmd, label, args):
if not is_player(sender):
msg(sender, "Sorry, Console cannot alias words")
return True
@@ -53,15 +58,25 @@ def on_alias_command(sender, cmd, label, args):
elif len(args) == 1:
data = safe_open_json()
if args[0] == "*":
del data[str(sender.getUniqueId())]
try:
del data[str(sender.getUniqueId())]
except KeyError:
plugin_header(recipient = sender, name = "Chat Alias")
msg(sender, "No alias data to remove!")
return True
save_json_file("aliases", data)
plugin_header(recipient = sender, name = "Chat Alias")
msg(sender, "ALL alias data successfuly removed!")
return True
if data[str(sender.getUniqueId())].pop(args[0], None) is None:
try:
if data[str(sender.getUniqueId())].pop(args[0], None) is None:
plugin_header(recipient = sender, name = "Chat Alias")
msg(sender, "Could not remove: alias not present!")
return True
except KeyError:
plugin_header(recipient = sender, name = "Chat Alias")
msg(sender, "Could not remove: alias not present!")
msg(sender, "Could not remove: you do not have any aliases!")
return True
save_json_file("aliases", data)
@@ -95,12 +110,18 @@ def on_alias_command(sender, cmd, label, args):
return False
@hook.event("player.AsyncPlayerChatEvent", "High")
@hook.event("player.AsyncPlayerChatEvent", "high")
def on_player_chat(event):
playerid = str(event.getPlayer().getUniqueId())
data = safe_open_json()
if event.isCancelled():
return
data = safe_open_json()
for alias, value in data[str(event.getPlayer().getUniqueId())].items():
try:
crashtest = data[playerid].items()
except KeyError:
return
for alias, value in data[playerid].items():
event.setMessage(event.getMessage().replace(alias, value))

View File

@@ -13,7 +13,7 @@ iptrack_permission = "utils.iptrack"
@hook.event("player.PlayerJoinEvent", "low")
def on_player_join(event):
t = threading.Thread(target=on_player_join_thread, args=(event))
t = threading.Thread(target=on_player_join_thread, args=(event, ))
t.daemon = True
t.start()

View File

@@ -13,7 +13,7 @@ def saveMentions():
save_json_file("mentio", mentions)
@hook.event("player.AsyncPlayerChatEvent", "high")
@hook.event("player.AsyncPlayerChatEvent", "monitor")
def onChat(event):
if not event.isCancelled():
sender = event.getPlayer()

10
misc.py
View File

@@ -263,7 +263,10 @@ def on_modules_command(sender, command, label, args):
amax = 0,
helpSubcmd = True)
def warn_command(sender, command, label, args):
broadcast(None, " &b= &2&lLag incoming! &r-%s" % sender.getDisplayName())
if sender.hasPermission("utils.warn"):
broadcast(None, " &b= &2&lLag incoming! &r-%s" % sender.getDisplayName())
else:
noperm(sender)
@simplecommand("warnp",
@@ -272,7 +275,10 @@ def warn_command(sender, command, label, args):
amax = 0,
helpSubcmd = True)
def warnp_command(sender, command, label, args):
broadcast(None, " &b= &2&lPossible lag incoming! &r-%s" % sender.getDisplayName())
if sender.hasPermission("utils.warnp"):
broadcast(None, " &b= &2&lPossible lag incoming! &r-%s" % sender.getDisplayName())
else:
noperm(sender)

View File

@@ -109,7 +109,9 @@ def get_entire_container(container):
helpSubcmd = True,
senderLimit = 0)
def on_signalstrength_command(sender, command, label, args):
if not sender.hasPermission("utils.ss"):
noperm(sender)
return None
if len(args) > 0 and args[0].lower() in ("default", "defaults", "setdefaults"):
strength, item_type, item_data = get_data(sender, args[1:])