spigot/CraftBukkit-Patches/0117-Don-t-spawn-bonus-ocelots-when-plugins-spawn-ocelots.patch
2016-09-05 17:35:26 +10:00

47 lines
2.1 KiB
Diff

From 181c134a28a1c2841cc5f77eccc145c2766b9a4d Mon Sep 17 00:00:00 2001
From: Thinkofdeath <thinkofdeath@spigotmc.org>
Date: Sat, 19 Jul 2014 12:49:48 +0100
Subject: [PATCH] Don't spawn bonus ocelots when plugins spawn ocelots
diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java
index a879f3f..149bd01 100644
--- a/src/main/java/net/minecraft/server/EntityOcelot.java
+++ b/src/main/java/net/minecraft/server/EntityOcelot.java
@@ -8,6 +8,7 @@ public class EntityOcelot extends EntityTameableAnimal {
private static final DataWatcherObject<Integer> bB = DataWatcher.a(EntityOcelot.class, DataWatcherRegistry.b);
private PathfinderGoalAvoidTarget<EntityHuman> bC;
private PathfinderGoalTempt bD;
+ public boolean spawnBonus = true; // Spigot
public EntityOcelot(World world) {
super(world);
@@ -239,7 +240,7 @@ public class EntityOcelot extends EntityTameableAnimal {
@Nullable
public GroupDataEntity prepare(DifficultyDamageScaler difficultydamagescaler, @Nullable GroupDataEntity groupdataentity) {
groupdataentity = super.prepare(difficultydamagescaler, groupdataentity);
- if (this.getCatType() == 0 && this.world.random.nextInt(7) == 0) {
+ if (spawnBonus && this.getCatType() == 0 && this.world.random.nextInt(7) == 0) { // Spigot
for (int i = 0; i < 2; ++i) {
EntityOcelot entityocelot = new EntityOcelot(this.world);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 8a7098b..b1e4026 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1114,6 +1114,12 @@ public class CraftWorld implements World {
}
if (entity != null) {
+ // Spigot start
+ if (entity instanceof EntityOcelot)
+ {
+ ( (EntityOcelot) entity ).spawnBonus = false;
+ }
+ // Spigot end
return entity;
}
--
2.7.4