garbagemule / MobArena

MobArena plugin for Minecraft
GNU General Public License v3.0
196 stars 151 forks source link

Titles #683

Closed molor closed 3 years ago

molor commented 3 years ago

Bug report

Short description

announcer-type is set to title, but I don't see any messages about waves, kills (show-death-messages: true too) etc. If I set it to chat, everything works. Where did I make a mistake or this is a bug?..

Reproduction steps

Set announcer-type to title, play.

Details

Nesseley commented 3 years ago

Can confirm it's broken. Minecraft 1.17.1

MobArena version 0.106.1-SNAPSHOT Paper version git-Paper-135 (MC: 1.17.1)

garbagemule commented 3 years ago

Thanks for the bug report, and thanks for confirming Ness.

I can't check myself right now, but I'll give this a test on a Spigot 1.17 server when I have time. If it works on 1.16 and not on 1.17, and nothing changed in the API, then there is a good chance the issue is upstream. If it works on Spigot 1.17 and not on Paper, it's probably an issue with Paper. Either way, since nothing changed in MobArena, and since we just use the API and no NMS hackery, I don't think this is something that can be fixed in MobArena.

If anyone else can test on Spigot 1.17, that'd be great, but if not, I'll do it when I have time.

garbagemule commented 3 years ago

Had a quick search on Spigot's issue tracker. It looks like this is a breaking change in Spigot: https://hub.spigotmc.org/jira/browse/SPIGOT-6608

It's unclear whether this will be fixed by reverting to the previous behavior or "fixed" by retrofitting the API documentation. Either way, I think we should hold off on doing anything for now and wait and see what happens with SPIGOT-6608.

molor commented 3 years ago

I think that they can fix it for weeks or even months.. It seems to me that adding a temporary solution (for example, a color code instead of a space character, but without any text after it, or use both color+space) will be much better, so that it works at all and server owners do not need to wait, and when it is fixed in Spigot, nothing prevents removing it from MA

garbagemule commented 3 years ago

I agree, it doesn't look like there's much activity on that issue, and it has low priority.

I can't imagine there would be any negative side effects to just sending a space instead of the empty string.

MobArena uses the Title API in two places: the title announcer, and the title boss health bar. I think it's fair to fix both these places in the same commit, since it's technically just a breaking API change being fixed in a project-wide manner.

I'll mark this as a good first issue. If it isn't addressed before I start wrapping up for the next release, I'll do it myself :)

Implementation details

Replace the empty string with a space here: https://github.com/garbagemule/MobArena/blob/f1cfd4136e6d47bd57a48a77d930913576f4656e/src/main/java/com/garbagemule/MobArena/announce/TitleAnnouncer.java#L19

and here: https://github.com/garbagemule/MobArena/blob/f1cfd4136e6d47bd57a48a77d930913576f4656e/src/main/java/com/garbagemule/MobArena/healthbar/TitleHealthBar.java#L30

molor commented 3 years ago

This is far from the first issue, I've been helping MA get better for several years :D #356 is the first I think :D Anyway, thanks