E-Utils avatar

E-Utils [1.21.1]

EverlastingUtils

Примечание: Если вы видите это как зависимость или требование для другого мода, вы можете просто установить его и игнорировать эту документацию.

EverlastingUtils — это библиотека утилит для разработки модов на Fabric. Она предоставляет реализации общих функций, которые разработчикам модов часто требуется реализовывать:

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

Для разработчиков модов, желающих использовать эту библиотеку, продолжайте чтение ниже.

Возможности

Управление конфигурацией

  • Конфигурация JSONC с поддержкой комментариев
  • Автоматическая миграция и резервное копирование конфигурации
  • Отслеживание файлов и горячая перезагрузка
  • Типобезопасная обработка конфигурации с использованием data-классов Kotlin
data class MyConfig(
    override val version: String = "1.0.0",
    override val configId: String = "mymod"
    // Your config properties here
) : ConfigData

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

Расширенная система команд

  • Fluent API для построения команд
  • Встроенная обработка разрешений
  • Поддержка подкоманд
  • Поддержка алиасов
commandManager.command("mycommand", permission = "mymod.command") {
    executes { context ->
        // Command logic
        1
    }
    
    subcommand("subcommand") {
        executes { context ->
            // Subcommand logic
            1
        }
    }
}

Фреймворк GUI

  • Простое создание инвентарных GUI
  • Поддержка пользовательских кнопок
  • Обработка интерактивных слотов
  • Динамическое обновление содержимого
CustomGui.openGui(
    player = player,
    title = "My GUI",
    layout = listOf(/* GUI items */),
    onInteract = { context ->
        // Handle interactions
    }
)

Зависимости

  • Kotlin
  • Fabric API
  • Fabric Language Kotlin

Установка

Добавьте в ваш build.gradle.kts:

dependencies {
    modImplementation "curse.maven:e-utils-1275646:6588136"
}

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

Управление конфигурацией

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

// Initialize manager
val configManager = ConfigManager(
    currentVersion = "1.0.0",
    defaultConfig = MyConfig(),
    configClass = MyConfig::class,
    metadata = ConfigMetadata(
        headerComments = listOf("My mod configuration")
    )
)

// Access config
val currentConfig = configManager.getCurrentConfig()

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

val commandManager = CommandManager("mymod")

commandManager.command("hello", permission = "mymod.hello") {
    executes { context ->
        val source = context.source
        CommandManager.sendSuccess(source, "Hello, World!")
        1
    }
}

Создание GUI

CustomGui.openGui(
    player = player,
    title = "My GUI",
    layout = listOf(
        CustomGui.createNormalButton(
            ItemStack(Items.DIAMOND),
            "Click Me!",
            listOf("Button Description")
        )
    ),
    onInteract = { context ->
        // Handle button clicks
    }
)

Скачать E-Utils

 
Тип Скачать Версия Загрузчик Обновлено Размер
ReleaseE-Utils 1.0.81.21.1Fabric29 мая 20251,1 МБ
Пожалуйста авторизуйтесь, чтобы оставить свой комментарий.