Modificações:Editando arquivos XNB

Fonte: Stardew Valley Wiki
Saltar para a navegação Saltar para a pesquisa

Índice

Essa pagina explicará como editar os arquivos, informações imagens e mapas de dentro do jogo.

Introdução

O que são arquivos XNB?

O jogo guarda informações, mapas e texturas em um formato comprimido com a extensão de arquivo .xnb dentro de sua pasta Content. Por exemplo, o retrato da Abigail exibido durante diálogos vem do diretório Content\Portraits\Abigail.xnb. Descomprimindo esse arquivo, lhe dará um arquivo Abigail.png como este:
Modding - creating an XNB mod - example portraits.png

Como eu aplico minhas modificações no jogo?

Existem três formas de aplicar suas modificações no jogo:

  1. Crie um pacote de conteúdos com o Content Patcher. Isso permite que você altere as informações XNB do jogo com zero programação (apenas editando arquivos JSON) e sem modificar os arquivos do jogo.
  2. Crie um mod com SMAPI e use a Content API. Nesse caso é necessário programação.
  3. Crie um mod XNB cujo substitua os arquivos originais do jogo. No entanto, isso não é recomendado e não é documentado aqui; Veja Usando XNB modificado para saber mais.

Onde eu posso conseguir ajuda?

A comunidade de modding de Stardew Valley é muito acolhedora. Sinta-se à vontade para pedir ajuda à comunidade.

Descompactando arquivos do jogo

Você não pode editar um arquivo .xnb por sí só, você precisa editar os arquivos que estão dentro dele. Retirar esse arquivo interno é chamado de descompactar e colocá-lo de volta é chamado de compactar. Há dois descompactadores XNB notáveis disponíveis:

StardewXnbHack

StardewXnbHack é uma ferramenta open-source e multiplataforma para descompactar arquivos XNB. Ele não consegue empacotar de volta os arquivos em um .xnb, mas você raramente irá precisar.

Para descompactar os arquivos:

  1. Instale o SMAPI.
  2. Baixe o StardewXnbHack. (Certifique-se de baixar o arquivo para o seu sistema operacional, como StardewXnbHack-*-for-windows.zip, e não o código-fonte!)
  3. Descompacte o arquivo baixado na pasta do seu jogo, assim que fique o StardewXnbHack.exe na mesma pasta do Stardew Valley executable icon.png StardewValley.exe.
  4. Dê um duplo clique no StardewXnbHack.exe (no Windows), StardewXnbHack.sh (no Linux), ou StardewXnbHack.command no (MacOS) para descompactar os todos os arquivos da pasta Content.

É isso! Após esse processo, os arquivos descompactados estarão em uma nova pasta chamada Content (unpacked). Os arquivos descompactados já serão compatíveis com o Content Patcher.

xnbcli

xnbcli é uma ferramenta open-source e multiplataforma para compactar e descompactar arquivos XNB.

Este suporta arquivos XNB de outros jogos, porém não consegue lidar com alguns arquivos específicos do Stardew Valley. Por isso StardewXnbHack é recomendado.

Detalhes 
Notas especiais:
  • Ele não consegue descompactar arquivos XNB contendo informações de modelos (como Data\FishPondData ou Data\Movies); Use StardewXnbHack se você precisar desses.
  • Você precisará editar arquivos de informações descompactados manualmente para que funcione com mods como o Content Patcher.
  • Ao descompactar uma imagem com o xnbcli, você terá um arquivo .json adicional ao lado da imagem. Este só será utilizado para converter de volta a um .xnb, e geralmente você não precisa modificá-lo.

Para descompactar os arquivos:

  1. Baixe o xnbcli. (Certifique-se que você baixou o arquivo para o seu sistema operacional, como xnbcli-windows-x64.zip, e não o código-fonte!)
  2. Descompactar o arquivo para edições:
    1. Encontre o arquivo que você deseja editar na pasta Content do seu jogo.
    2. Copie-o até a pasta packed do xnbcli.
    3. Dê um duplo clique no arquivo unpack.bat (Windows), unpack.sh (Linux), ou unpack.command (Mac).
    4. Verifique a pasta Unpacked para acessar seus arquivos descompactados. (Se você não descompactou muitos arquivos, ele pode apenas ter piscado na tela e desaparecido logo em seguida, mas isso é normal! Vale notar que a 1.4 introduziu um novo formato de modelo de data que o xnbli não suporta; para alguns arquivos será necessário usar o StardewXnbHack.)
  3. Edite o arquivo descompactado (veja abaixo).
  4. Se este arquivo é um, arquivo de informação (não uma imagem ou mapa), é necessário fazer mais um passo caso você deseje substituir ou editar o arquivo com o Content Patcher: removendo os metadados do XNB. Seu arquivo JSON deve se parecer com algo parecido com isto:
    {
        "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."
        }
    }
    

    Basta remover tudo, exceto o campo Content, para que fique assim:

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

Solução de problemas:

  • Se você tiver permissão negada no Linux / Mac:
    1. Abra o terminal. (No MacOS, procure 'Terminal' no Spotlight.)
    2. Escreva chmod +x , com um espaço no final. Não pressione Enter ainda.
    3. Arraste o arquivo unpack.sh (Linux) ou unpack.command (Mac) até o terminal para colar o caminho do arquivo.
    4. Pressione Enter, caso tenha feito corretamente, o terminal não mostrará nenhuma mensagem, mas o erro de permissão deve ter desaparecido.
    5. Repita para pack.sh (Linux) ou pack.command (Mac).
  • Se você receber algum comando não reconhecido no Windows:
    1. Certifique-se que você não baixou o zip do código-fonte por acidente. Se o caminho da pasta se refere a "master", este é o errado!

Compactando os arquivos

Não há necessidade de compactar os arquivos de volta caso você esteja usando o Content Patcher! Apenas use o .json, .png, .tmx, ou .tbin direto em seu content.json.

Se você realmente quer recompactar os arquivos, você precisará usar xnbcli:

  1. Procure o arquivo que você deseja recompactar.
  2. Copie-o para a pasta unpacked do xnbcli.
  3. Dê um duplo clique no arquivo pack.bat (Windows), pack.sh (Linux), ou pack.command (Mac).
  4. Mova o arquivo .xnb recompactado de volta a localização original.

Fazendo mudanças

Data

Cada arquivo XNB data tem seu próprio formato. Veja a documentação em Modificações:Índice#Tópicos Avançados.

Imagens

Um exemplo de tilesheet, em que consiste em uma grade de 'tiles' como este: Modding - creating an XNB mod - example tile 1.png

Algumas definições:

  • Uma spritesheet é um arquivo PNG que contém pequenas imagens (geralmente em um padrão de grade regular). Cada quadrado na grade da spritesheet é chamado de sprite. Por exemplo, cada item dentro do jogo tem um sprite em Content\Maps\spring_objects.xnb.
  • Um tilesheet é um sinônimo para spritesheet quando usado para tiles de mapa. Em um tilesheet cada quadrado é chamado de tilecomposto por 16x16 pixels.
  • Um portrait é um sprite dos spritesheets encontrados em Content\Characters\*.xnb.

Spritesheets são fáceis de editar:

  1. Descompacte o arquivo que você deseja alterar.
  2. Abrar o arquivo descompactado .png em um editor de imagens (como Paint.NET no Windows, ou GIMP no Windows/Linux/Mac). Observe que é importante usar um editor de imagens que possa lidar com a transparência (conhecido por canal alfa), diferente do Microsoft Paint.
  3. Altere a imagem do jeito que desejar.
  4. Compacte novamente o arquivo e copie-o para a localização original.

É isso! Você pode iniciar o jogo para ver suas alterações.

Mapas

Ver em https://stardewvalleywiki.com/Modding:Maps (ainda não traduzido para o português)

Edição de Content

Vale notar que os preços dos softwares listados abaixo estão sujeitos a alterações.

Softwares de Pixel Art

Software Preço (USD) Sistema Operacional Notas
Aseprite $19.99 Windows, macOS, Linux Gratuito se você compilar por conta própria source code
Photoshop $9.99 por mês Windows, macOS Serviço baseado em assinatura
PAINT.NET Grátis e $6.99 na Microsoft Store Windows
GIMP Grátis Windows, macOS, Linux
Krita Grátis e $9.99 na Steam Windows, macOS, Linux
Pyxel Edit $9.00 Windows Atualmente em versão beta, sujeito a um aumento de preço após o lançamento completo
Pixel Studio Android or Pixel Studio Steam Grátis - Compras dentro do aplicativo no Android Android, Windows

Softwares de edição de texto

Software Preço (USD) Sistema Operacional Notas
Sublime Text $99.00 Windows, macOS, Linux Avaliação gratuita ilimitada
Notepad++ Grátis Windows
Visual Studio Code Grátis Windows, macOS, Linux
Atom Grátis Windows, macOS, Linux