MiniPlaceholders
MiniMessage Component-based Placeholders API for Minecraft Platforms
Compatibility
- Paper 1.21+
- Velocity 3.4.0+
- Fabric 1.21.4+
- Sponge API 12+
Commands
Velocity
/vminiplaceholders parse me "[message with placeholders]"/vminiplaceholders parse player [some-player] "[message with placeholders]"
Paper | Folia | Fabric | Sponge | Krypton
/miniplaceholders <parse|help> player [some-player] "[message with placeholders]/miniplaceholders parse player [some-player] "[message with placeholders]"
Example:
/miniplaceholders parse me "<player_xp>"/vminiplaceholders parse player 4drian3d "<player_name>"
User Usage
Check our user usage wiki
API
Check the available Javadocs
Or check the Developer Wiki
Java
class Main {
public static void registerExpansion() {
final Expansion expansion = Expansion.builder("my-expansion")
.audiencePlaceholder(ServerPlayer.class, "name", (player, ctx, queue) -> {
return Tag.selfClosingInserting(player.getName());
})
.globalPlaceholder("tps", (ctx, queue) ->
Tag.selfClosingInserting(Component.text(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<ServerPlayer>("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))
}