Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/quantumbagel/statify
Statify is a minimalist SpigotMC stat plugin.
https://github.com/quantumbagel/statify
java minecraft minecraft-plugin quantumbagel resource-efficient spigot-api spigot-plugin spigotmc-plugins stats
Last synced: about 2 months ago
JSON representation
Statify is a minimalist SpigotMC stat plugin.
- Host: GitHub
- URL: https://github.com/quantumbagel/statify
- Owner: quantumbagel
- Created: 2023-11-24T18:35:50.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2023-11-29T20:19:31.000Z (about 1 year ago)
- Last Synced: 2024-05-30T01:15:57.596Z (8 months ago)
- Topics: java, minecraft, minecraft-plugin, quantumbagel, resource-efficient, spigot-api, spigot-plugin, spigotmc-plugins, stats
- Language: Java
- Homepage: https://modrinth.com/plugin/statify
- Size: 18.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Statify - Simple Minecraft Stats Done Right
Hi! I'm @quantumbagel, and this is my first plugin - Statify. It's a tiny (<50kb), resource-efficient, and powerful serverside plugin to get stats for one player - or the entire server.
### Why do I need this?
If you want a way to aggregate stats throughout the server (not just through the Statistics menu for one player - this plugin allows easy visualization of stats.
### Pros/Cons
Here's a list of pros and cons of this plugin (this isn't a *perfect* plugin)
#### Pros
* Complex queries allowed (`killed:zombie+killed:skeleton`, `(killed:zombie+killed:skeleton)^custom:beds_broken`, or even `tan(killed:zombie) + killed:skeleton`)
* Ranking of individual categories for a certain player
* Ability to create and save complex queries under a shorthand
* Yes, there *is* a recursion detector#### Cons
* No autocomplete, you have to know the general layout of MC stats (for an excellent guide, check https://minecraft.fandom.com/wiki/Statistics)
* My first plugin, so there are probably copious quantities of bugs and glitches
* Doesn't work well with offline-mode (cracked Minecraft) because of the possibility of duplicate usernames
* No multithreading
* No custom command sanity checks
* Bugginess with really big numbers >:(
This is a *Bukkit* plugin, so put the .jar in the `plugins` folder of your Spigot/Bukkit/CraftBukkit server.### How do I even use these commands?
*NB: [description] is NOT REQUIRED, equals sign after is DEFAULT VALUE, IS REQUIRED*
### /leaderboard, /lb#### Format:
`/leaderboard [number of top entries]=10 `
#### Examples:
`/lb killed:zombie` (A simple request for the top 10 player zombie kills)
`/lb 5 killed:zombie` (A request for the top 5 player zombie kills)
`/lb killed:total` (A request for the player with the highest sum of the "killed" category (most entity kills))
`/lb APlayerOfMinecraft:kd` (APlayerOfMinecraft is username, kd is custom command that user defined (in this case kill differential))
`/lb killed:zombie + APlayerOfMinecraft:kd` (You can use both in conjunction using these stats as numbers)
`/lb killed:zombie * APlayerOfMinecraft:kd + custom:walk_one_cm`
### /stat
#### Format:`/stat [username]= [number of top entries]=10`
#### Examples
`/stat killed` (returns top 10 ranking of the "killed" category for the player who sent the message)
`/stat killed 5` (returns top 10 ranking of the "killed" category for the player who sent the message)
`/stat APlayerOfMinecraft killed` (returns top 10 ranking of the "killed" category of the player "APlayerOfMinecraft")
`/stat APlayerOfMinecraft killed 5` (returns top 5 ranking of the "killed" category of the player "APlayerOfMinecraft")
### /custom
#### Format:
`/custom set `
`/custom list [username]=`
`/custom get [username]= `
`/custom delete `
#### Examples
`/custom set kd killed:total-killed_by:total` (Set the player who is sending's custom command "kd" to "killed:total-killed_by:total". If the player's name was "APlayerOfMinecraft," this could be referenced the exact same way as the `/leaderboard` examples above.)
`/custom list` (List the current player's defined commands)
`/custom list APlayerOfMinecraft` (List the player "APlayerOfMinecraft"'s defined stats)
`/custom get kd` (Print the current definition of the custom stat `kd` for the current player)
`/custom get APlayerOfMinecraft kd` (Print the current definition of the custom stat `kd` for the player "APlayerOfMinecraft")
`/custom delete kd` (Delete the command `kd` for the current player, if defined)
### /playerrank
#### Format
`/playerrank [number of top entries]=10`
#### Examples
`/playerrank` (List the top 10 players on the server using the PlayerScore algorithm that I made up on the spot)
`/playerrank 5` (List the top 5 players on the server)
That's all - I hope you enjoy this little plugin!