PlaceholderLib

PlaceholderLib

Placeholder solution for all hytale mods in the making. Together we unite

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

Описание

ko-fi

Разработчик:Lib

Легкий API-интерфейс для плагинов Hytale. Предоставляет простую систему реестра для динамической замены текста.

Быстрый старт

1. Добавить зависимость

{implementation(files("libs/PlaceholderLib.jar")}

2. Регистрация владельцев

Публичный класс MyPlugin расширяет JavaPlugin {
@Override
Публичная установка void() {
// Статический заполнитель
PlaceholderLib.getRegistry().register()
SimplePlaceholder("server_name", "MyServer")
);

// Динамический заполнитель
PlaceholderLib.getRegistry().register()
Новый владелец() {
@Override
public String getIdentifier() { return "online_count"; }

@Override
Публичное решение струн (PlaceholderContext ctx)
вернуть String.valueOf (getServer().getOnlinePlayers(.size());
?
?
);
?
?

Как это работает

  1. РегистрацияПлагины регистрируют заполнителей с уникальными идентификаторами (нет) % символы
  2. Соответствие шаблоновМесторасположение Либ автоматически находит %placeholder_id % шаблоны в тексте
  3. РезолюцияЗарегистрированные держатели заменяют свои шаблоны фактическими значениями
  4. Обсуждение Fallback: Незарегистрированные заполнители остаются неизменными в тексте

Правила для владельцев

  • Пространство имен: pluginid_identifier (например, rpg_foodlevel)
  • Разрешенные персонажи: a-z, 0-9, _
  • Случайно-чувствительный: %rep_at_food_level %%Rep_Eat_Food_Level%
  • Обертывание в % при использовании: %pluginid_identifier %

Пример осуществления

Общественный класс Custom Исполнитель Местонахождение {
@Override
Публичный String getIdentifier()
возврат «my_custom_value»;
?

@Override
Публичная струнная решимость (PlaceholderContext context)
// Доступ к игроку, миру и т.д. через контекст
возврат «custom_value»;
?
?

Построены в поддерживаемых заполнителях:

Игрок %player_name% %player_uuid% %player_x% %player_y% %player_z% %player_language %

сервер %server_name % %server_max% %server_default_world % %server_gamemode %

Лакпермс %luckperms_prefix% %luckperms_suffix% %luckperms_group%

Нужна помощь?

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

ko-fi

PlaceholderLib

A lightweight placeholder API for Hytale plugins. Provides a simple registry system for dynamic text replacement.

Quick Start

1. Add Dependency

dependencies {implementation(files("libs/PlaceholderLib.jar"))}

2. Register Placeholders

public class MyPlugin extends JavaPlugin {
    @Override
    public void setup() {
        // Static placeholder
        PlaceholderLib.getRegistry().register(
            new SimplePlaceholder("server_name", "MyServer")
        );

        // Dynamic placeholder
        PlaceholderLib.getRegistry().register(
            new Placeholder() {
                @Override
                public String getIdentifier() { return "online_count"; }

                @Override
                public String resolve(PlaceholderContext ctx) {
                    return String.valueOf(getServer().getOnlinePlayers().size());
                }
            }
        );
    }
}

How It Works

  1. Registration: Plugins register placeholders with unique identifiers (no % symbols)
  2. Pattern Matching: PlaceholderLib automatically finds %placeholder_id% patterns in text
  3. Resolution: Registered placeholders replace their patterns with actual values
  4. Fallback: Unregistered placeholders remain unchanged in text

Placeholder Rules

  • Namespace: pluginid_identifier (e.g., rpg_foodlevel)
  • Allowed characters: a-z, 0-9, _
  • Case-sensitive: %rep_eat_food_level%%Rep_Eat_Food_Level%
  • Wrap in % when using: %pluginid_identifier%

Example Implementation

public class CustomPlaceholder implements Placeholder {
    @Override
    public String getIdentifier() {
        return "my_custom_value";
    }

    @Override
    public String resolve(PlaceholderContext context) {
        // Access player, world, etc. through context
        return "custom_value";
    }
}

Built in supported placeholders:

Player %player_name% %player_uuid% %player_x% %player_y% %player_z% %player_language%

Server %server_name% %server_max% %server_default_world% %server_gamemode%

LuckPerms %luckperms_prefix% %luckperms_suffix% %luckperms_group%

📚 Need Help?

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

PlaceholderLib-1.0.0-b

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

PlaceholderLib-1.0.0-a

Early Access 22.01.2026 30.6 КБ
Скачать

PlaceholderLib-1.0.0

Early Access 20.01.2026 19.5 КБ
Скачать