Interface Sign

All Superinterfaces:
BlockState, Colorable, Metadatable, PersistentDataHolder, TileState

public interface Sign
extends TileState, Colorable
Represents a captured state of either a SignPost or a WallSign.
  • Method Details

    • getLines

      @NotNull String[] getLines()
      Gets all the lines of text currently on this sign.
      Returns:
      Array of Strings containing each line of text
    • getLine

      @NotNull String getLine​(int index) throws IndexOutOfBoundsException
      Gets the line of text at the specified index.

      For example, getLine(0) will return the first line of text.

      Parameters:
      index - Line number to get the text from, starting at 0
      Returns:
      Text on the given line
      Throws:
      IndexOutOfBoundsException - Thrown when the line does not exist
    • setLine

      void setLine​(int index, @NotNull String line) throws IndexOutOfBoundsException
      Sets the line of text at the specified index.

      For example, setLine(0, "Line One") will set the first line of text to "Line One".

      Parameters:
      index - Line number to set the text at, starting from 0
      line - New text to set at the specified index
      Throws:
      IndexOutOfBoundsException - If the index is out of the range 0..3
    • isEditable

      boolean isEditable()
      Marks whether this sign can be edited by players.
      This is a special value, which is not persisted. It should only be set if a placed sign is manipulated during the BlockPlaceEvent. Behaviour outside of this event is undefined.
      Returns:
      if this sign is currently editable
    • setEditable

      void setEditable​(boolean editable)
      Marks whether this sign can be edited by players.
      This is a special value, which is not persisted. It should only be set if a placed sign is manipulated during the BlockPlaceEvent. Behaviour outside of this event is undefined.
      Parameters:
      editable - if this sign is currently editable