I'm completely new to Forge, and what I'm trying to do is extremely simple : I want to create a block that damages the player when they break it. But when testing my mod, the world crashes every time I break my block. The error is " io.netty.handler.codec.EncoderException: Failed to encode packet 'clientbound/minecraft:damage_event' "
 
	Here is my code :
 
public class DamagerBlock extends Block {
	
	public DamagerBlock(BlockBehaviour.Properties properties) {
		super(properties);
	}
	
	@Override
	public void playerDestroy(Level level, Player p, BlockPos pos, BlockState state, @Nullable BlockEntity bentity, ItemStack stack) {
        p.awardStat(Stats.BLOCK_MINED.get(this));
        p.causeFoodExhaustion(0.005F);
        System.out.println("The player is taking damage !"); //Just to check that the method is called
        if (!level.isClientSide()) {
        	p.hurt(new DamageSource(new Holder.Direct<DamageType>(new DamageType("magic", 0.F, DamageEffects.HURT))), 5);
        }
        dropResources(state, level, pos, bentity, p, stack, false);
    }
}
	I think I'm actually missing a lot of knowledge about client/server communication, but I just don't know how to properly tell the client that the player takes damage...