diff --git a/src/main/java/com/sorrowmist/useless/compat/neoecoae/compact/block/CompactC9Block.java b/src/main/java/com/sorrowmist/useless/compat/neoecoae/compact/block/CompactC9Block.java index f5a70d6d..a00646e1 100644 --- a/src/main/java/com/sorrowmist/useless/compat/neoecoae/compact/block/CompactC9Block.java +++ b/src/main/java/com/sorrowmist/useless/compat/neoecoae/compact/block/CompactC9Block.java @@ -30,6 +30,12 @@ protected void createBlockStateDefinition(StateDefinition.Builder Block.dropResources(state, level, pos, blockEntity, player, ItemStack.EMPTY)); + drops.verifyNoMoreInteractions(); + verify(level).isClientSide(); + verify(level).getBlockEntity(pos); + verifyNoMoreInteractions(level); + } + } + + @Test + void survivalBreakLeavesDropsToTheNormalHarvestPath() { + Level level = mock(Level.class); + Player player = mock(Player.class); + BlockState state = mock(BlockState.class); + + try (var drops = mockStatic(Block.class)) { + CompactMachineDrops.dropForCreativePlayer(level, BlockPos.ZERO, state, player); + + drops.verifyNoInteractions(); + verify(level).isClientSide(); + verifyNoMoreInteractions(level); + } + } + + @Test + void clientDoesNotReadTheBlockEntityOrSpawnDuplicateDrops() { + Level level = mock(Level.class); + when(level.isClientSide()).thenReturn(true); + Player player = mock(Player.class); + BlockState state = mock(BlockState.class); + + try (var drops = mockStatic(Block.class)) { + CompactMachineDrops.dropForCreativePlayer(level, BlockPos.ZERO, state, player); + + drops.verifyNoInteractions(); + verify(level).isClientSide(); + verifyNoMoreInteractions(level); + verifyNoInteractions(player); + } + } +}