removed camelcase, added more coding style to readme
This commit is contained in:
27
README.md
27
README.md
@@ -151,6 +151,33 @@ Use 2 spaces to indent.
|
|||||||
Always use double-quotes!
|
Always use double-quotes!
|
||||||
Only use single-quotes when the string contains double-quotes that would need to be escaped.
|
Only use single-quotes when the string contains double-quotes that would need to be escaped.
|
||||||
|
|
||||||
|
## Capitalization
|
||||||
|
Do not use camelCase for variable or function names! Use under_score naming.
|
||||||
|
|
||||||
|
## Aligning variable assignments
|
||||||
|
In case you have multiple variable assignments, align the equals sign:
|
||||||
|
|
||||||
|
```Python
|
||||||
|
# bad
|
||||||
|
foo = 1
|
||||||
|
foobar = 2
|
||||||
|
a = 3
|
||||||
|
|
||||||
|
# good
|
||||||
|
foo = 1
|
||||||
|
foobar = 2
|
||||||
|
a = 3
|
||||||
|
```
|
||||||
|
|
||||||
|
## Vertical spacing
|
||||||
|
Use at least one space left and one space right to equals signs, and one space right to colons.
|
||||||
|
|
||||||
|
## Horizontal spacing
|
||||||
|
Leave two empty lines before function definitions. In case you need to use `@hook.something`, add the two lines before that, directly followed by the definition.
|
||||||
|
|
||||||
|
## Meaningful names
|
||||||
|
Give function and variable names meaningful names. If you want to shorten long names, that's fine, but leave a comment on assigment with the actual meaning.
|
||||||
|
|
||||||
## Comments
|
## Comments
|
||||||
Comments are good!
|
Comments are good!
|
||||||
Please comment everything that's non-obious or makes it easier to understand
|
Please comment everything that's non-obious or makes it easier to understand
|
||||||
|
|||||||
8
abot.py
8
abot.py
@@ -32,8 +32,8 @@ def list_answers(sender):
|
|||||||
|
|
||||||
|
|
||||||
@hook.command("abot")
|
@hook.command("abot")
|
||||||
def onAbotCommand(sender, args):
|
def on_abot_command(sender, args):
|
||||||
plugHeader(sender, "AnswerBot")
|
plugin_header(sender, "AnswerBot")
|
||||||
if sender.hasPermission("utils.abot.admin"):
|
if sender.hasPermission("utils.abot.admin"):
|
||||||
if not args:
|
if not args:
|
||||||
msg(sender, "&2/abot list &eList all answers and their regex")
|
msg(sender, "&2/abot list &eList all answers and their regex")
|
||||||
@@ -51,14 +51,14 @@ def onAbotCommand(sender, args):
|
|||||||
|
|
||||||
|
|
||||||
@hook.event("player.AsyncPlayerChatEvent", "low")
|
@hook.event("player.AsyncPlayerChatEvent", "low")
|
||||||
def onChat(event):
|
def on_chat(event):
|
||||||
sender = event.getPlayer()
|
sender = event.getPlayer()
|
||||||
message = event.getMessage().lower()
|
message = event.getMessage().lower()
|
||||||
for answer in answers:
|
for answer in answers:
|
||||||
for regex in answer["regex"]:
|
for regex in answer["regex"]:
|
||||||
if regex.search(message):
|
if regex.search(message):
|
||||||
if answer["hide-perm"] and not sender.hasPermission(answer["hide-perm"]):
|
if answer["hide-perm"] and not sender.hasPermission(answer["hide-perm"]):
|
||||||
plugHeader(sender, "AnswerBot")
|
plugin_header(sender, "AnswerBot")
|
||||||
msg(sender, answer["message"] + "\n ")
|
msg(sender, answer["message"] + "\n ")
|
||||||
event.setCancelled(True)
|
event.setCancelled(True)
|
||||||
log("(hidden) %s: '%s'" % (sender.getName(), message))
|
log("(hidden) %s: '%s'" % (sender.getName(), message))
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ def adminchat(sender, msg):
|
|||||||
|
|
||||||
# ac toggle
|
# ac toggle
|
||||||
@hook.command("act")
|
@hook.command("act")
|
||||||
def onActCommand(sender, args):
|
def on_act_command(sender, args):
|
||||||
if sender.hasPermission(ac_permission):
|
if sender.hasPermission(ac_permission):
|
||||||
p = sender.getName()
|
p = sender.getName()
|
||||||
if p in ac_toggle_list:
|
if p in ac_toggle_list:
|
||||||
@@ -32,7 +32,7 @@ def onActCommand(sender, args):
|
|||||||
|
|
||||||
|
|
||||||
@hook.command("ac")
|
@hook.command("ac")
|
||||||
def onAcCommand(sender, args):
|
def on_ac_command(sender, args):
|
||||||
if sender.hasPermission(ac_permission):
|
if sender.hasPermission(ac_permission):
|
||||||
if not checkargs(sender, args, 1, -1):
|
if not checkargs(sender, args, 1, -1):
|
||||||
return True
|
return True
|
||||||
@@ -43,7 +43,7 @@ def onAcCommand(sender, args):
|
|||||||
|
|
||||||
|
|
||||||
@hook.event("player.AsyncPlayerChatEvent", "low")
|
@hook.event("player.AsyncPlayerChatEvent", "low")
|
||||||
def onChat(event):
|
def on_chat(event):
|
||||||
sender = event.getPlayer()
|
sender = event.getPlayer()
|
||||||
msg = event.getMessage()
|
msg = event.getMessage()
|
||||||
if sender.hasPermission(ac_permission) and not event.isCancelled():
|
if sender.hasPermission(ac_permission) and not event.isCancelled():
|
||||||
|
|||||||
@@ -15,16 +15,16 @@ except Exception, e:
|
|||||||
|
|
||||||
|
|
||||||
@hook.command("chatgroup")
|
@hook.command("chatgroup")
|
||||||
def onChatgroupCommand(sender, args):
|
def on_chatgroup_command(sender, args):
|
||||||
try:
|
try:
|
||||||
plugHeader(sender, "ChatGroups")
|
plugin_header(sender, "ChatGroups")
|
||||||
sender_id = str(sender.getUniqueId())
|
sender_id = str(sender.getUniqueId())
|
||||||
if len(args) == 1 and args[0] == "leave":
|
if len(args) == 1 and args[0] == "leave":
|
||||||
if sender_id in groups.keys():
|
if sender_id in groups.keys():
|
||||||
groupchat(sender, "left the group", True)
|
groupchat(sender, "left the group", True)
|
||||||
group = groups[sender_id]
|
group = groups[sender_id]
|
||||||
del(groups[sender_id])
|
del(groups[sender_id])
|
||||||
saveGroups()
|
save_groups()
|
||||||
else:
|
else:
|
||||||
msg(sender, "&aYou can't leave no group, derp!")
|
msg(sender, "&aYou can't leave no group, derp!")
|
||||||
elif len(args) == 1 and args[0] == "info":
|
elif len(args) == 1 and args[0] == "info":
|
||||||
@@ -44,7 +44,7 @@ def onChatgroupCommand(sender, args):
|
|||||||
elif len(args) == 2 and args[0] == "join":
|
elif len(args) == 2 and args[0] == "join":
|
||||||
groups[sender_id] = args[1]
|
groups[sender_id] = args[1]
|
||||||
groupchat(sender, "joined the group", True)
|
groupchat(sender, "joined the group", True)
|
||||||
saveGroups()
|
save_groups()
|
||||||
msg(sender, "&aYour chatgroup is set to '%s'" % args[1])
|
msg(sender, "&aYour chatgroup is set to '%s'" % args[1])
|
||||||
msg(sender, "&aUse chat like '&e%s<message>' to send messages to this group." % cg_key)
|
msg(sender, "&aUse chat like '&e%s<message>' to send messages to this group." % cg_key)
|
||||||
else:
|
else:
|
||||||
@@ -56,7 +56,7 @@ def onChatgroupCommand(sender, args):
|
|||||||
|
|
||||||
|
|
||||||
@hook.command("cgt")
|
@hook.command("cgt")
|
||||||
def onCgtCommand(sender, args):
|
def on_cgt_command(sender, args):
|
||||||
p = str(sender.getUniqueId())
|
p = str(sender.getUniqueId())
|
||||||
if p in cg_toggle_list:
|
if p in cg_toggle_list:
|
||||||
cg_toggle_list.remove(p)
|
cg_toggle_list.remove(p)
|
||||||
@@ -85,7 +85,7 @@ def groupchat(sender, message, ann=False):
|
|||||||
# error(e)
|
# error(e)
|
||||||
|
|
||||||
|
|
||||||
def saveGroups():
|
def save_groups():
|
||||||
try:
|
try:
|
||||||
chatgroups_file = open(chatgroups_filename, "w")
|
chatgroups_file = open(chatgroups_filename, "w")
|
||||||
chatgroups_file.write(json.dumps(groups))
|
chatgroups_file.write(json.dumps(groups))
|
||||||
@@ -95,7 +95,7 @@ def saveGroups():
|
|||||||
|
|
||||||
|
|
||||||
@hook.event("player.AsyncPlayerChatEvent", "normal")
|
@hook.event("player.AsyncPlayerChatEvent", "normal")
|
||||||
def onChat(event):
|
def on_chat(event):
|
||||||
sender = event.getPlayer()
|
sender = event.getPlayer()
|
||||||
msge = event.getMessage()
|
msge = event.getMessage()
|
||||||
if not event.isCancelled():
|
if not event.isCancelled():
|
||||||
|
|||||||
20
cycle.py
20
cycle.py
@@ -10,9 +10,9 @@ except Exception, e:
|
|||||||
|
|
||||||
|
|
||||||
@hook.command("cycle")
|
@hook.command("cycle")
|
||||||
def onCyclerCommand(sender, args):
|
def on_cycler_command(sender, args):
|
||||||
plugHeader(sender, "Cycle")
|
plugin_header(sender, "Cycle")
|
||||||
if not isPlayer(sender):
|
if not is_player(sender):
|
||||||
msg(sender, "&conly players can do this")
|
msg(sender, "&conly players can do this")
|
||||||
return True
|
return True
|
||||||
if not len(args) == 1:
|
if not len(args) == 1:
|
||||||
@@ -25,14 +25,14 @@ def onCyclerCommand(sender, args):
|
|||||||
if cmd == "on":
|
if cmd == "on":
|
||||||
if nop:
|
if nop:
|
||||||
no_cyclers.remove(pid)
|
no_cyclers.remove(pid)
|
||||||
saveCyclers()
|
save_cyclers()
|
||||||
msg(sender, "&aTurned &2on&a inventory cycling!")
|
msg(sender, "&aTurned &2on&a inventory cycling!")
|
||||||
else:
|
else:
|
||||||
msg(sender, "&aAlready turned on.")
|
msg(sender, "&aAlready turned on.")
|
||||||
elif cmd == "off":
|
elif cmd == "off":
|
||||||
if not nop:
|
if not nop:
|
||||||
no_cyclers.append(pid)
|
no_cyclers.append(pid)
|
||||||
saveCyclers()
|
save_cyclers()
|
||||||
msg(sender, "&aTurned &coff&a inventory cycling!")
|
msg(sender, "&aTurned &coff&a inventory cycling!")
|
||||||
else:
|
else:
|
||||||
msg(sender, "&aAlready turned off.")
|
msg(sender, "&aAlready turned off.")
|
||||||
@@ -42,15 +42,15 @@ def onCyclerCommand(sender, args):
|
|||||||
|
|
||||||
|
|
||||||
@hook.event("player.PlayerItemHeldEvent", "normal")
|
@hook.event("player.PlayerItemHeldEvent", "normal")
|
||||||
def onSlotChange(event):
|
def on_slot_change(event):
|
||||||
player = event.getPlayer()
|
player = event.getPlayer()
|
||||||
if str(player.getGameMode()) == "CREATIVE" and str(player.getUniqueId()) not in no_cyclers and not player.isSneaking():
|
if str(player.getGameMode()) == "CREATIVE" and str(player.getUniqueId()) not in no_cyclers and not player.isSneaking():
|
||||||
prev_slot = event.getPreviousSlot()
|
prev_slot = event.getPreviousSlot()
|
||||||
new_slot = event.getNewSlot()
|
new_slot = event.getNewSlot()
|
||||||
if (prev_slot == 0 and new_slot == 8): # left -> right
|
if (prev_slot == 0 and new_slot == 8): # left -> right
|
||||||
doCycle(player, True)
|
do_cycle(player, True)
|
||||||
elif (prev_slot == 8 and new_slot == 0): # right -> left
|
elif (prev_slot == 8 and new_slot == 0): # right -> left
|
||||||
doCycle(player, False)
|
do_cycle(player, False)
|
||||||
|
|
||||||
# ITEM SLOTS #
|
# ITEM SLOTS #
|
||||||
#_____________________________
|
#_____________________________
|
||||||
@@ -60,7 +60,7 @@ def onSlotChange(event):
|
|||||||
#_____________________________
|
#_____________________________
|
||||||
# | 0| 1| 2| 3| 4| 5| 6| 7| 8|
|
# | 0| 1| 2| 3| 4| 5| 6| 7| 8|
|
||||||
|
|
||||||
def doCycle(player, down):
|
def do_cycle(player, down):
|
||||||
inv = player.getInventory()
|
inv = player.getInventory()
|
||||||
items = inv.getContents()
|
items = inv.getContents()
|
||||||
shift = -9 if down else 9
|
shift = -9 if down else 9
|
||||||
@@ -72,7 +72,7 @@ def doCycle(player, down):
|
|||||||
break
|
break
|
||||||
inv.setContents(items)
|
inv.setContents(items)
|
||||||
|
|
||||||
def saveCyclers():
|
def save_cyclers():
|
||||||
try:
|
try:
|
||||||
chatgroups_file = open(cyclers_file, "w")
|
chatgroups_file = open(cyclers_file, "w")
|
||||||
chatgroups_file.write(json.dumps(no_cyclers))
|
chatgroups_file.write(json.dumps(no_cyclers))
|
||||||
|
|||||||
18
damnspam.py
18
damnspam.py
@@ -14,7 +14,7 @@ except Exception, e:
|
|||||||
error("Failed to load buttons and levers: %s" % e)
|
error("Failed to load buttons and levers: %s" % e)
|
||||||
|
|
||||||
|
|
||||||
def saveInputs():
|
def save_inputs():
|
||||||
try:
|
try:
|
||||||
spam_file = open(spam_filename, "w")
|
spam_file = open(spam_filename, "w")
|
||||||
spam_file.write(json.dumps(inputs))
|
spam_file.write(json.dumps(inputs))
|
||||||
@@ -38,10 +38,10 @@ def add_input(creator, block, timeout_off, timeout_on):
|
|||||||
|
|
||||||
|
|
||||||
@hook.command("damnspam")
|
@hook.command("damnspam")
|
||||||
def onDammnspamCommand(sender, args):
|
def on_dammnspam_command(sender, args):
|
||||||
global inputs
|
global inputs
|
||||||
|
|
||||||
plugHeader(sender, "DamnSpam")
|
plugin_header(sender, "DamnSpam")
|
||||||
if len(args) in [1,2]:
|
if len(args) in [1,2]:
|
||||||
|
|
||||||
if not str(sender.getGameMode()) == "CREATIVE":
|
if not str(sender.getGameMode()) == "CREATIVE":
|
||||||
@@ -90,7 +90,7 @@ def onDammnspamCommand(sender, args):
|
|||||||
|
|
||||||
# add block to inputs
|
# add block to inputs
|
||||||
add_input(sender, target, timeout_off, timeout_on)
|
add_input(sender, target, timeout_off, timeout_on)
|
||||||
saveInputs()
|
save_inputs()
|
||||||
msg(sender, "&aSuccessfully set a timeout for this %s." % ttype.lower())
|
msg(sender, "&aSuccessfully set a timeout for this %s." % ttype.lower())
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@@ -100,7 +100,7 @@ def onDammnspamCommand(sender, args):
|
|||||||
|
|
||||||
|
|
||||||
@hook.event("block.BlockBreakEvent", "normal")
|
@hook.event("block.BlockBreakEvent", "normal")
|
||||||
def onBreak(event):
|
def on_block_break(event):
|
||||||
global inputs
|
global inputs
|
||||||
|
|
||||||
sender = event.getPlayer()
|
sender = event.getPlayer()
|
||||||
@@ -108,10 +108,10 @@ def onBreak(event):
|
|||||||
if str(block.getType()) in accepted_inputs and not event.isCancelled():
|
if str(block.getType()) in accepted_inputs and not event.isCancelled():
|
||||||
pos_str = location_str(block)
|
pos_str = location_str(block)
|
||||||
if inputs.get(pos_str):
|
if inputs.get(pos_str):
|
||||||
plugHeader(sender, "DamnSpam")
|
plugin_header(sender, "DamnSpam")
|
||||||
if sender.isSneaking():
|
if sender.isSneaking():
|
||||||
inputs.pop(pos_str) # remove
|
inputs.pop(pos_str) # remove
|
||||||
saveInputs()
|
save_inputs()
|
||||||
msg(sender, "&eSuccessfully removed the input!")
|
msg(sender, "&eSuccessfully removed the input!")
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
@@ -122,7 +122,7 @@ def onBreak(event):
|
|||||||
|
|
||||||
|
|
||||||
@hook.event("player.PlayerInteractEvent", "normal")
|
@hook.event("player.PlayerInteractEvent", "normal")
|
||||||
def onInteract(event):
|
def on_interact(event):
|
||||||
if (str(event.getAction()) == "RIGHT_CLICK_BLOCK") and not event.isCancelled():
|
if (str(event.getAction()) == "RIGHT_CLICK_BLOCK") and not event.isCancelled():
|
||||||
sender = event.getPlayer()
|
sender = event.getPlayer()
|
||||||
block = event.getClickedBlock()
|
block = event.getClickedBlock()
|
||||||
@@ -134,7 +134,7 @@ def onInteract(event):
|
|||||||
checktime = data["timeout_on"] if powered else data["timeout_off"]
|
checktime = data["timeout_on"] if powered else data["timeout_off"]
|
||||||
if data["last_time"] + checktime > now():
|
if data["last_time"] + checktime > now():
|
||||||
event.setCancelled(True)
|
event.setCancelled(True)
|
||||||
plugHeader(sender, "DamnSpam")
|
plugin_header(sender, "DamnSpam")
|
||||||
msg(sender, "&cThis %s has a timeout of %ss." % (btype, checktime))
|
msg(sender, "&cThis %s has a timeout of %ss." % (btype, checktime))
|
||||||
else:
|
else:
|
||||||
inputs[pos_str]["last_time"] = round(now(), 2)
|
inputs[pos_str]["last_time"] = round(now(), 2)
|
||||||
@@ -8,9 +8,10 @@ fd = 4 # forcefield distance
|
|||||||
forcefield_toggle = []
|
forcefield_toggle = []
|
||||||
forcefield_whitelist = {}
|
forcefield_whitelist = {}
|
||||||
|
|
||||||
|
|
||||||
@hook.command("forcefield")
|
@hook.command("forcefield")
|
||||||
def onForceFieldCommand(sender, args):
|
def on_forcefield_command(sender, args):
|
||||||
if not isPlayer(sender) or not sender.hasPermission(forcefield_permissions[0]):
|
if not is_player(sender) or not sender.hasPermission(forcefield_permissions[0]):
|
||||||
noperm(sender)
|
noperm(sender)
|
||||||
return True
|
return True
|
||||||
sender_id = str(sender.getUniqueId())
|
sender_id = str(sender.getUniqueId())
|
||||||
@@ -33,6 +34,7 @@ def onForceFieldCommand(sender, args):
|
|||||||
invalid_syntax(sender)
|
invalid_syntax(sender)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def whitelist_add(sender, sender_id, add, players):
|
def whitelist_add(sender, sender_id, add, players):
|
||||||
if not players:
|
if not players:
|
||||||
msg(sender, "%s &cGive space-separated playernames." % forcefield_prefix)
|
msg(sender, "%s &cGive space-separated playernames." % forcefield_prefix)
|
||||||
@@ -61,7 +63,7 @@ def whitelist_add(sender, sender_id, add, players):
|
|||||||
forcefield_whitelist[sender_id].remove(uid)
|
forcefield_whitelist[sender_id].remove(uid)
|
||||||
msg(sender, "%s &cRemoved %s from your forcefield whitelist." % (forcefield_prefix, pname))
|
msg(sender, "%s &cRemoved %s from your forcefield whitelist." % (forcefield_prefix, pname))
|
||||||
if online == True:
|
if online == True:
|
||||||
msg(player, "%s %s &cRemoved you from his forcefield whitelist." % (forcefield_prefix, sender.getDisplayName()))
|
msg(player, "%s %s &cRemoved you from his forcefield whitelist." % (forcefield_prefix, sender.getDisplayName()))
|
||||||
elif add == True:
|
elif add == True:
|
||||||
msg(sender, "%s &c%s &cWas already in your forcefield whitelist." % (forcefield_prefix, pname))
|
msg(sender, "%s &c%s &cWas already in your forcefield whitelist." % (forcefield_prefix, pname))
|
||||||
else:
|
else:
|
||||||
@@ -69,6 +71,7 @@ def whitelist_add(sender, sender_id, add, players):
|
|||||||
else:
|
else:
|
||||||
msg(sender, "%s &cplayer %s &cwas not found." % (forcefield_prefix, name))
|
msg(sender, "%s &cplayer %s &cwas not found." % (forcefield_prefix, name))
|
||||||
|
|
||||||
|
|
||||||
def whitelist_list(sender, sender_id):
|
def whitelist_list(sender, sender_id):
|
||||||
msg(sender, "%s &aForceField Whitelist:" % forcefield_prefix)
|
msg(sender, "%s &aForceField Whitelist:" % forcefield_prefix)
|
||||||
if not sender_id in forcefield_whitelist or len(forcefield_whitelist[sender_id]) == 0:
|
if not sender_id in forcefield_whitelist or len(forcefield_whitelist[sender_id]) == 0:
|
||||||
@@ -79,6 +82,7 @@ def whitelist_list(sender, sender_id):
|
|||||||
c+=1
|
c+=1
|
||||||
msg(sender, "&a %s. &f%s" % (c, server.getPlayer(idToPlayer(uid)).getDisplayName()))
|
msg(sender, "&a %s. &f%s" % (c, server.getPlayer(idToPlayer(uid)).getDisplayName()))
|
||||||
|
|
||||||
|
|
||||||
def whitelist_clear(sender, sender_id):
|
def whitelist_clear(sender, sender_id):
|
||||||
if len(forcefield_whitelist[sender_id]) == 0:
|
if len(forcefield_whitelist[sender_id]) == 0:
|
||||||
msg(sender, "%s &cYou had no players whitelisted." % forcefield_prefix)
|
msg(sender, "%s &cYou had no players whitelisted." % forcefield_prefix)
|
||||||
@@ -86,6 +90,7 @@ def whitelist_clear(sender, sender_id):
|
|||||||
forcefield_whitelist[sender_id] = []
|
forcefield_whitelist[sender_id] = []
|
||||||
msg(sender, "%s &aForceField Whitelist cleared." % forcefield_prefix)
|
msg(sender, "%s &aForceField Whitelist cleared." % forcefield_prefix)
|
||||||
|
|
||||||
|
|
||||||
def forcefield_help(sender):
|
def forcefield_help(sender):
|
||||||
msg(sender, "%s &a&l/ForceField Help: \n&aYou can use the forcefield to keep players on distance." % forcefield_prefix)
|
msg(sender, "%s &a&l/ForceField Help: \n&aYou can use the forcefield to keep players on distance." % forcefield_prefix)
|
||||||
msg(sender, "&2Commands:")
|
msg(sender, "&2Commands:")
|
||||||
@@ -96,6 +101,7 @@ def forcefield_help(sender):
|
|||||||
msg(sender, "&a5. &6/ff wl &oadd <players> &a: aliases: &o+")
|
msg(sender, "&a5. &6/ff wl &oadd <players> &a: aliases: &o+")
|
||||||
msg(sender, "&a6. &6/ff wl &oremove <players> &a: aliases: &odelete, rem, del, -")
|
msg(sender, "&a6. &6/ff wl &oremove <players> &a: aliases: &odelete, rem, del, -")
|
||||||
|
|
||||||
|
|
||||||
def toggle_forcefield(sender, sender_id):
|
def toggle_forcefield(sender, sender_id):
|
||||||
if sender_id in forcefield_toggle:
|
if sender_id in forcefield_toggle:
|
||||||
forcefield_toggle.remove(sender_id)
|
forcefield_toggle.remove(sender_id)
|
||||||
@@ -104,13 +110,16 @@ def toggle_forcefield(sender, sender_id):
|
|||||||
forcefield_toggle.append(sender_id)
|
forcefield_toggle.append(sender_id)
|
||||||
msg(sender, "%s &aForceField toggle: &2ON" % forcefield_prefix)
|
msg(sender, "%s &aForceField toggle: &2ON" % forcefield_prefix)
|
||||||
|
|
||||||
|
|
||||||
def invalid_syntax(sender):
|
def invalid_syntax(sender):
|
||||||
msg(sender, "%s &cInvalid syntax. Use &o/ff ? &cfor more info." % forcefield_prefix)
|
msg(sender, "%s &cInvalid syntax. Use &o/ff ? &cfor more info." % forcefield_prefix)
|
||||||
|
|
||||||
|
|
||||||
#--------------------------------------------------------------------------------------------------------#
|
#--------------------------------------------------------------------------------------------------------#
|
||||||
|
|
||||||
|
|
||||||
@hook.event("player.PlayerMoveEvent")
|
@hook.event("player.PlayerMoveEvent")
|
||||||
def onMove(event):
|
def on_move(event):
|
||||||
player = event.getPlayer()
|
player = event.getPlayer()
|
||||||
player_id = str(player.getUniqueId())
|
player_id = str(player.getUniqueId())
|
||||||
if player_id in forcefield_toggle: #player has forcefield, entity should be launched
|
if player_id in forcefield_toggle: #player has forcefield, entity should be launched
|
||||||
@@ -118,21 +127,22 @@ def onMove(event):
|
|||||||
forcefield_whitelist[player_id] = []
|
forcefield_whitelist[player_id] = []
|
||||||
for entity in player.getNearbyEntities(fd, fd, fd):
|
for entity in player.getNearbyEntities(fd, fd, fd):
|
||||||
log("%s" % entity.getName())
|
log("%s" % entity.getName())
|
||||||
if isPlayer(entity) and not entity.hasPermission(forcefield_permissions[1]) and not str(entity.getUniqueId()) in forcefield_whitelist[player_id] and not entity == player:
|
if is_player(entity) and not entity.hasPermission(forcefield_permissions[1]) and not str(entity.getUniqueId()) in forcefield_whitelist[player_id] and not entity == player:
|
||||||
setVelocityAway(player, entity)
|
set_velocity_away(player, entity)
|
||||||
if not player.hasPermission(forcefield_permissions[1]): #player should be launched, entity has forcefield
|
if not player.hasPermission(forcefield_permissions[1]): #player should be launched, entity has forcefield
|
||||||
for entity in player.getNearbyEntities(fd, fd, fd):
|
for entity in player.getNearbyEntities(fd, fd, fd):
|
||||||
entity_id = str(entity.getUniqueId())
|
entity_id = str(entity.getUniqueId())
|
||||||
if not forcefield_whitelist[entity_id]:
|
if not forcefield_whitelist[entity_id]:
|
||||||
forcefield_whitelist[entity_id] = []
|
forcefield_whitelist[entity_id] = []
|
||||||
if isPlayer(entity) and entity_id in forcefield_toggle and not player_id in forcefield_whitelist[entity_id] and not entity == player:
|
if is_player(entity) and entity_id in forcefield_toggle and not player_id in forcefield_whitelist[entity_id] and not entity == player:
|
||||||
if event.getFrom().distance(entity.getLocation()) > 4:
|
if event.getFrom().distance(entity.getLocation()) > 4:
|
||||||
event.setCancelled(True)
|
event.setCancelled(True)
|
||||||
msg(player, "&cYou may not get closer than %sm to %s &cdue to their forcefield." % (fd, entity.getDisplayName()))
|
msg(player, "&cYou may not get closer than %sm to %s &cdue to their forcefield." % (fd, entity.getDisplayName()))
|
||||||
else:
|
else:
|
||||||
setVelocityAway(entity, player) #Other way around
|
set_velocity_away(entity, player) #Other way around
|
||||||
|
|
||||||
def setVelocityAway(player, entity): #Moves entity away from player
|
|
||||||
|
def set_velocity_away(player, entity): #Moves entity away from player
|
||||||
player_loc = player.getLocation()
|
player_loc = player.getLocation()
|
||||||
entity_loc = entity.getLocation()
|
entity_loc = entity.getLocation()
|
||||||
dx = entity_loc.getX() - player_loc.getX()
|
dx = entity_loc.getX() - player_loc.getX()
|
||||||
@@ -141,11 +151,13 @@ def setVelocityAway(player, entity): #Moves entity away from player
|
|||||||
negator = fd/2
|
negator = fd/2
|
||||||
entity.setVelocity(negator/dx, negator/dy, negator/dz)
|
entity.setVelocity(negator/dx, negator/dy, negator/dz)
|
||||||
|
|
||||||
|
|
||||||
#--------------------------------------------------------------------------------------------------------#
|
#--------------------------------------------------------------------------------------------------------#
|
||||||
|
|
||||||
|
|
||||||
@hook.event("player.PlayerQuitEvent")
|
@hook.event("player.PlayerQuitEvent")
|
||||||
def onQuit(event):
|
def on_quit(event):
|
||||||
try:
|
try:
|
||||||
forcefield_toggle.remove(str(event.getPlayer().getUniqueId()))
|
forcefield_toggle.remove(str(event.getPlayer().getUniqueId()))
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
32
helpers.py
32
helpers.py
@@ -7,16 +7,19 @@ import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause as TeleportCaus
|
|||||||
import org.bukkit.block as bblock
|
import org.bukkit.block as bblock
|
||||||
|
|
||||||
|
|
||||||
shared = {}
|
shared = {} # this dict can be used to share stuff across modules
|
||||||
|
|
||||||
server = bukkit.Bukkit.getServer()
|
server = bukkit.Bukkit.getServer()
|
||||||
|
|
||||||
|
|
||||||
def log(text):
|
def log(text):
|
||||||
server.getLogger().info("[RedstonerUtils] %s" % colorify(text))
|
server.getLogger().info("[RedstonerUtils] %s" % colorify(text))
|
||||||
|
|
||||||
|
|
||||||
def error(text):
|
def error(text):
|
||||||
server.getLogger().severe("[RedstonerUtils] %s" % text)
|
server.getLogger().severe("[RedstonerUtils] %s" % text)
|
||||||
|
|
||||||
|
|
||||||
def msg(player, text, usecolor = True, basecolor = None):
|
def msg(player, text, usecolor = True, basecolor = None):
|
||||||
if player and (player == server.getConsoleSender() or player.getPlayer()): #getPlayer() returns None when offline
|
if player and (player == server.getConsoleSender() or player.getPlayer()): #getPlayer() returns None when offline
|
||||||
if basecolor:
|
if basecolor:
|
||||||
@@ -24,19 +27,25 @@ def msg(player, text, usecolor = True, basecolor = None):
|
|||||||
else:
|
else:
|
||||||
player.sendMessage(colorify(text) if usecolor else text)
|
player.sendMessage(colorify(text) if usecolor else text)
|
||||||
|
|
||||||
# better than bukkit's broadcast.
|
|
||||||
# bukkit only works with permissibles that are subscribed to perm
|
|
||||||
def broadcast(perm, text):
|
def broadcast(perm, text):
|
||||||
|
"""
|
||||||
|
better than bukkit's broadcast.
|
||||||
|
bukkit only works with permissibles that are subscribed to perm
|
||||||
|
"""
|
||||||
text = colorify(text)
|
text = colorify(text)
|
||||||
for recipient in list(server.getOnlinePlayers()) + [server.getConsoleSender()]:
|
for recipient in list(server.getOnlinePlayers()) + [server.getConsoleSender()]:
|
||||||
(not perm or recipient.hasPermission(perm)) and msg(recipient, text)
|
(not perm or recipient.hasPermission(perm)) and msg(recipient, text)
|
||||||
|
|
||||||
|
|
||||||
def colorify(text):
|
def colorify(text):
|
||||||
return sub("&(?=[?\\da-fk-or])", u"\u00A7", "%s" % text)
|
return sub("&(?=[?\\da-fk-or])", u"\u00A7", "%s" % text)
|
||||||
|
|
||||||
|
|
||||||
def stripcolors(text):
|
def stripcolors(text):
|
||||||
return sub(u"\u00A7[\\da-fk-or]", "", "%s" % text)
|
return sub(u"\u00A7[\\da-fk-or]", "", "%s" % text)
|
||||||
|
|
||||||
|
|
||||||
def safetp(player, world, x, y, z, yaw = 0, pitch = 0):
|
def safetp(player, world, x, y, z, yaw = 0, pitch = 0):
|
||||||
tpblock = Location(world, x, y, z).getBlock()
|
tpblock = Location(world, x, y, z).getBlock()
|
||||||
if (tpblock.isEmpty() and tpblock.getRelative(bblock.BlockFace.UP).isEmpty()) or y > 255:
|
if (tpblock.isEmpty() and tpblock.getRelative(bblock.BlockFace.UP).isEmpty()) or y > 255:
|
||||||
@@ -44,20 +53,31 @@ def safetp(player, world, x, y, z, yaw = 0, pitch = 0):
|
|||||||
else:
|
else:
|
||||||
safetp(player, world, x, y+1, z, yaw, pitch)
|
safetp(player, world, x, y+1, z, yaw, pitch)
|
||||||
|
|
||||||
def plugHeader(sender=None, name="Redstoner Utils"):
|
|
||||||
|
def plugin_header(sender=None, name="Redstoner Utils"):
|
||||||
|
"""
|
||||||
|
sends the recipient a "Plugin Header", in the format of:
|
||||||
|
|
||||||
|
--=[ PluginName ]=--
|
||||||
|
"""
|
||||||
|
|
||||||
head = "\n&2--=[ %s ]=--" % name
|
head = "\n&2--=[ %s ]=--" % name
|
||||||
msg(sender, head)
|
msg(sender, head)
|
||||||
return head
|
return head
|
||||||
|
|
||||||
|
|
||||||
def noperm(player):
|
def noperm(player):
|
||||||
msg(player, "&cno permission")
|
msg(player, "&cno permission")
|
||||||
|
|
||||||
|
|
||||||
def runas(player, cmd):
|
def runas(player, cmd):
|
||||||
server.dispatchCommand(player, cmd)
|
server.dispatchCommand(player, cmd)
|
||||||
|
|
||||||
def isPlayer(sender):
|
|
||||||
|
def is_player(sender):
|
||||||
return (isinstance(sender, Player))
|
return (isinstance(sender, Player))
|
||||||
|
|
||||||
|
|
||||||
def checkargs(sender, args, amin, amax):
|
def checkargs(sender, args, amin, amax):
|
||||||
if not (len(args) >= amin and (amax < 0 or len(args) <= amax)):
|
if not (len(args) >= amin and (amax < 0 or len(args) <= amax)):
|
||||||
if amin == amax:
|
if amin == amax:
|
||||||
@@ -76,4 +96,4 @@ def warp(sender, args, warpname):
|
|||||||
if not checkargs(sender, args, 0, 1):
|
if not checkargs(sender, args, 0, 1):
|
||||||
return True
|
return True
|
||||||
runas(sender, " ".join(["warp", warpname, sender.getName()]))
|
runas(sender, " ".join(["warp", warpname, sender.getName()]))
|
||||||
return True
|
return True
|
||||||
26
lagchunks.py
26
lagchunks.py
@@ -4,12 +4,14 @@ from helpers import *
|
|||||||
|
|
||||||
lagchunks = []
|
lagchunks = []
|
||||||
|
|
||||||
def printHelp(sender):
|
|
||||||
|
def print_help(sender):
|
||||||
msg(sender, " &b/lagchunks <amount> &eList chunks where #entities >= <amount>")
|
msg(sender, " &b/lagchunks <amount> &eList chunks where #entities >= <amount>")
|
||||||
msg(sender, " &b/lagchunks list &eShow list again")
|
msg(sender, " &b/lagchunks list &eShow list again")
|
||||||
msg(sender, " &b/lagchunks tp <num> &eTeleport to chunk <num> from list")
|
msg(sender, " &b/lagchunks tp <num> &eTeleport to chunk <num> from list")
|
||||||
|
|
||||||
def scanChunks(amount):
|
|
||||||
|
def scan_chunks(amount):
|
||||||
try:
|
try:
|
||||||
global lagchunks
|
global lagchunks
|
||||||
chunks = []
|
chunks = []
|
||||||
@@ -24,37 +26,39 @@ def scanChunks(amount):
|
|||||||
except Exception, e:
|
except Exception, e:
|
||||||
error(e)
|
error(e)
|
||||||
|
|
||||||
def listChunks(sender):
|
|
||||||
|
def list_chunks(sender):
|
||||||
for id, chunk in enumerate(lagchunks):
|
for id, chunk in enumerate(lagchunks):
|
||||||
msg(sender, "&b%s&a: (&b%s&a) %s&7, &a%s &7(%s)" % (id, chunk[4], chunk[1], chunk[3], chunk[0].getName()))
|
msg(sender, "&b%s&a: (&b%s&a) %s&7, &a%s &7(%s)" % (id, chunk[4], chunk[1], chunk[3], chunk[0].getName()))
|
||||||
msg(sender, "&2------------------")
|
msg(sender, "&2------------------")
|
||||||
|
|
||||||
|
|
||||||
def tpChunk(sender, id):
|
def tp_chunk(sender, id):
|
||||||
chunk = lagchunks[id]
|
chunk = lagchunks[id]
|
||||||
safetp(sender, chunk[0], chunk[1], chunk[2], chunk[3])
|
safetp(sender, chunk[0], chunk[1], chunk[2], chunk[3])
|
||||||
msg(sender, "&aTeleported to &b%s&a, &b%s&a in &7%s&a with &b%s&a entities nearby." % (chunk[1], chunk[3], chunk[0].getName(), chunk[4]))
|
msg(sender, "&aTeleported to &b%s&a, &b%s&a in &7%s&a with &b%s&a entities nearby." % (chunk[1], chunk[3], chunk[0].getName(), chunk[4]))
|
||||||
|
|
||||||
|
|
||||||
@hook.command("lagchunks")
|
@hook.command("lagchunks")
|
||||||
def onLagchunksCommand(sender, args):
|
def on_lagchunks_command(sender, args):
|
||||||
try:
|
try:
|
||||||
if sender.hasPermission("utils.lagchunks"):
|
if sender.hasPermission("utils.lagchunks"):
|
||||||
plugHeader(sender, "Lagchunks")
|
plugin_header(sender, "Lagchunks")
|
||||||
global lagchunks
|
global lagchunks
|
||||||
if len(args) == 1 and args[0].isdigit() and int(args[0]) > 0:
|
if len(args) == 1 and args[0].isdigit() and int(args[0]) > 0:
|
||||||
amount = args[0]
|
amount = args[0]
|
||||||
msg(sender, "&aChunks with at least &b%s &aentities:" % amount, )
|
msg(sender, "&aChunks with at least &b%s &aentities:" % amount, )
|
||||||
scanChunks(int(amount))
|
scan_chunks(int(amount))
|
||||||
listChunks(sender)
|
list_chunks(sender)
|
||||||
elif len(args) == 1 and args[0].lower() == "list":
|
elif len(args) == 1 and args[0].lower() == "list":
|
||||||
listChunks(sender)
|
list_chunks(sender)
|
||||||
elif len(args) == 2 and args[0].lower() == "tp" and args[1].isdigit() and int(args[1]) <= len(lagchunks)-1:
|
elif len(args) == 2 and args[0].lower() == "tp" and args[1].isdigit() and int(args[1]) <= len(lagchunks)-1:
|
||||||
if isinstance(sender, Player):
|
if isinstance(sender, Player):
|
||||||
tpChunk(sender, int(args[1]))
|
tp_chunk(sender, int(args[1]))
|
||||||
else:
|
else:
|
||||||
msg(sender, "&cOnly players can do this!")
|
msg(sender, "&cOnly players can do this!")
|
||||||
else:
|
else:
|
||||||
printHelp(sender)
|
print_help(sender)
|
||||||
else:
|
else:
|
||||||
noperm(sender)
|
noperm(sender)
|
||||||
return True
|
return True
|
||||||
|
|||||||
8
main.py
8
main.py
@@ -17,13 +17,13 @@ except:
|
|||||||
|
|
||||||
|
|
||||||
@hook.enable
|
@hook.enable
|
||||||
def onEnable():
|
def on_enable():
|
||||||
log("RedstonerUtils enabled!")
|
log("RedstonerUtils enabled!")
|
||||||
|
|
||||||
|
|
||||||
@hook.disable
|
@hook.disable
|
||||||
def onDisable():
|
def on_disable():
|
||||||
shared["modules"]["reports"].stopChecking()
|
shared["modules"]["reports"].stop_reporting()
|
||||||
log("RedstonerUtils disabled!")
|
log("RedstonerUtils disabled!")
|
||||||
|
|
||||||
|
|
||||||
@@ -53,4 +53,4 @@ for module in load_modules:
|
|||||||
log("Module %s loaded." % module)
|
log("Module %s loaded." % module)
|
||||||
except:
|
except:
|
||||||
error("Failed to import module %s:" % module)
|
error("Failed to import module %s:" % module)
|
||||||
error(print_traceback())
|
error(print_traceback())
|
||||||
14
mentio.py
14
mentio.py
@@ -16,7 +16,7 @@ except Exception, e:
|
|||||||
|
|
||||||
|
|
||||||
@hook.event("player.AsyncPlayerChatEvent", "high")
|
@hook.event("player.AsyncPlayerChatEvent", "high")
|
||||||
def onChat(event):
|
def on_chat(event):
|
||||||
try:
|
try:
|
||||||
if not event.isCancelled():
|
if not event.isCancelled():
|
||||||
sender = event.getPlayer()
|
sender = event.getPlayer()
|
||||||
@@ -45,13 +45,14 @@ def onChat(event):
|
|||||||
error("Failed to handle PlayerChatEvent:")
|
error("Failed to handle PlayerChatEvent:")
|
||||||
error(print_traceback())
|
error(print_traceback())
|
||||||
|
|
||||||
|
|
||||||
@hook.command("listen")
|
@hook.command("listen")
|
||||||
def onListenCommand(sender, args):
|
def on_listen_command(sender, args):
|
||||||
try:
|
try:
|
||||||
currWords = []
|
currWords = []
|
||||||
if str(sender.getUniqueId()) in mentions.keys():
|
if str(sender.getUniqueId()) in mentions.keys():
|
||||||
currWords = mentions[str(sender.getUniqueId())]
|
currWords = mentions[str(sender.getUniqueId())]
|
||||||
|
|
||||||
# /listen add <word>
|
# /listen add <word>
|
||||||
if len(args) == 2 and args[0].lower() == "add":
|
if len(args) == 2 and args[0].lower() == "add":
|
||||||
|
|
||||||
@@ -66,7 +67,7 @@ def onListenCommand(sender, args):
|
|||||||
currWords.append(args[1].lower())
|
currWords.append(args[1].lower())
|
||||||
mentions[str(sender.getUniqueId())] = currWords
|
mentions[str(sender.getUniqueId())] = currWords
|
||||||
msg(sender, "&aYou are now listening for '&2"+args[1].lower()+"'!")
|
msg(sender, "&aYou are now listening for '&2"+args[1].lower()+"'!")
|
||||||
saveMentions()
|
save_mentions()
|
||||||
return True
|
return True
|
||||||
# /listen del <word>
|
# /listen del <word>
|
||||||
elif len(args) == 2 and args[0].lower() == "del":
|
elif len(args) == 2 and args[0].lower() == "del":
|
||||||
@@ -80,7 +81,7 @@ def onListenCommand(sender, args):
|
|||||||
mentions[str(sender.getUniqueId())] = currWords
|
mentions[str(sender.getUniqueId())] = currWords
|
||||||
success = True
|
success = True
|
||||||
if success == True:
|
if success == True:
|
||||||
saveMentions()
|
save_mentions()
|
||||||
msg(sender, "&eYou are no longer listening for '&2"+args[1].lower()+"&e'!")
|
msg(sender, "&eYou are no longer listening for '&2"+args[1].lower()+"&e'!")
|
||||||
else:
|
else:
|
||||||
msg(sender, "&cWe can't remove something that doesn't exist! Try &6/listen list")
|
msg(sender, "&cWe can't remove something that doesn't exist! Try &6/listen list")
|
||||||
@@ -98,7 +99,8 @@ def onListenCommand(sender, args):
|
|||||||
except Exception, e:
|
except Exception, e:
|
||||||
error(e)
|
error(e)
|
||||||
|
|
||||||
def saveMentions():
|
|
||||||
|
def save_mentions():
|
||||||
try:
|
try:
|
||||||
mentio_file = open(mentio_filename, "w")
|
mentio_file = open(mentio_filename, "w")
|
||||||
mentio_file.write(json.dumps(mentions))
|
mentio_file.write(json.dumps(mentions))
|
||||||
|
|||||||
23
misc.py
23
misc.py
@@ -9,7 +9,7 @@ import org.bukkit.inventory.ItemStack as ItemStack
|
|||||||
#
|
#
|
||||||
|
|
||||||
@hook.event("player.PlayerJoinEvent", "monitor")
|
@hook.event("player.PlayerJoinEvent", "monitor")
|
||||||
def onJoin(event):
|
def on_join(event):
|
||||||
player = event.getPlayer()
|
player = event.getPlayer()
|
||||||
|
|
||||||
# send welcome broadcast
|
# send welcome broadcast
|
||||||
@@ -41,9 +41,9 @@ def onJoin(event):
|
|||||||
|
|
||||||
|
|
||||||
@hook.command("sudo")
|
@hook.command("sudo")
|
||||||
def onSudoCommand(sender, args):
|
def on_sudo_command(sender, args):
|
||||||
if sender.hasPermission("utils.sudo"):
|
if sender.hasPermission("utils.sudo"):
|
||||||
plugHeader(sender, "Sudo")
|
plugin_header(sender, "Sudo")
|
||||||
if not checkargs(sender, args, 2, -1):
|
if not checkargs(sender, args, 2, -1):
|
||||||
return True
|
return True
|
||||||
target = args[0]
|
target = args[0]
|
||||||
@@ -77,7 +77,7 @@ def onSudoCommand(sender, args):
|
|||||||
last_shear = 0.0
|
last_shear = 0.0
|
||||||
|
|
||||||
@hook.event("player.PlayerInteractEntityEvent")
|
@hook.event("player.PlayerInteractEntityEvent")
|
||||||
def onPlayerInteractEntity(event):
|
def on_player_entity_interact(event):
|
||||||
global last_shear
|
global last_shear
|
||||||
if not event.isCancelled():
|
if not event.isCancelled():
|
||||||
shear_time = now()
|
shear_time = now()
|
||||||
@@ -85,7 +85,7 @@ def onPlayerInteractEntity(event):
|
|||||||
last_shear = shear_time
|
last_shear = shear_time
|
||||||
sender = event.getPlayer()
|
sender = event.getPlayer()
|
||||||
entity = event.getRightClicked()
|
entity = event.getRightClicked()
|
||||||
if isPlayer(entity) and str(entity.getUniqueId()) == "ae795aa8-6327-408e-92ab-25c8a59f3ba1" and str(sender.getItemInHand().getType()) == "SHEARS" and str(sender.getGameMode()) == "CREATIVE":
|
if is_player(entity) and str(entity.getUniqueId()) == "ae795aa8-6327-408e-92ab-25c8a59f3ba1" and str(sender.getItemInHand().getType()) == "SHEARS" and str(sender.getGameMode()) == "CREATIVE":
|
||||||
for i in range(5):
|
for i in range(5):
|
||||||
entity.getWorld().dropItemNaturally(entity.getLocation(), ItemStack(bukkit.Material.getMaterial("REDSTONE")))
|
entity.getWorld().dropItemNaturally(entity.getLocation(), ItemStack(bukkit.Material.getMaterial("REDSTONE")))
|
||||||
entity.getWorld().dropItemNaturally(entity.getLocation(), ItemStack(bukkit.Material.getMaterial("WOOL")))
|
entity.getWorld().dropItemNaturally(entity.getLocation(), ItemStack(bukkit.Material.getMaterial("WOOL")))
|
||||||
@@ -97,8 +97,8 @@ def onPlayerInteractEntity(event):
|
|||||||
#
|
#
|
||||||
|
|
||||||
@hook.command("pluginversions")
|
@hook.command("pluginversions")
|
||||||
def onPluginversionsCommand(sender, args):
|
def on_pluginversions_command(sender, args):
|
||||||
plugHeader(sender, "Plugin versions")
|
plugin_header(sender, "Plugin versions")
|
||||||
plugins = list(server.getPluginManager().getPlugins())
|
plugins = list(server.getPluginManager().getPlugins())
|
||||||
plugins.sort(key=lambda pl: pl.getDescription().getName())
|
plugins.sort(key=lambda pl: pl.getDescription().getName())
|
||||||
msg(sender, "&3Listing all " + str(len(plugins)) + " plugins and their version:")
|
msg(sender, "&3Listing all " + str(len(plugins)) + " plugins and their version:")
|
||||||
@@ -112,7 +112,7 @@ def onPluginversionsCommand(sender, args):
|
|||||||
#
|
#
|
||||||
|
|
||||||
@hook.command("echo")
|
@hook.command("echo")
|
||||||
def onEchoCommand(sender, args):
|
def on_echo_command(sender, args):
|
||||||
msg(sender, " ".join(args).replace("\\n", "\n"))
|
msg(sender, " ".join(args).replace("\\n", "\n"))
|
||||||
|
|
||||||
|
|
||||||
@@ -121,21 +121,22 @@ def onEchoCommand(sender, args):
|
|||||||
#
|
#
|
||||||
# has to be in main.py so we can access the modules
|
# has to be in main.py so we can access the modules
|
||||||
|
|
||||||
def evalThread(sender, code):
|
def eval_thread(sender, code):
|
||||||
try:
|
try:
|
||||||
msg(sender, "%s" % unicode(eval(code)), False, "a")
|
msg(sender, "%s" % unicode(eval(code)), False, "a")
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
msg(sender, "%s: %s" % (e.__class__.__name__, e), False, "c")
|
msg(sender, "%s: %s" % (e.__class__.__name__, e), False, "c")
|
||||||
thread.exit()
|
thread.exit()
|
||||||
|
|
||||||
|
|
||||||
@hook.command("pyeval")
|
@hook.command("pyeval")
|
||||||
def onPyevalCommand(sender, args):
|
def on_pyeval_command(sender, args):
|
||||||
if sender.hasPermission("utils.pyeval"):
|
if sender.hasPermission("utils.pyeval"):
|
||||||
if not checkargs(sender, args, 1, -1):
|
if not checkargs(sender, args, 1, -1):
|
||||||
return True
|
return True
|
||||||
msg(sender, "%s" % " ".join(args), False, "e")
|
msg(sender, "%s" % " ".join(args), False, "e")
|
||||||
try:
|
try:
|
||||||
thread.start_new_thread(evalThread, (sender, " ".join(args)))
|
thread.start_new_thread(eval_thread, (sender, " ".join(args)))
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
msg(sender, "&cInternal error: %s" % e)
|
msg(sender, "&cInternal error: %s" % e)
|
||||||
else:
|
else:
|
||||||
|
|||||||
12
motd.py
12
motd.py
@@ -3,27 +3,29 @@ from helpers import *
|
|||||||
|
|
||||||
motd = server.getMotd()
|
motd = server.getMotd()
|
||||||
|
|
||||||
|
|
||||||
@hook.command("getmotd")
|
@hook.command("getmotd")
|
||||||
def onGetMotdCommand(sender, args):
|
def on_getmotd_command(sender, args):
|
||||||
plugHeader(sender, "MOTD")
|
plugin_header(sender, "MOTD")
|
||||||
msg(sender, motd, usecolor=False)
|
msg(sender, motd, usecolor=False)
|
||||||
|
|
||||||
|
|
||||||
@hook.command("setmotd")
|
@hook.command("setmotd")
|
||||||
def onSetMotdCommand(sender, args):
|
def on_setmotd_command(sender, args):
|
||||||
global motd
|
global motd
|
||||||
if sender.hasPermission("utils.setmotd"):
|
if sender.hasPermission("utils.setmotd"):
|
||||||
if not checkargs(sender, args, 1, -1):
|
if not checkargs(sender, args, 1, -1):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
motd = colorify(" ".join(args).replace("\\n", "\n"))
|
motd = colorify(" ".join(args).replace("\\n", "\n"))
|
||||||
broadcast("", plugHeader(name="MOTD"))
|
broadcast("", plugin_header(name="MOTD"))
|
||||||
broadcast("", "&aNew MOTD:&r\n%s" % motd)
|
broadcast("", "&aNew MOTD:&r\n%s" % motd)
|
||||||
broadcast(" ")
|
broadcast(" ")
|
||||||
else:
|
else:
|
||||||
noperm(sender)
|
noperm(sender)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
@hook.event("server.ServerListPingEvent")
|
@hook.event("server.ServerListPingEvent")
|
||||||
def onServerPing(event):
|
def on_server_ping(event):
|
||||||
event.setMotd(motd)
|
event.setMotd(motd)
|
||||||
|
|||||||
54
reports.py
54
reports.py
@@ -13,18 +13,21 @@ try:
|
|||||||
except Exception, e:
|
except Exception, e:
|
||||||
error("Failed to load reports: %s" % e)
|
error("Failed to load reports: %s" % e)
|
||||||
|
|
||||||
def printHelp(sender):
|
|
||||||
|
def print_help(sender):
|
||||||
msg(sender, " &2/report <text> &eReport something")
|
msg(sender, " &2/report <text> &eReport something")
|
||||||
msg(sender, " &2/rp list &eList unresolved reports (id, player, text)")
|
msg(sender, " &2/rp list &eList unresolved reports (id, player, text)")
|
||||||
msg(sender, " &2/rp tp <id> &eTeleport to report's location & show details")
|
msg(sender, " &2/rp tp <id> &eTeleport to report's location & show details")
|
||||||
msg(sender, " &2/rp del <id> &eResolve a report")
|
msg(sender, " &2/rp del <id> &eResolve a report")
|
||||||
|
|
||||||
def printList(sender):
|
|
||||||
|
def print_list(sender):
|
||||||
msg(sender, "&a" + str(len(reports)) + " reports:")
|
msg(sender, "&a" + str(len(reports)) + " reports:")
|
||||||
for i, report in enumerate(reports):
|
for i, report in enumerate(reports):
|
||||||
msg(sender, "&8[&e" + str(i) + " &c" + report["time"] + "&8] &3" + report["player"] + "&f: &a" + report["msg"])
|
msg(sender, "&8[&e" + str(i) + " &c" + report["time"] + "&8] &3" + report["player"] + "&f: &a" + report["msg"])
|
||||||
|
|
||||||
def tp(sender, rep_id):
|
|
||||||
|
def tp_report(sender, rep_id):
|
||||||
if rep_id >= len(reports) or rep_id < 0:
|
if rep_id >= len(reports) or rep_id < 0:
|
||||||
msg(sender, "&cReport &3#" + str(rep_id) + "&c does not exist!")
|
msg(sender, "&cReport &3#" + str(rep_id) + "&c does not exist!")
|
||||||
return True
|
return True
|
||||||
@@ -34,19 +37,20 @@ def tp(sender, rep_id):
|
|||||||
msg(sender, "&aTeleported to report #%s" % rep_id )
|
msg(sender, "&aTeleported to report #%s" % rep_id )
|
||||||
|
|
||||||
|
|
||||||
def deleteReport(sender, rep_id):
|
def delete_report(sender, rep_id):
|
||||||
if len(reports) > rep_id >= 0:
|
if len(reports) > rep_id >= 0:
|
||||||
report = reports[rep_id]
|
report = reports[rep_id]
|
||||||
reports.pop(rep_id)
|
reports.pop(rep_id)
|
||||||
saveReports()
|
save_reports()
|
||||||
msg(sender, "&aReport #%s deleted." % rep_id)
|
msg(sender, "&aReport #%s deleted." % rep_id)
|
||||||
reporter = server.getOfflinePlayer(report["player"])
|
reporter = server.getOfflinePlayer(report["player"])
|
||||||
plugHeader(reporter, "Report")
|
plugin_header(reporter, "Report")
|
||||||
msg(reporter, "&aReport '&e%s&a' was resolved by %s." % (report["msg"], sender.getName()))
|
msg(reporter, "&aReport '&e%s&a' was resolved by %s." % (report["msg"], sender.getName()))
|
||||||
else:
|
else:
|
||||||
msg(sender, "&cThat report does not exist!")
|
msg(sender, "&cThat report does not exist!")
|
||||||
|
|
||||||
def saveReports():
|
|
||||||
|
def save_reports():
|
||||||
try:
|
try:
|
||||||
reports_file = open(reports_filename, "w")
|
reports_file = open(reports_filename, "w")
|
||||||
reports_file.write(json.dumps(reports))
|
reports_file.write(json.dumps(reports))
|
||||||
@@ -54,13 +58,14 @@ def saveReports():
|
|||||||
except Exception, e:
|
except Exception, e:
|
||||||
error("Failed to write reports: " + str(e))
|
error("Failed to write reports: " + str(e))
|
||||||
|
|
||||||
|
|
||||||
@hook.command("rp")
|
@hook.command("rp")
|
||||||
def onRpCommand(sender, args):
|
def on_rp_command(sender, args):
|
||||||
if sender.hasPermission("utils.rp"):
|
if sender.hasPermission("utils.rp"):
|
||||||
plugHeader(sender, "Reports")
|
plugin_header(sender, "Reports")
|
||||||
if len(args) > 0:
|
if len(args) > 0:
|
||||||
if args[0] == "list":
|
if args[0] == "list":
|
||||||
printList(sender)
|
print_list(sender)
|
||||||
else:
|
else:
|
||||||
if not checkargs(sender, args, 2, 2):
|
if not checkargs(sender, args, 2, 2):
|
||||||
return True
|
return True
|
||||||
@@ -68,27 +73,28 @@ def onRpCommand(sender, args):
|
|||||||
repid = int(args[1])
|
repid = int(args[1])
|
||||||
except ValueError:
|
except ValueError:
|
||||||
msg(sender, "&cDoesn't look like &3" + args[1] + "&c is a valid number!")
|
msg(sender, "&cDoesn't look like &3" + args[1] + "&c is a valid number!")
|
||||||
printHelp(sender)
|
print_help(sender)
|
||||||
return True
|
return True
|
||||||
if args[0] == "tp":
|
if args[0] == "tp":
|
||||||
if not isPlayer(sender):
|
if not is_player(sender):
|
||||||
msg(sender, "&conly players can do this")
|
msg(sender, "&conly players can do this")
|
||||||
return True
|
return True
|
||||||
tp(sender, repid)
|
tp_report(sender, repid)
|
||||||
elif args[0] == "del":
|
elif args[0] == "del":
|
||||||
deleteReport(sender, repid)
|
delete_report(sender, repid)
|
||||||
else:
|
else:
|
||||||
printHelp(sender)
|
print_help(sender)
|
||||||
else:
|
else:
|
||||||
printHelp(sender)
|
print_help(sender)
|
||||||
else:
|
else:
|
||||||
noperm(sender)
|
noperm(sender)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
@hook.command("report")
|
@hook.command("report")
|
||||||
def onReportCommand(sender, args):
|
def on_report_command(sender, args):
|
||||||
plugHeader(sender, "Report")
|
plugin_header(sender, "Report")
|
||||||
if not isPlayer(sender):
|
if not is_player(sender):
|
||||||
msg(sender, "&conly players can do this")
|
msg(sender, "&conly players can do this")
|
||||||
return True
|
return True
|
||||||
if not checkargs(sender, args, 1, -1):
|
if not checkargs(sender, args, 1, -1):
|
||||||
@@ -108,12 +114,13 @@ def onReportCommand(sender, args):
|
|||||||
"time": time.strftime(time_format)
|
"time": time.strftime(time_format)
|
||||||
}
|
}
|
||||||
reports.append(report)
|
reports.append(report)
|
||||||
saveReports()
|
save_reports()
|
||||||
broadcast("utils.rp", "&aReport #" + str(len(reports) -1) + ": " + reporter + "&f: " + text)
|
broadcast("utils.rp", "&aReport #" + str(len(reports) -1) + ": " + reporter + "&f: " + text)
|
||||||
msg(sender, "&aReported \"&e" + text + "&a\"")
|
msg(sender, "&aReported \"&e" + text + "&a\"")
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def checkForReports(): # needs 2 args for unknown reason
|
|
||||||
|
def reports_reminder(): # needs 2 args for unknown reason
|
||||||
while True:
|
while True:
|
||||||
for i in range(0, check_delay*2):
|
for i in range(0, check_delay*2):
|
||||||
time.sleep(0.5) # check every 0.5 seconds if we should kill the thread
|
time.sleep(0.5) # check every 0.5 seconds if we should kill the thread
|
||||||
@@ -124,9 +131,10 @@ def checkForReports(): # needs 2 args for unknown reason
|
|||||||
broadcast("utils.rp", "&2--=[ Reports ]=--")
|
broadcast("utils.rp", "&2--=[ Reports ]=--")
|
||||||
broadcast("utils.rp", "&aThere are %s pending reports!" % len(reports))
|
broadcast("utils.rp", "&aThere are %s pending reports!" % len(reports))
|
||||||
|
|
||||||
def stopChecking():
|
|
||||||
|
def stop_reporting():
|
||||||
global check_reports
|
global check_reports
|
||||||
log("Ending reports reminder thread")
|
log("Ending reports reminder thread")
|
||||||
check_reports = False
|
check_reports = False
|
||||||
|
|
||||||
thread.start_new_thread(checkForReports, ())
|
thread.start_new_thread(reports_reminder, ())
|
||||||
|
|||||||
21
saylol.py
21
saylol.py
@@ -23,31 +23,34 @@ def save_lols():
|
|||||||
except Exception, e:
|
except Exception, e:
|
||||||
error("Failed to write lols: " + str(e))
|
error("Failed to write lols: " + str(e))
|
||||||
|
|
||||||
|
|
||||||
def add_lol(txt):
|
def add_lol(txt):
|
||||||
lols.append(txt)
|
lols.append(txt)
|
||||||
save_lols()
|
save_lols()
|
||||||
|
|
||||||
|
|
||||||
def del_lol(lid):
|
def del_lol(lid):
|
||||||
lols.pop(lid)
|
lols.pop(lid)
|
||||||
save_lols()
|
save_lols()
|
||||||
|
|
||||||
|
|
||||||
def print_lol(sender, lid):
|
def print_lol(sender, lid):
|
||||||
global last_msg
|
global last_msg
|
||||||
if time() - last_msg > timeout:
|
if time() - last_msg > timeout:
|
||||||
if len(lols) > lid:
|
if len(lols) > lid:
|
||||||
dispname = sender.getDisplayName() if isPlayer(sender) else sender.getName()
|
dispname = sender.getDisplayName() if is_player(sender) else sender.getName()
|
||||||
broadcast("", "&8[&blol&8] &7%s&8: &e%s" % (dispname, lols[lid]))
|
broadcast("", "&8[&blol&8] &7%s&8: &e%s" % (dispname, lols[lid]))
|
||||||
last_msg = time()
|
last_msg = time()
|
||||||
else:
|
else:
|
||||||
plugHeader(sender, "SayLol")
|
plugin_header(sender, "SayLol")
|
||||||
msg(sender, "&cInvalid id")
|
msg(sender, "&cInvalid id")
|
||||||
else:
|
else:
|
||||||
plugHeader(sender, "SayLol")
|
plugin_header(sender, "SayLol")
|
||||||
msg(sender, "&cYou can use SayLol again in &a%s seconds!" % int(timeout + 1 - (time() - last_msg)))
|
msg(sender, "&cYou can use SayLol again in &a%s seconds!" % int(timeout + 1 - (time() - last_msg)))
|
||||||
|
|
||||||
|
|
||||||
@hook.command("lol")
|
@hook.command("lol")
|
||||||
def onLolCommand(sender, args):
|
def on_lol_command(sender, args):
|
||||||
cmd = args[0] if len(args) > 0 else None
|
cmd = args[0] if len(args) > 0 else None
|
||||||
if len(args) == 0:
|
if len(args) == 0:
|
||||||
if sender.hasPermission("utils.lol"):
|
if sender.hasPermission("utils.lol"):
|
||||||
@@ -61,19 +64,19 @@ def onLolCommand(sender, args):
|
|||||||
i = int(args[1])
|
i = int(args[1])
|
||||||
print_lol(sender, i)
|
print_lol(sender, i)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
plugHeader(sender, "SayLol")
|
plugin_header(sender, "SayLol")
|
||||||
msg(sender, "&cInvalid number '&e%s&c'" % args[1])
|
msg(sender, "&cInvalid number '&e%s&c'" % args[1])
|
||||||
else:
|
else:
|
||||||
noperm(sender)
|
noperm(sender)
|
||||||
|
|
||||||
elif cmd == "list":
|
elif cmd == "list":
|
||||||
plugHeader(sender, "SayLol")
|
plugin_header(sender, "SayLol")
|
||||||
for i in range(len(lols)):
|
for i in range(len(lols)):
|
||||||
msg(sender, "&a%s: &e%s" % (str(i).rjust(3), lols[i]))
|
msg(sender, "&a%s: &e%s" % (str(i).rjust(3), lols[i]))
|
||||||
|
|
||||||
elif cmd == "add":
|
elif cmd == "add":
|
||||||
if sender.hasPermission("utils.lol.modify"):
|
if sender.hasPermission("utils.lol.modify"):
|
||||||
plugHeader(sender, "SayLol")
|
plugin_header(sender, "SayLol")
|
||||||
add_lol(" ".join(args[1:]))
|
add_lol(" ".join(args[1:]))
|
||||||
msg(sender, "&aNew lol message added!")
|
msg(sender, "&aNew lol message added!")
|
||||||
else:
|
else:
|
||||||
@@ -81,7 +84,7 @@ def onLolCommand(sender, args):
|
|||||||
|
|
||||||
elif cmd == "del":
|
elif cmd == "del":
|
||||||
if sender.hasPermission("utils.lol.modify"):
|
if sender.hasPermission("utils.lol.modify"):
|
||||||
plugHeader(sender, "SayLol")
|
plugin_header(sender, "SayLol")
|
||||||
try:
|
try:
|
||||||
i = int(args[1])
|
i = int(args[1])
|
||||||
del_lol(i)
|
del_lol(i)
|
||||||
@@ -90,7 +93,7 @@ def onLolCommand(sender, args):
|
|||||||
msg(sender, "&cInvalid number '&e%s&c'" % args[1])
|
msg(sender, "&cInvalid number '&e%s&c'" % args[1])
|
||||||
|
|
||||||
else:
|
else:
|
||||||
plugHeader(sender, "SayLol")
|
plugin_header(sender, "SayLol")
|
||||||
msg(sender, "&a/lol &eSay random message")
|
msg(sender, "&a/lol &eSay random message")
|
||||||
msg(sender, "&a/lol list &eList all messages")
|
msg(sender, "&a/lol list &eList all messages")
|
||||||
msg(sender, "&a/lol id <id> &eSay specific message")
|
msg(sender, "&a/lol id <id> &eSay specific message")
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import org.bukkit as bukkit
|
|||||||
from helpers import msg
|
from helpers import msg
|
||||||
|
|
||||||
@hook.event("player.PlayerInteractEvent", "monitor")
|
@hook.event("player.PlayerInteractEvent", "monitor")
|
||||||
def onInteract(event):
|
def on_block_interact(event):
|
||||||
if (str(event.getAction()) == "RIGHT_CLICK_BLOCK"):
|
if (str(event.getAction()) == "RIGHT_CLICK_BLOCK"):
|
||||||
sender = event.getPlayer()
|
sender = event.getPlayer()
|
||||||
block = event.getClickedBlock().getState()
|
block = event.getClickedBlock().getState()
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ row = 1 # distance to first row of players
|
|||||||
goup = 6 # after how many rows should we go up by one?
|
goup = 6 # after how many rows should we go up by one?
|
||||||
upmul = 0.95 # multiplicate with goup each row
|
upmul = 0.95 # multiplicate with goup each row
|
||||||
|
|
||||||
|
|
||||||
def spawn(dispname, sender, x, y, z):
|
def spawn(dispname, sender, x, y, z):
|
||||||
"""
|
"""
|
||||||
Sends the actual player to sender
|
Sends the actual player to sender
|
||||||
@@ -30,7 +31,7 @@ def spawn(dispname, sender, x, y, z):
|
|||||||
|
|
||||||
|
|
||||||
@hook.command("spawnplayer")
|
@hook.command("spawnplayer")
|
||||||
def onSpawnplayerCommand(sender, args):
|
def on_spawnplayer_command(sender, args):
|
||||||
global amount, row, ground, goup
|
global amount, row, ground, goup
|
||||||
|
|
||||||
# X and Z position
|
# X and Z position
|
||||||
|
|||||||
@@ -27,8 +27,9 @@ dirmap = {
|
|||||||
# FIXME: disallow multiple regions by single person.
|
# FIXME: disallow multiple regions by single person.
|
||||||
# FIXME: could lead to two regions updating each other forever -> server freezes
|
# FIXME: could lead to two regions updating each other forever -> server freezes
|
||||||
|
|
||||||
|
|
||||||
@hook.event("block.BlockPlaceEvent", "low")
|
@hook.event("block.BlockPlaceEvent", "low")
|
||||||
def onPlaceBlockInRegion(event):
|
def on_place_block(event):
|
||||||
if not event.isCancelled():
|
if not event.isCancelled():
|
||||||
player = event.getPlayer()
|
player = event.getPlayer()
|
||||||
block = event.getBlockPlaced()
|
block = event.getBlockPlaced()
|
||||||
@@ -69,7 +70,7 @@ def onPlaceBlockInRegion(event):
|
|||||||
|
|
||||||
|
|
||||||
@hook.event("block.BlockBreakEvent", "low")
|
@hook.event("block.BlockBreakEvent", "low")
|
||||||
def onBreakBlockInRegion(event):
|
def on_break_block(event):
|
||||||
if not event.isCancelled():
|
if not event.isCancelled():
|
||||||
player = event.getPlayer()
|
player = event.getPlayer()
|
||||||
block = event.getBlock()
|
block = event.getBlock()
|
||||||
@@ -99,7 +100,7 @@ def onBreakBlockInRegion(event):
|
|||||||
|
|
||||||
|
|
||||||
@hook.event("player.PlayerInteractEvent", "low")
|
@hook.event("player.PlayerInteractEvent", "low")
|
||||||
def onClickBlockInRegion(event):
|
def on_block_interact(event):
|
||||||
action = event.getAction()
|
action = event.getAction()
|
||||||
if not event.isCancelled() and str(action) == "RIGHT_CLICK_BLOCK":
|
if not event.isCancelled() and str(action) == "RIGHT_CLICK_BLOCK":
|
||||||
player = event.getPlayer()
|
player = event.getPlayer()
|
||||||
@@ -126,9 +127,11 @@ def onClickBlockInRegion(event):
|
|||||||
event = PlayerInteractEvent(event.getPlayer(), action, event.getItem(), newblock, event.getBlockFace())
|
event = PlayerInteractEvent(event.getPlayer(), action, event.getItem(), newblock, event.getBlockFace())
|
||||||
server.getPluginManager().callEvent(event)
|
server.getPluginManager().callEvent(event)
|
||||||
if not event.isCancelled():
|
if not event.isCancelled():
|
||||||
thread.start_new_thread(updateBlock, (block, newblock))
|
# FIXME: do not use bukkit API calls outside main thread
|
||||||
|
thread.start_new_thread(update_block, (block, newblock))
|
||||||
|
|
||||||
def updateBlock(block, newblock):
|
|
||||||
|
def update_block(block, newblock):
|
||||||
try: # we're in a thread, the universe may hace collapsed in another thread
|
try: # we're in a thread, the universe may hace collapsed in another thread
|
||||||
sleep(0.2)
|
sleep(0.2)
|
||||||
newblock.setType(block.getType())
|
newblock.setType(block.getType())
|
||||||
|
|||||||
16
webtoken.py
16
webtoken.py
@@ -29,6 +29,7 @@ def mysql_query(query, args, fetch=True):
|
|||||||
conn.close()
|
conn.close()
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
|
||||||
def generate_token(length):
|
def generate_token(length):
|
||||||
cons = 'bcdfghjklmnpqrstvwxyz'
|
cons = 'bcdfghjklmnpqrstvwxyz'
|
||||||
vows = 'aeiou'
|
vows = 'aeiou'
|
||||||
@@ -42,14 +43,15 @@ def generate_token(length):
|
|||||||
token += vows[randrange(5)]
|
token += vows[randrange(5)]
|
||||||
return token
|
return token
|
||||||
|
|
||||||
|
|
||||||
def get_token(uuid):
|
def get_token(uuid):
|
||||||
results = mysql_query("SELECT DISTINCT `token`, `email` FROM register_tokens WHERE `uuid` = ? LIMIT 1", (uuid,))
|
results = mysql_query("SELECT DISTINCT `token`, `email` FROM register_tokens WHERE `uuid` = ? LIMIT 1", (uuid,))
|
||||||
return results[0] if len(results) == 1 else None
|
return results[0] if len(results) == 1 else None
|
||||||
|
|
||||||
|
|
||||||
def token_command(sender):
|
def token_command(sender):
|
||||||
plugHeader(sender, "Website Token")
|
plugin_header(sender, "Website Token")
|
||||||
if isPlayer(sender):
|
if is_player(sender):
|
||||||
try:
|
try:
|
||||||
token = get_token(sender.getUniqueId().toString().replace("-", ""))
|
token = get_token(sender.getUniqueId().toString().replace("-", ""))
|
||||||
if token:
|
if token:
|
||||||
@@ -65,9 +67,10 @@ def token_command(sender):
|
|||||||
else:
|
else:
|
||||||
msg(sender, "&cThis is only for players..")
|
msg(sender, "&cThis is only for players..")
|
||||||
|
|
||||||
|
|
||||||
def tokengen_command(sender, args):
|
def tokengen_command(sender, args):
|
||||||
plugHeader(sender, "Website Token")
|
plugin_header(sender, "Website Token")
|
||||||
if isPlayer(sender):
|
if is_player(sender):
|
||||||
if len(args) < 1:
|
if len(args) < 1:
|
||||||
msg(sender, "&cPlease use &e/gettoken <email adress>")
|
msg(sender, "&cPlease use &e/gettoken <email adress>")
|
||||||
else:
|
else:
|
||||||
@@ -96,12 +99,13 @@ def tokengen_command(sender, args):
|
|||||||
|
|
||||||
|
|
||||||
@hook.command("token")
|
@hook.command("token")
|
||||||
def onTokenCommand(sender, args):
|
def on_token_command(sender, args):
|
||||||
thread.start_new_thread(token_command, (sender,))
|
thread.start_new_thread(token_command, (sender,))
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
@hook.command("gettoken")
|
@hook.command("gettoken")
|
||||||
def onTokengenCommand(sender, args):
|
def on_gettoken_command(sender, args):
|
||||||
thread.start_new_thread(tokengen_command, (sender, args))
|
thread.start_new_thread(tokengen_command, (sender, args))
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user