Lexiconfig
Это API конфигураций, которое стремится обеспечить множество интеграций с другими библиотеками и быть максимально простым в использовании как для разработчиков, так и для пользователей.
- Загрузчики
- FabricNeoForgeForge
- Скачиваний на Modrinth
- 2 млн
- Подписчиков на Modrinth
- 20
- версий
- 26
- Обновлён
- 7 июня 20267 июн.
- Опубликован
- в 2024
Коротко о моде
Нужен и в игре, и на сервере
Обзор
Это config API, созданный для обеспечения совместимости между различными другими библиотеками конфигов, а также для удобного использования в мультилоадерных проектах, в основном для моих модов.
Он предлагает простой в использовании синтаксис на основе аннотаций, чтобы создание новых файлов конфигурации было максимально простым.
Если вы пользователь модов, эта информация, скорее всего, будет для вас бесполезна. Если же вы разработчик модов и хотите использовать Lexiconfig в своих проектах, прокрутите дальше до раздела Разработка.
На данный момент он не поддерживает другие библиотеки конфигов, но по мере обновлений я буду добавлять совместимость с каждой из них, чтобы он не конфликтовал с другими, а вместо этого мог бесшовно интегрироваться между ними.
Вот список текущих и запланированных интеграций с различными библиотеками/API конфигов:
❌ - Не интегрировано ✅ - Интегрировано ❓ - В процессе
| Статус | Мод |
|---|---|
| ❌ | Cloth Config |
| ❌ | oωo config |
| ✅ | Configured |
| ❌ | 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"
}Вы можете перейти на https://versions.codinglitch.com, чтобы посмотреть последнюю версию api.
Использование
Чтобы зарегистрировать свои лексиконы, сначала нужно создать свою Library. Это делается простым созданием нового класса, расширяющего класс Library, и добавлением к нему аннотации LexiconLibrary.
@LexiconLibrary
public class MyNewLibrary extends Library {
@Override
public void shelveLexicons() {
}
}В среде Forge больше никаких изменений вносить не нужно. Однако, если вы разрабатываете для Fabric, вам придётся добавить этот класс как entrypoint в вашем fabric.mod.json.
fabric.mod.json
//...
"entrypoints": {
"lexiconfig": [
"com.path.to.MyNewLibrary"
]
}
//...Следующий шаг — наконец создать и зарегистрировать ваши лексиконы. Это делается простым созданием ещё одного класса для лексикона и добавлением к нему нужных аннотаций, как показано ниже:
@Lexicon(name = MY_LEXICON_TITLE) // желательно использовать в качестве имени id вашего мода
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);
}
}Частые вопросы
Как установить Lexiconfig?
Установите Fabric под свою версию Minecraft, скачайте Lexiconfig под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Lexiconfig?
У Lexiconfig есть сборки для Minecraft 1.18–1.21.11.
Нужен ли Lexiconfig на сервере?
Нужен и в игре, и на сервере