/** * Gets all entities that can be assigned to the specified class. Args: entityClass, aabb, * listToFill */ public void getEntitiesOfTypeWithinAAAB( Class par1Class, AxisAlignedBB par2AxisAlignedBB, List par3List, IEntitySelector par4IEntitySelector) { int var5 = MathHelper.floor_double((par2AxisAlignedBB.minY - 2.0D) / 16.0D); int var6 = MathHelper.floor_double((par2AxisAlignedBB.maxY + 2.0D) / 16.0D); if (var5 < 0) { var5 = 0; } else if (var5 >= this.entityLists.length) { var5 = this.entityLists.length - 1; } if (var6 >= this.entityLists.length) { var6 = this.entityLists.length - 1; } else if (var6 < 0) { var6 = 0; } for (int var7 = var5; var7 <= var6; ++var7) { List var8 = this.entityLists[var7]; for (int var9 = 0; var9 < var8.size(); ++var9) { Entity var10 = (Entity) var8.get(var9); if (par1Class.isAssignableFrom(var10.getClass()) && var10.boundingBox.intersectsWith(par2AxisAlignedBB) && (par4IEntitySelector == null || par4IEntitySelector.isEntityApplicable(var10))) { par3List.add(var10); } } } }
/** * Fills the given list of all entities that intersect within the given bounding box that aren't * the passed entity Args: entity, aabb, listToFill */ public void getEntitiesWithinAABBForEntity( Entity par1Entity, AxisAlignedBB par2AxisAlignedBB, List par3List, IEntitySelector par4IEntitySelector) { int var5 = MathHelper.floor_double((par2AxisAlignedBB.minY - 2.0D) / 16.0D); int var6 = MathHelper.floor_double((par2AxisAlignedBB.maxY + 2.0D) / 16.0D); if (var5 < 0) { var5 = 0; var6 = Math.max(var5, var6); } if (var6 >= this.entityLists.length) { var6 = this.entityLists.length - 1; var5 = Math.min(var5, var6); } for (int var7 = var5; var7 <= var6; ++var7) { List var8 = this.entityLists[var7]; for (int var9 = 0; var9 < var8.size(); ++var9) { Entity var10 = (Entity) var8.get(var9); if (var10 != par1Entity && var10.boundingBox.intersectsWith(par2AxisAlignedBB) && (par4IEntitySelector == null || par4IEntitySelector.isEntityApplicable(var10))) { par3List.add(var10); Entity[] var11 = var10.getParts(); if (var11 != null) { for (int var12 = 0; var12 < var11.length; ++var12) { var10 = var11[var12]; if (var10 != par1Entity && var10.boundingBox.intersectsWith(par2AxisAlignedBB) && (par4IEntitySelector == null || par4IEntitySelector.isEntityApplicable(var10))) { par3List.add(var10); } } } } } } }
static { b = Predicates.and(IEntitySelector.IS_ALIVE, IEntitySelector.a(0.0D, 128.0D, 0.0D, 192.0D)); }