Sitelet https://github.com/Dans-Plugins/Dans-Essentials
Skip to content

Repository files navigation

Dan's Essentials

Description

Dan's Essentials is a Minecraft plugin that provides a collection of miscellaneous utility commands for server operators and players, including fly toggles, gamemode switching, broadcasting, muting, inventory management, warp signs, and more.

Supported Minecraft Versions

This plugin is supported on the Minecraft versions listed in minecraft-versions.json: currently 1.19.4, 1.21.11, 26.2 and 26.3 (Spigot and its forks). Every stable release is booted on a real server of each of these versions before it is published, and every build checks that the plugin only uses Bukkit API that exists on all of them. Other versions from 1.19.4 onwards are expected to work but are not tested. To support another version, add it to the file: both checks pick it up.

Installation

First Time Installation

  1. Download the plugin from SpigotMC.
  2. Place the jar in the plugins folder of your server.
  3. Restart your server.

Usage

Documentation

Wiki & Additional Resources

Support

You can find the support Discord server here.

Experiencing a bug?

Please fill out a bug report here.

Contributing

Testing

Automated Tests

The project has a JUnit 5 test suite under src/test/java/, using Mockito to stand in for the Bukkit API. Run it with:

mvn test

Build Verification

To build and package the plugin, run:

mvn clean package

If you see BUILD SUCCESS, the plugin built successfully. This also runs the test suite, and is the same command CI runs on every pull request.

Development

Local Test Server

You can test changes to the plugin using a local Spigot or Paper server.

Setup

  1. Build the plugin: mvn clean package
  2. Locate the built JAR in the target directory.
  3. Copy the JAR into the plugins folder of your local Minecraft server.
  4. Start or restart your server to load the updated plugin.

Iterating on Changes

  1. Make your code changes.
  2. Rebuild the plugin: mvn clean package
  3. Replace the existing JAR in the plugins folder with the newly built JAR.
  4. Restart or reload your server to apply changes.

Authors and Acknowledgement

Developers

Name Main Contributions
Daniel Stephenson Original author and primary developer

License

This project is licensed under the GNU General Public License v3.0 (GPL-3.0).

You are free to use, modify, and distribute this software, provided that:

  • Source code is made available under the same license when distributed.
  • Changes are documented and attributed.
  • No additional restrictions are applied.

See the LICENSE file for the full text of the GPL-3.0 license.

Project Status

This project is in active development.

bStats

You can view the bStats page for the plugin here.

Usage reporting

Usage reporting is on by default: when the plugin is enabled, and each time one of its commands is used, it sends its name, its version and the command's name (startup and command events) to https://trace.danielstephenson.dev so it is known which plugins are actually in use. Nothing about players, worlds, IPs, or anything typed after a command is sent. The plugin says on every startup whether reporting is on. Each event also carries a random server ID (the server-id line in plugins/trace/config.yml) so servers can be counted rather than events. It identifies no person, account or IP address; delete the line to get a new one.

To turn it off:

  • for this plugin: usage-reporting.enabled: false in plugins/DansEssentials/config.yml
  • for every plugin on the server that reports this way: enabled: false in plugins/trace/config.yml (created the first time such a plugin starts)
  • for the whole process: the environment variable TRACE_USAGE_REPORTING=off or DO_NOT_TRACK=1

Details: https://danielstephenson.dev/usage-reporting

Changelog

See CHANGELOG.md for a release-by-release summary of changes.

Releases

Used by

Contributors

Languages