MultiLineAPI is an easy to use API that allows the server to display infinite lines of text under the nametag for each player, and allows an entity's nametag to be changed (without the limitations of other methods - see below for more information).
MultiLineAPI | Vanilla Scoreboard | TagAPI | NickNamer | |
---|---|---|---|---|
Nametag support | ✔ | ✘ | ✔ | ✔ |
Character limit (name / line) | (∞ / ∞) | (✘ / 16) | (16 / ✘) | (16 / ✘) |
Included API | ✔ | ✔ | ✔ | ✔ |
Minecraft version | 1.8+ | 1.6+ | 1.7 and below. | 1.7 - 1.12 |
Per-player lines and nametag | ✔ | ✘ | ✔ (name only) | ✔ (name only) |
Commands | ✘ | ✔ | ✘ | ✔ |
Software Requirements | Plugin, PacketEntityAPI, & ProtocolLib | ✘ | Plugin | Plugin & PacketListenerAPI |
MultiLineAPI currently requires PacketEntityAPI, which requires ProtocolLib. PacketEntityAPI is used to provide viewer-dependant lines and the more efficient fake entities used by this library. This provides an advantage in stability because even if there is an issue where tags become separated from their targets, they will be reset upon re-login without any changes to the actual world. Furthermore, the mount-based renderer uses a few entities that, because of PacketEntityAPI, do not have to be ticked server-side.
There are no known incompatibilities; however, no guarantees that this plugin will work with packet-modifying plugins such as ViaVersion or ProtocolSupport.
MultiLineAPI currently does not have any commands or permissions.
MultiLineAPI has a very light configuration, which is used to let you select the proper renderers and configure the line spacings. Here it is:
#MUST be 'MOUNT' or 'TELEPORT'
defaultRenderer: "MOUNT"
#Here are the options for each renderer
options:
lineHeight: 0.28
bottomLineHeight: 0.12
teleport:
animated: true
#Here you can define overrides for specific entity types to use one or the other. The key must be the name of the entity
#type, found here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/EntityType.html
typeRenderers:
ARROW: "TELEPORT"
DRAGON_FIREBALL: "TELEPORT"
ENDER_PEARL: "TELEPORT"
ENDER_SIGNAL: "TELEPORT"
UNKNOWN: "MOUNT"
There are a few differences between the two renderers (the mount-based renderer or the teleport-based renderer). Here is a comparison table:
|
|
|
|
With the teleportation-based renderer, sometimes the entities may become separated from their targets. If this happens, please re-log and create an issue with steps to reproduce it so MLAPI can be improved.
MultiLineAPI is designed as an API. It is not meant to be used as a plugin on its own. As such, it will not do anything unless another plugin has been installed that depends upon it. API documentation is available here.
Yes!
Nope. However, I would suggest that you keep it to a maximum of four as a rule of thumb.
But here's a GIF from testing:
Registered tag controllers provide a priority for their name changes and their added lines. Higher priority lines are shown above lower priority lines.
Note to developers: You should allow users to configure the priority.
Coming soon!
You may report issues here. Please include the following information, otherwise your report will be ignored:
- Steps to reproduce
- Expected behaviour
- Actual outcome
- Minecraft version (Only 1.12 is officially supported)
Source code is available here!
Want to donate to continue MultiLineAPI's development? I accept donations here: