--- a/net/minecraft/server/EntityCat.java
+++ b/net/minecraft/server/EntityCat.java
@@ -15,7 +15,7 @@
     private static final DataWatcherObject<Boolean> bA = DataWatcher.a(EntityCat.class, DataWatcherRegistry.i);
     private static final DataWatcherObject<Boolean> bB = DataWatcher.a(EntityCat.class, DataWatcherRegistry.i);
     private static final DataWatcherObject<Integer> bC = DataWatcher.a(EntityCat.class, DataWatcherRegistry.b);
-    public static final Map<Integer, MinecraftKey> bx = (Map) SystemUtils.a((Object) Maps.newHashMap(), (hashmap) -> {
+    public static final Map<Integer, MinecraftKey> bx = (Map) SystemUtils.a(Maps.newHashMap(), (hashmap) -> { // CraftBukkit - decompile error
         hashmap.put(0, new MinecraftKey("textures/entity/cat/tabby.png"));
         hashmap.put(1, new MinecraftKey("textures/entity/cat/black.png"));
         hashmap.put(2, new MinecraftKey("textures/entity/cat/red.png"));
@@ -341,7 +341,7 @@
                 }
             } else if (this.k(itemstack)) {
                 this.a(entityhuman, itemstack);
-                if (this.random.nextInt(3) == 0) {
+                if (this.random.nextInt(3) == 0 && !org.bukkit.craftbukkit.event.CraftEventFactory.callEntityTameEvent(this, entityhuman).isCancelled()) { // CraftBukkit
                     this.tame(entityhuman);
                     this.setWillSit(true);
                     this.world.broadcastEntityEffect(this, (byte) 7);
@@ -529,7 +529,7 @@
     static class PathfinderGoalTemptChance extends PathfinderGoalTempt {
 
         @Nullable
-        private EntityHuman chosenTarget;
+        private EntityLiving chosenTarget; // CraftBukkit
         private final EntityCat d;
 
         public PathfinderGoalTemptChance(EntityCat entitycat, double d0, RecipeItemStack recipeitemstack, boolean flag) {
@@ -564,9 +564,9 @@
         private final EntityCat i;
 
         public a(EntityCat entitycat, Class<T> oclass, float f, double d0, double d1) {
-            Predicate predicate = IEntitySelector.e;
+            // Predicate predicate = IEntitySelector.e; // CraftBukkit - decompile error
 
-            super(entitycat, oclass, f, d0, d1, predicate::test);
+            super(entitycat, oclass, f, d0, d1, IEntitySelector.e::test); // CraftBukkit - decompile error
             this.i = entitycat;
         }