Before, EHM checked block against placed block.
When we click grass, placeEvent.getBlockAgainst() returns WALL_TORCH.
This is because clicked block was grass. But real location on which torch will be placed is grass location.
Like this.
As a result, EHM think "Clicked block was not soft, torch can be attached here".
Now we cannot put torch in this case.
Before, EHM checked block against placed block. When we click grass,
placeEvent.getBlockAgainst()
returnsWALL_TORCH
. This is because clicked block was grass. But real location on which torch will be placed is grass location. Like this. As a result, EHM think "Clicked block was not soft, torch can be attached here".