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.
Описание
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.Установка ежедневного вознаграждения
Создайте комплект с 24-часовым охлаждением: /kit создает ежедневно ежедневно
Отредактируйте файл JSON, чтобы установить «Cooldown»: 86400 (24 часа в секундах)
Установить разрешение: "Разрешение": "kit.daily.use"
3. Импорт общинных комплектов
импорт /kit /path/to/community_kit.json
Установка
- Скачать последнюю PlayerKitsPlugin.jar
- Поместите его в свой Моды / каталог сервера Hytale
- Запустите или перезагрузите свой сервер
- Плагин автоматически создаст необходимые каталоги и файлы
Технические детали
Система хранения
- НаборыОтдельные файлы JSON в модах/PlayerKitsPlugin/kits/
- ОхлаждениеЦентрализованный файл JSON с отслеживанием на основе игроков
- Сериализация: Использует систему кодеков Hytale для надежной сериализации элементов
Особенности исполнения
- кешированиеКэширование доступности набора для конкретного игрока (30-секундный TTL)
- Операции AsyncНеблокирующий файл I/O и проверка разрешения
- Эффективная погрузкаЛенивая загрузка файлов набора по требованию
Особенности безопасности
- Вводная валидацияСанитаризованные идентификаторы наборов для предотвращения проблем с файловой системой
- Обработка ошибокВсеобъемлющее обращение с исключениями при детальной вырубке
- Целостность данныхАвтоматическое резервное копирование через отдельные файлы набора
Устранение неполадок
Общие вопросы
- "Кит не найден"Убедитесь, что идентификатор набора правильный и чувствительный к делу
- Разрешение отказаноПроверьте узлы разрешений и настройки LuckPerms / группы
- Инвентаризация не экономитПроверьте, есть ли у игрока предметы в инвентаре при создании набора
- Файловые ошибки: Проверьте разрешения файлов в модах / 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
Create the kit with 24-hour cooldown: /kit create daily Daily
Edit the JSON file to set "Cooldown": 86400 (24 hours in seconds)
Set permission: "Permission": "kit.daily.use"
3. Importing Community Kits
/kit import /path/to/community_kit.json
📋 Installation
- Download the latest PlayerKitsPlugin.jar
- Place it in your Hytale server's mods/ directory
- Start or reload your server
- 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
- "Kit not found": Ensure kit ID is correct and case-sensitive
- Permission denied: Check permission nodes and LuckPerms/group setup
- Inventory not saving: Verify player has items in inventory when creating kit
- 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!
Информация
Авторы:
Версии игры:
Создан: 25.01.2026