Certain Vanilla blocks do not respect the minecraft:support shape configuration in a block definition. The full list not respecting the shape is unknown, but it at least includes ladders.
Demonstration
The attached screenshots (attempt to) demonstrate the issue. The custom block is configured to use the same shape configuration as a Vanilla fence, which only supports specific types of blocks on its up and down faces and no attached blocks on its side faces. For example, torches (correctly) cannot be placed on the sides of the custom block. However, ladders can be placed along the custom block’s sides. This is incorrect, as ladders cannot be placed on the sides of a fence post.
Reproduction
This demo screenshots are taken from the behavior pack in the attached world for convenience. This world can be opened (in Minecraft Preview) for inspection or unzipped to access the code associated with such.
Attachments
Comments 4
I can help with this! I’m fairly certain this is a complete list but I haven’t checked education edition items.
Not adhering to side support rule: ladder, vine
Not adhering to top support rule: kelp, twisting vine
Not adhering to bottom support rule: none
From my testing, the blocks listed here actually seem to use (mostly) the same property as comparators use to read chest contents (path blocks, farmland, chains, and chorus plants and flowers also support all of these blocks, as they allow comparator readings (The fact that these blocks allow comparator readings is a separate bug)). Notably, ladders can’t be placed on glass, but vines and twisting vine can (haven’t tested kelp), which suggests that vines and twisting vines check if the block allows comparator signals OR is a full block.
I would suggest trying to set the “redstone_conductor” property to false and see if that fixes it.
Here is another block, called a “canvas”, in the shape of carpet (grass_carried_top texture) that might better demonstrate the issue. Next to it is vanilla carpet (white) and the blocks that can be placed on it comparatively. The canvas is using the following file
{
"format_version": "1.26.10",
"minecraft:block": {
"description": {
"identifier": "canvas:grass_path_top",
"menu_category": {"category": "nature"
},
"traits":{
"minecraft:placement_direction": {
"enabled_states": ["minecraft:facing_direction"]
},
"minecraft:placement_position": {
"enabled_states": ["minecraft:block_face"]
}
}
},
"components": {
// default carried canvas [up facing]
"minecraft:geometry": {
"identifier":"geometry.tp_canvas.map"
},
"minecraft:material_instances": {
"*": {
"face_dimming": true,
"texture": "canvas:grass_path_top"
}
},
"minecraft:support":{"shape":"fence"},
"minecraft:placement_filter":{"conditions": [{"allowed_faces": ["all"]}]},
"minecraft:connection_rule":{
"accepts_connections_from": "none"
},
"minecraft:selection_box": {
"origin": [-8.0, 0.0, -8.0],
"size": [16.0, 1.0, 16.0]
},
"minecraft:collision_box": {
"origin": [-8.0, 0.0, -8.0],
"size": [16.0, 1.0, 16.0]
},
"minecraft:flammable":true,
"minecraft:destructible_by_mining": {"seconds_to_destroy": 0.15},
"minecraft:destruction_particles": {
"particle_count":13,
"texture": "canvas:quartz_block_side"
},
"minecraft:map_color": "#007c00"
},
"permutations": [
{
"condition": "q.block_state('minecraft:block_face') == 'down' && q.block_state('minecraft:facing_direction') == 'north'",
"components": {
"minecraft:transformation": {
"rotation": [180, 0, 0]
},
"minecraft:liquid_detection": {
"detection_rules": [
{
"liquid_type": "water",
"can_contain_liquid": true,
"on_liquid_touches": "no_reaction",
"stops_liquid_flowing_from_direction": ["up","down"]
}
]
}
}
},
{
"condition": "q.block_state('minecraft:block_face') == 'down' && q.block_state('minecraft:facing_direction') == 'south'",
"components": {
"minecraft:transformation": {
"rotation": [180, 180, 0]
},
"minecraft:liquid_detection": {
"detection_rules": [
{
"liquid_type": "water",
"can_contain_liquid": true,
"on_liquid_touches": "no_reaction",
"stops_liquid_flowing_from_direction": ["up","down"]
}
]
}
}
},
{
"condition": "q.block_state('minecraft:block_face') == 'down' && q.block_state('minecraft:facing_direction') == 'west'",
"components": {
"minecraft:transformation": {
"rotation": [180, 90, 0]
},
"minecraft:liquid_detection": {
"detection_rules": [
{
"liquid_type": "water",
"can_contain_liquid": true,
"on_liquid_touches": "no_reaction",
"stops_liquid_flowing_from_direction": ["up","down"]
}
]
}
}
},
{
"condition": "q.block_state('minecraft:block_face') == 'down' && q.block_state('minecraft:facing_direction') == 'east'",
"components": {
"minecraft:transformation": {
"rotation": [180, 270, 0]
},
"minecraft:liquid_detection": {
"detection_rules": [
{
"liquid_type": "water",
"can_contain_liquid": true,
"on_liquid_touches": "no_reaction",
"stops_liquid_flowing_from_direction": ["up","down"]
}
]
}
}
},
{
"condition": "q.block_state('minecraft:block_face') == 'up' && q.block_state('minecraft:facing_direction') == 'north'",
"components": {
"minecraft:transformation": {
"rotation": [0, 0, 0]
},
"minecraft:liquid_detection": {
"detection_rules": [
{
"liquid_type": "water",
"can_contain_liquid": true,
"on_liquid_touches": "no_reaction",
"stops_liquid_flowing_from_direction": ["up","down"]
}
]
}
}
},
{
"condition": "q.block_state('minecraft:block_face') == 'up' && q.block_state('minecraft:facing_direction') == 'south'",
"components": {
"minecraft:transformation": {
"rotation": [0, 180, 0]
},
"minecraft:liquid_detection": {
"detection_rules": [
{
"liquid_type": "water",
"can_contain_liquid": true,
"on_liquid_touches": "no_reaction",
"stops_liquid_flowing_from_direction": ["up","down"]
}
]
}
}
},
{
"condition": "q.block_state('minecraft:block_face') == 'up' && q.block_state('minecraft:facing_direction') == 'west'",
"components": {
"minecraft:transformation": {
"rotation": [0, 90, 0]
},
"minecraft:liquid_detection": {
"detection_rules": [
{
"liquid_type": "water",
"can_contain_liquid": true,
"on_liquid_touches": "no_reaction",
"stops_liquid_flowing_from_direction": ["up","down"]
}
]
}
}
},
{
"condition": "q.block_state('minecraft:block_face') == 'up' && q.block_state('minecraft:facing_direction') == 'east'",
"components": {
"minecraft:transformation": {
"rotation": [0, 270, 0]
},
"minecraft:liquid_detection": {
"detection_rules": [
{
"liquid_type": "water",
"can_contain_liquid": true,
"on_liquid_touches": "no_reaction",
"stops_liquid_flowing_from_direction": ["up","down"]
}
]
}
}
},
{
"condition": "q.block_state('minecraft:block_face') == 'north'",
"components": {
"minecraft:transformation": {
"rotation": [-90, 0, 180]
},
"minecraft:liquid_detection": {
"detection_rules": [
{
"liquid_type": "water",
"can_contain_liquid": true,
"on_liquid_touches": "no_reaction",
"stops_liquid_flowing_from_direction": ["north","south"]
}
]
}
}
},
{
"condition": "q.block_state('minecraft:block_face') == 'south'",
"components": {
"minecraft:transformation": {
"rotation": [90, 0, 0]
},
"minecraft:liquid_detection": {
"detection_rules": [
{
"liquid_type": "water",
"can_contain_liquid": true,
"on_liquid_touches": "no_reaction",
"stops_liquid_flowing_from_direction": ["north","south"]
}
]
}
}
},
{
"condition": "q.block_state('minecraft:block_face') == 'west'",
"components": {
"minecraft:transformation": {
"rotation": [0, -90, 90]
},
"minecraft:liquid_detection": {
"detection_rules": [
{
"liquid_type": "water",
"can_contain_liquid": true,
"on_liquid_touches": "no_reaction",
"stops_liquid_flowing_from_direction": ["east","west"]
}
]
}
}
},
{
"condition": "q.block_state('minecraft:block_face') == 'east'",
"components": {
"minecraft:transformation": {
"rotation": [0, 90, -90]
},
"minecraft:liquid_detection": {
"detection_rules": [
{
"liquid_type": "water",
"can_contain_liquid": true,
"on_liquid_touches": "no_reaction",
"stops_liquid_flowing_from_direction": ["east","west"]
}
]
}
}
}
]
}
}
Thank you for helping us improve Minecraft! We saved your files: