With the fuss about the new 1.13 Block data api, I have a dumb but obvious solution to all the quabbles: what if I write a plugin that packages the Spigot BlockData API with support for Minecraft 1.8 ... 1.12.2? People can ditch the outdated MaterialData API and use the (much better imho) BlockData API, avoiding magic values in their code altogether. BlockData has been inside the server since Minecraft 1.8. But is this ok to do? It would involve copying a lot of source code from the Spigot project, or in other ways, forking the Spigot project to build an additional artifact. Licensing and ethics. Plugins will likely have to depend on the plugin, because there is no BlockData getters for blocks and others on versions of Minecraft before 1.13. Option A: Add a plugin that injects new code into the server's ClassLoader, perhaps also modify CraftBlock/Block to introduce the missing API's it needs for BlockData. Option B: fork the server and add the BlockData api retroactively this way. Its cleaner, but also more difficult for the user because it would have to be done to all forks of the server as well. Option C: write a tool that patches a spigot or spigot fork jar file, inserting the missing API that way. One extra step for the user, but can be kept separate from BuildTools which is convenient. Thoughts?