package io.papermc.paper.command;
import net.kyori.adventure.text.Component;
import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
@NullMarked
public interface CommandBlockHolder {
/**
* 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 activated.
*/
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 activated.
*/
void setCommand(@Nullable String command);
/**
* Gets the last output from this command block.
*
* @return the last output
*/
Component lastOutput();
/**
* Sets the last output from this command block.
*
* @param lastOutput the last output
*/
void lastOutput(@Nullable Component lastOutput);
/**
* Gets the success count from this command block.
* @see Command_Block#Success_count
*
* @return the success count
*/
int getSuccessCount();
/**
* Sets the success count from this command block.
* @see Command_Block#Success_count
*
* @param successCount the success count
*/
void setSuccessCount(int successCount);
}