星露谷模组开发教程#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,不一样的是多了一个是否为大型工艺品。这里使用一个矮人小工具和二十个煤炭制造一个钻石。

相关推荐
我是唐青枫3 小时前
C#.NET ValueTaskSource 深入解析:零分配异步、ManualResetValueTaskSourceCore 与使用边界
c#·.net
iCxhust3 小时前
C#程序,窗体1向窗体2的textbox控件写入字符串“hello”
开发语言·c#
iCxhust4 小时前
C#如何实现textbox文本多行输出 且自动换行输出
开发语言·c#
政沅同学7 小时前
C# 一种很好用的设计模式 不同对象之间进行解耦通信
设计模式·c#
咩图8 小时前
C#进程通讯-命名管道通讯
c#·命名管道·进程通讯
SunnyDays10118 小时前
如何使用 C# 高效实现 Excel 与 CSV 的互相转换
c#·excel·csv
Byron Loong8 小时前
【网络】C#TCP 通讯
网络·tcp/ip·c#
geovindu8 小时前
密码进行加盐哈希 using CSharp,Python,Go,Java
java·python·golang·c#·哈希算法
傻啦嘿哟8 小时前
Python 操作 Word 文档属性与字数统计方法详解
开发语言·c#
.NET修仙日记9 小时前
2026 .NET 面试八股文:高频题 + 答案 + 原理(基础核心篇)
云原生·面试·职场和发展·c#·.net·面试题·微软技术