Skip to content

Integration

Adrian edited this page Aug 20, 2025 · 4 revisions

Obtaining Placeholders

You can get the required plugin placeholders whenever you want, from the methods located in the main MiniPlaceholders class

Global

TagResolver resolver = MiniPlaceholders.globalPlaceholders();

Component parsedMessage = MiniMessage.miniMessage().deserialize("Online Players: <proxy_online_players>", resolver);

Note

Starting with MiniPlaceholders v3, the returned TagResolvers do not depend on an Audience or a RelationalAudience. This was done to modernize the API, improve placeholder processing performance, and avoid potential issues when caching TagResolvers.

Audience

Player player = event.getPlayer();

TagResolver resolver = MiniPlaceholders.audiencePlaceholders();

Component parsedMessage = MiniMessage.miniMessage().deserialize("Player name: <player_name>", player, resolver);

Relational

Player mainPlayer = event.getPlayer();
Player playerTwo = event.getAttacker();

TagResolver resolver = MiniPlaceholders.relationalPlaceholders();

Component parsedMessage = MiniMessage.miniMessage().deserialize("Player name: <player_name> Attacker Name: <example_war_plugin_rel_attacker_name>", new RelationalAudience<>(mainPlayer, playerTwo), resolver);

Single Expansion usage

You can also use unregistered Expansions to obtain placeholders. This can be useful for example, for an internal expansion of your plugin.

Expansion expansion = Expansion.builder("internal")
    .globalPlaceholder("sum", (queue, ctx) -> {
        int sum = 0;
        while (queue.hasNext()) {
          sum += queue.pop().asInt().orElse(0);
        }
        return Tag.selfClosingInserting(Component.text(sum));
    })
    .build();

Component parsed = MiniMessage.miniMessage().deserialize("Sum of several numbers: <internal_sum:1:2:3:4:10:50>", expansion.globalPlaceholders());

assert PlainTextComponentSerializer.plainText().serialize(parsed).equals("Sum of several numbers: 70");

This wiki has been migrated. Check out the latest version at: https://miniplaceholders.github.io/docs/category/user-guide

Clone this wiki locally