• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
资源图标

Python 挂机假人 2026-08-18

请登录后获取
Endstone 假人常加载与模拟刷怪插件说明


ps:请注意,请勿随意使用假人刷怪功能,因为这个生成的效率太高了,而且在关闭时容易造成服务器崩溃

ps:一个插件能做到这么快的更新速度,肯定是借助了AI的,然而AI可能会有小bug的产生,如果你发现了,请反馈给我QQ:3817633968



这个插件是给 Endstone 0.11 服务器使用的 Python 插件。

它的主要作用是在服务器里创建固定假人 NPC,让假人附近的区块保持常加载,并且可以选择开启假人周围的模拟刷怪功能。

当前插件版本是 0.2.5。

插件现在能做什么

第一,它可以创建固定假人。

假人不是一个真正在线的玩家,也不会占用玩家名额。它本质上是一个 NPC 实体,默认实体类型是 minecraft:npc。

第二,它可以让假人附近区块常加载。

插件会为每个假人创建一个 tickingarea。默认半径是 4 个区块,也就是以假人所在区块为中心,向四周各扩展 4 个区块,最终范围是 9x9 区块,总共 81 个区块。

第三,它可以在假人周围模拟刷怪。

这个功能默认关闭,需要手动开启。开启后,插件会按照基岩版自然刷怪规则做一个 Python 层面的近似复刻,让假人周围像玩家挂机一样生成怪物。

ps:实验功能可能会比较卡,而且部分刷新特性不符合原版

第四,它会自动清理常加载区域。

删除假人时,插件会删除对应 tickingarea。插件关闭时,也会自动删除所有插件管理的 tickingarea。如果假人 NPC 被意外杀死,插件也会定期检测并清理对应记录。

第五,它现在支持一键清除所有假人和所有对应常加载区块。

如果创建了多个假人,可以直接用一个命令全部清掉,不需要一个个删除。


ps:收拾烂摊子


为什么这个插件不用真正的玩家假人

Endstone Python API 目前不能创建真正的 ServerPlayer,也不能伪造真实玩家网络连接。

所以这个插件采用的是更稳定、更适合 Python 插件的方案:

用 NPC 实体作为假人的可见标记。

用 tickingarea 实现区块常加载。

用 Python 定时任务模拟玩家周围的自然刷怪。

这种方案的优点是简单、稳定、不占玩家名额、不需要假客户端登录。

缺点是它不是真正的玩家,所以原版服务器内部不会自动把这个 NPC 当成玩家处理。比如原版自然刷怪系统本身不会识别 NPC,插件只能自己模拟刷怪逻辑。



ps:我也不想用NPC来当玩家


插件的核心设计思路

假人本体是一个固定 NPC。

玩家使用命令创建假人后,插件会在玩家当前位置生成一个 NPC,并给它设置名字标签。插件内部会记录这个假人的名字、实体对象、常加载区域名称、刷怪开关状态等信息。

每个假人都有一个独立的 tickingarea。

假人名字叫 farm 时,对应的 tickingarea 名字就是 bot_farm。

插件会根据假人所在区块计算常加载范围,然后执行 tickingarea add 命令。

默认常加载半径是 4 个区块。

如果假人在某个区块中心附近,那么加载范围就是它周围 9x9 区块。

Y 轴范围固定为 -64 到 320,用来覆盖基岩版当前世界高度。

插件不再支持移动假人。

早期版本曾考虑让假人移动,但移动假人会导致 tickingarea 频繁删除和创建。tickingarea 数量有限,频繁更新容易失败、刷日志、占 CPU,也容易残留常加载区块。现在的设计是固定假人,只负责加载固定区域,这样更安全。


ps:你不想让你的服务器CPU占用率爆掉吧?


常加载范围说明

默认半径 4。

半径 0 表示 1x1 区块。

半径 1 表示 3x3 区块。

半径 2 表示 5x5 区块。

半径 3 表示 7x7 区块。

半径 4 表示 9x9 区块。

推荐使用半径 4。

如果服务器性能较弱,或者只想加载很小的机器区域,可以把半径改小。


刷怪功能说明

刷怪功能默认是关闭的。

创建假人后,需要使用命令开启。

比如创建一个叫 farm 的假人,然后开启刷怪:

/bot spawn farm

/bot mob farm true

开启后,插件会在假人周围尝试生成怪物。

目前模拟的是 tick-distance 等于 4 时的基岩版刷怪范围。

生成距离是 24 到 44 格。

24 格以内不会生成新怪。

32 到 44 格之间的插件生成怪物会参与随机清除。

超过 44 格的插件生成怪物会被立即清除。

插件会模拟每个区块每 tick 有 11/2000 概率运行刷怪算法。

插件会模拟 9x9 区块的种群控制范围。

地表怪物上限是 8。

洞穴怪物上限是 16。

插件自管自然怪物全局上限是 200。

插件会从世界顶部往下搜索生成点。

第一个找到的有效生成点算地表生成。

第一个生成点下面继续找到的生成点算洞穴生成。

插件会按权重选择怪物类型。

插件会模拟群生成,也就是一次尝试可能生成一小群同类怪物。

插件会做基础方块检查和基础空间检查。

插件生成的怪物会带 scoreboard tag,方便插件识别、计数和清理。


目前支持的刷怪池

主世界会尝试生成:

僵尸

苦力怕

蜘蛛

骷髅

末影人

女巫

下界会尝试生成:

僵尸猪灵

岩浆怪

末影人

骷髅

末地会尝试生成:

末影人


刷怪功能的限制

这个刷怪功能不是直接调用 BDS 原版内部刷怪器。

Python API 目前没有暴露完整的原版自然刷怪接口,也不能直接读取所有原版 spawn_rules、完整生物群系标签、真实光照值、结构硬编码生成点、生成势系统等底层数据。

所以这个插件实现的是“按基岩版规则尽量贴合的 Python 模拟刷怪”,不是 100% 原版内部刷怪系统。

它已经实现了距离、上限、地表和洞穴分池、权重、群生成、基础空间、基础方块、随机清除和立即清除等核心规则。

但是它还不能完全复刻所有细节,例如:

完整生物群系过滤。

完整光照过滤。

所有生物的原版 spawn_rules。

结构生成规则。

史莱姆区块算法。

诡异森林末影人的生成势系统。

巡逻队、幻翼、袭击、村庄猫、铁傀儡等特殊系统。

如果只是为了让假人挂机点附近能产生怪物,它已经可以使用。

如果要求和 BDS 内部自然刷怪 100% 一致,Python 插件做不到,需要 C++ Hook 或真实假客户端。


所有命令说明

/bot spawn <名字> [实体类型]

创建一个假人。

如果不写实体类型,默认使用 minecraft:npc。

示例:

/bot spawn farm

/bot spawn farm minecraft:villager

建议使用默认 NPC。


/bot remove <名字>

删除指定假人。

插件会先删除这个假人的 tickingarea,然后删除 NPC 实体,最后删除插件内部记录。

示例:

/bot remove farm


/bot list

列出所有插件管理的假人。

会显示假人名字、常加载半径、刷怪是否开启、插件自管怪物数量。


/bots

和 /bot list 一样,也是列出所有假人。


/bot radius <名字> <0-4>

修改指定假人的常加载半径。

半径只能是 0 到 4。

示例:

/bot radius farm 4

/bot radius farm 2


/bot info <名字>

查看指定假人的详细信息。

会显示位置、维度、区块坐标、tickingarea 名字、常加载范围、刷怪状态、自管怪物数量。

示例:

/bot info farm


/bot mob <名字> <true|false>

开启或关闭指定假人周围的模拟刷怪。

示例:

/bot mob farm true

/bot mob farm false

也可以使用 on、off、1、0、yes、no。


/bot mobclear <名字>

清理指定假人生成出来的插件自管怪物。

示例:

/bot mobclear farm


/bot clearall

一键清除所有插件管理的假人,并删除每个假人对应的 tickingarea。

这是当前版本新增的批量清理命令。

示例:

/bot clearall


/bot removeall

和 /bot clearall 一样,是一键清理全部的别名。


推荐使用流程

第一步,站到你想常加载的位置。

第二步,创建假人。

/bot spawn farm

第三步,如果只需要常加载,不需要刷怪,就不用再做别的。

第四步,如果需要模拟刷怪,开启刷怪。

/bot mob farm true

第五步,查看状态。

/bot info farm

第六步,不需要时删除假人。

/bot remove farm

如果想清理所有假人,就使用:

/bot clearall


清理机制说明

正常删除时,推荐使用 /bot remove <名字>。

插件会自动删除对应 tickingarea,避免常加载区域残留。

如果有多个假人,推荐使用 /bot clearall。

插件关闭时,服务器停止、插件禁用或重载时,会遍历所有假人并清理 tickingarea 和实体。

如果假人被其他命令杀死,例如 /kill @e[type=npc],插件每 40 tick 会检查一次。如果发现假人实体已经无效,就会清理对应 tickingarea 和插件记录。


维度处理说明

基岩版 execute in 命令里的维度名必须写成:

overworld

nether

the_end

不能写成 minecraft:overworld。

插件内部已经做了维度名映射,避免因为维度格式错误导致 tickingarea 命令失败。


安装方法

把下面这个文件复制到 Endstone 服务器的 plugins 文件夹:

dist/endstone_bot-0.2.2-py2.py3-none-any.whl

如果 plugins 文件夹里有旧版本,例如 0.2.0 或 0.2.1,建议删除旧版本,只保留 0.2.2。

然后重启服务器。

如果你是在服务器 Python 环境里手动安装,也可以使用:

pip install dist/endstone_bot-0.2.2-py2.py3-none-any.whl


新手注意事项

不要创建太多假人。

基岩版 tickingarea 数量有限。假人越多,占用的 tickingarea 越多,也会加载更多区块,增加服务器压力。

默认一个假人加载 81 个区块。

如果服务器配置较低,不建议创建太多半径 4 的假人。

如果只是加载一个小机器,可以把半径调小。

推荐用插件命令删除假人。

不要直接用 /kill 删除 NPC。虽然插件可以自动清理,但 /bot remove 或 /bot clearall 更安全。

刷怪功能会增加服务器压力。

如果开启多个假人的刷怪功能,插件会定时扫描方块、统计怪物、生成怪物和清除怪物。建议先少量测试,确认服务器不卡再扩大使用。

如果发现 tickingarea 满了,可以在服务器里执行:

/tickingarea list

如果发现残留,可以手动删除:

/tickingarea remove bot_假人名

例如:

/tickingarea remove bot_farm




一句话总结

这个插件现在是一个固定 NPC 假人插件。它用 NPC 作为假人标记点,用 tickingarea 让假人周围区块常加载,并且可以选择开启 Python 模拟刷怪功能。删除单个假人或一键清理全部假人时,插件都会自动删除对应常加载区域,避免 tickingarea 残留。
后退
顶部 底部