NichtStudioCode / InvUI

A spigot library for creating custom inventory-based GUIs.
MIT License
242 stars 19 forks source link

Paper 1.20.5+ Mojang Mapped runtime issues #71

Closed IslandNolan closed 3 months ago

IslandNolan commented 3 months ago

Hello- Due to the changes to Paper 1.20.5/.6+ it seems that Paper now ships with a Mojang Mapped runtime by default. Is there a chance that support for mojang mappings in InvUI will be provided in the future? As far as I'm aware this makes the plugin unable to run on all paper servers unless I'm missing something. Using version 1.32, and Java 21 with Paper 1.20.6 Stable. Additional logs/crash reports are available on request.

image

NichtStudioCode commented 3 months ago

If you're loading InvUI via Paper's library loader, this should work out of the box. If you're creating a fat jar using spigot-mapped classes, you'll of course now need to mark your plugin as spigot-mapped (or remap with the appropriate tools). Alternatively, there are (and have been) mojang-mapped artifacts available for the specific inventory-access revisions since 1.17. (See InvUI docs)

IslandNolan commented 3 months ago

Thank you for the prompt response. I'll check into this.

IslandNolan commented 3 months ago

@NichtStudioCode Just following up on this quickly- Mojang Mappings changed to using non-versioned craftbukkit classes in 1.20.5+ as well. Paper still doesn't function with the mojang mappings. Unless you remap the plugin to spigot which appears to be the only solution. I don't expect this to work forever.

NichtStudioCode commented 3 months ago

You're right, the mojang-mapped artifacts will only work on mojang-mapped Spigot or mojang-mapped Paper<1.20.5.

However, remapping your plugin is not the only solution; you can also use Paper's library loader to load and automatically remap the spigot-mapped inventory-access artifacts for you, without having to remap your own plugin. I do expect this to work for the forseeable future, considering this feature was just introduced.

I'll probaby switch InvUI over to Paper entirely at some point, but the current state shouldn't be a big issue.

IslandNolan commented 3 months ago

You're right, the mojang-mapped artifacts will only work on mojang-mapped Spigot or mojang-mapped Paper<1.20.5.

However, remapping your plugin is not the only solution; you can also use Paper's library loader to load and automatically remap the spigot-mapped inventory-access artifacts for you, without having to remap your own plugin. I do expect this to work for the forseeable future, considering this feature was just introduced.

I'll probaby switch InvUI over to Paper entirely at some point, but the current state shouldn't be a big issue.

The issue is that I do not have direct control over the nodes which my plugin runs as this is for the new Mineplex making the only solution the aforementioned spigot remap.

Hoping to see InvUi move over to paper sooner rather than later. InvUi is an awesome plugin and the feature set is great.