Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Get Modrinth App Upgrade to Modrinth+
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
MiniPlaceholders

MiniPlaceholders

MiniMessage Component-based Placeholders API for Minecraft Platforms

19.3k
58
Decoration
Library
Utility

Compatibility

Minecraft: Java Edition

1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
1.12.x
1.11.x
1.10.x
1.9.x
1.8.x
1.7.x

Platforms

Fabric
Folia
Paper
Purpur
Quilt
Sponge
Velocity

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Links

Report issues View source Visit wiki Join Discord server
Buy Me a CoffeeSponsor on GitHubDonate on PayPal

Creators

MiniPlaceholders
MiniPlaceholdersOrganization

Details

Licensed Apache-2.0
Created 3 years ago
Updated 3 days ago
DescriptionGalleryChangelogVersions

MiniPlaceholders

WorkFlow Latest Version Discord Modrinth Downloads GitHub Downloads

MiniMessage Component-based Placeholders API for Minecraft Platforms

Compatibility

  • Paper 1.21+
  • Velocity 3.4.0+
  • Fabric 1.21.4+
  • Sponge API 12+

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(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));
    }
}

Kotlin

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))
}

Modrinth is open source.

feat/theseus/tauri-v2@c5403db

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.