29 lines
810 B
JavaScript
29 lines
810 B
JavaScript
|
var bkPrompt = org.bukkit.conversations.Prompt,
|
||
|
bkConversationFactory = org.bukkit.conversations.ConversationFactory;
|
||
|
|
||
|
function bukkitAsyncInput( sender, promptMesg, callback) {
|
||
|
var repeat = function(){
|
||
|
bukkitAsyncInput( sender, promptMesg, callback);
|
||
|
};
|
||
|
var prompt = new bkPrompt( {
|
||
|
getPromptText: function( ctx ) {
|
||
|
return promptMesg;
|
||
|
},
|
||
|
acceptInput: function( ctx, value ) {
|
||
|
callback.apply( { repeat: repeat, sender: sender, message: promptMesg, value: value },
|
||
|
[value, sender, repeat]);
|
||
|
return null;
|
||
|
},
|
||
|
blocksForInput: function( ctx ) {
|
||
|
return true;
|
||
|
}
|
||
|
});
|
||
|
|
||
|
new bkConversationFactory( __plugin )
|
||
|
.withModality( false )
|
||
|
.withFirstPrompt( prompt )
|
||
|
.buildConversation( sender )
|
||
|
.begin( );
|
||
|
}
|
||
|
module.exports = bukkitAsyncInput;
|