mojira.dev
MCPE-236312

Some Vanilla blocks disrespect support block component configuration

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

Thank you for helping us improve Minecraft! We saved your files:

[media][media][media]

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.

minecraft_support_not_working.png

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"]
							}
						]
					}
				}
			}
		]
	}
}

Ciosciaa

(Unassigned)

1564144

Confirmed

Multiple

26.10.23 Preview

Retrieved