43 Zeilen
1.9 KiB
Diff
43 Zeilen
1.9 KiB
Diff
--- a/net/minecraft/server/EntityOcelot.java
|
|
+++ b/net/minecraft/server/EntityOcelot.java
|
|
@@ -81,7 +81,7 @@
|
|
|
|
@Override
|
|
public boolean isTypeNotPersistent(double d0) {
|
|
- return !this.isTrusting() && this.ticksLived > 2400;
|
|
+ return !this.isTrusting() /*&& this.ticksLived > 2400*/; // CraftBukkit
|
|
}
|
|
|
|
@Override
|
|
@@ -132,7 +132,8 @@
|
|
if ((this.bC == null || this.bC.h()) && !this.isTrusting() && this.i(itemstack) && entityhuman.h((Entity) this) < 9.0D) {
|
|
this.a(entityhuman, itemstack);
|
|
if (!this.world.isClientSide) {
|
|
- if (this.random.nextInt(3) == 0) {
|
|
+ // CraftBukkit - added event call and isCancelled check
|
|
+ if (this.random.nextInt(3) == 0 && !org.bukkit.craftbukkit.event.CraftEventFactory.callEntityTameEvent(this, entityhuman).isCancelled()) {
|
|
this.setTrusting(true);
|
|
this.s(true);
|
|
this.world.broadcastEntityEffect(this, (byte) 41);
|
|
@@ -217,7 +218,7 @@
|
|
|
|
entityocelot.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, 0.0F);
|
|
entityocelot.setAgeRaw(-24000);
|
|
- this.world.addEntity(entityocelot);
|
|
+ this.world.addEntity(entityocelot, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.OCELOT_BABY); // CraftBukkit - add SpawnReason
|
|
}
|
|
|
|
}
|
|
@@ -253,9 +254,9 @@
|
|
private final EntityOcelot i;
|
|
|
|
public a(EntityOcelot entityocelot, Class<T> oclass, float f, double d0, double d1) {
|
|
- Predicate predicate = IEntitySelector.e;
|
|
+ // Predicate predicate = IEntitySelector.e; // CraftBukkit - decompile error
|
|
|
|
- super(entityocelot, oclass, f, d0, d1, predicate::test);
|
|
+ super(entityocelot, oclass, f, d0, d1, IEntitySelector.e::test); // CraftBukkit - decompile error
|
|
this.i = entityocelot;
|
|
}
|
|
|