YetAnotherConfigLib

YetAnotherConfigLib - Minecraft Mod

YetAnotherConfigLib

Yet Another Config Lib (YACL) is a mod aimed at making the configuration of Minecraft mods easier. It fills in the gaps left by other configuration libraries in the Fabric ecosystem with a more focused, lightweight solution.

Purpose of YACL

This mod was created to overcome limitations seen in other major configuration libraries used by Fabric mods:

  • Cloth Config API: Now deprecated and it won't be updated in the future.
  • SpruceUI: Not primarily built for configuration, leading to a less streamlined experience.
  • MidnightLib: Comes with additional features like cosmetics, superfluous for the configuration purist.
  • OwoLib: More content-oriented library hence more bulky than configuration would suggest.

YACL was thus created to fill in those gaps with a more lean and lightweight tool that could do for configuration what other utilities were already doing elsewhere.

Key Advantages of YACL

YACL has a few strong advantages because of its fresh look, borrowing from successful libraries and fixing old mistakes:

  • Simple API: Its design is based on the internal configuration system of Sodium; thus, it is simple to implement and use.
  • Native Look: The GUI easily integrates with Minecraft and provides the user with an intuitive and smooth work experience.

Core Features

YACL offers a wide range of configuration tools:

  • Custom Widgets: Allows the user to create custom control elements when the default options are not enough.
  • Descriptions: Rich descriptions with clickable and hoverable text powered by Minecraft's built-in Text component system.
  • WebP previews support, including static and animated, will be added for dynamic previews.
  • Color Picker : Advanced color picker with keyboard control supported.
  • Organized Layout: This also means the inclusion of tabs, collapsible groups, and categories for better management.
  • Built-in Serialization/Deserialization: Pre-configured methods are available for easy integration without complex coding.
  • Kotlin DSL Alternative: This option is for those who prefer the use of Kotlin in configuration.

Compatibility and Supported Platforms

YACL is compatible with a wide range of Minecraft versions and platforms, ensuring broad usability across different environments.

Minecraft Versions Supported:

  • 1.21.x
  • 1.20.x
  • 1.19.x

Platforms:

  • Fabric
  • Forge
  • NeoForge
  • Quilt

Supported Environments:

  • Client-side
  • Server-side
  • Client and server