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

16.7k
59
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
Sponsor on GitHubBuy Me a CoffeeDonate on PayPal

Creators

MiniPlaceholders
MiniPlaceholdersOrganization

Details

Licensed Apache-2.0
Created 2 years ago
Updated 4 months ago
DescriptionGalleryChangelogVersions

MiniPlaceholders

WorkFlow Latest Version Discord Modrinth Downloads GitHub Downloads

MiniMessage Component-based Placeholders API for Minecraft Platforms

Compatibility

  • Paper 1.20+
  • Folia 1.20+
  • Velocity 3.3.0+
  • Fabric 1.20+
  • Sponge API 8+

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")
                .filter(Player.class)
                .audiencePlaceholder("name", (audience, ctx, queue) -> {
                    final Player player = (player) audience;
                    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.getAudiencePlaceholders(player);
        player.sendMessage(miniMessage().deserialize("Player Name: <my-expansion_name>", playerResolver));
    }
}

Kotlin

fun register() {
      val expansion = expansion("my-expansion") {
          filter(Player::class.java)
          audiencePlaceholder("name") { aud, _, _ ->
              aud.getName().asClosingTag()
          }
          globalPlaceholder("tps") { _, _ ->
              Component.text(Bukkit.getTps()[0]).asInsertingTag()
          }
      }
    
    expansion.register()
    
    val player: Player
    val playerResolver = MiniPlaceholders.getAudiencePlaceholders(player)
    player.sendMessage(miniMessage().deserialize("Player Name: <my-expansion_name>", playerResolver))
}

Modrinth is open source.

main@16c5a5a

© 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.