《我的世界》命令块入门指南
Minecraft是向年轻人和新手介绍编码的最佳方法之一。命令块易于学习和使用,并且通过Minecraft mod和Bukkit插件就可以进行Java编程。对于经验丰富的编码人员来说,这也是一个非常有趣的地方。
什么是命令块,为什么要使用它们?
命令块是一个红石组件,在通电时会执行控制台命令。可以在聊天窗口中运行控制台命令,方法是在其前面加上正斜杠“ /”。命令被用来以手工方式无法修改游戏世界,当在命令块中正确使用命令时,它将赋予Minecraft自己的伪编程语言。代码由两部分组成:逻辑和执行,大多数编程语言都要求两者均以文本形式编写。 Minecraft编码采用不同的途径;程序的逻辑和结构由块的放置位置以及它们的连接方式决定,这意味着您可以飞越世界,并逐块查看程序的不同部分。
好的,那我该如何开始?
本指南使用了1.9版中的新命令块。它将在1.8中运行,但可能需要更多专业知识。
打开一个新的Minecraft世界(Superflat效果最好),确保您处于“创作”模式,然后按“ /”按钮。这是命令窗口,与聊天窗口相同,不同之处在于它以“ /”开始,并且以正斜杠开头的所有命令都是命令窗口。您可以运行的第一个命令是
/ g @p minecraft:command_block
让我们来分解一下。命令“ / give”将物品放入玩家清单,并具有两个参数:玩家和要给予的物品。 “ @p”是一个 目标选择器。 选择器“ @p”选择最近的播放器。另外,您也可以使用Minecraft用户名,但是如果您从控制台运行命令,则您永远是最近的玩家。其他目标选择器是“ @a”代表所有玩家,“ @ r”代表随机玩家,“ @ e”代表所有玩家实体。 实体包括所有不受阻碍的事物,例如怪物,雪球,动物和箭头。
该命令应成功执行,并为您提供一个新块。将其放在地面上的任何地方即可开始使用。
您会看到命令块指向您放置它的方向,就像漏斗或熔炉一样。稍后这将很重要。
右键单击模块(或使用用于访问工艺桌和熔炉的任何键),您将看到命令模块GUI。
乍一看似乎有些吓人,但请放心,所有这些按钮都可以执行某些操作。显示“ Impulse”的按钮可更改命令块的类型。有三种不同类型的命令块:
- 脉冲,在上升沿 红石电流。这意味着当它们通电时,即使继续通电,它们也将运行一次命令并停止。这是默认设置,并且是1.8中唯一可用的设置
- 重复执行,每次运行命令 打钩 他们有动力。滴答声就像一个框架,一次滴答可以运行多个命令,每秒最多可以运行20次。
- 链,仅在指向它的命令块已执行其命令时才运行。这些操作将在一个勾中依次执行,一个接一个,因此名称为“ Chain”。
指示“无条件”的按钮使命令块停止检查链中的上一个块是否已成功执行。另一个选项“ Conditional”(有条件的)仅在前一个块没有出错的情况下运行。
仅在命令块通电时,显示“需要Redstone”的按钮才运行命令。另一个选项“始终处于活动状态”可阻止命令块检查其是否已通电,并假设已通电。此选项不应与Impulse命令块一起使用,因为它会使它们无用。
让我们做一个链,我们的第一个“脚本”。将一个或两个链式命令块放到第一个脉冲命令块中,如下所示:
确保将链块设置为“始终处于活动状态”。否则,我们将需要放置红石块或电流,这会占用不必要的空间。在链的开始处的脉冲命令块上放置一个按钮,然后按它。
什么都不会发生。这是因为我们还没有用命令填充它们!右键单击脉冲块以对其进行编辑,然后输入基本命令
说开始
注意,在命令块中我们不需要正斜杠。您可以根据需要使用一个,但这不是必需的。 “ / say”命令采用一个参数,文本,并从执行该参数的人的角度说出来。如果您运行它,它将像常规聊天一样显示为“消息”。如果是从命令块运行的,则为“ [@]消息”。另外,还有“ / tell”和“ / tellraw”,后者使用播放器参数,而“ / tellraw”与“ / tell”类似,只是它使用原始JSON而不是文本。
您可以填充链命令块以编写更多聊天内容。它们将在同一滴答中按顺序执行,没有延迟。如果要延迟运行它们,则需要使用红石中继器对其进行设置。除了“ / say”外,还有其他一些基本命令可以执行更多操作,例如“ / give”赋予项目,“ / effect”赋予药水效果,“ / setblock”和“ / fill”改变世界,还有许多其他。在Minecraft Wiki上可以找到大量的命令数据库,以及其他有用的内容。
目标选择器
实际上,“ @ p”目标选择器的功能要比乍看之下要强大得多。例如,如果我们要定位所有实体,则可以使用“ @e”,但是如果我们只定位“僵尸”,则可以使用
@e [type = Zombie]
注意“ @e”后面的括号。这些括号内是 目标选择器参数,其完整列表可以在Minecraft Wiki中找到。 “类型”参数仅选择某种类型的实体,即“僵尸”。如果我们要针对命令块10个块内的所有僵尸,则可以使用
@e [type = Zombie,r = 10]
其中“ r”是半径参数。您还可以按位置,名称,团队和得分等作为目标。
链接命令
让我们介绍另一个与其他命令不同的命令。该命令是“ / execute”。该命令将另一个命令作为输入,并从另一个实体的角度执行该命令。 “ / execute”的结构是
/执行@target X Y Z /命令
X,Y和Z是从其运行命令的坐标。这与大多数命令无关紧要,但是如果您使用相对定位。 相对位置以“〜”开头,后跟一个正数或负数,指示从原点开始的块数,以“ ~~~”表示。因此,例如,如果我们想像村民在讲话一样运行“ / say”,则可以这样设置命令:
/ execute @e [type = Villager]〜〜〜/ say嘿
此命令将导致一条消息传给每个村民。如果我们有一个以上的人或一个以上的村民,这不是最佳选择,因此让我们重新设置该命令的格式:
/ execute @a〜〜〜/ execute @e [type = Villager,c = 1]〜〜〜/ tell @p嘿
这比第一个要复杂得多,并且涉及将两个“ / execute”命令链接在一起。命令的第一个“ / execute”在每个玩家上运行,然后第二个命令恰好在附近检查一个村民,然后让Villager告诉最近的玩家“嘿”。这样可以确保每人只有一位村民讲话。
学习语法
当然,在Minecraft中肯定有很多命令,每个命令都有自己的语法。每个命令的帮助菜单通常会迅速告诉您该命令需要哪些参数,并且Minecraft Wiki提供了每个命令的详细列表。确切地知道每个命令的作用不是很多,而是知道如何一起使用它们。毕竟,《我的世界》是一款游戏,因此玩转命令是学习过程的一部分。