目录:
无论您是在Minecraft中管理迷你游戏还是指导冒险,红石工程对于使自定义地图进度你喜欢的方式。使用来自玩家的输入来运行程序并执行地图上发生的事件。
例如,在这里你看到一个自定义地图的三个房间,红石链接在他们周围。红石可以激活各种怪物和奖励,可以通过杠杆(玩家必须用来打开门)和跳跃者(玩家可以投掷物品)来激活。这种安排可以确保玩家面对每个房间的适当挑战,并且必须进行一定的支付才能获得更好的奖励。
<! - 1 - >当您创建红石驱动的地图时,可能会出现一些有趣的工程问题。
执行由主动玩家输入确定的任务
您为地图构建的机器通常必须查看玩家正在做什么以便为他们提供良好的体验。地图可以直接询问玩家的意见 - 例如,将玩家置于一扇锁着的门后,要求他们翻转一个手柄。然后你可以连接到一个隐藏的机器,玩家必须激活穿过门。
<!您可以通过几种不同的方式收集主动玩家输入:基本杆,按钮和压力板:
-
这些通常是收集玩家输入的最简单和最流行的方式。例如,玩家可以点击一个按钮来表示他们已经准备好继续或者踩下压板来激活事件。 容器:
-
红石比较器可以提供与容器内容成比例的输出,这意味着您的红石机器可以通过简单地让一个玩家将一个“钥匙”放入一个漏斗或从宝藏中移除所有物品胸部。
-
您可以使用tellraw和trigger命令向玩家发送可点击消息,以便玩家启动其他命令。 只要问:
-
例如,如果您要求玩家步行到某个地点或与敌人作战 - 例如通过聊天消息,标志或提示,您可以将被动输入变为主动输入:变得心不在焉决定成为玩家正在意识到的决定。玩家可以更容易地理解他们的义务,并且可以更容易地向他们展示如何体验自定义地图。 以下是主动玩家输入的棘手示例:商店。每个按钮对应不同的奖励。按下按钮的玩家 - 谁可以支付该项目的价格(通过使用记分板或其他类型的计数器来确定) - 接收项目。
使用被动玩家输入触发事件
有时,您不希望玩家知道正在发生的一切事情,或者您希望在自己制定语义的同时保持纯粹的体验。在这种情况下,您可以使用
被动玩家输入 (无意直接向控制器提供输入的动作)来静默地保留地图。例如,如果一个玩家走进一个房间,就可以使用一个隐藏的传感器召唤一场boss战。或者,如果玩家在赛车游戏中超过检查站,则可以使用tripwire广播玩家的成就,并提醒其他玩家注意其进度。 您可以通过以下几种方式收集被动玩家输入:
压力板和绊网:
您可以很容易地引导玩家进入这些陷阱 - 例如,使用较低的天花板,以避免跳过触发。如果压板或绊线被激活,红石认识到玩家在正确的位置,并且可以通过启动机器,给予奖励或召唤怪物来作出响应。
-
BUDs: 模块更新检测器对于检测玩家可能认为是无害的行为是很有用的。被困的胸部也可以达到这个效果。
-
定时器: 有些时候,当玩家只是在等待或者正在尝试完成某个任务时,您可能需要激活机器。你可以通过串联redstone中继器来实现这一点,这些中继器就是延迟。以一定的时间间隔进行序列中的许多事件,对于编排,小游戏和有趣的复杂情况的战斗非常有用。
-
testfor
-
命令: 如果你把一个命令块放到一个循环中,并重复激活testfor命令,你可以测试某个特定位置的玩家。如果您为其他实体进行测试,则可以使用testfor命令来查看玩家是否已经击败了房间中的所有怪物。只有在挑战完成后才能提供路径和奖励。 另外,testfor命令可以和记分板一起使用。请注意,记分牌的目标可以代表许多不同的变量,从健康到死亡,任何成就或统计。然后,您可以测试具有特定分数的玩家,并以有趣的方式使用这些结果。 例如,你可以看到有一个命令块在命令testfor @p [r = 5]下面隐藏了五个块。如果这个命令块被一个红石环重复供电,它将等待,直到玩家在房间的中心,然后给一堆其他命令块提供动力,这些命令块用爬行器包围那些不知情的玩家。
如果您构建了许多响应被动输入的机器,则可以使您的自定义映射感觉像一个
mod
(一个为游戏添加额外内容的程序)。有了一些聪明的编程,你可以基本上重写游戏的规则。