Modding:Edición de archivos XNB

De Stardew Valley Wiki
Ir a la navegación Ir a la búsqueda

Índice

Esta página explica cómo editar los archivos del juego para cambiar los datos, las imágenes y los mapas del juego.

Introducción

¿Qué son los archivos XNB?

El juego almacena datos, mapas y texturas en un formato comprimido con la extensión de archivo .xnb .dentro de su carpeta Content. Por ejemplo, el retrato de Abigail que se muestra durante el diálogo es Content\Portraits\Abigail.xnb. Desempaquetar ese archivo le da Abigail.png de esta manera:
Modding - creating an XNB mod - example portraits.png

(Al usar xnbcli, puede obtener un archivo extra Abigail.json. Eso solo se usa para convertirlo de nuevo en un .xnb más adelante y, por lo general, no tendrá que cambiarlo).

¿Cómo obtengo mis cambios en el juego?

Hay tres formas de obtener tus cambios en el juego:

  1. Cree un paquete de contenido de Content Patcher. Esto le permite cambiar los datos XNB del juego sin programar (simplemente editando un archivo JSON) y sin reemplazar los archivos reales del juego.
  2. Cree un mod SMAPI y use la API de contenido. Sin embargo, esto requiere programación.
  3. Crea un mod XNB reemplazando los archivos originales del juego. Esto ya no se recomienda y no se documenta aquí; consulte el uso de mods XNB para obtener más información.

¿Dónde puedo obtener ayuda?

La comunidad de modding de Stardew Valley es muy acogedora. No dude en pedir ayuda a la comunidad.

Desempaquetar archivos del juego

No puedes editar un archivo .xnb en sí, necesita editar el archivo que está dentro de él. Sacar ese archivo interno se denomina desempaquetar, y volver a colocarlo se denomina empaquetar. Hay dos desempaquetadores XNB principales disponibles.

StardewXnbHack

StardewXnbHack es una herramienta de código abierto y multiplataforma para descomprimir archivos XNB. No puede volver a empaquetar archivos en .xnb, pero rara vez es necesario.

Así es cómo:

  1. Instale SMAPI.
  2. Descargar StardewXnbHack.(Asegúrese de descargar el archivo para su sistema operativo, como StardewXnbHack-*-para-windows.zip, ¡no el código fuente!)
  3. Descomprima la descarga en la carpeta de su juego, para StardewXnbHack.exe que se encuentre en la misma carpeta que StardewValley.exe.
  4. Haga doble click StardewXnbHack.exe (en Windows), StardewXnbHack.sh (en Linux), o StardewXnbHack.command (en MacOS) para desempaquetar todo el juego es la carpeta Content.

¡Eso es! Desempaquetar los archivos la carpeta Content (desempaquetado) folder. Los archivos desempaquetados ya serán compatibles con el Content Patcher.

xnbcli

xnbcli es una herramienta multiplataforma y de código abierto para empaquetar y desempaquetar archivos XNB. No puede descomprimir archivos XNB que contengan modelos de datos (como Data\FishPondData o Data\Movies), y deberá editar los archivos de datos manualmente para trabajar con mods como el Content Patcher.

Here's how:

  1. Descargar xnbcli. (Asegúrese de descargar el archivo para su sistema operativo, como el xnbcli-windows-x64.zip, ¡no el código fuente!)
  2. Descomprima el archivo para editarlo:
    1. Encuentra el archivo que deseas editar en la carpeta del juego Content.
    2. Cópialo en la carpeta xnbcli's empacada.
    3. Haga doble click unpack.bat (Windows), unpack.sh (Linux), o unpack.command (Mac).
    4. Compruebe la carpeta Desempaquetada ara sus archivos desempaquetados. (Si no descomprimió muchos archivos, es posible que simplemente parpadee en la pantalla y desaparezca nuevamente, ¡pero eso es normal! De todos modos, verifique la carpeta para ver si hay cambios. Tenga en cuenta que 1.4 introdujo un nuevo formato de modelo de datos que xnbcli no puede manejar; para algunos datos necesitará usar StardewXnbHack en su lugar.)
  3. Edite el archivo desempaquetado (ver más abajo).
  4. Si se trata de un archivo de datos (no de una imagen o un mapa), hay un paso más si desea reemplazar o editar el archivo con Content Patcher: removiendo los metadatos XNB. Su archivo JSON actual debería verse así:
    {
        "header": {
            "target": "w",
            "formatVersion": 5,
            "hidef": true,
            "compressed": true
        },
        "readers": [
            {
                "type": "Microsoft.Xna.Framework.Content.DictionaryReader`2[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]",
                "version": 0
            },
            {
                "type": "Microsoft.Xna.Framework.Content.Int32Reader",
                "version": 0
            },
            {
                "type": "Microsoft.Xna.Framework.Content.StringReader",
                "version": 0
            }
        ],
        "content": {
            "0": "Weeds/0/-1/Basic/Weeds/A bunch of obnoxious weeds."
        }
    }
    

    Simplemente elimine todo excepto el campo de content, para que se vea así:

    {
        "0": "Weeds/0/-1/Basic/Weeds/A bunch of obnoxious weeds."
    }
    

Solución de problemas:

  • Si obtiene el permiso denegado en Linux/Mac:
    1. Abre una terminal. (En MacOS, busque 'Terminal' en Spotlight.)
    2. Escriba chmod +x , con un espacio al final . No presiones enter todavía.
    3. Arrastrar el unpack.sh (Linux) o unpack.command (Mac) en el terminal para pegar su ruta.
    4. Pulsa Enter. Si lo hizo correctamente, la terminal no mostrará ningún mensaje, pero el error de permiso debería desaparecer.
    5. Repetir para pack.sh (Linux) o pack.command (Mac).
  • Si obtiene un comando no reconocido en Windows:
    1. Asegúrese de no descargar el código fuente zip por error. Si la ruta de la carpeta se refiere a "master", ¡es la incorrecta!

Empaquetar archivos de juegos

¡No hay necesidad de volver a empaquetar los archivos del juego si está utilizando Content Patcher! solo usa el archivo .json, .png, o .tbin directamente en su content.json.

Si realmente desea volver a empaquetar los archivos, deberá usar xnbcli:

  1. Busque el archivo que desea volver a empaquetar.
  2. Cópialo en xnbcli's la carpeta desempaquetado.
  3. Haga doble click pack.bat (Windows), pack.sh (Linux), o pack.command (Mac).
  4. Mover el archivo empaquetado .xnb de vuelta a la ubicación original.

Haciendo cambios

Datos

Cada XNB de datos tiene su propio formato. Consulte la documentación en Modding:Índice#Temas avanzados.

Imágenes

Una hoja de baldosas de ejemplo, que consiste en una cuadrícula de baldosas como este:Modding - creating an XNB mod - example tile 1.png

Algunas definiciones:

  • Una hoja de sprites (spritesheet ) es un archivo PNG que contiene imágenes pequeñas (generalmente en un patrón de cuadrícula regular). Cada cuadrado en el patrón de cuadrícula del spritesheet (hoja de sprites) se llama sprite. Por ejemplo, cada objeto del juego tiene un sprite en Content\Maps\spring_objects.xnb.
  • Una hoja de baldosas (tilesheet) es un sinónimo de hoja de sprites cuando se usa para mosaicos de mapas. En una hoja de baldosas (tilesheet), cada cuadrado se llama baldosa (tile ) y tiene 16×16 píxeles.
  • Un retrato es un sprite de la spritesheets (hoja de sprites) Content\Characters\*.xnb.

Las hojas de sprites son fáciles de editar:

  1. Descomprima el archivo que desea cambiar.
  2. Abra el archivo desempaquetado .png en un editor de imágenes (como Paint.NET en Windows, o GIMP en Windows/Linux/Mac). Tenga en cuenta que es importante usar un editor de imágenes que pueda manejar la transparencia (también conocido como canal alfa), a diferencia de Microsoft Paint.
  3. Realice cambios directamente en la imagen.
  4. Vuelva a empaquetar el archivo y cópielo de nuevo en la ubicación original.

¡Eso es! Puedes iniciar el juego para ver tus cambios.

Mapas

Ver en Modding:Mapas.

Edición de contenido

Tenga en cuenta que los precios del software que se enumeran a continuación están sujetos a cambios.

Software de Pixel Art

Software Precio (USD) Sistema operativo Notas
Aseprite $19.99 Windows, macOS, Linux Gratis si te compilas a partir del código fuente
Photoshop $9.99/mes Windows, macOS Servicio basado en suscripción
PAINT.NET Gratis y $6.99 en Microsoft Store Windows
GIMP Gratis Windows, macOS, Linux
Krita Gratis y $9.99 en Steam Windows, macOS, Linux
Pyxel Edit $9.00 Windows Actualmente en versión beta, sujeto a un aumento de precio tras el lanzamiento completo
Pixel Studio Android or Pixel Studio Steam Gratis - Aplicación de compras en Android Android, Windows

Software de edición de texto

Software Precio (USD) Sistema operativo Notas
Sublime Text $99.00 Windows, macOS, Linux Prueba gratuita ilimitada
Notepad++ Gratis Windows
Visual Studio Code Gratis Windows, macOS, Linux
Atom Gratis Windows, macOS, Linux