Screenshots

Above Ground
Above Ground

Underground, Slime-Spawn Highlighting
Underground, Slime-Spawn Highlighting

"Explored" Highlighting
“Explored” Highlighting

Ore Toggles
Ore Toggles

The Nether
The Nether

Chasm
Chasm

Configuration File / Keymappings

As of Maintenance Branch 7, X-Ray will load its keymappings from a properties file, and as of MB8, it will load its list of highlightable resources from that config file as well. The file will be created when you first start up the program. It can be found at:

  • Windows: %appdata%.minecraft_xrayxray.properties
  • OSX: ~/Library/Application Support/.minecraft_xray/xray.properties
  • Linux: ~/.minecraft_xray/xray.properties

The key names used should be the ones from lwjgl.org, though without the KEY_ prefix. Use “NONE” to disable an action. Note that right now only keyboard keys can be bound (the mouse buttons are hard-coded). The default keybindings can be found on the usage page.To reset X-Ray to its default settings, simply remove the properties file. Eventually there might be a GUI to set these options.

Resource Names

For resources, you should use the following values in the file:

BED
BEDROCK
BOOKSHELF
BREWING_STAND
BRICK
BRICK_STAIRS
BROWN_MUSHROOM
BURNING_FURNACE
CACTUS
CAKE
CAULDRON
CHEST
CLAY
COAL_ORE
COBBLESTONE
COBBLESTONE_STAIRS
CROPS
DEAD_SHRUB
DETECTOR_RAIL
DIAMOND_BLOCK
DIAMOND_ORE
DIRT
DISPENSER
DOUBLE_SLAB
ENCHANTMENT_TABLE
ENDER_PORTAL
ENDER_PORTAL_FRAME
ENDER_STONE
FARMLAND
FENCE
FENCE_GATE
FIRE
FURNACE
GLASS
GLASS_PANE
GLOWING_REDSTONE_ORE
GLOWSTONE
GOLD_BLOCK
GOLD_ORE
GRASS
GRAVEL
HUGE_BROWN_MUSHROOM
HUGE_RED_MUSHROOM
ICE
IRON_BARS
IRON_BLOCK
IRON_DOOR
IRON_ORE
JACK_O_LANTERN
JUKEBOX
LADDER
LAPIS_LAZULI_BLOCK
LAPIS_LAZULI_ORE
LAVA
LEAVES
LEVER
LILY_PAD
MELON
MELON_STEM
MINECART_TRACKS
MOB_SPAWNER
MOSSY_COBBLESTONE
MYCELIUM
NETHER_BRICK
NETHER_FENCE
NETHER_STAIRS
NETHER_WART
NETHERRACK
NOTE_BLOCK
OBSIDIAN
PISTON_BODY
PISTON_HEAD
PISTON_STICKY_BODY
PLANK
PORTAL
POWERED_RAIL
PUMPKIN
PUMPKIN_STEM
REDSTONE_ORE
REDSTONE_REPEATER_OFF
REDSTONE_REPEATER_ON
REDSTONE_TORCH_OFF
REDSTONE_TORCH_ON
REDSTONE_WIRE
RED_MUSHROOM
RED_ROSE
SAND
SANDSTONE
SAPLING
SIGNPOST
SILVERFISH
SLAB
SNOW
SNOW_BLOCK
SOUL_SAND
SPONGE
STATIONARY_LAVA
STATIONARY_WATER
STONE
STONE_BRICK
STONE_BRICK_STAIRS
STONE_BUTTON
STONE_PRESSURE_PLATE
SUGARCANE
TALL_GRASS
TNT
TORCH
TRAPDOOR
VINE
WALL_SIGN
WATER
WEB
WOOD
WOODEN_DOOR
WOODEN_PRESSURE_PLATE
WOODEN_STAIRS
WOOL
WORKBENCH
YELLOW_FLOWER

Overriding Textures

In general, X-Ray will attempt to use the same texture pack that Minecraft is using, but there may be some circumstances where you want X-Ray to use a particular texture.

X-Ray will look in four locations for the texture information to load, in this order:

  1. Inside the following directories, as an override:
    • Windows:%appdata%.minecraft_xraytextures
    • OSX:~/Library/Application Support/.minecraft_xray/textures/
    • Linux:~/.minecraft_xray/textures/
  2. From the texture pack that Minecraft itself is set to use
  3. From Minecraft’s builtin texture pack. This could be a custom texture pack if you’ve patched the Minecraft JAR file directly with a texture pack, as opposed to using Minecraft’s built-in texture-loading mechanism.
  4. Starting with X-Ray 3.4.0, from a bundled, built-in texturepack included with X-Ray itself. This method should theoretically never fail, unless the X-Ray install directory has been modified. In X-Ray 3.4.0, we’re using the Faithful 32×32 pack, by Vattic.

The override texture directory mirrors the internal structure of the texturepacks, but should not be a zipfile. Right now there are four files that X-Ray could end up reading from this directory:

  • terrain.png
  • particles.png(for the “fire” texture)
  • misc/water.png
  • art/kz.png(this is the Paintings texture file)

So, rather than packing those inside a zipfile, just put them inside the “textures” directory and restart X-Ray.Note that this will work for files specified in custom block definition files. For instance, if you’re using Aethermod and want to override the “Icestone.png” file, you’d put your own Icestone.png file into .minecraft_xray/textures/aether/blocks/.

Usage:

Running

There isn’t an installer for this currently. Windows users should be able to run the program by just doubleclicking on minecraft_xray.exe or minecraft_xray.bat. Linux and OSX users should be able to doubleclick on minecraft_xray.sh or minecraft_xray_osx.command (the files are identical as of 3.3.0).

Default Keys

Movement

Movement: WASD
Fly Upward: SPACE
Fly Downward: LEFT CTRL
Move Faster: Left Shift / Left Mouse Button (hold)
Move Slower: Right Shift / Right Mouse Button (hold)

Camera

Warp to Spawnpoint: HOME
Warp to Player Position: END
Cycle Up through Presets: INS
Cycle Down through Presets: DEL
Jump to Arbitrary Position: J
Jump to next dimension: N
Jump to previous dimension: P
Lock to Vertical Axis: L

Rendering

Highlight Ores: F1 – F10
Toggle Highlight Glow: H
Set Highlight distance: 1 – 7
Toggle Fullbright: F
Toggle Bedrock: B
Toggle Water: T
Increase Lighting Range: +
Decrease Lighting Range: -
Set visibility range: NUMPAD1 – NUMPAD6 (remember numlock)
Toggle “explored” areas: E
Toggle accurate grass sides: G
Toggle Beta 1.9 fences: C
Toggle Silverfish highlighting: V
Toggle Slime Chunk highlighting: M
Toggle Chunk Borders: U

Other

Toggle Fullscreen: BACKSPACE
Toggle Level Info: ` (grave accent)
Toggle Rendering Info: R (on by default)
Reload Map from Disk: =
Show large map: TAB
Release Mouse: ESC
Show Keyboard Reference: Y
Quit: CTRL-Q

Rendering Details

There are three main “sliders” available to control how things are rendered: Visibility range, Highlighting range, and Lighting.

Visibility range specifies how many chunks away from the camera the app will render at any one time. The minimum is 3, the maximum is 8.

Highlighting range specifies how many chunks away from the camera the app will highlight/glow the selected resources that you’re looking for. Often (with more common resources) you’ll want to keep this value very low. Otherwise it becomes quite difficult to tell where you’re actually going. For less common resources (like pumpkins or clay), you’ll want to have it set as high as possible, though. Note that this will never be able to highlight ores outside the set visibility range. This option does nothing if you’ve toggled ore highlighting off (which is useful to do sometimes, because even without the glow, X-Ray will render all instances of the resources you’ve selected).

Lighting just determines the OpenGL “fog” value. This is useful to have a better sense of scale while moving around. You can toggle into “fullbright” mode with F, which will disable the fog entirely.

In addition to the sliders, there are a few toggles which let you set whether to always draw water and bedrock. Water is on by default, and bedrock is off by default (though it will of course show up if necessary, regardless of this setting). Silverfish highlighting is on by default (they will be tinted red).

Minecraft Beta 1.9 changed the way fences work slightly, so that they will “connect” up to adjacent solid blocks. X-Ray will now, by default, render fences that way, but you can toggle it with the “C” key, in case you’re viewing pre-1.9 maps.

The “Slime Chunk” option will turn on the highlighting of chunks which should be able to spawn Slimes. The highlighting will actually only occur on the bottom part of the map, where the slimes themselves are actually capable of spawning. The equation used to calculate this was taken from minecraftwiki in early October, 2011, when Beta 1.9-pre2 was out. The equation may or may not be valid for earlier or later versions of Minecraft, but should be at least valid for Minecraft Beta 1.6 through Beta 1.9. The default key to toggle this highlighting is “M“.

Lastly, there is an “explored” area toggle, which basically just tints any blocks around torches with a green color. This makes it very easy to see where you’ve explored in underground caves (and is fairly useless above ground). It does this in a 7x7x7 cube centered around the torches, so the highlighting can easily “bleed over” into adjacent tunnels where you might not have actually explored, but it’s usually very easy to tell when that’s happened.

The rendering information popup can be toggled with “R” and is on by default. This will let you know what these various settings are set to.

Camera Options

For singleplayer worlds, there will be two camera presets: the spawnpoint, and the location of the player. In this case, INS/DEL isn’t really any different than using HOME/END to jump directly to those presets. If you use X-Ray to load a multiplayer world, though, there will also be a camera preset for each multiplayer user discovered in the world folder, which you can then cycle through using INS/DEL. If you’ve imported a multiplayer map into singleplayer, the app should create presets for the singleplayer character AND any multiplayer users still found in the players directory.

If your world contains a Nether subdirectory, you can warp back and forth between them with the “N” key. The app will attempt to automatically translate your position based on where you’d go if you had just used a portal, though this should only be considered a rough estimate. Note that especially when in the Nether, it’s possible to warp back to the Overworld at a location where there isn’t actually any map data. Eventually I’ll try to check for this and make sure that you don’t warp outside of the map, but for now just use the camera presets to get back into known territory if that happens to you.

By default, if you move forward, X-Ray will move directly towards the point you’re looking at, including up/down. If you want to “lock” the camera to the vertical axis, you can do so with “L,” at which time moving forward/back will only move the camera horizontally. You can still move the camera up and down manually, of course.

Mod Support:

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_xrayblockdefs
  • 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.


Aether, with partial block definitions

Changelog:

Minecraft X-Ray 3.4.1 (2011.10.15)

  * Updated Air Portal rendering to Beta 1.9-pre4
  * Added Ender Stone block from Beta 1.9-pre4
  * Set "The End" as a known dimension, for the level list
  * Rename AIR_PORTAL and AIR_PORTAL_FRAME to ENDER_PORTAL and
    ENDER_PORTAL_FRAME
  * Change minimap orientation to match the official internal Minecraft
    directions in Beta 1.9-pre4 (when the sunrise was changed from
	North to East)

Download Link:

Xray Mod for Windows (Mirror Multiupload)

Xray Mod for Linux/OSX (Mirror Multiupload)

Standalone sourcecode