▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Lexiconfig
Lexiconfig

Lexiconfig

Lexiconfig - это простая в использовании конфиг-библиотека для Minecraft, которая упрощает создание и управление файлами настроек для модов. Подходит для разработчиков, работающих с Fabric, Forge и NeoForge.

Оцените первым
1.2M
16

Lexiconfig - это конфиг API для Майнкрафт, который создан чтобы упростить жизнь и разработчикам модов, и обычным игрокам. По сути, это библиотека, которая берёт на себя всю рутину по созданию, чтению и отображению файлов настроек. Вместо того чтобы писать кучу однотипного кода для каждого загрузчика (Fabric, Forge, NeoForge), ты просто используешь аннотации - и всё работает само.

Зачем это нужно

Любой более-менее серьёзный мод рано или поздно обрастает настройками. Без нормальной конфиг-системы это превращается в ад: нужно вручную парсить JSON или TOML, обрабатывать ошибки, делать GUI. Lexiconfig решает эту проблему - ты просто описываешь поля с настройками, а библиотека сама создаёт файл, подгружает значения и показывает их в удобном интерфейсе.

Как это работает

Всё строится на аннотациях. Ты создаёшь класс, помечаешь его @Lexicon, а поля - @LexiconEntry. Можно даже группировать настройки по страницам с помощью @LexiconPage. Выглядит это примерно так:

@Lexicon(name = "my_mod_config")
public class MyConfig extends LexiconData {
  @LexiconEntry(comment = "Включить звуки")
  public boolean enableSounds = true;

  @LexiconPage(comment = "Настройки графики")
  public GraphicsPage graphics = new GraphicsPage();

  public static class GraphicsPage extends LexiconPageData {
    @LexiconEntry(comment = "Дальность прорисовки")
    public int renderDistance = 12;
  }
}

Дальше остаётся только "зашельфить" (shelve) этот конфиг в библиотеке:

@LexiconLibrary
public class MyLibrary extends Library {
  public static MyConfig CONFIG = new MyConfig();

  @Override
  public void shelveLexicons() {
    LexiconfigApi.shelveLexicon(CONFIG);
  }
}

Совместимость с загрузчиками

Для Forge ничего дополнительно делать не нужно - библиотека подхватится автоматически. А вот для Fabric придётся добавить entrypoint в fabric.mod.json:

"entrypoints": {
  "lexiconfig": [
    "com.path.to.MyLibrary"
  ]
}

Интеграции с другими конфиг-библиотеками

Сейчас из коробки работает интеграция с Configured. Поддержка Cloth Config, oωo и Forge Config Screens пока в планах - автор постепенно добавляет совместимость, чтобы библиотеки не конфликтовали между собой.

Для кого это

Если ты просто игрок - тебе эти технические детали ни к чему. Но если ты разрабатываешь моды и хочешь сэкономить время на настройках - Lexiconfig реально упрощает жизнь. Особенно если проект мультизагрузочный (под Fabric и Forge одновременно).

Как подключить

Добавь репозиторий и зависимость в build.gradle:

repositories {
  maven { url 'https://maven.codinglitch.com/repository/releases' }
}

dependencies {
  implementation "com.codinglitch.lexiconfig:lexiconfig-api:АКТУАЛЬНАЯ_ВЕРСИЯ"
}

Актуальную версию API можно посмотреть на сайте версий.

Итог

Lexiconfig - это не какой-то громоздкий фреймворк, а лёгкая и удобная обёртка для конфигов. Если надоело каждый раз изобретать велосипед с настройками - попробуй эту библиотеку. Она не перегружена лишними функциями, но делает именно то, что нужно: быстро и без головной боли.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.20.x1.19.x1.18.x

Платформы

Поддерживаемые окружения

Клиент и сервер

Зависимости

Ссылки


Создатели

Детали

Лицензия:
Опубликован:2 года назад
Обновлён:1 год назад
Главная