-
-
Notifications
You must be signed in to change notification settings - Fork 23
Integration
Adrian edited this page Aug 20, 2025
·
4 revisions
You can get the required plugin placeholders whenever you want, from the methods located in the main MiniPlaceholders class
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.
Player player = event.getPlayer();
TagResolver resolver = MiniPlaceholders.audiencePlaceholders();
Component parsedMessage = MiniMessage.miniMessage().deserialize("Player name: <player_name>", player, resolver);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);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");© 4drian3d 2022-2025
This wiki has been migrated. Check out the latest version at: https://miniplaceholders.github.io/docs/category/user-guide