本文整理匯總了Java中org.bukkit.conversations.Conversation類的典型用法代碼示例。如果您正苦於以下問題:Java Conversation類的具體用法?Java Conversation怎麽用?Java Conversation使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
Conversation類屬於org.bukkit.conversations包,在下文中一共展示了Conversation類的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: abandonConversation
import org.bukkit.conversations.Conversation; //導入依賴的package包/類
public synchronized void abandonConversation(Conversation conversation, ConversationAbandonedEvent details) {
if (!this.conversationQueue.isEmpty()) {
if (this.conversationQueue.getFirst() == conversation) {
conversation.abandon(details);
}
if (this.conversationQueue.contains(conversation)) {
this.conversationQueue.remove(conversation);
}
if (!this.conversationQueue.isEmpty()) {
((Conversation) this.conversationQueue.getFirst()).outputNextPrompt();
}
}
}
示例2: abandonAllConversations
import org.bukkit.conversations.Conversation; //導入依賴的package包/類
public synchronized void abandonAllConversations() {
LinkedList oldQueue = this.conversationQueue;
this.conversationQueue = new LinkedList();
Iterator var2 = oldQueue.iterator();
while (var2.hasNext()) {
Conversation conversation = (Conversation) var2.next();
try {
conversation.abandon(new ConversationAbandonedEvent(conversation, new ManuallyAbandonedConversationCanceller()));
} catch (Throwable var5) {
Bukkit.getLogger().log(Level.SEVERE, "Unexpected exception while abandoning a conversation", var5);
}
}
}
示例3: dialogMonitor
import org.bukkit.conversations.Conversation; //導入依賴的package包/類
/**
* In charge of monitoring where the player is during conversations.
* <p>
* Determines whether or not a conversation should start, continue, or stop.
*
* @param pme The event of Player Movement.
*/
@EventHandler
public void dialogMonitor(PlayerMoveEvent pme) {
Block from = pme.getFrom().getBlock(), to = pme.getTo().getBlock();
Player p = pme.getPlayer();
if(helpedBy.containsKey(p.getName())) {
//Leaving Conversation
if(!tellerAreas.containsKey(to) && tellerAreas.containsKey(from)) {
if(tellerAreas.get(from).equals(helpedBy.get(p.getName()))) {
Conversation c = conversations.get(p.getName());
if(c.getState().equals(Conversation.ConversationState.STARTED)) c.abandon();
conversations.remove(p.getName());
helpedBy.remove(p.getName());
}
}
}
//Entering Conversation
if(tellerAreas.containsKey(to) && !tellerAreas.containsKey(from)) {
if(helpedBy.get(p.getName()) == null) {
NPC employee = tellerAreas.get(to);
helpedBy.put(p.getName(), employee);
conversations.put(p.getName(), startTransaction(p, employee));
}
}
}
示例4: onInventoryClick
import org.bukkit.conversations.Conversation; //導入依賴的package包/類
@EventHandler
public void onInventoryClick(InventoryClickEvent ev) {
if (ev.getInventory().getName().equals("- Teams -")) {
Player pl = (Player) ev.getWhoClicked();
ev.setCancelled(true);
if (ev.getCurrentItem().getType() == Material.DIAMOND) {
pl.closeInventory();
p.getConversationFactory("teamPrompt").buildConversation(pl).begin();
} else if (ev.getCurrentItem().getType() == Material.BEACON) {
pl.closeInventory();
Conversation c = p.getConversationFactory("playerPrompt").buildConversation(pl);
c.getContext().setSessionData("nomTeam", ChatColor.stripColor(ev.getCurrentItem().getItemMeta().getDisplayName()));
c.getContext().setSessionData("color", p.getTeam(ChatColor.stripColor(ev.getCurrentItem().getItemMeta().getDisplayName())).getChatColor());
c.begin();
}
}
}
示例5: beginConversation
import org.bukkit.conversations.Conversation; //導入依賴的package包/類
public synchronized boolean beginConversation(Conversation conversation) {
if (!conversationQueue.contains(conversation)) {
conversationQueue.addLast(conversation);
if (conversationQueue.getFirst() == conversation) {
conversation.begin();
conversation.outputNextPrompt();
return true;
}
}
return true;
}
示例6: abandonConversation
import org.bukkit.conversations.Conversation; //導入依賴的package包/類
public synchronized void abandonConversation(Conversation conversation, ConversationAbandonedEvent details) {
if (!conversationQueue.isEmpty()) {
if (conversationQueue.getFirst() == conversation) {
conversation.abandon(details);
}
if (conversationQueue.contains(conversation)) {
conversationQueue.remove(conversation);
}
if (!conversationQueue.isEmpty()) {
conversationQueue.getFirst().outputNextPrompt();
}
}
}
示例7: abandonAllConversations
import org.bukkit.conversations.Conversation; //導入依賴的package包/類
public synchronized void abandonAllConversations() {
LinkedList<Conversation> oldQueue = conversationQueue;
conversationQueue = new LinkedList<Conversation>();
for(Conversation conversation : oldQueue) {
try {
conversation.abandon(new ConversationAbandonedEvent(conversation, new ManuallyAbandonedConversationCanceller()));
} catch (Throwable t) {
Bukkit.getLogger().log(Level.SEVERE, "Unexpected exception while abandoning a conversation", t);
}
}
}
示例8: beginConversation
import org.bukkit.conversations.Conversation; //導入依賴的package包/類
public synchronized boolean beginConversation(Conversation conversation) {
if (!this.conversationQueue.contains(conversation)) {
this.conversationQueue.addLast(conversation);
if (this.conversationQueue.getFirst() == conversation) {
conversation.begin();
conversation.outputNextPrompt();
return true;
}
}
return true;
}
示例9: abandonAllConversations
import org.bukkit.conversations.Conversation; //導入依賴的package包/類
public synchronized void abandonAllConversations() {
LinkedList<Conversation> oldQueue = conversationQueue;
conversationQueue = new LinkedList<Conversation>();
for (Conversation conversation : oldQueue) {
try {
conversation.abandon(new ConversationAbandonedEvent(conversation, new ManuallyAbandonedConversationCanceller()));
} catch (Throwable t) {
Bukkit.getLogger().log(Level.SEVERE, "Unexpected exception while abandoning a conversation", t);
}
}
}