It can download player flairs for /r/TheButtonMinecraft and do other cool things, like name mentioning.
## How to use
### Players
#### Obtaining the flair
At first, you need to "connect" your Reddit account with your Minecraft account. This is done by writing your Minecraft name to [this thread](https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/), following the instructions in the post.
When you're done, connect to the server, if you aren't already on. You should see a message after a while (max. 10 seconds) asking if you're the correct Reddit user. Type /u accept to confirm it and accept your flair.
If you decide to not show your flair, or someone else tried to use your name, the easiest thing to do is /u ignore. This command works even if you already accepted your flair.
Please note that in some cases your flair cannot be obtained (specifically, if it's not stored by karmadecay.com, in which case possibly Karmancer can't show it as well). In this case, there are two possibilities.
If you're a non-presser or a can't press and only your time is recorded, you can do /u nonpresser or /u cantpress, as a message should tell you.
If nothing is known about your flair, you need to ask an admin to set the flair for you. This is done to prevent abusing the system with setting random flairs and rendering the core of the plugin useless.
If you simply say any online player's full playername or nickname, it'll highlight it and play a sound for the target player. This works only once per message per target player.
You can use /ooc <message> to say something Out-of-Character. Otherwise everything you speak should be treated as said in RP, except when it is obvious it's not in RP (like talking about the server).
If you say a hashtag in global chat, it'll highlight it and list the hashtag(s) used above your message, in a clickable form. So if you say "asd #dsa#fgh hgf", it will display it like this:
Hashtags: #dsa#fgh
[g] <PlayerName(flair)> asd #dsa#fgh hgf
#### Paying respects (F)
If a player dies, sometimes the plugin will tell everyone "Press F to pay respects.". After a few seconds, a message will tell everyone how many people paid their respects.
#### Seeing status of flairs (/u admin playerinfo)
You can check someone's flair status in case something goes wrong.
It outputs the player name (useful if something goes *really* wrong), the player's current ingame flair, the Reddit username, and some other things:
* Flair accepted: True if the player accepted the flair with /u accept in the past
* Flair ignored: True if the player ignored the flair with /u ignore in the past
* Flair decided: False if we don't know if the user is a non-presser or a can't press
* Flair recognised: False if we don't know anything about the flair (i.e. it could be a presser too) and the flair isn't set by any manual way too
* Commented on Reddit: True if the player commented their name on that specific thread with the correct format or a custom flair has been set
#### Reloading the plugin (/u admin reload)
This is useful if you want to change a file related to the plugin or the plugin bugs out (which shouldn't happen).
Be careful and make sure you do /u admin save before you reload the plugin. You need to confirm your action (/u admin confirm) to make sure no setting is lost.
If you want to edit a file, you need to do /u admin save, then edit the file you want, then do /u admin reload.
#### Getting the last error (/u admin getlasterror)
This command's sole purpose is to give me (or any admins, if they want) some information about the errors and if they even happened. It's not fully tested, so a full stack trace might be needed if the plugin breaks.
#### Setting the flair by hand (/u admin setflair)
I've made a simple command to allow updating the plugin easily. After running this command, the server needs to get restarted for the changes to take effect.
This command will not do any other thing than downloading the JAR file from here to the plugins directory. Do not spam it, because it will then generate unnecessary network traffic on the server.
/u announce edit <index><message> - Directly edits the announcement at the specified index. If there are less announcements than index, it'll create enough announcements.