Скачать TXCore — Minecraft Моды — MetaMods

TXCore

Активный

Установок

0

Последнее обновление

8 лет назад
Клиент
Библиотеки

TXCore

TXCore представляет собой библиотеку, которая добавляет поддержку конфигурационных файлов формата INI для модов Minecraft. В будущем планируется расширение функциональности.

Для пользователей

Просто поместите файл мода в папку mods вашей игры.

Для разработчиков

Подключение репозитория

repositories {
    maven {
        url "https://raw.githubusercontent.com/Txuritan/maven-repository/master/"
    }
}

Добавление зависимости

dependencies {
    compile 'com.github.txuritan:txcore:<ВЕРСИЯ>'
}

Порядок загрузки

@Mod(
        dependencies = "required-after:txcore"
)
public class Core {

}

Пример конфигурации

package com.github.txuritan.txcore;

import com.github.txuritan.txcore.api.config.Configuration;
import com.github.txuritan.txcore.api.config.IIniConfig;
import com.github.txuritan.txcore.ini4j.Ini;
import org.apache.logging.log4j.Logger;

public class Config implements IIniConfig {
    private Configuration configuration;

    public Config(Configuration configuration) {
        this.configuration = configuration;
    }

    private String section = "txcore";
    private String sectionTest = section + ".test";

    public Boolean debug;

    public Boolean testBoolean;
    public Double testDouble;
    public Float testFloat;
    public Integer testInteger;
    public Long testLong;
    public String testString;

    @Override
    public void config(Ini ini) {

        debug = configuration.getSetKeyBoolean(ini, section, "debug", false);

        if(debug) {
            getLogger().info("Выполняется проверка CoreIni");

            testBoolean = configuration.getSetKeyBoolean(ini, sectionTest, "testBoolean", false);
            getLogger().info("Значение по умолчанию: false, получено: " + configuration.getKeyBoolean(ini, sectionTest, "testBoolean"));

            testDouble = configuration.getSetKeyDouble(ini, sectionTest, "testDouble", 1.0);
            getLogger().info("Значение по умолчанию: 1.0, получено: " + configuration.getKeyDouble(ini, sectionTest, "testDouble"));

            testFloat = configuration.getSetKeyFloat(ini, sectionTest, "testFloat", 1.0f);
            getLogger().info("Значение по умолчанию: 1.0f, получено: " + configuration.getKeyFloat(ini, sectionTest, "testFloat"));

            testInteger = configuration.getSetKeyInteger(ini, sectionTest, "testInteger", 1);
            getLogger().info("Значение по умолчанию: 1, получено: " + configuration.getKeyInteger(ini, sectionTest, "testInteger"));

            testLong = configuration.getSetKeyLong(ini, sectionTest, "testLong", 1L);
            getLogger().info("Значение по умолчанию: 1L, получено: " + configuration.getKeyLong(ini, sectionTest, "testLong"));

            testString = configuration.getSetKeyString(ini, sectionTest, "testString", "ура, работает");
            getLogger().info("Значение по умолчанию: \"ура, работает\", получено: " + configuration.getKeyString(ini, sectionTest, "testString"));
        }
    }

    @Override
    public Logger getLogger() {
        return References.LOGGER;
    }

    @Override
    public String configPath() {
        return configuration.getSuggestedConfig();
    }

    @Override
    public String modId() {
        return References.MOD_ID;
    }
}

Регистрация конфигурации

package com.github.txuritan.txcore.proxy;

import com.github.txuritan.txcore.Config;
import com.github.txuritan.txcore.api.config.Configuration;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

public class CommonProxy {
    public void preInit(FMLPreInitializationEvent event) {
        Configuration.INSTANCE.registerConfig(new Config(Configuration.INSTANCE));
    }

    public void init(FMLInitializationEvent event) {

    }

    public void postInit(FMLPostInitializationEvent event) {

    }
}

Пример вывода

[txcore.test]
testBoolean = false
testDouble = 1.0
testFloat = 1.0
testInteger = 1
testLong = 1
testString = ура, работает

[txcore]
debug = false

Дополнительная информация

Сборки модов

Поддерживается использование в сборках модов.

Рефакторинг

Возможен рефакторинг кода.

Лицензия

Распространяется по лицензии MIT, что позволяет свободное использование, модификацию и распространение программного обеспечения.

Участники проекта
Txuritan

Txuritan

Создан: 28 мар 2017

ID: 37107