MiniPlaceholders - это API для плейсхолдеров, построенный на базе MiniMessage. Вместо того чтобы под каждый серверный движок или мод писать свои плейсхолдеры, этот проект даёт единый интерфейс для Paper, Velocity, Fabric и Sponge. Для тех, кто работает с сообщениями в Minecraft - чаты, табы, скорборды - это реально упрощает жизнь.
Для конечных пользователей (админов серверов) MiniPlaceholders работает прозрачно: если плагин или мод его поддерживает, вы просто используете плейсхолдеры в формате MiniMessage. Например, <player_name> или <my-expansion_tps> - и они автоматически подставляют нужные значения. Никакой сложной настройки, просто ставьте совместимые плагины.
Для программистов MiniPlaceholders предлагает удобный билдер и регистрацию своих плейсхолдеров. Можно создавать как глобальные плейсхолдеры (вроде TPS сервера), так и привязанные к конкретным игрокам.
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));
}
}
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.

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