Update: I've got this working and live on my server. I'm currently working on a block filtering system (a fork of both bukkit and craftbukkit) to allow plugins to filter what blocks are sent to each player before they're sent. I have it mostly working, see below for todo/known issues. Right now if you log into my test server with the username "rock" (it's in offline mode), all blocks but air load as stone. The main purpose for this project is an anti-xray to end all anti-xray, but it could also be used for things like hiding a block used as an admin tool (probably just sponge), making mirages of buildings in the distance in the desert, hallucination, dreams, so on and so forth. One catch is that the blocks are basically clientside only, as far as things like nocheat and physics are concerned; all you can do is change appearance, you can't alter physics any more than the client can. Screenshots: http://imgur.com/a/qYiEN Fork repos: https://github.com/lahwran/Bukkit https://github.com/lahwran/CraftBukkit Example plugin: https://github.com/lahwran/BlockFilterExample Still to be done: figure out a way to preprocess Packet51 and possibly turn it into a set of Packet52s when generated from a plugin.