Skip to content
/ WFT Public

Recoded, added features, removed useless stuff, more efficent code, PER PLAYER TEXT

License

Notifications You must be signed in to change notification settings

WolfDen133/WFT

Repository files navigation

WFloatingText - 1.5.3

Hello, and welcome to WFloatingText.

Please note that 1.5.2 to 1.5.3 you will now need to use \# instead of #

NOW IN API 5.0

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.

Features added

  • WFT-OLD Migration
  • Multiple language support
  • Optional display identifier
  • More Tags
  • Per-Player Texts
  • Packet Texts over Entity
  • More efficient and pretty code
  • Operator texts More info here
  • Operator change detection
  • Multi newline support

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

Bug Fixes

List form would crash the server

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

Features

  • Refresh timer
  • Tags for various things
  • Lots of useful commands
  • Form or command line options
  • Help subcommand for new people
  • Powerful fast and efficient code
  • Extensive customizable

Example

Example

Commands

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 -

Tags

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)

Create your own

See how to create your own here

Languages

  • Czech (cz)
  • English (en)
  • German (de)
  • Russian (ru)
  • Slovak (sk)
  • Spanish (sp)
  • Ukrainian (ua)
  • Turkish (tr)
  • Indonesian (id)

But feel free to add your own!

NEW API

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

Credit

  • WolfDen133 (Main Programmer) [ฬ๏ɭŦ๔єภ133;#6969]
  • McMelonTV (Translations - Slovak, Czech) [McMelon#9999]
  • TheFixDev (Translation - German) [𝓗𝓪𝓫𝓓𝓲𝓬𝓱𝓢𝓸𝓖𝓮𝓻𝓷#6158]
  • kostamax27 (Suggestion & Translation - Russian, Ukrainian) [kostamax27#0160]
  • Sergittos (Translation - Spanish) [Sergittos#0001]
  • DragonfireHD (Translation - Turkish)
  • keenanyafiqy (Translation - Indonesian)

About

Recoded, added features, removed useless stuff, more efficent code, PER PLAYER TEXT

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages