PlaceholderAPI

PlaceholderAPI

Advanced placeholder API for Hytale servers that enables dynamic string substitution with support for player-specific data, caching, parameters, and scoped contexts.

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

Скриншоты

Описание

Месторасположение

Гибкая и мощная система для разработчиков серверов 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.

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

PlaceholderAPI-2.0.jar

Early Access 18.01.2026 86.4 КБ
Скачать

PlaceholderAPI-1.0.jar

Early Access 17.01.2026 86.4 КБ
Скачать