NoMoreCreepers
0
First released November 27, 2021 · Last updated October 7, 2026
Downloads from this site
70 total
9 latest (v1.3.0)
Prevents creepers from spawning.
Usage
Last reported in use 11 days ago
6 server starts in the last 30 days
Server starts per day
Versions in use, by share of server starts
2.0.0-SNAPSHOT-8-8-2026
67% · 4 starts
1.2.0
33% · 2 starts
Usage reported by trace — how it works. CI and test servers are excluded.
Verified before release
Version 1.3.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 a380e7166f89ea74a5258409c19ba992f9113371.
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 nomorecreepers --experimentalReturn to published releases with /dpm get nomorecreepers --stable.
1.3.0
For a server running v1.2.0, this is a drop-in upgrade. Creeper handling, commands and plugin config keys work as before, and Minecraft 26.3 is now a supported version. What changes is usage reporting. While it is on, the plugin writes a randomly generated server-id line to plugins/trace/config.yml the first time it starts and includes that ID in every usage event, so the number of servers can be counted. The ID is random and identifies no person, account or IP address. If reporting is off (through this plugin's config, plugins/trace/config.yml, TRACE_USAGE_REPORTING=off or DO_NOT_TRACK=1), no ID is created, written or sent.
Changes
Usage reporting
- Each usage event now includes a random server ID, kept on the
server-idline ofplugins/trace/config.yml. Delete that line to get a new ID. Your own text in an existing file is left as it is, and the ID is added at the end with a comment explaining it. (#45) - Each event, including command events, now includes the plugin version. (#42)
plugins/trace/config.ymlcan now hold atags:block that is added to every event from every trace-reporting plugin on the server. For example,ci: "true"on a test server keeps its events out of real-installation figures. Newly created files include a commented-out example. (#41)- The startup notice and the
config.ymlcomments now mention the random server ID, and the details link now points to https://danielstephenson.dev/usage-reporting. (#46, #48)
Commands
/nmc config setnow refusesusage-reportingoptions and asks you to editconfig.ymlinstead. Before, settingusage-reporting.enabledtofalsewith the command said it worked but left reporting on. (#37)
Compatibility
- Supported Minecraft versions are now declared and checked: 1.19.4, 1.21.11, 26.2 and 26.3. (#40, #47)
Version
v1.2.0 → 1.3.0 — MINOR. Mechanical floor from comparing the two jars: PATCH.
Judgment: The mechanical check only saw API changes in the vendored TraceClient class. That class is internal to the plugin and not something other plugins use, so it does not justify a major bump. The behaviour it missed is new, though: on first start the plugin now writes a random server-id line to plugins/trace/config.yml, sends it with every usage event as an install tag, adds the plugin version to every event, and reads a new server-wide tags: block. That is new data written and new behaviour, so this is minor. Nothing an existing server relies on breaks. The /nmc config set change rejects a usage-reporting edit that never actually took effect, so it is a fix rather than an incompatible command change.
- no interface or storage difference observed between the jars
<details><summary>Java API changes (informational — nothing depends on this plugin)</summary>
- dansplugins.nomorecreepers.trace.TraceClient: removed/changed public static dansplugins.nomorecreepers.trace.TraceClient$Builder builder(java.lang.String, java.lang.String);
- dansplugins.nomorecreepers.trace.TraceClient: added public java.lang.String installId();
- dansplugins.nomorecreepers.trace.TraceClient: added public static dansplugins.nomorecreepers.trace.TraceClient$Builder builder(java.lang.String, java.lang.String, java.lang.String);
- dansplugins.nomorecreepers.trace.TraceClient: added public static final java.lang.String VERSION;
- dansplugins.nomorecreepers.trace.TraceClient: added public static java.lang.String installIdFromFile(java.io.File);
- dansplugins.nomorecreepers.trace.TraceClient$Builder: added public dansplugins.nomorecreepers.trace.TraceClient$Builder installId(java.lang.String);
- dansplugins.nomorecreepers.trace.TraceClient$Builder: added public dansplugins.nomorecreepers.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).
- save-compatibility gate run: data written by
v1.2.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
1.2.0
Upgrading from 1.1.0 is a drop-in replacement: creeper blocking, /nmc config, and your existing settings all work as before. The one thing to know is that this release adds anonymous usage reporting, on by default, which sends the plugin name, version and command names (nothing about players or your server) to the author's trace server. A usage-reporting block is added to this plugin's config.yml on first start, a shared plugins/trace/config.yml switch is created, and the console says at startup whether reporting is on and how to turn it off.
Changes
Usage reporting
- Send a small usage event on enable and on each command to the author's trace server, off the main thread, with dropped-on-failure delivery and a bounded queue so it can never stall a tick or grow the heap (#27)
- Opt out per plugin with
usage-reporting.enabled: falseinconfig.yml, server-wide withenabled: falseinplugins/trace/config.yml, or for the whole process withTRACE_USAGE_REPORTING=off/DO_NOT_TRACK=1(#27, #29) - Log a startup notice stating whether reporting is on, what is sent, and where the switch is; write the
usage-reportingblock into an upgraded server'sconfig.ymlso the switch is visible (#29)
Commands
- A bare
/nmcno longer declares the unusednmc.defaultpermission node (#24) - Fix the
/nmc config setusage message, which still showed the old/cprefix, and point the wiki link at the current repository (#11)
Packaging
- Stop shipping JUnit 4 and Hamcrest classes inside the plugin JAR (#25)
Upgrade notes
- If you do not want usage reporting, set
usage-reporting.enabled: falseinplugins/NoMoreCreepers/config.ymlafter the first start, or setenabled: falseinplugins/trace/config.ymlto turn it off for every plugin that reports to trace. Check the console lineUsage reporting is on/offto confirm. - If you had explicitly granted or denied
nmc.defaultto control access to a bare/nmc, that node is no longer consulted.
Version
1.1.0 → 1.2.0 — MINOR. Mechanical floor from comparing the two jars: MINOR.
Judgment: The substantive change is opt-out usage reporting (#27, #29): new network behaviour, a new usage-reporting block written into config.yml on upgrade, and a new plugins/trace/config.yml file created on first start. That is new behaviour and new data written, which is minor; existing config keys, the on-disk format, and command arguments are untouched. Dropping the nmc.default node (#24) could in principle loosen access to a bare /nmc, but the PR describes it as unused and nothing in the diff shows it was declared or enforced, so I am not confident enough to call it a breaking permission change and keep the floor.
- minor: default config key added: usage-reporting.enabled
- minor: default config key added: usage-reporting.endpoint
- minor: default config key added: usage-reporting.key
<details><summary>Java API changes (informational — nothing depends on this plugin)</summary>
- public class added: dansplugins.nomorecreepers.trace.TraceClient
- public class added: dansplugins.nomorecreepers.trace.TraceClient$Builder
- dansplugins.nomorecreepers.services.ConfigService: added public boolean isUsageReportingEnabled();
- dansplugins.nomorecreepers.services.ConfigService: added public java.lang.String getUsageReportingEndpoint();
- dansplugins.nomorecreepers.services.ConfigService: added public java.lang.String getUsageReportingKey();
- dansplugins.nomorecreepers.services.ConfigService: added public void saveUsageReportingDefaultsIfNotPresent();
</details>
Verification
Booted twice on a real Spigot server before publication — boot gate run (10 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 NoMoreCreepers'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.0→2.0.0-SNAPSHOT-8-8-2026
Opened as https://github.com/Dans-Plugins/NoMoreCreepers/pull/13.
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/NoMoreCreepers/pull/3
Full Changelog: https://github.com/Dans-Plugins/NoMoreCreepers/compare/1.0...1.1.0
Changes in NoMoreCreepers v0.4
- utilized the Ponder library
- added some config options
- made it possible to disable creepers exploding
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.