minecraft.wiki-mirror/wiki_backup/heightmap.txt

41 lines
2.6 KiB
Text

'''Heightmaps''' are maps to store the Y-level of the highest block at each horizontal coordinate. They are stored in chunk files and used for various game calculations. This page currently describes heightmaps {{In|java}} only.
== Types ==
Several different heightmaps check and store highest block of different types, and are used for different purposes. {{IN|java}}, there are six heightmap types:
=== WORLD_SURFACE ===
Stores the Y-level of the highest non-air (all types of air) block.
=== WORLD_SURFACE_WG ===
Stores the Y-level of the highest non-air (all types of air) block. Used only during world generation, and automatedly deleted after [[carver]]s are generated.
=== OCEAN_FLOOR ===
Stores the Y-level of the highest block whose [[material]] blocks motion (i.e. has a collision box). One exception is [[carpet]]s, which are considered to not have a collision box to heightmaps. Used only on the server side.
=== OCEAN_FLOOR_WG ===
Stores the Y-level of the highest block whose material blocks motion (i.e. has a collision box). Used only during world generation, and automatedly deleted after [[carver]]s are generated.
=== MOTION_BLOCKING ===
Stores the Y-level of the highest block whose material blocks motion (i.e. has a collision box) or blocks that contains a fluid ([[water]], [[lava]], or [[waterlogged]] blocks).
=== MOTION_BLOCKING_NO_LEAVES ===
Stores the Y-level of the highest block whose material blocks motion (i.e. has a collision box), or blocks that contains a fluid (water, lava, or waterlogged blocks), except various [[leaves]]. Used only on the server side.
== Usage ==
Heightmaps are used for various in-game calculations. For example, a lightning rod can only be triggered when there is no non-air block above it. Therefore, the game compares the Y-level of lightning rod with heightmap WORLD_SURFACE to know if there are non-air blocks above it.
Heightmaps of both server side and client side can be seen in [[debug screen]]. The "CH" line is the value in client side heightmaps at the player's current X/Z coordinates. The "SH" line is the server side value in heightmaps at the player's current X/Z coordinates. In the two lines:
* S means WORLD_SURFACE
* O means OCEAN_FLOOR
* M means MOTION_BLOCKING
* ML means MOTION_BLOCKING_NO_LEAVES
{{cmd|execute positioned over}} can change the execution position of the command to one block above the Y-level stored in the specified heightmap. WORLD_SURFACE_WG and OCEAN_FLOOR_WG cannot be used in this command.
== Navigation ==
{{Navbox Java Edition technical|general}}
[[fr:Champ de hauteur]]
[[ja:高度マップ]]
[[pt:Heightmap]]
[[zh:高度图]]