Minecraft Wiki
Minecraft Wiki

The world generation in debug mode

Debug mode is a world type used to test block states, block models, and textures.


Debug mode selected; note that all of the other world settings are now missing.

To select the debug mode, hold the ⇧ Shift key while clicking the "World Type" button in the world creation menu. Debug mode will then be the world type directly after Customized, and just before Default.

Upon selecting debug mode, the "Bonus Chest", "Generate Structures", and "Allow Cheats" options are removed from the menu. The game mode is set to Spectator, and the difficulty is locked on peaceful; however, /gamemode and /difficulty will work as usual within the world.


Debug mode contains all Minecraft blocks, in all of their existing block states, organized in a single world. The world will update automatically to include any new registered block IDs that are added. Therefore, this mode is useful not only to Mojang developers, but also to creators of resource packs and mods.


The block grid is approximately 144×148 in size, occupying the +X,+Z (southeast) quadrant, although the barrier floor extends past the grid in all directions to the world border. Blocks are sorted in a grid spread across an altitude of y=70, with a barrier floor at y=60. Other than the barrier floor, the remainder of the map is empty.

Starting at 0,0, the blocks are arranged first in rows of 74 block states from north to south, then in 72 rows from west to east, with an additional partial row of 61 states, following first the numerical data values of the blocks, then the block state names and values in alphanumeric order. There are 5,359 unique block states. Every block state generates only once.

Other dimensions[]

View of the Nether debug world

View of the End debug world

If a Nether or End portal is used, the player will spawn in a Nether version or an End version of the debug world, respectively. The sky, light level and other properties will remain appropriate to the dimension.

In the End, the ender dragon and its ender crystals will still spawn, although the dragon cannot break or interact with blocks. If the end portal is used in the End, the end poem and credits will appear as normal. If using an ender pearl to utilize the end gateway portal, the gateway teleports the player, but in keeping with debug mode world generation, no outer islands nor a returning gateway portal will generate.

Block behavior[]

It is impossible for the player to break any block, even in game modes in which they otherwise could. Likewise, placing blocks is impossible, and the /setblock, /clone and /fill commands cannot be executed.

Any block whose interactions do not change its block state can still be used (including chests, beds, cake, etc). Although a block's state cannot change, its block entity data can change, either through normal player interaction or with the use of the /blockdata command.

These unique properties of debug mode can cause certain blocks to behave in unexpected ways:

  • Water and lava cannot be removed by buckets, but will fill an empty bucket in Survival mode.
  • Cauldrons will clean leather armor and banners, but cannot be filled by buckets.
  • Using a button or lever will drop one of itself as an item.
    • Activating those blocks schedules a block tick for its own block, which drops one of itself because those blocks cannot be suspended in mid-air.
  • Warning: using an inactivated pressure plate will cause it to generate enormous quantities of dropped plates, likely crashing the game.
    • The pressure plate schedules a block tick for itself, and drops an item because it cannot be suspended in mid-air.
      • Since it never changes to an activated pressure plate, it never stops receiving activation from the entities and/or items on it, and never stops scheduling block ticks.
    • Certain pressure plates, when activated, cause an error in the game output, stating that the dropped item entity has no entity.
  • Using a comparator in subtract mode, a lever or an unpowered button will cause the block in the direction opposite its facing property to drop as an item.
    • If that block is a repeater or a comparator, it will drop 36 stacks of itself.
      • It will start to repeatedly schedule its own block-state-changing tick, which will fail continually a large number of times.
    • These types of blocks schedule a block tick in the adjacent block.
    • If that block could not normally remain suspended in the air, it will drop one of itself as an item.
  • Warning: placing a minecart on an unpowered detector rail will drop an infinite number of detector rails.
  • Certain glass panes, iron bars and fences have incorrect hitboxes.
  • Banners are entirely invisible.
  • Any summoned FallingSand entities will drop as an item when it hits another block, rather than converting itself to a block.
  • If you use doors or trapdoors, they will not move, but the sound will still play.
  • Nether portals are visible, but the End portal is not.
  • Shulker boxes are invisible until looked at.



Official release
1.814w26aAdded Debug Mode world type.
Block entity graphics would disappear when a block is hit, door and trapdoor hitboxes were inconsistent with their state, and not all interfaces were accessible.
14w27aDifferent block states are used instead of metadata.
Options are disabled when creating the world, and the only game mode available is Spectator Mode.
Block states now generate in a square pattern rather than in an infinite repeating grid.
1.915w31aAll interfaces are now accessible.
15w37aBlock entity graphics are now regenerated (and set to default), when the block is hit.
15w38aDoor and trapdoor hitboxes are now consistent with their state.


Issues relating to “Debug mode” are maintained on the issue tracker. Report issues there.

Note that any bugs relating to using other game modes than spectator are resolved as invalid due to the fact that the world type can only be legitimately accessed in spectator.


  • The set biome for this mode is plains by default in the Overworld.
  • The sun is displayed as if it were the beginning of the day (time 1000), but the day-night cycle is disabled.
    • Regardless, the time can still be adjusted with the use of the /time command, and the day-night cycle can be toggled with the use of the /gamerule doDaylightCycle command. The time can be also advanced from nighttime to sunrise with the use of a bed.
  • Using a map does not create an accurate map of the blocks in the world.