MobArena
MobArena copied to clipboard
1.20.6 Support
Bug report
Short description Plugin does not start in 1.20.6
Reproduction steps
- Start a server with Spigot/Paper 1.20.6.
- Error appears in console
Details
- MobArena version: 0.108
- Server version: Spigot 1.20.6
- Stacktrace (if applicable): https://pastebin.com/j1dfKvMH
Thanks for the report.
Looks like Spigot removed some of the deprecated API that MobArena still uses. We'll need to at least rework some of the potion-related stuff, but there may be more. I'll try to take a look at it this weekend to see if we can't get a patch out fast.
I spent some time trying to figure out how we can go about this, but at least with regards to potions, the Spigot API is a hot mess of types and methods that are wildly incompatible between 1.19 (which MobArena currently targets) and 1.20.6 (but perhaps also older versions of 1.20). At any rate, it doesn't seem like it's feasible to retain the syntax currently used in MobArena and still make it compatible with older Minecraft versions.
I'm considering removing potion support from the MobArena syntax entirely, such that it would be necessary to either use class chests or saved items in order to use potions. It's obviously not ideal, but I don't trust Spigot to keep this part of the API stable or backwards compatible at all. If we can't find a feasible solution, we'll have to drop either backwards compatibility or potion support, and even if we do drop backwards compatibility in favor of potions, I'm not sure we can reuse the current syntax, as the API has changed quite a bit.
Had a chat on the Spigot Discord, and it looks like we may need to bump to API version 1.20.2, and I'm pretty sure that's going to break backwards compatibility with all server versions prior to 1.20.2.
- According to bStats, around 55% of servers are running 1.20.2+, which is pretty good.
- There's a bit over 17% on 1.20.1, which could mean that they are stuck because some stuff broke in 1.20.2, which is unfortunate, but we can remain hopeful that they are ironing out some kinks and will be on 1.20.2+ soon enough.
- Even less fortunate, however, is that around 20% are running on servers between 1.13 and 1.20, and if we make a bump to 1.20.2, they will be stuck on whatever version of MobArena they're running on right now forever.
That last point is borderline heartbreaking, because we'll be leaving behind even more people than we did when we dropped support for 1.8 and 1.12. But on the other hand, this breaking API change in Spigot isn't going to just fix itself, so we need to move on somehow at some point. A silver lining is that we'd probably be able to fix both #787 and #791 in the same bump.
md_5 just restored the PotionData API that MobArena uses, which means MobArena will work on newer builds of 1.20.6, at least according to my brief testing with some of the things that broke in the API. It's temporary, though, and will be removed later down the road, so we still have to make changes in MobArena and bump to 1.20.2 going forward.
@frafol Please give this new Spigot build a try. You should be able to get it from BuildTools now, but if it says it's using a cached version, try with --rev 4156
instead. If you can give it a good, hard whirl to see if we have any other issues in 1.20.6 with MobArena 0.108, that would be very much appreciated 🙏
I'll test soon, I'll let you know
working correctly in latest spigot version.