The bug
There's a function in CakeBlock.java
that triggers the block_destroy
game event if the last slice of cake is eaten:
if (n < 6)
{
levelAccessor.setBlock(blockPos, (BlockState)blockState.setValue(BITES, n + 1), 3);
}
else
{
levelAccessor.removeBlock(blockPos, false); levelAccessor.gameEvent((Entity)player, GameEvent.BLOCK_DESTROY, blockPos);
}
However, this does not work correctly in game. If you eat the last slice of cake near a sculk sensor attached to a comparator, it will give a strength of 8, which is the normal eat event, instead of 13, which is the block destroy event.
Relates to MC-213947
it think it is intended.It should be the "cake eating" event.