Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement

此页面作为一个计划施工中。计划收录基岩版命令有关内容。

欢迎参与编辑工作!

简介

本教程致力于帮助Minecraft基岩版的命令初学者。

如果您能来到这个Wiki并看到这篇教程,您已经入门一半了。命令入门非常简单,接下来只需要耐心、自信心与好奇之心,相信您一定能学好命令!

参考:

重难点归纳

命令方块

主条目:命令方块
  • 在单人游戏里,作弊必须开启才可以编辑命令方块。在多人游戏中,只能由创造模式中的管理员所编辑。
  • 当世界中有很多命令方块,尤其是电路高速运转时,不显示输出可以减少内存使用以处理很多请求。
  • 连锁型命令方块只在指向它的命令方块执行命令时才会执行命令。
  • 条件制约:只有当连锁方块的指向的反方向的命令方块成功执行命令时才会执行命令。
  • 保持开启:连锁型命令方块将在感应后执行命令;脉冲型命令方块在设置完毕后将立即激活,且此后将无法再次执行。
  • 当一个连锁方块被激活时,不管它是否执行命令,只要指向另一个连锁方块,它也同样会发送出准备执行命令的信号。
  • 连锁中的方块将在同一游戏刻执行命令。
  • 连锁执行的信号无法传递给一个已经在这个游戏刻执行过命令的方块。[1]

命令方块矿车

主条目:命令方块矿车
  • 即使commandBlocksEnabled游戏规则被设置为False,命令方块矿车也可以运行。

命令

  • clear
    • 语法:clear [玩家:目标] [物品名:字符串] [数据:整数] [最大数量:整数]
    • 清除指定的是最大数量,这意味着如果被清除的物品小于最大数量,命令方块依然会返回执行成功。
  • effect
    • 语法:effect <玩家:目标> <效果:效果> [秒数:整数] [强度:整数] [true|false]
    • 效果的有效参数见状态效果
    • 如果效果的时间被设定成超过1638秒(32767刻),游戏将显示“**:**”,但实际上时间仍然在减少并迟早会过期。
  • spreadplayers
    • spreadplayers保持实体被传送的区块加载10秒左右。
    • 由于数据的限制,就算是把所有的数字都调到最小,实体也会在原点三格半径大的正方形中扩散。
    • 实体的传送倾向于传送到最高表面,因此如果扩散区域存在两个可到达的平面,较低的一个不会有实体被传送。

系统

记分板计时器

原理:循环命令方块每1秒执行20次,利用这个特性进行记分板操作,检测记分板分数,从而达到计时目的。

步骤:放置一个盔甲架,命名为“A”,执行: /scoreboard objectives add cycle dummy 添加记分项cycle。 /scoreboard players set @e[type=armor_stand,name="A"] cycle 0 把盔甲架的分数设置为0。

命令方块链执行: scoreboard players remove @e[type=armor_stand,name="A",scores={cycle=1..}] cycle 1 每刻给盔甲架的分数减少1,当盔甲架的分数为0,不满足条件”cycle=1..”时停止。 scoreboard players set @e[type=armor_stand,name="A",scores={cycle=0}] cycle 40 当盔甲架分数为0时,将分数设置为40,重置这个2秒的时间循环。

隐藏离线玩家

原理:设置两个记分项,一个用来储存分数,另一个用来显示分数。使显示分数的记分项只跟踪在线玩家的分数,即可实现隐藏离线玩家效果。

步骤:执行: /scoreboard objectives add point1 dummy 添加记分项point1,用于储存分数。 /scoreboard objectives add point2 dummy 添加记分项point2,用于显示分数。 /scoreboard objectives setdisplay sidebar point2 将记分项point2显示在右侧边栏。

循环命令方块执行: /execute @a ~ ~ ~ scoreboard players operation @s point2 = @s point1 让所有玩家把自己储存分数的记分项point1赋值给用于显示分数的point2。

定时执行: /scoreboard players reset * point2 重置记分项point2的分数(包括离线玩家)。

死亡检测系统[2]

算法

遍历法[3]

无序遍历

原理 使用目标选择器@r,每次随机选中一名玩家进行判定。
效率:1秒判定20次(循环命令方块)。

步骤 命令方块链执行: tag @r[tag=!snowball] add snowball execute @a[tag=snowball] ~ ~ ~ clear @s snowball 0 0 (条件制约)execute @a[tag=snowball] ~ ~ ~ tag @s remove snowball execute @a[tag=snowball] ~ ~ ~ give @s snowball execute @a[tag=snowball] ~ ~ ~ tag @s remove snowball 给没有雪球的玩家雪球。

有序遍历

原理
步骤 命令方块链执行: tag @r[tag=!snowball2] add snowball execute @a[tag=snowball] ~ ~ ~ clear @s snowball 0 0 (条件制约)execute @a[tag=snowball] ~ ~ ~ tag @s add snowball2 (条件制约)execute @a[tag=snowball] ~ ~ ~ tag @s remove snowball execute @a[tag=snowball] ~ ~ ~ give @s snowball execute @a[tag=snowball] ~ ~ ~ tag @s remove snowball 给没有雪球的玩家雪球,但能1秒判定20次而不重复。

二分法

万进制[4]

参考

Advertisement