分享

Modding:Editing XNB files

 星光闪亮图书馆 2021-12-20

本页解释如何编辑游戏文件来改变游戏中的数据、图像和地图。

介绍

什么是XNB文件?

游戏用压缩格式存储数据、地图和纹理。xnb其内部的文件扩展名内容文件夹。例如,阿比盖尔在对话中展示的肖像来自内容\肖像\阿比盖尔. xnb。打开那个文件会给你一个Abigail.png像这样:
Modding - creating an XNB mod - example portraits.png

(使用xnbcli时,您可能会获得额外的Abigail.json文件。那只是用来把它转换回。xnb以后,你通常不需要改变它。)

我如何在游戏中得到我的改变?

有三种方法可以让你在游戏中改变:

  1. 创建内容修补程序内容包。这让你可以用零编程(只需编辑一个JSON文件)改变游戏的XNB数据,而不用替换实际的游戏文件。
  2. 创建一个SMAPI模块使用内容API。不过,这需要编程。
  3. 通过替换原始游戏文件来创建一个XNB mod。这里不再推荐也没有记录;看见使用XNB模块了解更多信息。

我能在哪里得到帮助?

星谷改装社区非常受欢迎。随意询问社区寻求帮助。

打开游戏文件

您不能编辑。xnb文件本身,您需要编辑其中的文件。拉出该内部文件称为拆包,把它放回去叫做包装。有两种主要的XNB解包器可用。

StardewXnbHack

StardewXnbHack是一个开源的跨平台工具,用于解包XNB文件。它无法将文件打包回。xnb,但是你很少需要

以下是如何:

  1. 安装SMAPI
  2. 下载StardewXnbHack。(请确保为您的操作系统下载文件,例如StardewXnbHack-*-for-windows . zip,不是源代码!)
  3. 将下载解压到你的游戏文件夹,所以StardewXnbHack.exe与在同一个文件夹中StardewValley.exe
  4. 双击StardewXnbHack.exe(在Windows上),StardewXnbHack.sh(在Linux上),或者StardewXnbHack.command(在MacOS上)打开你的整个游戏内容文件夹。

就这样!它会将文件解压到一个内容(未包装)文件夹。未打包的文件将已经与兼容内容修补程序

xnbcli

xnbcli是一个开源的跨平台工具,用于打包和解包XNB文件。它不能解包包含数据模型的XNB文件(比如数据\鱼塘数据或者数据\电影),并且您需要手动编辑数据文件来使用像Content Patcher这样的mod。

以下是如何:

  1. 下载xnbcli。(请确保为您的操作系统下载文件,例如xnbcli-windows-x64.zip,不是源代码!)
  2. 打开文件进行编辑:
    1. 在中找到要编辑的文件游戏的内容文件夹
    2. 复制到xnbcli的包装文件夹。
    3. 双击打开包装。蝙蝠(窗口),打开包装(Linux),或者解压缩。命令(麦克)。
    4. 检查解除…的负担存放未打包文件的文件夹。(如果你没有解压很多文件,可能只是在屏幕上闪了一下,又消失了,不过这很正常!请检查文件夹中的更改。请注意,1.4引入了xnbcli无法处理的新数据模型格式;对于一些需要使用的数据文件StardewXnbHack相反。)
  3. 编辑未打包的文件(见下文)。
  4. 如果这是一个数据文件(不是图像或地图),如果您想用替换或编辑该文件,还有一个步骤内容修补程序:删除XNB元数据。您当前的JSON文件应该如下所示:
    {
        "标题" {
            “目标” “w”,
            "格式版本" 5,
            “隐藏” 真实的,
            “压缩” 真实的
        },
        “读者” [
            {
                “类型” “微软。xna . framework . content . dictionary reader ` 2[[系统。Int32,mscorlib,Version=4.0.0.0,Culture=neutral,public key token = b77 a5c 561934 e 089],[System。字符串,mscorlib,版本=4.0.0.0,区域性=中性,public key token = b77 a5c 561934 e 089]]",
                “版本” 0
            },
            {
                “类型” “微软。xna . framework . content . int 32 reader ",
                “版本” 0
            },
            {
                “类型” “微软。xna . framework . content . string reader ",
                “版本” 0
            }
        ],
        “内容” {
            "0" “杂草/0/-1/基本/杂草/一堆讨厌的杂草。”
        }
    }
    

    只需删除内容字段以外的所有内容,如下所示:

    {
        "0" “杂草/0/-1/基本/杂草/一堆讨厌的杂草。”
    }
    

故障排除:

  • 如果您在Linux/Mac上的权限被拒绝:
    1. 打开一个终端。(在MacOS中,在聚光灯下搜索“终端”。)
    2. 类型chmod +x,结尾有一个空格。先别按回车键。
    3. 拖动打开包装(Linux)或解压缩。命令将(Mac)文件粘贴到终端上,以粘贴其路径。
    4. 点击进入。如果你操作正确,终端不会显示任何信息,但是权限错误应该会消失。
    5. 对...重复打包(Linux)或打包命令(麦克)。
  • 如果您在Windows上收到无法识别的命令:
    1. 确保您没有错误地下载源代码zip。如果文件夹路径指的是“master”,那就错了!

打包游戏文件

如果你正在使用,没有必要重新打包游戏文件内容修补程序!使用。json,。巴布亚新几内亚,或者。tbin直接在你的content.json

如果您真的想重新打包文件,您需要使用xnbcli

  1. 找到要重新打包的文件。
  2. 复制到xnbcli的解除…的负担文件夹。
  3. 双击打包(窗口),打包(Linux),或者打包命令(麦克)。
  4. 移动重新包装的。xnb将文件放回原始位置。

做出改变

数据

每个数据XNB都有自己的格式。请参见的文档修改:索引#高级主题

形象

一个示例tilesheet,它由像这样的瓦片网格组成:Modding - creating an XNB mod - example tile 1.png

一些定义:

  • Aspritesheet是一个包含小图像的PNG文件(通常以规则的网格模式)。spritesheet网格模式中的每个方块都称为鬼怪;雪碧。例如,游戏中的每个项目都有一个精灵内容\地图\spring_objects.xnb
  • Atilesheet用于地图切片时,是spritesheet的同义词。在波形图中,每个正方形称为一个瓷砖并且是16×16像素。
  • A肖像是来自内容\字符\*。xnbspritesheets。

精神表很容易编辑:

  1. 打开文件你想改变。
  2. 打开未包装的。巴布亚新几内亚图像编辑器中的文件(如Paint.NET在Windows上,或者GIMP在Windows/Linux/Mac上)。请注意,与Microsoft Paint不同,使用可以处理透明度的图像编辑器(也称为alpha通道)非常重要。
  3. 直接对图像进行更改。
  4. 重新打包文件并将其复制回原始位置。

就这样!您可以启动游戏来查看您的更改。

地图

看见修改:地图

内容编辑

请注意,下面列出的软件价格可能会有所变化。

像素艺术软件

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多