Skip to content
Fuzss edited this page Jan 11, 2024 · 7 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, FCAP 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 FCAP 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 FCAP over other config libraries lies in the fact that no additional library is required on 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

Just as with Forge itself, in-game configuration is not available in FCAP 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>"))
}