Skip to content
Fuzss edited this page Feb 11, 2026 · 8 revisions

Welcome to the Forge Config Api Port developer wiki!

This library is a simple utility that allows using Minecraft Forge's & NeoForge's config system on other mod loaders. This is done to aid developers wishing to maintain their projects on multiple loaders, either via manual porting or in a multi-loader architecture. Either way, Forge Config Api Port works great for both.

All classes from Minecraft Forge / NeoForge are directly ported, meaning package names as well as class and method names are the exact same. This is especially great when your project uses a multi-loader architecture, since Forge Config Api Port can be applied directly to a common module, so your config only needs to be setup once for all mod loaders.

The main advantage of Forge Config Api Port over other config libraries lies in the fact that no additional library is required on Minecraft Forge / NeoForge (since this very exact config api is built-in), only distributions for other mod loaders depend on this one library.

Using in-game configuration (for Minecraft 1.21+)

Config screens are directly built-in with Forge Config Api Port, powered by the native screens shipped with NeoForge itself.

Please note that no such config screens exist when using ForgeConfigSpec, and there are no efforts made to make the NeoForge screens compatible with Minecraft Forge's config system.

Using in-game configuration (for Minecraft -1.20.1)

Just as with Minecraft Forge itself, in-game configuration is not available in Forge Config Api Port by default. However, third-party projects exist to offer such functionality.

Forge Config Screens is one such project. Additionally, Mod Menu is required on Fabric to access the provided config screens.

2021-11-03_21

Setting up in-game configuration for your workspace

Adding Forge Config Screens to your development environment is not a requirement, but highly recommended. All you need are a few more lines added to your Gradle build script.

repositories {
    maven {
        name = "Fuzs Mod Resources"
        url = "https://raw.githubusercontent.com/Fuzss/modresources/main/maven/"
    }
}

dependencies {
    // Fabric
    modLocalRuntime "fuzs.forgeconfigscreens:forgeconfigscreens-fabric:<modVersion>"
    // NeoForge
    runtimeOnly "fuzs.forgeconfigscreens:forgeconfigscreens-neoforge:<modVersion>"
    // Forge
    runtimeOnly(fg.deobf("fuzs.forgeconfigscreens:forgeconfigscreens-forge:<modVersion>"))
}