CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PrismarineJS

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.

GitHub Repository: PrismarineJS/mineflayer
Path: blob/master/examples/command_block.js
Views: 789
1
/*
2
* An example on how to set and read command blocks
3
*/
4
5
const mineflayer = require('mineflayer')
6
7
if (process.argv.length < 4 || process.argv.length > 6) {
8
console.log('Usage : node command_block.js <host> <port> [<name>] [<password>]')
9
process.exit(1)
10
}
11
12
const bot = mineflayer.createBot({
13
host: process.argv[2],
14
port: parseInt(process.argv[3]),
15
username: process.argv[4] ? process.argv[4] : 'command_block',
16
password: process.argv[5]
17
})
18
19
bot.on('chat', (username, message) => {
20
if (username === bot.username) return
21
const command = message.split(' ')
22
switch (true) {
23
case /^setCommandBlock (.+)$/.test(message): {
24
const commandBlock = bot.findBlock({
25
matching: bot.registry.blocksByName.command_block.id
26
})
27
bot.setCommandBlock(commandBlock.position, command[1], false)
28
break
29
}
30
}
31
})
32
33