mcws
v1.0.0-npm
Published
Minecraft Bedrock or Education Edition WebSocket Server
Downloads
5
Maintainers
Readme
Minecraft WebSocket Server Framework
This framework allows you to easily develop Minecraft WebSocket-based plugins.
Here are some features:
- Command provided: You can use
MCWS.uri
function to get commands which can be pasted to connect to the server directly in the command line of Minecraft Bedrock or Education Edition. - Friendly interface: This package provides a simple interface to easily start development.
- Plugin supported: You can develop plugins and use them easily.
- Hot reload supported: You can hot reload plugin when developing them.
- Typescript supported: This package is developed by Typescript and you can get friendly type prompts.
How to use:
- Import this package
Useimport MCWS from 'mcws'
orconst { MCWS } = require('mcws')
to import constructor. - Start your server
const server = new MCWS({
port: 11799
})
- Connect to Minecraft
Use
server.uri
to get commands to paste. The return of this function will be an array of string. For instance,
[
'/connect 127.0.0.1:11799',
'/connect [::1]:11799',
'/connect 172.19.185.111:11799',
'/connect [fe80::215:5dff:fece:a2c9]:11799'
]
- Waiting for connections
Use
server.onConnected
to handle sockets. Here's an example.
server.onConnected((socket) => {
console.log('Connected to Minecraft');
socket.sendCommand('say Hello Minecraft');
});
- You can use
socket.sendCommand(command: string)
to send a command to Minecraft. And you can get the command status by usingsendCommand(command: string).then(data => console.log(data))
. - You can also use
socket.on(eventName: string, callback: (data) => void)
to handle events. - Use
server.dispose()
to close server. - Use
socket.use()
to activate plugins. Here's an example.
/* plugin type:
interface pluginStructure {
uuid: string;
name: string;
description: string;
eventListeners: {
event: McEventName;
handler: (data: eventResponse['body']) => void;
id: number;
}[];
onDispose?: CallableFunction;
}
type plugin = (sendCommand: (command: string) => void) => pluginStructure;
*/
const state = socket.use(plugin);
state.dispose(); // remove plugin