[MC-1788] Ocelots do not spawn naturally on peaceful difficulty in jungle and bamboo jungle biomes Created: 01/Nov/12  Updated: 26/Nov/24

Status: Reopened
Project: Minecraft: Java Edition
Component/s: None
Affects Version/s: Minecraft 1.4.2, 1.16.3, 1.16.4 Pre-release 1, 1.16.4 Pre-release 2, 1.16.4 Release Candidate 1, 1.16.4, 20w45a, 20w46a, 20w48a, 20w49a, 20w51a, 21w03a, 21w05b, 21w11a, 1.17, 21w40a, 1.18.1, 1.19.3, 23w04a, 1.20.1, 23w32a, 1.21 Pre-Release 3, 1.21, 1.21.3
Fix Version/s: None

Type: Bug
Reporter: [Mod] Anthony Cicinelli Assignee: Unassigned
Resolution: Unresolved Votes: 59
Labels: mob, ocelot, peaceful, spawning

Issue Links:
Duplicate
is duplicated by MC-16357 Ocelots spawn using the hostile mob s... Resolved
is duplicated by MC-19742 Peaceful doesn't work with ocelots? Resolved
is duplicated by MC-67851 hostle kitty! Resolved
is duplicated by MC-104824 Ocelots dissapearing after changing d... Resolved
is duplicated by MC-194320 Ocelot spawns Resolved
Relates
relates to MC-118464 Ocelots spawn with peaceful as diffic... Resolved
CHK:
Confirmation Status: Confirmed
Category:
Mob spawning
Mojang Priority: Normal
Area: Gameplay

 Description   

The bug

Despite being friendly mobs, ocelots will not spawn on peaceful in jungle or bamboo jungle biomes

Code Analysis

The reason this happens is because for the mob cap in jungle and bamboo jungle biomes they are counted as monsters instead of creatures

Current Code

net/minecraft/data/worldgen/biome/OverworldBiomes.java
   public static Biome jungle() {
      MobSpawnSettings.Builder mobspawnsettings$builder = new MobSpawnSettings.Builder();
      BiomeDefaultFeatures.baseJungleSpawns(mobspawnsettings$builder);
      mobspawnsettings$builder.addSpawn(MobCategory.CREATURE, new MobSpawnSettings.SpawnerData(EntityType.PARROT, 40, 1, 2)).addSpawn(MobCategory.MONSTER, new MobSpawnSettings.SpawnerData(EntityType.OCELOT, 2, 1, 3)).addSpawn(MobCategory.CREATURE, new MobSpawnSettings.SpawnerData(EntityType.PANDA, 1, 1, 2));
      return baseJungle(0.9F, false, false, true, mobspawnsettings$builder);
   }

   public static Biome bambooJungle() {
      MobSpawnSettings.Builder mobspawnsettings$builder = new MobSpawnSettings.Builder();
      BiomeDefaultFeatures.baseJungleSpawns(mobspawnsettings$builder);
      mobspawnsettings$builder.addSpawn(MobCategory.CREATURE, new MobSpawnSettings.SpawnerData(EntityType.PARROT, 40, 1, 2)).addSpawn(MobCategory.CREATURE, new MobSpawnSettings.SpawnerData(EntityType.PANDA, 80, 1, 2)).addSpawn(MobCategory.MONSTER, new MobSpawnSettings.SpawnerData(EntityType.OCELOT, 2, 1, 1));
      return baseJungle(0.9F, true, false, true, mobspawnsettings$builder);
   }

Fixed Code

net/minecraft/data/worldgen/biome/OverworldBiomes.java
   public static Biome jungle() {
      MobSpawnSettings.Builder mobspawnsettings$builder = new MobSpawnSettings.Builder();
      BiomeDefaultFeatures.baseJungleSpawns(mobspawnsettings$builder);
      //Setting the MobCategory to Creature for Ocelot fixes MC-1788
      mobspawnsettings$builder.addSpawn(MobCategory.CREATURE, new MobSpawnSettings.SpawnerData(EntityType.PARROT, 40, 1, 2)).addSpawn(MobCategory.CREATURE, new MobSpawnSettings.SpawnerData(EntityType.OCELOT, 2, 1, 3)).addSpawn(MobCategory.CREATURE, new MobSpawnSettings.SpawnerData(EntityType.PANDA, 1, 1, 2));
      return baseJungle(0.9F, false, false, true, mobspawnsettings$builder);
   }

   public static Biome bambooJungle() {
      MobSpawnSettings.Builder mobspawnsettings$builder = new MobSpawnSettings.Builder();
      BiomeDefaultFeatures.baseJungleSpawns(mobspawnsettings$builder);
      //Setting the MobCategory to Creature for Ocelot fixes MC-1788
      mobspawnsettings$builder.addSpawn(MobCategory.CREATURE, new MobSpawnSettings.SpawnerData(EntityType.PARROT, 40, 1, 2)).addSpawn(MobCategory.CREATURE, new MobSpawnSettings.SpawnerData(EntityType.PANDA, 80, 1, 2)).addSpawn(MobCategory.CREATURE, new MobSpawnSettings.SpawnerData(EntityType.OCELOT, 2, 1, 1));
      return baseJungle(0.9F, true, false, true, mobspawnsettings$builder);
   }


 Comments   
Comment by Minecraft386882 [ 26/Nov/24 ]

Confirmed in 1.21.4 prerelease 2

Comment by Minecraft386882 [ 10/Nov/24 ]

Can confirm for 1.21.3

Comment by Brain81505 [ 05/Jul/23 ]

Can confirm in 1.20.1

Comment by Brain81505 [ 01/Feb/23 ]

Can confirm in 23w06a

Comment by Brain81505 [ 25/Jan/23 ]

Can confirm in 23w04a

Comment by TomatoClownfish [ 04/Jan/23 ]

Affects 1.19.3

Comment by Sorajima_Asugawa [ 04/Jan/23 ]

Can confirm in 1.19.2.

Comment by HubbiGamingTV [ 22/Jul/22 ]

This is because ocelots are concidered hostile in the code

Comment by Ceresjanin123 [ 09/Oct/21 ]

Can confirm in 21w40a

Comment by Boas Bakker [ 29/Aug/21 ]

The actual bug is that they are in the hostile mob cap, so if you for example have 70 shulkers loaded in singleplayer and you go to a jungle no ocelots will spawn. Solution is to let them be part of passive mob cap, and follow the rules of passive mob spawning

Comment by user-c84db (Inactive) [ 18/Mar/21 ]

Relates to MC-186131.

Comment by [Mod] Avoma [ 18/Mar/21 ]

Can confirm in 21w11a.

Comment by [Mod] Avoma [ 05/Feb/21 ]

Can confirm in 21w05b.

Comment by [Mod] Avoma [ 29/Jan/21 ]

Can confirm in 21w03a.

Comment by [Mod] Avoma [ 08/Jan/21 ]

Can confirm in 20w51a.

Comment by Will Demetrius Yoward [ 06/Nov/20 ]

Ocelots are underneath the monster spawns category in the biome file for jungles. To fix this bug, all they need to do is move it to the passive spawns like every other animal is in. I ran some tests with custom biomes, and Peaceful mode stops any mobs from spawning that are inside the monster spawns category, even if they aren't a monster at all.

Comment by W_V [ 28/Sep/20 ]

I think the category of this should be "Mob Spawning"

Comment by Jonathan Haas [ 12/Feb/15 ]

Both, probably. But the main issue is that they don't spawn naturally in the jungle on peaceful difficulty. Which makes cats completely unavailable when playing on peaceful without cheats.

Comment by KingSupernova [ 12/Feb/15 ]

Could someone clarify the bug going on here? Is it natural spawning, or mob spawners?

Comment by KingSupernova [ 09/Jan/15 ]

Is this bug that ocelots don't spawn naturally, or that they don't spawn from mob spawners? The description seems to be talking about natural spawning, but several of the comments are referring to mob spawners.

Comment by Austin [ 05/Jul/14 ]

yea honestly, ocelots are not hostile in any way shape or form, they are completely neutral even when tamed. so why not make em spawn on peaceful? wolves do, and they are hostile when aggravated. why spawn them with a mob spawner? make it the same spawn thing as wolves.

Comment by Alisha J. [ 20/May/13 ]

^ Exactly!
I still do not believe it works as intended as well.

Comment by Jonathan Haas [ 20/May/13 ]

It may be intentional that mobs spawned with the hostile mob spawner do despawn and don't spawn in peaceful difficulty.

Still, ocelots are not hostile so it makes no sense for them to spawn using the hostile mob spawner. This makes it impossible to get cats on peaceful maps or on servers with hostile mobs disabled, which is just stupid. Please think about this again.

Comment by Alisha J. [ 17/Feb/13 ]

>__< That means they'll never look at it.

Comment by Tails [ 17/Feb/13 ]
[N] = This is not a bug. (It is intended behaviour and will not be changed)

For feature suggestions/changes please use the MineCraft Forums: Suggestions.

Comment by Alisha J. [ 17/Feb/13 ]

It's only they despawn because they were created using a HOSTILE monster spawner - they are not hostile, are they?
Please think it though, give it a chance

Comment by Tails [ 17/Feb/13 ]

Intended, source: http://www.minecraftwiki.net/wiki/Issues/Weekly_12w04a#Bugs_7

Comment by Alisha J. [ 05/Feb/13 ]

What about wolves though? They can even attack You, but they still spawn on the easiest difficulty.

Comment by Kumasasa [ 04/Feb/13 ]

Confirmed but unknown if intended.
Ocelots are considered as "Monster" for the game, so that they don't spawn in peaceful.

Comment by Alisha J. [ 07/Nov/12 ]

Thank You!! 😊

Comment by Alexander Hammett [ 05/Nov/12 ]

Here, have an upvote

Comment by Alisha J. [ 05/Nov/12 ]

^ Hi five! That also annoys me, that's why I brought it up here.
If You could please just vote it up, so it's more likely it'll get noticed…

Comment by Alexander Hammett [ 05/Nov/12 ]

Yes, annoyed me from the very beginning

Comment by Alisha J. [ 05/Nov/12 ]

Yes of course.

Comment by Brandon Bourgeois [ 05/Nov/12 ]

Were you in the jungle, which is the only biome they naturally spawn in?

Generated at Sun Jan 12 11:55:38 UTC 2025 using Jira 9.12.2#9120002-sha1:301bf498dd45d800842af0b84230f1bb58606c13.