跳到正文

E-Utils

作者:Hysocs

EverlastingUtils is a robust utility library for Minecraft mod development and all of Hysocs mods.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

EverlastingUtils (Minecraft)

Note: If you’re seeing this as a dependency or requirement for another mod, you can simply install it and ignore this documentation.

 

EverlastingUtils is a utility library for Fabric mod development. It provides implementations for common features that mod developers frequently need to implement:

  • Configuration management with runtime reloading
  • Command registration with permission handling
  • Inventory GUI framework
  • Utility functions and extensions

For mod developers looking to use this library, continue reading below.

Features

Config Management

  • JSONC configuration with comments support
  • Automatic config migration and backup
  • File watching and hot reloading
  • Type-safe config handling with Kotlin data classes
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
)

 

Enhanced Command System

  • Fluent command builder API
  • Built-in permission handling
  • Subcommand support
  • Alias support
commandManager.command("mycommand", permission = "mymod.command") {
    executes { context ->
        // Command logic
        1
    }
    
    subcommand("subcommand") {
        executes { context ->
            // Subcommand logic
            1
        }
    }
}

 

GUI Framework

  • Simple inventory GUI creation
  • Custom button support
  • Interactive slot handling
  • Dynamic content updates
CustomGui.openGui(
    player = player,
    title = "My GUI",
    layout = listOf(/* GUI items */),
    onInteract = { context ->
        // Handle interactions
    }
)

 

Dependencies

  • Kotlin
  • Fabric API
  • Fabric Language Kotlin

 

Installation

Add to your build.gradle.kts:

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

 

Usage Examples

Config Management

// 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()

 

Command Registration

val commandManager = CommandManager("mymod")

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

 

GUI Creation

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

 

Contributing

Contributions are welcome! Feel free to submit issues and pull requests.

 

Source Code & Development

The complete source code for EverlastingUtils is available on GitHub: EverlastingUtils Repository

Adding to Your Project

Add this to your build.gradle.kts:

dependencies {
    modCompileOnly(files("libs/everlastingutils-1.0.0.jar"))
}

Make sure to place the EverlastingUtils JAR file in your project’s libs directory.

常见问题

E-Utils 支持哪些 Minecraft 版本?

E-Utils 支持 Minecraft Java 版 1.21.1,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

E-Utils 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

Hysocs 的其他作品

查看全部 →