package org.bukkit.block; /** * Represents a captured state of either a SignPost or a WallSign. */ public interface Sign extends BlockState { /** * Gets all the lines of text currently on this sign. * * @return Array of Strings containing each line of text */ public String[] getLines(); /** * Gets the line of text at the specified index. *
* For example, getLine(0) will return the first line of text. * * @param index Line number to get the text from, starting at 0 * @throws IndexOutOfBoundsException Thrown when the line does not exist * @return Text on the given line */ public String getLine(int index) 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".
*
* @param index Line number to set the text at, starting from 0
* @param line New text to set at the specified index
* @throws IndexOutOfBoundsException If the index is out of the range 0..3
*/
public void setLine(int index, String line) throws IndexOutOfBoundsException;
/**
* Marks whether this sign can be edited by players.
*
* This is a special value, which is not persisted. It should only be if a
* placed sign is manipulated during the BlockPlaceEvent. Behaviour outside
* of this event is undefined.
*
* @return if this sign is currently editable
* @deprecated draft API
*/
@Deprecated
public boolean isEditable();
/**
* Marks whether this sign can be edited by players.
*
* This is a special value, which is not persisted. It should only be if a
* placed sign is manipulated during the BlockPlaceEvent. Behaviour outside
* of this event is undefined.
*
* @param editable if this sign is currently editable
* @deprecated draft API
*/
@Deprecated
public void setEditable(boolean editable);
}