Repository navigation
2.1.0
2.1.0
For a server running v2.0.0, this is a drop-in upgrade. /resetspawn now also works when typed as /dansspawnsystem:resetspawn, and the plugin has been checked against Minecraft 26.3. Usage reporting changes in two ways when it is on. It creates a random server ID and stores it in plugins/trace/config.yml. It also sends that ID and the plugin version with every event. The ID does not identify any person, account or IP address. No player data is sent. Your existing settings and data files are unchanged, and turning reporting off works exactly as before.
Changes
Commands
/resetspawnnow works the same way when typed in its namespaced form/dansspawnsystem:resetspawn. Before, that form was not handled (#93).
Compatibility
- Checked against Minecraft 26.3, alongside 1.19.4, 1.21.11 and 26.2 (#101).
Usage reporting
- Every event now includes a random server ID, so servers can be counted instead of raw events. The ID is created once and saved as the
server-idline inplugins/trace/config.yml, and all plugins on the server that use this reporting share it. Delete the line to get a new ID. No ID is created or saved while reporting is off (#99). - Every event, including command events, now carries the plugin version (#96).
plugins/trace/config.ymlaccepts an optionaltags:block, and those tags are added to every event from the server. For example, setci: "true"on a test server so its events are left out of real-server figures (#95).- The startup message and the comments in
config.ymlnow mention the server ID (#100).
Version
v2.0.0 → 2.1.0 — MINOR. Mechanical floor from comparing the two jars: PATCH.
Judgment: The mechanical check flagged only signature changes to internal classes (CommandService, EventRegistry, TraceClient). The plugin itself changed in ways that check cannot see. Usage reporting now writes a new random server-id line to plugins/trace/config.yml, sends it and the plugin version on every event, and honours a new optional server-wide tags: block. That is new data written and new behaviour, so the floor rises to minor. Nothing breaks: existing config keys, permissions, data files and command arguments keep their meaning, and the command-routing change only makes the namespaced form /dansspawnsystem:resetspawn work too.
- no interface or storage difference observed between the jars
Java API changes (informational — nothing depends on this plugin)
- dansplugins.spawnsystem.services.CommandService: removed/changed public boolean interpretCommand(org.bukkit.command.CommandSender, java.lang.String, java.lang.String[]);
- dansplugins.spawnsystem.services.CommandService: removed/changed public dansplugins.spawnsystem.services.CommandService(dansplugins.spawnsystem.data.PersistentData, dansplugins.spawnsystem.utils.UUIDChecker, dansplugins.spawnsystem.DansSpawnSystem);
- dansplugins.spawnsystem.services.CommandService: added public boolean interpretCommand(org.bukkit.command.CommandSender, org.bukkit.command.Command, java.lang.String[]);
- dansplugins.spawnsystem.services.CommandService: added public dansplugins.spawnsystem.services.CommandService(dansplugins.spawnsystem.data.PersistentData, dansplugins.spawnsystem.utils.UUIDChecker, org.bukkit.Server);
- dansplugins.spawnsystem.trace.TraceClient: removed/changed public static dansplugins.spawnsystem.trace.TraceClient$Builder builder(java.lang.String, java.lang.String);
- dansplugins.spawnsystem.trace.TraceClient: added public java.lang.String installId();
- dansplugins.spawnsystem.trace.TraceClient: added public static dansplugins.spawnsystem.trace.TraceClient$Builder builder(java.lang.String, java.lang.String, java.lang.String);
- dansplugins.spawnsystem.trace.TraceClient: added public static final java.lang.String VERSION;
- dansplugins.spawnsystem.trace.TraceClient$Builder: added public dansplugins.spawnsystem.trace.TraceClient$Builder installId(java.lang.String);
- dansplugins.spawnsystem.utils.EventRegistry: removed/changed public dansplugins.spawnsystem.utils.EventRegistry(dansplugins.spawnsystem.DansSpawnSystem, dansplugins.spawnsystem.utils.BlockChecker, dansplugins.spawnsystem.data.PersistentData);
- dansplugins.spawnsystem.utils.EventRegistry: added public dansplugins.spawnsystem.utils.EventRegistry(org.bukkit.plugin.Plugin, dansplugins.spawnsystem.utils.BlockChecker, dansplugins.spawnsystem.data.PersistentData);
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).
- save-compatibility gate run: data written by
v2.0.0was loaded by this release across two restarts with nothing lost (16 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