ToolStats
ToolStats is a Paper plugin that displays various stats about tools. This plugin is inspired off of GearStats. You can either track all statistics by default, or a use a token system to add statistics to tool/armor. You can configure how each statistic is shown on the item, or disable it!
Here is everything it tracks:
| Stat | Items | Trigger |
|---|---|---|
| Arrows shot | Bow, Crossbow | Shoot an arrow |
| Blocks mined | Axe, Hoe, Pickaxe, Shears, Shovel | Mine a block |
| Critical strikes | Axe, Mace, Spear, Sword, Trident | Hit a mob or player with a critical strike |
| Crops harvested | Hoe | Harvest a crop |
| Damage done | Axe, Bow, Crossbow, Mace, Spear, Sword, Trident | Damage a mob or player |
| Damage taken | Armor, Shield | Take or block damage |
| Ender Dragon kills | Axe, Bow, Crossbow, Mace, Spear, Sword, Trident | Kill the Ender Dragon |
| Fish caught | Fishing Rod | Catch a fish |
| Flight time | Elytra | Fly with an elytra |
| Logs stripped | Axe | Strip a log |
| Mob kills | Axe, Bow, Crossbow, Mace, Spear, Sword, Trident | Kill a mob |
| Player kills | Axe, Bow, Crossbow, Mace, Spear, Sword, Trident | Kill a player |
| Sheep sheared | Shears | Shear a sheep |
| Trident thrown | Trident | Throw a trident |
| Wither kills | Axe, Bow, Crossbow, Mace, Spear, Sword, Trident | Kill a Wither |
| Origin | Trigger |
|---|---|
| Caught | Catch a tool while fishing |
| Crafted | Craft a tool |
| Dropped | Obtain a tool dropped by a killed mob |
| Found | Find an elytra in an End Ship |
| Looted | Loot a tool from a barrel, chest, or vault |
| Spawned | Spawn a tool in Creative mode |
| Traded | Trade for a tool |
The best part is, this data is stored on the item itself.
This plugin also has compatibility for:
You can see some of the stats below as examples:
| Crafted Origin | Player/Mob Kills | Fish Caught |
|---|---|---|
![]() |
![]() |
![]() |
| Sheep Sheared | Dropped By | Damage Taken |
|---|---|---|
![]() |
![]() |
![]() |
| Mob Kills | Elytra | Looted Origin |
|---|---|---|
![]() |
![]() |
![]() |
| Traded Origin | Spawned Origin | Raw NBT Data |
|---|---|---|
![]() |
![]() |
![]() |
| Crops Harvested | Flight Time | Arrows Shot |
|---|---|---|
![]() |
![]() |
![]() |
| Critical Strikes | Trident Throws | Logs Stripped |
|---|---|---|
![]() |
![]() |
![]() |
Documentation
Visit the wiki for help.
License
This plugin is released under GNU General Public License v3. See LICENSE.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
|
R
1.6
|
1d ago | 1 | |||
|
R
1.5
|
1d ago | 1 | |||
|
R
1.4.5
|
1d ago | 1 | |||
| 1d ago | 1 |
- Redo main/offhand detection, once again fixing duplication glitches specifically with RoseStacker. *This should fix it*.
- Fully implement RoseStacker support for bosses.
- Updated hyperlib, which fixes a lot of text parsing issues.
- Update hyperlib.
- Removed left over debug messages with RoseStacker.
- Added new
addcommand to add stats to an item. - Fixed
editcommand always showing successful message when it fails.
- Migrated into a Paper plugin.
- Bump API to Minecraft 26.1.1.
- Migrated dependencies to use Paper's loader instead of being shaded into jar.
- Fix sheep sheared not checking if the sheep was a baby.
- Added support for tracking kills with [RoseStacker](https://modrinth.com/plugin/rosestacker).
- Added missing creative mode checks for different events.
- Added new stat tracker: logs stripped.
- Make events check if it was canceled, which should better help future compatibility issues with other plugins.
- Fixed shields not tracking origin from crafting, trading, and trial chambers.
- Added elytra to valid items for trial chambers by request ([#119](https://github.com/hyperdefined/ToolStats/issues/119)).
- Fixed compatibility with OpenInv ([#116](https://github.com/hyperdefined/ToolStats/issues/116)).
- Fixed
fish-caughtedit command not working. - Migrated into a Paper plugin.
- Improvements to command suggestions.
- Fixed edit command logic on certain situations.
If you like ToolStats, consider supporting me on [Buy Me a Coffee](https://buymeacoffee.com/hyperdefined) or [Patreon](https://www.patreon.com/hyperdefined)!
- Fixed wrong number formatting used for arrows shot and sheep sheared stat.
- Fixed villager trade ignoring
allow-creativeconfig. - Fixed reset token using the wrong value for crops mined.
- Added these new stat tracking:
- Bosses killed - separated by wither and ender dragon.
- Critical strikes - whenever you hit a critical hit on a melee weapon.
- Trident throws - count how many times you throw a trident.
- Damage taken was added to shields.
- Added new
world-limitconfig option. Turn off/on ToolStats in any world. - Reworked how the plugin handles loot chests and tagging items from them.
- This fixes specifically issues with ValhallaMMO.
- This also fixes breaking loot chests (before you open) and dropping items not having tags.
This update will update your config automatically to add the new options.
- Added support for spears.
- Added barrels (and all other containers) to be checked for loot found tags ([#113](https://github.com/hyperdefined/ToolStats/issues/113)).
- Trial chamber loot (from vaults) now gets looted tags ([#113](https://github.com/hyperdefined/ToolStats/issues/113)).
- Added new
purgecommand. This command let's you remove ALL ToolStats data from a given item. See the [wiki](https://docs.hyper.lol/plugins/toolstats/commands/) for more information. - Added flight time support for
gliderdata component. This means armor pieces with this data component can track flight time.
- Fixed
damage-donetoken not working with axes in anvils ([#109](https://github.com/hyperdefined/ToolStats/issues/109)).
- Added missing chat messages for editing/removing stats via command.
- Added support for changing the material of each tokens.
- Added support for specifying custom model data value for each token.
- Added
{levels}placeholder to token lore.
- Added configuration options to further customize toggling origin dates/owner for each origin type. Before, ToolStats would only toggle ownership and creation time together. This now lets you set them individually.
- Changed many configuration names around (the plugin will convert your current config, no action needed).
- Added
normalize-time-creationwhich sets time creation to be at 12AM, making creation times more "similar." - Added new sub-commands
editandremovethat lets you change stats to any value or remove stats. - Added new configuration option
allow-creativeto allow stat tracking while in creative mode. - Added
dropped-ontracking for when an item drops from a mob.
- Added missing damage done reset to
/toolstats reset. - When a stat is disabled, remove tokens if items have the applied token.
- Fixed
java.lang.NullPointerException: Cannot invoke "java.util.Collection.toArray()" because "c" is nullonPlayerMoveEventwith elytras ([#99](https://github.com/hyperdefined/ToolStats/issues/99)).
- Fix wrong bow/crossbow being used for damage done (fixes [#98](https://github.com/hyperdefined/ToolStats/issues/98)).
- New flight time format. A new entry will be added to your config. Furthermore, the plugin will auto remove the old format on current items to allow backwards compatibility (by [@sebampuero](https://github.com/sebampuero) with [#97](https://github.com/hyperdefined/ToolStats/pull/97) and help from me).
- A new remove token has been added. This token removes all stats from an item. See the [remove token on the wiki](https://github.com/hyperdefined/ToolStats/wiki/Token-System#remove-token).
- Added "damage done" tracking. This applies to weapons and tracks how much damage they've done overtime.
- Fix exception from being thrown if the version running is not on GitHub (by [@sebampuero](https://github.com/sebampuero) with [#96](https://github.com/hyperdefined/ToolStats/pull/96)).
- More misc fixes.
- Fully fix off-hand duplication.
- Turning off statistics via configuration now fully disables the data from the item, rather than turning off just the lore. This means the items won't track data regardless of configuration.
- Adding tokens to items now follows the configuration for statistics that are disabled/enabled.
- When hashes are disabled, remove them from items that have it.
- Added missing
fishing-rodto configuration sections. - Added missing
crops-harvestedto configuration. - Configuration now updates in order from lowest configuration version to highest.
- New token system (off by default)! This let's players add stat tokens to their items to track stats instead of everything being tracked! You can find more information on the wiki: https://github.com/hyperdefined/ToolStats/wiki/Token-System
- Fixed MiniMessage support.
- Fix bow/crossbow off-hand detection.
- Finally handle shift-clicking via trades & crafting. This means the warning message is gone and all items that were crafted/traded have the correct data now.
- Revert back to string comparison for lore detecting. This should fix anymore duplicate entries.
- Fix handling empty messages in config.
- Fix issues with shift-clicking crafting and trading throwing a
NullPointerException.
- Migrated to Paper API, which drops support for Spigot.
- Updated to Java 21.
- Fixed compatibility with
EntityDamageEvent.DamageCauseon older MC versions ([#81](https://github.com/hyperdefined/ToolStats/issues/81)). - Added support for mace ([#82](https://github.com/hyperdefined/ToolStats/issues/82)).
- Added support for custom mob names for "dropped by" tags ([#71](https://github.com/hyperdefined/ToolStats/issues/71)).
- Fixed duplicate "dropped by" tags from happening ([#79](https://github.com/hyperdefined/ToolStats/issues/79)).
- Add support for gradients in item lores ([#72](https://github.com/hyperdefined/ToolStats/issues/72)).
- Fix flight time showing insanely high numbers ([#74](https://github.com/hyperdefined/ToolStats/issues/74)).
- Fix trident lore having duplicate entries ([#75](https://github.com/hyperdefined/ToolStats/issues/75)).
- Fixed armor damage lore being repeated on armor ([#70](https://github.com/hyperdefined/ToolStats/issues/70)).
- Fixed "arrows shot" and "damage taken" on
/toolstats resetnot being added to lore.
- Added support for hex colors in lore ([#68](https://github.com/hyperdefined/ToolStats/issues/68)).
- Added "flight time" to elytras ([#62](https://github.com/hyperdefined/ToolStats/issues/62)).
- Fixed lore system breaking under certain situations. This is a complete overhaul of the lore system again, you won't need to do anything.
- Another fix for armor tracking insane damage values (
EntityDamageEvent.DamageCause.KILLwas finally added). Fixes [#64](https://github.com/hyperdefined/ToolStats/issues/64) and [#65](https://github.com/hyperdefined/ToolStats/issues/65).

















