BetterConfig

BetterConfig

Mod and plugin

A very powerful and easy to use command based configuration library for servers and clients.

Client or server LibraryManagementStorage

4,038 downloads
8 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!
Filter loader...
Filter versions...
  • Greatly improved documentation of Config class

No relevant changes.

  • Replaced modRuntimeOnly with modLocalRuntime in Fabric Gradle build script
  • Update JavaDoc to clarify that resetting a config does not use the setter
  • Allow for custom chat representations of config values (#16)

No relevant changes.

  • Fixed a mixin bug causing a crash with some mods
  • Added the sources JAR to the publication
  • Fixed a bug with ModConfig#resetTemporaryConfigs that could cause a bug when a config is both temporary and readOnly

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)
  • 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();
      
  • Added support for server-sided custom argument types
    • Fabric:
      dev.xpple.betterconfig.util.WrappedArgumentType
      
    • Paper:
      io.papermc.paper.command.brigadier.argument.CustomArgumentType
      
  • Fixed bug where the reset subcommand would be available for readonly configs
  • Added support for Paper servers (details will follow in the stable release)

Release 1.3

by xpple on Jun 17, 2024
Download
  • Updated to Minecraft 1.21
  • Fixed resetting some configs by using deep copied value

Release 1.2.1

by xpple on Aug 24, 2023
Download
  • Added boolean argument type back to default arguments

Project members

xpple

Owner

Details

Licensed LGPL-3.0-or-later
Published 2 years ago
Updated a month ago