Configuración
Ocultar noticias
Ocultar búsqueda
Desactivar efectos del tema
Cambiar apariencia



0 Usuarios y 1 Visitante están viendo este tema.

*
En este capítulo os enseñaré a crear un bloque que al minarlo no se suelta a sí mismo, es decir, que suelta un objeto tal como lo hace el diamante.
Antes de empezar:
Habrá que tener la clase GenericBlock.java del capítulo II de este tutorial creada.

Clase GenericBlockDrop
Dentro del paquete donde tenemos las clases de los bloques genéricos creamos la clase GenericBlockDrop que extienda la clase GenericBlock del segundo tutorial.
En mi caso, está en el paquete celtech.generic.block, de ahí esa ruta.
Una vez creada la clase, añadimos un atributo para guardar el objeto que lanza:
Como siempte, en un futuro es posible que heredemos esta clase, así que nos interesa ponerle protected en vez de private.
Ahora añadimos cuatro atributos para controlar el número de objetos que lanza en distintas situaciones:
  • minQuantity es el número mínimo de objetos que soltará al picarlo.
  • randomPlus es el número máximo de objetos extra que soltará aleatoriamente. Es decir, si ponemos este número a 2, y el anterior a 1, podrá soltar de 1 a 3 objetos.
  • fortuneFixPlus es el número de objetos extra que dará por cada nivel de fortuna de la herramienta. Por ejemplo, si ponemos 2, dará 2 más con fortuna I, 4 con fortuna II...
  • fortuneRandPlus es el número máximo de objetos extra que soltará aleatoriamente por cada punto de fortuna. Por ejemplo, si ponemos 2, podrá dar de 0 a 2 extra con fortuna I, de 0 a 4 extra con fortuna II...

Constructor
Lo importante, el constructor:
Puesto que heredamos de la clase GenericBlock, sus atributos no los usamos aquí, los mandamos a su constructor con el super. Lo único que hacemos aquí es guardar el objeto que suelta (tercer parámetro).
Como siempre, una vez tenemos el constructor básico podemos crear otros obviando atributos.

Setter
para poder establecer los valores de cantidad de objetos soltados, tenemos que crear el siguiente método:

Modificar el drop
Lo último que queda es decirle al Minecraft que objeto tiene que dar y la cantidad. Para ello necesitamos dos métodos:
El primer método establece el objeto a devolver y el segundo la cantidad.
La fórmula es, cantidad mínima más la cantidad extra por cada nivel de fortuna más una cantidad aleatoria desde 0 a la cantidad aleatoria establecida más la aleatoria por cada nivel de fortuna.

Con esto ya tenemos la clase terminada.

Linkback: http://minecraftmin.net/index.php?topic=14996.0
https://i.imgur.com/cFX0ssZ.png

*
Re:[DMForge] XII.- Bloque que suelta objeto al minarlo (GenericBlockDrop.java)
« Respuesta #1 en: Agosto 23, 2017, 03:00:58 pm »
Gracias me ha servido para mucho. No sabia como se hacia, muchisimas gracias   :D :D

Jugador de Minecraft desde la Alpha, me pueden encontrar como Mancu32_MC en el servidor de Zombies Party Server
Si quieres ver lo que hago puedes seguirme en Youtube como Mancu32 Minecraft Mapmaker PvP Y Survival
Adios ;D

Share via delicious Share via digg Share via facebook Share via furl Share via linkedin Share via myspace Share via reddit Share via stumble Share via technorati Share via twitter

xx
[DMForge] IV.- Objeto genérico (GenericItem.java)

Iniciado por Alfomega

2 Respuestas
790 Vistas
Último mensaje Enero 14, 2018, 06:49:31 pm
por zahkruin
xx
[DMForge] XI.- Bloque translúcido (GenericBlockTranslucent.java)

Iniciado por Alfomega

0 Respuestas
290 Vistas
Último mensaje Mayo 07, 2017, 06:14:22 pm
por Alfomega
xx
[DMForge] II. Bloque genérico (GenericBlock.java)

Iniciado por Alfomega

3 Respuestas
616 Vistas
Último mensaje Abril 11, 2017, 01:19:46 pm
por Alfomega
xx
[DMForge] V.- Añadir un objeto básico. Registro y modelado

Iniciado por Alfomega

0 Respuestas
246 Vistas
Último mensaje Abril 16, 2017, 06:17:30 pm
por Alfomega