promotional bannermobile promotional banner

Player Kits

A powerful, feature-rich kit management plugin for Hytale servers that allows administrators to create, manage, and distribute predefined item sets to players with extensive customization options.
work in progress

work in progress

Description

PlayerKitsPlugin for Hytale

A powerful, feature-rich kit management plugin for Hytale servers that allows administrators to create, manage, and distribute predefined item sets to players with extensive customization options.

Features

Core Functionality

  • Create Kits: Save player inventories as reusable kits with a single command
  • Multi-Inventory Support: Kits include storage, armor, hotbar, utility slots, and backpack items
  • Permission-Based Access: Assign specific permissions to each kit
  • Cooldown System: Configure custom cooldowns per kit (from seconds to hours)
  • Easy Distribution: Give kits to yourself or other players with intuitive commands

Administrative Tools

  • Batch Operations: Save, reload, or delete multiple kits at once
  • Cooldown Management: View and reset player cooldowns through commands
  • Kit Information: Detailed view of kit contents and metadata
  • File-Based Storage: Each kit saved as individual JSON file for easy backup

Player Experience

  • Kit Browser: List all available kits with pagination support
  • Cooldown Display: Real-time cooldown tracking with formatted time remaining
  • Permission Feedback: Clear messages when players lack required permissions
  • Inventory Safety: Non-destructive kit application that respects existing items

Commands

Player Commands

Command Permission Description
/kit list <page> razorplay.playerkitsplugin.command.kit.list List all available kits with pagination
/kit get <kitId> razorplay.playerkitsplugin.command.kit.get Claim a kit you have permission for

Admin Commands

Command Permission Description
/kit create <kitId> <displayName> [description] razorplay.playerkitsplugin.command.kit.create Create a kit from your current inventory
/kit delete <kitId> --confirm razorplay.playerkitsplugin.command.kit.delete Permanently delete a kit
/kit give <player> <kitId> razorplay.playerkitsplugin.command.kit.give Give a kit to another player
/kit reload razorplay.playerkitsplugin.command.kit.reload Reload all kits from disk

Cooldown Management

Command Permission Description
/kit cooldown clear razorplay.playerkitsplugin.command.kit.cooldown.clear Clear all cooldowns for all players
/kit cooldown check <player> <kitId> razorplay.playerkitsplugin.command.kit.cooldown.check Check a player's cooldown for a kit
/kit cooldown reset <player> razorplay.playerkitsplugin.command.kit.cooldown.reset Reset all cooldowns for a specific player

๐Ÿ”ง Configuration

File Structure

mods/RazorPlay_PlayerKitsPlugin/
โ”œโ”€โ”€ kits/                 # Individual kit JSON files
โ”‚   โ”œโ”€โ”€ starter.json
โ”‚   โ”œโ”€โ”€ warrior.json
โ”‚   โ””โ”€โ”€ ...
โ”œโ”€โ”€ cooldowns.json        # Player cooldown data

Kit Properties

Each kit can be configured with:

  • ID: Unique identifier (no spaces/slashes)
  • Name: Display name shown to players
  • Description: Optional description
  • Permission: Required permission node (leave empty for public)
  • Cooldown: Time between uses in seconds (0 for no cooldown)
  • Items: Full inventory including armor and backpack

Permission Nodes

razorplay.playerkitsplugin.command.kit.*          # All kit commands
razorplay.playerkitsplugin.command.kit.create     # Create kits
razorplay.playerkitsplugin.command.kit.delete     # Delete kits
razorplay.playerkitsplugin.command.kit.give       # Give kits to others
razorplay.playerkitsplugin.command.kit.reload     # Reload kits
razorplay.playerkitsplugin.command.kit.cooldown.* # All cooldown commands

Custom Kit Permissions

Create custom permissions for specific kits: kit.mykit.use # Example: Custom permission for "mykit"

๐Ÿ”Œ API Integration

PlayerKitsPlugin provides a comprehensive API for developers

Get the KitAPI instance 
KitAPI kitAPI = PlayerKitsPlugin.getKitAPI();

Create kits programmatically 
Kit kit = kitAPI.createKit("id", "name", player, "description");

Give kits to players 
boolean success = kitAPI.giveKit(player, playerRef, "kitId");

Event system for custom behavior 
kitAPI.registerListener(new KitEventListener() {
    @Override
    public void onKitClaimed(KitClaimEvent event) {
        // Custom logic when kit is claimed
    }
});

Async permission checking 
CompletableFuture<List<Kit>> availableKits = kitAPI.getAvailableKitsAsync(
    playerId, 
    (uuid, permission) -> checkPermissionAsync(uuid, permission)
);

๐ŸŽฎ Usage Examples

1. Creating a Starter Kit

/kit create starter Starter "Basic tools and armor for new players"

2. Setting Up a Daily Reward

  1. Create the kit with 24-hour cooldown: /kit create daily Daily

  2. Edit the JSON file to set "Cooldown": 86400 (24 hours in seconds)

  3. Set permission: "Permission": "kit.daily.use"

3. Importing Community Kits

/kit import /path/to/community_kit.json

๐Ÿ“‹ Installation

  1. Download the latest PlayerKitsPlugin.jar
  2. Place it in your Hytale server's mods/ directory
  3. Start or reload your server
  4. The plugin will create necessary directories and files automatically

๐Ÿ” Technical Details

Storage System

  • Kits: Individual JSON files in mods/PlayerKitsPlugin/kits/
  • Cooldowns: Centralized JSON file with player-based tracking
  • Serialization: Uses Hytale's Codec system for reliable item serialization

Performance Features

  • Caching: Player-specific kit availability caching (30-second TTL)
  • Async Operations: Non-blocking file I/O and permission checking
  • Efficient Loading: Lazy loading of kit files on demand

Safety Features

  • Input Validation: Sanitized kit IDs to prevent file system issues
  • Error Handling: Comprehensive exception handling with detailed logging
  • Data Integrity: Automatic backup through individual kit files

๐Ÿ› Troubleshooting

Common Issues

  1. "Kit not found": Ensure kit ID is correct and case-sensitive
  2. Permission denied: Check permission nodes and LuckPerms/group setup
  3. Inventory not saving: Verify player has items in inventory when creating kit
  4. File errors: Check file permissions in mods/RazorPlay_PlayerKitsPlugin/ directory

Logs

Check server logs for detailed error information:

  • [PlayerKitsPlugin] prefixed messages show plugin activity
  • Warnings indicate non-critical issues
  • Errors require immediate attention

๐Ÿค Contributing

Found a bug or have a feature request? Please open an issue on our GitHub repository!

๐Ÿ“„ License

This plugin is provided under the MIT License. See LICENSE file for details.


๐Ÿ™ Credits

Developer: Razorplay Testing: Your contributions welcome!

The Player Kits Team

profile avatar
  • 4
    Followers
  • 10
    Projects
  • 482.9K
    Downloads

More from RazorPlay01

  • Region Manager project image

    Region Manager

    • 666
    • Mods

    System for managing and creating regions in Hytale

    • 666
    • February 5, 2026
    • Mods
    • +1
  • Region Manager Mixin project image

    Region Manager Mixin

    • 35
    • Mods

    Project with mixins to achieve the blocking of certain things that are currently not possible with the game's base API

    • 35
    • February 4, 2026
    • Mods
  • Plot Manager project image

    Plot Manager

    • 122
    • Mods

    Mod to facilitate the creation and management of plots

    • 122
    • January 25, 2026
    • Mods
  • Region Manager project image

    Region Manager

    • 666
    • Mods

    System for managing and creating regions in Hytale

    • 666
    • February 5, 2026
    • Mods
    • +1
  • Region Manager Mixin project image

    Region Manager Mixin

    • 35
    • Mods

    Project with mixins to achieve the blocking of certain things that are currently not possible with the game's base API

    • 35
    • February 4, 2026
    • Mods
  • Plot Manager project image

    Plot Manager

    • 122
    • Mods

    Mod to facilitate the creation and management of plots

    • 122
    • January 25, 2026
    • Mods