Skip to content

Fzzy Config is a powerful configuration engine for Minecraft Mods that meets you where you want to be. Quick and dirty or detailed and featureful, Fzzy Config will work with you.

License

Notifications You must be signed in to change notification settings

fzzyhmstrs/fconfig

Repository files navigation

FzzyConfig

Depending on Fzzy Config

Add the following to your build script to depend on Fzzy Config:

Repositories section

// build.gradle.kts

//version 0.4.3 or higher:
maven {
    name = "FzzyMaven"
    url = uri("https://maven.fzzyhmstrs.me/")
}

//version 0.4.2 or lower:
maven {
    name = "Modrinth"
    url = uri("https://api.modrinth.com/maven")
    content {
        includeGroup("maven.modrinth")
    }
}
// build.gradle

//version 0.4.3 or higher
maven {
    name = "FzzyMaven"
    url = "https://maven.fzzyhmstrs.me/"
}

//version 0.4.2 or lower
maven {
    name = "Modrinth"
    url = "https://api.modrinth.com/maven"
    content {
        includeGroup "maven.modrinth"
    }
}

Dependencies section:

Version names will be in the form x.x.x+[mc_version], e.g. 0.4.3+1.21. For (Neo)Forge builds, add +neoforge for 1.20.4+ and +forge for 1.20.1.

Either CurseForge, Modrinth, or the Maven itself can be used to see the current version listings.

// build.gradle.kts

//version 0.4.3 or higher
val fzzyConfigVersion: String by project //define this in your gradle.properties file
modImplementation("me.fzzyhmstrs:fzzy_config:$fzzyConfigVersion") //NOTE: underscore, not hyphen!

//version 0.4.2 or lower
val fzzyConfigVersion: String by project //define this in your gradle.properties file
modImplementation("maven.modrinth:fzzy-config:$fzzyConfigVersion")
// build.gradle

//version 0.4.3 or higher
modImplementation "me.fzzyhmstrs:fzzy_config:${project.fzzyConfigVersion}" //NOTE: underscore, not hyphen!

//version 0.4.2 or lower
modImplementation "maven.modrinth:fzzy-config:${project.fzzyConfigVersion}"

NOTE: include or similar jar-in-jar mechanisms is not allowed in the terms of the TDL-M license that Fzzy Config is released under

Fzzy Config is a powerful configuration engine for Minecraft Mods that meets you where you want to be. Quick and dirty or detailed and featureful, Fzzy Config will work with you. It provides a wide array of features above and beyond what you can find in other libraries.

All the basics

  • Automatic serialization
  • Minimal API with lightweight integration requirements

GUIs

  • Automatic GUI generation based on the layout and content of your config files.
  • Screens are fully keyboard-navigable and narratable out of the box.
  • No need for screen builders or registration.
  • ModMenu and Catalogue automatically integrated.
  • Add Action Buttons to open a wiki site, run a command, and so on.

Synchronization

  • Automatic server-client sync
  • Push live updates to a server from a client
  • Forward client settings to other users who want your setup.

Validation

  • Validation and Correction built into everything, beyond just primitive types.
  • Tightly control what values a player can choose from and how they choose them.
  • Automatic suggestions for settings like tags and identifiers.

Updates

  • Versioned Updates supported with one simple method implementation
  • Scrape previous configs to easily update from another config library

Flexibility

  • Implement a config with as little or much effort as you want
  • Plain java object, or Minecraft GameOptions-like carefully crafted settings

About

Fzzy Config is a powerful configuration engine for Minecraft Mods that meets you where you want to be. Quick and dirty or detailed and featureful, Fzzy Config will work with you.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages