PlayerData Core

PlayerData Core

Simple key-value player data storage API with JSON persistence for server plugins.

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

Описание

PlayerData Core

Легкая библиотека для хранения и извлечения данных игрока в плагинах сервера Hytale.

Особенности

  • Простой API для любого типа данных
  • Автоматическая устойчивость JSON к диску
  • Безопасные операции
  • Изоляция данных игрока
  • Нулевая конфигурация
  • Пространственные ключи Для предотвращения конфликтов плагинов

Для разработчиков плагинов

Ключи должны быть проставлены с использованием формата плагин:keyname Чтобы избежать конфликтов между плагинами.

  // Хранить данные
PlayerData.set (playerId, "myplugin:coins", 100)
PlayerData.set (playerId, "myplugin:rank", "VIP")

// Восстановить данные
Вал монеты = PlayerData.get<Int>(playerId, "myplugin:coins") ?: 0
val rank = PlayerData.get<String>(playerId, "myplugin:rank")

// Повышенные числовые значения
PlayerData.increment (игрок) Id, "myplugin:coins", 50

// Удалить данные
PlayerData.remove (игрок) Id, "myplugin:temp_data"

Недействительные ключи могут вызвать ошибку:
«Nonamespace» Ошибка: ключ должен быть пропущен по имени
Оригинальное название: Error: Empty Namespace
Плагин: Ошибка: Пустое имя ключа

Поддерживаемые типы данных

- Струна
- Int / Long / Double / Float
Булин
- Список <*> (примитивов)
- Map<String, *> (примитивов) 

установка

  1. Скачать файл JAR
  2. Поместите в папку плагинов вашего сервера
  3. Перезагрузить сервер

Для владельцев серверов

Это библиотечный плагин — он сам по себе ничего не делает. Установите его, если другой плагин (например, AFKManager) требует его в качестве зависимости.

Хранение данных

Данные проигрывателя хранятся в плагинах/PlayerData/data/ как файлы JSON, по одному на плеер UUID.

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

PlayerData Core

A lightweight library for storing and retrieving player data in Hytale server plugins.

Features

  • Simple key-value API for any data type
  • Automatic JSON persistence to disk
  • Thread-safe operations
  • Per-player data isolation
  • Zero configuration required
  • Enforced namespaced keys to prevent plugin conflicts

For Plugin Developers

Keys must be namespaced using the format pluginname:keyname to avoid conflicts between plugins.

  // Store data
  PlayerData.set(playerId, "myplugin:coins", 100)
  PlayerData.set(playerId, "myplugin:rank", "VIP")

  // Retrieve data
  val coins = PlayerData.get<Int>(playerId, "myplugin:coins") ?: 0
  val rank = PlayerData.get<String>(playerId, "myplugin:rank")

  // Increment numeric values
  PlayerData.increment(playerId, "myplugin:coins", 50)

  // Remove data
  PlayerData.remove(playerId, "myplugin:temp_data")

  Invalid keys will throw an error:
  "nonamespace"  → Error: Key must be namespaced
  ":keyonly"     → Error: Empty namespace
  "plugin:"      → Error: Empty key name

  Supported Data Types

  - String
  - Int / Long / Double / Float
  - Boolean
  - List<*> (of primitives)
  - Map<String, *> (of primitives)

Installation

  1. Download the JAR file
  2. Place in your server's plugins folder
  3. Restart the server

For Server Owners

This is a library plugin - it does nothing on its own. Install it if another plugin (like AFKManager) requires it as a dependency.

Data Storage

Player data is stored in plugins/PlayerData/data/ as JSON files, one per player UUID.

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

playerdata-core-1.0.0.jar

Early Access 27.01.2026 2.1 МБ
Скачать