Skip to content

Latest commit

 

History

History
109 lines (78 loc) · 3.82 KB

README.md

File metadata and controls

109 lines (78 loc) · 3.82 KB

Idofront

Package Wiki Contribute

Idofront is a set of modules we share between plugins. It includes helpful Minecraft extensions, gradle conventions, and more.

Gradle quickstart

To use idofront as a platform in your projects:

Add idofrontVersion to your gradle.properties

idofrontVersion=...

Configure your settings.gradle

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")
    }
}

Configure your build.gradle

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)
    // ...
}

Updating

Run gradle updateIdofrontVersion

Modules

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 Components

idofront-util - General utilities like destructure functions, plugin load helpers, or operator functions for Vector and Location.

Reference material