[Bleeding] Added Conversations API. Addresses BUKKIT-864
This commit is contained in:
36
src/main/java/org/bukkit/conversations/Prompt.java
Normal file
36
src/main/java/org/bukkit/conversations/Prompt.java
Normal file
@@ -0,0 +1,36 @@
|
||||
package org.bukkit.conversations;
|
||||
|
||||
/**
|
||||
* A Prompt is the main constituent of a {@link Conversation}. Each prompt displays text to the user and optionally
|
||||
* waits for a user's response. Prompts are chained together into a directed graph that represents the conversation
|
||||
* flow. To halt a conversation, END_OF_CONVERSATION is returned in liu of another Prompt object.
|
||||
*/
|
||||
public interface Prompt extends Cloneable {
|
||||
|
||||
/**
|
||||
* A convenience constant for indicating the end of a conversation.
|
||||
*/
|
||||
static final Prompt END_OF_CONVERSATION = null;
|
||||
|
||||
/**
|
||||
* Gets the text to display to the user when this prompt is first presented.
|
||||
* @param context Context information about the conversation.
|
||||
* @return The text to display.
|
||||
*/
|
||||
String getPromptText(ConversationContext context);
|
||||
|
||||
/**
|
||||
* Checks to see if this prompt implementation should wait for user input or immediately display the next prompt.
|
||||
* @param context Context information about the conversation.
|
||||
* @return If true, the {@link Conversation} will wait for input before continuing.
|
||||
*/
|
||||
boolean blocksForInput(ConversationContext context);
|
||||
|
||||
/**
|
||||
* Accepts and processes input from the user. Using the input, the next Prompt in the prompt graph is returned.
|
||||
* @param context Context information about the conversation.
|
||||
* @param input The input text from the user.
|
||||
* @return The next Prompt in the prompt graph.
|
||||
*/
|
||||
Prompt acceptInput(ConversationContext context, String input);
|
||||
}
|
||||
Reference in New Issue
Block a user