AxisAlignedBB box = AxisAlignedBB.getBoundingBox(getX(), getY(), getZ(), getX() + 1, getY() + 1, getZ() + 1);
box = box.expand(a, a, a);
List entities = getWorld().getEntitiesWithinAABB(EntityLivingBase.class, box);
if (entities.size() > 0) {
EntityLivingBase entity = (EntityLivingBase) entities.get(MiscTools.getRand().nextInt(entities.size()));
if (entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) entity;
if (player.isSneaking()) {
return;
}
ItemStack current = player.getCurrentEquippedItem();
if (current != null && current.getItem() instanceof IToolCrowbar) {
return;
}
} else if (excludedEntities.contains(entity.getClass())) {
return;
} else if (entity instanceof EntitySlime) {
EntitySlime slime = (EntitySlime) entity;
if (slime.getSlimeSize() >= 100)
return;
}
if (entity.ridingEntity == null) {
EffectManager.instance.teleportEffect(entity, cart.posX, cart.posY, cart.posZ);
entity.mountEntity(cart);
}
}
}
}