Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Minecraft:Block properties/Solid (legacy)

From SAS Gaming Wiki

Template:Hatnote

Template:Partially conjecture Template:Exclusive

The legacy solid Minecraft:block property, usually simply called solid, determines if a block is considered "solid" for a number of game mechanics. It is distinct from many other notions of solidity, such as whether the block is Minecraft:opaque, Minecraft:conductive, has a Minecraft:collision box, is a Minecraft:full block, or allows Minecraft:mob spawning.

The blocks motion block property, also sometimes called blocks movement, motion-blocking, or movement-blocking, is nearly synonymous with legacy solid, with two exceptions: Minecraft:cobwebs and Minecraft:bamboo saplings are legacy solid, but they are not motion-blocking. Since the two properties are so similar, it can be useful to consider motion-blocking a variant of legacy solid rather than a truly distinct property. As such, this article describes the effects of both variants.

Many gameplay mechanics are affected by the legacy solid property, including support for certain attached blocks like Minecraft:candles, conversion of Minecraft:farmland to Minecraft:dirt, destruction of Minecraft:cactus, summoning of Minecraft:iron golems, and Minecraft:pathfinding. Additionally, the blocks motion property influences random Minecraft:teleportation and certain Minecraft:fluid mechanics.

Effects

Template:Missing information

Both legacy solid and blocks motion are arguably misnomers, as many so-called solid blocks do not have Minecraft:collision, do not graphically appear solid, and do not obstruct movement. Rather, these properties exclusively affect the (largely unrelated) game mechanics described in this section.

As the word legacy in legacy solid implies, these properties tend to be used by older game mechanics that predate introduction of other, more granular block properties. In some cases, their continued use may intentionally preserve historical behavior so as not to break players' designs.

Support, placement, and survival conditions

Minecraft:Item frames, Minecraft:glow item frames, and Minecraft:paintings can only be supported by legacy solid blocks and the side faces of Minecraft:redstone repeaters and Minecraft:redstone comparators. Minecraft:Banners, Minecraft:signs, and Minecraft:cakes can only be supported by legacy solid blocks. Other attached blocks, including but not limited to Minecraft:torches, Minecraft:buttons, Minecraft:hanging signs, and, Minecraft:ladders, use other mechanisms to determine whether they have sufficient support and are not affected by the legacy solid property.<ref>https://joakimthorsen.github.io/MCPropertyEncyclopedia/?selection=placement_condition&filter=(placement_condition:No)</ref>

Minecraft:Cactus cannot be placed horizontally adjacent to any legacy solid block, and it uproots and drops as an item if a legacy solid block is placed horizontally adjacent to it.

Minecraft:Dirt path converts to dirt if any legacy solid block other than a Minecraft:fence gate is immediately above it. Minecraft:Farmland converts to dirt if any legacy solid block other than a fence gate or Minecraft:moving piston is immediately above it.

Fluid flow

Template:Main

Flowing Minecraft:water that is adjacent to two water source blocks will only form a new source above legacy solid blocks or other water sources.

File:Water flow with motion blocking.jpg
The upper water source block flows towards the bottom-left source block, but not the bottom-right, because glass blocks motion but Minecraft:ladders do not.

A fluid will only spread towards other blocks it can flow into, but the shape and flow direction of each specific fluid block is affected by which blocks around it are motion-blocking. This means that if a fluid is trying to flow down to a diagonally adjacent fluid of the same type, but is prevented from doing so by a non-motion-blocking block, then the shape and flow direction of the top fluid will behave as if it still could.

Iron golem summoning

Template:Main

Minecraft:Iron golems summoned by panicking Minecraft:villagers can only spawn on top of legacy solid blocks or Minecraft:powder snow. However, there are several exceptions: Iron golems are explicitly prohibited from spawning on top of Minecraft:cactus, Minecraft:glass (including Minecraft:stained glass, Minecraft:tinted glass, and their Minecraft:glass pane variants), Minecraft:leaves, Minecraft:conduits, Minecraft:ice, Minecraft:TNT, Minecraft:glowstone, Minecraft:beacons, Minecraft:sea lanterns, or Minecraft:frosted ice, even though all of those blocks have the legacy solid property.

For historical reasons, the set of blocks naturally summoned iron golems may spawn on top of are sometimes referred to as solid-blocking.

Random wandering and teleportation

When Minecraft:mobs select a random target destination to walk, swim, or fly to, the selected destination is adjusted upwards until it is not inside of any legacy solid block.

When a Minecraft:dolphin checks to see if it can jump, it checks certain blocks along the path of the jump to ensure the path is clear. If the blocks are motion-blocking or do not contain Minecraft:water, the jump fails.

When an Minecraft:enderman teleports, a player teleports by eating a Minecraft:chorus fruit, or a Minecraft:cat teleports just before giving the player a morning gift, the y Minecraft:coordinate of the selected destination is lowered until the block immediately below it blocks motion. This is a necessary but not sufficient condition: the selected destination also must not collide with any blocks or fluids, otherwise the teleportation attempt fails.

Breaking ice

When Minecraft:ice is broken above a motion-blocking block or a Minecraft:fluid, the ice is replaced with a Minecraft:water source block. Otherwise, the ice is simply destroyed and replaced with air like any other block.

Heightmaps

Only blocks that are motion-blocking will be considered as part of the OCEAN_FLOOR and OCEAN_FLOOR_WG Minecraft:heightmaps. It is also used to determine the MOTION_BLOCKING heightmap, with the exception of any block that does not have an empty fluid state (meaning that Minecraft:fluids and waterlogged blocks are excluded). The MOTION_BLOCKING_NO_LEAVES has the additional exception of Minecraft:leaves.

These heightmaps are used for various mechanics related to sky exposure (like Minecraft:weather and Minecraft:ice formation), underwater Minecraft:feature placement (like Minecraft:kelp patches and Minecraft:ocean ruins), Minecraft:mob spawning, and Minecraft:world generation (like making sure underground features like Minecraft:fossils and Minecraft:buried treasure are placed below the ocean floor).

Blocks

A block is considered "solid" if the average of three dimensions (width, depth, height) of the collision box is greater than or equal to 35/48 or if the height of the block is a full block or greater (like for fences and walls).

This is overwritten for some blocks which are defined to be solid regardless of their collision box:

This is overwritten for some blocks which are defined to be non-solid regardless of their collision box:

History

Template:Info needed section Template:HistoryTable

See also

References

Template:Reflist

External links