--- a/net/minecraft/world/level/block/BlockBeehive.java
+++ b/net/minecraft/world/level/block/BlockBeehive.java
@@ -105,7 +105,7 @@
                 EntityBee entitybee = (EntityBee) iterator.next();
 
                 if (entitybee.getTarget() == null) {
-                    entitybee.setTarget((EntityLiving) list1.get(world.random.nextInt(i)));
+                    entitybee.setTarget((EntityLiving) list1.get(world.random.nextInt(i)), org.bukkit.event.entity.EntityTargetEvent.TargetReason.CLOSEST_PLAYER, true); // CraftBukkit
                 }
             }
         }
@@ -331,4 +331,16 @@
 
         return super.updateShape(iblockdata, enumdirection, iblockdata1, generatoraccess, blockposition, blockposition1);
     }
+
+    // CraftBukkit start - fix MC-227255
+    @Override
+    public IBlockData rotate(IBlockData iblockdata, EnumBlockRotation enumblockrotation) {
+        return iblockdata.setValue(BlockBeehive.FACING, enumblockrotation.rotate(iblockdata.getValue(BlockBeehive.FACING)));
+    }
+
+    @Override
+    public IBlockData mirror(IBlockData iblockdata, EnumBlockMirror enumblockmirror) {
+        return iblockdata.rotate(enumblockmirror.getRotation(iblockdata.getValue(BlockBeehive.FACING)));
+    }
+    // CraftBukkit end
 }
