Minecraft – How to stop thrown eggs from spawning chickens

minecraft-commandsminecraft-java-edition

I'm using retextured snowballs and eggs for the different paintballs for two teams in a paintball map, so I can't replace the eggs with snowballs.

I have tried using /gamerule doMobSpawning false, but that still allows the chickens to spawn. I have also tried using /tp @e[type=Chicken] 0 0 0 on a repeating command block to quietly remove the chicken, but there's still a very noticeable frame where the chicken is visible. /effect @e[type=Chicken] minecraft:invisibility 10 1 false isn't fast enough, either.

I'm not using any plugins or mods.

tl;dr Without snowballs, how can I stop chickens from appearing for even a single frame.

Best Answer

Just random ideas:

  1. Ender pearls. You can empty the thrower tag to not teleport players around. But I don't know if ender pearls fly farther than snow balls. In that case one team would have an advantage.

  2. Custom ground/hit detection: Depending on what your game needs are, you could detect if there's a block closely under the egg or a player nearby or whatever. But that could be hard to do without strange side effects (like hitting when in reality missing barely).

  3. You could combine the custom hit detection with teleporting a pearl or arrow to it (I think that copies the motion, I'm not sure, it's a long time ago that I checked) and kill it after a few ticks if it didn't hit. That way it would hit the ground/player and hopefully avoid the disadvantages of 1 and 2.

  4. Make chickens invisible with a texture pack. If that works in your map. If you don't need chickens anywhere else, this is the easiest and best solution. Only F3+B would still show them for a frame.