Advanced Monitoring Signs

AMSLogo This is a rewrite of OPS

BETA BUILDS DIRECT LINK

This is a link to the current beta build. I'll update the version number here every time I release something supposed to fix an issue. Thanks. Version 1.1 (also downloadable through AMS files page)

Recent changes

Major timing improvements. View the issue for this ticket to see how drastic.

Upgrading from OPS

If you are one of the veteran users of this (OPS) you probably want to use the /amsupgradefromops command. To do this, you simply leave the signs.yml file in the "Online Player Signs" folder and run the command. There is also a security switch in the config which has to be set to true for the command to run. I suggest you read through the comments in the generated config.yml before running the upgrade because the comments will disappear once you have ran it.

Features

  • Signs monitoring different things across the server, in specific worlds or in regions selected with WorldEdit or specified on the sign with coordinates.
  • All custom formatting of the text on the signs with full color support.
  • Transmit power from the signs if the conditions are met. (Only redstone wire)

Usage

There are four types of signs.

  • Server sign
    • This sign keeps count of the total amount of players on the server.
    • Lines:
      • "[ams]" or "[ams+]". The plus sign goes in the same spot for every sign. It represents power. If the sign has a plus it emits power if a condition is met.
      • "server". Here you provide the name of the format you wish to use. Formats are created in the config. The format "server" is a preset format already added to your config, feel free to change it.
      • "". For server wide signs you don't write anything on this line.
      • "p=mp". This line is left empty if the sign should not emit power (if it does not have a plus sign in first line). You can probably tell that the equals sign checks if p=mp, but what exactly are these letters you wonder? Well, these are statement variables. The p will return the amount of players on the server, and the mp will return the max amount of players. Of course you could put in any number and check if you'd like. The allowed checks are =,>=,<=,>,<,/. All but the last one are pretty self explanatory, but the last one means dividable by, which means that dividing the two numbers will result in number without decimals.
  • World sign
    • This sign is basically the same as the server wide sign, but monitors specific worlds instead.
    • Lines:
      • "[amsw]" or "[amsw+]": The w is the letter that decides whether the sign is a world sign or any other type. The plus tells it to emit power, and to accept a statement on the last line.
      • "world": This is another preset format name. Have a look in config for more info on these and variables you can use in them.
      • "" or "worldname": If you leave the third line blank, it will start monitoring the world the sign was placed in, but if you provide a world name (note: you can include colors in the world name to change it's appearance on the sign. When AMS checks for the worldname provided it removes colors) it will start to monitor the world provided. If the world does not exist you will either get an error or it will display 0 for amount of players (p).
      • "p>=2" or "": Again, leave this blank if you haven't put a plus sign on the first line. The variables are the same here, except that p returns the amount of players in the world being monitored.
  • Player sign
    • A player sign is quite useful if you want your players to see if the admin is online.
    • Lines:
      • "[amsp]" or "[amsp+]": Same as last time, p for player.
      • "player": Another preset format name.
      • "&fWhite&chooder": This is where you enter the name of the player, and just as an example I've provided my name with a bit of coloring :)
      • "": This last line is a bit different, mainly because the sign is not displaying any numbers, but rather checks if a player is logged in. This line is left blank in both cases (+ or not), but if there was provided a plus in the first line, the sign will emit power if the player is online. The player name is not case sensitive so feel free to use whatever formatting you would like.
  • Region sign
    • This is probably the sign we have all been waiting for. A sign monitoring amount of players withing a region.
    • Lines:
      • "[amsr]" or "[amsr+]": Same as always. Power or not.
      • "region": Format name. For the region signs I have provided two other examples. Those are names "powerexample" and "lobby".
      • "x1,y1,z1,x2,y2,z2" or "": You were probably thinking, Oh god, why the hassle with finding all the coordinates? Y U DONT USE WORLDEDIT??? Well, if you leave this field blank, the sign will get the current selected region from worldedit and use it. Note: The selection has to be cuboid (for you not understanding this, don't worry, you will always select in cuboids :))
      • "p=8" or "": I don't see much reason to use region signs not providing power, but the option is there for you to choose :) Again, if you didn't bother to read on all the old sign stuff, this p=8 thingy basically checks whether the amount of players in the region is exactly 8, if it is, the sign will emit power. As you might have thought for a while now, this is very useful. Just test the lobby example and you'll see ;)
  • I know you have read a lot at this moment, but please take your time to look in the config, there are helpful comments there as well.

Configuration

The default config looks like this:

# IF YOU ARE UPGRADING FROM OPS THERE IS AN OPTION TO USE THE SAME SIGNS.YML FILE
# Uncomment the line below to allow the running of the /amsupgradefromops command
#UPGRADINGFROMOPS: true

UseBypassNode: true
formats:
    world:
    - '&aOnline in'
    - '%world%'
    - '%players%'
    - ''
    player:
    - '&aThe player'
    - '%player%'
    - '&ais %onmsg=Logged in%%offmsg=&cLogged out%'
    - ''
    server:
    - '&aTotal'
    - '&aPlayers'
    - '&c%totalplayers%&f/&c%maxplayers%'
    - '%poweron=&aPOWER%'
    region:
    - '&aPlayers in'
    - '&c%region%'
    - '%players%'
    - ''
    powerexample:
    - '&aPeople done'
    - '&awith puzzle'
    - '%poweroff=&c//1// of //2//%%poweron=&aEnough!%'
    - '%poweron=&aEnter next room%'
    lobby:
    - 'The game'
    - 'starts when'
    - 'there are'
    - '//2//-//1// more player'
    #Note: //2//-//1// is not displayed like 4-2, it actually calculates it for you, meaning it would show as 2 (4-2=2)
    #You can do the same with all basic calculations (+,-,*,/)
    
    
#Variables available: %players%, %maxplayers%, %world%, %totalplayers%, %player%,
#%onmsg=<msg>%, %offmsg=<msg>%, %poweron=<msg>%, %poweroff=<msg>%, //1//, //2//, //3// and so on..

#%players% - in a server type sign it returns total amount of online players,
#if you want this in any of the others use %totalplayers%
#in a player specified sign %players% does not return anything, but gets filtered out.
#in a world based sign %players% returns online players currently in that world
#lastly, in a region specific sign %players% returns people in the region.
#%maxplayers% works in every sign and returns the servers maximum amount of players.
#%1% and %2% are the first and second values to compare (when the sign was made)
#Example: SignLine4: "%player% >= 10" %1% = %player% %2% = 10
#These variables are there for the plugin to be as configurable as possible.
#I will soon add custom variables and sign linking for longer texts :D Look forward to version 2.1. (hopefully)
#Also, I might release an API for this if enough devs are into it.

The config explains a lot in comments, but I thought I would go over at least the variables and which ones can be used on what kind of sign. You can use all except the onmsg, offmsg and world ones with a server sign, as they are player- and world signs only. If any variables are used in an unsupported sign they will simply get filtered out. For a world sign, you can use all that the server sign can use and the world variable, which obv. returns the world name being monitored by the worldsign. Player signs can make use of every variable except world, as it is monitoring server wide. Region signs can also make use of every variable, including world, as it is monitoring a region within a world.

Info on 1, 2 and so on The number stands for what spot in the question (p=8). 1 in this case would return the value of p, and 2 the value 8. In some cases you can use 3 and 4. This is when there are multiple statements, like here: p>=8 & p/2. In case you wondered what this checks: The first check makes sure that the value of p is either greater or equal to 8, and the second check should check if the value p is divideable by 2, meaning that you will only accept even numbers, so that for instance both teams would have an equal amount of players. Now, back to the <numberhere>'s. 3 would in this case return p, since p is the third mentioned value, and as you've probably (and most likely) figured out by now, 4 would return 2. If there are any more questions regarding the config file or anything else for that matter, please post them in the comment section and I will add them with the answer here, as well as answer you in a reply :) Once one person asks there are always several more wondering just the same thing, so don't be scared.

Commands

  • /amsverify <fix/delete>: Either puts up all signs that has been removed in some way (worldedit and so on) or removes the node for the sign from the signs.yml
  • /amsupgradefromops: Takes the signs.yml file from Online Player Signs' folder and reformats it so that you don't have to recreate every single sign if you have previously used OPS. This requires the setting of the node UPGRADINGFROMOPS: true in the config.
  • /amsreload [signs/config]: Reloads the yaml files. If you don't specify which file should be reloaded it reloads them both.

Permissions

  • ams: Access to everything.
    • ams.verify: Access to the /amsverify command
    • ams.upgrade: Access to the /amsupgradefromops command
    • ams.create: Access to creating all types of signs.
      • ams.create.world: Access to create a world specific sign.
      • ams.create.region: Access to create a region specific sign.
      • ams.create.player: Access to create a player specific sign.
      • ams.create.server: Access to create a server wide sign.
    • ams.break: Access to creating all types of signs.
      • ams.break.world: Access to break a world specific sign.
      • ams.break.region: Access to break a region specific sign.
      • ams.break.player: Access to break a player specific sign.
      • ams.break.server: Access to break a server wide sign.
    • ams.reload: Access to reload the config files.
      • ams.reload.signs: Access to reload the signs.yml file.
      • ams.reload.config: Access to reload the config.yml file.

Todo

  • TOP PRIORITY I will be adding support for creating signs by command shortly. This will fix all the errors with the 14 character limit of signs. While waiting for this update, and you have access to the configuration files you could try to edit the signs.yml file manually and input either the world name or the player name that is longer than 14 characters. Note: It will still struggle to show those long names on the sign.
  • Just came up with an idea while adding the above. I will add support for displaying the nickname of a player instead of the real name. This is lower priority, but should come quickly as well.
  • Add warp sign!
  • Add worldguard support for region signs.
  • Add the %region% variable for showing the name of the region. For use with worldguard regions and others if name specified when the sign was created by command.
  • Better redstone support, although this is a big goal, so don't expect this to be coming in the near future.
  • Add custom variables for use in formats.
  • Advanced maths and support for multiple statements on each sign? BTW: For you people wanting this, there kind of already is, you just separate them with &'s. Although there is support for it I can not guarantee anything ;) They have been a little buggy while testing.

Comments

  • To post a comment, please or register a new account.
Posts Quoted:
Reply
Clear All Quotes

About This Project

Categories

Members

Recent Files

Bukkit