Class ConfigTracker

java.lang.Object
net.neoforged.fml.config.ConfigTracker

@Internal public class ConfigTracker extends Object
The configuration tracker manages various types of mod configurations. Due to the parallel nature of mod initialization, modifying the configuration state must be thread-safe.
  • Field Details

  • Constructor Details

    • ConfigTracker

      @VisibleForTesting public ConfigTracker()
  • Method Details

    • registerConfig

      public ModConfig registerConfig(ModConfig.Type type, IConfigSpec spec, ModContainer container)
      Registers a new configuration of the given type for a mod, using the default filename for this type of config.

      Registering a configuration is required to receive configuration events.

    • registerConfig

      public ModConfig registerConfig(ModConfig.Type type, IConfigSpec spec, ModContainer container, String fileName)
      Registers a new configuration of the given type for a mod, using a custom filename.

      Registering a configuration is required to receive configuration events.

    • defaultConfigName

      private static String defaultConfigName(ModConfig.Type type, String modId)
    • trackConfig

      void trackConfig(ModConfig config)
    • loadConfigs

      public void loadConfigs(ModConfig.Type type, Path configBasePath)
    • loadConfigs

      public void loadConfigs(ModConfig.Type type, Path configBasePath, @Nullable @Nullable Path configOverrideBasePath)
    • unloadConfigs

      public void unloadConfigs(ModConfig.Type type)
    • openConfig

      static void openConfig(ModConfig config, Path configBasePath, @Nullable @Nullable Path configOverrideBasePath)
    • resolveBasePath

      private static Path resolveBasePath(ModConfig config, Path configBasePath, @Nullable @Nullable Path configOverrideBasePath)
    • loadConfig

      static void loadConfig(ModConfig modConfig, Path path, Function<ModConfig,ModConfigEvent> eventConstructor)
    • acceptSyncedConfig

      public static void acceptSyncedConfig(ModConfig modConfig, byte[] bytes)
    • loadDefaultServerConfigs

      public void loadDefaultServerConfigs()
    • createDefaultConfig

      private static com.electronwill.nightconfig.core.CommentedConfig createDefaultConfig(IConfigSpec spec)
    • unloadConfig

      private static void unloadConfig(ModConfig config)
    • unload

      private static void unload(Path path)
    • setupConfigFile

      private static void setupConfigFile(ModConfig modConfig, Path file) throws IOException
      Throws:
      IOException
    • readConfig

      private static com.electronwill.nightconfig.core.concurrent.ConcurrentCommentedConfig readConfig(Path path) throws IOException, com.electronwill.nightconfig.core.io.ParsingException
      Throws:
      IOException
      com.electronwill.nightconfig.core.io.ParsingException
    • writeConfig

      static void writeConfig(Path file, com.electronwill.nightconfig.core.UnmodifiableCommentedConfig config)
    • backUpConfig

      private static void backUpConfig(Path commentedFileConfig)
    • backUpConfig

      private static void backUpConfig(Path commentedFileConfig, int maxBackups)