Skip to content

MineInAbyss/Idofront

Folders and files

NameName
Last commit message
Last commit date
May 30, 2024
Jan 25, 2025
Sep 9, 2024
Oct 22, 2023
Feb 2, 2025
Aug 9, 2024
May 30, 2024
May 30, 2024
Oct 29, 2023
Oct 12, 2024
May 30, 2024
Jan 17, 2025
Feb 1, 2025
Feb 13, 2024
Jan 25, 2025
Jun 6, 2024
Aug 18, 2020
Oct 19, 2024
Jan 17, 2025
Aug 18, 2024
Nov 24, 2021
Nov 24, 2021
Feb 13, 2024

Repository files navigation

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