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")
This issue can no longer be reproduced due to the resolution of MC-118624.