Skip to content

Releases: xpple/BetterConfig

Release 2.3.1

19 Jan 20:08
Compare
Choose a tag to compare
  • Replaced modRuntimeOnly with modLocalRuntime in Fabric Gradle build script

Release 2.3.0

17 Jan 14:32
Compare
Choose a tag to compare
  • Greatly improved documentation of Config class

Release 2.2.0

15 Jan 15:35
Compare
Choose a tag to compare
  • Update JavaDoc to clarify that resetting a config does not use the setter
  • Allow for custom chat representations of config values (#16)

Release 2.1.3

24 Oct 12:33
Compare
Choose a tag to compare
  • Fixed a mixin bug causing a crash with some mods

Release 2.1.2

09 Oct 17:06
Compare
Choose a tag to compare
  • Added the sources JAR to the publication

Release 2.1.1

09 Oct 14:13
Compare
Choose a tag to compare
  • Fixed a bug with ModConfig#resetTemporaryConfigs that could cause a bug when a config is both temporary and readOnly

Release 2.1.0

13 Sep 16:46
Compare
Choose a tag to compare

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

20 Aug 15:13
Compare
Choose a tag to compare
  • 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

Release 1.3-multi-platform

05 Aug 22:12
Compare
Choose a tag to compare
Pre-release
  • Added support for Paper servers (details will follow in the stable release)

Release 1.3

14 Jun 20:02
Compare
Choose a tag to compare
  • Updated to Minecraft 1.21
  • Fixed resetting some configs by using deep copied value