星露谷模组开发教程#6 烹饪和制造配方

首发于Enaium的个人博客


在上篇文章中我们添加了一个新的食物,但是这个食物并没有配方,所以我们今天来添加一个配方。

烹饪配方

我们在Data/CookingRecipes.json中可以看到所有的食物配方,所以我们需要修改这个配置文件来添加我们的食物配方。

csharp 复制代码
if (e.Name.IsEquivalentTo("Data/CookingRecipes"))
{
    e.Edit(assets =>
    {
        var dict = assets.AsDictionary<string, string>();
        dict.Data["Awesome_GoldenApple"] = "613 1 336 4/1 10/Awesome_GoldenApple/default/";
    });
}

首先每个参数会用/进行分割,第一个参数就是需要用到的物品,它是以两个数字为一对,第一个是物品的ID。第二个参数在游戏中暂时没被用到的,配置里大多数都是1 10,所以我们也这样写。第三个参数是产出物品的ID,第四个参数是配方的获取条件,default就是默认就会有这个配方。合起来就是一个苹果和四个金锭可以合成一个金苹果。

制造配方

csharp 复制代码
if (e.Name.IsEquivalentTo("Data/CraftingRecipes"))
{
    e.Edit(assets =>
    {
        var dict = assets.AsDictionary<string, string>();
        dict.Data["72"] = "122 1 382 20/Field/72/false/default/";
    });
}

和烹饪配方一样,制造配方中第二个参数也是未被使用的,可以是FieldHome,不一样的是多了一个是否为大型工艺品。这里使用一个矮人小工具和二十个煤炭制造一个钻石。

相关推荐
雪飞鸿5 小时前
ArrayPoolWrapper简洁、安全的ArrayPool
c#·.net·.net core·原创
海盗12346 小时前
C#上位机开发-S7协议通信
开发语言·c#
FeBaby6 小时前
ReentrantLock 与 synchronized 底层实现对比图解
开发语言·c#
烟话68 小时前
C# 内存机制详解:值类型、引用类型与 String 的不可变性
java·jvm·c#
我是唐青枫8 小时前
C#.NET MemoryMarshal 深入解析:零拷贝内存重解释、二进制读写与使用边界
c#·.net
susan花雨9 小时前
C#异步并行处理的用法
c#
weixin_520649879 小时前
Winform创建与启动
开发语言·c#
武藤一雄10 小时前
WPF中逻辑树(Logical Tree)与可视化树(Visual Tree)到底是什么
microsoft·c#·.net·wpf·.netcore
周杰伦fans10 小时前
深入 C# 匿名类型:从 `new { Ask = ask }` 说起
开发语言·c#