Just a point of clarity, the API is in Javascript, not Java. The two are very unfortunately similarly named, where in actuality about they only thing they have in common is a C-Style syntax. Let me try and boil down what you want, with the intent that the community can provide you a solution: Each Player's Character will have a reputation score Reputation will change throughout the game Reputation will be managed by you Reputation has a range from -??? to +??? Each Player will be able to get a feel for their reputation based on the result of an API Command A table will be used to provide descriptions for a given range of reputation Players will be able to check the reputation of only their characters? Here's some thoughts on how I think the above would work best in the API: Make several tables named "Reputation [##:##]" where the ## are replaced with the high and low end for the scores it represents Track the reputation in the state object ideally. Putting it as attributes on the character means they could look at the attribute. You could store it as attributes on a Reputation character, with the name of the attribute being the Character Name, the value being the reputation and the max being the character_id. That would have the advantage that you could load that Reputation character and modify the scores directly. Provide a command for setting reputation for a character, support + and - prefixes for adjusting up and down relative to the current score Provide a command for checking the reputation of a character. Players could use this with their character "!rep @{Rook|character_id}" to get the phrase whispered to them. You could optionally provide a command that adds the description tables, or adds rows to them.