// Path: src/main/java/crazypants/enderzoo/entity/IFlyingMob.java
// public interface IFlyingMob extends IEnderZooMob {
// 
//   float getMaxTurnRate();
//   
//   float getMaxClimbRate();
//   
//   FlyingPathNavigate getFlyingNavigator();
//   
//   EntityCreature asEntityCreature();
// }


import crazypants.enderzoo.entity.IFlyingMob;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityCreature;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.ai.EntityAIBase;
import net.minecraft.pathfinding.Path;
import net.minecraft.pathfinding.PathPoint;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;
package crazypants.enderzoo.entity.ai;


public class EntityAIFlyingAttackOnCollide extends EntityAIBase {
  
  private EntityCreature attacker;
  private int attackTick;
  private double speedTowardsTarget;
  private boolean longMemory;
  private Path entityPathEntity;
  private Class<? extends Entity> classTarget;
  private int delayCounter;
  private double targetX;
  private double targetY;
  private double targetZ;
  private int failedPathFindingPenalty = 0;
  private boolean canPenalize = false;  
// Path: src/main/java/crazypants/enderzoo/entity/IFlyingMob.java
// public interface IFlyingMob extends IEnderZooMob {
// 
//   float getMaxTurnRate();
//   
//   float getMaxClimbRate();
//   
//   FlyingPathNavigate getFlyingNavigator();
//   
//   EntityCreature asEntityCreature();
// }


// Path: src/main/java/crazypants/enderzoo/entity/ai/EntityAIFlyingAttackOnCollide.java
import crazypants.enderzoo.entity.IFlyingMob;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityCreature;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.ai.EntityAIBase;
import net.minecraft.pathfinding.Path;
import net.minecraft.pathfinding.PathPoint;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;

package crazypants.enderzoo.entity.ai;


public class EntityAIFlyingAttackOnCollide extends EntityAIBase {
  
  private EntityCreature attacker;
  private int attackTick;
  private double speedTowardsTarget;
  private boolean longMemory;
  private Path entityPathEntity;
  private Class<? extends Entity> classTarget;
  private int delayCounter;
  private double targetX;
  private double targetY;
  private double targetZ;
  private int failedPathFindingPenalty = 0;
  private boolean canPenalize = false;  
  private IFlyingMob flyingMob;