Class InactivityConversationCanceller

java.lang.Object
org.bukkit.conversations.InactivityConversationCanceller
All Implemented Interfaces:
Cloneable, ConversationCanceller

public class InactivityConversationCanceller extends Object implements ConversationCanceller
An InactivityConversationCanceller will cancel a Conversation after a period of inactivity by the user.
  • Field Details

    • plugin

      protected Plugin plugin
    • timeoutSeconds

      protected int timeoutSeconds
    • conversation

      protected Conversation conversation
  • Constructor Details

    • InactivityConversationCanceller

      public InactivityConversationCanceller(@NotNull Plugin plugin, int timeoutSeconds)
      Creates an InactivityConversationCanceller.
      Parameters:
      plugin - The owning plugin.
      timeoutSeconds - The number of seconds of inactivity to wait.
  • Method Details

    • setConversation

      public void setConversation(@NotNull Conversation conversation)
      Description copied from interface: ConversationCanceller
      Sets the conversation this ConversationCanceller can optionally cancel.
      Specified by:
      setConversation in interface ConversationCanceller
      Parameters:
      conversation - A conversation.
    • cancelBasedOnInput

      public boolean cancelBasedOnInput(@NotNull ConversationContext context, @NotNull String input)
      Description copied from interface: ConversationCanceller
      Cancels a conversation based on user input.
      Specified by:
      cancelBasedOnInput in interface ConversationCanceller
      Parameters:
      context - Context information about the conversation.
      input - The input text from the user.
      Returns:
      True to cancel the conversation, False otherwise.
    • clone

      @NotNull public ConversationCanceller clone()
      Description copied from interface: ConversationCanceller
      Allows the ConversationFactory to duplicate this ConversationCanceller when creating a new Conversation.

      Implementing this method should reset any internal object state.

      Specified by:
      clone in interface ConversationCanceller
      Overrides:
      clone in class Object
      Returns:
      A clone.
    • cancelling

      protected void cancelling(@NotNull Conversation conversation)
      Subclasses of InactivityConversationCanceller can override this method to take additional actions when the inactivity timer abandons the conversation.
      Parameters:
      conversation - The conversation being abandoned.