--- a/net/minecraft/world/entity/animal/EntityOcelot.java +++ b/net/minecraft/world/entity/animal/EntityOcelot.java @@ -133,7 +133,7 @@ @Override public boolean isTypeNotPersistent(double d0) { - return !this.isTrusting() && this.tickCount > 2400; + return !this.isTrusting() /*&& this.ticksLived > 2400*/; // CraftBukkit } public static AttributeProvider.Builder p() { @@ -182,7 +182,8 @@ if ((this.temptGoal == null || this.temptGoal.h()) && !this.isTrusting() && this.n(itemstack) && entityhuman.f((Entity) this) < 9.0D) { this.a(entityhuman, enumhand, itemstack); if (!this.level.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.w(true); this.level.broadcastEntityEffect(this, (byte) 41); @@ -312,10 +313,10 @@ private final EntityOcelot ocelot; public a(EntityOcelot entityocelot, Class oclass, float f, double d0, double d1) { - Predicate predicate = IEntitySelector.NO_CREATIVE_OR_SPECTATOR; + // Predicate predicate = IEntitySelector.NO_CREATIVE_OR_SPECTATOR; // CraftBukkit - decompile error - Objects.requireNonNull(predicate); - super(entityocelot, oclass, f, d0, d1, predicate::test); + // Objects.requireNonNull(predicate); // CraftBukkit - decompile error + super(entityocelot, oclass, f, d0, d1, IEntitySelector.NO_CREATIVE_OR_SPECTATOR::test); // CraftBukkit - decompile error this.ocelot = entityocelot; }