分享

命令方块有什么用?

 聪明的徐仔大大 2017-04-22

命令方块(Command Block)是一种用以执行命令的方块。因为生存模式中只能通过作弊获得,它常用在多人服务器与自订地图中。

命令方块有什么用?

获取

命令方块可以通过选取方块键或各种命令,比如/give @p minecraft:command_block 获得

命令方块不在创造模式物品栏中,不能在生存模式中或非管理员身份破坏,不能被点燃,有和基岩一样的爆炸抗性。命令方块不能被活塞推动。

用途

另见:命令 与 教程/命令方块

命令方块可以被红石信号所开启。此项没有权限限制,可以被一些通常情况不能使用命令的玩家执行一个特定的命令(比如,允许所有人通过/give获得一件特定的物品,而不能让他们用 /give获得任何他们想要的东西)。

命令方块会拥有方向(“facing”),决定哪个连锁方块会受到感应,哪个'条件制约'模式的命令方块执行命令会受其控制。

设置

命令方块有什么用?

命令方块GUI

要输入或修改命令,对命令方块点击使用键以打开 命令方块GUI (图形用户界面)。GUI只会在玩家处于创造模式, 拥有相关权限才会打开。在单机游戏里,作弊必须开启使得可以编辑命令方块。在 多人游戏中,只能由创造模式中的管理员所编辑。为了使命令方块能工作,以下在 server.properties 的配置必须设置为:

enable-command-block 必须为true

op-permission-level 必须为2 及以上 (默认为 4)

控制台命令

命令可被输入到第一个文本框。 命令方块的命令长度限定在32,500个字符以内,但这个文本框一次只能显示其中的一小段。自从1.9,按 Tab ? 可以补全命令且循环代入可选项。

命令方块内的命令不需要加斜杠前缀(/),就像在聊天框使用时的那样,不过加了也依旧能用。

在控制台命令文本框下是一些如何使用目标选择器的小提示。

上一个输出

下方的文本框显示上一个命令的输出(成功或是失败)。这里的文本无法编辑。

文本框右边的按钮设置上一个输出是显示还是隐藏。它设置输出将隐藏时为 O(默认),将显示时为X。当世界中有很多命令方块,尤其是电路高速运转时, 不显示输出可以减少内存使用以处理很多请求。

脉冲/循环/连锁

点击'脉冲/连锁/循环'按钮可更改命令方块类型。默认为“脉冲”,但非默认类型的命令方块也能被放置。命令方块改变类型时也会改变颜色:

“脉冲”方块是橙色的。这种方块是“标准”的命令方块,功能和它的前身差不多,激活一次执行一次命令。

“连锁”方块是绿色的。这种方块只在指向它的方块成功执行命令时才会执行命令。这不同于它在条件制约模式时,会检测什么在指向着它,而不仅仅是靠在它之后。。指向它的命令方块也不必一定是连锁方块本身来触发连锁执行。

“循环”方块是紫色的。这种方块被激活后的每一刻都执行命令,减小了红石时钟设备的重要性。

条件制约/不受制约

命令方块有什么用?

上方: '不受制约'模式的命令方块;下方: '条件制约'模式的命令方块

点击“条件制约/不受制约”按钮来改变命令方块的条件制约行为

“条件制约”: 命令方块只有在背后的命令方块成功执行命令时才会执行命令 ('背后' 的意思是命令方块前指的对立方向,无视连锁方向,甚至连锁已被占用也一样)。

“不受制约”(默认): 命令方块将忽略背后的方块。

保持开启/红石控制

点击“保持开启/红石控制”按钮改变命令方块的开启需求条件:

“红石控制”(脉冲型命令方块的默认设置):命令方块必须像红石机械一样激活才能执行命令。

“保持开启”(连锁型命令方块与循环型命令方块的默认设置):命令方块甚至在没有红石信号时也会保持为开启状态 (连锁型命令方块将在感应后执行命令, 循环型命令方块将在每一游戏刻执行一次命令(每秒20次),脉冲型命令方块激活后将不能再次激活)。

点击“完成”钮或按 ? Enter 键以保存命令并退出命令方块GUI。

点击“取消”按钮或按 Esc 在不保存任何修改的情况下退出命令方块GUI。

激活

命令方块属于红石机械 且能由以下物件激活:

临近的红石充能元件: 例如,红石火把 (红石火把置于命令方块上时例外),红石块,阳光传感器,按钮等等

临近的被充能方块 (例如,红石火把上面的非透明方块)

充能中且指向向命令方块的 红石比较器或红石中继器

充能的且指向命令方块(或覆盖其上) 或是没有指向的红石粉;命令方块不会被临近但是不指向它的充能红石粉激活。

另外,当命令方块由命令复制到一个会被激活的位置时,新的命令方块只有在原有命令未被执行过时才会执行命令。 (可从F3调试屏幕的 'triggered'看到)。

不像除了音符盒的其它红石元件,命令方块可在每个游戏刻激活一次(每秒20次,在不卡顿的情况下)。然而,在两个游戏刻中都激活一次需要使其在同一刻钟从被激活转为未激活状态(见fill+replace高频的实例)。

处于'保持开启'的命令方块将一直被激活。默认的模式为“红石控制”,也就是需要充能才能运行。

当被激活时,命令方块将尝试执行它的命令。激活后的动作将取决于命令方块的类型:

命令方块(“脉冲型”)会尝试执行命令一次。

连锁的命令方块(“连锁型”)将在指向它的命令方块执行命令后才会执行命令。

循环中的命令方块(“循环型”)将会在每个游戏刻都尝试执行一次命令直到不再被激活为止。

连锁执行

如果任何指向连锁方块的命令方块被激活了,它将向连锁方块发出准备执行命令的信号。 连锁型命令方块只有在被激活开启时,或在'条件制约'模式下还要在背后的命令方块成功执行命令时(背后针对前指方向而言,不是说某个命令方块接入连锁的方向)才会执行命令。 不管这个连锁型命令方块是否开启或是成功执行过命令,如果指向另一个连锁方块,它也同样会发送出准备执行命令的信号。

连锁中的方块将在同一游戏刻执行命令。连锁执行中无法传递过一个已经在这个游戏刻执行过命令的方块。

输出

当激活时,命令方块可以有几种不同类型的输出:

红石比较器

命令方块可以向背对它的红石比较器输入一个强度决定于上一个命令的执行情况的信号(例如,被命令所影响的玩家数)。

信号强度一直根据上一个命令的执行情况保持,即使是在命令方块关闭之后。

消息

输出消息描述执行命令的成功与否,会有几种输出位置:

上一个输出:输出消息都会写入命令方块GUI的“上一个输出”文本框里。

聊天框:输出信息将在单人模式下或多人模式下对所有管理员写入聊天框,除非已经用/gamerule commandBlockOutput false拦截。一些命令可能会在聊天框写入其正常工作时的附带文本,这不会被拦截。(比如,/say命令将在所有玩家的聊天框写入消息)。通常会带有玩家的名字作为前缀的聊天信息(比如命令/me, /say 和 /tell)会使用@作为玩家名字。如果命令方块在放置前已经用铁砧命名过,那么就使用这个名字。

日志: 输出信息会写入到多人联机服务器日志除非使用/gamerule logAdminCommands false拦截。

命令统计

命令方块可以推送多种成功结果到记分板目标,包括:

SuccessCount:成功的次数(之前也能用红石比较器输出,但不会限制到15)

AffectedBlocks:被修改的方块的个数

AffectedEntities:被修改的实体的个数,包括玩家

AffectedItems:被修改的物品的个数

QueryResult:命令的返回值

要使用的目标可以用命令/stats确定或直接用命令/blockdata修改命令方块的NBT数据。

ID

命令方块的ID决定于其类型:

命令方块有什么用?

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多