Player Kits

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.

36.0 загрузок
Обновлён 6 дней назад

Скриншоты

Описание

PlayerKitsPlugin для Hytale

Мощный, многофункциональный плагин управления наборами для серверов Hytale, который позволяет администраторам создавать, управлять и распространять предопределенные наборы элементов для игроков с широкими возможностями настройки.

Особенности

Основная функциональность

  • Создавать наборы: Сохранение запасов игроков в качестве многоразовых наборов с одной командой
  • Многокомпонентная поддержка: Наборы включают в себя хранение, броню, горячую панель, слоты для коммунальных услуг и предметы рюкзака
  • Доступ на основе разрешенийНазначение конкретных разрешений для каждого комплекта
  • Система охлажденияНастройка пользовательских охлаждений на комплект (от секунд до часов)
  • Легкое распределение: Дайте наборы себе или другим игрокам с интуитивными командами

Административные инструменты

  • Пакетные операции: Сохранить, перезагрузить или удалить несколько наборов одновременно
  • Управление охлаждениемПросмотр и сброс охлаждений игрока через команды
  • Информация о комплекте: Подробное представление содержимого набора и метаданных
  • Файловое хранилищеКаждый набор сохранен в виде отдельного файла JSON для легкого резервного копирования

Игровой опыт

  • Кит Браузер: Перечислите все доступные комплекты с поддержкой pagination
  • Дисплей CooldownОтслеживание в реальном времени с отформатированным временем
  • Отзывы о разрешении: Ясные сообщения, когда у игроков нет необходимых разрешений
  • Безопасность инвентаряНеразрушающий набор, который уважает существующие элементы

командование

Игровые команды

Командование Разрешение Описание
/kit list <page> razorplay.playerkitsplugin.command.kit.list Перечислите все доступные комплекты с пагинацией
/kit get <kitId> razorplay.playerkitsplugin.command.kit.get Заявите, что у вас есть разрешение на

Административные команды

Командование Разрешение Описание
/kit create <kitId> <displaystyle [описание] razorplay.playerkitsplugin.command.kit.create Создайте набор из вашего текущего инвентаря
/kit delete <kitId> --подтвердите razorplay.playerkitsplugin.command.kit.delete Удалить навсегда комплект
/kit give <player> <kitId> razorplay.playerkitsplugin.command.kit.give Дайте набор другому игроку
/kit скачать razorplay.playerkitsplugin.command.kit.reload Перезагрузить все комплекты с диска

Управление охлаждением

Командование Разрешение Описание
/kit cooldown скачать бесплатно razorplay.playerkitsplugin.command.kit.cooldown.clear Очистить все кулдауны для всех игроков
/kit cooldown check <player> <kitId> razorplay.playerkitsplugin.command.kit.cooldown.check Проверьте охлаждение игрока для набора
/kit cooldown reset <player> razorplay.playerkitsplugin.command.kit.cooldown.reset Сброс всех охлаждений для конкретного игрока

Конфигурация

Файловая структура

Mods/RazorPlay_PlayerKitsPlugin/
─ ─ наборы / # Индивидуальный набор JSON файлов
│ │ ─ стартер. Джонсон
│ │ │ ─ воин. Джонсон
??????????
Недостатки - охлаждение. Джейсон # Player cooldown

Свойства Kit

Каждый комплект можно настроить с помощью:

  • IDУникальный идентификатор (без пробелов/слэшей)
  • ИмяНазвание дисплея, показанное игрокам
  • Описание: Факультативное описание
  • РазрешениеТребуемый узел разрешения (оставьте пустой для общественности)
  • ОхлаждениеВремя между использованиями в секундах (0 без охлаждения)
  • Пункты: Полный инвентарь, включая броню и рюкзак

Узлы разрешений

razorplay.playerkitsplugin.command.kit.* Все команды Kit
razorplay.playerkitsplugin.command.kit.create #Создать наборы
razorplay.playerkitsplugin.command.kit.delete # Удалить наборы
razorplay.playerkitsplugin.command.kit.give # Дайте наборы другим
razorplay.playerkitsplugin.command.kit.reload # Перезагрузка комплектов
razorplay.playerkitsplugin.command.kit.cooldown* Все команды cooldown

Разрешения Custom Kit

Создание пользовательских разрешений для конкретных наборов: kit.mykit.use # Пример: Пользовательское разрешение для «mykit»

Интеграция API

PlayerKitsPlugin предоставляет полный API для разработчиков

Получить экземпляр KitAPI
KitAPI kitAPI = PlayerKitsPlugin.getKitAPI();

Создание наборов программно
Kit kit = kitAPI.createKit("id", "name", player, "description");

Дайте наборы игрокам
boolean success = kitAPI.giveKit (плеер, плеерRef, «kitId»);

Система событий для пользовательского поведения
kitAPI.registerListener (новый KitEventListener) {
@Override
Общественная пустота на KitClaimed (событие KitClaimEvent)
// Пользовательская логика, когда набор заявлен
?
}

Проверка разрешения Async
CompletableFuture<List<Kit>> availableKits = kitAPI.getAvailableKitsAsync()
игрок Ид,
(uuid, permission) -> checkPermissionAsync (uuid, permission)
);

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

1. Создание стартового набора

/kit создать стартер Стартер «Основные инструменты и броня для новых игроков»

2.Установка ежедневного вознаграждения

  1. Создайте комплект с 24-часовым охлаждением: /kit создает ежедневно ежедневно

  2. Отредактируйте файл JSON, чтобы установить «Cooldown»: 86400 (24 часа в секундах)

  3. Установить разрешение: "Разрешение": "kit.daily.use"

3. Импорт общинных комплектов

импорт /kit /path/to/community_kit.json

Установка

  1. Скачать последнюю PlayerKitsPlugin.jar
  2. Поместите его в свой Моды / каталог сервера Hytale
  3. Запустите или перезагрузите свой сервер
  4. Плагин автоматически создаст необходимые каталоги и файлы

Технические детали

Система хранения

  • НаборыОтдельные файлы JSON в модах/PlayerKitsPlugin/kits/
  • ОхлаждениеЦентрализованный файл JSON с отслеживанием на основе игроков
  • Сериализация: Использует систему кодеков Hytale для надежной сериализации элементов

Особенности исполнения

  • кешированиеКэширование доступности набора для конкретного игрока (30-секундный TTL)
  • Операции AsyncНеблокирующий файл I/O и проверка разрешения
  • Эффективная погрузкаЛенивая загрузка файлов набора по требованию

Особенности безопасности

  • Вводная валидацияСанитаризованные идентификаторы наборов для предотвращения проблем с файловой системой
  • Обработка ошибокВсеобъемлющее обращение с исключениями при детальной вырубке
  • Целостность данныхАвтоматическое резервное копирование через отдельные файлы набора

Устранение неполадок

Общие вопросы

  1. "Кит не найден"Убедитесь, что идентификатор набора правильный и чувствительный к делу
  2. Разрешение отказаноПроверьте узлы разрешений и настройки LuckPerms / группы
  3. Инвентаризация не экономитПроверьте, есть ли у игрока предметы в инвентаре при создании набора
  4. Файловые ошибки: Проверьте разрешения файлов в модах / RazorPlay_PlayerKitsPlugin / каталог

Логс

Проверьте журналы сервера для получения подробной информации об ошибках:

  • [PlayerKitsPlugin] префиксированные сообщения показывают активность плагина
  • Предупреждения указывают на некритические проблемы
  • Ошибки требуют немедленного внимания

Вклад

Нашел ошибку или есть запрос функции? Пожалуйста, откройте вопрос в нашем репозитории GitHub!

Лицензия

Этот плагин предоставляется по лицензии MIT. См. файл Лицензии для деталей.


Кредиты

разработчикИсполнитель: Razorplay Испытание: Ваши вклады приветствуются!

Показать оригинальное описание (English)

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!

Последние версии

PlayerKitsPlugin-1.1.0.jar

Early Access 28.01.2026 74.2 КБ
Скачать

PlayerKitsPlugin-1.0.0.jar

Early Access 24.01.2026 62.4 КБ
Скачать