E-Utils logo

E-Utils

Mod

by Hysocs

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

Downloads

325,280

Type

Mod

CurseForge ID

1275646

Last Updated

Apr 9, 2026

Description

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.

Similar Mods

Included in Modpacks

External Resources