Class CommandExecutionManager.CommandOutputCapture

java.lang.Object
com.ultikits.ultitools.manager.CommandExecutionManager.CommandOutputCapture
All Implemented Interfaces:
net.kyori.adventure.audience.Audience, net.kyori.adventure.pointer.Pointered, org.bukkit.command.CommandSender, org.bukkit.command.ConsoleCommandSender, org.bukkit.conversations.Conversable, org.bukkit.permissions.Permissible, org.bukkit.permissions.ServerOperator
Enclosing class:
CommandExecutionManager

private static class CommandExecutionManager.CommandOutputCapture extends Object implements org.bukkit.command.ConsoleCommandSender
命令输出捕获器 Implements ConsoleCommandSender (not just CommandSender) because Paper 1.21+ requires the sender to be a recognized type when dispatching commands through Brigadier. Paper's VanillaCommandWrapper.getListener() checks instanceof for ConsoleCommandSender, Player, etc. A plain CommandSender implementation would cause dispatchCommand() to return false.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.bukkit.command.CommandSender

    org.bukkit.command.CommandSender.Spigot
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final org.bukkit.command.CommandSender
     
    private final StringBuilder
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    CommandOutputCapture(org.bukkit.command.CommandSender delegate)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    abandonConversation(org.bukkit.conversations.Conversation conversation)
     
    void
    abandonConversation(org.bukkit.conversations.Conversation conversation, org.bukkit.conversations.ConversationAbandonedEvent details)
     
    void
     
    org.bukkit.permissions.PermissionAttachment
    addAttachment(org.bukkit.plugin.Plugin plugin)
     
    org.bukkit.permissions.PermissionAttachment
    addAttachment(org.bukkit.plugin.Plugin plugin, int ticks)
     
    org.bukkit.permissions.PermissionAttachment
    addAttachment(org.bukkit.plugin.Plugin plugin, String name, boolean value)
     
    org.bukkit.permissions.PermissionAttachment
    addAttachment(org.bukkit.plugin.Plugin plugin, String name, boolean value, int ticks)
     
    boolean
    beginConversation(org.bukkit.conversations.Conversation conversation)
     
    Set<org.bukkit.permissions.PermissionAttachmentInfo>
     
     
     
    org.bukkit.Server
     
    boolean
     
    boolean
    hasPermission(org.bukkit.permissions.Permission perm)
     
    boolean
     
    boolean
     
    boolean
     
    boolean
    isPermissionSet(org.bukkit.permissions.Permission perm)
     
    net.kyori.adventure.text.Component
     
    void
     
    void
    removeAttachment(org.bukkit.permissions.PermissionAttachment attachment)
     
    void
     
    void
    sendMessage(String... messages)
     
    void
    sendMessage(UUID sender, String message)
     
    void
    sendMessage(UUID sender, String... messages)
     
    void
    sendMessage(net.kyori.adventure.text.Component message)
     
    void
     
    void
    sendRawMessage(UUID sender, String message)
     
    void
    setOp(boolean value)
     
    org.bukkit.command.CommandSender.Spigot
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface net.kyori.adventure.audience.Audience

    clearResourcePacks, clearTitle, closeDialog, deleteMessage, deleteMessage, filterAudience, forEachAudience, hideBossBar, openBook, openBook, playSound, playSound, playSound, removeResourcePacks, removeResourcePacks, removeResourcePacks, removeResourcePacks, removeResourcePacks, resetTitle, sendActionBar, sendActionBar, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlayerListFooter, sendPlayerListFooter, sendPlayerListHeader, sendPlayerListHeader, sendPlayerListHeaderAndFooter, sendPlayerListHeaderAndFooter, sendResourcePacks, sendResourcePacks, sendResourcePacks, sendTitlePart, showBossBar, showDialog, showTitle, stopSound, stopSound

    Methods inherited from interface org.bukkit.command.CommandSender

    sendMessage, sendMessage, sendMessage, sendPlainMessage, sendRichMessage, sendRichMessage

    Methods inherited from interface org.bukkit.permissions.Permissible

    permissionValue, permissionValue

    Methods inherited from interface net.kyori.adventure.pointer.Pointered

    get, getOrDefault, getOrDefaultFrom, pointers
  • Field Details

    • delegate

      private final org.bukkit.command.CommandSender delegate
    • output

      private final StringBuilder output
  • Constructor Details

    • CommandOutputCapture

      public CommandOutputCapture(org.bukkit.command.CommandSender delegate)
  • Method Details

    • sendMessage

      public void sendMessage(String message)
      Specified by:
      sendMessage in interface org.bukkit.command.CommandSender
    • sendMessage

      public void sendMessage(net.kyori.adventure.text.Component message)
      Specified by:
      sendMessage in interface net.kyori.adventure.audience.Audience
    • sendMessage

      public void sendMessage(String... messages)
      Specified by:
      sendMessage in interface org.bukkit.command.CommandSender
    • sendMessage

      public void sendMessage(UUID sender, String message)
      Specified by:
      sendMessage in interface org.bukkit.command.CommandSender
    • sendMessage

      public void sendMessage(UUID sender, String... messages)
      Specified by:
      sendMessage in interface org.bukkit.command.CommandSender
    • getOutput

      public String getOutput()
    • isConversing

      public boolean isConversing()
      Specified by:
      isConversing in interface org.bukkit.conversations.Conversable
    • acceptConversationInput

      public void acceptConversationInput(String input)
      Specified by:
      acceptConversationInput in interface org.bukkit.conversations.Conversable
    • beginConversation

      public boolean beginConversation(org.bukkit.conversations.Conversation conversation)
      Specified by:
      beginConversation in interface org.bukkit.conversations.Conversable
    • abandonConversation

      public void abandonConversation(org.bukkit.conversations.Conversation conversation)
      Specified by:
      abandonConversation in interface org.bukkit.conversations.Conversable
    • abandonConversation

      public void abandonConversation(org.bukkit.conversations.Conversation conversation, org.bukkit.conversations.ConversationAbandonedEvent details)
      Specified by:
      abandonConversation in interface org.bukkit.conversations.Conversable
    • sendRawMessage

      public void sendRawMessage(String message)
      Specified by:
      sendRawMessage in interface org.bukkit.conversations.Conversable
    • sendRawMessage

      public void sendRawMessage(UUID sender, String message)
      Specified by:
      sendRawMessage in interface org.bukkit.conversations.Conversable
    • getServer

      public org.bukkit.Server getServer()
      Specified by:
      getServer in interface org.bukkit.command.CommandSender
    • getName

      public String getName()
      Specified by:
      getName in interface org.bukkit.command.CommandSender
    • name

      public net.kyori.adventure.text.Component name()
      Specified by:
      name in interface org.bukkit.command.CommandSender
    • isPermissionSet

      public boolean isPermissionSet(String name)
      Specified by:
      isPermissionSet in interface org.bukkit.permissions.Permissible
    • isPermissionSet

      public boolean isPermissionSet(org.bukkit.permissions.Permission perm)
      Specified by:
      isPermissionSet in interface org.bukkit.permissions.Permissible
    • hasPermission

      public boolean hasPermission(String name)
      Specified by:
      hasPermission in interface org.bukkit.permissions.Permissible
    • hasPermission

      public boolean hasPermission(org.bukkit.permissions.Permission perm)
      Specified by:
      hasPermission in interface org.bukkit.permissions.Permissible
    • addAttachment

      public org.bukkit.permissions.PermissionAttachment addAttachment(org.bukkit.plugin.Plugin plugin, String name, boolean value)
      Specified by:
      addAttachment in interface org.bukkit.permissions.Permissible
    • addAttachment

      public org.bukkit.permissions.PermissionAttachment addAttachment(org.bukkit.plugin.Plugin plugin)
      Specified by:
      addAttachment in interface org.bukkit.permissions.Permissible
    • addAttachment

      public org.bukkit.permissions.PermissionAttachment addAttachment(org.bukkit.plugin.Plugin plugin, String name, boolean value, int ticks)
      Specified by:
      addAttachment in interface org.bukkit.permissions.Permissible
    • addAttachment

      public org.bukkit.permissions.PermissionAttachment addAttachment(org.bukkit.plugin.Plugin plugin, int ticks)
      Specified by:
      addAttachment in interface org.bukkit.permissions.Permissible
    • removeAttachment

      public void removeAttachment(org.bukkit.permissions.PermissionAttachment attachment)
      Specified by:
      removeAttachment in interface org.bukkit.permissions.Permissible
    • recalculatePermissions

      public void recalculatePermissions()
      Specified by:
      recalculatePermissions in interface org.bukkit.permissions.Permissible
    • getEffectivePermissions

      public Set<org.bukkit.permissions.PermissionAttachmentInfo> getEffectivePermissions()
      Specified by:
      getEffectivePermissions in interface org.bukkit.permissions.Permissible
    • isOp

      public boolean isOp()
      Specified by:
      isOp in interface org.bukkit.permissions.ServerOperator
    • setOp

      public void setOp(boolean value)
      Specified by:
      setOp in interface org.bukkit.permissions.ServerOperator
    • spigot

      public org.bukkit.command.CommandSender.Spigot spigot()
      Specified by:
      spigot in interface org.bukkit.command.CommandSender