【我的世界】一个适用于正式跑酷地图的数据包
|| 前言 ||
在制作《蜂巢跑酷》的时候,为了方便制作跑酷地图所需的基本指令,我制作了一个适用于绝大多数跑酷地图的数据包。该数据包和之前发布的Speedrunning Helper不同的是,它更适用于一张正式的跑酷地图,例如它可以提供良好的多人联机支持,并且一定程度上更加稳定,而后者主要面向短程速通。
该数据包主要面向Java版本跑酷地图作者,它的安装和使用比Speedrunner Helper要略麻烦一些,但在一张正式的跑酷地图中能得到比Speedrunner Helper更好的效果。

|| 功能 ||
· 内置计时器
数据包加载后即显示在右侧计分板处。练习模式下会显示在物品栏上方。
在开始时和结束时自动开始计时和停止计时。
· 最佳纪录(PB)
完成地图时会比较玩家的完成时间,并记录玩家最快的完成时间。
竞赛模式下不会记录玩家的完成时间。
包含指令:/trigger reset_pb(重置最佳纪录)和 /trigger show_pb(显示最佳纪录)。
· 评级
完成地图时根据玩家的完成时间给出5✮到1✮的评级
各评级的分界时间需要在数据包中设置(详见下“使用说明”)
· 练习模式
提供便于练习速通的实用功能。
包含:可供玩家操作的计时器,切换飞行,保存当前位置,传送到保存的位置。
练习模式下玩家在计分板中的名字会显示为灰色,且无法触发地图完成的事件。
包含指令:/trigger training_mode(切换练习模式开启/关闭)
· 竞赛模式
多人游戏时可以由任意玩家创建竞赛或加入已有的竞赛。
创建竞赛的玩家决定开始竞赛、结束竞赛、公布竞赛结果。
竞赛模式下加入竞赛的玩家无法使用练习模式,无法使用/trigger lobby 和 /trigger restart,且不会被记录最佳纪录。
包含指令:/trigger new_race(创建竞赛)和 /trigger join_race set [竞赛ID](加入竞赛,其中竞赛ID会在玩家创建竞赛时显示)
· 存档点
包含用于开始游戏的存档点和一般的存档点。(详见“使用说明”)
· 快速重新开始的指令
用于快速返回大厅/重新开始。
包含指令:/trigger lobby(返回大厅) 和 /trigger restart(重新开始)
· 其他跑酷地图基本功能
(1)存档点。
(2)火焰保护。当玩家不在岩浆或火焰中又正在燃烧时会被给予火焰保护效果,以防止受到燃烧伤害。
(3)耕地保护。玩家不会通过跳跃破坏耕地(小概率下有可能会破坏)。实现原理是在玩家接近耕地且下落速度大于某定值时给予短暂的缓降效果,并在落地后移除。因此玩家不会在耕地上受到摔落伤害。
(4)在结束位置生成一个可供完成跑酷的玩家飞行的鞘翅。(详见“使用说明”)
(5)所有掉落物会被清除。
(6)所有玩家会被给予无限时长的饱和效果。

|| 使用说明 ||
1. 将压缩包解压至目标存档的datapacks文件夹下
2. 修改数据包中的一些参数。所有需要修改的内容在数据包文件内均有注解。
(1) main/data/common/functions/race/processing.mcfunction中,第4行,第9行,第18行。
(2) main/data/common/functions/back_to_lobby.mcfunction中,第7行。
(3) main/data/common/functions/const.mcfunction中,第6~9行。此处的参数代表不同评级的最大时间,单位为tick,其中20 ticks = 1 second。
(4) main/data/common/functions/ingame/tick.mcfunction中第7行。此处用于设定结束时鞘翅的位置。
(5) main/data/common/functions/join.mcfunction中第1行。
(6) main/data/common/functions/trigger.mcfunction中第15行。
3. 输入/reload,然后输入/function common:init 创建计分板。
4. 设置其他内容。
(1)存档点
在轻质测重压力板下方2格的位置放置一个循环命令方块。如果是开始游戏的存档点就输入 /function common:ingame/checkpoint/start_game/active,如果是一般的存档点就输入/function common:ingame/checkpoint/checkpoint/active。如果轻质测重压力板下方2格的位置被占用,请在一个循环命令方块或数据包的循环执行的函数文件中执行目标指令,并通过execute positioned将执行位置设置为轻质测重压力板下方2格的位置。
(2)地图完成判定
判定地图完成的实质是给予玩家一个“end”标签,若玩家符合完成地图的条件(例如未启用练习模式)则会触发地图完成的时间。配合目标选择器可以实现当玩家进入指定区域时完成地图的效果。
(3)其他地图指令
地图的自定义指令。建议使用数据包制作,并将所有函数文件放在./main/data/game/functions里,该目录下的tick.mcfunctions文件被设定为每tick执行一次,可以作为根循环函数文件使用。

|| 下载链接 ||
https://klue.lanzout.com/b03ekxd7g 密码:7xf9
所有后续更新会将文件上传至该链接处。

|| Bug反馈 ||
自《蜂巢跑酷》以来,该数据包已经过数张地图和实际使用的打磨,通过多次修复已成为相对完善的跑酷地图数据包,但不排除仍有潜在的问题。
如果你发现了该数据包的bug,例如多人联机、练习模式、竞赛功能等方面,请将bug反馈在这里或者私信告诉我,我会尽可能修复。