Скачать MonkeyConfig538 — Minecraft Моды — MetaMods

MonkeyConfig538

Не опубликован

Установок

0

Последнее обновление

2 года назад

Версии

19w34a — 23w35a
Клиент
Fabric
Quilt
Forge
Neoforge
Библиотеки

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 в конфигурационном классе.

Участники проекта
OffsetMonkey538

OffsetMonkey538

Разработчик

Создан: 19 июл 2023

ID: 4435