古怪转轮

古怪转轮

一个增加嘉年华奖品转盘的模组,有机会给玩家带来惊人的奖励或可怕的惩罚!

冒险

荒诞轮盘

为 ModFest 嘉年华制作

一个添加嘉年华奖励转盘的模组——转动转盘时,玩家有可能获得 fabulous 的奖励,也有可能受到 horrific 的惩罚,整个过程妙趣横生!

如果使用 Fabric 游玩,则无需 Sinytra Connector 和 Forgified Fabric API。

玩家正在转动荒诞轮盘。

获取荒诞轮盘

要想获得属于自己的荒诞轮盘,你需要在世界中找到“地下室”结构。在转盘男孩的地牢监狱地下室里,你会发现一个荒诞轮盘,可以使用钻石或更高等级的镐将其挖掘并收集。

地下室结构的入口

地下室内部

创建咒语

要开始创建你自己的自定义咒语,首先需要创建一个数据包文件夹。如果你不知道如何制作数据包,这里有一个教程链接可以帮助你入门:创建数据包

如果你还没建好,需要在数据包文件夹中创建一个 data 文件夹。然后,在 data 文件夹内创建一个名为 wacky_wheel 的文件夹。之后,你需要在 wacky_wheel 文件夹中创建一个名为 spell_type 的文件夹。

你的文件路径应该如下所示:<你的数据包文件夹>/data/wacky_wheel/spell_type

现在,在 <你的数据包文件夹>/data/wacky_wheel/spell_type 中创建一个 JSON 文件。在本示例中,我们将其命名为 free_diamond.json

我们要做的第一件事是为咒语指定一个名称,当玩家在轮盘上转到该咒语时,这个名称会显示给玩家。

{
  "name": "免费钻石!",
}

我们还可以选择为名称文本设置特定颜色,并在其下方添加一些风味文本:

{
  "name": "免费钻石!",
  "titleColor": "#ADD8E6",
  "flavorText": "尽情享受你的免费钻石吧 :)",
}

接下来,我们必须为咒语提供一个与游戏内物品对应的物品 ID。该物品将用于在轮盘切片上表示此咒语。

{
  "name": "免费钻石!",
  "titleColor": "#ADD8E6",
  "flavorText": "尽情享受你的免费钻石吧 :)",
  "itemID": "minecraft:diamond",
}

下一个需要定义的字段是 castingTime,它表示轮盘转到该咒语后,施放咒语所需的时间(以刻为单位):

{
  "name": "免费钻石!",
  "titleColor": "#ADD8E6",
  "flavorText": "尽情享受你的免费钻石吧 :)",
  "itemID": "minecraft:diamond",
  "castingTime": 60,
}

最后一步是提供用于实现实际咒语效果的 .mcfunction 文件名。

{
  "name": "免费钻石!",
  "titleColor": "#ADD8E6",
  "flavorText": "尽情享受你的免费钻石吧 :)",
  "itemID": "minecraft:diamond",
  "castingTime": 60,
  "onCastFunction": "give_diamond"
}

当然,我们实际上需要在 <你的数据包文件夹>/data/wacky_wheel/functions 中创建一个名为 give_diamond.mcfunction 的文件。

give @s diamond

请注意,onCastFunction 默认以最初转动轮盘的玩家为目标。

若要测试我们新的命令,请在聊天框中输入 /wheel free_diamond,即可获得你的免费钻石。

咒语 JSON 属性

name:咒语的名称。

titleColor(可选):名称文本/标题的颜色。

flavorText(可选):显示在咒语名称下方的附加信息。

flavorTextColor(可选):风味文本副标题的颜色。

itemID:用于在荒诞轮盘上表示该咒语的物品 ID。

castingTime:施放咒语所需的时间(以刻为单位)。

onCastFunction:用于产生咒语效果而执行的 .mcfunction 文件名。

executeOnCastFunctionAtPlayer(可选):设置为 true 可在玩家位置(AT player)执行 onCastFunction,而非以玩家身份(AS player)执行。

duration(可选):咒语持续的时间(以刻为单位)。

onTickFunction(可选):咒语持续期间每刻执行的 .mcfunction 文件名。

executeOnTickFunctionAtPlayer(可选):设置为 true 可在玩家位置(AT player)执行 onTickFunction,而非以玩家身份(AS player)执行。

onEndFunction(可选):咒语结束时执行的 .mcfunction 文件名。

executeOnEndFunctionAtPlayer(可选):设置为 true 可在玩家位置(AT player)执行 onEndFunction,而非以玩家身份(AS player)执行。

鸣谢

https://github.com/HyperPigeon

https://github.com/lumiscosity

https://lumiscosity.neocities.org/