Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

any chance to make the project multi-version? #348

Closed
portlek opened this issue Jan 1, 2022 · 3 comments
Closed

any chance to make the project multi-version? #348

portlek opened this issue Jan 1, 2022 · 3 comments

Comments

@portlek
Copy link

portlek commented Jan 1, 2022

at least 1.13-∞

@Pante
Copy link
Owner

Pante commented Jan 1, 2022

I guess, it'll really depends. It's going to be difficult/tedious to provide backwards compatibility with all prior versions until 1.13 at this point. I won't say it's off the table but I personally don't have the motivation to do so in the near future.

That said, if someone's kind enough to contribute a PR that does so, I'll be more than happy to merge it!

I've explored a few methods to support multiple versions in the past:

  • Use reflection instead of NMS - This method is unfortunately not viable since Chimera relies on quite a few NMS types and methods internally. Switching this to reflection is going to greatly increase the maintenance burden while suffering a major hit to performance, something I'm not too keen on.

  • Multiple modules for different versions of NMS - This solution is plausible but it'll definitely increase maintenance burden.

  • Build against Paper - Paper provides exposes a Brigadier API. To my knowledge it doesn't go all the way back to 1.13 but it's definitely a viable, future-proof solution. My only concern is that existing projects that depend on this library may be using Spigot.

@Pante Pante pinned this issue Jan 1, 2022
@portlek
Copy link
Author

portlek commented Jan 1, 2022

the project definitely needs a design change for both nms modules and reflection things. i agree with the point that will take a lot of time to achieve that.

@Pante
Copy link
Owner

Pante commented Jan 1, 2022

Honestly, if/when I get around to adding multi-version support, it'll be by building against Paper.

@portlek portlek closed this as completed Oct 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants