PlayerLore
0
First released December 22, 2021 · Last updated October 13, 2026
Downloads from this site
84 total
9 latest (v2.1.0)
Allows players to add lore to their items.
Usage
1
Active servers (30 days)
Last reported in use 4 days ago
9 server starts in the last 30 days
Server starts per day
Versions in use, by share of active servers
2.1.0
100% · 1 server
Usage reported by trace — how it works. CI and test servers are excluded.
Verified before release
Version 2.1.0 was started on real servers running Minecraft 1.19.4, 1.21.11, 26.2 and 26.3 before it was published. The jar you download is the exact one that passed. How releases work
Versions
All releases on GitHubAutomated build of main at 1dfb1fe0468157b97343fa856a1dc17e5b1b16de.
This is not a release. It is unreleased, unreviewed code that has not been through any release check, and a broken build can stop a server from starting. Do not run it on a server you care about without a backup.
Install it with Dan's Plugin Manager:
/dpm get playerlore --experimentalReturn to published releases with /dpm get playerlore --stable.
2.1.0
For a server running v2.0.0 this is a drop-in upgrade with no config changes required. Gameplay, commands and permissions are unchanged. The changes are to anonymous usage reporting. Each event now includes a random server ID so servers can be counted. The ID identifies no person, account or IP address. It is stored as a server-id line in plugins/trace/config.yml and added the first time the plugin starts with reporting enabled. Every event now also includes the plugin version. Minecraft 26.3 is now listed as supported. You can still turn reporting off with usage-reporting.enabled: false in this plugin's config, enabled: false in plugins/trace/config.yml, or TRACE_USAGE_REPORTING=off / DO_NOT_TRACK=1. When reporting is off, no server ID is created or written.
Changes
Usage reporting
- Each event includes a random server ID, kept as
server-idinplugins/trace/config.yml. Delete that line to get a new ID (#43) plugins/trace/config.ymlaccepts an optionaltags:block that is added to every event from plugins on the server. For example,ci: "true"keeps a test server out of real-installation figures. A newly created file includes this example commented out (#39)- Every event, including command events, now includes the plugin version, not just the startup event (#40)
- The startup notice and
config.ymlcomments mention the server ID, and the details link now points to https://danielstephenson.dev/usage-reporting (#45, #47)
Compatibility
- Minecraft 26.3 is now supported (#46)
Version
v2.0.0 → 2.1.0 — MINOR. Mechanical floor from comparing the two jars: PATCH.
Judgment: The API checker only sees signature changes in the bundled trace client. It misses the new behaviour for operators. Every usage-reporting event now carries a random server ID. On first start, an enabled plugin appends a new server-id line to plugins/trace/config.yml, which is new data written to disk. The server-wide config also gains an optional tags: block, and every event, including command events, now includes the plugin version. Existing config keys, commands and permissions work the same way, and opting out works as before, so this is not a major bump.
- no interface or storage difference observed between the jars
<details><summary>Java API changes (informational — nothing depends on this plugin)</summary>
- dansplugins.playerlore.trace.TraceClient: removed/changed public static dansplugins.playerlore.trace.TraceClient$Builder builder(java.lang.String, java.lang.String);
- dansplugins.playerlore.trace.TraceClient: added public java.lang.String installId();
- dansplugins.playerlore.trace.TraceClient: added public static dansplugins.playerlore.trace.TraceClient$Builder builder(java.lang.String, java.lang.String, java.lang.String);
- dansplugins.playerlore.trace.TraceClient: added public static final java.lang.String VERSION;
- dansplugins.playerlore.trace.TraceClient: added public static java.lang.String installIdFromFile(java.io.File);
- dansplugins.playerlore.trace.TraceClient$Builder: added public dansplugins.playerlore.trace.TraceClient$Builder installId(java.lang.String);
- dansplugins.playerlore.trace.TraceClient$Builder: added public dansplugins.playerlore.trace.TraceClient$Builder installIdFile(java.io.File);
</details>
Verification
Verified on a real Spigot server before publication; this release carries the exact jar that was verified.
- boot gate run: booted twice on a fresh Spigot server running Minecraft 1.19.4 (11 assertions passed).
- boot gate run: booted twice on a fresh Spigot server running Minecraft 1.21.11 (11 assertions passed).
- boot gate run: booted twice on a fresh Spigot server running Minecraft 26.2 (11 assertions passed).
- boot gate run: booted twice on a fresh Spigot server running Minecraft 26.3 (11 assertions passed).
Install with Dan's Plugin Manager: /dpm get <plugin>. How stable releases are made: Release channels.
drafted by Claude on behalf of Daniel Stephenson
2.0.0
Upgrading from 1.1 changes how line numbers work in /pl edit and /pl remove: lines are now counted from 1, so the first line of lore is 1, not 0, and any players or scripts that used the old zero-based numbers will hit a different line. This release also adds usage reporting, which is on by default: on startup and on each command the plugin sends its name, version and the command name to the author's trace server (nothing about players or the server). It can be turned off per plugin or server-wide, and the console says on startup whether it is on. The plugin will also write a new usage-reporting block into its config.yml and create plugins/trace/config.yml on first start.
Changes
Commands
/pl editand/pl removenow take 1-based line indexes; index0and out-of-range indexes are rejected with a message instead of editing the wrong line or throwing (#9)/pl editand/pl removereject a non-numeric index with "Line index must be a number." and show usage when no arguments are given, instead of throwing (#9)/pl addwith no arguments now shows a usage message instead of throwing (#15)/plnow points to/pl help(was the typo/lp help) and to the wiki under Dans-Plugins (#9, #19)/pl helpnow lists the bare/plcommand (#26)
Usage reporting
- Usage events (startup and command names) are reported to https://trace.danielstephenson.dev off the main thread, bounded and never blocking a tick; failures are dropped silently (#28)
- Opt-out via
usage-reporting.enabled: falsein the plugin'sconfig.yml,enabled: falseinplugins/trace/config.ymlfor every trace-reporting plugin on the server, or the environment variablesTRACE_USAGE_REPORTING=off/DO_NOT_TRACK=1(#28, #30) - The console logs on startup whether reporting is on and, if off, why; the
usage-reportingblock is written into an existingconfig.ymlso the switch is where the message says it is (#30)
Configuration
- Removed leftover template branches in
/pl config setthat parsed the non-existent optionsAandCas numbers; every option other thanversionanddebugModeis stored as a string (#19)
Housekeeping
- Internal refactoring and alignment with DPC conventions (#4, #6, #17)
- Unit tests for all commands and the config service (#11, #23, #27)
- CI builds, rolling dev prereleases and release publishing (#18, #21, #29)
Upgrade notes
- Tell players that
/pl editand/pl removenow count lines from 1. Anything that used0for the first line must be updated;1now targets the first line, not the second. - Usage reporting is enabled by default after upgrading. To turn it off for this plugin, set
usage-reporting.enabled: falseinplugins/PlayerLore/config.yml; to turn it off for every plugin that reports to trace, setenabled: falseinplugins/trace/config.yml(created on first start); or setTRACE_USAGE_REPORTING=offorDO_NOT_TRACK=1in the server's environment. - Expect a new
usage-reportingblock inplugins/PlayerLore/config.ymland a newplugins/trace/config.ymlafter the first start; existing values in either file are not overwritten.
Version
1.1 → 2.0.0 — MAJOR. Mechanical floor from comparing the two jars: MINOR.
Judgment: The floor of minor covers the new usage-reporting config keys, but the diff also changes the argument semantics of two existing commands: /pl edit and /pl remove switch from 0-based to 1-based line indexes (#9), so /pl remove 1 now removes a different line than it did in 1.1 and /pl remove 0 is rejected. That is an incompatible command-argument change the mechanical comparison cannot see, and it silently alters which lore line is edited or deleted for anyone using the old numbering. The pom already targets 2.0.0, consistent with this.
- minor: default config key added: usage-reporting.enabled
- minor: default config key added: usage-reporting.endpoint
- minor: default config key added: usage-reporting.key
- info: public class added: dansplugins.playerlore.trace.TraceClient
- info: public class added: dansplugins.playerlore.trace.TraceClient$Builder
- info: dansplugins.playerlore.services.ConfigService: added public boolean isUsageReportingEnabled();
- info: dansplugins.playerlore.services.ConfigService: added public java.lang.String getUsageReportingEndpoint();
- info: dansplugins.playerlore.services.ConfigService: added public java.lang.String getUsageReportingKey();
- info: dansplugins.playerlore.services.ConfigService: added public void saveUsageReportingDefaultsIfNotPresent();
Verification
Booted twice on a real Spigot server before publication — boot gate run (8 assertions passed). This release carries the exact jar that was verified.
Install with Dan's Plugin Manager: /dpm get <plugin>. How stable releases are made: Release channels.
drafted by Claude on behalf of Daniel Stephenson
Snapshot release marking PlayerLore's move to an AI-first development approach.
Day-to-day feature work, grooming, review and maintenance now run through AI agents working directly against this repository, with the maintainers setting direction and approving what lands. The version bump marks that change in how the project is built — it is not a compatibility break. Behaviour, configuration and stored data are unchanged, and existing installations can upgrade in place.
This is a dated snapshot, not a finished release. It follows the precedent set by Medieval
Factions' 6.0.0-SNAPSHOT-7-25-2026: the AI-first line has not yet been verified in live operation,
and the snapshot designation stays until it has.
Version changes
pom.xml:1.1→2.0.0-SNAPSHOT-8-8-2026
Opened as https://github.com/Dans-Plugins/PlayerLore/pull/17.
Drafted by Claude on behalf of Daniel Stephenson.
What's Changed
- Moved away from the Singleton pattern. by @dmccoystephenson in https://github.com/Dans-Plugins/PlayerLore/pull/3
Full Changelog: https://github.com/Dans-Plugins/PlayerLore/compare/1.0...1.1
Full Changelog: https://github.com/Dans-Plugins/PlayerLore/compare/v0.4...1.0
I've added some more files to the project.
Changes in PlayerLore v0.3
- Implemented the edit command.
- Implemented the remove command.
Changes in PlayerLore v0.2
- Made lore added by players white.
- Added the requester to the output of the default command.
Related plugins
Something wrong, or something missing?
Bugs go to the plugin's issue tracker, where they can actually be fixed and tracked. Ideas for new behaviour go to the Dev Portal, where the community can upvote them.