The bug
The following is based on a decompiled version of Minecraft 1.9 using MCP 9.24 beta.
The method net.minecraft.block.state.BlockStateContainer.StateImplementation.withProperty(IProperty<T>, V)
throws an IllegalArgumentException
if a invalid value for a property is given. This is problematic because there are multiple situations in which the user can directly provide a value.
I would instead expect it to ignore this property but print a error message in the log.
How to reproduce
Use the following superflat preset
3;minecraft:hopper:1;1;
The game will crash because the value "1" is invalid as facing value (it would be "up")
Linked issues
is blocked by 1
Attachments
Comments 2
This issue can no longer be reproduced due to the resolution of MC-118624.
Cannot reproduce this in 20w07a also due to MC-118624.
The general solution proposed here to ignore unknown properties and log them might not actually be that good.