PlaceholderAPI
Advanced placeholder API for Hytale servers that enables dynamic string substitution with support for player-specific data, caching, parameters, and scoped contexts.
Описание
Месторасположение
Гибкая и мощная система для разработчиков серверов Hytale. Он позволяет легко регистрировать и извлекать динамические значения в строках, с поддержкой кэширования, данных для конкретного игрока, параметров и контекстов.
Более подробное использование с примерами можно найти на гитхаб.
Особенности
- Простота использования: Простой API для разработчиков Java и Kotlin.
- Динамические значения: Поддержка специфичных для игрока заполнителей (Visitor-Sensitive).
- Кэширование: Встроенная поддержка кэширования и автоматических обновлений.
- Параметры: Поддержка сложных заполнителей с такими параметрами, как
%player_name<lc>%. - Сферы: Сокращенные контексты (например, чат, сообщение) для предоставления соответствующих данных только там, где это необходимо.
- Котлин первый: Безопасный тип DSL и функции расширения для разработчиков Kotlin.
Начало работы
Чтобы использовать API, сначала нужно получить Месторасположение Например.
Java:
PlaceholderAPI api = PlaceholderAPI.getInstance();
Котлин:
val api = PlaceholderAPI.getInstance()
использование
Перевод струн
Чтобы автоматически заменить все заполнители в строке, используйте Переводная строка() метод.
Java:
Результат струн = api.translateString («Hello %player_display_name%!», плеер);
Котлин:
val result = "Привет, %player_display_name%!".translatePlaceholders(player)
Регистрация владельцев мест
Статические держатели мест
Пример заполнителя, который возвращает текущий тик сервера:
Kotlin DSL:
api.build<Int>("тик") {
погрузчик {
Server.getInstance(). клещ
?
?
Чувствительные посетители
Пример заполнителя, который возвращает имя игрока:
Kotlin DSL:
api.build<String>("player_name")
посетитель Погрузчик {
имя игрока
?
?
Расширенные возможности
Параметры
Держатели могут принимать параметры, используя %name<param1,param2>% Синтаксис.
Пример: %player_name<lc>% Вернуть имя в нижнем регистре.
Области и контексты
Сферы позволяют заполнителям быть доступными только в определенных ситуациях (например, % сообщения % Доступно только в чатах.
Встроенные держатели
| владелец | Описание | охват |
|---|---|---|
%player_display_name% |
Имя дисплея игрока | глобальный |
%player_gamemode % |
Режим игры игрока | глобальный |
%player_x%, %player_y%, %player_z% |
Координаты игроков | глобальный |
%server_online % |
Количество игроков онлайн | глобальный |
%server_ram_use% |
Использование Server RAM | глобальный |
% % % % |
Текущее время сервера | глобальный |
% сообщения % |
Содержание чата/сообщения | чат/сообщение |
%message_sender% |
Отправитель сообщения | чат/сообщение |
Поддержка Kotlin
PlaceholderAPI предлагает Безопасный DSL для регистрации держателей и удобных Функции расширения Легкая интеграция.
Показать оригинальное описание (English)
PlaceholderAPI
A flexible and powerful placeholder system for Hytale server developers. It allows for easy registration and retrieval of dynamic values in strings, with support for caching, player-specific data, parameters, and scoped contexts.
More detailed usage with examples can be found on github.
Features
- Easy to use: Simple API for both Java and Kotlin developers.
- Dynamic Values: Support for player-specific placeholders (Visitor-Sensitive).
- Caching: Built-in support for caching and automatic updates.
- Parameters: Support for complex placeholders with parameters like
%player_name<lc>%. - Scopes: Scoped contexts (e.g., Chat, Message) to provide relevant data only where needed.
- Kotlin First: Type-safe DSL and extension functions for Kotlin developers.
Getting Started
To use the API, you first need to get the PlaceholderAPI instance.
Java:
PlaceholderAPI api = PlaceholderAPI.getInstance();
Kotlin:
val api = PlaceholderAPI.getInstance()
Usage
Translating Strings
To replace all placeholders in a string automatically, use the translateString() method.
Java:
String result = api.translateString("Hello %player_display_name%!", player);
Kotlin:
val result = "Hello %player_display_name%!".translatePlaceholders(player)
Registering Placeholders
Static Placeholders
Example of a placeholder that returns the current server tick:
Kotlin DSL:
api.build<Int>("tick") {
loader {
Server.getInstance().tick
}
}
Visitor-Sensitive Placeholders
Example of a placeholder that returns the player's name:
Kotlin DSL:
api.build<String>("player_name") {
visitorLoader {
player.name
}
}
Advanced Features
Parameters
Placeholders can accept parameters using the %name<param1,param2>% syntax.
Example: %player_name<lc>% returns the name in lowercase.
Scopes & Contexts
Scopes allow placeholders to be available only in specific situations (e.g., %message% only available in chat events).
Built-in Placeholders
| Placeholder | Description | Scope |
|---|---|---|
%player_display_name% |
Player's display name | Global |
%player_gamemode% |
Player's game mode | Global |
%player_x%, %player_y%, %player_z% |
Player coordinates | Global |
%server_online% |
Number of players online | Global |
%server_ram_used% |
Server RAM usage | Global |
%time% |
Current server time | Global |
%message% |
Chat/Message content | Chat/Message |
%message_sender% |
Sender of the message | Chat/Message |
Kotlin Support
PlaceholderAPI offers a Type-safe DSL for registering placeholders and convenient Extension functions for easy integration.
Информация
Авторы:
Категории:
Версии игры:
Создан: 17.01.2026