Prevent complete multi-replacement in chatalias. Doesn't prevent 1 -> 2 and 23 -> 5 to make for 13 -> 5, but does prevent a -> 20 and 2 -> 3. Tested.

This commit is contained in:
Dico200
2016-05-25 02:39:05 +02:00
parent cb1a333a56
commit a555676076
3 changed files with 23 additions and 7 deletions

View File

@@ -86,6 +86,7 @@ def on_alias_command(sender, cmd, label, args):
return True
return subcommands[args[0].lower()](sender, args[1:])
except:
print(trace())
return subcommands["help"](sender, "1")
@@ -179,8 +180,9 @@ def add(sender, args):
msg(sender, "&cCould not create alias: Max_limit reached!")
return True
args = [args[0]] + [" ".join(args[1:])]
data[str(uid(sender))][str(args[0])] = args[1]
save_data(uid(sender))
if not add_alias_data(uid(sender), str(args[0]), args[1]):
msg(sender, colorify("&c") + "Could not add an alias for this sequence because a priorly added alias contains it")
return True
msg(sender, colorify("&7Alias: ") + args[0] + colorify("&7 -> " + args[1] + colorify("&7 was succesfully created!")), usecolor=sender.hasPermission("essentials.chat.color"))
return True
@@ -203,14 +205,29 @@ def radd(sender, args):
return True
if len(args) == 3:
args += ["true"]
data[str(uid(target))][str(args[1])] = str(args[2])
save_data(uid(target))
if not add_alias_data(uid(target), str(args[1]), str(args[2])):
message = colorify("&c") + "Could not add an alias for this sequence because a priorly added alias contains it"
msg(sender, message)
if args[3].lower() == "false":
msg(target, message)
return True
msg(sender, colorify("&7Alias: ") + args[1] + colorify("&7 -> " + args[2] + colorify("&7 was succesfully created!")), usecolor=target.hasPermission("essentials.chat.color"))
if args[3].lower() == "false":
msg(target, colorify("&7Alias: ") + args[1] + colorify("&7 -> " + args[2] + colorify("&7 was succesfully created!")), usecolor=target.hasPermission("essentials.chat.color"))
return True
def add_alias_data(puuid, aliased, new_alias):
prior = data[puuid]
if aliased not in prior:
for alias in prior.values():
if aliased in alias:
return False
prior[aliased] = new_alias
save_data(puuid)
return True
def remove(sender, args):
plugin_header(sender, "Alias")
try:

View File

@@ -43,7 +43,7 @@ shared["load_modules"] = [
# Adds /calc, toggles automatic solving of Math expressions in chat
"calc",
# Adds aliasing of chat words
#"chatalias",
"chatalias",
# Plugin to locate laggy chunks. /lc <n> lists chunks with more than n entities
"lagchunks",
# Adds /report and /rp, Stores reports with time and location

View File

@@ -1,5 +1,4 @@
name: RedstonerUtils
main: main.py
version: 3.1.0
author: redstone_sheep
author: redstone_sheep