
Lexiconfig
Активный0.0
Установок
Последнее обновление
Версии
Lexiconfig
Lexiconfig представляет собой API для работы с конфигурационными файлами, разработанное для обеспечения совместимости с различными библиотеками конфигураций. Основная цель проекта — упростить создание многоплатформенных модов с удобной системой настроек.
Основные возможности
Система использует простой аннотационный синтаксис, который значительно облегчает процесс создания новых конфигурационных файлов. Если вы обычный пользователь модов, эта информация может быть не слишком полезна. Однако для разработчиков, желающих интегрировать Lexiconfig в свои проекты, ниже представлена подробная инструкция по использованию.
Совместимость
На данный момент реализована поддержка не всех библиотек конфигураций, но разработка продолжается, и в будущем планируется добавить больше совместимостей для бесшовной интеграции между различными системами.
Текущий статус интеграции с популярными библиотеками:
- ✅ Configured — интегрировано
- ❌ Cloth Config — не интегрировано
- ❌ oωo config — не интегрировано
- ❌ Forge Config Screens — не интегрировано
Для разработчиков
Мод предоставляет API для создания собственных лексиконов, прослушивания событий и других операций.
Подключение
Добавьте в файл build.gradle:
repositories {
maven { url 'https://maven.codinglitch.com/repository/releases' }
}
dependencies {
implementation "com.codinglitch.lexiconfig:lexiconfig-api:API_VERSION_HERE"
}
Актуальные версии API можно посмотреть на соответствующем сайте.
Использование
Для создания собственных лексиконов сначала необходимо создать библиотеку. Создайте новый класс, расширяющий класс Library, и добавьте аннотацию @LexiconLibrary:
@LexiconLibrary
public class MyNewLibrary extends Library {
@Override
public void shelveLexicons() {
}
}
В среде Forge дополнительные изменения не требуются. Для Fabric необходимо добавить этот класс как точку входа в fabric.mod.json:
//...
"entrypoints": {
"lexiconfig": [
"com.path.to.MyNewLibrary"
]
}
//...
Далее создайте класс для лексикона с соответствующими аннотациями:
@Lexicon(name = MY_LEXICON_TITLE) // рекомендуется использовать идентификатор мода в качестве имени
public class MyLexicon extends LexiconData {
@LexiconEntry(comment = "Это комментарий для простого поля!")
public String mySimpleField = "content";
@LexiconPage(comment = "Это новый комментарий для новой категории!")
public MyNewPage myNewPage = new MyNewPage();
public static class MyNewPage extends LexiconPageData {
@LexiconEntry(comment = "Это поле находится внутри страницы лексикона!")
public Boolean myPageField = true;
}
}
Последний шаг — добавление лексикона в библиотеку и его регистрация:
@LexiconLibrary
public class MyNewLibrary extends Library {
public static MyLexicon MY_LEXICON = new MyLexicon();
@Override
public void shelveLexicons() {
LexiconfigApi.shelveLexicon(MY_LEXICON);
}
}