package pneumaticCraft.api.universalSensor; import java.util.List; import java.util.Set; import net.minecraft.client.gui.FontRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.ChunkPosition; import net.minecraft.world.World; import org.lwjgl.util.Rectangle; public interface IBlockAndCoordinatePollSensor{ /** * See {@link ISensorSetting#getSensorPath()} * @return */ public String getSensorPath(); /** * See {@link ISensorSetting#needsTextBox()} * @return */ public boolean needsTextBox(); /** * See {@link ISensorSetting#needsSlot()} * @return */ public Rectangle needsSlot(); /** * See {@link ISensorSetting#getDescription()} * @return */ public List<String> getDescription(); /** * See {@link IPollSensorSetting#getRedstoneValue(World, int, int, int, int, String)} , but this has the GPS tracked coordinates * as extra parameters. This method will only invoke with a valid GPS tool, and when all the coordinates are within range. * @param world * @param x * @param y * @param z * @param sensorRange * @param textBoxText * @param positions When only one GPS Tool is inserted this contains the position of just that tool. If two GPS Tools are inserted, These are both corners of a box, and every coordinate in this box is added to the positions argument. * @return */ public int getRedstoneValue(World world, int x, int y, int z, int sensorRange, String textBoxText, Set<ChunkPosition> positions); /** * See {@link IPollSensorSetting#getPollFrequency(TileEntity)} * @return */ public int getPollFrequency(); /** * Called by GuiScreen#drawScreen this method can be used to render additional things like status/info text. * @param fontRenderer */ public void drawAdditionalInfo(FontRenderer fontRenderer); }