Fiber2Cloth

Mods
440 Downloads Last Updated: Nov 2, 2019 Game Version: 1.15.1

 

A simple library that converts Fiber’s Config Node to Cloth Config Screen in 1 line.

Requires Cloth Config 2 v1.1.1 or above

NOTE: This is still an experimental library, and there aren’t a lot of features. I am using this library on my own mods and I will see how this goes.

 


 


Licensing

Fiber2Cloth and ClothConfig are unlicensed, no crediting is required. Fiber is licensed under Apache License 2.0. Make sure that you properly comply with their license.

 

Maven

Latest Version of Fiber2Cloth: image

Latest Version of ClothConfig 2: image

Latest Version of Fiber: Click Me

dependencies {
modApi ("me.shedaniel.cloth:config-2:ABC") {
transitive = false
}
modApi ("me.shedaniel.cloth:fiber2cloth:ABC") {
transitive = false
}
modApi "me.zeroeightsix:fiber:ABC"
include "me.shedaniel.cloth:config-2:ABC"
include "me.shedaniel.cloth:fiber2cloth:ABC"
include "me.zeroeightsix:fiber:ABC"
}

 



 

Default Supported Types

  • Integer
  • Long
  • Float
  • Double
  • Boolean
  • String
  • Integer[]
  • Long[]
  • Float[]
  • Double[]
  • String[]

 

 

API Usage

This is the one line that will convert your config node into a cloth config screen.

Fiber2Cloth.create(screen, modid, configNode, configScreenTitleKey).setSaveRunnable(() -> {

    // Here you should serialise the node into the config file.

}).build().getScreen();

A default category will be created (the name is customisable) if there is a config value without a forked parent.

Multiple layers of forking are allowed, and subcategories will be used starting from the second layer.

 

Using Unsupported Types

If you have an object type outside the default supported types, you can use Fiber2Cloth#registerConfigEntryFunction, it takes the class of the object type and a function that turns ConfigValue into AbstractConfigListEntry

You can see examples in Fiber2ClothImpl#initDefaultFunctionMap

Changing the default Yes / No text for boolean toggles

Declare the yes / no text in lang files with key config.{modid}.{valueName}.boolean.{true/false}, and if the key is found translated, it will automatically switch to using that instead of the default.

Example

Fiber2Cloth's example lang has config.fiber2cloth.exampleBool.boolean.true set to yo this is true, which means that config.fiber2cloth.exampleBool's Yes text is changed to yo this is true automatically.