Modding:Ejemplos Básicos de Modificaciones
This page was last verified for Vintage Story version 1.15.
Gran parte del contenido del juego se puede modificar libremente editando archivos de texto. Si te apetece juguetear, abre la carpeta de activos. Para localizarla en Windows, pulsa Winkey+R en Windows y luego pega esta línea %appdata%/Vintagestory/assets y pulsa intro.
Protip:
A partir de la versión 1.6 debes habilitar el informador de errores ejecutando el comando de chat /errorreporter 1 cuando modifiques archivos json. Con esto, si cometiste algún error mientras modificabas los archivos asset, el juego mostrará un diálogo mostrándote todos los errores que encontró. En versiones anteriores del juego es necesario comprobar manualmente los archivos de registro en %appdata%/VintageStoryData/Logs/server-main.txt y client-main.txt |
Conserve su contenido en caso de fallecimiento
Abre el archivo assets/game/entities/humanoid/player.json
, busca la línea que empieza por server: {
, debajo inserta attributes: { keepContents: true },
Esto debería evitar que el jugador deje caer su inventario al morir.
Cambiar la duración del sueño en las camas
Las camas en el juego Vanilla son bastante limitadas, ya que sólo te permiten dormir entre 3 y 5,5 horas cada noche. La mayoría de las veces los jugadores prefieren saltarse toda la noche. Para conseguirlo abre el archivo assets/survival/blocktypes/wood/bed.json
.
Las líneas 8-11 deben contener estas líneas:
sleepEfficiencyByType: {
"bed-wood-*": 0.70833333,
"bed-hay-*": 0.58333333,
"bed-woodaged-*": 0.79166666
},
El atributo sleepEfficiency
es específico de la cama. En este caso un valor de 1 significa que el jugador puede dormir la mitad del día. La cama de heno tiene un valor de 0.58333333, lo que significa que el jugador puede dormir durante 12 * 0.58333333 = ~7 horas en el juego. Cambia el valor a cualquier cosa entre 0...1 y empieza el juego o sal y vuelve a entrar en tu mundo de un jugador. La próxima vez que duermas en la cama te saltarás esa cantidad de tiempo.
Hacer que los lobos sean menos peligrosos
Nuestro archienemigo favorito, el lobo. Si no te gusta el horror silencioso de las tierras invernales, podemos domarlo con unos cuantos retoques ;-)
Abre el archivo assets/survival/entities/land/wolf-male.json
Las líneas 108-123 deben contener esto:
{
code: "meleeattack",
entityCodes: ["player", "chicken-rooster", "chicken-hen", "chicken-baby", "hare-*"],
priority: 2,
damage: 8,
damageTier: 2,
damageType: "SlashingAttack",
slot: 1,
mincooldown: 1500,
maxcooldown: 1500,
attackDurationMs: 800,
damagePlayerAtMs: 500,
animation: "Attack",
animationSpeed: 2.5,
sound: "creature/wolf/attack"
},
Esta es la configuración para la inteligencia de los lobos que le indica que debe inducir daño a los enemigos muy cercanos. Por defecto el lobo te daña 8 puntos de salud, lo que significa que cualquier jugador desprotegido muere en 3 ataques. Si lo cambiaras a 5, el lobo tiene que atacarte hasta 4 veces antes de que un jugador completamente curado muera.
Justo debajo está la tarea del enemigo buscando
{
code: "seekentity",
entityCodes: ["player", "chicken-rooster", "chicken-hen", "chicken-baby", "hare-*"],
priority: 1.5,
movespeed: 0.045,
seekingRange: 15,
belowTempSeekingRange: 25,
belowTempThreshold: -5,
animation: "Run",
leapAtTarget: true,
leapAnimation: null,
animationSpeed: 2.2,
leapChance: 0.01,
sound: "creature/wolf/growl",
whenNotInEmotionState: "saturated"
},
Quizás puedas leer que el lobo tiene un radio de búsqueda de 15 bloques. Esto significa que si el lobo encuentra a un jugador en un radio de 15 bloques, empezará a caminar hacia él. Cambiando eso a algo más bajo, como 5 bloques, significa que puedes acercarte mucho más a un lobo antes de que empiece a perseguirte.
¡Asegúrate de aplicar también los cambios al lobo hembra en wolf-female.json
!
Jugando con la generación de mundos
Dentro de la carpeta assets, navega hasta assets/survival/worldgen/
. Copie a un lado el landforms.json para que tenga una copia de seguridad, a continuación, abra el landforms.json. Elimine todo en este archivo y pegue el siguiente texto:
{ code: "landforms", "variants": [ { "code": "humongous mountain", "comment": "humongous mountains with caverns in them", "hexcolor": "#5BC184", "weight": 1.5, "useClimateMap": false, "terrainOctaves": [0, 0, 0, 1, 1, 1, 1, 0.6, 0.15], "terrainOctaveThresholds": [0, 0, 0, 0.5, 0, 0, 0, 0, 0], "terrainYKeyPositions": [0.000, 0.330, 0.370, 0.420, 0.430, 0.500, 0.600, 0.700, 1.000], "terrainYKeyThresholds": [1.000, 1.000, 0.870, 0.840, 0.700, 0.940, 1.000, 1.000, 0.000] }, ] }
Ahora, la próxima vez que crees un nuevo mundo de supervivencia, todo el mundo estará hecho de montañas gigantescas. Enhorabuena, ¡ya puedes llamarte oficialmente modder!
Explicado muy brevemente, este fichero define la lista de formas de tierra que pueden aparecer en el mundo. Cada sección encerrada entre { ... } es una forma de terreno. Si quieres, puedes jugar con los valores de terrainYKeyPositions y terrainYKeyThresholds y ver qué pasa (tienen que ser valores entre 0 y 1). Estos números básicamente determinan la forma del relieve a ciertas elevaciones.
Encontrará más información al respecto en la página Generación del mundo.
Jugando con los bloques
Puede modificar, añadir o eliminar casi cualquier bloque que desee, incluida su forma. Dentro de la carpeta de recursos:
- Los bloques se encuentran en la subcarpeta blocktypes
- Las texturas de los bloques en texturas/bloques
- Las formas de los bloques están en blockshapes/ -- puedes abrirlas con nuestro creador de modelos personalizados
Por ejemplo, hagamos que el horno de pozo emita una luz roja y partículas enormes:
- Abre blocktypes/wood/generic/firepit.json. Allí se puede ver la siguiente línea:
"firepit-lit": [7, 7, 17], -
Estos son los valores de Tono, Saturación y Brillo según la VS Rueda de Luz (pase el ratón sobre cualquier píxel para ver su valor HSV). El brillo es lo lejos que se extenderá la luz. Tomaré [0, 7, 20]:
"firepit-lit": [0, 7, 20], - En la línea 36 debería ver esto:
size: { avg: 0.25, var: 0 }, - Esto determina el tamaño de las partículas cúbicas incandescentes que emite el pozo de fuego, aumentemos el tamaño 8 veces y añadámosle algo de aleatoriedad:
size: { avg: 2, var: 0.5 },
Guarda el archivo y reinicia tu mundo de un jugador, coloca tu pozo de fuego encendido y deberías ver esto:
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 |