it doesn't work due to a redundant check in the net.minecraft.client.MinecraftClient class, method doItemPick()
For blocks it checks if (type = HitResult.Type.BLOCK)
For entities it checks if (type = HitResult.Type.ENTITY|| !bl)
where bl is only true when the player is in creative mode.
bl is still used later in the code to see if the player can pull items out of creative inventory, but please, remove it from the entity check, im begging
Can confirm in 24w33a.