Files
DeltaZern/paper-api/src/main/java/org/bukkit/block/CommandBlock.java
T
2021-05-28 21:47:39 -07:00

73 lines
2.4 KiB
Java

package org.bukkit.block;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* Represents a captured state of a command block.
*/
public interface CommandBlock extends TileState, io.papermc.paper.command.CommandBlockHolder { // Paper
/**
* Gets the command that this CommandBlock will run when powered.
* This will never return null. If the CommandBlock does not have a
* command, an empty String will be returned instead.
*
* @return Command that this CommandBlock will run when powered.
*/
@NotNull
public String getCommand();
/**
* Sets the command that this CommandBlock will run when powered.
* Setting the command to null is the same as setting it to an empty
* String.
*
* @param command Command that this CommandBlock will run when powered.
*/
public void setCommand(@Nullable String command);
/**
* Gets the name of this CommandBlock. The name is used with commands
* that this CommandBlock executes. This name will never be null, and
* by default is "@".
*
* @return Name of this CommandBlock.
* @deprecated in favour of {@link #name()}
*/
@Deprecated // Paper
@NotNull
public String getName();
/**
* Sets the name of this CommandBlock. The name is used with commands
* that this CommandBlock executes. Setting the name to null is the
* same as setting it to "@".
*
* @param name New name for this CommandBlock.
* @deprecated in favour of {@link #name(net.kyori.adventure.text.Component)}
*/
@Deprecated // Paper
public void setName(@Nullable String name);
// Paper start
/**
* Gets the name of this CommandBlock. The name is used with commands
* that this CommandBlock executes. This name will never be null, and
* by default is a {@link net.kyori.adventure.text.TextComponent} containing {@code @}.
*
* @return Name of this CommandBlock.
*/
public net.kyori.adventure.text.@NotNull Component name();
/**
* Sets the name of this CommandBlock. The name is used with commands
* that this CommandBlock executes. Setting the name to null is the
* same as setting it to a {@link net.kyori.adventure.text.TextComponent} containing {@code @}.
*
* @param name New name for this CommandBlock.
*/
public void name(net.kyori.adventure.text.@Nullable Component name);
// Paper end
}