▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/MiniPlaceholders
MiniPlaceholders

MiniPlaceholders

MiniPlaceholders - это универсальный API для плейсхолдеров на основе MiniMessage для разных платформ Minecraft. Он работает на Paper, Velocity, Fabric и Sponge, позволяя разработчикам и администраторам легко создавать и использовать динамические шаблоны сообщений без привязки к конкретной системе.

Оцените первым
32.3K
78

MiniPlaceholders

MiniPlaceholders - это API для плейсхолдеров, построенный на базе MiniMessage. Вместо того чтобы под каждый серверный движок или мод писать свои плейсхолдеры, этот проект даёт единый интерфейс для Paper, Velocity, Fabric и Sponge. Для тех, кто работает с сообщениями в Minecraft - чаты, табы, скорборды - это реально упрощает жизнь.

Совместимость

  • Paper 1.21+
  • Velocity 3.4.0+
  • Fabric 1.21.4+
  • Sponge API 12+

Использование

Для конечных пользователей (админов серверов) MiniPlaceholders работает прозрачно: если плагин или мод его поддерживает, вы просто используете плейсхолдеры в формате MiniMessage. Например, <player_name> или <my-expansion_tps> - и они автоматически подставляют нужные значения. Никакой сложной настройки, просто ставьте совместимые плагины.

API для разработчиков

Для программистов MiniPlaceholders предлагает удобный билдер и регистрацию своих плейсхолдеров. Можно создавать как глобальные плейсхолдеры (вроде TPS сервера), так и привязанные к конкретным игрокам.

Пример на Java

class Main {
    public static void registerExpansion() {
        final Expansion expansion = Expansion.builder("my-expansion")
                .audiencePlaceholder(Player.class, "name", (player, ctx, queue) -> {
                    return Tag.selfClosingInserting(player.getName());
                })
                .globalPlaceholder("tps", (ctx, queue) ->
                    Tag.selfClosingInserting(Component.text(Bukkit.getTps()[0]))
                ).build();
        
        expansion.register();
        
        Player player;
        final TagResolver playerResolver = MiniPlaceholders.audiencePlaceholders();
        player.sendMessage(miniMessage().deserialize("Player Name: <my-expansion_name>", player, playerResolver));
    }
}

Пример на Kotlin

fun register() {
    val expansion = expansion("my-expansion") {
        audience<Player>("name") { aud, _, _ -> aud.getName().asClosingTag() }
        global("tps") { _, _ -> Component.text(Bukkit.getTps()[0]).asInsertingTag() }
    }
    
    expansion.register()
    
    val player: Player
    val playerResolver = MiniPlaceholders.audiencePlaceholders()
    player.sendMessage(miniMessage().deserialize("Player Name: <my-expansion_name>", player, playerResolver))
}

В итоге MiniPlaceholders - это тот самый инструмент, который убирает головную боль с разными форматами плейсхолдеров. Если вы разрабатываете или настраиваете сервер, присмотритесь: он работает везде, где есть MiniMessage.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

23w33a26.1.x1.21.x1.20.x1.19.x1.18.x1.17.x1.16.x1.15.x1.14.x1.13.x1.12.x1.11.x1.10.x1.9.x1.8.x1.7.x

Зависимости

Ссылки


Детали

Лицензия:
Опубликован:3 года назад
Обновлён:2 месяца назад
Главная