package pneumaticCraft.api.universalSensor; import java.util.List; import net.minecraft.entity.Entity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; public abstract class EntityPollSensor implements IPollSensorSetting{ @Override public String getSensorPath(){ return "entityTracker"; } @Override public int getPollFrequency(TileEntity te){ return 1; } @Override public int getRedstoneValue(World world, int x, int y, int z, int sensorRange, String textBoxText){ AxisAlignedBB aabb = AxisAlignedBB.getBoundingBox(x - sensorRange, y - sensorRange, z - sensorRange, x + 1 + sensorRange, y + 1 + sensorRange, z + 1 + sensorRange); return getRedstoneValue(world.getEntitiesWithinAABB(getEntityTracked(), aabb), textBoxText); } public abstract Class getEntityTracked(); public abstract int getRedstoneValue(List<Entity> entities, String textBoxText); }