com.electronwill.nightconfig.core.InMemoryFormat Java Examples

The following examples show how to use com.electronwill.nightconfig.core.InMemoryFormat. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ForgeConfigSpec.java    From patchwork-api with GNU Lesser General Public License v2.1 5 votes vote down vote up
public ForgeConfigSpec build() {
	context.ensureEmpty();
	Config valueCfg = Config.of(InMemoryFormat.withSupport(ConfigValue.class::isAssignableFrom));
	values.forEach(v -> valueCfg.set(v.getPath(), v));

	ForgeConfigSpec ret = new ForgeConfigSpec(storage, valueCfg, levelComments);
	values.forEach(v -> v.spec = ret);
	return ret;
}
 
Example #2
Source File: ConfigManager.java    From Survivalist with BSD 3-Clause "New" or "Revised" License 4 votes vote down vote up
ServerConfig(ForgeConfigSpec.Builder builder)
{
    builder.comment("Settings for stick crafting").push("sticks");
    removeSticksFromPlanks = builder.define("RemoveSticksFromPlanksRecipes", true);
    builder.pop();
    builder.comment("Settings for rock and ore rock drops").push("rocks");
    enableRocks = builder.define("Enable", true);
    replaceStoneDrops = builder.define("ReplaceStoneDrops", true);
    replaceIronOreDrops = builder.define("ReplaceIronOreDrops", true);
    replaceGoldOreDrops = builder.define("ReplaceGoldOreDrops", true);
    replaceModOreDrops = builder.define("ReplaceModOreDrops", true);
    replacePoorOreDrops = builder.define("ReplacePoorOreDrops", true);
    cobbleRequiresClay = builder.define("CobbleRequiresClay", true);
    builder.pop();
    builder.comment("Settings for the Scraping feature and enchant").push("scraping");
    enableScraping = builder.define("Enable", false);
    scrapingIsTreasure = builder.define("IsTreasureEnchantment", false);
    enableToolScraping = builder.define("EnableToolScraping", true);
    enableArmorScraping = builder.define("EnableArmorScraping", true);
    builder.pop();
    builder.comment("Settings for the drying rack block").push("drying_rack");
    enableMeatRotting = builder.define("EnableMeatRotting", true);
    enableRottenDrying = builder.define("EnableRottenDrying", true);
    enableJerky = builder.define("EnableJerky", true);
    enableMeatDrying = builder.define("EnableMeatDrying", true);
    enableLeatherTanning = builder.define("EnableLeatherTanning", true);
    enableSaddleCrafting = builder.define("EnableSaddleCrafting", true);
    builder.pop();
    builder.comment("Settings for the torch setting fire to entities").push("torch_fire");
    enableTorchFire = builder.define("Enable", true);
    builder.pop();

    builder.comment("Settings for the dough/bread replacements").push("bread");
    enableBread = builder.define("Enable", true);
    removeVanillaBread = builder.define("RemoveVanillaBread", true);
    builder.pop();

    builder.comment("Settings for the chopping block").push("chopping");
    disablePlanksRecipes = builder.define("DisablePlanksRecipes", true);
    choppingDegradeChance = builder
            .comment("The average number of uses before degrading to the next phase will be 1/DegradeChance. Default is 16.67 average uses.")
            .defineInRange("DegradeChance", 0.06, 0, Double.MAX_VALUE);
    choppingExhaustion = builder.defineInRange("Exhaustion", 0.0025, 0, Double.MAX_VALUE);
    choppingWithEmptyHand = builder.defineInRange("EmptyHandFactor", 0.4, 0, Double.MAX_VALUE);
    builder.pop();

    builder.comment("Settings for the fibre collection").push("fibres");
    dropStringFromSheep = builder.define("DropStringFromSheep", true);
    enableStringCrafting = builder.define("EnableStringCrafting", true);
    builder.pop();

    builder.comment("Settings for slime merging").push("slimes");
    mergeSlimes = builder
            .comment("If enabled, slimes will have new AI rules to feel attracted to other slimes, and if 4 slimes of the same size are nearby they will merge into a slime of higher size.")
            .define("Merge", true);
    builder.pop();


    axeLevels = builder
            .comment("If enabled, slimes will have new AI rules to feel attracted to other slimes, and if 4 slimes of the same size are nearby they will merge into a slime of higher size.")
            .define(Arrays.asList("axe_levels"), () -> Config.of(InMemoryFormat.defaultInstance()), x -> true, Config.class);

/*
configuration.addCustomCategoryComment("AxeMultipliers",
        "Allows customizing the multiplier for each axe level. By default this is 'baseOutput * (1+axeLevel)'.\n" +
                "To customize an axeLevel, add a line like 'D:AxeLevel1=2.0' or 'D:AxeLevel5=3.0' without the quotes.\n" +
                "Levels that are not defined will continue using their default value."
);
axeMultipliers = configuration.getCategory("AxeMultipliers");

 */
}
 
Example #3
Source File: ObjectBinder.java    From night-config with GNU Lesser General Public License v3.0 2 votes vote down vote up
/**
 * Creates a new config bound to the static fields of a class.
 *
 * @param clazz the class to bind
 * @return a config bound to the static fields of the class
 */
public Config bind(Class<?> clazz) {
	return bind(clazz, InMemoryFormat.defaultInstance());
}
 
Example #4
Source File: ObjectBinder.java    From night-config with GNU Lesser General Public License v3.0 2 votes vote down vote up
/**
 * Creates a new config bound to the fields of a object.
 *
 * @param object the class to bind
 * @return a config bound to the fields of the object
 */
public Config bind(Object object) {
	return bind(object, InMemoryFormat.defaultInstance());
}