
MonkeyConfig538
Не опубликован0.0
Установок
Последнее обновление
Версии
MonkeyConfig538
MonkeyConfig538 — это специализированная библиотека для работы с конфигурационными файлами в модах для Minecraft. Разработанная автором OffsetMonkey538, она предлагает простой и понятный подход к созданию и управлению настройками.
Основные возможности
Библиотека построена на основе Jankson, что позволяет добавлять комментарии прямо в конфигурационные файлы. Процесс создания конфигурации интуитивно понятен и не требует глубоких знаний программирования.
Использование для игроков
Обычным игрокам не требуется предпринимать дополнительных действий — моды должны автоматически включать эту библиотеку. Если же какой-то мод её не содержит, можно скачать библиотеку отдельно.
Примеры использования
Для ознакомления с практическим применением библиотеки доступны тестовые моды и документация с примерами кода.
Интеграция в проекты
Разработчикам для подключения библиотеки необходимо добавить JitPack в список репозиториев в файле build.gradle:
repositories {
// Другие репозитории
maven {
name = "JitPack"
url = "https://jitpack.io"
content {
includeGroup "top.offsetmonkey538"
}
}
// Другие репозитории
}
Затем добавить зависимость:
dependencies {
include(modImplementation("top.offsetmonkey538:monkeyconfig538:[ВЕРСИЯ_БИБЛИОТЕКИ]"))
}
Создание конфигурации
Создание конфигурационного класса осуществляется простым наследованием от базового класса Config:
package my.mod.config;
import top.offsetmonkey538.monkeyconfig538.Config;
public class MyModConfig extends Config {
// Значение по умолчанию используется при отсутствии записи в файле
public int itemUsageTimeInTicks = 120;
}
Инициализация и доступ
Конфигурация инициализируется в основном классе мода:
@Override
public void onInitialize() {
ConfigManager.init(new MyModConfig(), "my-mod");
}
Доступ к значениям осуществляется через статический метод:
public static MyModConfig config() {
return (MyModConfig) ConfigManager.get("my-mod");
}
// Использование
System.out.println("Item usage time: " + config().itemUsageTimeInTicks);
Комментарии и организация
Библиотека поддерживает добавление комментариев через аннотации:
@Comment("Максимальное время использования предмета в тиках")
public int itemUsageTimeInTicks = 120;
Для организации сложных конфигураций доступна система вложенных классов:
public class MyModConfig extends Config {
@Comment("Настройки основного предмета")
public MainItemConfig mainItem = new MainItemConfig();
public static class MainItemConfig {
@Comment("Время использования в тиках")
public int usageTime = 120;
}
}
Сериализация данных
Библиотека включает готовые сериализаторы для стандартных объектов Minecraft:
- Item, Block, Potion, Enchantment — сериализуются в идентификаторы
- ItemStack — сохраняется с идентификатором, количеством и NBT
- BlockPos, Vec3d — преобразуются в массивы чисел
Также поддерживается создание пользовательских сериализаторов для сложных структур данных.
Кастомизация
Разработчики могут расширять функциональность библиотеки, добавляя собственные сериализаторы через переопределение метода configureJankson в конфигурационном классе.