“模组:编辑 XNB 文件”的版本间的差异

来自Stardew Valley Wiki
跳到导航 跳到搜索
(复制自模组:制作一个XNB模组页面。)
第1行: 第1行:
 
 ←[[使用模组:目录|目录]]
 
 ←[[使用模组:目录|目录]]
{{翻译}}
 
  
 本页 介绍 如何 创建一个替换 游戏 文件 的MOD, 便 更改游戏数据 图像和地图。
+
 本页 描述了 如何 编辑 游戏文件以更改游戏 中的 数据 图像和地图。
  
 
==介绍==
 
==介绍==
===XNB 模组的工作原理===
+
=== 什么是 XNB 文件?===
 游戏 <tt>.xnb</tt> 压缩 格式 文件 把数据存储 在<tt>Content</tt>文件夹中。例如, 对话 框里 显示的阿比盖尔的头像来自<tt>Content\Portraits\Abigail.xnb</tt>这个文件 。每个<tt>.xnb</tt> 包含两 文件: 数据文件(如 像)和元数据 文件 (有关数据文件的信息)。例 ,这是<tt>Content\Portraits\Abigail.xnb</tt>里面的内容:
+
 游戏 将数据、地图和纹理 存储在 <tt>.xnb</tt> 这种 压缩 数据 文件 中,它们 游戏的 <tt>Content</tt> 文件夹中。 例如,对话 期间 显示的阿比盖尔的头像来自 这个文件: <tt>Content\Portraits\Abigail.xnb</tt> 。解包 这个文件 ,你会得到 <tt>Abigail.png</tt> 个图 文件 ,内容 下:<br />[[File:Modding - creating an XNB mod - example portraits.png]]
  
<pre>
+
(如果你使用 xnbcli 来解包,你通常会得到 <tt>Abigail.json</tt> 文件。 那只是用来打包回 <tt>.xnb</tt> 所需的文件,通常不需要更改它。)
Abigail.xnb
 
  Abigail.png
 
  Abigail.yaml
 
</pre>
 
  
在上面的例子中:
 
 
* <tt>Abigail.png</tt> 这个文件里包含阿比盖尔的头像。如果你想修改她在游戏中的头像,需要编辑的就是这个文件:<br />[[File:Modding - creating an XNB mod - example portraits.png]]
 
* <tt>Abigail.yaml</tt> 这个文件里包含关于 <tt>Abigail.png</tt> 的元数据(文件类型之类的),通常情况下不用改动它。
 
  
 
XNB模组代替了一些游戏原本的XNB文件,可以让你更改图像(头像,NPC行走图或建筑物外形),数据(作物信息或对话),或地图(包括地图行为,如传送或小游戏)。 XNB模组也可以添加全新的内容(如新的NPC)。
 
XNB模组代替了一些游戏原本的XNB文件,可以让你更改图像(头像,NPC行走图或建筑物外形),数据(作物信息或对话),或地图(包括地图行为,如传送或小游戏)。 XNB模组也可以添加全新的内容(如新的NPC)。

2021年4月12日 (一) 08:41的版本

目录

本页描述了如何编辑游戏文件以更改游戏中的数据、图像和地图。

介绍

什么是 XNB 文件?

游戏将数据、地图和纹理 存储在 .xnb 这种压缩数据文件中,它们在游戏的 Content 文件夹中。 例如,对话期间显示的阿比盖尔的头像来自这个文件: Content\Portraits\Abigail.xnb。解包这个文件,你会得到 Abigail.png 这个图片文件,内容如下:
Modding - creating an XNB mod - example portraits.png

(如果你使用 xnbcli 来解包,你通常会得到 Abigail.json 文件。 那只是用来打包回 .xnb 所需的文件,通常不需要更改它。)


XNB模组代替了一些游戏原本的XNB文件,可以让你更改图像(头像,NPC行走图或建筑物外形),数据(作物信息或对话),或地图(包括地图行为,如传送或小游戏)。 XNB模组也可以添加全新的内容(如新的NPC)。

XNB vs SMAPI mods

SMAPI is a modding API that lets you change the game using code. SMAPI mods are more powerful, easier to install and remove, and allow multiple mods to change the same content. On the other hand, SMAPI requires you to write code which some modders aren't comfortable with. If you have programming experience, creating a SMAPI mod is recommended instead if feasible.

有关这两种mod的更多信息,请看:使用模组:玩家常见问题

在哪里可以获得帮助?

The Stardew Valley modding community is very welcoming. Feel free come chat on Discord or post in the forums.

入门

第一步

在你开始之前, 你应该安装这些:

on Windows
on Linux/Mac

You should also back up your game's Content folder, so you can recover the original files if you make a mistake.

Unpack & pack game files

You can't edit an .xnb file itself, you need to edit the file that's inside it. Pulling out that inner file is called unpacking, and putting it back is called packing. Here's how to do it:

  1. Download XNB Extract (see #First-time setup).
  2. Unpack the file for editing:
    1. Find the file you want to edit in the Contents folder.
    2. Copy it into XNB Extract's Packed folder.
    3. Double-click UnpackFiles.bat (Windows) or UnpackFiles.sh (Linux/Mac).
  3. Edit the unpacked file (see below).
  4. Repack the file for the game:
    1. Double-click PackFiles.bat (Windows) or PackFiles.sh (Linux/Mac).
    2. Move the repacked .xnb file back to the original location.

Making changes

Spritesheets, tilesheets, or portraits

An example tilesheet, which consists of a grid of tiles like this: Modding - creating an XNB mod - example tile 1.png

Definitions:

  • A spritesheet is a PNG file containing small images in a regular grid pattern. Each square in the spritesheet's grid pattern is called a sprite. For example, each in-game item has a sprite in Content\Maps\spring_objects.xnb.
  • A tilesheet is a synonym for spritesheet when used for map tiles. In a tilesheet, each square is called a tile and is 16×16 pixels.
  • A portrait is a sprite from the Content\Characters\*.xnb spritesheets.

Spritesheets are easy to edit:

  1. Unpack the file you want to change.
  2. Open the unpacked .png file in an image editor (see #Getting started).
  3. Make changes directly to the image.
  4. Repack the file and copy it back to the original location.

That's it! You can launch the game to see your changes.

地图

请见:使用模组:地图