Interface CommandBlock

All Superinterfaces:
Audience, BlockEntity, Contextual, CopyableDataHolder, DataHolder, DataHolder.Mutable, DataSerializable, LocaleSource, Locatable, Nameable, Pointered, SerializableDataHolder, SerializableDataHolder.Mutable, Subject, ValueContainer

public interface CommandBlock extends BlockEntity, Subject, LocaleSource, Nameable, Audience
Represents a Command Block.
  • Method Details

    • execute

      void execute()
      Executes the currently stored command.
    • storedCommand

      default Value.Mutable<String> storedCommand()
      Gets the currently stored command.
      Returns:
      The command
    • successCount

      default Value.Mutable<Integer> successCount()
      Gets the success count of the last executed command.

      The success count is the number of times the most recently used command of this command block succeeded. Most commands can only succeed once per execution, but certain commands (such as those which accept players as arguments) can succeed multiple times, and this value will be set accordingly. This success count can also be polled via a redstone comparator.

      Returns:
      The last success count
    • doesTrackOutput

      default Value.Mutable<Boolean> doesTrackOutput()
      Gets whether this command block will keep track of the output from the last command it executed.
      Returns:
      Whether the command output is tracked
    • lastOutput

      default Optional<Value.Mutable<Component>> lastOutput()
      Gets the last command output.

      This will only be available if doesTrackOutput() is set to true, otherwise Optional.empty() will be returned.

      Returns:
      The last command output, if available