Minecraft Wiki:沙盒/Tutorial:命令方块

admin 2981 2025-05-06 04:12:26

本页面介绍的是命令方块使用实例。关于运行命令的方块,请见“命令方块”;关于所有命令及其语法,请见“命令”。

此页面需要更新。

页面中某些信息已经不符合当前版本情况。

命令方块是一种主要用于冒险模式游玩、多人游戏的自动化和自定义地图的方块。

目录

1 获取

2 界面

3 类型

4 运行

4.1 顺序结构

4.2 循环结构

4.3 条件结构

4.4 输出信号

4.5 执行环境

5 实例

5.1 给予一个随机玩家一个物品并告诉所有人

5.2 自动公告

5.3 定格动画

5.4 方块踩踏事件

5.4.1 自动步道

5.5 无线传输

5.6 入门套件

5.7 在单机非创造模式地图中使用命令方块

5.7.1 特殊的彩色文本

5.8 安全扫描

5.9 区域内检测

5.10 PVP玩法

5.11 时间与天气

5.11.1 时间倒流

5.11.2 时间加速

5.11.3 轻松设置日/夜

5.11.4 天气机

5.12 对于不同游戏模式玩家的控制

5.13 “联合”住宅

5.14 睡觉模拟

5.15 检测世界是否为和平难度

5.15.1 敌对生物检测法

5.15.2 命令查询法

5.16 会说话的冒险地图(有一个任务系统!)

5.16.1 建立商店

5.17 在更少的命令方块和递归中使用更多的命令

5.18 使用地图作为通关依据(scroll)

6 更多资源

7 参见

8 导航

获取[编辑源代码]

直接通过命令

确保你已经拥有管理员权限或在单人模式存档中开启作弊

在聊天框内输入命令/give @s command_block

通过创造模式物品栏[仅Java版]

打开选项,进入按键控制,开启管理员用品标签页。

开启创造模式,可以看到界面右下角新增了一个标签。

界面[编辑源代码]

参见:命令方块 § 设置

Java版命令方块界面

脉冲

命令方块的类型为脉冲命令方块。还可以设置为循环或连锁。

不受制约

命令方块独立执行命令,与相连的命令方块无关。

红石控制

命令方块必须通过红石激活。当命令方块类型为连锁时,必须将该项设置为保持开启。

O

允许命令方块显示上一次的执行信息。点击后将切换为X——不显示命令方块的执行信息。

类型[编辑源代码]

参见:命令方块 § 方块类型

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

命令方块一共有3种类型,分别为不同颜色。当其被设置为条件制约后,其后部将带有缺口。

:脉冲型

:连锁型

:循环型。

每种命令方块都带有方向,其方向与其外观上的尖头方向一致。在连接多个命令方块时,按住⇧ Left Shift可以防止打开命令方块界面。

命令方块可以表示程序中的3种基本结构:

顺序

选择

循环

运行[编辑源代码]

命令方块中的命令和聊天栏基本一致,只不过聊天栏为了区分聊天信息,必须在命令前使用/,而命令方块中可省略。

命令方块执行成功时,会在聊天栏中输出执行信息。

这项功能由游戏规则项commandBlockOutput控制开关,默认为true(即开启)。

使用/gamerule commandBlockOutput false可关闭命令方块输出的聊天信息。

与之相似的另一条规则是sendCommandFeedback。若设置为false,则命令方块放置后默认不会显示“上一个输出”,但你可以在界面中重新打开。

屏蔽命令方块输出可优化游戏体验,但也会提高检查命令方块执行结果的成本。

顺序结构[编辑源代码]

带转角的顺序结构,由一个脉冲命令方块和多个连锁命令方块构成

/say 2

/say 1

连接方式和命令已通过图示给出。可表示为如下的Python伪代码:

print('1')

print('2')

第一个脉冲命令方块相当于第一条语句,这也是程序的入口。

后续连锁命令方块将按照方向顺次执行。要注意,这些连锁命令方块必须设定为“保持开启”,否则将不会被所指向的命令方块自动激活。

当第一个脉冲命令方块被激活后,则输出的信息为:

[@] 1

[@] 2

在Minecraft中,连锁命令方块总是向所指向的命令方块传递信息,所以只要保证每个连锁命令方块的头部都指向另一个命令方块,则带转角(如图)的顺序结构也是能够正常运行的。

循环结构[编辑源代码]

/say 2

/say 1

连接方式和命令已通过图示给出。可表示为如下的Python伪代码:

while True:

print('1')

print('2')

第一个保持开启的循环命令方块相当于包含print('1')语句的while True循环块。

之后所连接的连锁命令方块依次执行。执行到最后一个命令又从头开始执行。

循环命令方块被激活后,则输出的信息为:

[@] 1

[@] 2

...(此处省略后续若干重复信息)

自闭链

需要注意的是,每次循环,循环结构中的所有命令均在1刻内完成。虽然这只是很短的一瞬间,但在进行命令分析时也不能将其视为“同时”执行,依然要按照命令方块的指向顺次分析。

还存在一种特殊的循环结构。如图就展示了一种仅由连锁命令方块构成的递归结构,该结构俗称“自闭链”,其实质上是对相同结构的重复构造。构成自闭链的关键条件为:

使用连锁命令方块构成头尾相连的递归结构。

构成的递归结构中至少有一个连锁命令方块使用/clone命令从另一区域复制包含相同命令的递归结构。

这种结构对性能影响较大,一般需要添加条件以限定执行次数。这种结构也会自动在限定次数后停止(在Java版1.21.5中测得执行上限约为16383次)。

结合红石,可以创造更多灵活可控的循环触发结构,参见Tutorial:高频电路。

条件结构[编辑源代码]

/say 2

execute if entity @n[type=pig,distance=..8]

连接方式和命令已通过图示给出。可表示为如下的Python伪代码:

if execute_if_entity('@n[type=pig,distance=..8]') == SUCCESS:

say 2

连锁命令方块开启了条件制约,此时需要对命令回返结果中的成功标志信息进行判断,如果上一个相连的命令方块执行成功,则继续沿着命令方块的朝向执行。

循环命令方块被激活后,若满足第一个条件,则输出的信息为:

[@] 2

否则不输出任何信息。

其实,在实际使用时,一般采用记分板、/execute等命令来构造条件,又或者结合一些红石来构造简单的触发系统。

输出信号[编辑源代码]

在Java版中,命令方块输出的红石信号取决于其成功执行的分支数。

如图,循环命令方块中的命令如下:

execute as @e[type=minecraft:chicken,distance=..6] run execute if entity @s

堆肥桶中共有6只鸡,所以输出6格红石信号。这可以用来构造以“实体数量”为条件的触发系统。

执行环境[编辑源代码]

主条目:命令上下文 § 命令方块

每种命令执行体都可能有自己独特的环境。命令方块也不例外。

本节主条目介绍了命令方块执行上下文中的执行参数。以下命令可用来验证(可高频执行,这样效果更明显):

执行者名称:say _(输出内容的方括号内即执行者名称)

执行者实体:execute if entity @s run say 1(若存在执行者实体,则输出1,否则无输出)

执行维度:execute if dimension minecraft:overworld run say 1(若维度为主世界,则输出1,否则无输出)

执行位置:particle minecraft:end_rod ~ ~ ~ 0 0 0 0 0(由于该粒子的生成位置可能被遮挡,故建议开启旁观模式以检查生成效果)

执行朝向:rotate @p ~ ~[仅Java版](通过观察玩家朝向来验证命令方块的执行朝向)

执行锚点[仅JE]:execute at @p run particle minecraft:end_rod ~ ~ ~ 0 0 0 0 0(检查玩家周围生成的粒子是否位于脚部)

要注意的是,命令方块彼此之间的执行环境并不会继承,每个命令方块的上下文参数(环境参数)均来源于当前世界,故命令方块的执行环境可看做“全局环境”,其中的所有上下文参数均为“全局参数”。

另外,命令方块中的命令最开始以字符串形式存在,还不是内存中的可执行对象。这和宏函数的动态解析有些类似——其在被激活后才开始解析。所以并不建议大规模使用高频命令方块——这会造成很多不必要的开销。

小练习

1.分析并预测以下每条命令在脉冲命令方块中的执行效果:

tp @s ~ ~1 ~

/tp @p ~ ~1 ~

execute at @p run tp @s ~ ~1 ~

tp @p ~ ~ ~ ~ ~

execute positioned ^ ^ ^1 run tp @p ~ ~ ~ ~ ~

execute as @p anchored eyes run particle minecraft:end_rod ^ ^ ^ 0 0 0 0 10

2.怎样修改命令方块的执行者名称?

参考答案

1.

tp @s ~ ~1 ~

无执行者,故没有任何实际效果。

/tp @p ~ ~1 ~

前导斜杠可省略。

执行位置:命令方块中心。

效果:最近一位玩家将被传送到命令方块中心位置向上偏移1格的位置。

execute at @p run tp @s ~ ~1 ~

执行位置:最近一位玩家的脚部坐标。

执行者实体:最近一位玩家。

效果:最近一位玩家被向上传送了1格。

tp @p ~ ~ ~ ~ ~

执行位置:命令方块中心。

执行朝向:命令方块的执行朝向。

效果:最近一位玩家的位置和朝向变为命令方块的位置和朝向。

execute positioned ^ ^ ^1 run tp @p ~ ~ ~ ~ ~

执行位置:命令方块中心沿朝向方向移动1格的位置。

执行朝向:命令方块的执行朝向。

positioned使得执行坐标沿朝向向前移动1格,最近一位玩家被传送到此处,同时朝向同步为命令方块的执行朝向。

execute as @p anchored eyes run particle minecraft:end_rod ^ ^ ^ 0 0 0 0 10

执行位置:命令方块中心。

执行朝向:命令方块的执行朝向。

锚点:最近一位玩家的眼睛。

粒子命令中使用了局部坐标,由于局部坐标会考虑锚点,且锚点可被视作相对于执行位置的偏移量。对于大多数实体,脚部坐标向上偏移某个值即得到眼睛锚点坐标。故该命令执行后会在命令方块上方某处产生粒子,这个粒子的生成位置到命令方块中心的距离刚好是最近一位玩家眼睛到脚部坐标的距离。

2.

在Java版中,命令方块的CustomName即代表了其执行名称。在铁砧中命名时会修改这个字段。你也可以使用/data来直接修改。

实例[编辑源代码]

以下列出了一些使用实例:

给予一个随机玩家一个物品并告诉所有人[编辑源代码]

给予一个随机玩家五个曲奇,然后告诉所有人。

/tag @a[tag=cookie] remove cookie

/say @a[tag=cookie] 已被给予五个曲奇。

/give @a[tag=cookie] minecraft:cookie 5

/tag @r add cookie

自动公告[编辑源代码]

通过在命令方块中使用命令/tellraw @a {"text":"<信息>"}[仅Java版]或/tellraw @a {"rawtext":["text":"<信息>"]}[仅基岩版]可以创造一个无人自动广播(需要连接循环红石等不断发出激活信号的红石元件)。还可以加入一些判断,如在第一位玩家抵达终点时向所有人广播。

定格动画[编辑源代码]

类似于屏幕显示视频画面是按顺序一帧帧显示的,借助/clone将缓存区域中多个预设的内容按既定顺序不断地刷新到指定的展示区域中即可实现定格动画。

每一次clone之间的延迟越短,那么“刷新率”就越高。恰当的刷新率可令动画效果更好。

方块踩踏事件[编辑源代码]

使用execute命令检测玩家脚下的方块并执行对应子命令。

/execute as @a at @s if block ~ ~-1 ~ iron_block run tp @s ~ ~3 ~

在本例中,目标方块是铁块,子命令是对应玩家将自身向上传送3格。可据实际情况更改目标方块和执行的子命令。

下面是一种应用。

自动步道[编辑源代码]

类似于自动扶梯,用于使实体水平移动。

初始化

使用/fill <方块>命令填充一片方块或是手动放置对应方块。

搭建

/execute as @e at @s if block ~ ~-1 ~ <方块> run tp @s ~-0.1 ~ ~

目标方块上的实体会自动向指定方向移动。

execute子命令中的~-0.1 ~ ~可以替换为你想要的坐标,坐标的格式可以参照上方的“传送”段落。

无线传输[编辑源代码]

可用/execute命令实现无线传输红石信号。

命令如下:

/execute if block 100 1 100 stone_button[powered=true] run setblock 233 2 233 redstone_block[仅Java版]或/execute if block 100 1 100 stone_button["button_pressed_bit"=true] run setblock 233 2 233 redstone_block[仅基岩版]

/execute if block 100 1 100 stone_button[powered=false] run setblock 233 2 233 air[仅Java版]或/execute if block 100 1 100 stone_button["button_pressed_bit"=false] run setblock 233 2 233 air[仅基岩版]

在本例中,输入是位于100 1 100的石头按钮,输出位于233 2 233。若按钮未被按下,则输出位置会变为空气;若按钮被按下,则输出位置会变为红石块。

execute命令中的不同部分具有不同职责。

if block部分负责检测对应坐标的方块是否符合命令中给出的方块。可根据实际情况更改为其他坐标和其他任何可更改方块状态的方块。

run部分负责在满足条件时运行setblock在对应坐标输出或取消输出红石信号,可根据实际情况更改为其他坐标。

两个命令方块分别负责输出或取消输出红石信号,顺序并不固定。

循环型命令方块负责按钮未被按下时将对应坐标的方块替换为空气,取消输出信号。

连锁型命令方块负责按钮已经被按下时将对应坐标的方块替换为红石块,输出信号。

入门套件[编辑源代码]

讲解

先将开始领取套件的玩家以<标签1>标记,然后将套件给予所有带有<标签1>的玩家,最后将已领取套件的玩家以<标签2>标记并移除他们的<标签1>标记。

至于标签的名字,你可以随意取,不过最好使用英文。你可以通过使用参数[tag=!<标签>],选择不带指定标签的玩家。

搭建一个循环的命令方块链,重复以上的流程,就可以在(服务器)地图上制作一个只能获得一次的套件。

搭建

示例:每个玩家在以命令方块为球心,半径3格的范围内可以领取一次套件,包含1把铁剑和1个盾牌。getting_kits用以标记正在领取套件的玩家,got_kits用以标记已领取套件的玩家。

/tag @a[tag=got_kits] remove "getting_kits"

/tag @a[tag=getting_kits] add "got_kits"

/give @a[tag=getting_kits] minecraft:shield 1

/give @a[tag=getting_kits] minecraft:iron_sword 1

/tag @a[tag=!got_kits,distance=..3] "getting_kits"[仅Java版]或/tag @a[tag=!got_kits,r=3] "getting_kits"[仅基岩版]

在单机非创造模式地图中使用命令方块[编辑源代码]

通过/gamemode也可以使你在单机非创造模式地图中使用命令方块,简单的切换游戏模式可以使用/gamemode creative然后将命令方块的命令设置为你想要的任何内容,最后使用/gamemode survival切换回生存模式。命令方块只是需要在创造模式下设置,但切换至生存模式仍然可以正常运作。

它也可以被用于传送(例如一个遥远的要塞,在地下挖矿,或者在一个浮空岛)。如果目的地需要你花很长时间才能到达,并且你不介意它是一种软作弊,那么就可以建立一个传送系统。请确保你在设置命令方块的时候是创造模式(请使用/gamemode creative。如果你并没有开启作弊选项,打开局域网模式设置打开作弊),但你还是可以在生存模式中使用它。在打开的命令方块的界面中输入/tp @p 。然后,用红石激活这个命令方块,然后你就会被送到远处的目的地。你可以建立多种不同的传送器。这也可以用于跨越大面积的大型项目,或者将箱子从旧房子转移到新房子。

特殊的彩色文本[编辑源代码]

参见:格式化代码

虽然你不能于命令方块直接输入彩色/粗体/斜体文本,但是可以直接利用文本组件来生成彩色/粗体/斜体字体。也可以使用“§”[仅基岩版]或“\u00a7”来进行文字的变色、甚至是乱码(§k[仅基岩版]或\u00a7k)。

安全扫描[编辑源代码]

使用/clear命令,你可以清除玩家背包中的某物品。具体步骤是这样的,使用/clear <@a|玩家名称> <清除的物品名>。如果想实现自动清理危险品可以将该命令方块设为循环型。

你甚至还可以进一步将被清除危险品的玩家显示在聊天框中:

在Java版中,可以借助命令统计值来完成:

初始化工作:建立一个记分项。

搭建:

/execute if entity @a[scores={<记分项>=1}] run tellraw @a [{"text":"已清除"},{"selector":"@a[scores={<记分项>=1}]"},{"text":"身上的危险品"}]

/execute as @a store success score @s <记分项> run clear @s <清除的物品名>

在基岩版中,需要用到“无序遍历”的方法完成:

搭建:

/tag @a remove <标签>

/tellraw @a {"rawtext":[{"text":"已清除"},{"selector":"@a[tag=<标签>]"},{"text":"身上的危险品"}]}

/clear @a[tag=<标签>] <清除的物品名>

/tag @r add <标签>

区域内检测[编辑源代码]

在选择器参数中,x、​y、​z、​dx、​dy、​dz、​r和​rm[仅基岩版]或x、​y、​z、​dx、​dy、​dz和​distance[仅Java版]可用于检测玩家是否在指定的区域内

可以用命令方块的范围限制来制作一个“围栏”,通过围栏的玩家会变成指定游戏模式。比如这样:

/gamemode <游戏模式> @a[x=<区域中心X>,y=<区域中心Y>,z=<区域中心Z>,distance=<距离下限>..<距离上限>][仅Java版]或/gamemode <游戏模式> @a[x=<区域中心X>,y=<区域中心Y>,z=<区域中心Z>,rm=<距离下限>,r=<距离上限>][仅基岩版]

这样放置两个搜索区域不重合的命令方块,就可以将规定半径内的玩家改变模式。

也可以是一个长方体区域,比如这样:

/effect give @a[x=,y=,z=,dx=6,dy=3,dz=6] strength 1 2 true[仅Java版]或/effect @a[x=,y=,z=,dx=6,dy=3,dz=6] strength 1 2 true[仅基岩版]

将使所有在方块区域(X~X+6,Y~Y+3,Z~Z+6)内的玩家获得1秒力量II效果。

PVP玩法[编辑源代码]

使用命令/gamerule keepInventory true来关闭玩家死亡后的物品掉落(同样在重生后会保留物品和经验等,所以需要在玩家重生后清空背包)。使用/give @p <物品ID>可以给予玩家武器(也可以添加物品堆叠组件[仅Java版]或NBT标签[仅基岩版]),你可以设计一套完善的职业系统,玩家选择不同的职业会有不同的装备。使用/spawnpoint 设置玩家重生地点,使用/tp 移动地图中的玩家到指定区域。

时间与天气[编辑源代码]

时间倒流[编辑源代码]

使用方块类命令(/setblock、​/fill和​/clone)来更改玩家所处的场景,并且时间也被设置为开始的时刻,这就好像是时间倒退。

(可以广泛用于剧情RPG地图)

时间加速[编辑源代码]

/time add 3500

时间会加速变化,你可以清楚地看到日月迅速升起落下的情景。(可以用在叙事故事类地图中)

轻松设置日/夜[编辑源代码]

在一片开阔且露天的场地上放置一个命令方块。在命令方块上放置阳光探测器,然后按下使用键,将其设置为反向阳光探测器。在命令方块中输入/time set day。或者你希望永远是夜晚,你可以直接放置一个阳光探测器,然后在命令方块中输入/time set night。

天气机[编辑源代码]

使用/weather来开始或者结束降雨(雷雨)合理安排这些命令的话会十分有用,你可以随自己的意愿开始或停止降雨。这个技术可以用于村民和一些由降水控制的红石机械,不用输入任何命令就可以控制天气(需要管理员激活命令方块自动执行),合理利用将会十分有效,比如在森林火灾时或者在雨天刷怪。

对于不同游戏模式玩家的控制[编辑源代码]

使用值[gamemode=creative][仅Java版]或[m=1][仅基岩版]你就可以设置命令只对创造模式的玩家有效,生存模式就是[gamemode=survival]或[m=0][仅基岩版]。

例:传送所有创造模式的玩家到254,47,-874,使用的命令为/tp @a[gamemode=creative] 254 47 -874[仅Java版]或/tp @a[m=1] 254 47 -874[仅基岩版]。

“联合”住宅[编辑源代码]

建造至少两个建筑物,在房间的入口或者出口设置一个/tp命令的命令方块,你不必将你的建筑都在同一个地方建设,它们可以在任何地方,只需要入口的命令方块传送过去,玩家会忽然觉得外面感觉很小的建筑内部空间竟如此之大。用这种方法联合多个建筑,可用作与服务器或单人地图中的场景瞬移。

睡觉模拟[编辑源代码]

使用/spawnpoint可以直接设置出生点,再使用/time set day命令,就可以模拟出睡觉的效果了。

检测世界是否为和平难度[编辑源代码]

敌对生物检测法[编辑源代码]

召唤一个在和平难度下会消失的敌对生物,把它放在压力板上。(请确保它会保持始终按下状态,所以一定要确保它不能跳或走开)。做一个红石电路,让压力板在没有接收到红石信号的时候激活命令方块。命令方块里设置一个消息,通知玩家的地图由于难度切换到了和平难度导致损坏,需要的怪物已经消失,请重新下载这个地图。

命令查询法[编辑源代码]

本段落所述内容仅适用于Java版。

使用无参数的/difficulty命令可以返回当前的游戏难度。前接/execute store result ...,会将和平难度以数值0返回。

初始化工作:创建一个记分项。

搭建:

/execute if score <虚拟玩家名(须前后一致)> <记分项> matches 0 run <将执行的命令>

/execute store result score <虚拟玩家名> <记分项> run difficulty

会说话的冒险地图(有一个任务系统!)[编辑源代码]

/say命令可以直接给玩家发送消息。将命令方块命名后会更好,这样你就不需要放很多的告示牌和页码多到不行的书来告诉玩家游戏规则,你只需要把命令方块放成一条线然后在中间铺红石中继器来弄各个语段之间的延迟即可。

有一些是和NPC配合使用的。想象一下你进了铁匠铺并且你想要让里面的铁匠说些什么。在命令方块出现之前,你需要一些书和告示牌来充当对话的效果,然后在铁匠铺里造些房间并放些杂物,这样会让这个铁匠铺看起来变得非常乱。但是现在,你只需要使用/say命令来制造铁匠说话的效果。也许柜台后面的猪会求饶!让我们再举另外一个例子:你在一家工厂里,一个报警铃的声音提示说工厂陷入危险了。用这个方法在聊天框中告诉玩家,以便保持一个紧张的气氛,特别是如果文字很长时应当用此方法。这同样可以用在定时炸弹装置,如果玩家看到了聊天框中的倒计时,他将可以更好地把情绪带进地图。

最后一点并非不重要,它可以更容易地建立一个任务系统,来让我们的玩家开始进行任务。玩家通过压力板后会用一个有/say命令的命令方块去表达屠夫对玩家的要求,然后获得一个特别的标签(前面的命令在执行时忽略带有这个标签的玩家)。他需要去杀一只猪。当玩家杀死在指定区域内的猪时,命令方块将会时玩家回到屠宰场之后激活三个命令方块。第一个命令是屠夫感谢玩家的/say命令,第二个命令是使玩家获得奖励的/give命令,最后同样是获得一个特别的标签(前面的命令在执行时忽略带有这个标签的玩家)。除此之外,别忘了使用目标选择器@a[tag=<标签>],使屠夫说出玩家的名字。例如,将命令方块设置为:/say 谢谢,@a[tag=<标签>],你帮我杀了那头猪。,聊天框就会显示:[@]:谢谢, <玩家> 。你帮我杀了那头猪。这让地图变得更酷,看起来像是为玩家制作的,因为上面写着他的名字!

建立商店[编辑源代码]

本段落所述内容仅适用于Java版。

通过使用/give @p[level=<''等级''>..] <物品> <数量>和/experience add @p[level=<''等级''>..] <等级> levels命令可以建立一个商店,举例来说:

/experience add @p[level=5..] -5 levels

/give @p[level=5..] grass_block 64

当命令方块被激活后,会从等级高于5等的玩家扣除5等等级,并给玩家64个草方块。

通过使用命令/experience add @p[level=3..] -3 levels,能将经验减去作为货币。level=后面的范围是命令执行所需的最低经验。

可以使用命令方块创建出售任何物品的自定义村民。

例如:/summon minecraft:villager ~2 ~ ~ {VillagerData:{profession:"minecraft:armorer",level:6},CustomName:'"盔甲匠"',CustomNameVisible:0,Offers:{Recipes:[ {maxUses:13,buy:{id:"emerald",count:5},sell:{id:"golden_sword",count:1,components:{"minecraft:enchantments":{levels:{"sharpness":9,"fire_aspect":6}},"minecraft:custom_name":'"炽热金剑"'}}},{maxUses:13,buy:{id:"emerald",count:1},sell:{id:"stick",count:1,components:{"minecraft:enchantments":{levels:{"sharpness":5}},"minecraft:custom_name":'"武术棍"'}}},{maxUses:13,buy:{id:"emerald",count:2},sell:{id:"blaze_rod",count:1,components:{"minecraft:enchantments":{levels:{"sharpness":5,"fire_aspect":10}},"minecraft:custom_name":'"辐射武术棍"'}}}]},Brain:{memories:{"minecraft:job_site":{value:{pos:[I;,,],dimension:"<''维度命名空间ID''>"}}}}}}}

其中和<维度命名空间ID>要根据实际情况改为对应高炉所在的位置。

使用buy标签的部分是村民的收购物,使用sell标签的部分是村民的出售物。如果不希望交易次数耗尽,可以将maxuses标签更改为1000;如果希望使其成为只能交易一次的项目,可以将maxuses更改为1。值得注意,这里的物品可以拥有超过等级上限的魔咒。另外注意,另外两个“武器”实际上是一个木棍和一个带有武器魔咒的烈焰棒。任何非武器物品只会造成与空手相同的伤害(1()),但魔咒可以提升伤害并使它们拥有与武器相同的性能,且与武器相比,它们有无限的耐久度。同样的技巧也可以用在带有水下呼吸3的生物头颅上,它是一个无限耐久的潜水面罩。

在更少的命令方块和递归中使用更多的命令[编辑源代码]

以下几种方法可以将命令组组合为一个命令:

在激活铁轨上生成一个命令方块矿车,该命令方块矿车上按顺序骑着另一些命令方块矿车。

使用/function。

参见:Java版函数和基岩版函数

使用地图作为通关依据(scroll)[编辑源代码]

YouTube博主“SethBling”使用地图当作通关依据(scroll),当空白地图被使用时,会变成一般地图,那时,命令会立即将地图从玩家的物品栏清除,并执行命令(召唤生物、传送玩家),同时关卡通过。

优点

快速的互动。

紧凑的系统。

简单触发,只要使用右键即可激活。

缺点

玩家在删除地图之前激活地图时可能会看到地图动画。

玩家在游戏过程中不能使用地图(显示文本信息、路径、图画…)。

机制建设

玩家可以更改物品的显示名称和介绍,让玩家更好地了解并使用物品。使用以下命令为玩家提供自定义命名地图[仅Java版]:

/give <玩家> map[custom_name='"<名称>"',lore=['"<介绍>"']]

玩家:指定的玩家(@p、@a[参数]……)。

名称:在快捷栏中滚动或用鼠标悬停于物品上方时显示的名称。

介绍:鼠标悬停于物品上方时名称下方的文本。

检测地图的激活

搭建:

任意你想执行的命令,如给予玩家某种效果,传送玩家到某处等。

/give <玩家> map[custom_name='"<名称>"',lore=['"<介绍>"']](可选,若有则触发后可重新获得通关依据)

/clear <玩家> filled_map

进阶

/clear命令可以检验其他可交互的物品:

在玩家刚喝过药水时检验玻璃瓶。

在收回浮漂时检验钓鱼竿。

/clear <玩家> fishing_rod[damage=2]

请注意如果钓到了地面或者生物时,钓鱼竿可能会损失不少于2点耐久度,所以对每2点耐久度都进行一次检验。

更多资源[编辑源代码]

Feare的命令方块教程

Dragnoz的YouTube教程提供了很多使用NBT标签的可能性

NBT标签的文本教程

参见[编辑源代码]

命令

命令方块

多人游戏

游戏模式

Tutorial:NBT命令标签[仅Java版]

Tutorial:物品堆叠组件[仅Java版]

Tutorial:自定义命令触发

Tutorial:命令统计值

Tutorial:命令方块商店

Tutorial:雪球菜单

导航[编辑源代码]

编教程(作下划线标记的教程为中文原创教程)

新手教程

菜单屏幕

游戏术语

计量单位

下载、安装与购买

成功地启动游戏

不该做的事

新手生存

新手指南

第一天

第二天

第三天

提示与技巧

饥饿管理

生存注意事项

庇护所

庇护所

沙漠

微型

最佳居住生物群系

最佳建筑材料

建筑与结构

房屋类型

导航

综合

无聊的时候做什么

跑酷

空置域

伪和平

节省时间的小窍门

在水下利用TNT破坏方块

成就指南[仅BE]

进度指南[仅JE]

最佳附魔指南

拓殖

战斗

完成冒险

双持

探索洞穴

利用碰撞箱

使用地图

测量距离和角度

采矿技术

钻石

化石

远古残骸

下界快速旅行

下界传送门

支柱跳跃

幻翼防护

生成骑士

穿越和破坏基岩

防卫僵尸围城[仅JE]

考古

不可破坏的末地水晶

使用更少的末地水晶重生末影龙

透视镜

挂机池

整理物品

潜影盒储存

物品运输

生物运输

自动化烧炼

选择燃料

爆炸室

凋灵笼

光速船[仅BE]

无材料消耗转换药水类型[仅BE]

在超平坦世界中管理史莱姆

Minecraft和教育

视频

游戏直播

村民和交易

村庄生存

创建村庄

村庄机制

治愈僵尸村民

村民养殖

村民交易所

流浪商人陷阱

建筑

给工程添加美感

空气闸

建筑术语

建造游轮

建造大都市

建造过山车

建造安全的家园

建造水建筑

建造几何体

防御

家具

电梯

带釉陶瓦的图案

建造地板

像素艺术

牧场

屋顶类型

弧形屋顶

屋顶建造指南

暗门

建造居住地

水下建筑

墙壁和桥墩

水闸

调色板

挑战

获得潮涌核心

冒险模式生存

挑战自定义地图

制作自定义地图

征服神殿和神庙

触发及战胜袭击

征服掠夺者前哨站

征服堡垒遗迹

征服林地府邸

征服海底神殿

征服试炼密室

征服下界要塞

征服末地城

探索深暗之域和远古城市

打败末影龙

打败凋灵

极限模式

超极限模式

在一个地区中长期生存下去

沙漠生存

在无限沙漠中生存

下界生存

从零开始下界生存

末地生存

雷暴生存

超平坦世界生存[仅JE]

岛屿生存

空岛生存

在和平难度中收集资源

速通

游荡生存

无限石头生存

愚人节版本生存[仅JE]

22w13oneBlockAtATime

24w14potato

农场

方块和物品

紫水晶

骨粉

仙人掌

农作物(小麦、胡萝卜、马铃薯、甜菜根、火把花和瓶子草)

西瓜、南瓜

紫颂果

圆石、石头或玄武岩

可可豆

泥土

滴水石锥

鸡蛋

花朵

蛙明灯

蜂蜜

海带

蘑菇

音乐唱片

下界疣

黑曜石

袭击农场

1.21前

海泡菜

甘蔗

甜浆果

原木、树苗和苹果

海龟鳞甲

藤蔓

羊毛

药水

经验

基岩

方块和物品复制

铁轨复制机[仅JE]

TNT复制[仅JE]

零刻作物催熟技术[仅BE]

生物

刷怪塔

怪物磨床

刷怪笼陷阱

动物(猪、牛、绵羊)

烈焰人

洞穴蜘蛛

苦力怕

闪电苦力怕

溺尸

末影人

山羊

守卫者

铁傀儡

岩浆怪

以物易物

潜影贝

史莱姆

鱿鱼

海龟

村民

女巫

流浪商人

凋灵骷髅

僵尸猪灵

红石

基础红石

基本逻辑门

高频电路

计时器

抽奖箱

漏斗

通用物品分类器

机械

侦测器稳定器

密码锁

随机发生器

红石机械

红石音乐

红石技巧

鲁布·戈德堡机械

探测器

方块更新感应器

比较器更新感应器

昼夜探测器

矿车

矿车

火车站

储存

数字化存储系统

陷阱

陷阱

陷阱设计

雪傀儡防御炮

TNT大炮

活板门利用

活塞

活塞使用

活塞电路

无延迟科技

飞行器

半连接性[仅JE]

零刻活塞[仅JE]

无头活塞[仅JE]

高级红石

光照操纵

高级红石电路

算术逻辑

计算器

时钟

摩尔斯码

打印机

红石计算机

红石电报机

多人游戏

玩法

游玩服务器

PvP

Java版1.9前、基岩版

基地

隐藏箱子

起床战争

空岛战争

猎人游戏

服务器管理

防止恶意破坏

服务器监狱

服务器商店

雪球菜单

架设服务器

架设Java版服务器

架设基岩版服务器

服务器架设脚本[仅JE]

服务器启动脚本

FreeBSD启动脚本

OpenBSD启动脚本

Ubuntu启动脚本

WebSocket服务器[仅BE]

架设Mod服务器[仅JE]

架设Hamachi服务器

架设Spigot服务器

虚拟硬盘服务器

使用ngrok搭建服务器

架设ZeroTier服务器

本地局域网联机

服务器维护

技术性

Minecraft帮助FAQ

地图

自定义地图

下载地图

使用MCEdit刷新旧区块[仅JE]

强制打开存档[仅JE]

降级存档

资源包

制作资源包

纹理

音效和音乐

语言和文本

模型

加载资源包

数据包[仅JE]

制作数据包

实例:射线投射

视线魔法

安装数据包

自定义世界生成

自定义结构生成

自定义盔甲纹饰

自定义物品

附加包[仅BE]

基岩版开发指南

制作资源附加包

高级

基岩版实体文档

修改实体模型

制作行为包

自定义实体

自定义方块

自定义物品

自定义附加包语言文件

自定义音效

命令格式

仅Java版

生成下落的方块

文本组件

NBT命令标签

物品堆叠组件

记分板

SNBT

NBT路径

命令方块

结构方块

用命令操控实体

NBT与JSON

自定义命令触发

目标选择器

游戏安装

仅Java版

提高帧率

更新Java

修复Apache Log4j2漏洞

编写启动器

快照版本安装

获取崩溃报告

查看游戏日志

仅基岩版

Minecraft URL Scheme

汇报漏洞

在U盘中使用旧版启动器运行游戏

恢复损坏的地图数据

修复因数据包损坏的世界

在Google Drive上运行游戏

将游戏数据保存到Dropbox云端

仅限地图数据

在ChromeOS上运行Java版

过时教程

到达边境之地

获取崩溃报告(旧版)

无数据包生存

升级LWJGL

更新Minecraft

命令统计值

村民养殖(村庄与掠夺前)

村庄链

水道

水车

仅英文

自定义纹理包

基于门的铁傀儡陷阱

人工湖

矿车加速器

中继器重启系统

水梯

无延迟电路

教程

新手手册

高难度通关配装总结

成就指南

高塔指南

教程

新手手册

基地建设指南

资源收集指南

单位阵容组合

上一篇
下一篇
相关文章