🤖 假人系统 · 完全指南
类 Carpet 假人支持 —— 强大的玩家模拟实体,自动化与测试利器
📖 什么是假人
假人是玩家实体,怪物会被它吸引并攻击,它也可以模拟大部分玩家操作。比如:区块随机刻、生物生成、物品使用、方块破坏等。假人可以协助生电、自动化测试、装饰服务器。
🔐 权限
bukkit.command.bot - 允许玩家使用 /bot 命令。
✨ 创建假人
游戏内: /bot create <假人名> [皮肤名]
控制台: /bot create <假人名> <皮肤名> <世界名> <X> <Y> <Z>
假人名称需符合Minecraft玩家名规范,未指定皮肤则使用与假人名相同的皮肤。创建后继承创建者的位置与视角。
🗑️ 移除假人
假人死亡后直接移除(即使 keepInventory 为 true)。服务器关闭前默认全部移除,可在配置中开启重启还原。
命令:/bot remove <假人名> 或 /bot remove <假人名> [时] [分] [秒] 定时移除。
💾 假人加载/保存
保存假人相当于玩家下线,加载则上线,信息(位置/维度)完全一致。/bot save <假人名> /bot load <假人名>
需要配置中开启 settings.modify.fakeplayer.manual-save-and-load。
⚙️ 假人配置
每个假人独立配置,使用 /bot config <假人名> <配置项> [值] 查看/修改。
| 配置名 | 类型 | 默认值 | 描述 |
|---|---|---|---|
always_send_data | 布尔值 | 配置文件决定 | 始终向同世界玩家发送假人数据,保证渲染 |
simulation_distance | 整数 | 世界 simulation-distance | 假人强加载区块大小,类似原版模拟距离 |
skip_sleep | 布尔值 | 配置文件决定 | 睡眠计数时跳过假人,无需假人入睡即可跳过夜晚 |
spawn_phantom | 布尔值 | 配置文件决定 | 是否允许假人生成幻翼,禁用时未睡眠计时器置空 |
enable-locator-bar | 布尔值 | 配置文件决定 | 假人是否显示在玩家定位栏中 |
tick_type | 枚举(NETWORK/ENTITY_LIST) | 配置文件决定 | NETWORK类似真人,ENTITY_LIST类似Carpet假人,影响机器时序 |
🎮 假人动作系统
假人可以同时执行多个独立动作,命令格式:/bot action <假人名> <动作名> <start|stop|list> [参数]
📌 通用动作参数
TickDelay: 首次执行前延迟 (ticks)TickInterval: 成功执行后等待间隔 (ticks) — 注意与Carpet不同,此处仅为等待时间DoNumber: 成功执行总次数,-1 无限UseTickTimeout: (仅use动作) 使用成功前最大耗时,-1无限制
🎯 所有可用动作 (共15种)
⚔️ attack
攻击视线前方 / 碰撞箱内的实体
⛏️ break
挖掘视线前方的方块
🗑️ drop
扔出背包中的所有物品
🎣 fish
自动钓鱼
🦘 jump
跳跃
👀 look
看向指定玩家或坐标
🔄 rotation
设置偏航角与俯仰角
🦵 sneak
切换潜行状态
🏊 swim
尝试在水中自动浮起
🖱️ use_auto
模拟右键使用物品
🧪 use
使用主手物品(进食/拉弓等),不对方块实体使用
🛡️ use_offhand
使用副手物品
🧱 use_on
对视线前方方块使用主手物品(放置方块)
🧱 use_on_offhand
对视线前方方块使用副手物品
🤝 use_to
对视线前方实体使用主手物品(交互)
🤝 use_to_offhand
对视线前方实体使用副手物品
/bot action BotA start attack 5 20 100 — 延迟5tick后每20tick攻击一次,共100次/bot action BotB start look Steve — 看向玩家Steve/bot action BotC stop all — 停止所有动作📋 假人列表
使用 /bot list [世界] 查看全局或指定世界的假人列表。
🔧 其他实用信息
• 假人与玩家碰撞会导致偏移,建议创建后稍作移动。
• 动作间隔参数与Carpet有区别:Leaves 的 TickInterval 仅为等待时间,对于简单动作实际周期 = 1+TickInterval。
• 需要假人长期挂机配合机器时,注意 tick_type 与 simulation_distance 的配置。