【发布时间】:2015-09-30 07:01:26
【问题描述】:
我刚刚设法让 Node.js minecraft bot API(称为mineflayer)工作。当我上次制作 minecraft bot 时(在 C++ 中,我一个人),我遇到了when writing in the console, the server messages would mix with whatever I'm writing 的问题。我当时得到的答案似乎有太复杂/不清楚的解决方案,所以我放弃了。
现在我希望 Node.js 解决了这个问题,但显然没有。 Node.js 中有一个简单的解决方案吗?我想要的是这样的:
但现在,我正在编写的命令与输出混合(红色是写入输入,绿色是控制台输出,使用 GIMP 着色):
我为此使用readline 模块:
var readline = require("readline");
var rl = readline.createInterface({
input: process.stdin,
output: null,
});
rl.on('line', function(line) {
var inp = line.trim();
//Bot internal commands start with ~
if(line[0]=='~') {
command(line.substr(1));
}
else {
//use server chat
bot.chat(line);
}
});
【问题讨论】:
-
只是一个想法:我想你可以采取完全不同的方法,制作一个 Web 应用程序而不是命令行界面。您可以将 Node.js 与 Express 结合使用,并提供一个简单的页面,您可以在其中输入命令。您可以使用 HTML 元素(如按钮和其他表单控件)来改进您的用户界面。要实时显示输出,您可以使用socket.io。
标签: javascript node.js