Currently we just have all the registries and block data just sitting in the repo as .json files. While this is the easy route, it makes updating versions harder and also puts us at risk of legal troubles. I think a good solution would be to extract the needed data at compile time by downloading a vanilla server jar. This will likely require a JVM install as part of the build process but this isn't a dealbreaker for a lot of people, especially if we link adoptium or something in error messages. The JVM will be needed for extracting stuff like blocks, but the registries can be grabbed by just treating the .jar as a zip file and pulling out the relevant json.
Ideally we'd put most of this on the end user to avoid distributing assets in the binary, but this is something I'd be happy to tackle later
Currently we just have all the registries and block data just sitting in the repo as .json files. While this is the easy route, it makes updating versions harder and also puts us at risk of legal troubles. I think a good solution would be to extract the needed data at compile time by downloading a vanilla server jar. This will likely require a JVM install as part of the build process but this isn't a dealbreaker for a lot of people, especially if we link adoptium or something in error messages. The JVM will be needed for extracting stuff like blocks, but the registries can be grabbed by just treating the .jar as a zip file and pulling out the relevant json.
Ideally we'd put most of this on the end user to avoid distributing assets in the binary, but this is something I'd be happy to tackle later