Skip to content

Instantly share code, notes, and snippets.

@nightpool
Created March 25, 2014 05:56
Show Gist options
  • Save nightpool/9755955 to your computer and use it in GitHub Desktop.
Save nightpool/9755955 to your computer and use it in GitHub Desktop.
Test plugin for BUKKIT-5487
package net.nightpool.bukkit.ccp;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.conversations.Conversable;
import org.bukkit.conversations.Conversation;
import org.bukkit.conversations.ConversationAbandonedEvent;
import org.bukkit.conversations.ConversationContext;
import org.bukkit.conversations.Prompt;
import org.bukkit.conversations.StringPrompt;
import org.bukkit.plugin.java.JavaPlugin;
public class ColorConversationPlugin extends JavaPlugin {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args){
if (sender instanceof Conversable){
((Conversable) sender).beginConversation(new ColorConversation((Conversable) sender));
}
return true;
}
public class ColorConversation extends Conversation {
public ColorConversation(Conversable sender) {
super(ColorConversationPlugin.this, sender, new ColorPrompt());
sender.sendRawMessage(ChatColor.GOLD+"Entering conversation. Possible help text here.");
}
@Override
public synchronized void abandon(ConversationAbandonedEvent details) {
super.abandon(details);
details.getContext().getForWhom().sendRawMessage(ChatColor.GREEN+"Choices recorded! Thank you.");
}
}
public class ColorPrompt extends StringPrompt {
@Override
public String getPromptText(ConversationContext context) {
return ChatColor.RED+"--> "+ChatColor.RESET;
}
@Override
public Prompt acceptInput(ConversationContext context, String input) {
context.getForWhom().sendRawMessage(ChatColor.AQUA+input);
if(input.equals("end")){
return null;
}
return this;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment