Idofront is a set of modules we share between plugins. It includes helpful Minecraft extensions, common dependencies, and more. We have a separate project for gradle conventions, which Idofront references too.
See the examples module for example usage of each module (WIP). You may manually add dependencies as shown below, or use our version catalog, or depend on Idofront as a platform. See Installation for more info.
implementation("com.mineinabyss:idofront-commands:$idofrontVersion")-
catalog- Gradle version catalog containing our commonly used dependencies, including all idofront projects. -
catalog-shaded- A Paper plugin with all the dependencies shaded, intended to be used by our other plugins using Paper'sjoin-classpathoption. -
commands- A DSL for quickly building Minecraft commands. -
config- Simple config system using kotlinx.serialization. Supports yaml, json, and more. -
features- Helper classes for splitting plugins into features that can be enabled or disabled. -
fonts- Font related helper functions, including (negative) spacing. -
logging- Super simple logging functions with MiniMessage support. -
nms- TypeAliases andtoNMS(),toBukkit()functions for many NMS classes -
serializers- Config-centric serializers for many Bukkit classes for kotlinx.serialization, including ItemStack, Recipes, or Components (via MiniMessage.) -
text-components- Helper functions for adventureComponents -
util- General utilities like destructure functions, plugin load helpers, or operator functions for Vector and Location.
- This repo seems interesting to borrow from as a setup for conventions plugins: https://github.com/huanshankeji/gradle-common
- https://github.com/jjohannes/gradle-demos/tree/main