Class WorldGlobalVariableSensor

java.lang.Object
me.desht.pneumaticcraft.common.sensor.pollSensors.WorldGlobalVariableSensor
All Implemented Interfaces:
IBaseSensor, IPollSensorSetting, ISensorSetting
Direct Known Subclasses:
WorldGlobalVariableAnalogSensor

public class WorldGlobalVariableSensor extends Object implements IPollSensorSetting
  • Field Details

    • playerID

      protected UUID playerID
  • Constructor Details

    • WorldGlobalVariableSensor

      public WorldGlobalVariableSensor()
  • Method Details

    • getSensorPath

      public String getSensorPath()
      Description copied from interface: IBaseSensor
      Return the button path the player has to follow in which this setting is stored. For instance, when the sensor should be located in player and is called speed, you should return "player/speed".
      Specified by:
      getSensorPath in interface IBaseSensor
      Returns:
      a string path to the sensor
    • getRequiredUpgrades

      public Set<PNCUpgrade> getRequiredUpgrades()
      Description copied from interface: IBaseSensor
      Return the upgrades required by this sensor. This will automatically include a GPS Tool for sensors that require a location.
      Specified by:
      getRequiredUpgrades in interface IBaseSensor
      Returns:
      a set of upgrades
    • needsTextBox

      public boolean needsTextBox()
      Description copied from interface: IBaseSensor
      Should this sensor's GUI display a text box for extra information to be entered?
      Specified by:
      needsTextBox in interface IBaseSensor
      Returns:
      true if this sensor needs a text box, false otherwise
    • getPollFrequency

      public int getPollFrequency(net.minecraft.world.level.block.entity.BlockEntity te)
      Description copied from interface: IPollSensorSetting
      The value returned here is the interval between every check in ticks (i.e. how frequently IPollSensorSetting.getRedstoneValue(Level, BlockPos, int, String) should be called. Consider increasing the interval when that method is resource-intensive.
      Specified by:
      getPollFrequency in interface IPollSensorSetting
      Parameters:
      te - universal sensor
      Returns:
      the interval in ticks between polling operations
    • getRedstoneValue

      public int getRedstoneValue(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, int sensorRange, String textBoxText)
      Description copied from interface: IPollSensorSetting
      Called regularly by the Universal Sensor block entity to calculate the output redstone value 0-15 of this sensor. When this sensor is digital, just return 0 or 15.
      Specified by:
      getRedstoneValue in interface IPollSensorSetting
      Parameters:
      level - the world
      pos - the blockpos to test
      sensorRange - range of the sensor, based on the number of Range Upgrades inserted in the Universal Sensor.
      textBoxText - any text typed in the textfield of the Universal Sensor GUI.
      Returns:
      level of the redstone signal that the Universal Sensor block should emit
    • getAdditionalInfo

      public void getAdditionalInfo(List<net.minecraft.network.chat.Component> info)
      Description copied from interface: IBaseSensor
      Return some descriptive text to be displayed above the optional textbox
      Specified by:
      getAdditionalInfo in interface IBaseSensor
      Parameters:
      info - a text component list to be appended to
    • setPlayerContext

      public void setPlayerContext(UUID playerID)
      Description copied from interface: IPollSensorSetting
      Called immediately before IPollSensorSetting.getRedstoneValue(Level, BlockPos, int, String) to set up the player context, if necessary. If this sensor doesn't care about player context, there's no need to override this.
      Specified by:
      setPlayerContext in interface IPollSensorSetting
      Parameters:
      playerID - unique ID for the player who placed down the calling Universal Sensor
    • getTextBoxOptions

      public List<String> getTextBoxOptions(net.minecraft.world.entity.player.Player player)
      Description copied from interface: IBaseSensor
      If a textbox is to be displayed (see IBaseSensor.needsTextBox()), this can be used to return a list of possible values. If this returns a non-null result, the textbox will become a combo box with a drop-down for the values returned.
      Specified by:
      getTextBoxOptions in interface IBaseSensor
      Parameters:
      player - the client player
      Returns:
      a list of possible values, or null if the textbox should be purely free-form