本模组专为数据包制作者设计,用于创建能够反击的机器人。
相比Carpet模组,这些机器人具有更高的原版客户端兼容性,支持自动跳跃和长矛等功能。
与Carpet模组和Carpet PVP不兼容
设置
通过/herobot命令查看和修改HeRoBot设置。不带参数运行/herobot会显示模组版本。
用法
-
/herobot- 显示当前值和描述 -
/herobot- 临时设置(仅当前会话有效) - `/herobot
` - 永久设置(保存到配置文件)
机器人
allowSpawningOfflinePlayers
在在线模式下生成离线玩家(如果不存在同名在线模式玩家)。
默认值:true
allowListingBotPlayers
允许机器人玩家出现在多人游戏玩家列表中。
默认值:true
botPingToTicks
更改机器人玩家的ping到游戏刻的转换率。用于将机器人的ping(毫秒)转换为击退延迟的游戏刻。
默认值:25
botLagAttacks
[实验性] 使对机器人玩家的左键点击(攻击)延迟机器人的ping值。
默认值:false
botLagUses
[实验性] 使对机器人玩家的右键点击(使用)延迟机器人的ping值。
默认值:false
botLeaveOnDeath
机器人玩家死亡时从服务器断开连接,而不是自动重生。
默认值:false
创造模式
creativeNoClip
创造模式无碰撞模式。允许飞行的创造模式玩家穿过方块。
默认值:false
creativeFlySpeed
更改创造模式飞行速度倍数。值越高客户端飞行越快。
默认值:1.0
creativeFlyDrag
更改创造模式空气阻力。值越低飞行时空气阻力越小。
默认值:0.09
战斗
shieldStunning
启用盾牌眩晕,允许在盾牌被禁用后立即对实体造成伤害。
默认值:false
noProjectileRandom
移除弹射物的随机性,使其完全精确。
默认值:false
爆炸
explosionNoBlockDamage
控制爆炸是否破坏方块。
取值:
-
FALSE- 原版行为 -
MOST- 影响非实心方块(除荧石和红石交互方块外) -
TRUE- 防止所有方块破坏
默认值:FALSE
explosionNoFire
防止床和重生锚爆炸产生火焰。
默认值:false
windChargeNoTrigger
风弹不会激活红石方块。
默认值:false
世界/杂项
clientsIgnoreSlowTickRate
如果为false,使客户端玩家忽略较慢的游戏刻速率。
默认值:true
editablePlayerNbt
允许直接编辑玩家NBT数据。启用时还允许通过/ride骑乘玩家。
默认值:false
xpNoCooldown
玩家立即吸收经验值,无延迟。
默认值:false
shulkerBoxAlwaysDrops
潜影盒总是会掉落,不受doTileDrops游戏规则影响。
默认值:false
deleteChunkEntities
启用时,区块重置/删除也会删除这些区块内的实体数据文件。
默认值:false
rainThroughMovingPiston
允许雨水穿过被活塞移动的方块。
默认值:false
disableExperimentalScreen
移除实验性世界设置。如果在客户端设置,则禁用所有实验性界面;如果在世界设置,则仅对该世界禁用。
默认值:false
机器人玩家
机器人玩家是加入服务器的假玩家,可以完全通过命令控制。它们通过/playerspawn生成,通过/player控制。机器人玩家在战斗、移动和物品使用方面具有正确的服务器端行为。
机器人玩家死亡时自动重生,满生命值、空物品栏且无经验值(除非启用botLeaveOnDeath)。
/playerspawn
生成机器人玩家,可选位置、朝向、游戏模式和维度。
-
/playerspawn- 在执行者位置生成 -
/playerspawn at- 在指定位置生成 -
/playerspawn at facing- 以指定偏航/俯仰生成 -
/playerspawn at facing- 面向基本方位生成(north、south、east、west、up、down) -
/playerspawn ... in- 以指定游戏模式生成(默认为创造模式) -
/playerspawn ... on- 在指定维度生成
防止重复名称。遵守白名单和封禁。观察者模式生成时飞行,生存模式生成时落地。
/player
使用动作包控制机器人玩家。所有子命令通过/player ...指定目标,并支持选择器以定位多个机器人。
use、attack、swing、jump、drop、dropStack、swapHands
使机器人执行玩家动作的命令。
-
/player- 停止该动作 -
/player once- 执行一次动作 -
/player continuous- 每游戏刻执行动作 -
/player interval- 每N游戏刻执行动作
不带参数的use会停止使用而不触发另一次使用(与Carpet中行为类似use once不同)。
swing会挥动手臂但不执行动作,并重置攻击冷却。
使用长矛/动能武器时,attack会执行刺击动作。
autojump
控制移动时自动跳过一格高障碍物
-
/player autojump- 尝试单次自动跳跃(如果机器人正在移动且需要踏上台阶则跳跃) -
/player autojump true- 启用持续自动跳跃 -
/player autojump false- 禁用持续自动跳跃
move
控制机器人移动方向。
-
/player move- 停止所有移动 /player move forward/player move backward/player move left/player move right
sneak / sprint
-
/player sneak- 开始潜行 -
/player unsneak- 停止潜行 -
/player sprint- 开始疾跑 -
/player unsprint- 停止疾跑
潜行将移动速度降低至30%。使用物品(非长矛)时降低至20%。
look
控制机器人视线方向。大多数look命令支持delta 以实现多游戏刻平滑过渡。
基本方位
/player look north|south|east|west|up|down/player look north delta
精确朝向
/player look/player look delta
相对转向
-
/player look left- 向左转90度 -
/player look right- 向右转90度 -
/player look back- 向后转180度 -
/player look relative- 按给定的相对朝向转动 - 所有命令都支持
delta
看向位置
/player look at/player look at delta
看向实体
-
/player look upon- 看向实体的眼睛(默认) -
/player look upon eyes- 看向实体的眼睛 -
/player look upon feet- 看向实体的脚部 -
/player look upon closest- 看向实体碰撞箱最近点 - 所有命令都支持
delta
随机
-
/player look random- 看向随机方向
hotbar
选择快捷栏槽位。
-
/player hotbar- 选择槽位1到9
itemCd
控制物品冷却。
-
/player itemCd- 重置所有物品冷却(返回重置的数量) -
/player itemCd- 显示剩余冷却游戏刻(返回游戏刻数) -
/player itemCd reset- 重置该物品的冷却 -
/player itemCd set- 应用物品的默认冷却而不使用它 -
/player itemCd set- 应用自定义冷却时长
ping
控制机器人的模拟ping。击退延迟基于botPingToTicks设置转换为等效游戏刻数。
-
/player ping- 显示机器人当前ping和等效游戏刻延迟 -
/player ping- 设置ping值(毫秒)(建议:0、25、50、100、150、200)
当ping不能被botPingToTicks整除时,游戏刻延迟会有一些随机性。例如,ping为30且botPingToTicks为25时,每游戏刻有5/25的概率增加1游戏刻额外延迟。
copycat
将其他玩家的物品栏和动作包复制到机器人上。
/player copycat
skin / handedness
切换机器人皮肤各部分的可见性。
皮肤部分:
/player skin cape/player skin jacket/player skin leftSleeve/player skin rightSleeve/player skin leftPant/player skin rightPant/player skin hat
每次调用切换该部分的开启/关闭。
左/右利手:
/player handedness left/player handedness right
stop / kill / disconnect
-
/player stop- 停止所有动作和移动 -
/player kill- 杀死机器人(触发死亡和重生) -
/player disconnect- 从服务器移除机器人而不触发死亡
距离
测量两个位置、实体或碰撞箱之间的距离,并将结果存储为命令返回值(兼容记分板)。默认距离为球形(3D)。
from
使用精确位置的点对点距离。
/distance from to/distance from to/distance from to/distance from to
fromHitbox
使用源的完整碰撞箱而非中心点。
/distance fromHitbox to/distance fromHitbox to
也可与toHitbox组合:
/distance from toHitbox/distance from toHitbox/distance fromHitbox toHitbox
e(指数缩放)
/distance ... e- 返回前将距离乘以10^指数
- 示例:4个方块使用
e 3返回4000
horizontal
仅测量XZ距离(忽略Y轴)。
/distance ... horizontal- 支持
e
vertical
仅测量Y轴距离(忽略XZ轴)。
/distance ... vertical- 支持
e
延迟
安排命令或函数在游戏刻延迟后运行。
tickDelay
安排命令或函数在指定游戏刻数后执行。
-
/delayed tickDelay command- 延迟后运行命令,支持完整自动补全 -
/delayed tickDelay function- 延迟后运行数据包函数
queue
查看和管理待处理的延迟命令。
-
/delayed queue- 列出所有待处理的延迟命令 -
/delayed queue entity- 列出特定实体的延迟命令 -
/delayed queue entity- 列出执行实体的延迟命令 -
/delayed queue remove- 按索引移除特定延迟命令
clear
-
/delayed clear- 清除所有待处理的延迟命令
区块重置器
重置(删除)区块数据,使其在下一次加载时重新生成。已加载的区块会被跳过,必须先卸载。
chunk
按方块列位置重置特定区块。
-
/chunk-resetter chunk- 重置给定位置的单个区块 -
/chunk-resetter chunk- 重置矩形范围内的所有区块(最多256个区块)
重置区块中的实体将被丢弃。
world
重置整个维度中所有未加载的区块。同时删除POI数据。仅当启用deleteChunkEntities时才删除实体数据文件。
-
/chunk-resetter world- 重置当前维度的区块 -
/chunk-resetter world- 重置指定维度的区块