
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, что позволяет свободное использование, модификацию и распространение программного обеспечения.