Скачать E-Utils — Minecraft Моды — MetaMods

E-Utils

Активный

Установок

0

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

2 месяца назад

Версии

1.0 — 1.21.8
Сервер
Fabric
Библиотеки
Утилиты

E-Utils: Вспомогательная библиотека для разработки модов

Утилита для разработчиков модов на Fabric, которая предоставляет готовые решения для типичных задач:

  • Управление файлами конфигурации с возможностью перезагрузки без перезапуска
  • Система команд с обработкой разрешений
  • Фреймворк для создания инвентарных интерфейсов
  • Дополнительные полезные функции и расширения

Основные возможности

Конфигурационные файлы

Настройки поддерживают JSONC формат с комментариями, автоматическое обновление версий, отслеживание изменений в реальном времени и удобную работу с типами данных через Kotlin классы.

Пример настроек:

data class MyConfig(
  override val version: String = "1.0.0",
  override val configId: String = "mymod"
  // Добавьте свои параметры здесь
) : ConfigData

Инициализация менеджера:

val configManager = ConfigManager(
    currentVersion = "1.0.0",
    defaultConfig = MyConfig(),
    configClass = MyConfig::class
)

Система команд

Гибкий конструктор команд с базовой обработкой прав доступа, поддержкой подкоманд и псевдонимов.

commandManager.command("mycommand", permission = "mymod.command") {
    executes { context ->
        // Логика команды
        1
    }

    subcommand("subcommand") {
        executes { context ->
            // Логика подкоманды
            1
        }
    }
}

UI компоненты

Простое создание пользовательских инвентарных интерфейсов с кнопками, активными слотами и динамическим обновлением содержимого.

CustomGui.openGui(
  player = player,
  title = "Мой интерфейс",
  layout = listOf(/ Элементы интерфейса /),
  onInteract = { context ->
      // Обработка взаимодействий
  }
)

Технические требования

Для работы требуются:

  • Kotlin
  • Fabric API
  • Fabric Language Kotlin

Примеры использования

Настройки конфигурации:

data class MyConfig(
    override val version: String = "1.0.0",
    override val configId: String = "mymod",
    var debugMode: Boolean = false
) : ConfigData

val configManager = ConfigManager(
    currentVersion = "1.0.0",
    defaultConfig = MyConfig(),
    configClass = MyConfig::class,
    metadata = ConfigMetadata(
        headerComments = listOf("Настройки моего мода")
    )
)

Регистрация команд:

val commandManager = CommandManager("mymod")

commandManager.command("hello", permission = "mymod.hello") {
    executes { context ->
        val source = context.source
        CommandManager.sendSuccess(source, "Привет, Мир!")
        1
    }
}

Создание интерфейса:

CustomGui.openGui(
    player = player,
    title = "Мой GUI",
    layout = listOf(
        CustomGui.createNormalButton(
            ItemStack(Items.DIAMOND),
            "Нажми меня!",
            listOf("Описание кнопки")
        )
    ),
    onInteract = { context ->
        // Обработка кликов по кнопкам
    }
)
Участники проекта
Hysocs

Hysocs

Разработчик

Создан: 8 фев 2025

ID: 83302