PECA-Player Extend Carpet Addition
这是一个对 Carpet 假人方面的扩展。
扩展了 Carpet 多假人操作,添加假人组控制、假人队形、假人保存/管理、与各种假人特性等。
/playerGroup
使用此指令进行多假人操作,进行多假人操作前必须创建一个组。
使用此指令创建一个组:
/playerGroup [组名] spawn [假人数]
成功将召唤名称为 [组名] 假人编号的 [假人数] 个假人。
其它指令与 /player 一致,不过填写的假人名变为组名,并且组内所有假人都将执行,唯一不一样的是 stop。
/playerGroup [组名] stop
可以使用 from ... [假人编号] to ... [假人编号] 来控制停止的组内假人范围。
from 代表从哪里开始停止,不填写 to 将一直停止到最后一个,to 代表从哪里结束停止。
例子
# bot 组内有 10 名假人, 停止所有假人:
/playerGroup bot stop
# bot 组内有 10 名假人, 从假人 5 停止到假人 10 (最后一个):
/playerGroup bot stop from 5
# test 组内有 10 名假人, 从假人 3 停止到假人 8:
/playerGroup test stop from 3 to 8
假人队形
你一定会发现 /playerGroup 创建出来的假人组里的所有假人都挤在一起,这样的假人组根本不能完成更复杂的功能,假人队形就是解决这个问题。
在创建假人时使用 formation 来选择假人队形,在队形后面填写行数(仅支持多行的队形有行数),最后可以填写方向(默认视线方向)。
使用 interstice可以填写每个假人之间的间隔。
formation 队形
# 列;
column
# 可叠加列(可以一格内存在多个假人);
columnFold
# 排;
row
# 可叠加排(可以一格内存在多个假人);
rowFold
# 四边形。
quadrangle
例子
# 创建一个组名为 bot 的假人组,有 10 个假人,并且排成一排:
/playerGroup bot spawn 10 formation row
# 创建一个组名为 bot 的假人组,有 10 个假人,并且排成一列,方向南:
/playerGroup bot spawn 10 formation row north
# 创建一个组名为 bot 的假人组,有 9 个假人,并且排成四边形,有三行:
/playerGroup bot spawn 9 formation quadrangle 3
# 创建一个组名为 bot 的假人组,有 9 个假人,并且排成四边形,有三行,每一个假人间隔三格:
/playerGroup bot spawn 9 formation quadrangle 3 interstice 3
# 创建一个组名为 bot 的假人组,有 9 个假人,并且排成一排,格内存在 3 个假人,每格假人间隔三格:
/playerGroup bot spawn 9 formation rowFold 3 interstice 3
空假人组
你可以使用 /playerGroup bot spawn 直接创建一个组名为 bot 的假人组,里面没有任何假人,然后手动编辑假人组成员后保存,。
用于需要多个假人且位置没有队形的情况。
向组添加假人,如果组已经保存在数据库将更新数据:
/playerGroup bot add [假人]
向组删除假人,如果组已经保存在数据库将更新数据:
/playerGroup bot del [假人]
假人组保存
使用此指令进行假人组保存 /playerGroup [假人组名] save 将使用 splite 保存数据。
数据将保存在当前世界存档根目录下的 pecaPlayer.db 文件,可以使用 sql/sql 可视化工具 查询。
使用 /playerGroup list 查询所有已保存假人组。
执行假人组所有假人保存的操作:
/playerGroup id [假人组ID] execute
假人组 id 可以使用 /playerGroup list 找到对应假人组查看详细获得。
向假人组所有假人添加操作, 使用 %s 代替假人名, %s 会被替换成下一个假人名:
/playerGroup id [假人组ID] execute add [假人操作指令]
例子
# 有一个 id 为 1 的假人组,内有假人 bot_1、bot_2、bot_3、bot_……;
# %s 将会替换成 bot_1、bot_2、bot_3、bot_……;
# id 为 1 的假人组,内所有假人添加向上看操作。
/playerGroup id 1 execute add "/player %s look up"
修改假人组所有假人在第几个的操作:
/playerGroup id [假人组ID] execute set [假人操作位置] [假人操作指令]
删除假人组所有假人在第几个的操作:
/playerGroup id [假人组ID] execute del [假人操作位置]
清空假人组所有假人的操作:
/playerGroup id [假人组ID] execute clear
使用 index 选择仅操作第几个假人。
例子
# 有一个 id 为 1 的假人组,内有假人10个,修改第5个假人的第2个操作为向上看:
/playerGroup id 1 execute set 2 "/player %s look up" index 5
# 有一个 id 为 1 的假人组,内有假人10个,删除第2个假人的第1个操作:
/playerGroup id 1 execute del index 2
/playerManage
使用此指令进行假人保存/管理/快捷操作,/playerManage 将使用 splite 保存数据。
数据将保存在当前世界存档根目录下的 pecaPlayer.db 文件,可以使用 sql/sql 可视化工具 查询。
使用此指令将当前玩家的数据保存为假人数据 /playerManage clone [用途]。
/playerManage clone 可以使用 in 修改保存数据的游戏模式, 使用 to修改保存假人的名称。
使用 /playerManage [玩家名] save [用途] 来保存指定假人/玩家的数据。
使用 /playerManage list 列出所有保存假人。
find 搜索
如果你保存了大量假人,想找到一个假人,或者你想看看一个范围有没有保存假人,使用 /playerManage list 显然是不行的。
这时候就可以使用 /playerManage find 来在数据库搜索假人,可以从 4 种方面搜索假人。
例子
# 搜索名称:
/playerManage find [名称]
# 搜索游戏模式:
/playerManage find gamemode [模式]
# 搜索维度:
/playerManage find dimension [维度]
# 搜索坐标:
/playerManage find pos [坐标]
搜索坐标范围
搜索坐标时使用 inside 指定搜索范围,搜索范围为:
传入坐标(x, y, z) - inside <= 检查坐标(x, y, z) <= 传入坐标(x, y, z) + inside。
可以一次从两个方面搜索假人。
例子
# 搜索在主世界,并且名称内带有 bot 的假人:
/playerManage find dimension minecraft:overworld is bot
# 搜索名称内带有 test,并且游戏模式为生存的假人:
/playerManage find test in survival
# 搜索在当前玩家坐标不超过 50 的范围,并且在下界的假人:
/playerManage find pos ~ ~ ~ inside 50 in minecraft:the_nether
# 搜索名称内带有 bot,并且在当前玩家坐标不超过 20 的范围:
/playerManage find bot at ~ ~ ~ inside 20
假人 保存/执行 操作
假人 id 可以使用 /playerManage list 或 /playerManage find 找到对应假人组查看详细获得。
执行假人保存的操作:
/playerManage id [假人ID] execute
假人添加操作:
/playerManage id [假人ID] execute add [假人操作指令]
删除假人在第几个的操作:
/playerManage id [假人ID] execute del [假人操作位置]
修改假人在第几个的操作:
/playerManage id [假人ID] execute set [假人操作位置] [假人操作指令]
清空假人所有的操作:
/playerManage id [假人ID] execute clear
例子
# 有一个 id 为 1 的假人,名称为 bot_1,添加操作向上看:
/playerManage id 1 execute add "/player bot_1 look up"
# 有一个 id 为 1 的假人,名称为 bot_1,修改第二个操作向上看:
/playerManage id 1 execute set 2 "/player bot_1 look up"
# 有一个 id 为 1 的假人, 删除第二个操作:
/playerManage id 1 del 2
/playerAuto
使用此指令进行假人任务, 使用 /playerAuto [假人名] stop 停止假人任务。
假人分类
使用 /playerAuto [假人名] sort [物品] 进行背包物品分类,所有非传入的物品都将被假人扔岀。
如果假人打开了任何容器都会使用传入物品填充容器。
使用 /playerAuto [假人名] craft [slot0] ... [slot8] 进行假人合成,假人合成必须假人已经打开工作台。
所有成功合成物品都将被假人扔岀。
例子
# 假人 bot_1 合成活塞:
/playerAuto bot_1 craft minecraft:oak_planks minecraft:oak_planks minecraft:oak_planks minecraft:cobblestone minecraft:iron_ingot minecraft:cobblestone minecraft:cobblestone minecraft:redstone minecraft:cobblestone
# 假人 bot_1 拆解铁块:
/playerAuto bot_1 craft minecraft:iron_block air air air air air air air air
# 假人 bot_1 合成铁块:
/playerAuto bot_1 craft minecraft:iron_ingot minecraft:iron_ingot minecraft:iron_ingot minecraft:iron_ingot minecraft:iron_ingot minecraft:iron_ingot minecraft:iron_ingot minecraft:iron_ingot minecraft:iron_ingot
假人交易
使用 /playerAuto [假人名] trading 进行假人交易,假人会使用背包中物品进行交易,所有交易成功物品都将被假人扔岀。
假人交易必须假人已经打开交易界面。
可以使用 from ... to ... 指定交易范围,from从哪里开始交易,to到哪里结束交易。
增加特性
可以在游戏內使用 /carpet 后点击 [PECA] 查看/设置特性:
锁定假人为生存模式;
假人可以在液体上行走;
假人无法捡起掉落物;
假人无法吸收经验球;
假人无法环绕经验球;
假人免疫火焰碰撞伤害;
假人免疫火焰持续伤害;
假人免疫岩浆碰撞伤害;
假人免疫来自玩家的伤害;
假人免疫爆炸伤害;
假人免疫实体挤压伤害;
假人无敌;
假人不会死亡;
假人不会饥饿;
假人不会缺氧;
假人不会陷入细雪;
假人不会受气泡柱影响;
假人掉落所有经验;
取消假人掉落经验上限;
假人死亡不掉落。