chatsend
v1.2.0
Published
A command dispatcher designed for Minecraft: Bedrock Edition
Downloads
18
Readme
chatsend
Chatsend is a command dispatcher, designed for Minecraft: Bedrock Edition and available to be used under the MIT license.
Installation
- Install the npm package via
npm i chatsend
- In the package, include the package into your behavior pack scripts either with module bundling or copy the 'dist' folder inside the package.
Please check that neccessary dependencies are set up properly when using it in your script behavior pack.
Usage
To register a chat command in Minecraft, you can follow the steps below:
- Create a chat command by using the
ChatCommandBuilder
class and its methods. - Define the command's name, description, arguments, and privilege (operator) requirements.
- Provide a callback function that will be executed when the command is triggered.
- Register the chat command using the
registerChatCommand
function.
Here's an example of how you can register a chat command with different argument types and create a command response:
import { registerChatCommand, ChatCommandBuilder, CommandResponse } from "chatsend";
import type { CommandArgumentString, CommandArgumentBool, CommandArgumentNumber } from "chatsend";
// Define the argument payloads
interface CommandSource {
name: CommandArgumentString;
isAdmin: CommandArgumentBool<false>;
age: CommandArgumentNumber;
}
// Register a command
registerChatCommand(
new ChatCommandBuilder<CommandSource>()
.withName("!hello")
.withDescription("Say hello")
.withArguments({
name: {
type: "string",
optional: false,
},
isAdmin: {
type: "bool",
optional: false,
},
age: {
type: "int",
optional: true,
range: { min: 0, max: 100 },
},
})
.withPrivilege(true),
(response: CommandResponse<CommandSource>) => {
const { name, isAdmin, age } = response.params;
if (isAdmin) {
if (age) {
response.sender.sendMessage(`${name} is an admin, ${age} years old.`);
} else {
response.sender.sendMessage(`${name} is an admin.`);
}
} else {
response.sender.sendMessage(`${name} is not an admin.`);
}
}
);
In the example above, we create a chat command called !hello
with three arguments: name
(a required string), isAdmin
(a required boolean), and age
(an optional integer with a range from 0 to 100). The command requires the sender to be an operator.
When the command is executed, the callback function is invoked with a CommandResponse
object containing the sender's information and the parsed command parameters. In the example callback, we access the name
, isAdmin
, and age
parameters and perform some logic based on their values.