Add Custom Floating Texts to your PocketMine-MP server
Please note that 1.5.2 to 1.5.3 you will now need to use
\#
instead of#
This is the official recode of my old plugin WFT, witch had some issues. Overall I was not happy with the result, the code was messy, it was all in one file, there was useless and in-efficient code, with a hard api to use, so decided to recode it.
I have added features, because I felt the plugin needed them, and removed features, as some features where not needed.
Migration: This should have been added on 1.0, but texts from WFT-OLD will now be automaticly migrated to WFT format.
Language support: You can now change the language of the plugin to suit your server.
Display identifier: You can now turn on or off the option to see the texts unique identifier (Much like Texter, but optional).
More tags: Added many more tags for better, they are also player specific.
Per-Player texts: Players will now get a specific text depending on what tag you use.
Packets: The old plugin used entities, putting more load on the server, whereas this plugin uses packets, therefore creating a more lightweight plugin.
Efficient and pretty code: The code in this plugin is WAY more efficient and clean that the old plugin. The code is also spaced out in multiple files.
Operator texts: Have the option only displaying text to operators, this could be useful for a general server overview in your spawn world without it affecting your general players! Again, more info here
Operator change detection: WFloatingText will now automatically detect when your operator status changes, so no more annoying re-logging
Multi-newline support: You can use either \n
for a new line for always player facing texts, or use \#
to keep the shape of your text, or have the best of both worlds
Status: Fixed
Version: >=1.5.1
Fixed in: <=1.5.2
Status: Fixed
Version: >=1.3.5
Fixed in: <=1.3.6
Status: Fixed
Version: >=1.3.4
Fixed in: <=1.3.5
Status: Fixed
Version: >=1.3.1
Fixed in: <=1.3.2
Status: Fixed
Version: >=1.3.2
Fixed In: <=1.3.3
Master command is ft|wft.master
Subcommand | Permission | Description | Aliases |
---|---|---|---|
wft | wft.command.use | The master command | ft |
add | ~ | Add a new ft | spawn , summon , new , make , create , c , a |
remove | ~ | Remove a existing ft | break , delete , bye , d , r , |
edit | ~ | Edit an existing ft | e , change |
tp | ~ | Teleport to an ft | teleportto , tpto , goto , teleport |
tphere | ~ | Teleport a ft to you | teleporthere , movehere , bringhere , tph , move |
list | ~ | See a list of the current fts | see , all |
help | ~ | So you can get some in-game help | stuck , h , ? |
reload | ~ | Re-read and reload all texts | - |
Tag | Description |
---|---|
\# | New Section |
\n | New line |
& | Use for color codes (same as § ) |
{NAME} | Players real name |
{REAL_NAME} | Players real name |
{DISPLAY_NAME} | Players display name (often nick plugins use display name) |
{PING} | Players Current Ping |
{MAX_PLAYERS} | Maximum players that can be on the server |
{ONLINE_PLAYERS} | Currently online player count |
{X} | Players X Position |
{Y} | Players Y Position |
{Z} | Players Z Position |
{REAL_TPS} | Current server tps |
{TPS} | Average server tps |
{REAL_LOAD} | Current server load |
{LOAD} | Average server load |
{LEVEL_NAME} | Players current level name |
{LEVEL_FOLDER} | Players current level folder name |
{LEVEL_PLAYERS} | Players current level player count |
{CONNECTION_IP} | The IP address that the player connected from |
{SERVER_IP} | The servers IP address |
{TIME} | Current server time (Customisable in config) |
{DATE} | Current server date (Customisable in config) |
See how to create your own here
But feel free to add your own!
Notes:
- Docs are presented:
$varableName // [varableType] explanation
Example:
Import the classes
Creating the text
// Creation and registration
$position = new Position($x, $y, $z, $world);
WFT::getInstance()->getTextManager()->registerText(
$identifier, // [STRING] Unique identifier that is used in the api to manipulate the text in future
$text, // [STRING] In raw, the text that you want for the text's content
$position, // [OBJECT: POSITION] Where the text is placed in the server
($spawnToAll) // [BOOL] (optional) Whether the text is spawned to the server on creation
($saveText) // [BOOL] (optional) Whether WFT creates a config file for the text and reloads it when the server is restarted (set to false if you are going to be registering texts on enable)
); // Returns the created text
// Spawning (unnecessary if $spawnToAll is true)
// (identifier is the one used to register the ft)
WFT::getInstance()->getTextManager()->getActions()->spawnTo($player, $identifier);
// or
WFT::getInstance()->getTextManager()->getActions()->spawnTo($identifier);
Getting and changing the text's content
// Getting the ft
$floatingText = WFT::getInstance()->getTextManager()->getTextById($identifier);
// Changing the text
$floatingText->setText($text);
// Pushing the update
WFT::getInstance()->getTextManager()->getActions()->respawnTo($player, $floatingText);
// or
WFT::getInstance()->getTextManager()->getActions()->respawnToAll($floatingText);
Removing the text
// Remove the text
WFT::getInstance()->getTextManager()->removeText($identifier);
That's it, the rest is handled by the plugin
Version: 1.5.3
Downloads: 418
Updated: 6/1/2024
Supported API versions: 5.4.3 to 5.27.1
Categories: Admin Tools, API plugins, Miscellaneous, Fun, Informational, General
License: GPL-3.0