【发布时间】:2021-01-12 15:06:07
【问题描述】:
我正试图弄清楚当某个半径或领域有黄色兵马俑时如何执行(例如/say hi),但我不知道该怎么做。 有谁知道吗?
【问题讨论】:
-
应该在gaming.stackexchange.com 上问这个问题。
标签: minecraft
我正试图弄清楚当某个半径或领域有黄色兵马俑时如何执行(例如/say hi),但我不知道该怎么做。 有谁知道吗?
【问题讨论】:
标签: minecraft
使用 Minecraft 1.16,
“Execute”命令有几个语法选项。您可以使用“如果块运行则执行”的形式
使用proper block name,我们可以得到:
execute if block 1015 63 989 minecraft:yellow_glazed_terracotta run say hi
这针对特定位置。
我不太清楚如何具体实现您的要求,但以下是我的想法:
语法提供了另一种形式“execute if blocks...”这种形式允许您按角选择范围,但必须与完全相同大小的第三个选择进行比较(只能指定角) .我认为区域必须完全相同,并且可能不允许在区域内的任何位置随机放置块。
另一种方法可能是使用不同的执行 if 命令来选择一个实体,并测试该实体的站立位置。
如果你在命令方块上放置一个按钮并将其设置为:
execute at @p if block ~ ~-1 ~ minecraft:yellow_glazed_terracotta run say hi
当玩家点击命令方块上的按钮时(显然他们必须在按钮的范围内才能按下它)它会检查@p下的方块-1是否是“yellow_glazed_terracotta”,它会运行打招呼.
@p 可以用 [distance=..3] 来修改,这意味着命令方块的目标玩家必须在命令方块的 3 格以内:
execute at @p[distance=..3] if block ~ ~-1 ~ minecraft:yellow_glazed_terracotta run say hi
所以,这有点像创建您正在寻找的范围。
一些sources 使用“在@s 处以@a 身份执行...”作为随时随地踩到某个街区的任何玩家的一种方式。也可以将其修改为一段距离,但似乎玩家需要站在与兵马俑的特定相对位置。
如果我找到更好的方法来实现这一点,我会跟进。
subreddit r/MinecraftCommands 有一个体面的社区,其中包含 Minecraft 命令和命令块。他们可能有更深入的了解。
如果我找到更好的方法来实现这一点,我会跟进。
编辑-此时我唯一能想到的另一件事是采用我建议的第一个命令,并对区域中的每个坐标重复它。如果兵马俑块是这些空间中的任何一个,它将运行 say hi 命令。
如果将所有这些命令行放入function 文件中,则可以在激活命令块时调用该函数。
【讨论】: