08-21-2015, 02:45 AM
I am currently working on getting a lot of Cuberite up to date with vanilla minecraft, specifically tree and biome generation.
There was a discussion about lua bindings for block handlers: https://github.com/cuberite/cuberite/issues/2390
However, I have been looking at the forge source code for a while, and it looks like we would have to have a separate branch specifically for Forge that could never be merged. The issue is that in vanilla minecraft, block ids are a single byte, while in Forge minecraft they are an int (4 bytes), and probably encoded as a VarInt when sent across the network. I don't know for certain about the network encoding, though.
I don't have time to do it right now, but perhaps you could test current compatibility. Create a cuberite server and connect to it with a client that has forge installed, along with a few mods that provide blocks. Then place a few blocks, log out, shutdown the server, start the server and reconnect. If the blocks are still there, maybe I am worrying for nothing.
There was a discussion about lua bindings for block handlers: https://github.com/cuberite/cuberite/issues/2390
However, I have been looking at the forge source code for a while, and it looks like we would have to have a separate branch specifically for Forge that could never be merged. The issue is that in vanilla minecraft, block ids are a single byte, while in Forge minecraft they are an int (4 bytes), and probably encoded as a VarInt when sent across the network. I don't know for certain about the network encoding, though.
I don't have time to do it right now, but perhaps you could test current compatibility. Create a cuberite server and connect to it with a client that has forge installed, along with a few mods that provide blocks. Then place a few blocks, log out, shutdown the server, start the server and reconnect. If the blocks are still there, maybe I am worrying for nothing.