Idofront is a set of modules we share between plugins. It includes helpful Minecraft extensions, gradle conventions, and more.
To use idofront as a platform in your projects:
idofrontVersion=...
pluginManagement {
repositories {
gradlePluginPortal()
maven("https://repo.mineinabyss.com/releases")
}
}
dependencyResolutionManagement {
val idofrontVersion: String by settings
repositories {
maven("https://repo.mineinabyss.com/releases")
}
versionCatalogs {
create("idofrontLibs").from("com.mineinabyss:catalog:$idofrontVersion")
}
}
plugins {
alias(idofrontLibs.plugins.mia.kotlin.jvm)
alias(idofrontLibs.plugins.mia.copyjar)
alias(idofrontLibs.plugins.mia.papermc)
alias(idofrontLibs.plugins.mia.nms)
alias(idofrontLibs.plugins.mia.autoversion)
// ...
}
dependencies {
compileOnly(idofrontLibs.bundles.idofront.core)
compileOnly(idofrontLibs.kotlinx.serialization.json)
// ...
}
Run gradle updateIdofrontVersion
Click on a module to see its wiki page!
idofront-autoscan
-
Helper functions for finding annotated classes at runtime, we use it to register things at startup.
idofront-catalog
-
Gradle version catalog containing our commonly used dependencies, including all idofront projects.
idofront-catalog-shaded
-
A Paper plugin with all the dependencies shaded, intended to be used by our other plugins using Paper's join-classpath
option.
idofront-commands
-
A DSL for quickly building Minecraft commands.
idofront-config
-
Simple config system using kotlinx.serialization. Supports yaml, json, and more.
idofront-fonts
-
Font related helper functions, including (negative) spacing.
idofront-gradle
-
Gradle plugins to share build logic, including using NMS with mappings, and publishing to our maven repo.
idofront-logging
-
Super simple logging functions with MiniMessage support.
idofront-nms
-
TypeAliases and toNMS()
, toBukkit()
functions for many NMS classes
idofront-serializers
-
Config-centric serializers for many Bukkit classes for kotlinx.serialization, including ItemStack, Recipes, or Components (via MiniMessage.)
idofront-text-components
-
Helper functions for adventure Component
s
idofront-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