MiniPlaceholders
MiniPlaceholders is a modern API for working with placeholders based on MiniMessage components, designed for various Minecraft platforms.
Compatibility
The mod supports the following platforms:
- Paper version 1.21 and above
- Velocity starting from version 3.4.0
- Fabric for Minecraft 1.21.4+
- Sponge API 12 and newer
Usage
To get started with the mod, check out the user guide on our wiki page.
For Developers
Complete API documentation in Javadocs format is available, as well as a detailed developer guide on our wiki.
Java Example
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-expansionname>", player, playerResolver));
}
}
Kotlin Example
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))
}