I want to make a plugin library that supports multiple NMS versions.
This is what I expect my library provides/does:
Actually, I've already made one, but JitPack fails to build the artifact correctly. This usually means there is problem with my library structure or build script. That's why I ask about project structure because I don't know how to improve this situation at all.
Here is what I've made.
There is currently two submodule of this project. One is
Any help would be appreciated. I really don't know what to do.
This is what I expect my library provides/does:
- Provide classes/methods that depends on NMS/Paper API
- This should use each NMS version's actual implementation
- Provide classes/methods that independent of NMS/Paper API, or depend on something that would less likely to be changed
- For example, class only depends on
JavaPlugin
orBukkitRunnable
- For example, class only depends on
- Provide Javadoc of itself
Actually, I've already made one, but JitPack fails to build the artifact correctly. This usually means there is problem with my library structure or build script. That's why I ask about project structure because I don't know how to improve this situation at all.
Here is what I've made.
There is currently two submodule of this project. One is
core
and other one is bukkit_1_19_R1
.core
will provide:- Classes/methods that depends on classes that less likely to be changed - like
JavaPlugin
orBukkitRunnable
- Interface of classes that depends on each NMS versions
- Will use reflection for actual usage when used
bukkit_1_19_R1
will provide:- Actual implementation of classes that depdns on each NMS version and this submodule is for 1.19 R1 version
Any help would be appreciated. I really don't know what to do.