I can confirm that 1.7 and 1.8 does not crash when blocks are their.
I loaded a 1.8 snapshot world that includes 1.8 blocks. Loaded it on the server and it looked normal, The force field did not render and the new stone block just rendered as stone. But using the 1.8 protocol patch from spigot when using a 1.8 client to connect to the 1.7 server the blocks looked and worked just like 1.8 even though the server was on 1.7.
It seems that Minecraft does not remove blocks but trys to handle them now.
Might be slow on the server’s end, but what if the serve checked if the client has requested mod (send a custom payload packet or something and expect a response). If it does, send custom blocks, else (vanilla) send a default vanilla block such as stone to the client.
1.8 adds in alternative textures for blocks so you can have one that looks normal and another that is a copy of a quarry from buildcraft but according to minecraft they are both iron blocks
Thank you for this thread. This is an insane idea. Why not make a forge launcher? With that you can join every modded server using Sponge. It works the same like a server texturepack. It downloads when you join. (Sadly this can take a LONG time).
If only there were a way to force clients to download custom textures stored on the server for specific block id’s. Like, have a different log texture, and the meta (persistant metadata) be 20, and it be log:20 specific. I guess this would be most like the way (Just an example) Garry’s Mod does this.