Modding:El Sistema de Recursos
This page was last verified for Vintage Story version 1.15.
Vintage Story carga la mayor parte del contenido del juego a partir de JSON de recursos. Muchos ejemplos de estos se pueden encontrar dentro del directorio assets
dentro de tu carpeta Vintagestory . Elementos como bloques, objetos, generación de mundos, recetas, etc. se cargan desde assets durante el inicio.
Encontrar la carpeta assets
Todos los recursos funcionales de Vintage Story están visibles en la carpeta del juego, lo que te permitirá examinarlos y aprender a escribir los tuyos propios. Puedes encontrar estos archivos usando los siguientes métodos para cada tipo de sistema operativo en el que estés ejecutando Vintage Story. Si buscas el código fuente (es decir, clases en C#), lo mejor es que entres en Vintage Story Github y busques referencias de clases en los repositorios vsapi, vssurvivalmod, vsessentialsmod y vscreativemod.
Windows
Si estás ejecutando Vintage Story en Windows, puedes navegar hasta esta carpeta escribiendo %appdata% en la barra de búsqueda del escritorio, lo que te llevará a la carpeta itinerante de tu ordenador. Busca aquí la carpeta Vintagestory
e inmediatamente te encontrarás con la carpeta assets, que contiene recursos para "creativo", "juego" y "supervivencia".
- creativo contiene recursos sólo para el modo creativo.
- juego contiene muchos recursos universales, como archivos lang, la forma de la entidad del jugador y otros recursos esenciales para el juego.
- Supervivencia contiene la mayor parte del contenido real con el que se encontrarán la mayoría de los jugadores, y contiene todos los recursos que utiliza Vintage Story, como texturas, sonidos y generación de mundos.
Lista de tipos de Recursos
Las siguientes son las categorías de recursos que puedes utilizar para modificar Vintage Story. Cada uno de ellos es fácilmente modificable y se puede utilizar para añadir fácilmente su propio contenido o cambios sin tener que hacer ningún tipo de codificación avanzada. También puedes leer algunos ejemplos para aprender lo que puedes hacer con ellos.
Nombre | Afecta a la jugabilidad | Tipo lateral | Utilización |
---|---|---|---|
AssetCategory |
|||
blocktypes |
true | universal | Define todos los bloques que hay en el juego |
itemtypes |
true | universal | Define todos los Items que hay en el juego |
lang |
false | universal | Traducciones |
worldproperties |
true | universal | Contiene algunas listas de propiedades de uso común |
abstract |
true | universal | |
block |
true | universal | |
sounds |
false | universal | Sonidos |
shapes |
false | universal | Contiene los modelos 3D de todos los objetos, bloques y criaturas. |
block |
false | universal | Formas para bloques |
entity |
false | universal | Formas para entidades |
item |
false | universal | Formas de los ítems |
config |
true | universal | Se utiliza para datos genéricos que no encajan en las otras categorías. |
recipes |
true | sólo servidor | Las recetas de fabricación, tallado, herrería y modelado de la arcilla |
alloy |
true | sólo servidor | Cómo pueden combinarse los metales para crear aleaciones |
grid |
true | sólo servidor | Recetas para la grilla de fabricación de 3x3 |
smithing |
true | sólo servidor | Recetas de herrería en el yunque |
worldgen |
true | sólo servidor | Contiene toda la configuración para la generación de mundos |
terrain |
true | sólo servidor | Define cómo debe ser el terreno y con qué debe decorarse |
tree |
true | sólo servidor | Define las formas de los árboles |
entity |
true | sólo servidor | Criaturas y otras entidades |
shaders |
false | sólo cliente | Contiene código fuente GLSL, que define cómo se renderiza el juego. |
shaderincludes |
false | sólo cliente | Contiene código fuente GLSL, que define cómo se renderiza el juego. |
textures |
false | sólo cliente | Contiene todos los gráficos del juego |
block |
false | sólo cliente | Texturas de bloques |
item |
false | sólo cliente | Textura de los items |
decal |
false | sólo cliente | Texturas decorativas |
entities |
false | sólo cliente | Texturas de las entidades |
environment |
false | sólo cliente | Texturas de entorno (cielo, luna, sol, etc.) |
gui |
false | sólo cliente | Texturas de la interfaz |
hud |
false | sólo cliente | Texturas de Hud |
particle |
false | sólo cliente | Texturas de partículas |
music |
false | sólo cliente | Las pistas de música de los juegos y su configuración |
dialog |
false | sólo cliente | Contiene algunos de los diseños de diálogo |
Dominios
Los dominios se utilizan para separar el contenido añadido por mods del original. Básicamente, un dominio es un prefijo para cualquier código (identificador de elemento, bloque, etc.) o ruta (texturas, sonidos, etc.). El propio VintageStory tiene su propio prefijo game
para todos sus recursos (carpetas de juego, supervivencia y creativa).
Cuando empaqueta un mod se especifica un dominio colocando un directorio dentro del directorio del mod assets
con todos los recursos del mod dentro. El nombre de su directorio de dominio será el "dominio actual" para todos los recursos dentro de él. Si no se ha especificado ningún dominio en el código de un activo, el juego asumirá que está en el dominio actual, lo que significa que sólo tendrás que añadir un prefijo de dominio si quieres referirte a algo fuera del dominio actual.
Por ejemplo, si quieres crear un bloque nuevo que utilice la textura de cuero original, tendrías que especificar el dominio (ya que tu bloque tiene uno distinto). En lugar de utilizar block/leather
para assets/survival/textures/block/leather.png
, tendrías que añadir el prefijo para el dominio game:block/leather
.
Sobrescritura de recursos
El sistema no tiene limitaciones. Así que usted puede sobrescribir los recursos de Vintagestory por sí mismo mediante el uso de la carpeta de dominio game
.
Para sobrescribir el tipo de bloque de cama, puedes poner tu propio archivo json dentro del archivo zip de tu mod con la siguiente ruta: assets/game/blocktypes/wood/bed.json
. Así Vintagestory cargará tu archivo json en lugar del original.
Los paquetes de temas sólo pueden anular recursos que no afecten a la mecánica del juego, los otros tipos de mods pueden anular cualquier activo.
Acceso a recursos desde código
Para acceder a los recursos de un mod de código, puedes usar el Gestor de recursos.
Seguir avanzando
Una vez que tengas una idea de qué son los recursos y cómo se organizan, es hora de pasar a tu primer mod de contenido. Dirígete a la página Bloque básico para aprender a crear tu primer bloque, o a la página Item básico si quieres empezar creando un objeto. Ambas son formas estupendas de aprender a hacer tu primer mod.
Wondering where some links have gone?
The modding navbox is going through some changes! Check out Navigation Box Updates for more info and help finding specific pages.
Modding | |
---|---|
Modding Introduction | Getting Started • Pack Temático |
Content Modding | Content Mods • Developing a Content Mod • Basic Tutorials • Intermediate Tutorials • Advanced Tutorials • Content Mod Concepts |
Code Modding | Code Mods • Setting up your Development Environment |
Property Overview | Item • Entity • Entity Behaviors • Block • Block Behaviors • Block Classes • Block Entities • Block Entity Behaviors • Collectible Behaviors • World properties |
Workflows & Infrastructure | Modding Efficiency Tips • Mod-engine compatibility • Mod Extensibility • VS Engine |
Additional Resources | Community Resources • Modding API Updates • Programming Languages • List of server commands • List of client commands • Client startup parameters • Server startup parameters Example Mods • API Docs • GitHub Repository |