As of version 3.3.0, X-Ray includes a mechanism to allow the user to define custom block types. X-Ray will read any block definition file found inside the "blockdefs" directory inside .minecraft_xray. This is located at:
- Windows: %appdata%\.minecraft_xray\blockdefs\
- OSX: ~/Library/Application Support/.minecraft_xray/blockdefs/
- Linux: ~/.minecraft_xray/blockdefs/
Each file must have a ".yaml" extension, and X-Ray won't read any file named "minecraft.yaml". It would be best practice to name the file after the mod you're intending to support, such as "aether.yaml". The file format is in YAML 1.1 (more info at wikipedia).
Detailed documentation about the format can be found inside the master minecraft.yaml file. As an example of what a user file might look like, here's a partial file which adds support for a number of blocks for Aethermod: aether.yaml. Note that it doesn't include support for even the majority of the Aether blocks.
As mentioned above, X-Ray will automatically attempt to load any YAML file it finds in the blockdefs directory, and it will display which ones it was able to load on the opening dialog. If your file doesn't show up in the list, there's probably an error in it - you should be able to find that error in the file minecraft_xray_output_log.txt in the root X-Ray directory. Linux and OSX users (and Windows users who use the .BAT file instead of the .EXE) will see the errors on the console X-Ray was launched from, as well.
If people do start using this feature, I think it would be nice to have a central repository for YAML files, for various mods. For now, if you complete a YAML file for a mod and want it up here, you can just email me with the file and I'll put it up here manually. Eventually I might do something a little more fancy.