Skip to content

An open source collection of utilities for Minecraft plugins designed to make your life easier

License

Notifications You must be signed in to change notification settings

xDec0de/MCUtils

Repository files navigation

About MCUtils

MCUtils is a free to use open-source plugin API to help you develop your own Spigot plugins, designed to be shaded under your plugin so you don't have to worry about new versions releasing that administrators may need to download, they don't need to download anything! Once you compile your plugin, the behavior of MCUtils won't change, unless you explicitly change to another version of it, of course.

MCUtils banner

The reliability of MCUtils

Well, you can never be sure that a program is 100% reliable on any environment with an almost infinite amount of conditions that Minecraft servers tend to have, of course, bugs may appear sooner or later, it's part of the development process of any program. However, MCUtils is used by my own plugins which are tested quite a lot, in fact, I even use it as a part of the core of my own network, so you don't have to worry about the project being abandoned any time soon either. Most bugs / performance issues will be solved before a version is even released or they get reported. But, if you do find a bug, critical or not, feel free to contribute / create an issue to fix it!

The current state of MCUtils, not ready for production yet

One thing that is important to note is that MCUtils is currently on the early stages of development, features may (And will) change, methods may be renamed or removed, and of course issues are expected to appear. This is normal right now! API-breaking changes will happen with a lower and lower frequency as we approach the first stable release, these changes are necessary right now that we can change most of the code without worrying about a ton of plugins breaking, making sure that all features are robust and easy to use in the better way possible. A great example of this is how the whole command API changed in order to add a more minimalistic and simple approach to it, this WON'T happen once the first stable build of MCUtils gets released, so don't panic!

Why should I use MCUtils? (Documentation in progress)

As previously mentioned, MCUtils is designed to make your plugin development process easier and faster, but, what does it actually offer? Well... Here is the current list of features.

  • Compatible with both Spigot and PaperMC

  • General file registration

    • Reload and update all the files registered to your plugin
    • FileHolder interface for any custom file type that you may need to register
    • FileUpdater interface if your FileHolder can be updated
  • Yaml file management

    • YmlFile for basic yaml files with reload support
    • PluginFile for plugin resource files that can be updated
    • MessagesFile to send custom messages easily
  • Message patterns

  • The MCCommand class

    • Register commands with or without defining them on your plugin.yml file
    • Get and convert command arguments in one line, without IndexOutOfBounds exceptions
    • Add sub-commands without doing all the boring logic of it yourself
    • Restrict commands to be player or console only directly from the constructor
    • Create your own MCCommand class with custom conditions
  • Builders that are easy to use

  • GUI handling

    • GUIHandler
    • GUI and ActionGUI
  • Reflection utilities

  • Regions

  • General utilities

  • Version checkers

  • World generation

    • VoidGenerator
    • SingleBiomeProvider