Debug mode

Debug mode usually refers to a world preset used to test block states, block models, and textures.
Debug mode can also refer to a dimension generator type (minecraft:debug) that generates a blocks grid, which is used in the "Debug mode" world preset, and can also be used in custom dimension.
Debug mode can also refer to a state of a world, if the overworld uses the "debug" generator, the world goes into the debug mode state. In this state, blocks can't be changed even in creative mode or with commands.
== Debug Mode World Preset ==
To select the debug mode, hold the key while clicking the "World Type" button in the world creation menu. Debug mode is the world type directly after Single Biome, and just before default preset.
Upon selecting debug mode, the "Bonus Chest", "Generate Structures", "Allow Cheats" and "Data Pack" options are removed from the menu. The game mode is set to Spectator, and the difficulty is locked on peaceful, and cheats are enabled. The game rule is forced to false, while other game rules are forced to default value.
== Debug Generator ==
The minecraft:debug generator contains all blocks, in all of their existing block states, organized in a single world. The world updates 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.
=== Block grid ===
File:DebugOverview.png|The entire grid as seen from above. East is up.
Every block state generates only once. They are sorted in a grid spread across an altitude of y=70. The block grid changes its size according to the number of blocks and block states available, roughly resembling a square (as of 1.14.2, 213 in width and 211 eastward), occupying the +X,+Z (southeast) quadrant.Due to a bug (), the block grid was not a correct square, and in some versions the blocks in the southernmost and northernmost columns duplicate, and whether duplication occurs is related to the total number of block states.
A barrier floor at y=60 also spawns, extending past the grid in all directions to the world boundary. Other than the barrier floor, the remainder of the map is empty. 
== Debug Mode State ==
Debug mode can refer to a state of the world. If the Overworld uses the "debug" generator, the world goes into the debug world state.
=== World Generation ===
If a Nether portal or End portal is used, or teleported using , the player enter other dimensions. The sky, light level and other properties remain appropriate to the dimension.
In this state, all the dimensions are forced to use the "debug" generator. The chunk rendering may not update by itself in these dimensions, resulting in the need to right-click a block to render a new chunk.
In the vanilla End, the ender dragon and its end crystals still spawn, although the dragon cannot break or interact with blocks.
=== World behavior ===
It is impossible to change, place or remove any block, even by the game itself.
Chunk's chunk tick (including random ticks) does not execute.
No entity spawns naturally.
Any block whose interactions do not change its block state can still be (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 command.
These unique properties of debug mode can cause certain blocks to behave in unexpected ways, though due to the arrangement of blocks next to one another, not all may be seen in every version:
* Water and lava cannot be removed by buckets, but still fills an empty bucket in Survival mode. If the player empties the bucket, the lava or water blocks turn invisible.
* Bells can still be rung.
* Cauldrons clean leather armor and banners, but cannot be filled by buckets.
* Flying through a pressure plate with powered stated false, or a weighted pressure plate with power state 0, causes it to produce the pressure plate clicking sound every tick it is pressed.
* a comparator in subtract mode causes the block in the direction opposite its facing property to drop as an item.
** Warning: If that block is a repeater or a comparator, it drops an infinite amount of itself, likely crashing the game.
* Any summoned falling_block entities drops as an item when it hits another block, rather than converting itself to a block.
* fence gates, comparators, deactivated buttons, levers, deactivated pressure plates, doors, or trapdoors does not move or change the block, but the sound still plays.
* Using a music disc on an empty jukebox does not change its block state but still plays the music normally.
== History ==
File:Debug World Type 14w26b.png|Debug world in version 14w26b
File:Debug World Type overview 14w26b.png|Large overview (14w26b)
File:Debug World Type grid view 14w26b.png|Grid overview (14w26b)
File:Debug World Type overview low ID 14w27b.png|Low block ID overview (14w27b)
File:Debug World Type grid view 14w27b.png|Grid overview (14w27b)
File:Debug World Type Overview 14w32d.png|(14w32d–Java Edition 1.8.9)
File:Debug World Type Overview 15w49a.png|(15w49a–Java Edition 1.9.4)
File:Debug World Type Overview 16w20a.png|(16w20a–Java Edition 1.10.2)
File:Debug World Type Overview 16w39b.png|(16w39b–Java Edition 1.11.2)
File:Debug World Type Overview 17w47a.png|(17w47a-Java Edition 1.13)
== Issues ==
== Trivia ==
* 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 daylight cycle is disabled.
** Regardless, the time can still be adjusted with the use of the command, and the daylight cycle can be toggled with the use of the 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.
* After setting the world type to Debug Mode, the Game Mode button is locked in Spectator, and a line of text appears beneath: "You can look but don't touch".
** There is, however, nothing preventing you from changing the game mode using commands, since the cheats are enabled.
* When the world type in the world creation screen is set to Default, clicking on the World Type button with both and are held down immediately changes the world type to Debug Mode.
== Gallery ==
Dinnerbone Debug Mode.png|First image of debug mode.
Debug Mode Redstone.png|Redstone and oak stairs in debug mode.
Indebugmode.png|Barrier blocks in debug mode.
== Referance ==
de:Debug-Modus
fr:Mode de débogage
ja:デバッグモード
ko:디버그 모드
pl:Tryb debugowania
pt:Modo de depuração
ru:Режим отладки
zh:调试模式