Skip to main content
Dan's Plugins Community
HomeNewsGuidesLeaderboardAboutRoad MapCommissionsDev PortalAccount
All plugins
Dan's Essentials icon

Dan's Essentials

0

3 servers
Latest: v2.6.1
173 downloads on GitHub
Tested on Minecraft 26.2
727 downloads on SpigotMC

First released June 22, 2020 · Last updated October 11, 2026

Downloads from this site

90 total

4 latest (v2.6.1)

Provides miscellaneous commands.

admin
DownloadUser guideSourceSpigotMC
A recreated chat panel: every line is the plugin’s real output, captured from commands a bot player ran on a test server.

Usage

Last reported in use 3 hours ago

86 server starts in the last 30 days

Server starts per day

Versions in use, by share of server starts

  • 2.4.0

    91% · 78 starts

  • 3.0.0-SNAPSHOT-8-8-2026

    6% · 5 starts

  • 2.5.0

    3% · 3 starts

Usage reported by trace — how it works. CI and test servers are excluded.

Usage of every plugin


Verified before release

Version 2.6.1 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 GitHub
Development build
Pre-release
October 11, 2026· 3 downloads

Automated build of master at d91f4e774b5d84546d4dc502b07166e95d8e358c.

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 dansessentials --experimental

Return to published releases with /dpm get dansessentials --stable.

Dans-Essentials-2.6.2-SNAPSHOT.jar (573.8 KB)

2.6.1

For a server running v2.6.0, this is a drop-in update. /de clearinv works exactly as before, but it now tells people what happened instead of clearing inventories silently. It needs no config, permission or data changes.

Changes

Commands

  • /de clearinv <player> now confirms success to whoever ran it ("Cleared <player>'s inventory.", in green). It also tells the target player "Your inventory has been cleared." (#185)
  • The "That player isn't online." error from /de clearinv is now shown in red, matching other error messages. (#185)

Version

v2.6.0 → 2.6.1 — PATCH. Mechanical floor from comparing the two jars: PATCH. Judgment: The only functional change is in the feedback from /de clearinv. The command now confirms success to the sender and tells the target their inventory was cleared, and its offline-target error is now red. Its arguments, permissions, config and stored data are unchanged, and no new capability is added. This fixes a command that used to give no feedback at all, so I kept the patch floor. The new message to the target is the only part that could count as new behaviour, and it is not enough to justify minor.

  • no interface or storage difference observed between the jars

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.6.0 was 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

2.6.0

For a server running v2.5.0, this is a drop-in upgrade that adds support for Minecraft 26.3. It also changes what usage reporting sends. Each usage event now includes a random server ID, so the author can count servers instead of raw events. The first time the plugin starts with reporting on, it adds this ID as a server-id: line in plugins/trace/config.yml. The ID is a random UUID. It does not identify any person, account or IP address, and nothing about players is sent. If reporting is turned off by usage-reporting.enabled: false, by enabled: false in plugins/trace/config.yml, or by TRACE_USAGE_REPORTING=off or DO_NOT_TRACK=1, no ID is created, read, written or sent.

Changes

Compatibility

  • Adds support for Minecraft 26.3 (#180).

Usage reporting

  • Usage events now include a random per-server ID. It is stored once as server-id: in plugins/trace/config.yml and shared by every plugin on the server that reports to trace. Your existing text in that file is kept as it is; one commented server-id: line is added at the end. To get a new ID, delete that line. If the file cannot be written, the ID is kept in memory for that run only (#179).
  • The startup message and the comments in config.yml now mention the server ID (#179).
  • The usage-reporting details link in the config comments and startup message now points to https://danielstephenson.dev/usage-reporting (#181).

Version

v2.5.0 → 2.6.0 — MINOR. Mechanical floor from comparing the two jars: PATCH. Judgment: The mechanical check only saw API additions to TraceClient. It cannot see the behaviour behind them: when usage reporting is enabled, the plugin now creates a random server ID, writes it as a new server-id line in plugins/trace/config.yml, and sends it with every usage event. That is new data written to disk and new data reported, and the release also adds support for Minecraft 26.3, so it is minor. It is not major because existing config keys, commands, permissions and opt-outs work exactly as before, and the ID is appended without changing anything else in the file.

  • no interface or storage difference observed between the jars

<details><summary>Java API changes (informational — nothing depends on this plugin)</summary>

  • dansplugins.dansessentials.trace.TraceClient: added public java.lang.String installId();
  • dansplugins.dansessentials.trace.TraceClient: added public static java.lang.String installIdFromFile(java.io.File);
  • dansplugins.dansessentials.trace.TraceClient$Builder: added public dansplugins.dansessentials.trace.TraceClient$Builder installId(java.lang.String);
  • dansplugins.dansessentials.trace.TraceClient$Builder: added public dansplugins.dansessentials.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 v2.5.0 was 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

2.5.0

For a server running v2.4.0, this release makes mutes survive restarts. It also fixes several command and warp-sign problems and adds the plugin version to every usage-reporting event. Config keys, permissions and stored data from v2.4.0 all work unchanged. The only new file is the muted-player list, which the plugin creates and manages itself.

Changes

Muting

  • Muted players now stay muted across server restarts. The list is saved to muted-players.txt in the plugin's data folder when the server shuts down and is loaded again at startup. /de unmute removes a player from the saved list. If the file can't be read at startup, a warning is logged and the file is left untouched, so the mutes stored in it are not overwritten. (#172)

Commands

  • /de label no longer throws an error when your main hand is empty. It now says you must be holding an item, and it gives a clear message for items that can't be renamed. (#168)
  • /de gm with an unknown mode now shows the usage message instead of silently doing nothing. The usage messages for /de gm and /de flyspeed now include the /de prefix. (#168)
  • /de help now shows the double quotes that /de broadcast and /de label need, and says that mutes last until the player is unmuted. (#168, #172)

Warp signs

  • The message shown when placing a warp sign without permission now names the real permission, de.placeWarpSign. (#167)
  • Clicking a warp sign with invalid coordinates now tells the player the coordinates are not valid and logs a warning with the sign's location. Before, the error was written to the console and the player saw nothing. (#167)

Usage reporting

  • Every usage-reporting event now carries the plugin version. Before, only the startup event did. (#171)
  • plugins/trace/config.yml now accepts an optional tags: block, which is added to every event reported by plugins on the server. For example, ci: "true" on a test server keeps its events out of real-installation figures. The file is only created when it is missing, so an existing file won't show the commented example. Add the block by hand if you want it. Disabling usage reporting works exactly as before. (#170, #171)

Upgrade notes

  • Players who are muted when you stop the server to install this version will be unmuted after the upgrade, because v2.4.0 does not save mutes. Mute them again with /de mute once the new version is running. From then on, mutes are kept across restarts.

Version

v2.4.0 → 2.5.0 — MINOR. Mechanical floor from comparing the two jars: PATCH. Judgment: The muted-player list is now saved to a new file, muted-players.txt, and loaded again at startup (#172). The plugin did not write this data before, and the mechanical check only saw the new class, so this raises the bump to minor. Usage reporting also gains a new feature: optional server-wide tags read from plugins/trace/config.yml (#170, #171). Nothing here warrants major. No existing data format, config key or permission changes meaning, and the /de gm and /de label changes only reject input that previously failed or did nothing. The mechanical check flagged the TraceClient.builder signature change as INFO only, and that class is a vendored internal client, not API that other plugins use.

  • no interface or storage difference observed between the jars

<details><summary>Java API changes (informational — nothing depends on this plugin)</summary>

  • public class added: dansplugins.dansessentials.services.MutedPlayersStorage
  • dansplugins.dansessentials.trace.TraceClient: removed/changed public static dansplugins.dansessentials.trace.TraceClient$Builder builder(java.lang.String, java.lang.String);
  • dansplugins.dansessentials.trace.TraceClient: added public static dansplugins.dansessentials.trace.TraceClient$Builder builder(java.lang.String, java.lang.String, java.lang.String);
  • dansplugins.dansessentials.trace.TraceClient: added public static final java.lang.String VERSION;
  • dansplugins.dansessentials.utils.Logger: added public void warn(java.lang.String);

</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).
  • save-compatibility gate run: data written by v2.4.0 was 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

2.4.0

Servers on 2.3.0 can drop in this release without any migration. The headline change is opt-out usage reporting: on startup and on each /de command the plugin sends its name, version and the command name to the author's trace server, off the main thread, and logs on every startup whether reporting is on and why. A usage-reporting block is added to plugins/DansEssentials/config.yml (existing settings are kept) and a server-wide switch file plugins/trace/config.yml is created if it does not exist. The rest of the release is bug fixes to /de back, /de mute, /de unmute and /de fly.

Changes

Usage reporting

  • Report a startup event and one event per /de command to the trace server, sent from a bounded daemon thread that never blocks a tick and drops silently if the server is unreachable (#152)
  • Add usage-reporting.enabled, usage-reporting.endpoint and usage-reporting.key to config.yml, and write the block into an existing config.yml that predates it so the switch is on disk (#152, #155)
  • Honour the server-wide opt-out in plugins/trace/config.yml and the TRACE_USAGE_REPORTING=off / DO_NOT_TRACK=1 environment variables, and print the reporting status and how to turn it off on every startup (#155)

Commands

  • /de back no longer throws IllegalArgumentException when there is no stored location; it now tells the player there is nothing to return to. A player's join location is recorded as their initial back location and cleared on quit, and /de back is listed in /de help (#136)
  • /de mute and /de unmute key the mute on the resolved player's real name rather than the typed text, so muting by a partial name now actually silences the player and unmuting finds them again (#148)
  • /de fly <player> names the correct de.fly.others permission in its error message and reports "That player isn't online." instead of crashing when the target is offline (#147)

Upgrade notes

  • Usage reporting is on by default. To turn it off for this plugin, set usage-reporting.enabled: false in plugins/DansEssentials/config.yml. To turn it off for every trace-reporting plugin on the server, set enabled: false in plugins/trace/config.yml (created on first start). The environment variables TRACE_USAGE_REPORTING=off or DO_NOT_TRACK=1 also disable it and take precedence over both files.
  • If you run a hardened or read-only plugins/ directory, note that the plugin will attempt to create plugins/trace/config.yml; a failure to do so is logged at FINE and reporting stays on.

Version

2.3.0 → 2.4.0 — MINOR. Mechanical floor from comparing the two jars: MINOR. Judgment: Nothing in the diff breaks an existing 2.3.0 server: the config gains a new usage-reporting block (written in place, other keys preserved) and a new plugins/trace/config.yml is created, both additive; no schema, command argument, or API contract changes incompatibly. The plugin.yml permission rename de.placewarpsign -> de.placeWarpSign is a no-op because Bukkit lowercases permission names, and the /de back, mute and fly changes are bug fixes that narrow behaviour rather than alter it. Usage reporting is on by default and phones home, which operators should know about, but it is new opt-out behaviour rather than a breaking change, so the minor floor stands even though the pom is labelled 3.0.0-SNAPSHOT.

  • 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.dansessentials.listeners.QuitListener
  • public class added: dansplugins.dansessentials.trace.TraceClient
  • public class added: dansplugins.dansessentials.trace.TraceClient$Builder
  • dansplugins.dansessentials.services.ConfigService: added public boolean isUsageReportingEnabled();
  • dansplugins.dansessentials.services.ConfigService: added public java.lang.String getUsageReportingEndpoint();
  • dansplugins.dansessentials.services.ConfigService: added public java.lang.String getUsageReportingKey();
  • dansplugins.dansessentials.services.ConfigService: added public void saveUsageReportingDefaultsIfMissing();

</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 Dans-Essentials'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: 2.3.0 → 3.0.0-SNAPSHOT-8-8-2026

Opened as https://github.com/Dans-Plugins/Dans-Essentials/pull/140.


Drafted by Claude on behalf of Daniel Stephenson.

What's Changed

Full Changelog: https://github.com/Dans-Plugins/Dans-Essentials/compare/2.2...2.3.0

Changes in Dan's Essentials v2.1

  • Updated Ponder to v0.8
  • Refactored event handling.
  • Fixed a problem with warp signs.
  • Created a local config service.
  • Added the debugMode config option.
  • Created a Logger class.
  • Added some debug logging messages.

Changes in Dan's Essentials v2.0

  • Renamed the plugin to Dan's Essentials.
  • Removed any persistent aspects of the plugin.
  • Integrated Ponder with the plugin.
  • Rewrote all of the commands.
Ponder has been integrated with the plugin, some features have been removed, and all of the commands have been rewritten.

Changes in v1.5-beta

  • major code refactoring to improve coupling and cohesion
  • the broadcast command can now be used by the console

Changes in Medieval Essentials v1.4

  • removed minutes from /seen command output
  • integrated bStats
  • added a server-wide alert for when new players join the server
  • removed some unnecessary print statements

Changes in Medieval Essentials v1.3

  • added the /label command
  • added the /back command
  • added the /logins command
  • added the /invsee command
  • added the /clearinv command

Changes in Medieval Essentials v1.2

  • added /gm 0 command as a shortcut for /gamemode survival
  • added /gm 1 command as a shortcut for /gamemode creative

Changes in Medieval Essentials v1.1

  • added /getpos command
  • added /flyspeed (number) command.

Changes in Medieval Essentials v0.9

  • Added /vanish command with permission.
  • Added /mute command with permission.
  • Added /nick command with permission.

Medieval Essentials v0.6 allows you to:

  • view a list of helpful commands with /medievalessentials help
  • toggle your flight with /fly
  • toggle the flight of another player with /fly (player-name)
  • broadcast a message with /broadcast
  • view the message of the day with /motd (message)
  • set the message of the day with /setmotd (message)
  • see how long its been since a play has logged in with /seen (player-name)

In addition to the commands above, the plugin also

  • presents the message of the day to players when they log in
  • keeps an activity record of each player
  • supports saving/loading for all aspects of the plugin
Activity Tracker

Tracks the activity of players.

Alternate Account Finder

Identifies accounts that have used the same IP address.

Dan's Plugin Manager

Lets operators download the community's plugins in-game or from the server console.

Dan's Spawn System

Allows players to use signs to select a custom spawn in their world.

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.

v0.15.2
Source CodeReport a BugKnowledge BaseFree Server Hosting

More by Daniel Stephenson → danielstephenson.dev · Play his games in your browser