Modding: Item Simples do Tutorial de Conteúdo
Esta página foi verificada pela última vez para a versão do Vintage Story 1.20.7.
Introdução
Objetivo
Neste tutorial, você criará um item – Uma varinha simples! Embora este item não tenha funcionalidade real, ele demonstrará como criar ativos em json, bem como usar formas, texturas e arquivos lang.
Ativos
Antes de começar, é recomendável que você baixe o espaço de trabalho e os ativos para este tutorial. Os arquivos completos também podem ser encontrados aqui.
Este tutorial começa com os seguintes recursos:
- Configuração de mod e estrutura de pastas
- Arquivo de item vazio
- Arquivo de idioma do modelo
- Arquivo de forma de item
- Arquivo de textura de item
Pré-requisitos
Este tutorial presumirá que você entende os seguintes tópicos:
Usando o espaço de trabalho baixado, dê uma olhada nos arquivos que existem atualmente.
- modinfo.json - O arquivo de informações do mod, que registra seu mod com o ID 'simpleitem'.
- modicon.png - O arquivo do ícone do mod, que será exibido no menu do gerenciador de mod.
- assets/simpleitem/itemtypes/simplewand.json - Um arquivo vazio, é aqui que você deve colocar o código do seu item.
- assets/simpleitem/lang/en.json - Um arquivo de idioma de exemplo, onde você adicionará seus valores de tradução.
- assets/simpleitem/shapes/item/simplewand.json - Um arquivo de formato para a varinha.
- assets/simpleitem/textures/item/simplewand.png - Um arquivo de textura para a varinha.
Criando o item
Para criar um item, um arquivo deve ser criado dentro da pasta itemtypes. Se estiver usando o espaço de trabalho fornecido, já existe um arquivo de item chamado simplewand. Abra este arquivo em seu IDE.
A propriedade mais importante ao criar um ativo é o código, também conhecido como ID. Para começar, copie e cole no arquivo simplewand aberto.
{
"code": "simplewand"
}Lembre-se de que os arquivos JSON são um conjunto de chaves para valores. A chave, neste exemplo, é "code", e o valor é "simplewand". Observe que o arquivo do item começa e termina entre chaves ({ }), o que significa que é um único objeto.
Agora que seu arquivo itemtype possui um código, ele será criado e registrado no jogo. No entanto, você precisa de uma maneira de acessar o item. Para fazer isso, adicione uma nova propriedade:
{
"code": "simplewand",
"creativeinventory": {
"general": [ "*" ]
}
}Observe que cada propriedade é separada por vírgula. A nova propriedade, "creativeinventory" informa ao jogo em qual aba criativa este item será colocado. A sintaxe desta propriedade em particular é um pouco mais complexa, mas não se preocupe com isso por enquanto. Tudo o que isso faz é adicionar o item à guia criativa "geral".
Se você iniciar o Vintage Story e ativar seu mod, verá o item no menu criativo!
Idealmente, você não deseja que seu item seja uma grande caixa preta.
Adicionando a forma e a textura
Os arquivos de forma e textura existem nos ativos, então por que o item não está sendo renderizado corretamente?
Se um ativo desejar usar uma determinada forma ou textura, ele deverá especificar isso em seu arquivo json. Substitua seu itemtype json atual pelo seguinte:
{
"code": "simplewand",
"creativeinventory": {
"general": [ "*" ]
},
"texture": {
"base": "item/simplewand"
},
"shape": {
"base": "item/simplewand"
}
}Duas novas propriedades foram adicionadas - textura e forma. Lembre-se que a forma é uma representação 3D do nosso item, e a textura é uma imagem 2D mapeada em nossa forma, e devemos incluir ambas para garantir que nosso item seja renderizado corretamente. Pode parecer confuso que os valores de textura e forma pareçam iguais, mas o jogo os procura em lugares diferentes. Para encontrar formas, o jogo procura automaticamente na pasta shapes do mod, enquanto para texturas ele procura na pasta textures do mod.
Se você executar o jogo novamente, notará algumas mudanças.
Agora, isso certamente parece mais próximo do que queríamos, mas a posição do item está errada.
Posicionando o item
Seu item está quase completo, porém o objeto 3D não possui a transformação correta. Uma transformação, em gráficos 3D, refere-se à posição, rotação e escala de um objeto.
Usando o Editor de Transformação
Para permitir que os modders posicionem facilmente itens e blocos corretamente, Vintage Story utiliza um editor de transformação que pode ser acessado no jogo. Quando estiver no jogo, segure o item que deseja posicionar e use o comando '.tfedit' para abrir o editor de transformação.
O editor de transformação permite selecionar onde o objeto será renderizado e ajustar sua transformação diretamente. A melhor parte disso é o código json gerado na parte inferior deste editor, que você pode copiar e colar diretamente no arquivo do item.
É recomendável aprender a usar o editor de transformação, pois é uma ferramenta inestimável para transformar itens e blocos.
As alterações feitas no editor de transformação não modificam nenhum arquivo e, portanto, não serão salvas. Para cada item criado, é recomendado definir posições para solo, mão principal e gui. Eles usam as propriedades groundTransform, tpHandTransform e guiTransform respectivamente.
Para transformar sua varinha corretamente, adicione as seguintes propriedades. Não se esqueça de adicionar uma vírgula após a chave final no elemento de forma anterior.
"guiTransform": {
"translation": {
"x": 0,
"y": 0,
"z": 0
},
"rotation": {
"x": -89,
"y": 41,
"z": 33
},
"origin": {
"x": 0.48,
"y": 0,
"z": 0.38
},
"scale": 1.78
},
"groundTransform": {
"translation": {
"x": 0,
"y": 0,
"z": 0
},
"rotation": {
"x": 0,
"y": 0,
"z": 0
},
"origin": {
"x": 0.5,
"y": 0,
"z": 0.5
},
"scale": 3.4
},
"tpHandTransform": {
"translation": {
"x": -0.45,
"y": 0.03,
"z": -0.66
},
"rotation": {
"x": 90,
"y": 0,
"z": 0
},
"origin": {
"x": 0.5,
"y": 0,
"z": 0.5
},
"scale": 0.8
}Para ver se as alterações estão corretas, você pode simplesmente recarregar o mundo. Esperançosamente, se tudo funcionou corretamente, você descobrirá que sua varinha agora se ajusta melhor à mão do jogador, além de aparecer na interface do usuário de forma mais adequada.
Há uma alteração final antes que o item seja concluído.
Renomeando o item
Atualmente, cada instância do item é chamada 'simpleitem:item-simplewand'. Para corrigir isso, você precisa adicionar uma entrada ao arquivo lang. Abra o arquivo de idioma en.json fornecido, encontrado em assets/simpleitem/lang.
Este exemplo de arquivo lang contém dois exemplos de traduções, para mostrar como o arquivo funciona, bem como uma tradução para a guia do mod criativo. Observe que a tradução da guia criativa é prefixada com 'jogo', pois todas as guias criativas foram adicionadas especificamente ao domínio do jogo.
{
"game:tabname-examplemod": "Example Mod",
"template-lang-1": "Template Lang 1",
"template-lang-2": "Template Lang 2"
}À esquerda está a chave de tradução e à direita está a string traduzida. Adicione uma nova entrada a este arquivo adicionando uma vírgula após o segundo exemplo de tradução e uma nova linha. Neste caso, a chave de tradução é 'item-simplewand'. Observe que é assim que o jogo está exibindo o nome no momento, menos o prefixo do domínio mod. A string traduzida para isso deve ser 'Simple Wand'.
{
"game:tabname-examplemod": "Example Mod",
"template-lang-1": "Template Lang 1",
"template-lang-2": "Template Lang 2",
"item-simplewand": "Simple Wand"
}Ambas as traduções de amostra não são usadas e podem ser excluídas se você desejar.
Para acelerar os testes, se você ainda tiver o Vintage Story aberto, você pode usar o comando '.reload lang' para recarregar todos os arquivos lang. Passar o mouse sobre o seu item deve mostrar que nosso arquivo lang entrou em vigor.
Conclusão
Parabéns, você criou seu primeiro item! Este tutorial deve ter lhe dado alguma compreensão de itens, texturas, formas e arquivos de linguagem, bem como o básico de modding para Vintage Story!
Próximas etapas...
Se você quiser testar seus conhecimentos, considere realizar as tarefas da seção “Indo além” abaixo.
Quando estiver pronto, experimente o próximo tutorial: Simple Block. Isso mostrará como criar um novo bloco com textura.
Indo além
Quer fazer algumas alterações adicionais neste mod? Tente e consiga as seguintes coisas!
Mude a cor da varinha
| Para conseguir isso... |
| Modifique a textura simplewand.png para uma cor diferente. |
Mude seu modid e domínio para outra coisa
| Para conseguir isso... |
| Modifique a entrada modid em modinfo.json e altere o nome da pasta 'simpleitem' em 'assets'. |
Renomeie sua 'Varinha Simples'
| Para conseguir isso... |
| Altere a entrada para simplewand em seu arquivo de linguagem en.json. |
Crie outra varinha com uma cor diferente
| Para conseguir isso... |
| Crie uma cópia da textura com nome e cor diferentes e um arquivo itemtype duplicado. No novo arquivo itemtype, altere o código do item e altere a propriedade da textura para o seu novo caminho de textura. Não se esqueça de adicionar novas entradas de tradução de idiomas!
Observe que você não precisa alterar a textura no arquivo 'shapes', pois a propriedade de textura no seu tipo de item será usada. |
