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

View File

@@ -13,7 +13,7 @@ iptrack_permission = "utils.iptrack"
@hook.event("player.PlayerJoinEvent", "low") @hook.event("player.PlayerJoinEvent", "low")
def on_player_join(event): 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.daemon = True
t.start() t.start()

View File

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

10
misc.py
View File

@@ -263,7 +263,10 @@ def on_modules_command(sender, command, label, args):
amax = 0, amax = 0,
helpSubcmd = True) helpSubcmd = True)
def warn_command(sender, command, label, args): 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", @simplecommand("warnp",
@@ -272,7 +275,10 @@ def warn_command(sender, command, label, args):
amax = 0, amax = 0,
helpSubcmd = True) helpSubcmd = True)
def warnp_command(sender, command, label, args): 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, helpSubcmd = True,
senderLimit = 0) senderLimit = 0)
def on_signalstrength_command(sender, command, label, args): 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"): if len(args) > 0 and args[0].lower() in ("default", "defaults", "setdefaults"):
strength, item_type, item_data = get_data(sender, args[1:]) strength, item_type, item_data = get_data(sender, args[1:])