mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-27 23:10:16 +01:00
More CommandBlock API
This commit is contained in:
parent
c8e36cb205
commit
b4f3eb5fa1
3 changed files with 59 additions and 2 deletions
|
@ -0,0 +1,57 @@
|
|||
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 <a href="https://minecraft.wiki/wiki/Command_Block#Success_count">Command_Block#Success_count</a>
|
||||
*
|
||||
* @return the success count
|
||||
*/
|
||||
int getSuccessCount();
|
||||
|
||||
/**
|
||||
* Sets the success count from this command block.
|
||||
* @see <a href="https://minecraft.wiki/wiki/Command_Block#Success_count">Command_Block#Success_count</a>
|
||||
*
|
||||
* @param successCount the success count
|
||||
*/
|
||||
void setSuccessCount(int successCount);
|
||||
}
|
|
@ -6,7 +6,7 @@ import org.jetbrains.annotations.Nullable;
|
|||
/**
|
||||
* Represents a captured state of a command block.
|
||||
*/
|
||||
public interface CommandBlock extends TileState {
|
||||
public interface CommandBlock extends TileState, io.papermc.paper.command.CommandBlockHolder { // Paper
|
||||
|
||||
/**
|
||||
* Gets the command that this CommandBlock will run when powered.
|
||||
|
|
|
@ -4,7 +4,7 @@ import org.bukkit.entity.Minecart;
|
|||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public interface CommandMinecart extends Minecart {
|
||||
public interface CommandMinecart extends Minecart, io.papermc.paper.command.CommandBlockHolder { // Paper
|
||||
|
||||
/**
|
||||
* Gets the command that this CommandMinecart will run when activated.
|
||||
|
|
Loading…
Reference in a new issue