Releases: xpple/BetterConfig
Releases · xpple/BetterConfig
Release 2.1.3
Release 2.1.2
- Added the sources JAR to the publication
Release 2.1.1
- Fixed a bug with
ModConfig#resetTemporaryConfigs
that could cause a bug when a config is bothtemporary
andreadOnly
Release 2.1.0
This release introduces two new features and some bug fixes!
- Added the
onChange
config attribute (#10). You can now register a function that is called whenever a specific config is updated. For example:@Config(onChange = "onChange") public static List<String> exampleOnChange = new ArrayList<>(List.of("xpple, earthcomputer")); private static void onChange(List<String> oldValue, List<String> newValue) { LOGGER.info("exampleOnChange was updated | old: {}, new: {}", oldValue, newValue); }
- Added global change hook (#11). This allows you to register a global function that is called whenever any config is updated. For example:
new ModConfigBuilder<>("<mod id>", Configs.class) .registerGlobalChangeHook(event -> BetterConfigCommon.LOGGER.info("{} was updated | old: {}, new: {}", event.config(), event.oldValue(), event.newValue())) .build();
- Added Tatar translations (#8 by Amirhan-Taipovjan-Greatest-I)
Release 2.0
- Added support for Paper servers
Depending on your setup, you might have to adjust how the config is initialised:- Fabric clients:
new ModConfigBuilder<FabricClientCommandSource, CommandBuildContext>(<mod id>, Configs.class) // ... .build();
- Fabric servers:
new ModConfigBuilder<CommandSourceStack, CommandBuildContext>(<mod id>, Configs.class) // ... .build();
- Paper servers:
new ModConfigBuilder<>(<plugin name>, Configs.class) // ... .build();
- Fabric clients:
- Added support for server-sided custom argument types
- Fabric:
dev.xpple.betterconfig.util.WrappedArgumentType
- Paper:
io.papermc.paper.command.brigadier.argument.CustomArgumentType
- Fabric:
- Fixed bug where the
reset
subcommand would be available for readonly configs
Release 1.3-multi-platform
- Added support for Paper servers (details will follow in the stable release)
Release 1.3
- Updated to Minecraft 1.21
- Fixed resetting some configs by using deep copied value
Release 1.2.1
- Added boolean argument type back to default arguments
Release 1.2.0
- Made non-api packages no longer visible
- Rewrote argument registration
Consider the below example to see how things have changed.- .registerTypeWithArgument(Block.class, new BlockAdapter(), new Pair<>(BlockArgumentType::block, BlockArgumentType::getBlock)) + .registerType(Block.class, new BlockAdapter(), BlockArgumentType::block)
Release 1.1.7
- Fixed enum parsing when enum overrides
toString
- Prioritised custom arguments/suggestors over enum check
- Fixed crashing on startup when the config is corrupted