Description
Advanced kit management mod designed to power Hytale servers with intuitive GUIS
Features
- Create unlimited custom kits from your current inventory
- Edit and delete kits with simple commands
- Enable/disable kits without deleting them
- Per-world kit support
- Custom sorting
- Each kit stores complete inventory layout and items (including hotbar, storage, armor, backpack and utility!)
- Intuitive custom UIs for kit selection, edition and creation
- Granular permission control per kit
- Configurable cooldown between kit selections
- Translations
Quick start
Creating a Kit:
/minikit create
Opens MiniKit's Kit Creation GUI.
Select a kit
/minikit (or /kit, /kits)
Opens MiniKit's Kit Selection GUI.
Editing a Kit:
/minikit edit <kitId>
Opens MiniKit's Kit Editor GUI.
Commands & Permissions
| Command | Permission Node | Description |
|---|---|---|
/minikit (or /kit, /kits, /minikits) |
minikit.use |
Allows opening the MiniKit GUI menu to view and select kits |
| GUI - Select Kit (Any) | minikit.select-kit.* |
Allows selecting any kit from the GUI menu |
| GUI - Select Kit (Specific) | minikit.select-kit.<kitId> |
Allows selecting a specific kit by ID (e.g., minikit.select-kit.1) |
| Cooldown Bypass | minikit.admin.bypass-cooldown |
Bypasses the kit selection cooldown timer |
| Full Admin Mode | minikit.admin.* |
Enables all admin commads |
/minikit create [name] [sortWeight] |
minikit.admin.create-kit |
Allows creating a new kit from current inventory |
/minikit edit <kitId> |
minikit.admin.edit-kit |
Allows editing an existing kit through the edit GUI |
/minikit update <kitId> |
minikit.admin.update-kit |
Allows updating an existing kit's inventory with current inventory |
/minikit delete <kitId> |
minikit.admin.delete-kit |
Allows deleting an existing kit by its ID |
/minikit toggle <kitId> |
minikit.admin.toggle-kit |
Allows enabling or disabling a kit by its ID |
/minikit list |
minikit.admin.list-kits |
Allows listing all available kits with their IDs and status |
Granting Basic Access
Give players access to use kits:
/perm group add Adventure minikit.use
/perm group add Adventure minikit.select-kit.*
Granting Kit-Specific Access
Allow a player to only use specific kits (e.g., kit IDs 1 and 3).
NOTE: This requires omitting the wildcard (.*) permission above.
/perm group add Adventure minikit.use
/perm group add Adventure minikit.select-kit.1
/perm group add Adventure minikit.select-kit.3
Granting Admin Access
Give full administrative control:
/perm group add Adventure minikit.use
/perm group add Adventure minikit.select-kit.*
/perm group add Adventure minikit.admin.*
Configuration Options
MiniKit automatically creates a configuration file on first run. You can find it in your server's mods/com.jecsham_MiniKit/Config.json file.
| Setting | Default | Description |
|---|---|---|
SelectKitCooldownSecs |
5 |
Number of seconds players must wait between selecting kits |
HideKitIfNoPermission |
false |
If true, kits will be hidden from players who don't have permission to use them. If false, kits are shown but cannot be selected. |
CheckInventoryConflicts |
false |
If true, checks if the player's inventory slots are available before applying a kit. This option is ignored if ClearInventory is set to true. |
ClearInventory |
false |
If true, clears the player's inventory before applying a kit. If false, kit items are added to existing inventory. |
For Developers
MiniKit provides a comprehensive API for developers who want to integrate kit functionality into their own plugins.
Getting Started
Add MiniKit as a Dependency
In your manifest.json
// ...
{
"Dependencies": {
"com.jecsham:MiniKit": "*"
}
// or
"OptionalDependencies": {
"com.jecsham:MiniKit": "*"
}
}
// ...
Gradle:
dependencies {
compileOnly files('libs/MiniKit-<version>.jar')
}
API Usage
Accessing the API
// in your Main class:
private MiniKitAPI miniKitAPI = null;
// inside your setup() method:
try {
miniKitAPI = MiniKit.getAPI();
if (miniKitAPI != null) {
// MiniKit integration enabled
LOGGER.atInfo().log("Total kits from MiniKit: " + miniKitAPI.getKitCount());
}
} catch (NoClassDefFoundError | Exception e) {
// MiniKit not available, continuing without it
// or exit the program if your plugins depends on MiniKit
}
API Methods
| Method | Returns | Description |
|---|---|---|
getKitById(int id) |
Optional<Kit> |
Retrieves a kit by its unique ID |
getKit(String name) |
Optional<Kit> |
Retrieves a kit by its name |
hasKit(int id) |
boolean |
Checks if a kit exists with the specified ID |
hasKit(String name) |
boolean |
Checks if a kit exists with the specified name |
getAllKits() |
Map<Integer, Kit> |
Returns all kits mapped by their IDs |
getKitCount() |
int |
Returns the total number of kits |
Please comment bugs or suggestions!


