❗ [WIP] TitleManager

Porting TitleManager to Sponge

Hey!

Some of you that come from the Spigot community might know me as the developer for the popular Title, Tab List & Actionbar title plugin by the name of TitleManager. Seeing as Sponge has finally hit its first beta release, it seems that the API is stable enough for me to port TitleManager to Sponge.

So, what’s new in TitleManager for Sponge?

The few of you that already know about TitleManager might know that it provides an API that allows you to easily use the functionality of the plugin in your own plugins. This will most likely not be the case of the Sponge version of TitleManager as the functionality is already widely available within the Core API. TitleManager for Sponge will however provide you with methods of easily creating animations elsewhere in Minecraft as well as being able to make easy hooks into TitleManagers placeholder list.

The code is getting a big ol’ overhaul as well, like removing deprecated methods and even classes, as well as using Sponge’s convention standards such as using Optionals. And of course, since Sponge requires you to use Java 8, I can FINALLY use lambdas and streams.

If you read everything through, you might be asking yourself… When will these be released? It’s hard to say really, however, I’m planning on releasing this at the same time as I’ll be releasing the long awaited 1.6.0 update, which will bring loads of new features to TitleManager, such as scripting.


Porting progress

:ballot_box_with_check: Setup project
:ballot_box_with_check: Get project to a compilable state
:white_large_square: Fix the inevitable bugs
:white_large_square: Finish 1.6.0 features
:white_large_square: Fix yet more bugs
:white_large_square: Release


Summary

TitleManager adds floating messages and a header/footer for your tabmenu. TitleManager also provides you with a rich API, that you can use in your plugins.

Features

  • Title welcome message.
  • Action bar title welcome message.
  • Tab list header and footer.
  • Seperate first join titles.
  • Titles on world enter.
  • Placeholders
  • Easy animations within titles and tab list header and footer.
  • Easy to use commands, with parameters such as radius and world.
  • Easy to use API to help you with creating animations as well as adding placeholders to TitleManager.
  • Scripting (Lua) (Upcoming)
  • Multiple languages supported. (Upcoming)
GIFs of TitleManager's Animations
***

:octocat: GitHub Repository

TitleManager root: GitHub - Puharesource/TitleManager: Adds hovering titles, actionbar titles, tabmenu titles and a scoreboard sidebar to your Minecraft 1.8 - 1.16 server.
TitleManager Sponge: https://github.com/Puharesource/TitleManager/tree/master/plugins/sponge

7 Likes

@Puharesource good to see some competition for @games647’s ActionBroadcaster

2 Likes

Haha, yeah. I was actually surprised by the lack of Title / Tab list plugins on Sponge when I was looking around for the competition. I didn’t end up finding a single one, though you’ve just showed me that there’s at least one that exists already :stuck_out_tongue:

1 Like

I feel like I should give you guys an update on the progress of the plugin as well as ask the once of you who knows the API well a question (which is why I’m also currently bumping the post).

The past few days I’ve been working on TitleManager for Sponge. It’s still not in a compilable state, which is probably due to the size of the plugin and the differences between Sponge and Bukkit that I have to convert. I’ve moved loads of the string handling to the Text class as well as having untangled quite a bit of spaghetti code and simply fixing crap that I had piled on top of each other to avoid backwards compatibility issues on Spigot.

My question is related to the use of the Text class. I’m aware of the fact that using the legacy way of formatting text is not supported and is only in the API to support backwards compatibility, however, I’ve thought about this for quite some time and I’ve come to the conclusion that due to the fact that Titles, Tab list headers/footers and actionbar titles are not utilizing the extra formatting options then it’s favorable to use the legacy formatting, as it’ll be easier to fit in commands.

Is someone able to give me a good reason to use TextXML or Json for formatting or should I just go with the legacy method and ignore the deprecated warning?

Don’t use legacy, use TextSerializers.formattingCode, which uses the & symbol.

Thanks! That was exactly what I was looking for. :slightly_smiling: Though, I’d still like to hear whether or not favor TextXML, or Json formatting above using color codes.

Update #1.

TitleManager for Sponge finally compiles! Though, obviously there’s tons of bugs, bugs that make the plugin unusable.

I’m currently in the works of fixing those bugs, though currently I’m fixing the way that I tried to use Guice, which hopefully won’t take very long as I now know how to use it, properly. (Or at least I think so).

EDIT (One hour after posting this)
Update #2.
TitleManager for Sponge now “successfully” loads when starting the server! Let’s just forget about the fact that all of the configuration files are empty, but look! After restarting my test server half a dozen times during the past hour and a half, this finally happened!

2 Likes