MultiLineAPI 1.2.6

An API which provides a way to display custom text underneath a player's name.

  1. iso2013
    Native Minecraft Version:
    1.13
    Tested Minecraft Versions:
    • 1.12
    • 1.13
    Source Code:
    https://github.com/iso2013/MultiLineAPI
    Contributors:
    2008Choco

    Description

    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 vs Scoreboards and other alternatives

    [​IMG]

    Compatibility and Dependencies

    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.

    Commands & Permissions

    MultiLineAPI currently does not have any commands or permissions.

    Configuration

    MultiLineAPI has a very light configuration, which is used to let you select the proper renderers and configure the line spacings. Here it is:
    Code (Text):
    #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:

    [​IMG]

    Known Limitations

    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.

    API Usage

    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.

    Frequently Asked Questions:

    Q: Does MultiLineAPI support entities?

    Yes!

    Q: Is there a limit on how many lines a tag can have?

    Nope. However, I would suggest that you keep it to a maximum of four as a rule of thumb.

    But, to prove it can do crazy things, here's a GIF from testing.

    Q: How is the order of added lines determined?

    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.

    Images

    Coming soon!

    Issues

    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


    [​IMG]
    Source code is available here!

    Documentation

    The documentation site is available on my GitHub page here.

    Donations:

    Want to donate to continue MultiLineAPI's development? I accept donations here:
    [​IMG]
    Previous Donors: Donors can PM me to receive a shoutout here, including their server's IP.​
    WiseHollow, tassu, Farrael and 8 others like this.

Recent Reviews

  1. Redraskal
    Redraskal
    5/5,
    Version: 1.2.6
    A great way of bypassing the stupid scoreboard integer if you want to add other lines to name-tags! Not sure what I'll use this for, but something will definitely come up. Great job on this plugin, I can't wait to see entity support :)
  2. Redned
    Redned
    5/5,
    Version: 1.2.6
    This is seriously one of the best and most powerful API/plugin there is out for multiple line management and even name management. First it does it's job flawlessly and when the server is experiencing lag, the lines don't lag behind the player.

    Second, if you import the source into your plugin and play with it a little bit, you can do almost anything. Like changing names above players heads, bypassing the 16 character limit, and so much more.

    This right now is my favorite API/plugin and I would suggest it to anyone out there searching for something like this.

    11/10 Rating. Thanks iso2013 for this amazing resource!

    Cheers,
    Redned
  3. TigerHix
    TigerHix
    5/5,
    Version: 1.2.6
    Awesome idea and well-executed. The API seems too strict in terms of the calling procedure (it's very frustrating that you must register the handler first, and THEN enable the tag for player and go on from there), but overall nice job. Hopefully we'll see entity support in the future ;)
    1. iso2013
      Author's Response
      Yeah, the strictness was in anticipation of several other features that were planned, but then cancelled (like entity support for example) since the current structure is way too difficult to maintain. In the next version it'll be rewritten to be far more powerful and (hopefully) simpler.

      Thanks for the review :)
  4. WiseHollow
    WiseHollow
    5/5,
    Version: 0.1α
    Excellent plugin. The API is extremely simple to follow, and there is many things I plan to use it for. Keep up the good work, and I appreciate you creating this project.
    1. iso2013
      Author's Response
      Thank you! It's surprising you found it easy to follow though since there's no tutorial yet xD
  5. helptiger
    helptiger
    5/5,
    Version: 0.1α
    * Great work so far! It has immense potential! *
    1. iso2013
      Author's Response
      Thank you so much! It's reviews like this that keep me developing :)