domingo, 7 de febrero de 2016

Minetest Modding (IV) - Grupos

En el primer capítulo de esta serie vimos como poníamos como ejemplo el registro de un nodo con la propiedad groups:

minetest.register_node("furnimod:pinkblock", {
    description = "Pink Block",
    tiles = {"unchitexture.png"},
    is_ground_content = true,
    groups = {cracky=3, stone=1}
})

¿Qué significa esto? ¿Cómo afecta a nuestros nodos? ¿Nos lo vas a contar furni? Claro... aquí empieza el capítulo titulado:

Los grupos!!!!!


Los grupos son una tabla en nuestro nodo y por eso van entre llaves y separados por comas ya que un nodo puede pertenecer a varios grupos. Además cada elemento de esa tabla es en si mismo una propiedad a la que se le asigna un valor. Si no le ponemos valor, minetest asume que es 1. Fijaos además que no son cadenas de texto como "Hola!!!", ya que si no irían entre comillas y no lo van...

Entre los grupos, hay un grupo de grupos especial y son los conocidos como los digging time o tiempo de pico. Cada grupo define una manera de picar el nodo, así que asociando el nodo a uno de estos grupos estaremos determinando cómo se obtiene.

Digging Time Groups

Estos grupos llevan asociado un valor del 1 al 3. Cuanto mayor sea el número más costará extraerlo. Si no ponemos nada, por defecto se asumirá que es el 1.

crumbly

Añadiendo esta propiedad significa que el nodo puede ser obtenido con la pala. Una cosa interesante es que si sólo asociamos este grupo al nodo, el nodo sólo podrá ser extraído con la pala, ni con picos,  ni con gaitas.

cracky

Este grupo es el que tenemos en el ejemplo del inicio de este artículo. Significa que el nodo o bloque puede ser extraído con el pico.

snappy

El nodo se puede cortar con la espada.

choppy

Al nodo se le puede arrear con el hacha. Aizkolariak al poder.

dig_immediate

No es necesario ninguna herramienta para su recolección. Vamos que lo podemos coger a muñonazos. Si le asignamos el valor 2 lo recogeremos en un par de golpes, si le asignamos el valor 3 se recogerá inmediatamente, como pasa con las antorchas.

oddly_breakable_by_hand

Es igual que el anterior, pero está pensado para objetos que en principio no deberían poder recogerse con la mano. El tiempo es mayor que el anterior. Si le ponemos el valor 1 tardaremos 3'5 segundos en recogerlo, 2 segundos si ponemos el valor 2 y menos de un segundo para el valor 3. Si además el nodo puede recogerse con herramientas, estas tardarán lo que deberían tardar.

Material

Define que tipo de material es el nodo. Se usa sobretodo en el crafteo. Si tenemos algo que se pueda construir con cualquier madera (por ejemplo: un palo), bastará con que nuestro nodo esté definido como wood para que también se pueda usar en el crafteo de...


Entre este tipo de grupos tenemos:
  • wool:  para la lana
  • flora:  para las flores
  • plant:  para las plantas de tamaño medio
  • sand:  para la arena
  • stone: para las piedras
  • wood: para la madera
  • tree:   para los árboles

Otros grupos

flammable

Que se le puede pegar fuego, cuando más elevado se el valor que le asignamos más inflamable es.


puts_out_fire

Justo lo contrario al anterior. Si el nodo está cerca del fuego, éste se extingue. Se le asigna un valor que mida su efectividad.

igniter

Uno de mis favoritos. Si colocamos uno de estos bloques, los nodos a su alrededor a una distancia igual al radio que especifiquemos y que sean inflamables... empiezan a arder! El sueño de todo pirómano. No empiezan a arder al momento. Recordad que cuando hemos visto el grupo flammable, le otorgábamos un valor que determinaba su resistencia al fuego. Y es que todo está muy pensao.

disable_jump

Si le ponemos el valor 1 no se podrá saltar sobre ese nodo. ¿No se os ocurren muchas maldades diseñando un parkour?

fall_damage_add_percent

Otra idea para diseñar un parkour extremo. Este parámetro modifica el daño que se hace al caer sobre el nodo. Por ejemplo, si ponemos un 25, hacemos un 25% más de daño, y un -25 un 25% menos. Si ponemos -100 no nos haremos daño y si ponemos 100 nos haremos papillita. Imaginad un parkour en el que un salto aparentemente fácil nos mate y que dejarnos caer desde una gran altura nos deje ilesos. Lo sé. Tengo una mente privilegiada para hacer el mal.

bouncy

Más maldades. Con este grupo controlamos la velocidad del salto. Podemos hacer que desde un bloque saltemos más alto (poniéndole por ejemplo un valor de 10), pero si le ponemos por ejemplo 100, lo que ocurrirá es que rebotaremos varias veces. Es más, la primera de ella incluso perderemos vida. Muahahahaha!!!




falling_node

Con este parámetro le damos al nodo el mismo comportamiento que la arena. Es decir. Si debajo no tiene nada, cae.

attached_node

Como el anterior. Sólo que al caer se convertirá en un elemento recolectable. Probad a hacer una columna de varios de estos nodos y  picad en el de abajo. La cornucopia existe.

soil

Si a un node le asociamos este grupo se covertirá en tierra, es decir, que podremos plantar árboles jóvenes (conocidos en el juego como saplings). Pero no os preocupéis, exploraremos la botánica en otro artículo, sólo hay que tener paciencia, y pasaros por aquí 'de vé en cuando'.

Y en principio nada más. Claro que hay más grupos. Y cuando hayáis leído estas líneas habrán aparecido más. Es lo que sucede cuando muchas personas se ponen a trabajar en un proyecto abierto. Pero mola.  Quien sabe. Quizá en una revisión posterior de este artículo incluya un grupo creado por vosotros. Lo dicho. Mola.



No hay comentarios:

Publicar un comentario