模组:制作一个XNB模组

来自Stardew Valley Wiki
Katzeus讨论 | 贡献2018年12月17日 (一) 00:30的版本 (Katzeus移动页面制作一个XNB模组使用模组:制作一个XNB模组,不留重定向:moving to new namespace)
跳到导航 跳到搜索

目录

Robin building.png
“我这里还有很多事情需要处理。”
— 罗宾

不完整的翻译

本文或部分尚未完全翻译成中文。 欢迎您通过编辑帮助其建设。
最后编辑Katzeus于2018-12-17 00:30:00.

本页介绍如何创建一个替换游戏原文件的MOD,以便更改游戏数据,图像和地图。

介绍

XNB模组的工作原理

游戏以.xnb的压缩格式文件把数据存储在Content文件夹中。例如,在对话框里显示的阿比盖尔的头像来自Content\Portraits\Abigail.xnb这个文件。每个.xnb包含两个文件: 数据文件(如图像)和元数据文件(有关数据文件的信息)。例如,这是Content\Portraits\Abigail.xnb里面的内容:

Abigail.xnb
   Abigail.png
   Abigail.yaml

在上面的例子中:

  • Abigail.png 这个文件里包含阿比盖尔的头像。如果你想修改她在游戏中的头像,需要编辑的就是这个文件:
    Modding - creating an XNB mod - example portraits.png
  • Abigail.yaml 这个文件里包含关于 Abigail.png 的元数据(文件类型之类的),通常情况下不用改动它。

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.

入门

First-time setup

Before you start, you should install these:

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.

地图

请见:使用模组:地图