2B2T中国版

 找回密码
 立即注册
查看: 66|回复: 3

【教程】教你如何用机器人搭建高级命令系统!

[复制链接]

2

主题

5

帖子

69

积分

等级:原石

积分
69
发表于 7 天前 | 显示全部楼层 |阅读模式
本帖最后由 Melibertan 于 2026-2-7 00:29 编辑

今天手把手教大家如何用机器人框架搭建一个聊天触发命令系统:

第0步:下载DolphinBot(mc开源高级机器人框架)

DolphinBot:
https://github.com/NeonAngelThreads/DolphinBot
Screenshot 2026-02-06 211119.png

DolphinBot下载:https://github.com/NeonAngelThreads/DolphinBot/releases
插件文档:https://github.com/NeonAngelThreads/DolphinBot/blob/master/PluginDocs.md

搭建教程:
第一步:
编写一个插件模板,你可以参照DolphinBot插件制作的详细教程和实例模板.
例如:
  1. package org.angellock.impl.extensions;

  2. import org.angellock.impl.AbstractRobot;
  3. import org.angellock.impl.events.handlers.LoginHandler;
  4. import org.angellock.impl.providers.AbstractPlugin;

  5. public class ExamplePlugin extends AbstractPlugin {
  6.   @Override
  7.   public String getPluginName() {
  8.     return "My First Plugin";
  9.   }

  10.   @Override
  11.   public String getVersion() {
  12.     return "1.0.0";
  13.   }

  14.   @Override
  15.   public String getDescription() {
  16.     return "Hello DolphinBot";
  17.   }

  18.   @Override
  19.   public void onDisable() {
  20.     getLogger().info("Disabling {} - {}", this.getName(), getVersion());
  21.     //Disable Message
  22.   }

  23.   @Override
  24.   public void onLoad() {
  25.     getLogger().info("Loading {} - {}", this.getName(), getVersion());
  26.     // Loading Plugin Message
  27.   }

  28.   @Override
  29.   public void onEnable(AbstractRobot entityBot) {
  30.   }
  31. }
复制代码
第二步:
onEnable方法中添加命令绑定语句,在原文档中的代码:
  1. Command command = new CommandBuilder().withName('cmdtest').build((response) -> {});
复制代码
这一行代码仅仅做了一个名为“cmdtest”的命令绑定,但没有具体操作。
  1. @Override
  2.   public void onEnable(AbstractRobot abstractRobot) {
  3.     getCommands().register(new CommandBuilder().withName("test").allowedUsers("PlayerName").build((response) -> {
  4.       String[] subCommand = response.getCommandList(); // get command list contains main-command and sub-  command.
  5.          
  6.       getLogger().info(Arrays.toString(subCommand));
  7.    }));
  8.    }
复制代码
这个代码实现了当玩家输入了“!test”,就会在DolphinBot终端显示这个命令的信息,如发送者,参数列表。
你可以用.allowedUsers()方法来设置那些玩家可以使用这个命令,如果为空,默认允许全部玩家。

第三步:
编译,打包为jar包,放入到/plugins文件夹下,由于DolphinBot是支持一次性启动多个机器人的,所以/plugins文件夹中有/bot#1 或/bot#2等等,这些文件夹是为了将插件单独给一个机器人加载的,比如我想把插件单独给bot#1加载,那就把插件放入 /plugins/bot#1/ 中,如果放入 /plugins/ 文件夹,代表这个插件将适用于全部机器人(全局插件)。
Screenshot 2026-02-06 233708.png
第四步:
启动DolphinBot,无需复杂配置,(配置文件会自动生成),直接运行:
  1. java -jar "DolphinBot-[version]-full.jar"
复制代码

原作者开发也不易,喜欢的话,记得点个star哦!也方便研究代码

dolphinbot1.png
Screenshot 2026-02-06 231159.png
回复

使用道具 举报

5

主题

12

帖子

266

积分

等级:煤炭

积分
266
发表于 6 天前 | 显示全部楼层
能出个珍珠bot插件吗
回复 支持 1 反对 0

使用道具 举报

2

主题

5

帖子

69

积分

等级:原石

积分
69
 楼主| 发表于 5 天前 | 显示全部楼层
本帖最后由 Melibertan 于 2026-2-8 20:06 编辑
SuYuZe 发表于 2026-2-7 17:28
能出个珍珠bot插件吗

可以实现的,后续将会开源Dolphin PearlW插件,可以关注作者NeonAngelThreads以获得社区实时信息。
回复 支持 反对

使用道具 举报

5

主题

12

帖子

266

积分

等级:煤炭

积分
266
发表于 昨天 21:02 | 显示全部楼层
Melibertan 发表于 2026-2-8 15:57
可以实现的,后续将会开源Dolphin PearlW插件,可以关注作者NeonAngelThreads以获得社区实时信息。 ...

什么时候会出啊。。
回复 支持 反对

使用道具 举报

2B2T.XIN 版权所有

© 2020-2030

快速回复 返回顶部 返回列表