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
PAPIProxyBridge

PAPIProxyBridge

A bridge library plugin for using PlaceholderAPI on proxy servers

18.5k
56
Library

Compatibility

Minecraft: Java Edition

1.21.x
1.20.x
1.19.x
1.18.x
1.17.1
1.16.5

Platforms

BungeeCord
Fabric
Folia
Paper
Spigot
Velocity
Waterfall

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Links

Report issues View source Join Discord server
Buy Me a CoffeeSponsor on GitHub

Creators

WiIIiam278
WiIIiam278 Owner

Details

Licensed Apache-2.0
Published 2 years ago
Updated last month
DescriptionChangelogVersions
GitHub — Discord
​

PAPIProxyBridge is a library bridge plugin you install on both your backend and proxy servers that allows proxy plugins to format text with PlaceholderAPI placeholders.

For server owners

This is a library plugin intended for use with plugins that implement its API. There is nothing to configure.

Install the latest version of the plugin alongside the PlaceholderAPI plugin on your Spigot (1.16.5+) or the PlaceholderAPI mod on your Fabric (1.19.3+) server, then install the plugin on your BungeeCord or Velocity proxy server.

Note this plugin is not a replacement for PlaceholderAPI. You still need to install PlaceholderAPI on your Spigot/Fabric server.

For developers

PAPIProxyBridge exposes a cross-platform API to let you format text with PlaceholderAPI placeholders.

Adding the library to your project

PAPIProxyBridge is available on repo.william278.net (view javadocs here). First, add the maven repository to your build.gradle:

repositories {
    maven { url 'https://repo.william278.net/releases/' }
}

Then add the dependency:

dependencies {
    implementation 'net.william278:papiproxybridge:1.6'
}
Example usage

The PlaceholderAPI class exposes the API for formatting placeholders. At the moment, only singleton non-bracketed placeholders are supported (more in the future).

Get an instance of the class with PlaceholderAPI.getInstance(), then use the #formatPlaceholders method to format a string with placeholders on a player (specified with UUID for cross-platform simplicity).

The method returns a CompletableFuture (since we don't want to lock threads while the proxy networks with players on the backend) that you can use to accept the formatted string.

// Format a string with placeholders
final PlaceholderAPI api = PlaceholderAPI.createInstance();
final UUID player = player.getUniqueId();
api.formatPlaceholders("Hello %player_name%!", player).thenAccept(formatted -> {
    player.sendMessage(formatted);
});

Never invoke #join() on calls to #formatPlaceholders; this is unsafe.

PAPIProxyBridge caches resolved requests for 30000 milliseconds (30 seconds), to avoid causing excessive traffic over your server's network channels. You can adjust how long to cache requests for using the PlaceholderAPI#setCacheExpiry(long) method.

There also exists #formatComponentPlaceholders. This method allows you to supply a string containing placeholders and receive an adventure component containing the formatted text, which may contain formatting and chat events.

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.