Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[v20.4.1-1.20.4] - 2024-01-10
- Huge internal restructure, including new publications for NeoForge (for using Forge configs) and Forge (for using NeoForge configs)
- The Fabric publication still includes all classes for both config systems, the api package has been split from
fuzs.forgeconfigapiport.api.config
intofuzs.forgeconfigapiport.fabric.api.forge
andfuzs.forgeconfigapiport.fabric.api.neoforge
- The common module is no longer published as
forgeconfigapiport-common
, instead there are now two common publications which areforgeconfigapiport-common-forgeapi
andforgeconfigapiport-common-neoforgeapi
Added
- Added
disableConfigWatcher
config option to bothForgeConfigSpec
andModConfigSpec
Changed
- Updated ForgeConfigSpec with changes from MinecraftForge#9810
Fixed
- Fixed
FileWatcher
hanging due to an invalid path when unloading server configs
[v20.4.0-1.20.4] - 2023-12-21
- Updated to Minecraft 1.20.4 (thanks to Girafi for helping out!)
- The mod version now is more streamlined by including the targeted Minecraft version (e.g. Minecraft 1.20.4 -> Mod Version 20.4.X)
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[v20.4.0-1.20.4] - 2023-12-21
- Updated to Minecraft 1.20.4 (thanks to Girafi for helping out!)
- The mod version now is more streamlined by including the targeted Minecraft version (e.g. Minecraft 1.20.4 -> Mod Version 20.4.X)
[v9.1.2-1.20.2] - 2023-12-02
Changed
- Server configs can now once again be read from a local world directory, when a config file is present (it has to be manually copied there)
- New server config files are still only created in the global
.minecraft/config
directory - Refactored
fuzs.forgeconfigapiport.api.config.v3.ForgeConfigPaths
Fixed
- Fixed
ModConfigSpec
using a wrong package
[v9.1.1-1.20.2] - 2023-12-01
Fixed
- Fixed
ForgeConfigSpec
still using the old name for NeoForge
[v9.1.0-1.20.2] - 2023-11-30
Added
- Added support for the
net.neoforged
namespace in addition tonet.minecraftforge
- Support for Minecraft Forge will be dropped in the long term
- At the moment config systems from both mod loaders are fully supported, except the
/config
command which now only works for NeoForge configs
[v9.0.0-1.20.2] - 2023-09-22
- Ported to Minecraft 1.20.2
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[v9.1.2-1.20.2] - 2023-12-02
Changed
- Server configs can now once again be read from a local world directory, when a config file is present (it has to be manually copied there)
- New server config files are still only created in the global
.minecraft/config
directory - Refactored
fuzs.forgeconfigapiport.api.config.v3.ForgeConfigPaths
Fixed
- Fixed
ModConfigSpec
using a wrong package
[v9.1.1-1.20.2] - 2023-12-01
Fixed
- Fixed
ForgeConfigSpec
still using the old name for NeoForge
[v9.1.0-1.20.2] - 2023-11-30
Added
- Added support for the
net.neoforged
namespace in addition tonet.minecraftforge
- Support for Minecraft Forge will be dropped in the long term
- At the moment config systems from both mod loaders are fully supported, except the
/config
command which now only works for NeoForge configs
[v9.0.0-1.20.2] - 2023-09-22
- Ported to Minecraft 1.20.2
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[v9.1.1-1.20.2] - 2023-12-01
Fixed
- Fixed
ForgeConfigSpec
still using the old name for NeoForge
[v9.1.0-1.20.2] - 2023-11-30
Added
- Added support for the
net.neoforged
namespace in addition tonet.minecraftforge
- Support for Minecraft Forge will be dropped in the long term
- At the moment config systems from both mod loaders are fully supported, except the
/config
command which now only works for NeoForge configs
[v9.0.0-1.20.2] - 2023-09-22
- Ported to Minecraft 1.20.2
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[v9.1.0-1.20] - 2023-11-30
Added
- Added support for the
net.neoforged
namespace in addition tonet.minecraftforge
- Support for Minecraft Forge will be dropped in the long term
- At the moment config systems from both mod loaders are fully supported, except the
/config
command which now only works for NeoForge configs
[v9.0.0-1.20] - 2023-09-22
- Ported to Minecraft 1.20.2
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[v9.0.0-1.20] - 2023-09-22
- Ported to Minecraft 1.20.2
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[v7.0.0-1.20] - 2023-06-09
- Ported to Minecraft 1.20
Changed-
- Night Config is now shaded instead of being included via Jar-in-Jar to allow it to be removed from
fabric.mod.json
, which was causing issues in developement environments when Night Config wasn't retrieved from the official Maven, but instead production jars were used, e.g. from the Curse Maven - Note that Night Config is shaded without being relocated to a different package, which is necessary to stay consistent with Forge
Removed
- Removed deprecated classes in
net.minecraftforge.api
package
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[v6.0.2-1.19.4] - 2023-03-21
Fixed
- The common maven publications is now deobfuscated to support any common multi-loader implementation and not just what is based on Quilt
[v6.0.1-1.19.4] - 2023-03-16
Changed
- Replace
javax.annotation.Nullable
withorg.jetbrains.annotations.Nullable
[v6.0.0-1.19.4] - 2023-03-16
- Compiled for Minecraft 1.19.4
Removed
- Removed a few deprecated methods in
fuzs.forgeconfigapiport.api.config.v2.ForgeConfigPaths
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[v5.0.11-1.19.3] - 2023-03-21
Fixed
- The common maven publications is now deobfuscated to support any common multi-loader implementation and not just what is based on Quilt
[v5.0.10-1.19.3] - 2023-03-16
Added
- Added
correctConfigValuesFromDefaultConfig
option from Night Config Fixes mod - Will ensure corrected values are restored from a potentially present config file in
defaultconfigs
instead of using built-in default values
[v5.0.9-1.19.3] - 2023-02-05
Fixed
- Remove accidental test code
[v5.0.8-1.19.3] - 2023-02-05
Fixed
- Fixed an issue with compile time dependencies missing from Maven publication
[v5.0.7-1.19.3] - 2023-01-28
Changed
- The
/config
command now is registered as a client-side command to prevent issues with local multiplayer when vanilla clients are trying to connect (thanks for the suggestion DJtheRedstoner!) - As a result Forge Config API Port's
disableConfigCommand
config option has become obsolete and was therefore removed - Some further improvements to the
/config
command itself- Invalid suggestions for mod id are no longer shown
- Supports multiple configs per config type for a single mod (if present)
- Disabled access to server configs when playing on a dedicated server which would throw an exception before
- Deprecated Forge's config command implementation, it is no longer used and will be removed in the future as it's not a relevant part of the api
[v5.0.6-1.19.3] - 2023-01-09
Fixed
- Fixed faulty Fabric maven publication from previous release
[v5.0.5-1.19.3] - 2023-01-09
Fixed
- Update
fuzs.forgeconfigapiport.impl.util.ReflectionHelper
to fix crash with the Configured mod when editing a value that does not have a validnet.minecraftforge.common.ForgeConfigSpec$Range
[v5.0.4-1.19.3] - 2023-01-07
Changed
- Server configs are now loaded before everything else in Fabric's
ServerLifecycleEvents#SERVER_STARTING
callback, and are unloaded after everything inServerLifecycleEvents#SERVER_STOPPED
via custom event phases (thanks to SquidDev!) - Sources are once again published to CurseForge and Modrinth
Fixed
- Removed test config accidentally included with the last release
[v5.0.3-1.19.3] - 2022-12-23
Fixed
- Fixed invalid mixin file reference in jar published to Maven
[v5.0.2-1.19.3] - 2022-12-23
Changed
- Some internal restructuring to move more code to the common project, to allow for easier Quilt support when it's ready
[v5.0.1-1.19.3] - 2022-12-22
Fixed
- Fixed Maven jar containing an unprocessed
fabric.mod.json
- Fixed optional mods missing from CurseForge and Modrinth publications
[v5.0.0-1.19.3] - 2022-12-21
This version includes major changes and refactors regarding the whole structure of Forge Config Api Port, most notably a reorganization into a multi-loader project (with separate publications for a common and Fabric Gradle project); as well as moving all classes and code not present on Forge to a separate domain (fuzs.forgeconfigapiport
).
Added
- Forge Config Api Port now includes a config file itself which includes the following options:
- An option to set the
defaultsconfigs
directory (just like Forge, not that it's too useful) - An option to force server configs to generate in and load from the standard config directory (
.minecraft/config/
), so those configs are no longer world specific, but can be accessed much easier by users - An option to manually prevent the custom
/config
command for opening local config files from being registered, intended to be used when hosting a LAN world to allow clients without this mod to connect - An option to apply a workaround for the
com.electronwill.nightconfig.core.io.ParsingException: Not enough data available
(an issue when reading local config files from malformed/corrupted file, which apparently appears quite often)
- An option to set the
Changed
- Forge Config Api Port now comes with two publications:
forgeconfigapiport-common
andforgeconfigapiport-fabric
. When developing a mod for Fabric only, simply keep usingforgeconfigapiport-fabric
, nothing different from before. But when developing a mod for both Forge and Fabric simultaneously using a multi-loader setup,forgeconfigapiport-common
comes in handy for the common project, as it enables using most config related classes in that part of the project, really just config registration is what's left for the mod loader specific projects. - Classes not originally found in Forge now use a separate domain
fuzs.forgeconfigapiport
with a similar structure to Fabric Api (divided intoapi
,impl
, andmixin
) fuzs.forgeconfigapiport
also is the new domain used for the Maven distribution- The
api
package atnet.minecraftforge.api
has been moved to the new domain atfuzs.forgeconfigapiport.api
and refactored:net.minecraftforge.api.ModLoadingContext
->fuzs.forgeconfigapiport.api.config.v2.ForgeConfigRegistry
: Same as before, methods have been renamed fromregisterConfig
to simplyregister
though and registration needs an instance fromForgeConfigRegistry#INSTANCE
.net.minecraftforge.api.ConfigPaths
->fuzs.forgeconfigapiport.api.config.v2.ForgeConfigPaths
: Overhauled, includes helper methods for getting default paths for all config types, also provides the full file path, not just the directory name.net.minecraftforge.api.fml.event.config.ModConfigEvents
->fuzs.forgeconfigapiport.api.config.v2.ModConfigEvents
: No changes, class has only been moved.
- All implementation related classes have been compacted and moved to
fuzs.forgeconfigapiport.impl
- Mixin related classes have been moved to
fuzs.forgeconfigapiport.mixin
Removed
- This version also comes with many removals and deprecations, mainly the WIP Forge config screens have been removed, as they were barely functional and the PR on Forge's GitHub has seemingly been abandoned. As an alternative for in-game configuration, Forge Config Api Port includes default support for and recommends the Configured (Fabric) mod.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[v6.0.1-1.19.4] - 2023-03-16
Changed
- Replace
javax.annotation.Nullable
withorg.jetbrains.annotations.Nullable
[v6.0.0-1.19.4] - 2023-03-16
- Compiled for Minecraft 1.19.4
Removed
- Removed a few deprecated methods in
fuzs.forgeconfigapiport.api.config.v2.ForgeConfigPaths
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[v6.0.0-1.19.4] - 2023-03-16
- Compiled for Minecraft 1.19.4
Removed
- Removed a few deprecated methods in
fuzs.forgeconfigapiport.api.config.v2.ForgeConfigPaths
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[v5.0.10-1.19.3] - 2023-03-16
Added
- Added
correctConfigValuesFromDefaultConfig
option from Night Config Fixes mod - Will ensure corrected values are restored from a potentially present config file in
defaultconfigs
instead of using built-in default values
[v5.0.9-1.19.3] - 2023-02-05
Fixed
- Remove accidental test code
[v5.0.8-1.19.3] - 2023-02-05
Fixed
- Fixed an issue with compile time dependencies missing from Maven publication
[v5.0.7-1.19.3] - 2023-01-28
Changed
- The
/config
command now is registered as a client-side command to prevent issues with local multiplayer when vanilla clients are trying to connect (thanks for the suggestion DJtheRedstoner!) - As a result Forge Config API Port's
disableConfigCommand
config option has become obsolete and was therefore removed - Some further improvements to the
/config
command itself- Invalid suggestions for mod id are no longer shown
- Supports multiple configs per config type for a single mod (if present)
- Disabled access to server configs when playing on a dedicated server which would throw an exception before
- Deprecated Forge's config command implementation, it is no longer used and will be removed in the future as it's not a relevant part of the api
[v5.0.6-1.19.3] - 2023-01-09
Fixed
- Fixed faulty Fabric maven publication from previous release
[v5.0.5-1.19.3] - 2023-01-09
Fixed
- Update
fuzs.forgeconfigapiport.impl.util.ReflectionHelper
to fix crash with the Configured mod when editing a value that does not have a validnet.minecraftforge.common.ForgeConfigSpec$Range
[v5.0.4-1.19.3] - 2023-01-07
Changed
- Server configs are now loaded before everything else in Fabric's
ServerLifecycleEvents#SERVER_STARTING
callback, and are unloaded after everything inServerLifecycleEvents#SERVER_STOPPED
via custom event phases (thanks to SquidDev!) - Sources are once again published to CurseForge and Modrinth
Fixed
- Removed test config accidentally included with the last release
[v5.0.3-1.19.3] - 2022-12-23
Fixed
- Fixed invalid mixin file reference in jar published to Maven
[v5.0.2-1.19.3] - 2022-12-23
Changed
- Some internal restructuring to move more code to the common project, to allow for easier Quilt support when it's ready
[v5.0.1-1.19.3] - 2022-12-22
Fixed
- Fixed Maven jar containing an unprocessed
fabric.mod.json
- Fixed optional mods missing from CurseForge and Modrinth publications
[v5.0.0-1.19.3] - 2022-12-21
This version includes major changes and refactors regarding the whole structure of Forge Config Api Port, most notably a reorganization into a multi-loader project (with separate publications for a common and Fabric Gradle project); as well as moving all classes and code not present on Forge to a separate domain (fuzs.forgeconfigapiport
).
Added
- Forge Config Api Port now includes a config file itself which includes the following options:
- An option to set the
defaultsconfigs
directory (just like Forge, not that it's too useful) - An option to force server configs to generate in and load from the standard config directory (
.minecraft/config/
), so those configs are no longer world specific, but can be accessed much easier by users - An option to manually prevent the custom
/config
command for opening local config files from being registered, intended to be used when hosting a LAN world to allow clients without this mod to connect - An option to apply a workaround for the
com.electronwill.nightconfig.core.io.ParsingException: Not enough data available
(an issue when reading local config files from malformed/corrupted file, which apparently appears quite often)
- An option to set the
Changed
- Forge Config Api Port now comes with two publications:
forgeconfigapiport-common
andforgeconfigapiport-fabric
. When developing a mod for Fabric only, simply keep usingforgeconfigapiport-fabric
, nothing different from before. But when developing a mod for both Forge and Fabric simultaneously using a multi-loader setup,forgeconfigapiport-common
comes in handy for the common project, as it enables using most config related classes in that part of the project, really just config registration is what's left for the mod loader specific projects. - Classes not originally found in Forge now use a separate domain
fuzs.forgeconfigapiport
with a similar structure to Fabric Api (divided intoapi
,impl
, andmixin
) fuzs.forgeconfigapiport
also is the new domain used for the Maven distribution- The
api
package atnet.minecraftforge.api
has been moved to the new domain atfuzs.forgeconfigapiport.api
and refactored:net.minecraftforge.api.ModLoadingContext
->fuzs.forgeconfigapiport.api.config.v2.ForgeConfigRegistry
: Same as before, methods have been renamed fromregisterConfig
to simplyregister
though and registration needs an instance fromForgeConfigRegistry#INSTANCE
.net.minecraftforge.api.ConfigPaths
->fuzs.forgeconfigapiport.api.config.v2.ForgeConfigPaths
: Overhauled, includes helper methods for getting default paths for all config types, also provides the full file path, not just the directory name.net.minecraftforge.api.fml.event.config.ModConfigEvents
->fuzs.forgeconfigapiport.api.config.v2.ModConfigEvents
: No changes, class has only been moved.
- All implementation related classes have been compacted and moved to
fuzs.forgeconfigapiport.impl
- Mixin related classes have been moved to
fuzs.forgeconfigapiport.mixin
Removed
- This version also comes with many removals and deprecations, mainly the WIP Forge config screens have been removed, as they were barely functional and the PR on Forge's GitHub has seemingly been abandoned. As an alternative for in-game configuration, Forge Config Api Port includes default support for and recommends the Configured (Fabric) mod.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[v4.2.11-1.19.2] - 2023-02-18
Fixed
- Backported some changes to the
/config
command making it fully client-side to fix issues with command argument serialization
[v4.2.10-1.19.2] - 2023-01-09
Fixed
- Update
fuzs.forgeconfigapiport.impl.util.ReflectionHelper
to fix crash with the Configured mod when editing a value that does not have a validnet.minecraftforge.common.ForgeConfigSpec$Range
[v4.2.9-1.19.2] - 2022-12-07
Fixed
- Fixed maven publication depending on Night Config as a mod at runtime
[v4.2.8-1.19.2] - 2022-12-07
Fixed
- Fixed maven publication depending on Configured mod when it's actually just optional
[v4.2.7-1.19.2] - 2022-11-22
Added
- Added a callback that fires when server configs are unloading
- Added support for the Configured mod, it will automatically provide config screens to replace the built-in ones when installed
Fixed
- Fixed a race condition with unloading server config
[v4.2.6-1.19.2] - 2022-08-31
Fixed
- Fixed crash when a config screen attempts to handle unsupported config value types
[v4.2.5-1.19.2] - 2022-08-31
Added
- Added a new
ModConfigEvents
class which is the new way of handling mod config events (loading and reloading), to ensure config events are only accessed on a mod specific basis - The old
ModConfigEvent
class is now deprecated for removal in the next major release for 1.20
Changed
- Reverted minor internal removals from previous version to ensure compatibility with mods using those internals; they are deprecated now instead
- Added a bunch of
@ApiStatus
annotations to ensure mods are only accessing the parts of the library they are meant to - This will be overhauled in the next major release for 1.20 to move some internals to a dedicated
impl
domain
[v4.2.4-1.19.2] - 2022-08-30
- Resolved issues regarding the license of Forge
Changed
- Ported more changes from Forge's config screens
- Switched remaining loggers from Log4j to SLF4J
[v4.2.3-1.19.2] - 2022-08-22
Fixed
- Fixed config screen crashing for config values without a widget factory
[v4.2.2-1.19.2] - 2022-08-21
Fixed
- Added missing translation keys when cancelling config editing
[v4.2.1-1.19.2] - 2022-08-21
Changed
- Ported most recent changes from Forge's config screens
Fixed
- Fixed minimum Minecraft version requirement
- Fixed multiple entries being selected in gui lists
[v4.2.0-1.19.2] - 2022-08-20
- Compiled for Minecraft 1.19.2
Changed
- Fabric Api is no longer bundled again, was causing issues with Quilt and was an inconvenience when bundling the mod as jar-in-jar
Fixed
- Fixed missing sub-folders not being created for configs not in the main config directory
[v4.1.4-1.19.1] - 2022-08-02
Fixed
- Fixed required version of Fabric Api
[v4.1.3-1.19.1] - 2022-07-31
- Include Fabric Lifecycle Events which is also required
[v4.1.2-1.19.1] - 2022-07-28
- Now requires Minecraft 1.19.1 or newer
Fixed
- Fix start-up crash due to wrong mixin file location in publishing jar
[v4.1.1-1.19.1] - 2022-07-28
- Re-compile to update outdated files
[v4.1.0-1.19.1] - 2022-07-28
- Compiled for Minecraft 1.19.1
Added
- Added native config screens from Forge (they are extremely buggy, so consider this an alpha, also requires Mod Menu to become accessible)
Changed
- Ported
ForgeConfigSpec
changes from Forge - Fabric API is no longer a dependency, relevant modules are included in the jar now
[v4.0.2-1.19] - 2022-07-28
Fixed
- Fixed Mod Menu being required as a Maven dependency when it's actually just optional
[v4.0.1-1.19] - 2022-07-27
Changed
- Maven publication no longer depends on Night Config as a Fabric mod
[v4.0.0-1.19] - 2022-06-08
- Ported to Minecraft 1.19
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[v5.0.9-1.19.3] - 2023-02-05
Fixed
- Remove accidental test code
[v5.0.8-1.19.3] - 2023-02-05
Fixed
- Fixed an issue with compile time dependencies missing from Maven publication
[v5.0.7-1.19.3] - 2023-01-28
Changed
- The
/config
command now is registered as a client-side command to prevent issues with local multiplayer when vanilla clients are trying to connect (thanks for the suggestion DJtheRedstoner!) - As a result Forge Config API Port's
disableConfigCommand
config option has become obsolete and was therefore removed - Some further improvements to the
/config
command itself- Invalid suggestions for mod id are no longer shown
- Supports multiple configs per config type for a single mod (if present)
- Disabled access to server configs when playing on a dedicated server which would throw an exception before
- Deprecated Forge's config command implementation, it is no longer used and will be removed in the future as it's not a relevant part of the api
[v5.0.6-1.19.3] - 2023-01-09
Fixed
- Fixed faulty Fabric maven publication from previous release
[v5.0.5-1.19.3] - 2023-01-09
Fixed
- Update
fuzs.forgeconfigapiport.impl.util.ReflectionHelper
to fix crash with the Configured mod when editing a value that does not have a validnet.minecraftforge.common.ForgeConfigSpec$Range
[v5.0.4-1.19.3] - 2023-01-07
Changed
- Server configs are now loaded before everything else in Fabric's
ServerLifecycleEvents#SERVER_STARTING
callback, and are unloaded after everything inServerLifecycleEvents#SERVER_STOPPED
via custom event phases (thanks to SquidDev!) - Sources are once again published to CurseForge and Modrinth
Fixed
- Removed test config accidentally included with the last release
[v5.0.3-1.19.3] - 2022-12-23
Fixed
- Fixed invalid mixin file reference in jar published to Maven
[v5.0.2-1.19.3] - 2022-12-23
Changed
- Some internal restructuring to move more code to the common project, to allow for easier Quilt support when it's ready
[v5.0.1-1.19.3] - 2022-12-22
Fixed
- Fixed Maven jar containing an unprocessed
fabric.mod.json
- Fixed optional mods missing from CurseForge and Modrinth publications
[v5.0.0-1.19.3] - 2022-12-21
This version includes major changes and refactors regarding the whole structure of Forge Config Api Port, most notably a reorganization into a multi-loader project (with separate publications for a common and Fabric Gradle project); as well as moving all classes and code not present on Forge to a separate domain (fuzs.forgeconfigapiport
).
Added
- Forge Config Api Port now includes a config file itself which includes the following options:
- An option to set the
defaultsconfigs
directory (just like Forge, not that it's too useful) - An option to force server configs to generate in and load from the standard config directory (
.minecraft/config/
), so those configs are no longer world specific, but can be accessed much easier by users - An option to manually prevent the custom
/config
command for opening local config files from being registered, intended to be used when hosting a LAN world to allow clients without this mod to connect - An option to apply a workaround for the
com.electronwill.nightconfig.core.io.ParsingException: Not enough data available
(an issue when reading local config files from malformed/corrupted file, which apparently appears quite often)
- An option to set the
Changed
- Forge Config Api Port now comes with two publications:
forgeconfigapiport-common
andforgeconfigapiport-fabric
. When developing a mod for Fabric only, simply keep usingforgeconfigapiport-fabric
, nothing different from before. But when developing a mod for both Forge and Fabric simultaneously using a multi-loader setup,forgeconfigapiport-common
comes in handy for the common project, as it enables using most config related classes in that part of the project, really just config registration is what's left for the mod loader specific projects. - Classes not originally found in Forge now use a separate domain
fuzs.forgeconfigapiport
with a similar structure to Fabric Api (divided intoapi
,impl
, andmixin
) fuzs.forgeconfigapiport
also is the new domain used for the Maven distribution- The
api
package atnet.minecraftforge.api
has been moved to the new domain atfuzs.forgeconfigapiport.api
and refactored:net.minecraftforge.api.ModLoadingContext
->fuzs.forgeconfigapiport.api.config.v2.ForgeConfigRegistry
: Same as before, methods have been renamed fromregisterConfig
to simplyregister
though and registration needs an instance fromForgeConfigRegistry#INSTANCE
.net.minecraftforge.api.ConfigPaths
->fuzs.forgeconfigapiport.api.config.v2.ForgeConfigPaths
: Overhauled, includes helper methods for getting default paths for all config types, also provides the full file path, not just the directory name.net.minecraftforge.api.fml.event.config.ModConfigEvents
->fuzs.forgeconfigapiport.api.config.v2.ModConfigEvents
: No changes, class has only been moved.
- All implementation related classes have been compacted and moved to
fuzs.forgeconfigapiport.impl
- Mixin related classes have been moved to
fuzs.forgeconfigapiport.mixin
Removed
- This version also comes with many removals and deprecations, mainly the WIP Forge config screens have been removed, as they were barely functional and the PR on Forge's GitHub has seemingly been abandoned. As an alternative for in-game configuration, Forge Config Api Port includes default support for and recommends the Configured (Fabric) mod.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[v5.0.7-1.19.3] - 2023-01-28
Changed
- The
/config
command now is registered as a client-side command to prevent issues with local multiplayer when vanilla clients are trying to connect (thanks for the suggestion DJtheRedstoner!) - As a result Forge Config API Port's
disableConfigCommand
config option has become obsolete and was therefore removed - Some further improvements to the
/config
command itself- Invalid suggestions for mod id are no longer shown
- Supports multiple configs per config type for a single mod (if present)
- Disabled access to server configs when playing on a dedicated server which would throw an exception before
- Deprecated Forge's config command implementation, it is no longer used and will be removed in the future as it's not a relevant part of the api
[v5.0.6-1.19.3] - 2023-01-09
Fixed
- Fixed faulty Fabric maven publication from previous release
[v5.0.5-1.19.3] - 2023-01-09
Fixed
- Update
fuzs.forgeconfigapiport.impl.util.ReflectionHelper
to fix crash with the Configured mod when editing a value that does not have a validnet.minecraftforge.common.ForgeConfigSpec$Range
[v5.0.4-1.19.3] - 2023-01-07
Changed
- Server configs are now loaded before everything else in Fabric's
ServerLifecycleEvents#SERVER_STARTING
callback, and are unloaded after everything inServerLifecycleEvents#SERVER_STOPPED
via custom event phases (thanks to SquidDev!) - Sources are once again published to CurseForge and Modrinth
Fixed
- Removed test config accidentally included with the last release
[v5.0.3-1.19.3] - 2022-12-23
Fixed
- Fixed invalid mixin file reference in jar published to Maven
[v5.0.2-1.19.3] - 2022-12-23
Changed
- Some internal restructuring to move more code to the common project, to allow for easier Quilt support when it's ready
[v5.0.1-1.19.3] - 2022-12-22
Fixed
- Fixed Maven jar containing an unprocessed
fabric.mod.json
- Fixed optional mods missing from CurseForge and Modrinth publications
[v5.0.0-1.19.3] - 2022-12-21
This version includes major changes and refactors regarding the whole structure of Forge Config Api Port, most notably a reorganization into a multi-loader project (with separate publications for a common and Fabric Gradle project); as well as moving all classes and code not present on Forge to a separate domain (fuzs.forgeconfigapiport
).
Added
- Forge Config Api Port now includes a config file itself which includes the following options:
- An option to set the
defaultsconfigs
directory (just like Forge, not that it's too useful) - An option to force server configs to generate in and load from the standard config directory (
.minecraft/config/
), so those configs are no longer world specific, but can be accessed much easier by users - An option to manually prevent the custom
/config
command for opening local config files from being registered, intended to be used when hosting a LAN world to allow clients without this mod to connect - An option to apply a workaround for the
com.electronwill.nightconfig.core.io.ParsingException: Not enough data available
(an issue when reading local config files from malformed/corrupted file, which apparently appears quite often)
- An option to set the
Changed
- Forge Config Api Port now comes with two publications:
forgeconfigapiport-common
andforgeconfigapiport-fabric
. When developing a mod for Fabric only, simply keep usingforgeconfigapiport-fabric
, nothing different from before. But when developing a mod for both Forge and Fabric simultaneously using a multi-loader setup,forgeconfigapiport-common
comes in handy for the common project, as it enables using most config related classes in that part of the project, really just config registration is what's left for the mod loader specific projects. - Classes not originally found in Forge now use a separate domain
fuzs.forgeconfigapiport
with a similar structure to Fabric Api (divided intoapi
,impl
, andmixin
) fuzs.forgeconfigapiport
also is the new domain used for the Maven distribution- The
api
package atnet.minecraftforge.api
has been moved to the new domain atfuzs.forgeconfigapiport.api
and refactored:net.minecraftforge.api.ModLoadingContext
->fuzs.forgeconfigapiport.api.config.v2.ForgeConfigRegistry
: Same as before, methods have been renamed fromregisterConfig
to simplyregister
though and registration needs an instance fromForgeConfigRegistry#INSTANCE
.net.minecraftforge.api.ConfigPaths
->fuzs.forgeconfigapiport.api.config.v2.ForgeConfigPaths
: Overhauled, includes helper methods for getting default paths for all config types, also provides the full file path, not just the directory name.net.minecraftforge.api.fml.event.config.ModConfigEvents
->fuzs.forgeconfigapiport.api.config.v2.ModConfigEvents
: No changes, class has only been moved.
- All implementation related classes have been compacted and moved to
fuzs.forgeconfigapiport.impl
- Mixin related classes have been moved to
fuzs.forgeconfigapiport.mixin
Removed
- This version also comes with many removals and deprecations, mainly the WIP Forge config screens have been removed, as they were barely functional and the PR on Forge's GitHub has seemingly been abandoned. As an alternative for in-game configuration, Forge Config Api Port includes default support for and recommends the Configured (Fabric) mod.