summaryrefslogtreecommitdiff
path: root/helpers.py
diff options
context:
space:
mode:
authorjomo <github@jomo.tv>2015-01-06 23:38:42 +0100
committerjomo <github@jomo.tv>2015-01-06 23:38:42 +0100
commit9a916ed2cd9440d46079f9b7db421a7b9fcbf6ee (patch)
tree3af33b3ddc2fa3159f9243b0ade09b3e3cc96425 /helpers.py
parent3435e994326b14f700777741a76dd990a2bc703f (diff)
change indentation from 2 spaces to 4, fix #5
Diffstat (limited to 'helpers.py')
-rw-r--r--helpers.py274
1 files changed, 137 insertions, 137 deletions
diff --git a/helpers.py b/helpers.py
index c386faa..375ddfb 100644
--- a/helpers.py
+++ b/helpers.py
@@ -15,198 +15,198 @@ server = bukkit.Bukkit.getServer()
def info(text):
- """
- Log info to console
- """
- server.getLogger().info("[RedstonerUtils] %s" % text)
+ """
+ Log info to console
+ """
+ server.getLogger().info("[RedstonerUtils] %s" % text)
def warn(text):
- """
- Log warning to console
- """
- server.getLogger().warning("[RedstonerUtils] %s" % text)
+ """
+ Log warning to console
+ """
+ server.getLogger().warning("[RedstonerUtils] %s" % text)
def error(text):
- """
- Log error to console
- """
- server.getLogger().severe("[RedstonerUtils] %s" % text)
+ """
+ Log error to console
+ """
+ server.getLogger().severe("[RedstonerUtils] %s" % text)
def msg(player, text, usecolor = True, basecolor = None):
- """
- send a message to player
- the player may be None or offline, which this method just ignores
- unless usecolor is False, &-codes are translated to real color codes
- for that case, basecolor can be useful. basecolor accepts a single character as color code
- """
- if player and (player == server.getConsoleSender() or player.getPlayer()): # getPlayer() returns None when offline
- if basecolor:
- if usecolor:
- text = colorify(text)
- player.sendMessage(colorify("&%s" % basecolor) + text)
- else:
- player.sendMessage(colorify(text) if usecolor else text)
+ """
+ send a message to player
+ the player may be None or offline, which this method just ignores
+ unless usecolor is False, &-codes are translated to real color codes
+ for that case, basecolor can be useful. basecolor accepts a single character as color code
+ """
+ if player and (player == server.getConsoleSender() or player.getPlayer()): # getPlayer() returns None when offline
+ if basecolor:
+ if usecolor:
+ text = colorify(text)
+ player.sendMessage(colorify("&%s" % basecolor) + text)
+ else:
+ player.sendMessage(colorify(text) if usecolor else text)
def broadcast(perm, text):
- """
- better than bukkit's broadcast.
- bukkit only works with permissibles that are subscribed to perm
- """
- text = colorify(text)
- for recipient in list(server.getOnlinePlayers()) + [server.getConsoleSender()]:
- if not perm or recipient.hasPermission(perm):
- msg(recipient, text)
+ """
+ better than bukkit's broadcast.
+ bukkit only works with permissibles that are subscribed to perm
+ """
+ text = colorify(text)
+ for recipient in list(server.getOnlinePlayers()) + [server.getConsoleSender()]:
+ if not perm or recipient.hasPermission(perm):
+ msg(recipient, text)
def colorify(text):
- """
- replace &-codes with real color codes
- """
- return sub("&(?=[?\\da-fk-or])", u"\u00A7", "%s" % text)
+ """
+ replace &-codes with real color codes
+ """
+ return sub("&(?=[?\\da-fk-or])", u"\u00A7", "%s" % text)
def stripcolors(text):
- """
- strips all (real) color codes from text
- """
- return sub(u"\u00A7[\\da-fk-or]", "", "%s" % text)
+ """
+ strips all (real) color codes from text
+ """
+ return sub(u"\u00A7[\\da-fk-or]", "", "%s" % text)
def safetp(player, world, x, y, z, yaw = 0, pitch = 0):
- """
- teleports the player to the given Location
- if the player would spawn inside blocks, the location is escalated until the location is safe
- """
- tpblock = Location(world, x, y, z).getBlock()
- if (tpblock.isEmpty() and tpblock.getRelative(bblock.BlockFace.UP).isEmpty()) or y > 255:
- player.teleport(Location(world, x+0.5, y, z+0.5, yaw, pitch), TeleportCause.COMMAND)
- else:
- safetp(player, world, x, y+1, z, yaw, pitch)
+ """
+ teleports the player to the given Location
+ if the player would spawn inside blocks, the location is escalated until the location is safe
+ """
+ tpblock = Location(world, x, y, z).getBlock()
+ if (tpblock.isEmpty() and tpblock.getRelative(bblock.BlockFace.UP).isEmpty()) or y > 255:
+ player.teleport(Location(world, x+0.5, y, z+0.5, yaw, pitch), TeleportCause.COMMAND)
+ else:
+ safetp(player, world, x, y+1, z, yaw, pitch)
def plugin_header(recipient = None, name="Redstoner Utils"):
- """
- sends the recipient a "Plugin Header", in the format of: --=[ PluginName ]=--
- """
+ """
+ sends the recipient a "Plugin Header", in the format of: --=[ PluginName ]=--
+ """
- head = "\n&2--=[ %s ]=--" % name
- msg(recipient, head)
- return head
+ head = "\n&2--=[ %s ]=--" % name
+ msg(recipient, head)
+ return head
def noperm(player):
- """
- Send the default permission failure message to the player
- """
- msg(player, "&cno permission")
+ """
+ Send the default permission failure message to the player
+ """
+ msg(player, "&cno permission")
def runas(player, cmd):
- """
- run a command as player
- the cmd should no be prefixed with a /
- """
- server.dispatchCommand(player, cmd)
+ """
+ run a command as player
+ the cmd should no be prefixed with a /
+ """
+ server.dispatchCommand(player, cmd)
def is_player(obj):
- """
- return True when ob is a bukkit Player
- """
- return (isinstance(obj, Player))
+ """
+ return True when ob is a bukkit Player
+ """
+ return (isinstance(obj, Player))
def checkargs(sender, args, amin, amax):
- """
- check if a command has a valid amount of args, otherwise notify the sender
- amin is the minimum amount of args
- amax is the maximum amount of args
- if amax is < 0, infinite args will be accepted
- return True if args has a valid length, False otherwise
- """
- if not (len(args) >= amin and (amax < 0 or len(args) <= amax)):
- if amin == amax:
- msg(sender, "&cNeeds " + str(amin) + " arguments!")
- return False
- elif amax < 0:
- msg(sender, "&cNeeds at least " + str(amin) + " arguments!")
- return False
- else:
- msg(sender, "&cNeeds " + str(amin) + " to " + str(amax) + " arguments!")
- return False
- return True
+ """
+ check if a command has a valid amount of args, otherwise notify the sender
+ amin is the minimum amount of args
+ amax is the maximum amount of args
+ if amax is < 0, infinite args will be accepted
+ return True if args has a valid length, False otherwise
+ """
+ if not (len(args) >= amin and (amax < 0 or len(args) <= amax)):
+ if amin == amax:
+ msg(sender, "&cNeeds " + str(amin) + " arguments!")
+ return False
+ elif amax < 0:
+ msg(sender, "&cNeeds at least " + str(amin) + " arguments!")
+ return False
+ else:
+ msg(sender, "&cNeeds " + str(amin) + " to " + str(amax) + " arguments!")
+ return False
+ return True
def is_creative(player):
- """
- returns True if the player is in Creative mode
- """
- return str(player.getGameMode()) == "CREATIVE"
+ """
+ returns True if the player is in Creative mode
+ """
+ return str(player.getGameMode()) == "CREATIVE"
def uid(player):
- """
- returns the player's UUID
- """
- return str(player.getUniqueId())
+ """
+ returns the player's UUID
+ """
+ return str(player.getUniqueId())
def retrieve_player(uuid_str):
- """
- gets an offline player by UUID string
- the uuid MUST contain dashes
- """
- return server.getOfflinePlayer(juuid(uuid_str))
+ """
+ gets an offline player by UUID string
+ the uuid MUST contain dashes
+ """
+ return server.getOfflinePlayer(juuid(uuid_str))
def known_player(player):
- """
- to be used on OfflinePlayer (which can be online!)
- returns True if the player has been on the server
- this is different to HasPlayedBefore(), which will return False on first join
- """
- return player.hasPlayedBefore()
+ """
+ to be used on OfflinePlayer (which can be online!)
+ returns True if the player has been on the server
+ this is different to HasPlayedBefore(), which will return False on first join
+ """
+ return player.hasPlayedBefore()
def open_json_file(filename, default):
- """
- opens the given json file and returns an object or returns None on error
- filename is the path + name of the file.
- """
- data = None
- try:
- with open("plugins/redstoner-utils.py.dir/files/%s.json" % filename) as obj:
- data = json_loads(obj.read())
- except Exception, e:
- error("Failed to read from %s: %s" % (filename, e))
- return (default if data is None else data)
+ """
+ opens the given json file and returns an object or returns None on error
+ filename is the path + name of the file.
+ """
+ data = None
+ try:
+ with open("plugins/redstoner-utils.py.dir/files/%s.json" % filename) as obj:
+ data = json_loads(obj.read())
+ except Exception, e:
+ error("Failed to read from %s: %s" % (filename, e))
+ return (default if data is None else data)
def save_json_file(filename, obj):
- """
- saves the given object as json into filename
- filename is the path + name of the file.
- """
- try:
- with open("plugins/redstoner-utils.py.dir/files/%s.json" % filename, "w") as f:
- f.write(json_dumps(obj))
- except Exception, e:
- error("Failed to write to %s: %s" % (filename, e))
+ """
+ saves the given object as json into filename
+ filename is the path + name of the file.
+ """
+ try:
+ with open("plugins/redstoner-utils.py.dir/files/%s.json" % filename, "w") as f:
+ f.write(json_dumps(obj))
+ except Exception, e:
+ error("Failed to write to %s: %s" % (filename, e))
def toggle(player, ls, name = "Toggle", add = None):
- """
- Toggles presence of a player's UUID in a list
- If add is given, True explicitely adds it whereas False removes it
- """
- pid = uid(player)
- if pid in ls or add == False:
- ls.remove(pid)
- msg(player, "&a%s turned off!" % name)
- elif add != False:
- ls.append(pid)
- msg(player, "&a%s turned on!" % name) \ No newline at end of file
+ """
+ Toggles presence of a player's UUID in a list
+ If add is given, True explicitely adds it whereas False removes it
+ """
+ pid = uid(player)
+ if pid in ls or add == False:
+ ls.remove(pid)
+ msg(player, "&a%s turned off!" % name)
+ elif add != False:
+ ls.append(pid)
+ msg(player, "&a%s turned on!" % name) \ No newline at end of file