Comments (3)
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.
from chimera.
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.
from chimera.
Honestly, if/when I get around to adding multi-version support, it'll be by building against Paper.
from chimera.
Related Issues (20)
- [BUG] After reparsing CommandContext arguments are empty HOT 2
- com.karuslabs.commons 4.8.0-SNAPSHOT maven-metadata.xml not found! HOT 1
- Dependabot couldn't find a pom.xml for this project
- [BUG] Registered commands do not work HOT 3
- Your .dependabot/config.yml contained invalid details HOT 1
- 1.17 support? HOT 4
- [BUG] Suggestions not suggested after reload
- Command description HOT 2
- [Enhancement] Command block support HOT 2
- [Enhancement] Support repeating command sequences
- [BUG] `StringArgumentType.word()` does not support non-ASCII characters HOT 20
- [BUG] Bad service configuration file, or exception thrown while constructing Processor object: com/karuslabs/utilitary/AnnotationProcessor HOT 2
- Commands.java generation HOT 2
- Command never gets executed HOT 4
- [BUG] WordType.word() not compatible with non-ASCII characters HOT 5
- [BUG] ClassNotFoundException, it tried to find obc.v1_19_R1, but the package in server is obc.v1_19_R2. HOT 3
- Dependency Dashboard
- [BUG] Non-existent method HOT 5
- Could not GET dependency metadata.xml HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chimera.