Parrots will not spawn unless they were pre-generated with the world, once dead or tamed no new one will spawn.
Create a Superflat world with the following preset
3;minecraft:bedrock,45*minecraft:dirt,minecraft:grass;21
Kill all other currently existing entities
/kill @e[type=!player]
Wait some time
You will get ocelots spawning but no parrots
You can repeat with [code]3;minecraft:bedrock,45*minecraft:dirt,minecraft:grass;21;decoration[/code
It is the same result.
If you create a normal world and then use something like mcedit to remove all blocks then just put grass down in the jungle only ocelots spawn. Putting grass can be done manually or with fill command or making structure block for it.
For all above i recommend changing gamerules for daylightcycle and weather such you only dealing with ocelots and parrots you can also setup a counter system with the command blocks
Linked issues
relates to 2
Comments 10
Sorry, cannot confirm anymore. Only happened for me in combination with MC-118464.
Ticket is invalid. Parrot spawning works as intended, even after the initial world generation. They spawn on grass blocks as well as logs. Using a super flat world that only contains blocks in the first sub-chunk of every chunk helps a lot when testing mob spawning (no block higher than Y=15).
what do you mean by this "Using a super flat world that only contains blocks in the first sub-chunk of every chunk helps a lot when testing mob spawning (no block higher than Y=15)."
if i am reading your saying it only works at y level 15 and below if so then that is bug to as it should work at all levels.
Oh thank you for info about logs thought they spawned on other things but grass.
Unable to reproduce in 1.12.2 or 18w02a. Generated a superflat world with the preset below,
killed all entities, and watched as parrots spawned around me.
3;1*minecraft:bedrock,45*minecraft:dirt,1*minecraft:grass,1*minecraft:log;21;
Do you see in F3 menu Biome: Jungle?