Modding por Kaupenjoe: Modding de tela para Minecraft 1-18-1 | Kaupenjoe (Nico) | Skillshare

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Modding por Kaupenjoe: Modding de tela para Minecraft 1-18-1

teacher avatar Kaupenjoe (Nico), CS Student, Nerd and Educator

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Introducción a mi clase de modding de Minecraft

      1:00

    • 2.

      (Java) Instalación y descarga

      5:52

    • 3.

      (Java) Datatypes

      8:11

    • 4.

      (Java) Sintaxis de Java

      5:42

    • 5.

      (Java) Salida e entrada

      7:28

    • 6.

      (Java) Errores y cómo lidiar con ellos

      6:41

    • 7.

      (Java) Métodos de intrínseca, aritmética y matemática

      6:23

    • 8.

      (Java) Operadores de asignación

      4:40

    • 9.

      (Java) Booleans y operadores de comparación

      7:02

    • 10.

      (Java) Booleanos y operadores lógicos

      3:30

    • 11.

      (Java) Si y otras declaraciones

      6:52

    • 12.

      (Java) Declaración de interruptor

      4:08

    • 13.

      ASIGNACIÓN 1: juego de trivia

      2:59

    • 14.

      SOLUCIÓN 1: juego de trivia

      2:32

    • 15.

      (Java) Cadenas y métodos de cadena

      9:41

    • 16.

      (Java) Casting

      3:49

    • 17.

      (Java) Operador Ternario

      4:13

    • 18.

      (Java) Arrays explicados

      9:09

    • 19.

      (Java) para y mientras bucles

      8:55

    • 20.

      (Java) Métodos Java

      10:14

    • 21.

      ASIGNACIÓN 2: juego de Trivia con métodos

      2:30

    • 22.

      SOLUCIÓN 2: juego de trivia con métodos

      5:13

    • 23.

      (Java) Colecciones Java

      16:43

    • 24.

      (Java) Programación orientada a objetos Java explicada

      7:37

    • 25.

      (Java) Clases y objetos Java

      9:20

    • 26.

      (Java) Modificadores de acceso

      7:42

    • 27.

      (Java) Herencia y polimorfismo

      10:50

    • 28.

      (Java) Interfaces y clases abstractas

      5:52

    • 29.

      ASIGNACIÓN 3: actualización del juego de trivia

      1:15

    • 30.

      SOLUCIÓN 3: actualización del juego de trivia

      3:08

    • 31.

      ASIGNACIÓN 4: sistema de gestión bancaria

      1:20

    • 32.

      SOLUCIÓN 4: sistema de gestión bancaria

      2:17

    • 33.

      (Java) Clases anónimas

      2:44

    • 34.

      (Java) Enums y Enums avanzados

      3:00

    • 35.

      (Java) Excepciones y prueba y captura

      5:14

    • 36.

      (Java) Expresiones Java Lambda

      3:24

    • 37.

      (Java) Java Generics

      3:37

    • 38.

      (conceptos básicos) Instalación, instalación y GitHub

      23:27

    • 39.

      (conceptos básicos) Crea un artículo personalizado

      14:35

    • 40.

      (conceptos básicos) Crea un bloque personalizado

      12:55

    • 41.

      (conceptos básicos) agrega el grupo de artículos personalizados

      3:20

    • 42.

      ASSINGMENT 5: bloques y artículos personalizados

      1:04

    • 43.

      SOLUCIÓN 5: bloques y artículos personalizados

      1:10

    • 44.

      (Básicos) Añade recetas personalizadas

      9:39

    • 45.

      (conceptos básicos) caída de bloques personalizados con tablas de arranque

      9:11

    • 46.

      ASSINGMENT 6: recetas personalizadas y tablas de botín

      1:23

    • 47.

      SOLUCIÓN 6: recetas y tablas de botín

      1:37

    • 48.

      (conceptos básicos) creación de un elemento avanzado

      16:46

    • 49.

      (conceptos básicos) creación de un bloque avanzado

      7:46

    • 50.

      (conceptos básicos) hacer un artículo de comida personalizado

      4:02

    • 51.

      (conceptos básicos) fabricación de un elemento de combustible personalizado

      3:50

    • 52.

      (conceptos básicos) agrega Tooltips personalizados

      3:17

    • 53.

      (Básicos) Todo sobre las etiquetas

      9:52

    • 54.

      (Básicos) Agrega escaleras y losas

      9:13

    • 55.

      (conceptos básicos) agrega botones y placas de presión

      7:16

    • 56.

      (Aspectos básicos) adición de vallas, puertas de vallas y paredes

      6:06

    • 57.

      (Básicos) Adición de puertas y puertas trampa.

      6:47

    • 58.

      (Herramientas) Creación de un nuevo conjunto de herramientas

      11:25

    • 59.

      (Herramientas) Creación de una multi-herramienta personalizada (Paxel)

      4:54

    • 60.

      (Herramientas) fabricación de armas que aplican efectos

      2:30

    • 61.

      (Armadura) Creación de un nuevo conjunto de armadura

      8:53

    • 62.

      (Armadura) haciendo un efecto de armadura completo

      8:23

    • 63.

      (Armadura) Creación de una armadura de caballo personalizada

      3:04

    • 64.

      (Armadura) agrega un encantamiento personalizado

      7:20

    • 65.

      (intermedio) Propiedades de estado de bloqueo

      13:24

    • 66.

      (intermedio) ¿Cómo funciona NBT Data?

      10:11

    • 67.

      (intermedio) Modelo de artículo predica

      6:18

    • 68.

      ASIGNACIÓN 7: estado de bloqueo y NBT

      1:05

    • 69.

      (intermedio) agrega un cultivo personalizado

      11:17

    • 70.

      (Intermedio) Cómo agregar artículos a un compostador

      1:51

    • 71.

      Mezclas (intermedias) explicadas

      9:26

    • 72.

      (intermedio) Creación de comandos personalizados

      9:12

    • 73.

      (intermedio) agrega flores personalizadas

      2:55

    • 74.

      (intermedio) Flores en macetas

      3:03

    • 75.

      (intermedio) agrega sonidos personalizados

      5:51

    • 76.

      (intermedio) grupo de sonido de bloque personalizado

      5:55

    • 77.

      (intermedio) adición de discos musicales personalizados

      4:09

    • 78.

      (intermedio) Agrega un bloque personalizado en Minecraft con Blockbench

      16:18

    • 79.

      (intermedio) Añade un artículo personalizado con Blockbench

      3:34

    • 80.

      (intermedio) agrega un arco personalizado

      3:19

    • 81.

      (intermedio) Fluidos personalizados

      10:59

    • 82.

      (intermedio) Modifica las tablas de botín de vainilla

      5:36

    • 83.

      (intermedio) avances

      4:33

    • 84.

      (Intermedio) Cómo generar partículas

      2:59

    • 85.

      (intermedio) Pinturas personalizadas

      4:25

    • 86.

      (Avanzado) Entidad de bloque personalizada

      25:23

    • 87.

      Tipos de recetas personalizadas (avanzados)

      23:45

    • 88.

      Madera personalizada (avanzada)

      8:18

    • 89.

      Signos personalizados (avanzados)

      6:39

    • 90.

      (Avanzado) Actualización de Minecraft y tela

      4:09

    • 91.

      Árboles personalizados (mundo Gen)

      8:12

    • 92.

      Generación de árboles (género mundial)

      12:51

    • 93.

      Generación de flores (género mundial)

      5:17

    • 94.

      Generación de mineral (World Gen)

      7:18

    • 95.

      Cómo hacer un archivo JAR fuera de tu Mod

      1:56

    • 96.

      (temas adicionales) Tela de actualización (1.18.1)

      3:05

    • 97.

      (temas adicionales) Gotas XP para bloques

      3:24

    • 98.

      (temas adicionales) agrega bloques transparentes

      3:49

    • 99.

      (Temas adicionales) Añade artículos animados

      3:44

    • 100.

      (temas adicionales) Pantalla de menú personalizada

      7:24

    • 101.

      (Temas adicionales) Añade Configs simples y básicas

      7:23

    • 102.

      (Temas adicionales) Añade efectos personalizados

      4:34

    • 103.

      (Temas adicionales) Añade posturas personalizadas

      6:38

    • 104.

      (temas adicionales) Añade entidades personalizadas con Geckolib

      19:54

    • 105.

      (Temas adicionales) Añade animaciones de entidades con Geckolib y BlockBench

      7:11

    • 106.

      (Temas adicionales) Añade variantes de entidades

      9:00

    • 107.

      (Temas adicionales) Añade entidades que pueden ser ejecutables

      7:41

    • 108.

      (Temas adicionales) Agregar entidades reversibles

      12:20

    • 109.

      (Temas Adicionales) Adición de generación mundial de entidad

      3:27

    • 110.

      (temas adicionales) Añade operaciones personalizadas a los aldeanos

      5:17

    • 111.

      (1.18.2) actualización de tela a 1.18.2

      13:55

    • 112.

      (1.18.2) Estructuras personalizadas (Reposición de ejemplo tutorial)

      32:10

    • 113.

      (1.18.2) Estructuras personalizadas (pieza única)

      8:15

    • 114.

      (1.18.2) Estructuras personalizadas (estructuras de Jigsaw

      14:22

    • 115.

      (1.18.2) Modelos de armadura 3D personalizada

      12:02

    • 116.

      (1.18.2) aldeanos personalizados

      6:33

    • 117.

      (1.18.2) Entidades para bebés

      4:22

    • 118.

      (1.18.2) Geodatos personalizados

      5:54

    • 119.

      (1.18.2) Bloque que interactúa con Redstone

      4:28

    • 120.

      (1.18.2) Renderizador de entidad de bloque personalizado

      9:44

    • 121.

      (1.18.2) Cofres de arranque en estructuras personalizadas

      3:09

    • 122.

      (1.18.2) ACTUALIZACIÓN A 1.19

      22:15

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

358

Estudiantes

1

Proyectos

Acerca de esta clase

¡Minecraft! Es el juego más popular de todos los tiempos y el Modding de Minecraft está de vuelta en boca de todos! Algunos Mods de Minecraft se han vuelto tan populares que todo el mundo los conoce. La comunidad de modding de Minecraft sigue creciendo cada día y es una salida genial y creativa!

Este curso te enseñará a hacer tu propio Minecraft Mod! No solo aprenda el lenguaje de programación Java sino también cómo usar eficazmente la tela API de modding de Minecraft.

Para absolutamente principiantes, he añadido una introducción Java para ti, así que incluso sin experiencia en programación puedes empezar a crear Minecraft Mods primero a través de la introducción de Java!

En la parte de Conceptos simples del curso, aprenderás a agregar artículos, bloques, recetas personalizadas, herramienta para Minecraft! Los conceptos intermedios es donde realmente vas a recoger alguna habilidad increíble necesaria para el correcto Modding de Minecraft con Fabric! Vamos a hablar de BlockStates y NBT Data, añadir cultivos personalizados y ver cómo puedes agregar modelos de bloques personalizados a Minecraft!

¡Pero eso no es todo! Hacia el final del curso, cubrimos temas avanzados como entidades de bloque, tipos de recetas personalizadas e incluso generación de minerales, entre otros.

Con un poco de creatividad y aplicación de las lecciones que obtienes de este curso, ¡solo puedes hacer que el próximo Mod de Minecraft llegue a juego!

Este curso es accesible para principiantes completos. ¡Incluso si nunca has programado en tu vida! El único requisito es que seas dueño de Minecraft y estás vagamente familiarizado con el juego y algunos populares Minecraft Mods o incluso Minecraft Modpacks.

Los archivos de ejercicio y el código fuente completo estarán disponibles para que puedas seguir con todo lo que hago en los videos.

Si tienes alguna pregunta o sugerencia, también no dudes en ponerte en contacto conmigo aquí. Estoy encantado de ayudarte a aprender a codificar en Java y hacer tu propio Mod de Minecraft con Fabric.

AVISO LEGAL: NO UN PRODUCTO OFICIAL DE MINECRAFT. NO APROBADO POR MOJANG, NI ASOCIADO CON MOJANG.

Conoce a tu profesor(a)

Teacher Profile Image

Kaupenjoe (Nico)

CS Student, Nerd and Educator

Profesor(a)

I am Nico - also known as Kaupenjoe - I have a Master's Degree in Computer Science and teach Game Development through many different classes. Mid-2020, when I became a bit disillusioned with my job, I set my sights to something different. Multiple people have previously told me I was good at teaching things.

With some of my prior YouTube Video making knowledge I was able to make my first courses. The Minecraft Courses in particular made a huge impact on students and myself and allowed me to teach full-time with courses and other supplementary methods.

I hope you will also join me and allow me to help you learn Programming, Modding or Game Development. As a hobby, side-hustle or as a promising career, it is an amazing and fulfilling field and I'm so happy to have y... Ver perfil completo

Level: Beginner

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Introducción a mi clase de Modding de Minecraft: Hola, soy Nico empresa o estudiante de maestría para informática y un ávido jugador de Minecraft. Podrías conocerme de mis tutoriales de canal de YouTube por Cotton joe, donde estoy haciendo tutoriales de modelado de Minecraft. Pero ahora vamos a ir aún más grandes. Este es el modelado de microondas 118, una clase con tela. Aquí aprenderás todo lo que necesitas saber para hacer un MOD de Minecraft increíble y increíble, incluso los principiantes absolutos pueden empezar por pasar por el proveedor Java introducción, que realmente va a te ayudan a aprender algunos de los fundamentos. Después aprenderemos algunos de los conceptos simples como cómo agregar un elemento, bloque, recetas, e incluso herramientas a mi oficio. Después de eso, seguiremos mirando modelos de bloques personalizados, cultivos personalizados, y tantas otras características geniales e interesantes. Al final, incluso abordaremos algunos temas avanzados como las entidades de bloque y la generación mundial. Entonces, ¿a qué esperas? Date de alta a esta clase ahora, y quién sabe, tal vez tu modelo va a ser el próximo gran éxito. Te veré en la primera lección. 2. (Java) Instalación y descarga: Bienvenido al curso de tela 118 y aquí a la introducción de Java. Así que básicamente estamos empezando con un poco de una introducción de Java. O bien si no has usado Java en absoluto, esto va a ser muy, muy útil para ti. De lo contrario, si ya has trabajado con otro lenguaje de programación o con el propio Java, entonces esta es una idea muy inteligente tener esto como un buen repaso aquí en un principio. Por lo que recomiendo encarecidamente pasar por toda la introducción de Java. También va a haber algunas asignaciones en el camino, que se pueden hacer para solidificar más básicamente los conceptos que vamos a estar discutiendo en esta introducción aquí. Y va a haber algunos prerrequisitos que vamos a necesitar. El primero va a ser un JDK. Jdk es un Kit de Desarrollo Java, y vienen en diferentes sabores, por así decirlo. Pero lo que vamos a utilizar es el de adoptarlo aquí, y vamos a necesitar usar 16. Por lo que JDK 16 en este caso, esto se llama tamarín 16. Y he vinculado esto en los recursos básicamente que se puede descargar esto. Esto asegura que seleccione su sistema operativo y su arquitectura. Entonces para mí, esta sería arquitectura de Windows y 64 bits. Recomiendo encarecidamente descargar el MSI aquí porque eso es básicamente solo instalador, que luego instala el JDK en tu máquina como básicamente cualquier otro programa, realmente. Bueno, solo instala eso normalmente como lo harías con cualquier otro programa, y luego podemos proceder. Una vez que hayas instalado el JDK, también necesitaremos un IDE. Y IDE es un entorno de desarrollo integrado, que en nuestro caso vamos a estar usando la idea IntelliJ. Esto es, encontré absolutamente una gran herramienta para estar usando para esto, podemos usar la versión de comunidad que es gratuita y construida sobre código abierto, que es más o menos incluye todo lo que nosotros alguna vez podría querer o necesitar. Así que definitivamente asegúrate elegir la versión comunitaria aquí. Una vez más, también solo descarga el EXE si estás en Windows, y como tal vez hayas visto aquí, también puedes Trick check aquí si estás en Mac o Linux, básicamente cambiar e instalarlos también. Y también solo instala esto como lo harías con cualquier otro programa también. Y después una vez que se instala se inicia y luego podemos proceder. Cuando abras inteligencia por primera vez, también te aparecerá una ventana similar a esta. Ahora va a verse un poco diferente, pero tendrá estos tres botones, el botón The New Project con el botón Abrir y el botón get from VCS. Al hacer clic en el botón Nuevo proyecto, puede ver que aparecerá una nueva ventana. Lo importante es que queremos seleccionar el nuevo proyecto aquí mismo. Aquí sólo podemos nombrarlo lo que queramos. Entonces por ejemplo, introducción de Java, puedes elegir una ubicación aquí mismo usando el lenguaje Java Build System intelligence y el JDK siendo 16 para nuestros propósitos aquí para la introducción de Java, el código de muestra tiene que ser revisado por ellos. Con esto hecho, podemos hacer clic en el botón Crear y luego aparecerá una nueva ventana. Ahora en primer lugar, lo que realmente tenemos que hacer en las versiones más nuevas para la inteligencia, cambiaron algunas cosas. No estoy seguro de por qué ese es el caso, porque en realidad sí tienden a cambiar un montón de cosas que es un poco molesto. Pero nuestra clase principal aquí mismo, para que puedas ver esta principal, si hago doble clic en esto, se abrirá. Es posible que ya hayas abierto para ti. Eso también está bien. Ahora, en el futuro, realidad va a estar en algunos paquetes. Entonces en realidad tenemos que hacer esto manualmente para nuestro caso aquí en este caso, pero eso va a estar bien. Pero simplemente hacemos clic con el botón derecho en la carpeta fuente para que pueda ver fuente haga clic derecho en nuevo paquete. Y luego vamos, voy a llamar a esta red. Y luego en esta red voy a hacer clic derecho en nuevo paquete y voy a llamar a esta ayuda. Y Joe, ahora lo vas a llamar como sea tu nombre. Básicamente vas a tener net y luego tu nombre, por ejemplo, voy a arrastrar la clase principal a ella, digamos Refactor, y luego vamos a estar bien. Entonces tienes este paquete aquí arriba también. Esto es muy importante porque hay unas próximas conferencias. Vamos a tener esto también. Ahora bien, si esto se muestra de manera diferente a usted, podría ser el caso de que en realidad se vea algo así. Te voy a mostrar sólo por un segundo que aquí es una especie de pactos, net dot count Joe, todo en una sola línea. Si ese es el caso, se puede ir a este equipo aquí mismo. Para crear un árbol de apariencia, altura, MT, paquetes medios, puede anular la selección de eso y también los paquetes aplanados también deseleccionados. Y entonces vas a tener exactamente lo mismo que nosotros tenemos ahí mismo. Ahora vamos a seguir con Pascal y Joe para el resto de las conferencias. Entonces en este caso, lo que vamos a tener es el, vamos a tener algo llamado main aquí y otro principal aquí. Y entonces esto es un común donde dice escribe tu código aquí. Ahora no vamos a escribir código en esta primera En conferencia aquí mismo. Vamos a empezar básicamente inmediato en la próxima conferencia. Esto es realmente sólo la configuración. Entonces, en general, esto es más o menos todo lo que tenemos que hacer. Todo el código siempre va a estar disponible en cada conferencia. Entonces en cada conferencia vas a encontrar un enlace de recursos o vas a encontrar esto básicamente enlazado en algún lugar donde puedas tener ya sea el repositorio de GitHub. Entonces todo esto se va a guardar en un repositorio de GitHub. Y cada conferencia va a ser un individuo, básicamente una rama individual allí. O también tienes juristas individuales donde cada uno de los diferentes, cada uno del código, todo del código de esta conferencia también está vinculado allí también. Por lo que no se preocupe ahí. Se puede acceder a todo antes de que incluso puedas echar un vistazo a esto porque por supuesto, algunas personas, preferirían tener el código delante de ellos y luego cambiarlo un poco. Algunas personas solo quieren codificarlo, como mientras lo estoy codificando. Y eso está totalmente bien. Ambos enfoques son absolutamente básicamente válidos en este caso. Pero por el momento, esto es básicamente. Por lo que todo el código estará disponible y ojalá lo hayas hecho hasta este punto. Y luego ver si una vez que empiece la siguiente conferencia, se puede ver si todo ha funcionado ahí o no. Pero eso ganaría por esta conferencia aquí mismo. Y te veré en la próxima conferencia. Entonces, sí. 3. (Java) Datatypes: Bienvenido de nuevo a la introducción de Java para un modelado de Minecraft. Y en esta conferencia, vamos a estar hablando de tipos de datos. Entonces estamos empezando muy, muy lento. La idea es que en la programación, podemos guardar cosas en variables. Ahora, ¿qué son esas cosas, verdad? Hay diferentes tipos de datos. Y básicamente en esta conferencia vamos a pasar por qué tipos de datos son, básicamente significando los tipos de datos. Por lo que hay algunos tipos diferentes de tipos de datos como incluso ir más allá. Y el primero serían los tipos numéricos, básicamente cómo guardar números. Aquí hay un montón de tipos de datos diferentes. Entonces hay un entero, hay un flotador y el doble. Por lo que esos son los que se utilizan principalmente. Voy a hablar de esos en un rato. Por lo que se puede ver en primer lugar, cuando se crea especie de una nueva variable, que es, se puede pensar en eso como un contenedor que contiene un cierto valor. Y el tipo de valor está determinado por, en este caso aquí, la primera palabra, se puede ver que en realidad incluso está marcado en naranja. Eso no siempre va a ser así. Esto sólo va a ser el caso con los tipos de datos primitivos. Pero qué son esos vamos a ver en un poquito en una conferencia posterior básicamente. Y se puede ver que a esto se le llama un número. Este es el nombre de la variable y luego el valor es 42. Ahora, un entero, como dije, es un tipo particular de tipo de datos, un tipo de datos numérico, que es un número entero. Por lo que esto sólo puede guardar números enteros o enteros. Y el rango real que puede ahorrar, va de 2 mil millones negativos a más 2 mil millones como se puede ver. Entonces estos son básicamente los números que puedes guardar que se pueden almacenar en un entero. Esa es la idea. Y luego hay flotador, o cuando necesitas una coma. Ahora, lo que es muy interesante con carrozas y dobles que son casi lo mismo, no del todo, pero casi lo mismo. Ambos son números de punto flotante. Y la idea es que esto en realidad no se almacena así, en realidad se almacena como notación científica. Podría haber visto esto antes en alguna parte. Y esto es algo así como 1.412 veces diez a los cuatro serían entonces 14,120. Y básicamente en esta notación aquí, se almacenan los números de punto flotante. Y lo que es importante con un flotador al usar esos, tienen una precisión de siete puntos decimales, lo que significa que puedes tener siete números. No importa si están o no a la izquierda o a la derecha del punto decimal, sino siete números y luego van a ser precisos, y después de eso se va a redondear. Esta es también la razón por la que normalmente no quieres guardar cosas muy, muy, muy precisas en carrozas. Entonces, por ejemplo, si tienes como diez miles o un 100 miles de un Bitcoin, algo así. Eso definitivamente no se debe guardar en un flotador porque eso podría ser muy fácil obtener error de redondeo. Por lo que esos son errores de redondeo de punto flotante. Esos son muy comunes. Ahora un doble es un poco mejor en que tiene una precisión de 15 puntos decimales. No obstante, aún así podrían serlo, aún podría llevar a algunos temas de redondeo. Entonces eso es algo de lo que hay que estar al tanto. Normalmente en la mayoría de los casos, por ejemplo, en nuestro caso, esto realmente no importa. Entonces si tienes un flotador, por lo general eso puede representar, por ejemplo, tienes ciertas posiciones de bloque en el mundo escrito esto algo entre esas posiciones de bloque porque por supuesto un bloque no es como un solo punto en el espacio como un poquito de un gradiente allí. Y luego hay un poco de algo de redondeo que va a estar totalmente bien. Y esa también es probablemente una de las razones por las que si vas como millones de millones de bloques en una dirección en algún momento, el mundo se pone realmente mal porque errores de coma flotante y cosas como eso. Entonces esa es probablemente también una de las razones. Ahora hay algunos otros tipos numéricos que no se usan con tanta frecuencia, al menos personalmente, no lo he visto con tanta frecuencia. Mucha gente podría decir, bueno, quiero decir que eso no está del todo bien. Por supuesto, hay que estar al tanto de estos, pero por lo general ya no he visto los utilizados con tanta frecuencia. A un byte es de ocho bits y puede almacenar números de 128 negativo a 127. Entonces esto, yo llamaría a esto un número minúsculo porque básicamente solo puede almacenar una cierta cantidad de valores. Básicamente aquí en este caso, un corto es un número pequeño que puede almacenar entre 32000 negativo y más 32000. Y entonces por otro lado es un largo que como puedes ver, puede almacenarlo desde nueve cuatrillones negativos hasta como cuadrillón positivo nueve cuadrillones, que es Bree, eso es bastante asombroso. Eso es mucho como ese es un número muy grande, por lo general, muy raramente usado. Como dije, por lo que puedo decir, un entero es el número más común para un número entero. Y luego se usan flotadores o dobles para, bueno, básicamente números decimales o algo así, ¿verdad? El siguiente tipo de datos de paréntesis van a ser los booleanos. Esta es una especie de lógica. Entonces en lo que se puede pensar es, bueno, tenemos un booleano, un booleano y o ser cierto o falso. Por lo que puede ser uno o 0. Esto se puede representar en un bit porque un poco, si sabes o no sabes, puede ser 0 o uno, Esos son los únicos dos valores posibles que puede tomar. Entonces esto es más o menos lo mismo. Puede ser cierto o falso. Así son estos grandes videos, lo haré espero. Entonces eso es cierto. Y es este HTML. Bueno, eso es, ojalá no pensaras eso porque eso es falso en realidad. Entonces eso es una especie de lo booleano. Y la lógica es en realidad increíblemente poderosa como todo el campo lógico. Porque por supuesto, la totalidad de todas nuestras computadoras y sistemas operativos y todo eso está basado en código binario. Y en teoría, los booleanos no son más que código binario, ¿verdad? Porque un verdadero es uno y una fuerza es un 0. Entonces se aplican especie de las mismas leyes en ese sentido. Se lo puede pensar así, pero en general booleanos, igual que con enteros, vamos a echar un vistazo a esos con un poco más de detalle en el futuro. Pero definitivamente quería presentarte a esos. En el tercer y último tipo de corchete grande aquí, nuestros personajes y cuerdas a un personaje, como puedes ver, anotan un char. Y este es un solo carácter, por lo que esto está marcado con estas comillas simples y simples aquí. Y esto puede almacenar un solo personaje y personajes especiales regulan el comercio. Para que pueda poner una coma aquí, está bien. Puedo poner un guión aquí, como un hashtag, la estrella del símbolo más, eso está todo bien. Oh, bueno, incluso puedo poner en un espacio y funciona. No obstante, lo que no puedo hacer es poner dos caracteres aquí, entonces no va a funcionar porque dos caracteres o múltiples caracteres uno al lado otro se llama cadena. A una cadena, como dije, es básicamente sólo una secuencia de caracteres. Y esto está marcado con comillas normales. Por lo tanto, comillas dobles aquí y comillas dobles aquí. Y como probablemente has visto, el final de cada línea siempre tiene los puntos y coma. Ésos también son muy importantes aquí. Y esa es una especie de idea. Por lo que tienes caracteres que son singulares, singulares y un, a, una cadena de caracteres es una cadena. Entonces esa es una especie de idea aquí. Y luego al final, quería mencionar algo que definitivamente vamos a ver también en el futuro, que es nulo, la palabra clave null. Por lo que se puede ver que esta prueba de cadena es igual al valor de null. Ahora lo que es muy importante es que nulo no es 0. Está literalmente vacío, como si no tuviera valor. Aunque. Esto a veces es al principio, sobre todo un poco difícil de atravesar realmente la distinción entre lo que no entiendo, sin valor. ¿Qué significa eso? Bueno, simplemente no tiene valor es indefinido, por así decirlo. Es inexistente. Escribe esta prueba como si bien se define aquí, no lo es, no tiene un valor, es nulo. Y definitivamente vamos a mirar eso y ver eso en una conferencia posterior también. Entonces no se preocupe ahí si eso es un poco confuso, no se preocupe. El resto debe ser al menos bastante comprensible en el sentido de que, de acuerdo, tenemos algunos cubos, podemos pensar en eso, algunos contenedores en los que podemos ahorrar algunos valores. Y dependiendo de qué tipo de valor sean, tenemos que escribir cosas diferentes al frente. Entonces esa es una especie de la idea general que quería atravesar aquí son los tipos de datos. De lo contrario, espero que esto te haya sido útil y aprendas algo nuevo y te veré en la próxima conferencia. Entonces, sí. 4. (Java) Sintesis Java: Muy bien, bienvenido de nuevo a la introducción de Java para Minecraft Martin. Y en esta conferencia vamos a echar un vistazo a cómo leer código. O también voy a llamar a esto tal vez sintaxis Java. Entonces la idea es en primer lugar, y esto podría, algunos de ustedes podrían haber sido ya como esperar un segundo. Ha estado ignorando todo esto aquí arriba. ¿ Qué es esto? En primer lugar, vamos a calmarnos ya que vamos a tener que empezar a construir algunos fundamentos más antes hablar de todo lo que sucede aquí arriba. Por lo pronto, lo que te recomiendo es que solo ignores esto. lo único que realmente nos importa es que este cuadro temprano aquí. Y entonces si realmente pongo mi cursor ahí, se puede ver que éste ilumina todo. En primer lugar, bien, ahora tiene que suceder entre estos dos corchetes rizados. Eso es todo lo que nos va a preocupar. No nos importa lo que esto signifique. No nos importa lo que sea esto, lo que todos esos públicos, estáticos, nulos, principales, cuerdas, todo eso, no se preocupe en absoluto. Vamos a resolver todo esto en las futuras conferencias que están por venir por el momento. Vamos a imaginarlo básicamente aquí dentro. Esa es nuestra principal prerrogativa en este momento, aunque, primer lugar, el código se lee de arriba a abajo. Y eso es interesante. Bueno, sí. Por eso también tenemos aquí estas líneas, que es muy útil, pueden ser muy, muy útiles para determinar flechas. Podemos decir, Hey, tienes un tema ahí en la línea 18. Lo miras en línea. 18, Ahí está. Está bien. Suficientemente justa. Eso es muy útil. Y por lo general hay, por supuesto, excepciones a la regla. Pero en general, lees de arriba a abajo. Ahora si tienes dos barras aquí, entonces tienes un comentario de una sola línea. Y si tienes esta slash, estrella y estrella, y puedes tener comentarios multilínea. Entonces eso también es algo de lo que hay que estar al tanto. Y The, Hay algunas cosas diferentes que puedes hacer cuando tienes una variable, ¿no? Entonces volvemos a las variables. Y los hemos visto por supuesto, ¿verdad? Diferentes tipos de datos. Y variable era algo así como un cubo o un contenedor en el que podríamos almacenar un valor de cierto tipo y tenemos que especificar esto. Entonces cuando declaras una variable, entonces declarar una variable significa que declaras el tipo de datos de esa variable y el nombre de la variable. Y tenga en cuenta una vez más que todas las líneas terminan con un punto y coma. Esto es normal. Entonces cada línea, cada instrucción termina con un punto y coma. Esto es por cierto, también muy interesante porque podría en teoría, ¿no? Otra. Entonces en x y yo sólo podría hacer esto. Bueno, esto no funciona del todo porque todos estamos usando este día 0. Entonces y, por ejemplo, yo también podría hacer esto. Esto también funciona porque se trata de una sola instrucción, por lo que no necesariamente tiene que ser cada línea. Y básicamente hacer esto también funcionaría a pesar de que hay dos líneas. Y por cierto, esto es como una cosa horrenda. Esto es como formatear que es del diablo. Nunca hagas algo así. Pero cualquiera que sea el caso. Por lo que no necesariamente son líneas siempre, pero está en instrucciones simples. Esa es una especie de idea. Y por lo general dirás que cada línea tiene que terminar con un punto y coma es un buen comienzo. Básicamente ese es un buen comienzo. No siempre es el caso, pero suele ser el caso. Ahora, esto es declarar una variable y luego también podemos asignar a una variable un cierto valor. Y esto es lo que estamos haciendo aquí. Ya lo hemos declarado. Entonces si ahora existe en algún lugar del éter del programa, digamos, y ahora decimos que soy igual a 30. Entonces ahora le hemos asignado un valor a esta variable, ¿de acuerdo? Ahora podemos hacer ambas al mismo tiempo, declarando y asignando un valor, que es entonces índice igual a 10. Y esto se llamaría inicialización o inicialización de esta variable en este caso. Y eso es muy interesante. Por lo general, la gente no arroja estos términos necesariamente. Es sólo algo de lo que estar al tanto un poco. De acuerdo, he declarado esta variable, ahora la he inicializado aquí, he asignado esta variable, así que es sólo algo tipo de términos aquí deberían ser, al menos guárdelo en el fondo de tu mente. Esa es la parte más importante aquí. Y luego existe la posibilidad de acceder a variables o métodos. Hemos hablado de métodos aún de ciertas variables u objetos. Tampoco sabemos muy bien qué objetos son todavía, pero lo vamos a averiguarlo también en el futuro. Pero por ejemplo, si tenemos una cadena, en realidad podemos obtener la longitud de la cadena. Entonces cuántos personajes hay en esa cadena haciendo punto y luego algo después de ella. Entonces si pongo esto, en realidad se puede ver que enorme cantidad de cosas se me arrojan como sugerencia, conocedores en la pared, vamos a mirar esas cosas en una futura conferencia también. Por lo pronto, sólo sabemos que el operador de puntos también nos hace capaces de acceder a ciertas variables o métodos de una, otra variable. Eso es una especie de lo que deberíamos almacenar por el momento. Y luego la aplicación real de esto lo vamos a ver en una conferencia posterior a un lejos, lejos, para mayor medida y de manera más detalle que ésta. Pero por el momento, esta es una especie de la clave general sobre cómo leer el código aquí. Como dije, esto por supuesto no es exhaustivo. Esto no lo es todo, pero esas son una especie de las cosas principales que quería atravesar por el momento. Por lo que se tiene la idea de declarar una variable, asignar una variable, y luego hacer ambas al mismo tiempo y luego acceder a algo con el operador de punto. Y lo más importante, que escuela de este año debe ser ignorada y todo esto debe ser ignorado y todo lo justo entre esos corchetes rizados realmente se debe prestar atención por el momento ser. Pero como dije, nos vamos a aventurar fuera de esto, estos corchetes rizados vengados, pero eso será todo para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Y nos vemos en la próxima conferencia. Entonces, sí. 5. (Java) Salida y entrada: Muy bien, bienvenido de nuevo a la introducción de Java aquí para el modelado de microondas. Y en esta conferencia, vamos a estar echando un vistazo a la salida de cosas e introduciendo cosas. Por lo que esto es tanto sacar algo a la consola como leer algo desde el usuario. Entonces básicamente estamos almacenando para sobrecargar nuestra capacidad de hacer algo en realidad. Y lo primero que vamos a hacer es que sólo vamos a dar salida Hola mundo porque esto es algo que todo programador aprende a primera vez. Y esto es lo que vamos a hacer. Entonces vamos a teclear un sistema. Y se puede ver que en realidad se están sugiriendo algunas cosas para nosotros. Simplemente lo vamos a escribir este sistema con una S mayúscula, fuera muy importante, todo minúscula y luego imprimir línea, imprimir LN. Y luego vamos a hacer un primer paréntesis abierto. Los paréntesis de cierre deben generar automáticamente. Y entonces sólo podemos ir aquí y poner un punto y coma. Ahora este es Oregon. Aquí vamos a estar bien. No obstante, ahora queremos poner algo paréntesis y eso va a salir. Ahora tenemos que hacer de esto una cuerda. Por lo tanto, vamos a escribir aquí las comillas básicamente. Y entonces las segundas comillas deberían generar automáticamente también. Y entonces podemos teclear en hola mundo. Entonces tan simple como eso. Y ahora para empezar realmente este programa, subimos aquí, aseguramos que todo esto esté bien. Esto debería parecer casi exactamente igual. Y sólo vamos a hacer clic en este botón Ejecutar. Y luego después de unos momentos, tienes helloworld. Si esta fue la primera vez que ejecutas un programa donde tienes primera literaria empezando a programar en este momento. Y esta es la primera vez que ejecutas esto. Y todo aquí dice hola mundo y esto dice proceso terminado con código de salida 0. Enhorabuena. Ni siquiera estoy siendo como no estoy siendo, no quiero ser condescendiente aquí porque este es en realidad un paso por el que todo programador pasa. En algún momento, van a escribir un programa Hello World y van a ser como esperar un segundo, puedo hacer que las cosas muestren ese I1. Por lo que podría, por ejemplo, saludar a los estudiantes. Y vas a estar como, manera ese no puede ser el caso. Yo sólo puedo hacer eso. Sí, solo puedo ejecutar esto. Si realmente ejecuto esto correctamente, Ahí tienes. Vamos a correr esto Hola alumnos. Y ahora dice Hola estudiantes, no se preocupe en absoluto. Entonces como puedes ver, esto en realidad es realmente, realmente jodidamente cool y esto se va a sobrecargar aún más porque ahora digamos que tenemos una variable entera x, que es igual a 10. Bueno, ¿por qué no acabamos de dar salida este sistema una vez más y puedo empezar a escribir esto. Y se puede ver que esto es algo así tiene especie de una tasa seleccionada es una especie de resaltado, por así decirlo. Y cuando presiono la tecla de tabulación, en realidad se autocompleta. Por lo que puedo escribir esto muy rápido. Por lo que se puede ver como también ya, básicamente es un sugerido aquí y luego línea de impresión de puntos también. Y solo puedo meter la x y mirar esto. Todo funciona y a veces va muy rápido. Entonces puedes ver esto así, bueno eso es tanto por eso, ¿verdad? Por lo que el sistema fuera de línea de impresión, se puede ver lo rápido que a veces funciona eso. Sin preocupaciones sin embargo, voy a tratar de hacer esto, sobre todo al principio aquí, un poco más lento para que todos puedan estar básicamente al día. Y bueno, podemos simplemente poner en la x aquí, por lo que la variable dentro de estos paréntesis y luego el valor está siendo salida. Eso es realmente genial, ¿no? Donde tienes la capacidad de generar realmente algo que está en una variable. Y ahora nos vamos a volver aún más locos. Por lo que una vez más, System.out, línea de impresión. Una vez podemos simplemente autocompletarlo con la tecla Tab. Y ahora puedo decir algo así como sacar algo de valor. Y ahora mira esto. Puedo ir más allá de la cuerda, ¿verdad? Hacer un plus x. sin errores en absoluto. Todo se ve bien. ¿ Qué va a pasar ahora? Bueno, mira esto ahora. Emitir algún valor y luego el valor de la variable se va a salir ahí. Entonces eso es bastante frecuente, enfermo si lo digo yo mismo. Eso es realmente genial. Otra pregunta entra, bueno, ¿cómo podemos leer algo del usuario? Ahora esto es un poco más complicado. Por lo general, esto es algo, ya sabes, es una especie de, yo diría, semi limitación de Java. Es una especie de fastidio que sea complicado, pero no se preocupe lo que vamos a escribir es lo siguiente. Vamos a escribir escáner y luego simplemente espaciar todo cuando algo se ponga rojo aquí, sin preocupaciones en absoluto. Vamos a mantener la calma. Todo está bien. Entonces escáner en pequeño equivale a un nuevo. Y luego una vez más escáner con una gran S con un capitalista dentro de los paréntesis. Entonces vamos a hacer sistema de paréntesis. Y estoy terminando esto con punto y coma. Ahora tanto el escáner aquí el escáner aquí deberían estar listos. Eso está totalmente bien. Lo que tienes que hacer es dar click en esto y presionar Alt y Enter para importar esto aquí arriba. Entonces como dije, generalmente queremos ignorar todo esto, pero podemos hacer un pequeño pico aquí arriba. Por lo que se puede ver importar escáner util Java que esto es básicamente importado. Entonces eso no es nada de preocupaciones. Puedes, si esto es importante mientras escribes esto, porque cuando presionas la tecla Tab, cuando escribes escáner, esto podría ser importante automáticamente, sin preocupaciones en absoluto. Simplemente asegurándose de que esta sea la correcta, bueno, frase, por así decirlo aquí. Y que esto esté escrito así. No nos vamos a preocupar por lo que esto significa. ¿ Qué estamos haciendo aquí? Nada de eso, sólo vamos a saber, vale, necesitamos esto para leer algo en. Entonces vamos a decir sistema fuera, imprimir línea, escribir tu nombre de usuario, algo así. Y luego lo que vamos a decir, vamos a hacer una nueva variable de cadena llamada input. Y vamos a hacer que esto sea igual al escáner. Eso. Siguiente. Ahí vas. De acuerdo, Así que a continuación, como pueden ver, tiene que ser escrito así. Entonces tenemos que poner siguiente y luego abrir y cerrar paréntesis. Y entonces eso está bien. Entonces esto ahora va a guardar lo que vamos a escribir en la consola en esta variable aquí, y entonces podemos hacer algo con ella. Por ejemplo, sólo vamos a salir inmediatamente de nuevo. Entonces sistema fuera de línea de impresión, tu nombre de usuario es, y luego solo vamos a decir entrada. Entonces solo por el, estamos probando esto básicamente. Entonces vamos a almacenar esto. Y lo que deberíamos ver es que muchos estudiantes tienden a sacar algo de valor. Y se puede ver que en primer lugar, el programa no termina automáticamente porque está esperando nuestra entrada. Entonces, solo digamos esto. Bueno, mi nombre de usuario es el conde Andrew. Voy a presionar Enter y luego puedes ver tu nombre de usuario es. Entonces eso es un bastante cool como cuando lo piensas. Y esto realmente también comienza donde solo puedes jugar un poco con esto. Ya sabes, tienes algo de intractabilidad con la PC. Ahora puedes hablar realmente con el PC, por así decirlo, lo cual es realmente genial. Entonces este es uno de los primeros pasos. Yo mucho un, básicamente solo te aconsejaría que pruebes un montón de cosas aquí, simplemente escribiendo algunas cosas, escribiendo algunas cosas hacia fuera. En realidad puede ser muy divertido, pero por supuesto vamos a usar esto en futuras conferencias y las próximas asignaciones también, donde básicamente vamos a leer cosas en evaluadas y luego hacer cosas dependiendo de cuál sea la entrada. Entonces todo eso es bastante guay. Pero esto, por ahora, es para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Y te veo en la próxima conferencia. Entonces, sí. 6. (Java) Errores y cómo hacer licio con los problemas: Muy bien, bienvenido de nuevo a la introducción de Java aquí para el modelado de Minecraft. Y en esta conferencia, vamos a estar viendo algunos errores y cómo puedes pedir ayuda cuando recibas estos errores. Entonces, en primer lugar, básicamente estamos empezando con algún código pre-hecho de nuevo aquí mismo. Pero no se preocupe. Esto es por supuesto, todo disponible para ti en el repositorio de GitHub o como individuo igual de bien. Y esto es muy interesante. Entonces en primer lugar, estamos básicamente podemos descomentar algunas líneas para encontrar algunos errores. El primer error que vamos a tener es que java no puede encontrar el error de símbolo. Y eso básicamente, cómo vas a ver esto es hey, algo está rojo dentro del código. Por ejemplo, solo voy a descomentar esto y vas a ver que a2 31, básicamente una variable a la que estamos intentando acceder o referenciar no está en realidad existente. Entonces esto va a ser rojo. Ahora bien, esto podría ser algo que no te has dado cuenta. Por lo que el rojo también va a ser como subrayado aquí y en la clase principal aparecen y vas a tener un símbolo de problema y un problema ahí. Entonces va a haber un montón de señales aquí, pero en realidad podría no darse cuenta de esto, lo cual está totalmente bien. Entonces si entonces aún ejecutas tu programa, lo que te van a saludar es con esto. Entonces lo primero que hay que decir es que cuando recibes un error, no te preocupes en absoluto. Honestamente, conseguir un error al principio podría parecer muy desalentador y podrías estar poniéndote nervioso. Digamos: No te pongas nervioso para nada. Obtener errores es en realidad algo que se espera cuando estás programando para que algo funcione la primera vez en realidad te pone muy sospechoso porque es muy raro que cuando estás trabajando en algún código que funciona a la primera vez ejecutándolo. Entonces por favor, en primer lugar, siempre se mantuvo tranquilo cuando se obtiene un error. No hay nada como esto. No hay vergüenza en eso en absoluto. No has hecho nada malo y siempre podrás arreglarlo. Entonces esta flecha, en este caso, dice, como dije, java no puede encontrar símbolo. En realidad nos dice cuál es la variable aquí y dónde se encuentra. Y si echan un vistazo a la parte superior de aquí, realidad se puede ver este 1128. Y eso en realidad significa que esto está en la línea 28, en el carácter u otra línea 11, personaje 2008. Entonces esto en realidad es realmente jodidamente cool. Entonces podemos encontrar de inmediato dónde está esta flecha y podemos decir: Vale, he hecho un error tipográfico ahí o me olvidé hacer una variable, algo así. Esta sería esta flecha de aquí. El segundo que podría encontrarse en algún momento es excepción en hilo principal, Java, Lang, NullPointerException. Entonces esto significa que algo es nulo, lo que significa que no tiene valor. Por ejemplo, tenemos una variable de cadena justo aquí. Y ponemos el valor en nulo, que ya te hablé significa que no tiene valor. No existe prácticamente. Ahora si ahora tratáramos de llamar a la longitud en esto, esto por supuesto no tiene ningún sentido porque la longitud de la nada también es nada como no puedes llamar a una longitud en algo que no existe, lo que significa que vamos a obtener una NullPointerException. Entonces esto se ve un poco así. Y esto se llamaría el seguimiento de la pila. Entonces una pila traza en términos como laicos, justo en general. Entonces ya saben, de lo que se trata es básicamente de qué código se ha llamado hasta este punto, hasta que se ha producido el error. Y se puede ver que esto sucedió en el dominio de algodón principal y luego 16. Por lo que en realidad podemos hacer click en esto y nos dará la línea exacta y a veces hasta la pieza exacta de código donde ha sucedido esto. Entonces esta es la NullPointerException. Esto es algo que sucede rutinariamente incluso con desarrolladores avanzados, que a veces se olvida de inicializar algo. A veces solo llamas a algo en el orden equivocado, te olvidas de llamar a un método que es algo que sucede con demasiada frecuencia. Una vez más, nada de qué preocuparse, pero esa es la excepción nula. Normalmente se puede arreglar esto asignando correctamente una variable. Y luego lo último que realmente no es como una excepción, pero hemos visto esto también aquí. Entonces este es este proceso terminado con el código de salida uno, o a veces también podría decir terminado con un valor de salida distinto de cero uno, algo así. O también podría ser algo diferente a 1, 13042, lo que sea. Por lo que podría ser algún número que no sea 0. Eso es lo más importante. Eso significa que hay un error. Nunca debes publicar solo esto. Si solo publicas, hey, me dieron una flecha y tu post-proceso terminado con códigos de salida 0 o terminado con valor de salida distinto de cero. Todo el mundo sabe que no conoces Java. Ahora ese no es un tema por supuesto, porque hay que empezar en alguna parte. Pero esto solo si alguien quiere ayudarte, ¿verdad? Entonces, por ejemplo, si fueras a entrar a la Q y a y estás como, Oye, mi ya sabes, tengo una flecha y dice esto. Si publicas esto, primero que nada, voy a saber que probablemente no has visto esta introducción de Java, que es por supuesto encuentra tu propia decisión. No obstante, lo que también notaré que esto no lo es, esto no me da ningún valor en absoluto. Esto sólo me dice que ha habido un error. Eso es todo. Eso es todo lo que dice esto. Si el valor de salida no es 0, entonces eso solo significa que hubo un error en alguna parte. No sé cuál es el error. No sé cuál fue la excepción. No sé nada. Significa que en realidad tendré que volver a preguntar. Simplemente puede ser un poco frustrante porque entonces tienes que preguntar de nuevo, Oye, ¿puedes mostrarme el registro de errores es que hay algo de salida ahí. Simplemente pon la flecha ahí también. Por lo general cuando tienes un error, Es mejor dar demasiada información en lugar de muy poca. Entonces ese suele ser el caso. No siempre es así. Al igual que no solo dejes caer como 80 archivos diferentes en alguien que quiera ayudarte o en la Q&A, algo así. Pero usualmente deberías tener algo como esto, ¿verdad? Una excepción y error, algún tipo de registro algo que dice algo en particular como esta excepción. Podría tener una excepción en alguna parte, algo así. Entonces eso debería ser como lo que quieres cuidar. Eso es sólo algo que quería darte, que puede ser muy importante. Caucho que ya lo es. Entonces esto es una especie de la, sólo una visión general de esos errores. Y por supuesto, no dudes en preguntar si hay flechas. Si consigues flechas en el camino y pides ayuda, eso está totalmente bien. Yo sólo quería mencionar, sobre todo este año porque puede ser frustrante, no sólo a veces para mí porque por supuesto, entonces hay que hacer una pregunta de seguimiento. Y luego dependiendo de cuánto tiempo va a funcionar eso y tal vez solo busques eso. Y otra respuesta no llegó como 20 minutos, así que tienes que ir a hacer otra cosa y luego toma mucho tiempo. Por lo que eso puede ser a veces un poco frustrante. Bueno, cualquiera que sea el caso, esto es todo para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Y te veré en la próxima conferencia sin embargo. Sí. 7. (Java, métodos de arte y matemáticas: O volveré a la introducción de Java aquí para los núcleos modernos de Minecraft. Y en esta conferencia, vamos a estar viendo enteros. Vamos a estar viendo las matemáticas, y vamos a estar mirando a los operadores aritméticos. Ahora esas son todas palabras muy grandes. No obstante, estoy seguro de que nos las arreglaremos. Lo primero que vamos a hacer es inicializar dos enteros. Esto va a ser int x igual a 100 e int y igual a 20. Por lo que hasta este punto, todo debe ser bastante claro. En general, esto es justo, se trata de dos variables, x e y. tienen el valor 120 respectivamente. Ambos son enteros. Por lo que empezamos con el tablero int. Por lo que eso debería ser bastante sencillo. Y también tendremos un entero llamado resultado. Ahora vamos a realmente sólo declarar esta variable sin realmente asignarle ningún valor, porque vamos a estar usando eso de las siguientes maneras. Lo primero que vamos a echar un vistazo es la adición. Entonces esos son básicamente operadores aritméticos, suma, resta, multiplicación, división, y luego hay un quinto tipo, que vamos a estar echando un vistazo en tan solo un momento. Entonces el resultado aquí de adición es por supuesto que va a ser x plus y. entonces eso no debería ser demasiado loco. Sólo vamos a entrar en x aquí. Y este operador, x adentro desde la izquierda. A, un entero también podría ser un flotador. Por lo que eso también funcionaría. Entonces ambos de esos, ambos de éstos, si X e Y, cuando ambos los carrozas también funcionarían totalmente. Ahora esto, por supuesto entonces el resultado también tendría que estar a flote. Muy importante. Piensa en eso. Vamos a ver un ejemplo en una futura conferencia de eso también. Al igual que si empiezas a mezclar esos, pero eso debería ser bastante sensato. Simplemente ponemos el símbolo más y luego básicamente vamos a agregar x plus y. así que vamos a hacer sistema fuera, imprimir línea y luego imprimir el resultado sólo para que vamos a ver, bueno, esta debe ser un 120. A ver. Y por supuesto que es un 120. Todo funcionando perfectamente bien. Podemos por supuesto, también usar una resta, ¿no? Y lo que voy a hacer es que en realidad voy a dejar todo esto bien? Entonces solo voy a arrastrar mi ratón por aquí y luego presionar control C para copiar todo esto para mi ratón aquí, control V para pegarlo. Normalmente hago algo así sólo para que, ya sabes, sea un poco más fácil porque esto es por supuesto mucho duplicado en este caso. Ahora por resta, probablemente lo adivinaste. Sólo tenemos que poner un signo menos aquí. Y entonces de repente estamos restando y de x, lo que significa que esto debería ser 80. Y por supuesto está AD totalmente bien. Y en realidad copiemos de estos como completamente. Voy una vez más a seleccionar este control C y luego Control V aquí mismo. Y entonces también vamos a echar un vistazo a la multiplicación y por supuesto, la visión también. Entonces la multiplicación va a ser una estrella aquí mismo. Y entonces la división es sólo una tajada. Entonces esto debería ser bastante sensato, nada para estar demasiado loco. En general. Esas son solo las formas normales que básicamente bien calcularías cosas. Entonces eso es más o menos. Sólo pasemos por el C 2005. Eso en realidad está todo bien. Y ahora la pregunta se convierte, bueno, ¿cuál es el quinto tipo? O el quinto tipo es en realidad el resto. Por lo que a veces esto también se le llama el operador de modulo. Eso es en términos matemáticos reales. Pero para nosotros, es el operador restante y eso parece un signo de porcentaje. Entonces, por ejemplo, podríamos decir 20 restantes dos, que por supuesto sería 0. Entonces si sólo vamos a copiar esto una vez más, Control C, control V, Esto va a ser 0 porque cuando dividamos 20 por dos, entonces no queda resto. Entonces esta es una muy buena manera en realidad de echar un vistazo a si un número en particular es par o no impar. Entonces eso en realidad es bastante guay. Y esos son los cinco operadores aritméticos. A bastante sencillo todas las cosas consideradas. ¿ Con qué frecuencia se usan? Bueno, quiero decir, vas a usar algunas matemáticas dentro de todo el asunto de la programación. Sea o no estar en el modelado o en la programación en general, hay algunas matemáticas asociadas a ella, por supuesto. Por lo que estas cosas definitivamente son importantes de haber visto antes. Y entonces lo último que vamos a ver aquí van a ser los métodos matemáticos. Ahora, antes que nada, no nos vamos a preocupar por demasiados problemas. Bueno, es un método. Bueno, se puede pensar en eso como una función particular. Entonces por ejemplo, Hagamos una llamada esta matemática. Entonces puedes ver si tipeo en matemáticas, puedes ver Java Lang y conseguir que eso lo sugiera. Y luego si pongo un punto, tengo, me sugieren un montón de cosas a las que puedo llamar. Y hay cosas, por ejemplo, como el método max justo aquí, donde absoluto, correcto. Entonces puedo llamar aquí a max y puedo decir x, y. y entonces me va a devolver el valor máximo de cada uno de estos, que por supuesto en este caso va a ser un 100. Pero deberíamos ver al final aquí en un pop-out 100 que hace. Por lo que en realidad bastante sencillo. Y entonces simplemente duplicemos esto por el bien de argumentos o Control D para duplicar eso. Y vamos a obtener el valor absoluto de, por ejemplo, digamos menos 500, que sería 500. Entonces En Matemáticas, como una matemática, está escrito así. Entonces tal vez has visto algo así antes con estas como líneas absolutas, por así decirlo. Y eso luego se convierte en 500 porque realmente no nos importa el letrero que está enfrente. Entonces vamos a ver como 500 también. Y como he dicho, aquí hay un montón más de cosas, como como puedes ver, este sello. Entonces básicamente puedes redondear hacia arriba, redondear hacia abajo. Se puede conseguir el coseno, se consiguen algunos exponentes. Por lo que se puede poner algo al poder de e logaritmo 10. Aquí hay algunas cosas locas, redondeando aleatoriamente Incluso, incluso al azar, hay como constantes como e y pi. Entonces hay un montón de cosas aquí. Por lo general, Es muy raramente lo que necesitas usar. Muchos de ellos son especialmente algo así como el método max y el método Min y el método absoluto a veces son en realidad bastante útiles. Y es bueno haber visto esto antes, esto para que no te guste cuando te encuentras con esto, cuando quizá estés mirando algunos repositorios de GitHub de otros modos o simplemente frío en general de otras personas. Y usan algo como esto, entonces no estás completamente atrapado fuera de guardia, ¿verdad? Pero eso sería todo para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Y nos vemos en la próxima conferencia. Entonces, sí. 8. (Java) Operadores de proyectos de asignación: Muy bien, bienvenido de nuevo a la introducción de Java aquí para el modelado de Minecraft. Y en esta conferencia vamos a estar mirando a los operadores de asignación. Ahora hemos visto al operador de asignación normal, que es el símbolo igual. Y en realidad hay algo muy interesante para esto, porque esto en realidad es una especie de operador lateral, ¿verdad? Entonces vamos a asignar el valor correcto que la variable izquierda. Entonces no podíamos simplemente escribir algo como, por ejemplo, 30 igual a y Eso no funciona, ¿verdad? En realidad tenemos que tenerlo en un orden particular en ese caso. Ahora que bien, ¿esa va a ser la conferencia? ¿ Es eso? No, claro que no. Hay algunos operadores de asignación específicos, muy interesantes que, bueno, ya sabes, requieren los operadores aritméticos para una especie de entender. Pero lo que podemos hacer es por supuesto que podemos decir x, por ejemplo, igual a x más y, ¿verdad? Por lo que sólo estamos agregando y a x en este caso. Y luego escribir eso de nuevo en la variable x, eso funciona totalmente. Eso no va a ser una flecha, eso está totalmente bien. No obstante, también podríamos escribir esto de una manera un poco más agradable, y eso va a ser x plus igual a y. entonces eso también funciona justo aquí. Y eso en realidad es cosa realmente genial. Entonces aquí es donde esto es increíble. Ah, esto se parece mucho más fácil que esto. Y por lo general también es un poco más fácil de entender. Ahora si esto realmente te confunde más que esto, eso está totalmente bien. Tendrás, sin embargo, que echar un vistazo a los operadores de asignación, sobre todo si, por ejemplo, si echas un vistazo al código de otras personas, simplemente podrían usar solo estos y no tanto tiempo forma de escribirlo para que tengas que estar al tanto de eso. Entonces a pesar de que quizá no estés usando algunas herramientas de las que estamos hablando aquí, es todo esto básicamente son herramientas, derechos a programar. Todavía tienes que saber de ellos para leer código que otras personas podrían, ¿verdad? Entonces, en realidad solo imprimamos el, la variable x aquí, y luego vamos a pasar por el resto también, ¿verdad? Entonces vamos a seleccionar esto, copiarlo y luego vamos a, ya sabes, sólo pegarlo en como cinco veces. Entonces lo que puede, por supuesto hacer un minuss igual. También podemos por supuesto hacer tiempos iguales. También podemos por supuesto hacer como Ned, como dividir igual. Y luego al final podemos incluso hacer resto igual. Y que nunca antes había visto así es realmente algo que probablemente es un momento muy, muy específico como donde está esto, tiene que ser frío. Pero vamos a ver si esto funciona. Por supuesto que sí funciona totalmente bien para empezar con un 140 porque hemos sumado 20 aquí, ¿no? Por lo que estamos empezando aquí con 120. Un adecuado de nuevo es un 140, y luego restar es un 120 y luego veces 20 es 2400 y luego dividido por 20 es 100120 otra vez, y luego dividiendo o quedando es por supuesto 0 porque podemos dividir un 120 de Wendy perfectamente, que por supuesto sería toma exactamente. Eso está muy bien, Muy bien hecho. Entonces si yo sin embargo, ahora sólo quería agregarle uno, ¿no? Entonces tal vez sólo quiero hacer algo como esto. X es igual a x más 1, ¿verdad? Pero sólo quiero agregarla por una. Esto se llamaría incremento o un incremento x por uno. Bueno, quiero decir, por supuesto que podríamos escribir esto también, ¿verdad? Simplemente podemos hacer esto. Sí, claro, eso también funcionaría totalmente bien. Pero incluso hay una forma más fácil de hacer esto. Y eso será x plus. Mira esto. Esto es bastante loco. Entonces vamos de aquí a aquí, pero en realidad eso es lo loco que puede ser. Y solo imprimamos esto. Y entonces por supuesto, ya sabes, x menos menos, por supuesto también funciona. Eso lo estaría disminuyendo. Entonces esto es, dejémoslo un rato aquí. Las plaquetas, por lo que incrementan, incrementan, y luego también esto sería decrementando. Entonces básicamente solo estamos sumando uno o estamos restando uno. Sólo echemos un vistazo. Empezamos en 0 justo aquí. Agregar uno, agregar dos es dos o agregar otro, a la derecha es 23. Y luego lo estamos imprimiendo y luego lo decrementamos, y luego estamos de vuelta a las 2. Entonces esa es una especie de idea general aquí. Esos son los operadores de asignación y luego también incrementan y disminuyen Europa, lo cual también es algo importante. Pero esos dos van a estar viendo mucho, sobre todo estos X más y x menos menos. Esas son cosas que definitivamente se usan muy a menudo en ciertas capacidades, digamos dentro del código. Pero eso ya sería para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendió a lo Nuevo. Y te veo en la próxima conferencia. Entonces, sí. 9. (Java) Booleanos y operadores de comparación: Muy bien, bienvenido de nuevo a la introducción de Java aquí para el modelado de Minecraft. Y en esta conferencia, vamos a estar mirando a un booleano y operadores de comparación. La última vez miramos enteros, y ahora vamos a seguir adelante y mirar a los booleanos. Entonces los booleanos en general, podemos recordar esto de la segunda conferencia, son básicamente un tipo de datos que puede bien guardar un verdadero o un falso. Entonces, por ejemplo, vamos a hacer un nuevo booleano aquí. Por ejemplo, le gustan las conferencias, conferencias mayores que se escribe correctamente, y esto es por supuesto cierto, Esperemos que sí. Y hagamos también un booleano, que es, por ejemplo, pregunta hecha. Y sólo hagamos esto falso por el momento, tal vez eso se vuelva cierto más tarde, pero por el momento, eso es falso. Entonces recordamos a los booleanos, como dije, un verdadero o falso, 1 o 0, esa es la idea. Y hasta podemos imprimir esto, ¿verdad? Por ejemplo, podemos decir que tienes, o te gustan estas conferencias. Digamos que te gustan estas conferencias. ¿ A quién le gustan estas conferencias? Y luego puedo presionar Control D para duplicar esto. Y por ejemplo, se puede decir, usted ha hecho una pregunta en el Q&A Así que podría, por ejemplo, decir esto. Y entonces en lugar de como las conferencias, puedo decir hacer preguntas. Si yo fuera a hacer esto, entonces lo que vamos a ver es sólo verdadero y falso, básicamente igual que una salida de cuerda, están totalmente bien. De acuerdo, así que ese es el tipo de idea de los booleanos, ¿verdad? Verdadero o falso, bastante justo. Pero ahora ¿qué son los operadores de comparación? Bueno, pensemos en estos operadores de comparación, ¿verdad? Bueno, hay algunos de ellos. Y la idea de los operadores de comparación que por supuesto, bueno vamos a comparar dos valores diferentes entre sí. Y eso va a devolver un booleano porque claro, si comparamos algo, por ejemplo, podríamos decir más grande que no? Entonces tenemos algo que es más grande que otra cosa, entonces claro, o va a ser cierto o falso, ¿verdad? Si voy a decir, oye, tengo una manzana que es como el tamaño de un beisbol. Al igual que bien, lo bastante justo. Y luego tengo una manzana tan grande como un balón de fútbol. Bueno, obviamente el tamaño de un balón es más grande, así que va a haber como un verdadero debajo de esto. También hay una mayor o igual. También hay iguales, no hay iguales. Son más pequeños que y más pequeños o iguales a. Entonces esos son los operadores de comparación. No vamos a mirar cada uno de ellos individualmente. Y vamos a echar un vistazo un poco. Entonces el ejemplo real que vamos a estar viendo es, por ejemplo, tienes una puntuación en, o tal vez hiciste un examen, ¿verdad? Escribiste un examen y tu puntuación es 98. Bueno, muchas gracias. Esa es una muy buena puntuación y en realidad es en realidad tu día de puntuación, entras. Entonces se puede decir, bueno, podríamos escribir en un booleano que se llama clase pasada, ¿verdad? Y pasas esta clase cuando exactamente. Podemos pensar en esto. Bueno, claro que necesitas al menos 50 puntos. Digamos que por el bien de la discusión aquí, se necesitan 50 puntos para pasar esta clase. Bueno, es muy fácil. Simplemente puedes decir que tu puntuación tiene que ser mayor o igual, 50. ¿ Eso tiene sentido? Entonces eso debería tener sentido intuitivo. Todas las cosas consideradas es esto sería cierto en nuestro caso, claro, pero si tu puntuación cambia, entonces la respuesta aquí cambia, ¿verdad? Porque en cuanto esto ya no es pierna, si es 49, ya no pasas la clase, ¿verdad? Por lo que eso debe pensarse bastante autoexplicativo. Por lo que incluso podemos simplemente imprimir esto. Así que sólo sistema fuera, imprimir línea, digamos por ejemplo, usted preguntó, vamos poner esto en así y luego pasar clase, ¿verdad? Entonces vamos a conseguir un verdadero si es cierto y un falso si no lo es. E incluso podemos decir algo así con tu puntuación más puntos, algo así. Podemos decir esto. Y si ahora corro eso y te veo pasar verdad con 98 puntos. Si yo fuera a poner esto a 49, que por supuesto, en este caso ahora ya no es cierto. Por lo que no 49 ya no es más grande ni igual que 50. Bueno, esto ahora devolverá un falso. Ya verás, ahí tienes. Pasaste falso con 49 puntos. Mantengamos esto como DOE 1998. Y pensemos en esto también. Entonces tomemos otra idea aquí. Entonces también podemos tener un booleano, por ejemplo, tiene puntaje perfecto, ¿verdad? Y esto podría ser entonces igual a tu puntuación es igual a un 100. Este es el operador igual. Muy importante que esos sean dos signos iguales. Y eso es algo que a veces gente se confunde con los conocedor en absoluto. Un signo igual es el operador de asignación donde estamos asignando un valor a una variable. Y dos signos iguales es el operador de comparación donde estamos comparando si este valor de esta variable aquí es o no igual al valor de esta. Y eso es muy importante. Y aquí por supuesto, esto es falso. A partir del 98, no igual a un 100. Eso también debería ser bastante sencillo en general. Y hasta podemos hacer algo así que es muy interesante. Incluso podemos negar algo. Entonces esto es básicamente esta la marca de declamación aquí, sin embargo. También podemos decir algo así como, hey, pasamos la clase aquí, y luego podemos hacer otro booleano que se llama clase fallida, nos falló. Y esto puede ser igual a, bueno, no pasar clase, ¿verdad? Entonces simplemente negamos si pasamos o no la clase. Y por supuesto eso, eso tiene sentido. Entonces si esto es un poco confuso, lo estás escribiendo, como en realidad escribir un texto de escritor. Si la clase fallida es verdadera, tiene clase es falsa, por supuesto. Por lo que esos siempre necesitan ser opuestos el uno del otro. Por lo que siempre podemos simplemente negar esto. Esto también podría ser una idea. lo que negar año es por supuesto, negar básicamente significando que los dos ponen el signo de exclamación delante, significa que el verdadero se convierte en falso. Y luego si es falso, se vuelve a la verdad. Vuelve cierto entonces ¿verdad? Esa es una especie de idea. Operadores de comparación. También se puede pensar en esto. Devolven un operador de comparación. Se lo puede pensar así. Cuando teníamos una calificación más, tomamos un entero a la izquierda, más un entero a la derecha y regresamos un entero. Nuevamente, tiene sentido absoluto intuitivo. Ni siquiera piensas en ello cuando estás, cuando estás trabajando en matemáticas y calculando cosas. Cuando haces 5 más 5, como por supuesto que lo va a devolver a 10, que es un número. Bueno, el operador de comparación es prácticamente el mismo. Acabas de poner, por ejemplo aquí un entero y un entero, y devuelves un booleano. Eso es todo lo que hay a ello. Pero lo único que realmente cambia es el tipo de retorno, por así decirlo. Pensando en esto y ya está, algo a tener en cuenta aquí. Y esos serían los operadores de comparación. Recomiendo encarecidamente solo jugar un poco con esto. No debería ser demasiado loco. Realmente es sólo comparar dos valores diferentes entre sí. Y eso se expresa entonces como booleano, que en realidad debería tener sentido es que sólo hay alguna vez una respuesta correcta en este caso, ¿verdad? O el puntaje es mayor o igual a 150 o no, implica eso. Pero sea cual sea el caso, esto es todo para esta conferencia aquí mismo. Espero que hayas encontrado esto útil y aprendido algo nuevo. Y nos vemos en la próxima conferencia. Entonces, sí. 10. (Java) Booleans y operadores lógicos: Muy bien, bienvenido de nuevo a la introducción de Java aquí para el modelado de microondas. Y en esta conferencia vamos a estar mirando a unos operadores lógicos. Por lo que he preparado unos booleanos aquí mismo, ver conferencias, hacer pregunta, terminar tareas y comprometer revisión. Esos están por supuesto relacionados con un curso como escenario, digamos. Y ahora vamos a echar un vistazo a los operadores lógicos. Y son tres de ellos, básicamente a los que vamos a echar un vistazo. Ahí está el final, ahí está el quirófanos y el no. Por lo que hemos visto previamente donde pudimos negar algo y el AND, y el OR también son muy interesantes. Por lo que los operadores lógicos toman dos booleanos y te dan un nuevo booleano. Entonces, por ejemplo, para el final de los booleanos, hay que darlo, hay que ser verdad, y luego vuelve verdadero. De lo contrario devuelve falso. Y para el, o cualquiera de ellos tiene que ser cierto y luego devuelve un verdadero. Por lo que esto sólo devuelve falso si ambos son falsos. Entonces, por ejemplo, se podría pensar en ello así. Entonces Booleano terminó curso, ¿verdad? Entonces si quieres terminar el curso, tienes que haber visto las conferencias y terminado las tareas. Eso debería tener sentido. Esa especie de buen ejemplo concreto aquí. Y entonces también se podría decir, bueno, un fan, ¿verdad? Entonces, digamos que es fan, ¿verdad? Por lo que alguien que sea fan terminaría el curso. Tan terminados núcleos y revisión Eva, eso también debería tener sentido en general. Y ahora alguien que podría estar aprendiendo, como tal vez aprendiendo mucho, vieron las conferencias o hicieron la pregunta. Entonces esto es algo alguien que está aprendiendo, ¿verdad? Ya sea viendo las conferencias o haciendo una pregunta. Por lo que cualquiera de ellos podría ser cierto y entonces el aprendizaje también sería cierto. Vamos a una especie de idea general aquí. Y hay una cosa más que tengo y eso va a ser esto aquí mismo. Entonces esto es sólo una visión general de lo que básicamente sucede. También puedes descargar esto como hoja de tramposos. Esto está disponible en los recursos. Y la idea aquí es que simplemente te muestre cuáles son los diferentes tipos de desenlace, eso es básicamente lo que son los resultados. Entonces tienes a y B. Y luego dependiendo de lo que sean, este es el retorno que se da, como dije, ambos tienen que ser ciertos para que las respuestas devuelvan un verdadero. Y aquí, si alguno de ellos es cierto, entonces esto devuelve un verdadero. De lo contrario es falso. También se puede pensar en ello, escribir a o B hacia una especie de, es una especie de realmente horneado en el lenguaje cuando se piensa en la negación, como dije, ya hemos hablado de eso es una especie de lo general ajustar cuando se trata de los operadores lógicos. Hay, por supuesto un poco más allá también sobre eso, ¿es realmente un buen comienzo para esto? Y entonces por supuesto, lo real en lo que puedes pensar es que cuando tienes uno de esos que devuelve un booleano, puedes por supuesto, luego encadenarlos juntos. Entonces también se puede decir, por ejemplo, terminar hacer pregunta, ¿no? Entonces puedes ver que porque esto por supuesto devuelve un booleano, ahora podemos usar nuevamente el operador AND. Por lo que esto funciona más o menos muy similar al igual que los operadores aritméticos eran. Por supuesto también se puede plus, plus, plus. Se puede tener 5 más 8 más 7 más 9 más 15. Eso funciona totalmente bien. De manera similar, se puede encadenar también a los operadores lógicos , ¿verdad? Pero eso sería todo para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo y te veré en la próxima conferencia. Entonces, sí. 11. (Java) Declaraciones de If y elde las declaraciones y otros: Muy bien, bienvenido de nuevo a la introducción de Java para el modelado de Minecraft. Y en esta conferencia, vamos a estar viendo las declaraciones if y else. Ahora en esta conferencia, básicamente vamos a empezar realmente tener alguna interacción con la computadora. Muchas de las conferencias anteriores fueron muy teóricas, es una especie de mostrar algunos conceptos. Pero en esta conferencia, vamos a estar realmente bien interactuando con la computadora. Empecemos por hacer dos enteros. Examen 1, Digamos por ejemplo 65 y examen 2, que va a ser 51 por el momento. Y podríamos imaginar que digamos que tenemos que escribir un programa que evalúe esos valores de esos dos exámenes. Y básicamente dice: Oye, has fallado o pasado el examen 1, has fallado o pasado el examen 2. Y luego al final, tal vez cuando gente haya aprobado ambos exámenes, tal vez algo esté impreso Como has pasado la clase o algo así. Entonces, ¿cómo podemos hacer esto? Bueno, lo que podemos hacer es hacer una declaración if. Y para eso literalmente nos gusta justo si, aquí mismo. Y entonces podemos hacer lo siguiente. Podemos poner entre paréntesis. Y si lo pones en paréntesis abierto, los paréntesis de cierre deben generar automáticamente. Y dentro de esos paréntesis hay que poner un valor booleano. Por lo que recordamos de nuevo a las dos conferencias anteriores donde teníamos operadores de comparación. Entonces lo que podemos decir es que, bueno, si el examen 1 es mayor o igual a 50, entonces sabemos que hemos aprobado el examen. Y luego ponemos oculto aquí es después de los paréntesis de cierre, ponemos en un corchete rizado. Y si pongo el corchete rizado abierto y presiono Enter, el corchete rizado de cierre debería generar automáticamente para ti. Y ahora lo que podemos hacer es que podemos escribir algo más. Por lo que podemos decir sistema fuera, línea de impresión. Y luego, por ejemplo, tienes uno de examen pasado. No obstante, este todo el código entre estos dos corchetes rizados aquí va a suceder cuando lo que esté dentro de las declaraciones if. Entonces dentro de estos paréntesis, cierto. Entonces si esto es cierto, entonces esto va a suceder. Entonces eso es bastante guay en realidad. Y entonces podemos una especie de supercarga esto agregando otro aquí al final y también poniendo un corchete rizado. Y una vez más, ponemos el corchete rizado abierto en cualquier prensa Entrar un corchete rizado de cierre debería generar automáticamente aquí. Y luego por ejemplo, podemos simplemente seleccionar este control C control V para pegarlo. Y entonces podemos decir que ha fallado el Examen 1. Entonces este año, justo de lo demás en realidad sucede cuando esto es falso. Eso en realidad nos funciona muy bien. Entonces básicamente podemos usar esto para, bueno, echar un vistazo a si se aprobó o no el Examen 1. Entonces, en realidad ejecutemos esto y deberíamos conseguir un examen U pasado. Y por supuesto que estamos consiguiendo esto, como en este caso, examen 1 es más grande que, más grande o igual que 50. Por lo que se está llamando a esto. Entonces eso es bastante guay. Ahora básicamente podemos hacer exactamente lo mismo para el segundo examen. Entonces vamos a copiar todo esto seleccionado Control C, Control V. Y entonces aquí vamos a decir Examen 2. Aquí vamos a decir Examen 2, y aquí también vamos a decir Examen 2. Eso en realidad es bastante guay. Todas las cosas consideradas. Y entonces la pregunta se convierte en, bueno, quiero decir ahora queremos dar salida cuando en realidad has aprobado ambos exámenes. Entonces, ¿cómo podemos hacer esto? Bueno, ahora nos estamos volviendo bastante locos. Por lo que las dos últimas conferencias parecerán un poco más coherentes, por así decirlo. Vamos a decir examen 2. examen 1 es más grande o igual a 50, ¿verdad? Entonces eso sigue aprobando este Examen Final 2. Entonces, correcto, este examen 2 de aquí es más grande o igual 50. Y luego si esto, si ambos son ciertos, entonces sabemos que has pasado la clase para que podamos copiar el sistema aquí y entonces solo podemos decir que has pasado, digamos que la clase solo por el bien de la discusión aquí. Entonces eso es realmente genial, ¿verdad? Tenemos ahora las declaraciones if y si else, y lo que también se puede hacer por cierto, cuando se tiene una declaración else que se puede poner otra declaración if aquí, ¿no? Por lo que sólo puedes poner este ahí dentro. Básicamente si esto es falso, entonces lo contrario y luego poner otra declaración si es donde vas a básicamente, sólo por el bien del argumento, solo di verdad aquí. Por supuesto que esto también funcionaría, pero, ya sabes, y entonces podemos decir otra cosa y básicamente encadenar los juntos para que puedas hacer si lo contrario, si lo demás, y el último siempre va a ser otra o también puedes simplemente no tener otra aquí también. Eso también funciona. Yo quería mencionar eso también. Pero ahora lo realmente genial es, bueno, pensemos en esto. Digamos que este es en realidad un programa en el que entra el profesor y en realidad escribe en los resultados de su examen. Ah, ¿qué? Bueno, recordamos cómo podemos leer algo en tenemos que escribir en escáner, escáner, escáner es igual a nuevo escáner. Y luego system.out.print. Y entonces este tipo de simplemente funciona para nosotros. Recordamos que no queremos preocuparnos demasiado de lo que esto significa. Entonces podemos decir algo así como sistema fuera de línea de impresión y decir resultados o examen uno. ¿ Verdad? Y luego vamos a duplicar esto. Hacer resultados para un examen 2. Y entonces sólo podemos decir que el Examen 1 es en realidad igual al scanner dot next int justo aquí, ¿verdad? Entonces vamos a leer en un entero y luego guardarlo en el examen una variable. Y lo mismo que vamos a hacer para ir. Ahora lo que va a pasar es realmente genial. Y empezamos esto y ahora en realidad está esperando que pongamos un examen. Bueno tristemente, 32, en realidad no 320 sino 32. Bueno, y luego los resultados para el examen dos, en realidad fueron mucho mejores. Eran 68, tristemente, sólo un poquito, no lo suficiente para 69. Y luego puedes ver que fallaste el examen 1 y el examen pasado también. Entonces ahora realmente estamos empezando a entrar en una especie de parte de esta introducción de Java donde realmente eres capaz de hacer algo con la computadora. Y realmente vas a ver esto en la primera asignación así para la próxima conferencia va a ser una especie de versión alterna de la sentencia if, que también puede ser muy importante. Y luego la primera asignación, recomiendo encarecidamente hacer las asignaciones aquí para la introducción de Java, sobre todo cuando solo eres principiante porque pueden ser realmente, realmente útiles. Y con esto, por supuesto, el núcleo está disponible en un repositorio o un justo igual de bien. Pero echa un vistazo a los de los recursos. Y recomiendo encarecidamente jugar un poco con esto, solo leer algunos números al compararlos, hacer algunas declaraciones if, simplemente hacer un montón de cosas geniales como esta, ya puedes hacer más o menos un juego realmente genial. Entonces, pero por el momento, esto sería todo para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo de lo nuevo. Y nos vemos en la próxima conferencia. Entonces, sí. 12. (Java) de interruptor: O volveré a la introducción de Java aquí para el modelado de Minecraft. Y en esta muy corta conferencia, vamos a estar mirando la declaración de cambio. El enunciado de cambio es una especie de prima pequeña a la declaración if, por así decirlo. Por lo que es muy similar. Sólo echemos un vistazo. Por lo que vamos a hacer un entero llamado colocación de metal, que es por el momento sólo uno en. Se podría imaginar esta representando la colocación en, por ejemplo, los Juegos Olímpicos, ¿no? Entonces uno sería la medalla de oro, plata, bronce. Entonces dos es plata y bronce es tres. Y luego cualquier otra cosa como discos, sin metal. Y podríamos hacer esto simplemente haciendo algunas declaraciones if, quienquiera que pudiéramos también hacer una declaración de cambio. Se puede ver si escribo en switch aquí, luego dentro de los paréntesis, pongo la variable que quiero que evaluemos. Entonces una vez más hacer el corchete rizado o el segundo debe generar automáticamente. Y ahora tengo que especificar realmente en cada uno, dentro de estos corchetes rizados, cada uno de los casos que esta variable puede tomar. Por lo que puedo decir caso 1. Entonces esto significa que ha tomado el valor uno, sistema fuera línea de impresión y luego por ejemplo, digamos medalla de oro. Y entonces puedo decir caso dos. Y entonces puedo decir sistema fuera línea de impresión, plata, metal. Y entonces una vez más, al final aquí puedo decir caso tres, sistema. El sistema fuera de línea de impresión. Ahí lo tienes. Medalla de bronce. No obstante, está formateado, eso está totalmente bien. Y entonces también podemos decir default, lo que significa que esto se va a llamar si no es ni este caso, esto se pone más este caso. Por lo que tenemos casos predefinidos aquí. Y luego en el caso por defecto, realidad se va a llamar si es algo más que podamos decir que no hay metal. Y lo primero que notarás es esperar un segundo. Tenemos que definir cada caso individual. Sí, aquí, el tema es que puedes usar algo así como más grande o igual, lo que de inmediato hace mucho más fácil estrechar algo. Si quisiera hacer la evaluación del examen aquí, en realidad tendría que pasar por cada caso. Entonces tengo que pasar por los casos del uno 50 o uno al 49 por decir, oye, fallaste y luego los otros por ti lo lograron o pasaste. Por lo que la declaración switch no siempre es la mejor opción. Puede ser sin embargo, a veces. Entonces, solo echemos un vistazo a esta lista. Debería por supuesto, en realidad imprimir medalla de oro. Pero lo primero que vas a decir es esperar un segundo. En realidad está impreso todo exactamente. Porque hay una cosa más que realmente necesitamos hacer. Y ahí es cuando se tiene el caso, el mismo final, hay que terminar con un descanso aquí mismo. Tenemos que poner en este descanso. De lo contrario, simplemente se irá conservando básicamente. Simplemente pasará por la declaración de cambio sólo va a seguir adelante y sólo sacar todos los casos. Y si tenemos el descanso aquí, entonces verán que en realidad sólo se va a tomar el relevante . Sólo pongamos tres sólo por el bien de la discusión aquí. Entonces como puedes ver, eso ahora funciona. Por lo que esto es muy importante para la palabra clave break aquí se tiene que usar con la sentencia switch. Esto a veces puede ser un poco molesto. Por lo que el interruptor de ellos por lo general para enteros está bien, se puede utilizar. Por lo general se usa para enumeraciones porque enumeraciones tienen valores definidos que pueden tomar y que por lo general es más fácil para los casos entonces lo que es muy raro o que es básicamente imposible. No debes usar flotadores en declaraciones de cambio porque aquí por supuesto tienes que definir el caso exacto. Y debido al redondeo flotante o a los errores que pueden ocurrir, esto en realidad podría simplemente nunca funcionar. Por lo tanto, nunca use flotadores y declaraciones de cambio. Básicamente, eso es algo muy importante para recordar. De lo contrario, una declaración de cambio, aunque no lo vaya a usar usted mismo, podría por supuesto aparecer en el código de otra persona. Tendrás, al menos tendrás que haber visto esto antes, ¿verdad? Pero eso ya sería para esta conferencia aquí mismo. Espero que te haya parecido útil esto y neuronas y lo nuevo, te veré en la próxima conferencia. Ah sí. 13. ASSIGNMENT 1: juego de Trivia: Muy bien, bienvenido de nuevo a la introducción de Java para Minecraft modding aquí con la primera asignación. En la primera asignación va a ser un create, un simple juego de trivia. breve explicaré lo que eso conlleva. Si bien la idea es que se debe definir al menos tres preguntas. Te recomiendo hacer tres preguntas, tres respuestas, eso va a ser suficiente. De lo contrario, el código se pondrá muy abarrotado muy rápido. Y lo que quiero que hagas es que le pida al usuario que escriba su respuesta. Puedes usar el escáner para eso para básicamente obtener lo que escribieron y luego evaluaron con un if y else sentencias para comprobar si la respuesta que escribió el usuario era correcta. Por lo que recomiendo volver a ver la conferencia de entrada de salida es que fue muy importante en ese caso. Y la conferencia de declaración if else también podría ser muy interesante mirarla una vez más. Entonces si eran correctos, salida que eran, y si estaban equivocados, entonces dígale al usuario que eran incorrectos y también emita la respuesta correcta. Otra cosa que debes hacer es básicamente simplemente incrementar un total de puntos, lo que significa que cuando el usuario tenga una respuesta correcta que designe aumentada en uno, entonces al final, solo tienes un salida única para cada uno de los diferentes totales de puntos. Entonces básicamente tres, básicamente diciendo, oye, has hecho todo correcto a algo así como 0 minutos, vale, un error, uno y así sucesivamente y así sucesivamente. Entonces básicamente de 0 a tres, teniendo algunas afirmaciones si más al final, hay dos cosas a tener en cuenta. Entonces esos son algunos consejos que tendrás que tener en cuenta cuando estés leyendo en una cadena del usuario, por favor usa scanner dot next y no scanner dot next line. Porque si estás usando scanner dot next line, eso a veces mete la forma en que esto se lee. Pero recomiendo encarecidamente hacer esto. Y luego cuando estás leyendo en una respuesta de esto, terminó a continuación, tenemos una cadena y quieres comparar eso con una cadena. No use iguales, iguales, pero use el punto de entrada igual y luego ponga la respuesta, la respuesta correcta dentro de paréntesis aquí. Esto también devolverá un valor booleano, y hará que esto sea un poco más fácil. Entonces de lo contrario, porque hay a veces no funciona y esto definitivamente funcionará. Entonces eso es tener eso en cuenta. Y esa es más o menos la asignación aquí mismo. Esto también está escrito como texto aquí también. Y sospecho que para un principiante, esto es algo alrededor de 45 a 60 minutos. Definitivamente recomendaría tomarte tu tiempo con esto. Probablemente volviendo a las viejas conferencias, echando un vistazo a la conferencia de entrada de salida, if y else declaraciones conferencia. Y con eso, deberías estar casi completamente hecho. Básicamente, eso es más o menos lo que necesitas. Y luego una vez que hayas terminado, tendrás acceso a la, a la solución, por supuesto, y también pasaré por la solución en otro video. Entonces eso sería todo. N, Buena suerte. 14. Solución 1: juego de Trivia: Está bien, así que lo has hecho a través la primera asignación y aquí está la solución paso a paso. Por lo que probablemente ya has visto cómo se ve como una hora apenas va a pasar. Entonces por supuesto, las preguntas aquí en este caso realidad se hacen como cuerdas. Eso por supuesto tiene mucho sentido, ¿verdad? De lo contrario, realmente puedes guardar las preguntas de cualquier manera. Y la respuesta de una es en realidad en un entero, eso sí funciona. No obstante, también veo el punto de hacer esto una cadena normal también. Por encima de las respuestas sería correcto. Entonces no se preocupe. Ahí. Tenemos un número entero de puntos y luego un escáner, y luego simplemente iniciamos, damos salida a la primera pregunta. Entonces decimos el número de entrada del usuario 1. Sólo vamos a poner esto aquí. Vamos a ver si eso es igual a la primera respuesta. Si lo es, vamos a incrementar los puntos, salida que fue correcto y tienes esos muchos puntos. Y entonces de lo contrario vamos a decir incorrecto y dar salida a la respuesta correcta. Después de eso, más o menos estamos haciendo exactamente lo mismo. Voy a poner la segunda pregunta, a obtener la entrada del usuario volver a obtener la entrada del usuarioe igualarla o decir: Oye, ¿ esto es igual a la respuesta aquí, incrementando los puntos si es correcto, dando salida a eso y luego decir que no, es incorrecto, esta es en realidad la respuesta correcta. Y luego la tercera vez otra vez. Y luego al final aquí se puede ver que básicamente pasa por una especie de cascada aquí. Por lo que puntos pasando por tres a 0. Entonces también tengo una especie de huevo de Pascua aquí. Cuando tienes menos de 0 puntos que obtienes, ¿cómo consigues incluso puntos negativos? Porque no hay forma de conseguir esos. Podrías por supuesto también algo donde obtienes algunos puntos negativos si haces una respuesta particularmente como estúpida o algo así, eso también funcionaría. Pero no he implementado nada aquí. Fue sólo un ejemplo. Entonces, en realidad así podría funcionar eso. Entonces este es un ejemplo. Una vez más, si el programa real funciona bien? Entonces si esto funciona para ti y puedes jugar este juego y funciona, pero se ve diferente a esto. Eso está absolutamente bien. Al igual No se preocupe en absoluto. Entonces esa es la belleza aquí. Hay múltiples formas de hacer esto, y lo veremos en las próximas asignaciones así como básicamente vamos a utilizar siempre este juego de trivia también, una especie de plantilla. Y vamos a rediseñar estas próximas asignaciones básicamente de una manera diferente. Y eso es, espero que ustedes puedan ver que se hace más fácil y diferente, digamos en las futuras conferencias y las futuras asignaciones. Pero eso será todo para esta solución aquí mismo. Espero que te haya parecido útil esta asignación y aprendas algo nuevo. Y nos vemos en la próxima conferencia. Entonces, sí. 15. (Java) Strings y métodos de formación (de cuerdas: O volveré a la introducción de Java aquí para el modelado de Minecraft. Y en esta conferencia, vamos a estar buscando cuerdas y algunos métodos de cadena. Bueno, básicamente todo alrededor de la cuerda por así decirlo. Y vamos a primero que nada, empezar por hacer una nueva variable de cadena llamada frase. Y esto va a ser igual a, es una maravillosa introducción de Dava. Bueno, esperemos que eso también sea cierto. Pero sea cual sea el caso, esto es lo que es el valor de nuestra variable string aquí. Y sólo vamos a imprimir esto. Entonces sentencia aquí mismo, sistema fuera de línea sentencia. Y ahora la pregunta es, ¿qué más podemos hacer aquí? Bueno, lo primero que vamos a hacer es que realmente lo vamos a duplicar. Vamos a alinearnos. Y lo que vamos a decir esto lo hace el Control D por cierto. Y lo que vamos a hacer es que vamos a decir longitud es, vamos a decir algo así como plus. Y entonces podemos decir la longitud de punto de la oración. Entonces como pueden ver, puedo llamar a la longitud del punto con los paréntesis aquí, lo que significa que esta es una llamada de método. No estamos 100 por ciento seguros aún de qué es eso, pero hemos visto esto antes un par de veces, y esto es básicamente sólo nos devuelve la longitud. Y si alguna vez vuelvo sobre esto, puedes ver en un entero devuelve la longitud de la cadena, longitud es igual al número de caracteres en esa cadena. Por lo que se trata básicamente de unidades Unicode. No nos preocupemos por eso. Simplemente es básicamente igual a los caracteres de esa cadena. A ver. La longitud es de 35. Entonces eso es interesante aquí. Y entonces también por supuesto generamos la cadena real también. Pero, ¿qué más podemos hacer? Tenemos que poder hacer algunas cosas interesantes. Por supuesto, podemos. De hecho, obtengamos esta salida aquí. De hecho, solo duplicémoslo tres veces y nada. Y lo primero va a ser gritar, bueno, eso va a significar que todo aquí, me voy a convertir en mayúsculas. ¿ Cómo hacemos esto? Bueno, podemos hacer sentenciación dat a mayúsculas justo aquí. Esto en realidad ya sugería. Y entonces por supuesto lo mismo simplemente sería susurrar, ¿verdad? Y luego vamos a hacer sentencia que a minúsculas justo aquí. Entonces eso sólo va a primero de mayúsculas y minúsculas alternas. Y luego sólo por el bien de la argumentación, solo empecemos la frase una vez más. Ah, vamos a añadir también un comentario, derecha, así que esto es mayúscula y minúscula. Tan bastante sencillo. Podemos simplemente convertir toda la cadena en mayúsculas, una cadena entera en minúsculas. Y entonces aquí lo que deberíamos simplemente conseguir la cadena minúscula también, ¿verdad? Entonces si acabamos de sacar esto, se puede ver gritando todo en letras grandes, así que todo en mayúsculas, luego todo en minúsculas. Y entonces aquí está, es la cuerda normal. Eso es extraño, ¿no? Bueno, aquí está la parte muy interesante de esto. Estos métodos realmente devuelven una copia de esta variable de frase. No cambian la variable en sí mismos. Entonces cuando teníamos cosas como x es igual a x más 1, en realidad cambiamos rayos X, EEG más es igual a uno. Eso cambió la variable x. En este caso, estamos devolviendo una copia. Entonces eso es muy importante y realmente hay que tener eso en cuenta. Pero en lo siguiente, Digamos, te digo, Oye, ¿qué posición es que Java encontró la palabra Java. Vas a estar como, no lo sé, es exactamente. Entonces lo que vamos a hacer es simplemente copiar otra vez sobre la línea de impresión. Y vamos a decir lo siguiente. Vamos a decir la palabra Java o algo así se encuentra en posición. Ahora podríamos contar, no vamos a llamar todavía. Vamos a contar en tan solo un momento. Vamos a decir índice de punto de frase del puede ver hay un par de diferentes tipos de índice de aquí, pero queremos la cadena 1. En realidad no importa por cierto, cuál elijas tu, puedes ver que tan pronto como el cursor esté dentro de los paréntesis, en realidad va a sugerir cuáles quieres hacer. Vamos a tomar básicamente, y voy a decir Java aquí. Entonces Java, Vamos a ver cuando es eso? Al igual que ¿dónde sucede? 17, vale, sólo contemos. Entonces voy a empezar aquí. Por lo que mi cursor siempre va a estar del lado izquierdo del personaje con el que cuento, 123456789, 10, 11, 12, 13, 14, 15, 16, 17, 18. Y todo el mundo va a ser como Espera un segundo. Pero eso decía 70, ¿no? Sí. Sí dijo 17. Ahora bien, ¿por qué es este 18 sin embargo? Jaja, mira esto es algo muy interesante porque en Java o en la mayoría de los lenguajes de programación, realidad estamos contando a partir de 0. Ahora esto podría ser absolutamente loco para ti, sobre todo si fueras mucho principiante. Eso está totalmente bien. No te preocupes por ello. El asunto al respecto es que te acostumbras muy rápidamente en realidad. Y hay algunos otros lugares donde tenemos que usar esto. Pero si empezamos a contar a 0, se puede ver el 0123456789, 10, 11, 12, 13, 14, 15, 16, 17. De repente, la j es exactamente el personaje 17, o más bien es el personaje con índice 17, ¿verdad? Entonces porque este es por supuesto el índice, el índice de esto, el índice de esta palabra. Y básicamente estamos buscando al primer personaje aquí. Eso es muy interesante. En efecto, cuando realmente pensamos en este fin, bueno que si, bueno en realidad no lo somos, esto no es correcto. Donde agregamos es en realidad queremos reemplazar algo. Entonces sistema fuera de línea de impresión y queremos decir una frase que reemplace, y queremos reemplazar Java con, digamos C Sharp. Pero, ¿por qué no? ¿Verdad? Por lo que se puede ver el objetivo que queremos reemplazar como Java, y con lo que lo reemplazaremos es C agudo. Entonces si yo fuera a correr esto ahora. Veríamos que es una maravillosa introducción C-sharp como no está bien, Eso no está bien. Pero en este ejemplo, claro, eso está totalmente bien. Entonces este es el método de reemplazo y eso también es muy interesante. Una vez más, esto no lo reemplaza en la frase. Ha devuelto una nueva cadena, una copia de ésta que básicamente reemplaza a ésta. Muy importante, ¿verdad? A lo mejor queremos ver si una cierta frase empieza o termina con algo. Eso es muy fácil en realidad, sólo vamos a duplicar el reemplazo tu una vez más con Control D. Y lo que podemos decir que empieza con, puedes ver, y yo sólo podría decir, oye, yo escribir y eso sería cierto en este caso. Y entonces también podemos, puedes adivinarlo con qué es el otro, por supuesto, termina, que sería, digamos un a mayúscula, que por supuesto es falso en este caso, esto sería cierto, esto debería ser falso. Entonces, sólo veamos por el bien de la discusión. Y ahí se puede ver verdadero y falso. Muy fácil de hacer. Ahora, ¿qué pasa si tenemos una, una cuerda, verdad? Y sólo vamos a llamar a esta S por el momento, y sólo va a ser una cuerda vacía, ¿verdad? Entonces una cuerda sin nada en ella. ¿ Cómo podemos comprobar que esto está vacío? Bueno, podemos hacer un booleano vacío. Por ejemplo, sólo decimos que S está vacía. Y ahí tienes. Eso es más o menos todo lo que necesitamos. Y si fuéramos a sistema fuera, imprimir línea que está vacía, podríamos por supuesto también poner S dot está vacío dentro de tu trasero. ¿ Por qué molestarse? Eso está totalmente bien. Y se van, esto es en realidad ¿dónde es cierto? Es cierto, claro que es cierto. Perdón. Ahí tienes, ¿verdad? Por supuesto, es cierto porque esto está vacío. Y hay una cosa más que es realmente interesante cuando se trata de ordenar los métodos booleanos para las cuerdas. Y ese es el contiene, uno. Eso es muy interesante. Entonces sistema fuera frase de línea de impresión que contiene, digamos Java. Y esto es por supuesto cierto, ¿verdad? Debido a que esto contiene Java, deberíamos ver r2 año también. Hermosa. ¿ Y al revés? ¿ Cuándo pensamos en los gastos generales de índice? ¿ Y qué pasa con cierto personaje en una posición determinada? Absolutamente ningún tema. Sistema fuera línea de impresión, frase, char en qué posición? Digamos 17. Entonces sabemos que va a ser una. Entonces saben que va a ser una j Eso va a ser muy importante y hay un J. Lo bastante fácil. Una vez más, empezamos a contar a 0. Por lo tanto, si bien este es el personaje 18, es el personaje con índice 70, muy importante. Es decir, podría ser difícil, pero después de un poco de tiempo usándolo, estoy seguro de que te acostumbrarás. Y vamos a hacer una cosa más. Y esa va a ser la subcadena. Interesante subcadena. ¿ Qué es eso? Bueno, vamos a hacer sistema fuera de línea de impresión, y digamos sólo subcadena de punto de frase. ¿ Y por dónde empezamos? Bueno, empecemos en el índice 17. Pero lo que ahora va a pasar es que va a tomar todo a partir de como 17 y sólo va a devolver todo después. Entonces esto ahora la subcadena 17 años debería decir Java introducción, signo de exclamación. Y por supuesto que también lo hace. Eso es muy bonito. Entonces si tomamos otra frase mirada que se puede ver que por supuesto hay un montón más de métodos que se podría llamar no, esta no es una lista exhaustiva que he mostrado. Acabo de mostrar algunos que podrían ser interesantes aquí. Siempre recomiendo probar un poco. Estás probando un montón de cosas. Esto grandioso aquí es que en realidad sólo está escribiendo un montón de cosas, haciendo clic en el botón Ejecutar y simplemente viendo lo que pasa. Y si algo pasa, eso es genial, aún mejor. Y si no, si hay una flecha, pero el trabajo a través de ella y ver si no puedes arreglarla. Pero eso sería más o menos por las cuerdas. Y estas cuerdas método conferencia. Espero que esto te resulte útil y aprendas algo nuevo si lo hicieras, te agradecería mucho una opinión tuya. De lo contrario, los veré en la próxima conferencia. Entonces, sí. 16. (Java) Casting: O doy la bienvenida de nuevo a la introducción de Java aquí para el modelado de microondas. Y en esta conferencia, vamos a estar mirando al casting. También puedes pensar en eso como convertir tipos de datos entre sí. ¿ Qué significa eso realmente? Bueno, echemos un vistazo. Por ejemplo, queremos tener un préstamo entero, que es, digamos $750 Euros, cualquiera que sea el caso. Y entonces tenemos una tasa de interés, que por supuesto está en flotación, ¿no? Y esto va a ser 0.0525, digamos. Por lo que esto sería igual a 5.25% tasa de interés en este punto, todo debería tener sentido. Por lo que ahora queremos calcular realmente los intereses. Ahora el interés, debemos calcular eso como flotador por el momento. Y te voy a mostrar por qué en un segundo. Por lo que el interés es igual a la tasa del préstamo veces la tasa de interés. Eso también debería tener sentido. Se puede ver que a pesar de que estoy tomando un, un entero veces un flotador, todo funciona porque estamos guardando esto en un flotador. Interesante. De acuerdo, Hagamos sistema fuera, imprimir línea e imprimir los intereses, el mar. Y debería ser algo así como 39, eso está bien. Entonces por supuesto, si sientes aquí también, Eso está totalmente bien. Ahora la pregunta es, ¿cómo podemos simplemente hacer como multiplicar un entero y un flotador y sacar un flotador de él. Eso es bastante loco, ¿no? Bueno, lo que pasa es básicamente que este entero en el fondo se convierte en un flotador. Podemos hacer esto explícito escribiendo el modo entre paréntesis frente a la variable real. Y entonces tenemos esto explícitamente. Entonces este es un elenco explícito antes de que fuera un elenco implícito. Ahora, lo que pasa es que vamos aquí de un entero a un flotador. ¿ Qué pasa si hacemos los intereses reales en entero? En primer lugar, lo que va a pasar es que esto va a mostrar un error porque en cuanto tengamos un flotador en una, en una expresión matemática aquí, todo se va a convertir en flotador porque los flujos tienen más información, ¿verdad? Porque todo después del punto decimal es más información, por lo tanto, todo se convierte en una carga. Ahora, en realidad vamos a lanzar explícitamente esto a un entero. Ahora vamos a saber Mori, el fondo aquí siendo amarillo significa que esto es un, es básicamente una advertencia. No nos vamos a preocupar por esto porque en realidad quiero mostrarte básicamente cuál es la advertencia, advirtiéndonos porque de repente es un gordo 0 grande y vas a estar como, espera, ¿cómo se convirtieron en un 0? Bueno, cuando lanzamos un flotador a un entero, lo que va a pasar es que todo después del punto decimal se acaba de cortar. Entonces básicamente es así. Entonces, de repente, la tasa de interés va a ser 0 cuando lo echemos a un entero, que significa que solo vas a decir que los tiempos de préstamo 0 es por supuesto 0. Y se puede ver que esto también es lo que dice la advertencia aquí. Por eso queremos volver al flotador aquí mismo. Entonces van. Y entonces en lugar de hacer de esto un entero, sólo vamos a mantener esto a la tasa de interés y normal. Y eso va a estar bien sin embargo. Esta es una especie de idea cuando pasas de entero a flotador. Entonces de un, básicamente de menos información a más información, eso suele estar bien. Pasar de flujos a número entero. Entonces para más información a menos información, eso puede tener algunas consecuencias, digamos. Entonces eso es siempre lo que hay que tener en cuenta. Y esto también es una cosa. Entonces básicamente esta idea de escribir un tipo de datos diferente frente a una variable para convertirlo en un tipo de datos diferente es algo que vamos a ver un poco más adelante en una conferencia posterior también. Entonces eso es algo que básicamente también hay que tener en cuenta. Bueno, pero eso ya sería para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Y nos vemos en la próxima conferencia. Entonces, sí. 17. (Java) Operador tutor: Muy bien, bienvenido de nuevo a la introducción de Java aquí para el modelado de Minecraft. Y en esta conferencia vamos a estar mirando al operador ternario. Ahora el operador ternario a primera vista suena como algo completamente loco, realmente complicado, pero de hecho, en realidad no lo es. Entonces vamos a hacer dos enteros. Uno de ellos va a ser el examen. Este sólo va a ser el resultado del examen como ejemplo aquí. Y luego un entero llamado regalo. Pero esto es, digamos que nuestro Padre nos quiere dar un regalo de X cantidad. Vamos a precisar que cuando realmente aprobemos este examen, sin embargo, cómo podríamos hacer esto de la siguiente manera. Podemos decir si el examen es más grande o igual a 50. Entonces básicamente estamos aprobando el examen, entonces vamos a decir que el regalo es igual a 10 y entonces lo contrario el regalo es igual a 0. Ahora no necesariamente necesitaríamos esto más aquí, pero sólo voy a añadir esto justo ahí. Y entonces sólo vamos a sistema fuera de línea de impresión. Si es así, no se preocupe ahí. Todo esto debería tener sentido. Pero ahora lo que podemos hacer es realmente podemos escribir todo este año en una sola línea. Y lo que podemos hacer es decir que el regalo es igual a. Y entonces lo primero que tenemos que hacer es escribir una expresión booleana. Entonces, por ejemplo, el examen es más grande o igual 50. Entonces vamos a escribir un signo de interrogación. Y entonces lo que queremos devolver si la expresión booleana aquí es cierta. Entonces 10, luego un colon, y luego lo que quisiéramos devolver si la expresión booleana es falsa, entonces fue 0. Y este es el operador ternario, signo de interrogación colon. Y eso más o menos es exactamente lo mismo que esto. Entonces lo que podemos hacer es básicamente simplemente copiar esto de nuevo. Solo comentemos los dos para que independientemente de lo que pase aquí, esto no esté asignado. Vamos a tener primero una salida 0 y luego una 10. A ver. Ahí lo tienes. Entonces el 0 es por supuesto este 0 aquí mismo que hemos asignado aquí arriba. Y entonces el 10 aquí es el operador ternario. Entonces eso en realidad es bastante guay. Ahora por lo general se utiliza el operador ternario. No recomendaría usarlo demasiado básicamente, pero a veces con cosas como bastante simples como esta. También se podría pensar en tal vez tomar esta expresión booleana, hacer un booleano fuera de ella diciendo como examen pedido. Y entonces esto lee un poco más agradable justo pasado examen, son que es 10, de lo contrario es 0. Por lo que se puede pensar en esto también. Por lo que probablemente no lo mantendría así porque esto es algo así para no redoblar tasa. Hay demasiado poder cerebral que entra en mirar el examen igual, poco más grande equivale a 50. ¿ De acuerdo? Está bien. Oh, yo lo entendé. Si tienes algo como un is, sí pasa examen o algo así como un booleano que tiene sentido en este caso. Pero sea cual sea el caso, este es el operador ternario y básicamente lo mismo en las declaraciones if. Ahora, sólo porque todo esto esté en una sola línea no significa que necesariamente sea mejor también. El conteo de líneas no es ninguna indicación de código de calidad, ¿de acuerdo? Y quiero que lo hagas, quiero que esto sea muy, muy claro. No importa. Un gran programa puede ser de 1000 líneas. Si tiene que ser de 1000 pies de largo, tiene que ser de 1000 noches de largo. hecho de que puedas hacer que ese programa 800 líneas no significa necesariamente que sea mejor. Eso es muy importante. Porque lo más importante a la hora escribir código es que puedes leerlo y alguien más lo pueda leer, lo que te incluye dentro de seis meses. Porque estás en seis meses, va a ser una persona diferente porque habrás olvidado todo lo que escribiste en tu código. Por lo tanto, tienes que hacer que tu código legible u otras personas, esa es la parte más importante. Y si un operador ternario tiene sentido en ese caso, eso es genial. Yo nunca, definitivamente te aconsejaría que nunca pongas múltiples operadores de terminales en la misma línea. Porque por supuesto se podría poner en otro operador ternario en lo verdadero o falso aquí. Definitivamente no hagas eso porque entonces se pone muy, muy complicado, muy rápido. Apegarse a si las declaraciones. En ese caso, cualquiera que sea el caso, esto ya sería para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Y los veré en la próxima conferencia. Entonces, sí. 18. (Java) Arrays explicados: Muy bien, bienvenido de nuevo a la introducción de Java aquí para el modelado de microondas. Y en esta conferencia, vamos a estar buscando matrices. Las matrices son definitivamente el, digamos, el tema más complicado que vamos a estar mirando hasta este punto. No obstante, lo que primero quiero decirles es que si luchan con esto, no se preocupe en absoluto. Esto es totalmente normal. También luché con esto cuando aprendimos esto. Y al final de la conferencia, en realidad voy a contar un poquito de una historia sobre eso. Pero por el momento, Recordemos atrás teníamos las tres cuerdas, ¿verdad? Estamos en la pregunta 1, pregunta 2, pregunta 3, y respuesta uno, respuesta a respuesta tres. Ahora, concedido, la primera respuesta fue en realidad un entero, pero en este caso es una cadena. Eso está totalmente bien porque eso es para fines de demostración. Es un poco más fácil de mostrar. Y lo que teníamos aquí fue la idea de que, bueno, teníamos esas preguntas. Digamos, te digo, ya sabes qué, tu juego de trivia que estaba en la primera asignación, realidad deberías hacer que esto tenga unas 150 preguntas. Ahora vas a estar sentado ahí va a haber como, discúlpame. Sí. A 150 pregunta. Bueno, está bien. Después comienzas a duplicar esto y luego a cambiar cada uno de ellos. Ahora, entonces tal vez, ya sabes, yo, yo sé cosa que puedes mantener todo presionado y luego cambiar múltiples cosas al mismo tiempo, pero luego todas cambian al mismo número y es todo tipo de solo joderlo. No es muy bueno. Entonces eso no funciona del todo. Está bien. ¿ De qué otra manera podríamos ser capaces de hacer esto? Bueno, lo que podemos usar es una matriz. Ahora una matriz, se puede pensar en eso como una lista. No es una lista del 100 por ciento, ¿verdad? Es un poco diferente porque en realidad hay algo llamado lista en Java también. No obstante, lo vamos a pensar como una lista. Y tú ibas a hacer una cadena de preguntas y es área de anillo de respuestas. Y sólo vamos a echar un vistazo a lo que eso implica básicamente. Entonces, ¿cómo hacemos una matriz? Bueno, sólo escribimos el tipo que queremos. Entonces el tipo de datos que queremos, y luego estos corchetes aquí, y esto van a ser preguntas y es igual a nuevo. Por lo que tenemos que tomar la nueva palabra clave y se puede ver que esto ya se nos está sugiriendo. Voy a escribir esta cadena y luego una vez más, el ángulo de los corchetes aquí y luego terminando con punto y coma. Ahora esto no se hace todavía porque dentro de estos corchetes, en realidad tenemos que suministrar la longitud de esta matriz. Entonces, ¿cuántos elementos van a estar ahí dentro? Tres, en nuestro caso? Bueno, eso es más o menos. Entonces eso es bastante guay. Ahora. Eso es todo. Es como si, eso es más o menos. Y ahora por supuesto necesitamos asignar algo. Entonces lo que podemos decir son preguntas. Se puede ver que básicamente autocompleto eso con la tecla Tab, ¿verdad? De nuevo los corchetes y luego asignan, por ejemplo, uno es igual a dos. Y entonces tomemos esto aquí mismo, ¿verdad? Entonces algo como esto. Y entonces sólo puedo seguir con esto, ¿verdad? 23. Y entonces vamos sólo, bueno, ¿cómo puedo dar salida a este derecho? ¿ Cómo, cómo es esto posible? Bueno, el sistema de TI sale la línea de impresión, y luego solo podemos decir preguntas, sin preguntas, ahí tienes. Y entonces por ejemplo, tres años saber a mi medio es todo lo mismo, ¿verdad? Ahora, vamos a cambiar esto, en realidad copiar esto. Entonces selecciona este control C control V, como este Control C Control V. Y solo saquemos los tres aquí. Eso es sólo C y O ¿saben qué pasó aquí? Bueno, lo que pasó aquí es que tal vez nos olvidamos. Ahora no lo olvidé, en realidad quería mostrarles esto. Pero lo que pasó aquí es que tenemos que empezar a contar a 0. Entonces aquí es donde volvemos cuando vimos las cuerdas donde empezamos a contar a 0 año, contamos 0 también. Pero esto significa que cuando tenemos tres elementos en esta matriz de preguntas, el primer elemento es del índice 0, el segundo es del índice uno, y el tercero es del índice 2, lo que significa que tres no existe aquí, y entonces obtenemos una excepción. Vamos a ver esto al final de la conferencia otra vez, porque quiero que te guste ver la excepción y quiero entiendas lo que eso significa. Pero por el momento, así es como asignas diferentes cadenas, en este caso, diferentes valores a la matriz. Y también puedes leerlo más o menos así. Entonces eso es realmente lo que se necesita. Y también sólo copiemos esto por el bien de la discusión y llamemos a esto las respuestas, ¿verdad? Y luego vamos a copiar el oleaje. Entonces seleccionaré este RP aquí, aquí y aquí. Y entonces sólo vamos a cambiar esto por las respuestas aquí. Entonces esto va a ser 50. Esto, por supuesto, va a ser Londres. Y entonces el último va a ser F e. Muy interesante efectivamente. Y entonces lo que podemos hacer es, por ejemplo, podemos dar salida a la respuesta 0. Entonces solo vamos a ver respuestas una en las preguntas 1. Y entonces de repente dice algo así como, bueno, ¿cuál es la capital del Reino Unido? ¿ Londres? Muy fácil. Y en realidad cambiemos esto a, en realidad, no necesitamos cambiar esto a 0. Eso está totalmente bien. Todo lo que podemos hacer es ahora, bueno, bien, ¿ entonces podemos simplemente reasignar esto? Para que podamos tomar esto, sólo voy a tomar esto. En realidad, voy a escribirlo hacia afuera. Entonces preguntas, una vez más, corchete 0 es igual, por ejemplo, ¿qué edad tiene Ian? Mick Jagger, justo en 2021. Eso es solo, salgamos con nosotros mismos. ¿Por qué no? Eso está totalmente bien. Y luego acabamos de dar salida a esto otra vez. Ahora el 0, digamos, y el 0 aquí. El interrogante. Aquí hemos reasignado, y entonces la respuesta sigue siendo correcta. Por cierto, eso es algo que he comprobado. Por cierto, como sí quería que esto fuera correcto. Eso es bastante guay. Todas las cosas consideradas. Lo realmente genial es que aquí todo es una especie de tipo de dato, ¿verdad? Entonces preguntas ahora tiene todas las preguntas. En lugar de tener tres cadenas diferentes, realidad tenemos todo en esta matriz de cadenas de preguntas. Eso es bastante guay. También podemos obtener el tamaño de la longitud de esta matriz, de esta lista, por así decirlo, haciendo preguntas de esa longitud, como se puede ver aquí, sólo podemos echar un vistazo a esto. Esto es por supuesto 3 porque esto es lo que hemos suministrado aquí mismo, ¿verdad? Entonces en esto, tuvimos que abastecer la longitud. Por lo tanto, esto es más o menos así. Y podría haber visto también muchas sugerencias aquí. No nos vamos a preocupar por ninguno de esos en este momento porque todos esos son muy, muy complicados. Y entonces también tenemos es en realidad voy a copiar sobre sólo el pedacito más pequeñito aquí. Pero este es el índice de matriz fuera de límites excepción justo aquí. Es más o menos lo que ya hemos visto, pero voy a mostrar esto una vez más. Entonces si ponemos un número en el paréntesis, entonces en realidad no existe. Vamos a obtener un índice de matriz fuera de límites excepción. Para que se lo piense así. Bueno, esto es una matriz y tiene un cierto encuadernado, bien, bastante justo. Al igual que un índice. Entonces el índice que estamos pasando, esta es la tasa de índice tres. Yo quiero la pregunta con índice tres, está bien, bastante justa. Pero eso está fuera de límites porque esto sólo tiene tres elementos y empezamos a contar a 0. Por lo tanto, no existe el índice o el elemento con índice tres. Y una vez más, obtienes el rastro realmente bonito de pila aquí para que puedas obtener la ubicación exacta donde se ha producido el problema. Entonces eso también es algo que quería mencionar aquí. De lo contrario, eso sería más o menos la clave general de las matrices. Y ahora por supuesto, el tipo de cosas que te dije al principio. Entonces cuando aprendí áreas en la universidad, lo interesante fue que no las entendía completamente. Entonces dije, Sabes qué, no necesito áreas. Nunca voy a usar áreas, nunca. No importa. Yo sólo me voy a quedar con esto. Voy a hacer variables individuales. Pero claro, te vas a tropezar con temas muy duros en cuanto alguien diga, bueno, entonces haz como 20 diferentes y luego como si yo los saco, los pongo en orden aleatorio, no va a funcionar porque definitivamente hay que aprender estas cosas. Este tampoco es el enfoque correcto general. Oh, no lo entiendo. Por lo tanto, no tengo que aprenderlo. Por lo tanto, no es importante, ninguno. Y por supuesto, si existe, le tiene algún mérito en ese sentido en la programación aquí. Por lo que definitivamente recomiendo echar otro vistazo a esto. Simplemente mantenerme tranquilo, intentando algunas cosas para entender esto. Y también una vez más, si recibes algún error, no te preocupes en absoluto. Los errores son totalmente normales de obtener cuando se programan. hay nada como que no haya vergüenza, no le gusta que sea totalmente normal, genuinamente todo programador, se pone múltiples flechas todos los días cuando programan. Incluso los programadores veteranos aún reciben flechas todos los días sin embargo. Nunca te sientas mal por eso en absoluto. Y sí, así que esa es una especie de la idea general de las matrices aquí. Espero haber sido capaz de una especie de sacar la idea que esto es realmente muy parecido a una lista, ¿verdad? No es una elipse del 100 por ciento, pero se puede pensar en ella como una lista. Pones diferentes elementos en, básicamente con diferentes índices o índices, algo así, ¿verdad? Pero de lo contrario, esto sería todo para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo y te veré en la próxima conferencia. Entonces, sí. 19. (Java) para y bucles: Muy bien, bienvenido de nuevo a la introducción de Java aquí para el modelado de microondas. Y en esta conferencia vamos a estar hablando de bucles. Lo que vamos a necesitar para esta conferencia son ambas de las matrices de cadenas que hemos hecho previamente para las preguntas y las respuestas. Pero antes de que hagamos algo con las áreas, primer lugar, quiero que hagan lo siguiente. Salida. Cada número del 0 al 99, ¿verdad? Vas a ser como, Vale, sistema fuera, imprimir línea 0, entonces podrías ser como duplicar uno, duplicar dos. Ahora vas a estar sentado ahí todo el tiempo así. Seamos honestos, eso va a llevar mucho tiempo. Bueno, y luego vienen bucles. Los bucles son algo donde se puede ejecutar una pieza de código varias veces. Y el primer tipo de bucle que vamos a estar viendo es el for loop. Para eso vamos a escribir cuatro y luego paréntesis. Una vez más, los paréntesis de cierre deben generar automáticamente. Y luego vamos a escribir en int I igual 0 punto y coma I es más pequeño que un 100 punto y coma I plus, más paréntesis de cierre y luego un corchete rizado abierto. Entonces el corchete rizado de cierre debería generar una vez que pulses Enter, cuando sacas el sistema la línea de impresión y lo pones dentro de los corchetes rizados aquí. Y voy a cambiar el 0 a un ojo y ahora ver las maravillas de la programación. Como puedes ver claramente, todo es de salida desde 0 hasta 99. Entonces, ¿qué está pasando aquí? Bueno, en un for-loop, la idea es que lo que estamos haciendo es que estamos definiendo, como se puede ver, estamos inicializando un, un entero i e al 0. Y entonces estamos diciendo que estamos teniendo alguna clase de expresión booleana aquí y luego un incremento. Lo que pasa es que estoy establecido en 0, mientras que estar comprobado es si soy o no menor que un 100. Si esto es cierto, continuamos con este bucle. Entonces si esto es cierto, todo lo que dentro de ustedes pasa, entonces vamos a aumentar yo y luego esto se vuelve a revisar. Y entonces estamos haciendo esto otra vez, incrementando yo, chequeando aumentando i y así sucesivamente y así sucesivamente. Por lo que esto básicamente se hace para siempre hasta este año. Esta expresión booleana es falsa. Y una vez que es falso, lo que significa que ya no es más pequeño que un 100, que pasa una vez yo es un 100, entonces esto ya no se ejecuta y todo después, después del corchete rizado aquí empieza a suceder. Es por eso que se detiene en 99 y no en 100, porque cuando tengo 99, esto sigue siendo cierto. 99 es menor que un 100. Todo el mundo está de acuerdo, sí. Pero tan pronto como es un 100100 no es menor que un 100. En realidad es de hecho igual a un 100. Por lo tanto, esto ya no es verdad básicamente. Por lo tanto, esto ya no se ejecuta para blindados. Esa es una especie de idea y eso es realmente genial, ¿no? Al igual que podemos hacer esto muy fácilmente? Y ahora te voy a volar la cabeza absolutamente. Entonces ahora te voy a decir, bueno, salida todas las preguntas y respuestas y solo vas a ocupar sistema fuera. Imprimir línea pregunta 0, respuesta 0, igual que teníamos antes. Bueno, esto va a ser más fácil para int I igual a 0. Yo es más pequeño que las preguntas longitud de punto I plus, plus. Y entonces lo que voy a hacer es que en realidad voy a copiar este dos veces. Y entonces en lugar de esto, voy a llamar preguntas yo oh, eso es interesante, ¿no? Y contesta I. Ahora esto, eso es bastante guay. Por lo que básicamente puedes pasar el entero aquí entre corchetes y acceder a cualquier índice que quieras y al índice que este entero tome. Otra cosa realmente loca es porque en realidad estamos mirando la longitud aquí, ¿verdad? Porque tenemos la longitud, esto inmediatamente nos salva de cualquier error. Ahora el único error que podría ocurrir es si de repente hacemos estos cuatro aquí, ¿verdad? Porque estamos tomando la longitud de las preguntas mientras que las respuestas no son las mismas. Entonces podríamos encontrarnos con un error. Una vez más, el área fuera de límites excepción o el índice de matriz fuera de límites excepción. Pero por el momento, cuando utilicemos el más largo, eso va a estar totalmente bien. Y si solo ejecuto esto, puedes ver que imprime todo. Harmony se sienta en la capital estadounidense AIR 50 de Reino Unido, Londres. Y entonces símbolo químico para el hierro es phi. Para que todo funcione. Entonces eso es bonito, eso es bastante loco, ¿verdad? Eso es bastante guay. O bucles increíblemente valiosos y se pueden utilizar para todo tipo de cosas. Hay otro tipo de bucle que es muy similar al for-loop, que es el para cada bucle. Ahora ya puedes ver si realmente puedo escribir eso y podría presionar la tecla Tab para autocompletar esto. No obstante, no lo haré, porque el formateo es un poco raro para mí. No lo sé, sé muy bien cuál es ese el caso. Sólo vamos a escribir para eso. Puedo decir cuerdas Western, preguntas de antaño. Y la forma de leer esto es, o cada pregunta de cuerda en preguntas, así es como lo leerías. Y entonces solo puedes hacer un sistema fuera, imprimir línea, pregunta. Y sólo puedo imprimir aquí cada pregunta individual. Una vez más, eso sólo va a funcionar. Entonces como pueden ver, ahí van, uh, básicamente ahora tienen acceso a lo que los elementos individuales dentro de esa lista o matriz en este caso, y no tengo que especificarlo a través del índice aquí. De hecho los estoy consiguiendo a todos bien individualmente. Entonces este es el para cada bucle y esto para cada uno que vayas, Ese es otro tipo de bucle que es interesante. Y entonces el último tipo de bucle que quiero mostrarte es el bucle while. Ahora tengo una preferencia personal a muy raramente utilizado el bucle while simplemente por el hecho de que puede ser, bueno, puede meterte en problemas. Entonces podemos decir algo así como mientras que cierto y luego corchetes rizados. Entonces lo que pasa es que todo dentro de aquí va a suceder mientras esto es cierto. Ahora obviamente, cuando piensas en esto por un segundo, espera un segundo. Si pongo en verdad, entonces esto siempre va a ser verdad exactamente. Esto ahora es un loop while y un while loop e interminable, ¿verdad? Entonces este es un bucle interminable y este es el peligro con el que podrías tropezar con un bucle while. Podrías encontrarte con el tema con para bucles también en teoría, pero es muy raro que en realidad son sucede. Pero en while loops, es muy a menudo el caso o puede ser el caso que tengas un bucle interminable. Ahora todo el mundo tiene que pasar por eso en algún momento. Solo digo que mi sesgo es que realmente no me gusta mientras bucles. Pero lo que podemos hacer es, bueno, hagamos lo siguiente. De hecho, agreguemos una entrada para la persona. Por lo que Escáner aquí, escáner equivale a nuevo sistema de escáneros.in y luego hecho. Y lo que vamos a hacer es que sólo vamos a decir algo como el siguiente sistema fuera de línea de impresión. ¿ Quieres continuar? Entonces sólo vamos a decir, Hey, ¿la persona quiere seguir usando? Vamos a continuar y luego sólo vamos a decir, oye, si el escáner punto siguiente, ¿verdad? Si eso es igual a sí. Entonces lo que vamos a hacer es que sólo vamos a continuar, ¿verdad? Entonces continúa el, la palabra clave real más que vamos a romper. Este es un ejemplo aquí de la palabra clave Continue and the break, la palabra clave continue que básicamente ignora todo lo que viene después dentro del bucle y salta de nuevo a la cima de el bucle mientras la palabra clave break se rompe del bucle. Entonces básicamente va a fin de año y todo después se ejecuta de nuevo después. Esto sería lo mismo si todo de repente se vuelve falso. En este caso es por supuesto, un bucle sin fin, ¿verdad? Entonces, para que mientras escriba, sí, esto va a continuar. En cuanto escriba algo más, se va a salir de ella. Entonces esa es una especie de la idea de este while loop aquí. Solo echemos un vistazo a esto para que pueda teclear. Sí. Y puedo teclear, sí. Y puedo teclear. Sí. Y entonces voy a cometer un error aquí y un OH no, De repente llamó a esto para. Esa es una especie de idea. Por lo que esto podría ser un bucle sin fin con una especie de sistema de frenado. Ahora lo que es muy importante es que la palabra clave continue y the break probablemente solo se deba usar con moderación porque hay muchos desarrolladores a los que no les gusta esto. Porque si tienes como, digamos un bucle FOR más largo o más largo o while. Y tienes un montón de Continuar y descansos ahí dentro. A veces puede ser un poco confuso. Me gusta leerlo, ¿verdad? Porque vas a tener más sucursales por así decirlo. Entonces puedes pensar, si puedes pensar en forma de hacerlo de una manera un poco diferente que suele ser mejor. Cualquiera que sea el caso. Esos son los bucles que quería mostrarles. realmente bastante cool. Y realmente estamos empezando a conseguir algunas herramientas muy, muy geniales en nuestra caja de herramientas para trabajar realmente con código y solo programar algo que es realmente genial. Entonces, pero por el momento, esto es todo para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo si lo hicieras, te agradecería mucho una opinión tuya. De lo contrario, los veré en la próxima conferencia. Entonces, sí. 20. (Java) Médicos Java: Bienvenido de nuevo a la introducción de Java para el modelado de Minecraft. Y en esta conferencia, vamos a estar echando un vistazo a unos métodos. Entonces, en primer lugar, una vez más requerimos las áreas de cuerdas aquí. No necesariamente los requerimos, sin embargo, los vamos a utilizar en esta conferencia. Y bueno, métodos. ¿ Cuáles son los métodos? Bueno, hemos visto esta palabra lanzada unas cuantas veces antes con los métodos de cadena. Y también algo así como sistema fuera línea de impresión también es un método. Y podría haber dicho una o dos veces antes del método principal. Entonces hay algo a esto. También hemos visto los métodos matemáticos, así que definitivamente hemos escuchado esa palabra antes. ¿ Qué es realmente? Bueno, en teoría, un método, se puede pensar en él como unas pocas líneas de código, una línea de código o unas 100 líneas de código en teoría, que se ejecutan cuando se llama a ese método. Entonces llamas a un método como por ejemplo, cuando escribimos en un sistema, sistema fuera de línea de impresión, ¿verdad? Y digo Hola, lee esto. Es algo de fondo, pasa, ¿verdad? Entonces esta línea de impresión, cuando llamamos a esto, este método aquí, algo en segundo plano sucede. Ahora no lo sabemos, en este caso necesariamente sabemos qué sucede exactamente. Pero algo le pasa a eso este hola, ¿no? Una vez que ejecuto esto, para que cuando esto suceda, algo suceda en segundo plano que este hola ahora se está mostrando en esta ventana Ejecutar. Entonces realmente no sabemos qué, pero algo en segundo plano sucede, por lo que se ejecuta algún código. Entonces si tenemos un trozo de código que podríamos querer reutilizar, digamos un 100 veces en nuestro código. Entonces se podría decir, bueno, sólo podemos hacer un for-loop, ya sabes, un 100 veces. Bueno, pero y si quiero hacer esto en diferentes ubicaciones en mi código, ¿verdad? Entonces tal vez quiero hacer una pregunta en este caso, ¿no? Y una salida y respuesta para luego comprobar la respuesta. Entonces quiero volver a hacer preguntas. Es como, bueno, quiero decir, podrías hacer un bucle for, pero bueno, tal vez queremos hacer algunas declaraciones si ahí dentro. Se va a complicar un poco. Entonces esto no siempre funciona. Entonces digamos, por ejemplo, lo que quiero hacer es solo quiero, no sería sólo algo que pueda escribir en que pueda dar, digamos un, un array aquí, rojo. Entonces el array string de preguntas, un área de cadena de respuestas, y que solo salidas cumplen con todas las respuestas y todas las preguntas. Entonces todas las preguntas, respuestas justo en inscribir. Entonces podría por supuesto escribir algo como esto. Ojo derecho para bucle int I es igual a 0. Yo es más pequeño que las preguntas que enlaza, Digamos que yo plus, plus. Y entonces podría simplemente decir sistema fuera, imprimir preguntas de línea. Escribo algo como esto y luego duplico esto y luego digo respuestas. Yo podría hacer eso. Bueno, digamos una vez más, quiero que esto se haga un 100 veces a lo largo de nuestro código. Ahora el observador de ustedes podría decir, bueno, ¿por qué no simplemente ponemos este for-loop en otro bucle for. Y tú estarías absolutamente en lo correcto. Podrías hacer eso también. No obstante, no nos pongamos demasiado ingeniosos. Pensemos en esto y hagamos de esto un método. Ahora, lo que vamos a hacer es que antes les dije que sólo estamos operando entre estos dos corchetes rizados. Estamos, estamos expandiendo nuestro mundo ahora y moviéndonos fuera de estos corchetes rizados. Porque ahora nuestros nuevos corchetes rizados son esos dos básicamente. Entonces ahora este es nuestro nuevo hogar. Y esto, podría haber pensado algo en esto. Bueno, este es el método principal que básicamente se está ejecutando cuando presionamos el botón Run, entonces se ejecuta el método principal. Ahora vamos a añadir un nuevo método. Y antes que nada, va a escribir esto. Y luego voy a explicar qué pasa aquí. Entonces vamos a escribir estática pública, vacío. Y voy a llamar a esta salida preguntas y respuestas. Entonces voy a escribir entre paréntesis, los paréntesis de cierre deben generar automáticamente. Y luego voy a hacer una matriz de cuerdas aquí. Entonces estas van a ser las preguntas y luego una, otra matriz de cadenas responde, ¿verdad? Y luego voy a hacer un corchete rizado. Y ves que el segundo corchete rizado ya ha generado. Simplemente puedo presionar la tecla Enter y luego el formateo también debe estar completo. Y con esto, se ha creado un método más nuevo. Entonces por el momento, vamos a ignorar es este público y estático. Todavía no sabemos muy bien qué es eso, pero estamos muy cerca de resolverlo con esto en una futura conferencia. En realidad vamos a averiguar qué significa eso por el momento. Simplemente sabemos que se trata de un modificador de acceso. Todavía no sabemos qué hace. Simplemente sabemos que necesitamos tener estática pública escrita aquí y entonces todo va a estar bien. Hay vacío aquí es en realidad el tipo de retorno de este método. Por lo que algunos métodos devuelven algo y lo veremos en tan solo un momento. Entonces después de que hayamos hecho este método, vamos a hacer otro que realmente devolverá un entero. Entonces vamos a tener el nombre del método. Ahora esto es algo que puedes decidir tú mismo. Por lo general, las variables de nomenclatura y los métodos de nomenclatura deben ser muy expresivos. Entonces, a pesar de que esto podría muy largo para ti no te alejes de los nombres largos de métodos o de los nombres de variables largos. Si describen exactamente lo que están haciendo, eso va a ser lo mejor. Entonces después del nombre, ven, aquí los paréntesis. Y dentro de los paréntesis, básicamente también definimos un tipo variable de hablar. Y esos se llaman parámetros. Entonces tenemos dos parámetros aquí, y ambos son de tipo string array. Y en general, todo esto aquí. Entonces todo esto, derecho, los modificadores de acceso, el tipo de retorno, el nombre del método, y los parámetros es lo que se llama la firma del método. Entonces porque necesitamos saber esto, las firmas de métodos tienen que serlo. Significado único no puedo tener lo mismo. Entonces voy a seleccionar todo esto. Y luego voy a decir Control C y luego Control V. Y se puede ver que si me cierro sobre esto ahora vamos a decir ya está definido aquí mismo. Entonces esto es exactamente lo mismo y ya está definido. Eso no funciona, ¿verdad? Entonces eso es muy importante. No obstante, si cambio la firma del método, es decir, hago uno menos, pongo aquí un parámetro menos que funciona. Tendrás, tienen el mismo nombre, tienen una firma diferente. Por lo que esto, en este caso, ahora se llamaría sobrecarga de método porque tenemos el mismo nombre, esto con una firma diferente off. Entonces, por ejemplo, diferente número de parámetros, diferentes tipos de parámetros, diferente tipo de retorno. Esa es una especie de las formas en que puedes alternar año por tener métodos del mismo nombre. Esto se va a poner interesante, tal vez más tarde por el momento, vamos a eliminar este y sólo vamos a mantener el método uno justo aquí. Y lo que vamos a hacer es que en realidad sólo vamos a tomar este Control X para cortarlo, Control V para pegarlo. Y de repente se puede ver todo está funcionando totalmente bien porque por supuesto, estamos teniendo los parámetros aquí, Westerns y respuestas. Y la idea es que vamos a pasar esos. Entonces porque ahora mismo por supuesto estas preguntas, esto contesta, esas no son las mismas que estas dos. Yo puedo llamar a esto, digamos Q0, Q, Q u, e, sólo por el bien de la discusión. Y voy a llamar a esto E&S sólo para que no haya malentendido. Este año no es lo mismo porque podría llamar a esto con, por supuesto, un array de cadena diferente de preguntas en un área de respuestas de cadena diferente. Entonces esto va a ser muy general. Esto sólo va a hacer esto por cualquier área que voy a poner. Entonces eso es lo realmente genial. Entonces lo que puedo hacer es que puedo llamar a esto, puedo decir salida. Y se podía ver en cuanto escribo fuera, el método real está siendo reconocido por el programa. En realidad sugirió aquí. Por lo que sólo puedo poner en la tecla de tabulación. Puedo presionar la tecla tabulación y automáticamente genera tu y solo puedo decir Q0 y ANS. Así que ahora he pasado en la matriz de cadenas de preguntas como el perímetro de la pregunta y la matriz de cadenas de respuesta como el parámetro de respuesta. Podría, lo que también pudo haber visto es que el método pasó de gris a amarillo. Esto simplemente significa que este método se está utilizando en realidad, así que se está llamando. Y eso también es una, una idea importante. Y si ahora ejecuto esto, verán que realmente funciona . Se puede ver cuántos conjuntos. EU, tienen 50 capitales, Reino Unido, Londres, y símbolo químico para el hierro es F, e. Así que sale esto y simplemente llama básicamente a todo el código de esto dentro de aquí. Y ahora, por supuesto, los métodos pueden llamar a los métodos, y los métodos pueden llamar a otros métodos. Entonces esto, por supuesto, sí se complica bastante en algún momento. No obstante, por el momento, esto es realmente genial. Ahora, también vamos a hacer un método que es, podría ser muy complicado. Entonces lo que vamos a tener como uno va a público static int. Entonces ahora vamos a estar devolviendo un entero y vamos a sumar dos números juntos. Entonces para eso, ¿qué necesitamos? Bueno, por supuesto un entero x y un entero y Ahora, una vez más, los nombres de los parámetros, por cierto, también pueden ser lo que elijas. Por lo general quieres que también sean muy expresivos en general. Ahora tenemos este método de suma aquí mismo. Y lo que vamos a hacer es que vamos a escribir en la palabra clave de retorno x plus y. ahí tienes. Entonces sólo vamos a devolver x plus y porque esa es por supuesto la suma de estos dos enteros en ese caso, nada demasiado espectacular. No obstante, lo que sí quería mostrarte es básicamente la palabra clave return y que también puedes devolver diferentes tipos. Entonces el método SAM en este caso, sólo podemos echar un vistazo a esto, ¿verdad? Entonces sistema fuera de línea de impresión, y luego vamos a decir unas diez y digamos 12. Y luego si corro esto y debería decir 22, ahí tienes. Entonces no se preocupe en absoluto, que todo funcione. Y esa clase de la idea general aquí que tienes con métodos. Por lo que puede o devolver algo o puede nab devolver algo, entonces hay que escribir en un vacío. Pero esa es una especie de mirada tentativa a los métodos. Por supuesto, una vez más, realmente hay que aplicar también esto un poco para realmente conseguir aquí el entendimiento. No obstante, ese es un gran segue a la asignación que va a estar arriba a continuación. Recomiendo encarecidamente hacer como hacer la siguiente asignación porque eso va a ser básicamente métodos. Y aunque no consigas a Sue básicamente hará todo ahí dentro, al menos mirando la pregunta y luego la solución a la misma esperemos que ilumine también la forma en que puedes usa métodos en tu propio código. Pero por el momento , esto va a ser todo para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo y te veré en la próxima conferencia. Entonces, sí. 21. ASSIGNMENT 2: juego de Trivia con métodos: Muy bien, Bienvenido a la segunda asignación de la introducción de Java aquí. Y en este breve video, básicamente quiero explicar la asignación. Entonces en general, la asignación no es en realidad tan complicada sobre todavía quiero básicamente guiarte a través de esto. Entonces la idea es que deberías recrear el juego de trivia desde la primera asignación. Entonces básicamente más o menos lo mismo. Pero esta vez deberías tener cinco preguntas y cinco respuestas. Y la forma en que debes salvarlos es en dos áreas. Uno para las preguntas y las respuestas. Y lo que también debes hacer es al menos crear dos métodos para que el código sea más legible y más fácil de seguir. Y básicamente como una pista, lo vas a pensar así. Cuando tengas algún código duplicado, probablemente deberías convertirlo en un método. Pensaremos en eso. Piensa en dónde podrías estar llamando a algo dos veces y luego básicamente puedes hacer un método con eso. Y lo que también debes hacer es hacer un bucle interminable y luego algunas declaraciones if ahí en alguna capacidad. Entonces alguna lógica, que hacen que el usuario pida al usuario que siga jugando o no si ya no quieren. Te recomiendo encarecidamente volver a echar un vistazo a la conferencia de bucles porque en realidad están teniendo volver a echar un vistazo a la conferencia de bucles porque en realidad están un caso de uso muy similar que están conscientes tuvimos un bucle while interminable que puedes parar con ellos Declaraciones IF y el break y las palabras clave continue. Por lo que esos podrían venir muy bien aquí. De lo contrario, en general, esto debería ser bastante sencillo. El juego en sí mismo debería jugar de manera muy similar en realidad que el primero. Simplemente debería verse un poco diferente. Entonces en general, esa sería toda la idea. Por supuesto, no olvides cosas como los puntos también. También el, ya sabes, sumar esos también. De lo contrario, esto es casi todo lo que realmente necesitas hacer. Te sugiero rondar alrededor una hora más o menos para esta asignación, dependiendo por supuesto de tu nivel, también podrías hacerlo en como 30 minutos, 45 minutos, ¿quién sabe? Pero no te estreses. Tómate algo de tiempo para cavar realmente en esto. Ver un par de conferencias otra vez, la conferencia de bucle, recomiendo encarecidamente métodos conferencia fue áreas muy agradables si no entiendes del todo esas, recomiendo encarecidamente esto. Y de lo contrario, por supuesto, la solución estará disponible para usted también. Entonces no se preocupe ahí. De lo contrario, le deseo la mejor de las suertes para esta asignación, sin embargo. Sí. 22. Solución 2: juego de Trivia con métodos: O doy la bienvenida de nuevo a la segunda asignación y la solución a la asignación real aquí. Por lo que una vez más, el código está por supuesto disponible para ti. Y como, bueno, básicamente descargo de responsabilidad aquí, si tu código no coincide un 100 por ciento con el código que tengo, eso está por supuesto totalmente bien. No hay vergüenza en eso porque siempre hay múltiples soluciones a esto. Y sí creo que mi solución puede ser usa algunos, demasiados métodos. En realidad, curiosamente, pero por el momento, sólo vamos a atravesarlo. Entonces, por supuesto, las matrices de cadenas, preguntas y respuestas deberían ser bastante autoexplicativas aquí. Lo mismo con el escáner una vez más para leer cosas en, y luego un total de puntos aquí, sólo puntos centrales. Entonces eso es bastante sencillo. Tenemos un bucle while que siempre es cierto. Por lo que puedes ver esto es básicamente todo el bucle while aquí. Y antes que nada echemos un vistazo al mismo fondo aquí. Entonces este print play otra vez, método imprime, Hey, ¿ quieres jugar de nuevo? Si pones una y aquí, entonces básicamente restablece los puntos y luego continúa con este while loop nuevamente. De lo contrario, simplemente se rompe del bucle while. Y entonces príncipe de adiós aquí. Esa es una especie de idea. De lo contrario puedes muy fácilmente en realidad seguir esto. ¿ Los nombres de los métodos describen casi en su totalidad lo que están haciendo y luego ver Imprimir título, Suficiente justo. Y luego vamos a pasar por cada una de las preguntas aquí para este for-loop, muy, bastante sencillo también. Y tenemos la pregunta de impresión aquí para la pregunta que actualmente básicamente se está haciendo POR entonces leer en la respuesta del usuario. Y entonces tenemos una declaración if que llama a otro método aquí. Entonces es la respuesta correcta de esta respuesta del usuario. Y básicamente compara esto con la respuesta que es correcta para esta pregunta. Si este es el caso, entonces si este método devuelve verdadero, entonces estamos imprimiendo, tenías una respuesta correcta donde entonces cada vez más puntos totales y escribiendo eso nuevo en la variable de puntos. Y entonces aquí también estamos imprimiendo el total de puntos actuales básicamente. Y si esta no fue la respuesta correcta, entonces estamos imprimiendo que tenías una respuesta incorrecta y también estamos imprimiendo la respuesta correcta real. Eso más o menos es todo lo que realmente necesitamos aquí. Y se puede ver entonces al final aquí sólo estamos imprimiendo el total de puntos y luego pidiendo al jugador que básicamente si quieren o no jugar de nuevo. Entonces esa es toda la lógica aquí. Y luego si bajamos, podemos ver que aquí hay muchos métodos. Y todos ellos son muy, muy simples, ¿verdad? Casi todos ellos solo una luz, básicamente todos ellos solo una línea. Ahora, puedes hacer un muy buen caso que, eso podría ser un poco demasiado de algo bueno, también puede ser algo malo en este caso, ¿verdad? O demasiados métodos podrían ser demasiado. No obstante, esto definitivamente es muy fácil de seguir aquí. También hay puntos en decir, bueno tal vez podríamos simplemente tomar toda esta declaración IF y hacer un método. ¿ Son eso también, podríamos tal vez tomar todo el bucle for, hacer un método completo de eso. Podemos tomar esta parte y hacer un método otro. Por lo que hay múltiples ideas que puedes seguir y aún podrías, por supuesto hacer más métodos con esto o menos. Eso está totalmente bien y eso está totalmente bien. Mientras funcione, tienes algunos métodos que hiciste, entonces va a estar absolutamente bien. Entonces, una vez más, si esta no es exactamente tu solución, no te preocupes por eso en lo más mínimo. Una vez más, lo hermoso de la programación es que siempre hay, quiero decir, hay un millón maneras diferentes en las que se puede hacer esto. Por supuesto, algunos de ellos van a estar más optimizados que otros. Pero al final del día, cuando realmente lo pensamos, esto va a estar totalmente bien por lo general. Entonces si esto no es un 100 por ciento correcto como lo tienes, está bien. Si funciona, ya estoy muy contento con eso. De lo contrario, esta más o menos es mi solución. Este código está por supuesto, también disponible para ti. De lo contrario, espero que esta asignación te haya sido útil para profundizar un poco más en la idea de los métodos y cómo utilizarlos. Siempre puedo, por supuesto, también solo sugerir jugar con él en tu propio tiempo, solo probar un montón de cosas. En este punto tienes muchas herramientas diferentes. Tienes sentencias if, tienes bucles, tienes métodos, matrices. Entonces hay un montón de cosas con las que puedes jugar. Se pueden leer cosas en del usuario. Puedes escribir cosas a la consola, que en este punto en realidad solo te abre todo un montón de cosas. Entonces si quieres hacer algo así como un elige tu propia aventura, sólo una cosita pequeña, ¿verdad? Adelante, bien, sólo prueba un montón de cosas. Recomiendo encarecidamente solo ser experimental con ello. Tú, no puedes romper nada aquí, ¿verdad? Mientras escribas tu código aquí es solo para ti, todo va a estar bien. Como ya dije en la conferencia sobre los errores. Si te dan algunos errores, no hay necesidad de preocuparte, este no es el fin del mundo y todo el mundo recibe flechas, ¿verdad? Tengo flechas en cualquier momento, como cuando programa, claro, va a haber flechas y eso está totalmente bien. Mientras trabajes a través de ellos, tratas de entender ¿por qué obtuve este error? ¿Cómo sucedió eso? Y algo así. Pero esto sería todo para la solución aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo y te veré en la próxima conferencia. Entonces, sí. 23. (Java) Colecciones de Java: Muy bien, bienvenido de nuevo a la introducción de Java aquí para el modelado de Minecraft. Y en esta conferencia, vamos a estar echando un vistazo a las colecciones. Esto incluirá unos mapas y sets realistas. Aunque especialmente sets es algo que se usa bastante extensamente en el modelado de Minecraft en general, pero en la base de código de Minecraft. Entonces los sets son cosas muy interesantes, pero vamos a empezar primero con un ArrayList. Aunque. Pensaremos de nuevo en la matriz de cadenas, que pudimos definir así, ¿verdad? Entonces preguntas por ejemplo, aquí, con una nueva matriz de cadenas, digamos del tamaño dos. Y luego pudimos asignar esas preguntas como esta. ¿ Cómo cualquier estado, ningún Estado? Hace. El medio de Estados Unidos va algo así. Y podríamos duplicar esa línea. El otro también. Por ejemplo, hacer de este capital un poco más corto de Reino Unido. Entonces eso funciona totalmente bien. No hay temas en absoluto tasa. No obstante, una de las cosas que podrías hacerte es acertada, pero ¿y si quiero cambiar el número de preguntas dentro de esta área? Bueno, hay que cambiar este número aquí mismo. Y eso puede ser un poco molesto, ¿verdad? Porque entonces hay que entrar aquí, tener que cambiar esto, asegurarse de que si entonces tienes un área que tenga respuestas, también hay que cambiar el tamaño de eso, y así sucesivamente y así sucesivamente. Entonces tipo de no lo mejor. Y para eso vamos a echar un vistazo a una lista ahora. Entonces vamos a escribir en lst, así lista. Y se puede ver que ya básicamente nos sugiere en este. Y sólo vamos a presionar la tecla Tab, que ahora va a importar algo en la parte superior aquí. Si eso no sucede, te voy a mostrar en tan solo un momento cómo podrías arreglarlo. Y luego vas a poner el soporte angular aquí mismo. Por lo que el soporte de ángulo y el otro deben generar automáticamente también. Y luego vamos a poner una cuerda aquí mismo. Y después vamos a llamar a esto la lista de preguntas. Y esto es igual a un nuevo ArrayList. Se puede ver que esto ya se nos está sugiriendo básicamente. Una vez más, voy a presionar la tecla Tab para generar automáticamente. Y vamos a terminar esto con un punto y coma. Y lo primero que van a ver es que nosotros, no hemos definido ninguna longitud para esta lista. Y esto es exactamente correcto porque no hay necesidad de definir una longitud para una lista, porque una lista es una especie de dinámicamente mientras Lengthen solar hablan. Entonces básicamente podemos simplemente agregarle cosas, agregarle elementos y la lista simplemente expandiremos dinámicamente. Entonces eso es realmente genial. Esa es la primera cosa muy guay. Entonces podemos decir lista de preguntas, punto, agregar, y luego poner una cadena. Entonces, por ejemplo, ¿qué idioma se habla en Alemania? A modo de pregunta aquí. Y entonces sólo puedo duplicar esto. Y por ejemplo, digamos, ¿cuál es la capital de Canadá? Y luego al final aquí tal vez algo como, ya sabes, digamos sólo en qué hemisferio? Hemisferio es Brasil. Pero sólo por el bien de la discusión. Entonces esos ejemplos de tres preguntas, solo agréguelo a la lista, y este ahora será el elemento con índice 0. Este será el elemento con índice uno, y éste será el elemento con índice dos. Entonces eso es realmente genial. Y lo primero que podemos decir básicamente es que listas, ¿no? Básicamente son agregar entradas o elementos dinámicamente. Entonces eso es realmente genial, ¿verdad? Entonces podemos sumar y bien, incluso quitar cosas. ¿ Cómo quitarías cosas? Bueno, en realidad eso también es bastante fácil. Podemos simplemente decir lista de preguntas dot remove, y luego o bien puedo poner en el índice que quiero eliminar o puedo poner en el objeto real que quiero eliminar. Por lo que también podría pasar la cuerda real aquí, o simplemente podría decir una. Y luego se va a quitar la pregunta, ¿cuál es la capital de Canadá? Eso es bastante guay. Ahora, la siguiente pregunta que podría tener es, bueno, ¿cómo podemos básicamente obtener la longitud de esto? Bueno, podemos decir lista de preguntas punto. En primer lugar, vas a conseguir un montón de cosas sugeridas aquí como puedes ver claramente. Muchas cosas la mayoría de las cuales no nos interesan por el momento. En realidad tenemos que usar el método de tamaño justo aquí. Tan tamaño con los paréntesis, lo que significa por supuesto que esta es una llamada de método. Y esto regresa como la longitud o el tamaño de esta lista. ¿ Y cómo puedo sacar un, un elemento de esta lista? Bueno, solo podemos teclear sistema fuera, imprimir línea para imprimir esto. Y entonces podemos decir lista de preguntas que GET. Y entonces aquí tenemos que pasar en el índice. Entonces en este caso 0 por ejemplo. Y si solo ejecuto esto, verás que vamos a conseguir dos por el tamaño porque por supuesto hemos quitado la primera pregunta o la cadena con índice uno. Y entonces el elemento con índice 0 todavía va a ser qué idioma se habla en Alemania. Entonces eso es bastante guay. Todas las cosas consideradas. Ahora, echemos un vistazo a otra cosa. Y eso va a ser una lista de enteros, por ejemplo, ¿verdad? Por lo que los números es igual a una nueva lista de matrices. Y lo que van a ver es que este algún tema aquí. Por lo que ArrayLists califica algo así. Y luego puedes ver que es una especie de, ya sabes, no se comporta del todo bien. Aquí hay como un subrayado rojo. ¿ Qué está pasando? Bueno, si pasamos por encima de esto, se puede ver que el argumento de tipo no puede ser de tipo primitivo. Eso significa que en realidad no podemos usar en booleano y cosas así. No obstante, ante ti. Esto puede y decir: Oh Dios mío, eso es lo peor de la historia. No se preocupe. Hay clases de envoltura que puedes usar para que realmente puedas ver reemplazarlo con entero Java Lang. Bueno, puedo hacer click en esto o simplemente puedo escribir un entero aquí mismo. Entonces éste, en este caso. Y si usas eso, entonces todo funciona bien. Entonces estos son esta lista y estos corchetes angulares son lo que se llama genéricos. Y la idea es que se pueda poner cualquier tipo de datos aquí, excepto los primitivos. Eso es muy importante para aquellos que necesitamos esas clases de envoltura. Entonces hay clases de envoltura, ¿verdad? Podemos usar, se puede usar en lugar de lo primitivo, un datatypes primitivo el u. entonces esto es muy importante recordar aquí hay clases de envoltura y deberían existir para cada uno de los primitivos tipos de datos. Entonces no se preocupe ahí en absoluto. Y aquí podemos muy fácilmente sólo decir números en, ya sabes, eran 20 por ejemplo. Y los números agregan algo así como 42. No se preocupe en absoluto. Como puedes ver, solo podemos sumar esos números aquí y son enteros normales y básicamente podemos usar o. eso está totalmente bien. Pero sí quería mencionar esto que no se pueden usar los tipos de datos primitivos en estos genéricos como se les llama. Como dije, los genéricos son estos tour de estos corchetes angulares, ¿ verdad? Estos corchetes angulares. Y todo lo que hay dentro de él se llama genérico porque, bueno, es genérico en el sentido de que podemos poner en cualquier otra clase o cualquier otro objeto, cualquier tipo de datos que queramos aquí. Y sólo va a funcionar. Esto por cierto, incluye una lista también, ¿no? Por lo que podemos tener una lista de una lista. Por supuesto, ¿por qué no? ¿ Verdad? Nosotros múltiples listas que también funcionarían. Pero por el momento, eso será todo para las listas. Echemos un vistazo a los mapas. Por lo que los mapas son muy interesantes. Leer, un mapa es lo siguiente. Un mapa contiene una clave y un valor. Y la clave, la clave en realidad mapea, mapas de claves correctos a un cierto valor que todos deberían tener sentido. A esto se le llama par de valor clave. Está bien, bastante justo. ¿ Qué podemos ver? Bueno como tan solo teclear esto en el mapa como se puede ver, y tenemos dos cosas diferentes en los corchetes angulares esta vez. Entonces vamos a importar esto, ¿verdad? Por lo que se puede ver que esto también se importa aquí. Si esos no son importantes automáticamente, puedes ver que las cosas se ponen rojas y puedes hacerlo muy fácilmente tú mismo. Simplemente puedes hacer click en esto y presionar Alt y Enter, e importará esta clase. Se puede ver que también he tenido que hacer lo mismo con el ArrayList. Y luego aquí abajo para el mapa, en realidad no tengo que hacer esto todavía porque aún no he terminado, pero vamos a ver esto en tan solo un momento. Vamos a tener un mapa que mapea una cadena a otra cadena. Y vamos a llamar a esto el mapa de país a capital, que va a ser igual a un nuevo HashMap en este caso. Y entonces lo que podemos hacer es simplemente presionar Alt y Enter. Y entonces va a ser importante aquí también. Pero esas son muy importantes, esas importaciones básicamente, para que el programa sepa que estamos usando estos tipos de datos, ¿verdad? Entonces la lista, la ArrayList, el mapa, y cosas así. Y lo que podemos hacer ahora es que podemos sumar a este país también al MAB capitalino. Entonces podemos decir simplemente poner y eso pone en nuevos valores. Entonces, por ejemplo, Alemania sería Berlín. Esperemos que supieras esa. Hagamos otra. Entonces, en realidad solo duplicemos esto un par de veces. Y vamos a decir Francia. Ya sabes que uno que es París, por supuesto, temprano directo, Italia, Wu ahora se pone interesante Roma por supuesto. Y luego vamos a tener un USA, y ese va a ser Washington DC. Tan muy sencillo. Todas las cosas consideradas aquí, como pueden ver, puedo poner en dos cuerdas, ¿verdad? Porque esto es lo que he definido aquí. Esos no tienen que ser los mismos. Podría poner en un año entero, un flotador aquí, podría poner una cadena aquí, una lista aquí. Cualquier cosa funcionaría. Esto no tiene por qué ser ambos de lo mismo. Eso es muy importante. Yo también quería mencionar eso. ¿ Y cómo sacamos ahora un valor de un mapa? Bueno, digamos sistema fuera de línea de impresión. Y luego vamos a decir país a capital punto get. Y se puede ver que tengo que suplir una cuerda. Y lo que voy a sacar es por supuesto una cuerda aquí, pero esto es lo que tengo que suplir. Y entonces esto es lo que saco de ella. Entonces el tipo de retorno y pongo en Alemania, y luego Berlín será salida ya Alemania es la clave para el par clave-valor, Alemania, Berlín debería ser bastante directo. También puedo preguntar si el mapa contiene o no cierta clave o contiene cierto valor. Por lo que puedo decir sistema fuera de línea de impresión. Y luego sólo para que todos sepan lo que estamos pidiendo aquí contiene clave Alemania. Y entonces vamos a decir, país a punto capital contiene clave, Alemania, que por supuesto va a ser verdad. Entonces sólo vamos a duplicar esto. Entonces vamos a decir que contiene un valor. Por lo que también podemos pedir valores, Londres por ejemplo. Y entonces podemos llamar al contiene un método de valor aquí mismo, pase y Londres justo aquí. Y entonces si solo ejecutamos esto, deberíamos ver. En primer lugar, aquí mismo, tasa de Berlín es la capital de Alemania y luego contiene clave. El alemán va a ser cierto porque sí contiene esa clave y luego contiene valor. Londres va a ser falso porque por supuesto no tenemos orina de Londres aquí como valor. También podemos eliminar cosas de un mapa. Por lo que una vez más sistema fuera, imprimir línea y conectar para decir, puedo decir país para capitalizar, punto quitar. Y lo genial del Remove que puedes ver es que o bien puedo pasar en la llave o también puedo pasar tanto en la clave como del objeto también. Y luego va a devolver un verdadero si eso se ha eliminado porque tal vez esos no coincidan y quieres una funcionalidad específica aquí. De lo contrario solo puedes pasar en la llave y entonces realmente obtendrás el retorno también. Por lo que obtendrás una última, última tienda de valor año. Entonces esto debería decir ahora París. Y después de eso, las marcas en realidad es, como se puede ver, y después de esto básicamente se retira de este mapa, esa es una idea muy interesante de los mapas. Pueden ser increíblemente útiles. No obstante, lo es, por supuesto a veces es difícil en este tipo de formas abstractas cuando solo muestro a aquellos donde realmente puedes usarlos. Usando estos tipos de datos, a veces puede ser, bueno, no es una ciencia exacta, ¿verdad? Por lo que a veces se quiere usar algo. No estoy seguro si esto encaja. Una vez más, sólo pruébalo. Steve trabaja y luego vas a estar bien. Y luego por último pero no menos importante, lo que vamos a echar un vistazo a los sets. Lo que conjuntos, como he mencionado, son cosas que se usan mucho en la base de código de Minecraft. Y un conjunto es solo una colección, una colección que no contiene duplicados. Bueno, esa es la definición más simple de un conjunto. Simplemente es una, bueno, una lista o una colección que no contiene duplicados. Entonces un conjunto, por ejemplo, de cadena, podríamos tener esto como nombres de usuario, por ejemplo, con cada número que es igual a un nuevo HashSet en este caso, entonces puedes ver esto también ha sido importado y ahora esto se ha convertido en una historia aquí porque todos esos están dentro, bajo el paquete util. Por lo que en realidad no tiene demasiadas importaciones aquí. Es una especie de hace eso por sí mismo. Eso es muy bonito. Entonces ahora tenemos un conjunto y podemos por supuesto añadir a ese nombre de usuario punto agregar, por ejemplo, trabajo de algodón. O podríamos decir usernames dot add, nano tech justo aquí. Y entonces podemos decir, bueno, bien, justo, Esto es realmente genial, pero ¿qué más hace un set? Bueno, una vez más, si ahora queremos agregar algo dos veces, para que puedas, por ejemplo, decir algo como usernames add, digamos FV, ¿verdad? Y luego duplico esto, y quiero agregarle el mismo nombre dos veces, ¿no? En realidad nos van a devolver ocho faltas. Aquí obtenemos un verdadero, aquí obtenemos un falso porque esto ya está ahí dentro, la cadena ya está dentro de la colección. Y debido a que no contiene duplicados, sólo podemos tenerlo una vez. Si realmente todo esto, verán que el primero es cierto porque por supuesto F o V no se agregó todavía. Y luego después de que se haya agregado y tratemos de agregarlo de nuevo, vamos a conseguir un retorno falso. Entonces eso es un muy interesante. Sobre todos los sets, realmente no se puede llamar a cosas individuales dentro del set. El conjunto es realmente una colección que debe usarse una especie de juntos. Y yo sólo quería sólo introducir suavemente los sets aquí sólo para que hayas oído hablar de ellos. Entonces una vez que los veamos dentro del juego básicamente, o dentro del código de Minecraft, entonces no te van a atrapar por completo desprevenido. Entonces la última sección aquí, flechas con las que podrías tropezar, ¿verdad? Entonces eso siempre es una, algo importante sin embargo. Sólo puedes, vamos a hacer esto. Sin comentarios fueron flechas. Acabo de ver donde los errores, por favor, no para terroristas eso, eso no sería bueno. Vamos en realidad copiar esto por el bien de la discusión y sólo vamos a cambiar este C a un pequeño c y n van a estar bien. Entonces el primero es el índice fuera de excepción encuadernada. Entonces, solo hagamos lo siguiente. Descomentemos esto. Y en primer lugar, esta es la lista de preguntas. Ahí lo tienes. No se preocupe en absoluto. Y si hacemos esto, entonces verán que aquí obtenemos una excepción, el índice fuera de límites excepción. Entonces esta es una excepción muy, muy similar al índice de matriz fuera de límites excepción es solo con una lista. Eso es más o menos todo lo que hay. Por lo que tratamos de pasar en un índice al getMethod que no existe para las listas. Entonces por supuesto, cuando sólo tenemos dos elementos, el primero es del índice 0, el segundo es del índice uno. Tan muy importante aquí que por supuesto, pasar dos cualquiera no funcionaría, ¿verdad? Entonces esa es la primera excepción. Y entonces, bueno, la otra cosa no es realmente una excepción, pero va a devolver un nulo. Entonces si pasamos una llave a un mapa que no existe, vamos a conseguir que se devuelva un nulo, ¿verdad? Y eso podría llevar a una flecha abajo de la línea. Entonces si hago esto, entonces verán que si hago eso, vamos a conseguir un nulo en el fondo aquí. Y esto es básicamente correcto, por supuesto, Malta, no tenemos eso en nuestro país a la capital Mab. Esto en realidad va a hacer que nos devuelvan un nulo. Por lo tanto, podría ser muy valioso ver si contiene una clave antes de que realmente intentes conseguirla fue genial. Devolver un nulo no es el fin del mundo. Por supuesto que no más si entonces, si no esperas que esto sea nulo o no manejas esto para ser nulo posiblemente, entonces podrías encontrarte con algunos temas. Bueno, esos son algunos de los errores que definitivamente quería mencionar aquí también. Entonces esas serían, bueno, la suma de las colecciones. Por supuesto, hay mucho más, hay muchos más tipos de datos que podrías usar. Ya sabes, no sólo hay mapas y sets de la lista , Hay mucho más, pero por el momento va a ser suficiente para básicamente empezar. Entonces esto sería todo para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Si lo hicieras, te agradecería mucho una opinión de ti. De lo contrario, los veo en la próxima conferencia. Entonces, sí. 24. (Java) Programación orientada a objetos Java: Muy bien, bienvenido de nuevo a la introducción de Java aquí para el modelado de Minecraft. Y en esta conferencia, vamos a estar hablando de programación orientada a objetos. Y como pueden ver, en realidad estamos en PowerPoint. En este caso. En realidad vamos a tener un poco de una presentación de PowerPoint aquí. Entonces, en realidad, sólo empecemos con la idea de qué es esta programación orientada a objetos? Bueno, en esta conferencia, vamos a pasar por un poco de la teoría y algunos de los términos con los que bien necesitarás básicamente familiarizarte para saber qué está pasando y para el lenguaje al hablar con personas que conocen programación y cuando continúo junto con esto, así que sobre todo en la parte de Minecraft de esta conferencia o este curso, vas a ver que básicamente voy a usar siempre los términos que son necesarios para usar. Entonces clases, métodos, objetos, cosas así, y debes saber cuáles son esas. Pero lo primero que podemos pensar es que todo es un objeto. De acuerdo, vamos, vamos a almacenar eso como una información, como una pieza de información y podemos crear objetos personalizados con funcionalidad personalizada. Interesante, De acuerdo, y estos se llamarían clases. Entonces una clase es, podemos crear un objeto a partir de una clase, bien, Interesante. Y entonces las clases pueden heredar funcionalidad, que serían métodos, variables de otras clases. Vamos a ver dos ejemplos básicamente Teoría de esto. Y luego en conferencias posteriores, vamos a echar un vistazo a algunos ejemplos prácticos también. Pero antes que nada, pasemos por los términos muy importantes aquí. Entonces una clase, o clases son tipos de datos personalizados o definidos por el usuario. Pero ahora llegamos realmente al punto en que puedes hacer tus propios tipos de datos. Y esas clases entonces básicamente se pueden usar como plantillas para crear objetos. Y estas clases incluyen métodos y campos que se llaman miembros. Demos este paso a paso. Entonces una clase es un tipo de datos personalizados o definidos por el usuario que bastante cool. Y esos incluyen métodos y campos, que vamos a hablar aquí mismo. Estos son miembros y cómo se pueden utilizar para crear objetos. Ahora, ¿qué es un objeto? Un objeto no es otra cosa que una instancia de una clase en particular con datos definidos. Vamos a ver un ejemplo de eso en tan solo un momento. Por lo que esto se pondrá mucho más claro. Pero antes que nada, hablemos de los miembros. Esos deben ser bastante autoexplicativos o mucho más fáciles que los objetos. Por lo que los miembros de una clase es ya sea un método o un campo, y también puedes llamar a funciones de métodos. Ahora, las personas que están un poco más en Java podrían saber que esto no es estrictamente necesario. Por lo que las funciones son un poco diferentes a los métodos. Para nuestros propósitos, está totalmente bien. Algunas personas aún dicen funciones, pesar de que hay métodos, va a estar bien y nadie se va a enloquecer con esto. No tenemos que ser demasiado pedantes en esto, ¿verdad? Por lo que los métodos o funciones definen básicamente el comportamiento específico para un objeto y los métodos se pueden llamar para objetos específicos. Entonces un ejemplo de esto, que ya hemos visto es algo así como el método de tamaño para una lista en particular. Por supuesto, cada lista va a tener el mismo método de tamaño. Lo que se va a devolver es específico de una lista específica. Entonces para ese objeto, pero esa es la idea general. Águilas o atributos como también se les llama nuestras variables que se definen en la clase que almacenan algunos datos relacionados con esa clase. Entonces, por ejemplo, si tuviéramos una clase de persona que pudiera guardar una cadena llamada nombre, eso también debería tener sentido y debería ser bastante autoexplicativo como este ejemplo aquí. Y una vez más, todo esto por supuesto también veremos en vivo y en acción, creo que próxima conferencia de inmediato vamos a empezar a saltar a clases y objetos. Entonces no se preocupe ahí en absoluto. Entonces, en primer lugar, echemos un vistazo a la idea de heredar cosas. Entonces esto, yo quiero, primer lugar prefacio con la idea de que si no consigues esto completamente, eso está absolutamente bien. La herencia es muy complicada. Yo sólo quería mencionar esto que ya lo hayan escuchado una vez antes. Entonces la idea es que podríamos tener una clase animal, ¿verdad? Y eso en realidad básicamente hereda toda su funcionalidad y todas sus variables hasta dos clases. Por lo que el animal de dos patas y la clase animal de cuatro patas, y éstos se relacionan de la siguiente manera. El tipo animal es la superclase del animal de dos patas y la superclase para el animal de cuatro patas. En tanto que las clases de animales de cuatro patas y de animales de dos patas son subclases de la clase Animal. Siempre se puede tener una sola superclase, pero como se puede ver, se pueden tener múltiples subclases. Y entonces aquí podemos incluso ir más abajo y heredar incluso una cosa más y agregar más funcionalidad. Entonces vas de una especie muy genérica o muy abstracta, muy específica, ¿verdad? Animal es una categoría muy abstracta. Animal de dos patas. Estamos empezando a meternos realmente en cosas más específicas, humanas y avestruz. Ahora somos muy, muy específicos. Entonces esa es una idea en la que se te ocurre, ¿verdad? Entonces pensemos en una clase de perro ahora, ¿verdad? Entonces tenemos una clase que se llama perro, y eso podría tener algunos atributos o algunos son campos, ¿no? Que va a ser una foto, un nombre, y una edad. Y vamos a estar como, Vale, está bien. Eso está bien, que hay lo suficientemente bueno como para describir a un perro en particular. Y bueno ahora queremos crear un perro nuevo. Por lo que queremos crear una nueva instancia de la clase de perro. Queremos crear un nuevo objeto. Bueno, sólo hagamos eso. Ahí lo tenemos. Ahora mismo hemos creado un nuevo perro. Benji tenía siete años, y aquí hay una foto muy linda de él. ¿ No es eso simplemente agradable? Sí, si lo digo yo mismo, creo que este es un cuadro muy lindo aquí, y este es un perro en particular, ¿verdad? Realmente no hemos cambiado nada aquí. Lo único que hemos hecho es que básicamente creamos una tasa de objetos. Cuando volvemos aquí una vez cada perro tenga una foto, un nombre, y una edad, y esto es una instancia particular o un objeto particular de la clase de perros. Ahora solo creemos otro. Por ejemplo aquí, Gracie con cinco años de edad y también tiene un cuadro muy lindo ahí mismo. Pero como puedes ver, esos son dos objetos diferentes o dos instancias diferentes de la clase Dog. No obstante, ambos son perros. Entonces esta es una especie de la separación que como que quiero atravesar cuando se trata de clases y objetos, que la clase es la plantilla. Y luego una vez que creas un objeto en particular, eso luego se convierte en una instancia de esa clase. Entonces eso a veces puede ser un poco raro, sobre todo para principiantes. Pero no se preocupe en absoluto a la vez. En realidad vamos a empezar a programar con esta temible o cuando realmente ponemos esto en uso práctico va a ser mucho más claro. Estoy seguro de ello, ¿verdad? Pero eso ya sería el final de la conferencia. En realidad. Lo más importante de esta conferencia, déjame volver rápidamente aquí es ésta de aquí, ¿verdad? Por lo que esta diapositiva es probablemente la más importante. En realidad, las diapositivas también están disponibles para ti como recurso para que puedas descargar esto también. Entonces no se preocupe ahí. Por lo que sí tienes acceso a ambas fotos lindas de perro también. Entonces eso en realidad va a ser un plus muy grande por supuesto. De lo contrario, esto sería todo para esta conferencia aquí mismo, como dije, un poco más de teoría y en la siguiente conferencia vamos a poner todo eso en práctica. Entonces eso sería todo para esta conferencia aquí mismo. Espero que te haya parecido útil esto y las neuronas sean las nuevas, y te veré en la próxima conferencia. Entonces, sí. 25. (Java) Clases y objetos de Java: Muy bien, bienvenido de nuevo a la introducción de Java aquí para el modelado de Minecraft. Y en esta conferencia vamos a aplicar básicamente la teoría que hemos aprendido la última vez. En la última conferencia, Vamos a estar hablando de clases y objetos. Entonces, en primer lugar, por supuesto, necesitamos crear una nueva clase, una clase personalizada ahora. Y para eso, vamos a entrar en esta ventana del proyecto aquí mismo dentro de nuestro paquete. Entonces este es el paquete, ¿verdad? Net ayudó a Monroe fue el paquete que creamos u otro que yo creé. Ojalá este sea tu nombre. Entonces en tu paquete de nombres, haces clic con el botón derecho en nueva clase Java. Y luego vas a llamar a esto la clase de perro, asegurándote de que la clase aquí esté seleccionada y luego pulsa Enter. Ahora este año esta ventana sólo aparece para mí porque tengo un repositorio de GitHub asociado a este proyecto. Si no tienes eso, eso está absolutamente bien. No te preocupes por eso en absoluto. Por lo que sólo quería mencionar esto. Y ahora en lugar de estos corchetes rizados, oh, agregarle miembros a esta clase. Entonces, por ejemplo, podríamos agregar algunos campos, ¿no? Entonces podemos decir algo como agregar, agregar algunos campos, ¿no? Y luego volvamos a pensar la presentación de PowerPoint que hemos visto, ¿verdad? Teníamos una imagen pública de String. Estábamos pensando en una imagen. Sólo vamos a decir que una cadena que está totalmente bien por el momento, un nombre de cadena público. Y entonces digamos un entero público, que es la variable de edad. Ahora eso está todo bien por el momento. Aquí vamos una vez más a ignorar al público. Sólo tenemos que ponerlo a público una vez más en un tiempo muy, muy corto. En realidad, vamos a ver los modificadores de acceso. Entonces esa es literalmente la siguiente conferencia también. Y entonces entenderemos lo que esto significa por el momento. Tenemos que ponerlo a público. Y lo que también podemos hacer es, por ejemplo, algo así como un vacío público. Y luego lo haremos por ejemplo, que podamos hacer ambos campos y también métodos, ¿no? Entonces este es un método aquí, y esto es, por supuesto que esto eran campos aquí. Entonces puedo hacer algo en ese método, que es sólo por el bien de la discusión. Sólo voy a decir justo en eso, en este momento. De acuerdo, Entonces ahora todo esto está listo. Ahora, ¿qué estamos haciendo con su clase de perro, verdad? ¿ Cómo estamos haciendo un nuevo objeto a partir de él? Bueno, podemos hacer lo siguiente. Se podría decir perro, ¿verdad? Logotipo. Y ahora esto podría al principio podemos decir algo como esto, por ejemplo. Ahora esto podría, por primera vez ser un poco confuso. A lo mejor como esperar, pero quiero decir, como que debería reconocer esto, ¿verdad? Esta es sólo una variable normal que hemos declarado aquí, ¿no? Es sólo un tipo de perro. Ahora, como dije, porque ahora estás empezando a usar clases personalizadas. Tan personalizados básicamente tipos de datos. Esto podría ser un poco raro, pero esto es lo mismo que si yo hiciera esto, ¿verdad? De verdad cuando pensamos en ello, es sólo una variable. Esta vez de tipo perro. Y otra forma en que realmente puedo inicializar esto es que puedo decir perro nuevo y se puede ver que en realidad genera esto automáticamente para nosotros. Y ahora he creado un nuevo perro. Entonces esta es la idea general de cómo se puede crear un nuevo objeto. Por lo que es necesario utilizar la nueva palabra clave, que en realidad hemos visto anteriormente algunas veces. Por ejemplo, con el escáner, teníamos que crear un nuevo escáner. Y ahora eso también tiene sentido. Scanner es sólo otro objeto u otra clase la cual podemos instanciar un nuevo objeto o una nueva instancia de una pulgada básicamente puede usar eso. Esa es una especie de idea. Ahora bien, la verdadera pregunta sin embargo es que está bien, Como tengo este perro aquí, pero como yo los campos, ¿qué son, cuáles son ahora? Bueno, sólo probémoslo. Escribir sistema hacia fuera, imprimir línea, Togo, nombre de punto por ejemplo. Vamos a ver, bueno, ¿cómo es que ese perro fue nombrado como perro? No, en realidad el nombre es nulo porque no hemos asignado ninguno de esos valores. Por lo tanto, todos son nulos porque aquí hemos usado, derecho, usado el predeterminado, constructor por defecto. Entonces, ¿qué significa eso? Bueno, el constructor es otra parte de una clase que es muy importante, y esto en realidad no está clasificado como miembro en este caso, esto es otra cosa. Entonces el constructor, como su nombre indica, es algo que construye un objeto a partir de esta plantilla, de esta clase, ¿verdad? Entonces el constructor predeterminado, cada clase que creas tiene algo como esto. Por lo que se escribe así con un modificador de acceso. Y luego el nombre de la clase seguida inmediatamente después de paréntesis, que no tienen nada en ellos. Y luego básicamente casi como un método normal, solo sin un tipo de retorno o más bien el tipo de retorno es el mismo que el nombre. También puedes pensarlo así. Y este año es el constructor por defecto. Y esto es lo que hemos estado usando para este doc de aquí, ¿verdad? Entonces este es el constructor predeterminado ahora. Y el verdadero problema aquí es por supuesto que se puede ver que no pasa nada en él. Por lo que ninguna de esas cosas tiene algún valor asignado. Podemos, sin embargo, también crear nuestros propios constructores. En este momento podemos crear un constructor personalizado. Entonces por ejemplo, perro público, cadena, imagen, nombre de cadena, y edad, escribir algo como esto y luego podemos asignarlos. Por lo que esta imagen es igual a imagen, esto.nombre es igual a nombre, y esta edad de punto es igual a edad. Y verás, de repente, todo sigue funcionando totalmente bien. Ahora lo primero que podrías preguntar, ¿qué es esto, esta palabra clave? Bueno, esto se refiere al objeto que estamos creando tasa. Entonces, por ejemplo, se puede pensar en ello cuando llamamos a esos método Wolf. Si llamáramos a esto, tendríamos que llamar a esto a un objeto en particular. Entonces cada vez que uso esto dentro de este método, básicamente se está refiriendo a ese objeto en particular. Para que se lo piense así. De la misma manera con el constructor. Cuando uso esto, ese objeto en particular que acabamos de crear se está haciendo referencia porque el nombre del parámetro aquí tiene el mismo nombre que el campo. No necesariamente tienen que hacerlo, pero en este caso sí lo hacen. Entonces queremos usar esta herramienta mucho especificar, hey, este es el campo y como parámetro. Y ahora lo que puedo hacer es en lugar de crear uno con el constructor predeterminado aquí, en realidad puedo hacer algo como, por ejemplo, perro y Benji, digamos que es igual a perro nuevo, ¿verdad? Y luego se puede ver si espero un segundo aquí, básicamente se puede echar un vistazo a esto. Ahí está. Entonces ahora realmente recibimos una sugerencia aquí, ya sea sin parámetros ni cadena, cadena imagen, nombre, cadena o edad int. Por lo que en realidad nos llega la sugerencia aquí. Digamos Benji dot PNG, ¿verdad? Digamos Benji por el nombre y luego siete por la edad. Y se puede ver que esto es casi lo mismo que solo una llamada al método normal, pero en este caso realmente crea un nuevo objeto. Y entonces podemos hacer sistema fuera de línea de impresión. Ahora nombre de punto Benji, y luego digamos Benji dot h. Y ahora esta salida es Benji y un siete como se puede ver. Entonces eso en realidad es realmente jodidamente genial. Hay una cosa más. Digamos que por el bien de la discusión aquí, cuando tenemos muchos campos, ¿no? A veces puede ser un poco tedioso ponerlos todos aquí en el constructor. Entonces lo que podemos hacer es que también podemos hacer clic derecho en generar constructor. Entonces puedes simplemente seleccionar todos los campos que quieres inicializar, lo verías por el constructor y decimos, vale, y esto genera exactamente lo mismo que hemos hecho anteriormente. Yo quería mencionar esto porque eso a veces puede ser muy útil, ¿no? Por lo que aquí hay muchas cosas que se pueden generar automáticamente. Por lo tanto, ten eso en cuenta también. Pero también hagamos otro oscuro. Entonces solo para ilustrar esto, así que el perro Gracie es igual a un perro nuevo, ¿verdad? Este es el punto grasiento PNG, Gracie, y creo que Gracie tenía cinco o cinco está bien. Ahora, en realidad emprendamos eso también. Entonces estoy seleccionando este Control C, Control V para pegarlo y luego cambiando la variable aquí y especie de Benji a Gracie. Y esto, por supuesto ahora también funciona y va a tener valores diferentes. Por lo que una vez más, esos son ambos perros incursionan, pero son un dos perros diferentes. Por lo que hay dos objetos diferentes. Y espero que la teoría de la última conferencia tipo de lleve muy fácilmente a este ejemplo ilustrativo aquí, una vez que realmente la estamos usando, esperemos que quede muy claro. Y también lo haremos es solo cambiaremos este lobo que realmente eres a este nombre de punto, solo waft. Entonces lo que podemos ver es también que cuando llamamos a este método, una vez más, a este método en particular, realidad tenemos que llamar a un objeto en particular, ¿verdad? Por lo que en realidad tenemos que salvar punto Benji o punto racy todos deben tener sentido. Y ahora lo que va a pasar es que no va a ser lo mismo para cada uno de ellos, ¿verdad? Por lo que Benji se acaba de mover o Gracie sólo Swift. Por lo que esto una vez más se refiere al objeto real donde se está convocando a esto por así decirlo. Entonces esa es la idea. Y luego una última cosa que podría ser un poco diferente o un poco rara. Es como, bueno, espera un segundo. Edad de punto benji, ¿verdad? Está bien. ¿Puedo simplemente como asignar esto a algo? Sí, puedo. Bueno, eso es muy interesante, ¿verdad? De repente, ¿verdad? Benji se ha convertido en 10 años y podrías ser como, Espera, eso no es, eso no tiene sentido, ¿verdad? Son sólo siete ellos. Eso no está bien, Es que sí, esto ahora ha salvado. Y esto es algo que vamos a ver en la próxima conferencia cuando se trata de modificadores de acceso. Porque todo esto ser público básicamente significa que, bueno, se puede cambiar esto y acceder a él desde cualquier parte del código. Y eso a veces no es lo que queremos. A veces se quiere restringir el acceso a ciertos campos, variables, métodos, todo ese jazz básicamente. Y como dije, vamos a echar un vistazo a eso en la próxima conferencia. No obstante, esto sería todo para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo de lo nuevo. Y nos vemos en la próxima conferencia. Entonces, sí. 26. (Java) Modificadores de acceso: Muy bien, bienvenidos de nuevo a la introducción de Java aquí para la mañana de Minecraft y en esta conferencia, vamos a estar buscando modificadores de acceso. Por lo que necesitarás todo el código de la última conferencia. No se preocupe, por supuesto, esto está disponible para usted como recurso. Entonces definitivamente echa un vistazo a eso y luego bueno, sólo saltaremos a la derecha. Entonces la idea era que, bueno, teníamos todos nuestros campos aquí como público, ¿no? Entonces todo aquí fue público. Y estábamos pensando, bueno, vale, entonces, ¿cómo vamos a usar esto? O cómo podremos no hacer que algún Thiel sea cambiable o como modificable aquí fuera de esta clase. Bueno, vamos a pasar por todos los, bueno, digamos modificadores de acceso. Entonces hay público, Hay protegido, y hay privado. Entonces hay dos cosas más que también vamos a ver cuál es estática y la final, bueno, realidad no son modificadores de acceso, pero también son una especie de modificadores que puedes poner frente a campos y, o métodos. Entonces cuando se trata de hacer el nombre, por ejemplo, protegido aquí, esto en realidad no hará nada. Ahora la razón por la que no hace nada es que se puede llamar a un campo protegido o a un método protegido en el mismo paquete. Y debido a que el perro y la clase principal o en el mismo paquete, todavía podemos referirnos a este campo aquí. Y la palabra clave protegida también funciona o clases que se extienden a partir de esto. Entonces, básicamente, los activos que heredan de la clase de perro ahora también serían capaces de usar la variable de nombre. ¿ Y la variable de edad? Bueno, hagamos lo siguiente. Hagamos esto privado. Y de repente podemos ver problemas relacionados, ¿verdad? Todo se está volviendo loco. Todo el mundo está enloqueciendo porque de repente podemos acceder a esto porque una variable privada y solo se accede en la misma clase, lo que significa que no podemos acceder directamente a esto. No obstante, podemos hacer algo que va a ser un método, devuelve este valor. Entonces esto es lo que se llama guitarra. Y lo que podemos hacer es hacer clic derecho Generar y se puede ver que en realidad podemos generar getters y setters. Setters son más o menos lo mismo donde se establece la tasa variable. Entonces donde básicamente puedes establecer esto y un getter es solo mucho lo que se obtiene esto. Entonces puedo seleccionar la variable de edad y decir, vale, y ver que genera un método para nosotros entero público porque por supuesto ese es el tipo de retorno aquí, obtener la edad. Entonces esta es la forma en que dirías esto o el nombre de esto solía ser conseguir y luego solo el nombre de la variable o el campo. Y luego regresamos la edad en este método. Y entonces en lugar de llamarlo directamente, podemos decir A la edad, a la edad, si la edad. Y ahora aquí está lo interesante. Por supuesto que esto no funciona porque no podemos asignar algo a un método. Por lo tanto, esto no funciona, ¿verdad? Entonces podemos decir que no funciona. Por lo que no podemos asignar un nuevo valor a esta variable de edad. Entonces eso es realmente lo genial. Y entonces también podemos tener una palabra clave estática y una palabra clave final. De acuerdo, ¿qué es eso? Bueno, la estática va a ser muy interesante. Entonces cuando tenga un int estático público, y voy a llamar a esto el perro al multiplicador del oído humano. Multiplicador, que es igual a siete si no me equivoco aquí. Y esto es lo que podemos pensar así. ¿ Todo perro tiene que tener un campo específico para ellos, que es este multiplicador. Es decir, si somos realmente honestos, no realmente, correcto, cuando lo pensamos. El doctor aquí, el dr. multiplicador del año humano realmente es algo que funciona para cada perro. Exactamente. Por eso es estático. Es variable estática o un método estático y en realidad ser llamado la clase y no requiere que se creen objetos específicos. Entonces lo que puedo hacer es, por ejemplo, en lugar de llamar a Benji que ÉL, puedo decir perro, punto, punto, humano, doctor, multiplicador del año humano. Ya puedes ver que llamo a esto a la clase real y no al objeto. Entonces eso es algo muy interesante. Y eso podría estar rompiendo un poco tu cerebro aquí, porque antes que nada, meterte en estática es un poco raro y parece muy contraintuitivo a primera vista tal vez, pero sin preocupaciones en absoluto. Cuando realmente estamos usando esto, Va a estar bien. Y lo esencial general es que, ya sabes, si algo estático suele ser algo que es lo mismo para todos los objetos, ¿verdad? Porque una vez más, tú, Dr. multiplicador año humano no cambia de Dr. perro. Ahora ignoremos el hecho de que tal vez cambie si hay diferentes razas y cosas así. Vamos a ignorar eso. Es sólo un ejemplo aquí, claro, ¿verdad? Y entonces la pregunta también es, bueno, espera un segundo. Esto realmente no necesita cambiar, ¿verdad? Porque ahora tenemos el mismo tema una vez más, ¿verdad? Entonces los perros, tu multiplicador y de repente equivale a diez, podemos simplemente cambiar esto y es como que eso no es realmente inteligente, ¿verdad? Eso no tiene por qué pasar. Bueno, por suerte también está la palabra clave final. Y eso lo hace así si en realidad presiono Control Z para volver atrás, se puede ver que no puede asignar un valor a una variable final porque uno es una variable final de lo que el valor nunca puede cambiar después de haber sido asignado. Eso también es muy interesante. No obstante, existe, por supuesto, una diferencia distinta entre una privada y una tasa variable final. Porque una variable final podríamos en teoría cambiar, ¿verdad? Podríamos decir algo así como, por ejemplo, sólo hagamos un vacío público, público. Cumpleaños de vacío público, ¿verdad? Para un perro, donde decimos edad más plus. Pero eso aún funciona a pesar de que es un privado, podemos cambiar esta variable. Nunca podríamos cambiar esta variable una vez que sea definitiva. Entonces esa es la diferencia ahí, que ojalá sea comprensible en ese sentido, ¿verdad? Entonces, en realidad echemos otro vistazo a la siguiente tasa. Entonces también podemos decir algo así como, Bueno, quiero decir, solo agreguemos una, solo agreguemos una cosa más, algo así como un int público. Entonces getAge en años humanos, correcto, donde podemos usar el multiplicador aquí que vamos a devolver la variable de edad veces el doctor aquí, doctor humano, multiplicador de año humano justo ahí. Ahora solo podemos llamar a esto por lo general se puede por supuesto también decir perro dot esto. No tenemos que hacer eso porque estamos dentro de la clase de perros, así que podemos simplemente llamarlo sin eso. Esa es mucha preferencia personal, solo si quieres o no hacer eso. Pero lo que podemos decir entonces, por ejemplo, es entonces podemos decir Benji dot envejecer en años humanos, y eso será entonces, ¿qué es eso? 49? Sí, 49. Ahí vas. Tan fácil bastante. Pero eso es una especie de lo fundamental general. Contamos con público, protegido y privado para los modificadores de acceso. Y luego también hay estática y final. Y definitivamente lo estaremos, nos vamos a encontrar a todos aquellos en futuras conferencias, sobre todo cuando nos metamos en modding microondas, eso va a ser muy relevante aquí, sobre todo algo así como la palabra clave final y la palabra clave estática, esas se van a utilizar mucho. Una vez más, si son un poco poco poco claros, eso está absolutamente bien. No se preocupe en absoluto. Una vez que empieces a trabajar con ellos, se va a alejar más claro. Y una vez más, puedo mucho solo aconsejarte que pruebes un montón de cosas. Basta con encender inteligente, hacer un montón de clases, y sólo probar un montón de cosas. Hacer algunas clases, hacer algunos campos, montón entero de cosas. No se puede romper nada. En realidad no. Por lo que realmente es cuestión de estar abierto a experimentar básicamente. Entonces eso es mucho un consejo que te puedo dar. Pero de lo contrario, esto sería todo para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Y nos vemos en la próxima conferencia. Entonces, sí. 27. (Java) Inherencia y Polymorphism: Muy bien, bienvenido de nuevo a la introducción de Java aquí para el modelado de Minecraft. Y en esta conferencia vamos a estar hablando de herencia y polimorfismo. Bueno, en primer lugar, un polimorfismo y herencia para palabras muy grandes se califica. Pero en general, son conceptos bastante sencillos, sobre todo polimorfismo ¿no es esa locura de un concepto en realidad? Ahora, otro descargo de responsabilidad que quiero decir justo fuera de la puerta es que porque este es un ejemplo, el tipo real de concepto podría no ser un 100 por ciento transparente, lo cual está absolutamente bien. Por cierto, esto es algo que una vez más, tiene que construirse con sólo probar un montón de cosas, ¿verdad? Por lo general he pensado en lo mismo. Oigo. Yo lo olvido. Ya veo. Yo lo recuerdo. Yo sí. Entiendo. Por lo que siempre tiene que haber algo hacer que vaya de la mano. Cualquiera que sea el caso. Digamos, por el bien de la discusión, alguien dice: ¿Sabes qué? De verdad quiero una clase de gato también, porque no soy una persona de perros, eso está bien. Eso está totalmente bien. Bueno, vamos a añadir una clase de gato aquí también. Entonces una nueva clase, gato. Y ahí tienes. Ahora, lo que rápidamente te darás cuenta es que, bueno, como seamos honestos, el gato renal también debe tener una foto y un nombre y una edad. Y podrías ser como, bueno, quiero decir, vamos a copiar esos campos más. Y entonces podrías ser como, bueno, yo también necesito envejecer que el getter y luego el lobo, tal vez el bebé. Yo soy Mimi Chao y llegas a un punto que estás copiando sobre mucho código y normalmente tabular mucho código es una señal de que puedes optimizar algo. Ahora, la optimización prematura es el camino al infierno. Entiendo eso. No obstante, a veces esto sólo mucho sentido donde tienes como esto copiado, esto copiado, esto copiado más, y es como, vamos a hacer un método o una clase fuera de él o algo más. Y que algo más en realidad va a ser una superclase para el gato y un perro siendo la clase animal. Entonces vamos a hacer una nueva clase llamada animal, y eso ahora va a almacenar esto. Entonces voy a cortar eso con Control X, Control V para pegar esto aquí mismo. Y ahora de repente, lo que podemos hacer es extender la clase de perros por la clase Animal, lo que significa que el, vamos a hacerlo bien? Entonces vamos a heredar todo del animal aquí. Vamos a decir extiende animal, y esto ahora es herencia. Entonces la clase de perros ahora es la subclase del animal, y el animal ahora es la superclase del perro, lo que significa que todo aquí ha sido heredado. Ahora en realidad puedo eliminar literalmente esto. El único que se va a poner rojo va a ser la edad, porque en realidad tengo que hacer esto protegido aquí para que se pueda acceder en la subclase. Pero lo hemos visto en la última conferencia donde dije que cuando se trata de una variable protegida, entonces realmente se puede acceder a ella desde la subclase también. Entonces esa es una especie de idea. De hecho, nos deshagamos de algunos de estos comentarios aquí también. También podemos deshacernos del constructor predeterminado que también ya no es necesario. Entonces ahora tenemos esta clase de animales, ¿verdad? Y eso es bastante guay. Ahora, se puede ver que a través de esta clase de Perro, todo aquí se está poniendo. No obstante, queremos asegurarnos de que todos, que todas las clases que en realidad hereda de la clase Animal también funcionen. Entonces solo vamos a hacer un nuevo constructor también. Entonces haga clic derecho, genere un instructor, asegurándose de que todo aquí esté seleccionado y luego presione Ok. Y luego de inmediato nos van a saludar con una flecha aquí mismo. Porque si pasamos el cursor sobre esto, se puede ver que no hay ningún constructor por defecto disponible en un animal zoológico net com. ¿ Qué significa eso? Bueno, cuando realmente agrega un constructor específico aquí, ese no es el constructor predeterminado. El constructor predeterminado ya no funciona. Entonces una vez que tienes un constructor que es, no es el constructor predeterminado, tienes que agregarlo como manualmente otra vez. Entonces podría, por ejemplo, decir animal público, ¿verdad, sin nada en él, no? Entonces algo como esto. No obstante, claro que eso no. Ahora, ya sabes, que una vez más, en realidad no queremos eso. Entonces esto se va a eliminar y luego el constructor predeterminado ya no funciona. Y ahora qué tenemos que hacer aquí? Bueno, lo que podemos hacer es que podemos llamar al superhéroe, y esto básicamente llama al constructor. Por lo que en realidad podemos poner en PI, como se puede ver, realidad ya sugiere, digamos tomemos sólo todos los parámetros aquí y ponerlos en año. Y ahora este super ahora está llamando al constructor Animal aquí mismo. Esto en realidad es perfecto en este caso. Entonces algo más, tal vez por ejemplo, el, tanto el conseguir la edad como el nacimiento. También podrían estar en la clase animal, por ejemplo. Eso también funcionaría totalmente bien. Y el resto aquí en realidad está totalmente bien. Voy a hacer que esto sea un poco diferente. Por lo que usualmente quiero a los constructores en lo más alto de la clase, ¿verdad? Entonces primero vienen los campos y luego los constructores y luego todos los métodos y cosas así. A pesar de que el orden por supuesto es algo que depende completamente de ti, pero esto suele ser la convención 0. Ahora qué pasaría si ahora dijera, bueno, el gato ahora también extiende la clase animal. Vamos, vamos a obtener un error aquí, que es que no hay ningún constructor predeterminado disponible en animal. Y luego tenemos esta solución fueron posibles, que es el constructor de crear coincidencia super, que es algo que vamos a ver muchas veces. Porque si haces clic en esto, simplemente obtendrás un nuevo constructor aquí con todos los parámetros necesarios que necesitas para llamar al constructor de tu superclase. Y eso es más o menos. Eso es realmente jodidamente genial. Y ahora en realidad podemos crear una nueva clase. Se puede ver todo aquí funciona. Entonces podemos decir que los bigotes de gato son gato nuevo, ¿verdad? Tan nueva cuenta aquí. Y esto es por ejemplo, entonces bigotes punto PNG. Y entonces el nombre va a ser bigotes, ¿verdad? Y entonces tal vez, tal vez tengan como 12 años o algo así. Y entonces simplemente podemos llamar, por ejemplo, bigotes punto ns pueden ver puedo llamar a todo conseguir edad. Ahora en realidad tengo acceso a la variable de edad aquí. Esto es simplemente el caso porque estamos en el mismo paquete. Esto por lo general no debe ser el caso. Solo quería mencionar esto porque generalmente cuando realmente estás extendiendo una clase en particular es muy improbable que estés en el mismo paquete. Por lo que sólo quería mencionar esto. Y eso es una, bueno, yo no diría una limitación, sólo es una realidad básicamente. Pero ahora la verdadera pregunta, comunicándose sobre ahora, ¿qué tiene de interesante tener esto? Bueno, pensemos en esto, ¿verdad? Entonces tenemos aquí el método lobo, ¿verdad? Simplemente eliminemos eso o en realidad seamos tasa aún más inteligente. Vamos a copiar esto o cortarlo, ¿verdad? Y luego agregarle esto al animal. Ahora primero que nada, vas a decir, espera un segundo, no todos los animales, Wolf tiene razón. Sí, eso es bastante justo. Entonces, solo llamemos a esto hace sonido. Y entonces podemos decir este nombre, sólo, digamos que acaba de hacer un sonido. Entonces no podemos hacer esto. Y otra cosa realmente interesante es que esto se define en la clase animal. No obstante, todavía puedo decir algo así como bigotes, dot-dot-dot hace sonar ¿verdad? Entonces porque los bigotes son un gato y un gato es un animal, puedo llamar a todos los métodos públicos aquí todavía. Y si llamo a esto, se puede ver que los bigotes acaban de hacer un sonido. Entonces eso es bastante guay. Pero ahora vamos a sobrecargar esto porque mientras cada animal hace un sonido, un gato hace un sonido diferente al de un perro, ¿verdad? Entonces lo que podemos hacer es realmente podemos anular la implementación de este método en las subclases. Entonces eso es bastante frecuente, genial. Pero lo que podemos hacer es o bien empezar a escribir el nombre real del método como se puede ver, o podemos escribir una anulación, ¿verdad? Podemos empezar a escribir eso. Y luego se pueden ver todos los métodos posibles que podríamos anular. Vamos a por supuesto, elegir el método de sonido del micrófono aquí y se le agregará esta anotación. Esto no es estrictamente necesario, sin embargo, es muy valioso para ti si tienes esto y definitivamente te recomiendo guardarlo, porque si pasas por las clases reales, puedes ver muy claramente, ok, Entonces esto fue anulado de una de sus superclases. Entonces eso es muy importante. Entonces en realidad me voy a llevar sólo esta. Entonces en realidad voy a tomar esto y acabo de modificar un poquito, ¿verdad? Entonces voy a decir esto, Sólo me fuera. Digamos que voy a hacer lo mismo. Copia esto al perro aquí. Y yo voy a decir este nombre, sólo acueste la lechada, tener algo diferente aquí. Y lo que luego verás si en realidad llamo, por ejemplo, Benji, no hagas sonido. Y entonces también voy a Gracie, no hagas sonido. ¿ Qué pasará ahora? Bueno, bastante interesante. Meow, guau, guau. Entonces, como puede ver, los métodos anulados ahora están siendo llamados en lugar del uno por la superclase real. Entonces eso es realmente frecuente, genial. Y ahora esta es una especie de idea de herencia, ¿no? Podemos heredar tanto métodos como campos aquí en esto solo lo hace así en primer lugar, todo está un poco más bonito separado, y luego también no tenemos código duplicado. Ahora la verdadera pregunta es, ¿qué es el polimorfismo? polimorfismo es una palabra grande para un concepto muy, muy fácil de entender. En realidad, en el concepto muy fácil de entender es que un perro es simultáneamente un perro y un animal debe tener sentido, ¿verdad? Entonces tienes una clase de perro es vez un perro o un objeto de tipo? El perro es a la vez un perro y un animal. Suficientemente justa. Está bien. ¿Qué significa eso? Bueno, puedo guardar esto en un animal, ¿verdad? Para que pueda salvar animal, animal es igual a un perro nuevo. Digamos que jeoneun dot PNG. Jenny. A lo mejor Guinea es como 15. Todo oscuro, pero está bien. Y ahora qué pasaría si hago esto en un lunar hacer sonido. ¿ Qué va a pasar ahora? Bueno, quiero decir que es un animal. Entonces obviamente debería decir que Jenny acaba de hacer un sonido, ¿verdad? Porque eso es lo más lógico. Espera un segundo en el fondo, es un perro. Exactamente. Después se acaba de mudar. Porque a pesar de que guardamos esto en un animal, polimorfismo lo hace para que el objeto perro pueda tomar múltiples formas, o cualquier objeto realmente puede tomar múltiples formas. Eso es lo que básicamente significa polimorfismo. Múltiples foros en una traducción muy suelta, digamos. Y lo grandioso que también puedo hacer es que puedo hacer una lista de animales, por ejemplo, tasa llamada animales. Y puedo hacer de esto un nuevo ArrayList sólo por el bien del argumento. Importemos esto. Y entonces sólo puedo decir animales, no agregar. Y no sólo tengo que añadir un animal porque por supuesto Benji es un perro, sino que el perro también es un animal. Y luego también puedo agregar Gracie, y luego también puedo agregar bigotes. Entonces como puedes ver, a pesar todos están salvados como animales, ¿no? Si quiero recuperar esos, animales consiguen uno, por ejemplo, hacer sonido. Por lo que hace por ahí, sí. Ah, bien. Y el método get aquí te devuelve un animal. Pero una vez más, hemos visto que llamar a un método sobre esto realmente causó el, qué, qué decimos el método más específico que puede. Entonces a pesar de que esto se está salvando como animal, Gracie se está salvando como animal aquí, el sonido del micrófono lo va a hacer para que Gracie, justo, para que eso sea bastante guay. Una vez más, si no ves claramente la aplicación para esto, eso está absolutamente bien. Esta es una introducción justa muy abstracta para esto, por supuesto. No obstante, esto sería, por el momento, por esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Y nos vemos en la próxima conferencia. Entonces, sí. 28. (Java) Interfaces y clases Abstract: Muy bien, bienvenido de nuevo a la introducción de Java aquí para el modelado de Minecraft. Y en esta conferencia vamos a estar haciendo una mirada tentativa a las interfaces y clases abstractas. Entonces en realidad vamos a empezar primero con la clase abstracta porque ese es un ejemplo muy ilustrativo en realidad. Entonces en lo que podemos pensar es en lo siguiente. ¿ Qué es un perro? Bueno, quiero decir, ya has visto ¿ has visto a un perro antes? Sí, claro. O sea, ya sea como una foto o en algún lugar del mundo podrías haber visto un perro. ¿ Has visto antes a un animal? Ahora se podría decir que es así de bueno, quiero decir, he visto antes a un perro pero no, no. ¿ Has visto antes a un animal? Y te vas a reunir y fusionar, ¿verdad? Porque es como, lo que es un animal en este momento, lo que podemos hacer es decir animal, digamos que un es igual a un animal nuevo, ¿verdad? Con, por ejemplo, al igual que x, p y g x y eso como 10 años o algo así. Y entonces podrías ser como, ¿cómo es un animal? ¿ Qué representa eso realmente tasa en animal es un concepto muy, muy abstracto. Y clases abstractas, ¿verdad? Ve ahí la congruencia, ¿verdad? Entonces realmente no deberíamos poder crear nuevos objetos de la clase Animal porque ¿cómo es realmente un animal? Las cosas se pueden clasificar como animal, pero el animal objeto no existe, ¿verdad? Entonces lo que vamos a hacer es hacer una clase pública abstracta de esto. Y de inmediato vas a ver que tenemos un problema relacionado, que por supuesto es exactamente esto de aquí, porque no podemos crear un nuevo animal si es abstracto, puede ver animal es abstracto, no se puede instanciar, lo que significa que no podemos crear objetos a partir de en clase abstracta en el gato y el perro. Literalmente nada ha cambiado porque por supuesto, el animal sigue en todo aquí, así funciona. Ahora lo que también podemos hacer y eso es realmente genial para una clase abstracta es que podemos hacer que ciertos métodos sean abstractos. Por ejemplo, el método de sonido del micrófono justo aquí. Entonces podemos simplemente básicamente solo, eliminemos esto. Y entonces lo que va a pasar es que podamos decir público, abstracto, vacío, hacer sonido, ¿verdad? Y ahora mira esto, acabamos de terminar. Por lo que aún tenemos que tener un año de firma de método normal. No obstante, la implementación real se deja en manos de las subclases. Y si no anular esto, lo que se puede ver es que también encontraría que perro de clase debe haber declarado abstracto. Entonces o esto tiene que ser también una clase abstracta o tenemos que implementar los métodos abstractos de animal que solo pueden pasar por encima de esto en los métodos de implementación y luego esto se agregará también. Entonces solo voy a volver con Control Z aquí y entonces todo simplemente funciona bien. Entonces esa es una especie de la idea de una clase abstracta. Y una interfaz es amine, algo que también está muy relacionado con esto. Entonces lo que solo vamos a hacer es que sólo vamos a agregar una interfaz, así que aquí una nueva clase, y luego podemos seleccionar interfaz. Vamos a llamar a esto la interfaz de pétalos y la interfaz IP comestible. Estás en interfaces. También solo definimos un método firmas. Tan vacío, mascota Por ejemplo, tasas de símbolo como este, y eso es todo. Entonces no hay modificador de acceso, solo esto. Y si esta interfaz se implementa ahora por ejemplo, en el gato derecho implementa, tenemos el derecho, entonces yo palatoso que lo que vas a ver es un error muy similar al anterior. Implementar los métodos, el método y el ego. Y ahora tengo que tener algún tipo de implementación en esta clase de gato. ¿ Por qué tenemos interfaces y clases, ya sabes, no podría simplemente hacer otra clase? Animal comestible y cosas así? Sí, claro, eso también funciona. Pero la limitación aquí es que siempre sólo se puede extender desde una clase. No se puede, sin embargo, implementar múltiples interfaces diferentes. Entonces eso es realmente lo interesante aquí. Y entonces también la interfaz básicamente es lo que sugiere el nombre. Es un te permite interrelacionarte con algo de una manera particular. Entonces cuando algo implementa una interfaz, especie de tener un, quiero decir, se podría pensar en ello como un contrato no escrito que todo dentro de esta interfaz es definitivamente tiene un cierto aplicación. Entonces, por ejemplo, podría decir algo como, ya sabes, sólo este nombre era mascota, algo así, ¿verdad? Y entonces puedo simplemente copiar esto sólo por el bien de la discusión. Yo también voy a implementa esto en el perro de aquí. Entonces pedaleé y sólo voy a añadir esto y luego vamos a decir algo como fue rayado y rayado detrás de las orejas, por ejemplo, ¿verdad? Y ahora lo que puedo hacer es en lugar de, por ejemplo, hacer una lista de animales, ahora podría, por ejemplo, también hacer una lista de iptable, ¿verdad? Entonces ahora tenemos estas mascotas calificar nueva ArrayList de eso, y podemos sumar esas también, ¿verdad? Mascotas punto agregar. Y luego digamos Benji, y luego digamos bigotes, ¿verdad? Y ahora podemos hacer un zoológico de mascotas si quisiéramos. Eso es realmente genial. Y no importa. Una vez más, con el polimorfismo, no importa si se guardan como pétalos yo. Una vez más, su real implementación se está llamando Cuando íbamos a llamar, por ejemplo, Pets dot get one. Entonces lo que pasaría es que por supuesto que la implementación real se está llamando bigotes fue parcheado en lugar de bigotes se rascó detrás de las orejas. Esa es una especie de idea general aquí. Una vez más, interfaces clases abstractas. Algo así en la misma línea que la herencia y el polimorfismo en general. Donde podría ser un poco raro porque en estos ejemplos, a veces es difícil atravesar realmente la idea. Una vez más, probar un montón de cosas realmente puede ayudar o seguir las asignaciones, también un esfuerzo que vale la pena. Pero por lo demás, por el momento, esto va a ser para esta conferencia aquí mismo. Espero que te haya parecido útil esto y hayas aprendido algo nuevo. Y nos vemos en la próxima conferencia. Entonces, sí. 29. ASSIGNMENT el objetivo de la Trivia: Muy bien, Bienvenido a la tercera asignación aquí para la introducción de Java. Y esta es en realidad una asignación bastante sencilla. Como puedes ver, no es tanto tiempo. Una vez más, el tiempo que lo lleve y que esto pueda ser redondo alrededor una hora más o menos como suele ser una estimación muy conservadora también. Entonces hay un poco de espacio de meneo que son podrías ser capaz de hacerlo en 30 minutos, ¿verdad? No se preocupe en absoluto. Pero por el momento, sólo pasemos por aquí. Así trivia juego con clases y objetos. Entonces, una vez más, queríamos el mismo juego de trivia que hemos estado haciendo en las dos últimas asignaciones también. Básicamente quiero que modifiques los juegos de trivia que usa clases también. Ahora esto puede ser de cualquier manera, forma, o forma que pudiera ser el caso. Piensa como cómo podrías hacer algunas clases personalizadas que, ya sabes guarda las respuestas y las preguntas pueden estar juntas. A lo mejor puedes usar una lista, algo así. De verdad depende de ti cómo quieres estructurar esto. Pero solo piensa en cómo puedes hacer esta manera más fácil con clases y objetos, y luego solo prueba eso. Por supuesto, una vez más, la solución estará disponible para ti una vez que hayas terminado, sugiero encarecidamente tomarte una grieta en ella y realmente probar esto. Y supongo que te veré en la solución. 30. SOLUCIÓN 3: actualizar juego de Trivia: Muy bien, Bienvenido a la solución para la tercera asignación aquí mismo. Y bueno, quiero decir, supongo que sólo echemos un vistazo. Se puede ver que en realidad sólo tengo dos clases, una clase de juego trivia y una clase trivia. Y la clase de juego trivia básicamente contiene toda la lógica y el bucle de juego. Y la clase trivia contiene las preguntas y las respuestas. Entonces echemos un vistazo a la clase trivial. En primer lugar, permítanme acercar un poco aquí para que podamos ver que tengo una pregunta de cadena, una respuesta de cadena, y solo un constructor que pasa en ambas variables de encogimiento aquí. Y luego tengo un montón de métodos aquí, derecha es la respuesta correcta básicamente saca un booleano y también se asegura que todo esté en minúsculas. Por lo que la entrada como realmente se pone a minúsculas, sin embargo, que básicamente se puede poner en mayúsculas y todavía cuenta como la respuesta correcta. Aquí tenemos la pregunta de impresión, la respuesta de impresión. También tenemos respuesta validada que luego trae una, Hey, esta fue una respuesta correcta, o esta fue una respuesta incorrecta también. Y esta es más o menos la clase trivia. Una vez más, si esto no se parece exactamente al tuyo, eso está absolutamente bien. Este es sólo un ejemplo de cómo hacer esto. Y luego lo mismo con el juego de trivia, ¿verdad? Tenemos una lista de trivialidades aquí. Entonces esas son todas las preguntas básicamente que se están poblando aquí mismo. Entonces esto se llama en realidad, lo siento, en el método del juego de inicio, ¿no? Entonces esto es lo primero que sucede, lista de trivialidades poblada. Y esto se hace aquí mismo, donde sólo tenemos un nuevo ArrayList y luego agregamos un montón de esos triviales ahí mismo a la lista real aquí. Y esto es realmente genial porque esto ahora también se podría hacer a través de una lectura en, desde un archivo o, ya sabes, descargando cosas de internet. Por lo que este método aquí podría muy fácilmente ser reemplazado por otra cosa. Y este es realmente el poder cuando haces esto por separado en estas clases, justo antes de que tuviéramos esas variables de cadena individuales, no había manera de que pudiéramos cambiar esto muy fácilmente. En este caso, podríamos cambiar esta base de datos de madera por eso. Podrías poner, como dije, algo en internet. Podrías hacer casi cualquier cosa, leerlo de un archivo. Y eso es realmente lo que quieres hacer con las clases. Se quiere hacer este tipo de genérico en el sentido de que se puede agregar y restar cosas muy fácilmente de ella. Por lo general agregan, por supuesto, ¿verdad? Y luego hay un montón de otras cosas aquí también, ¿verdad? Entonces el bucle de juego es lo principal donde tenemos este bucle while infinito aquí mismo, donde solo pasamos por cada una de las preguntas, validando las respuestas consiguiendo la entrada del usuario y luego la puntuación si la respuesta es realmente correcta. Y luego solo imprimiremos el marcador después de cada una de las preguntas. Entonces al final aquí preguntamos, Hey, ¿deberíamos abortar el juego? Y si el usuario dice que sí, entonces simplemente salimos de ella e imprimimos el marcador final al final del juego también. Eso es bastante guay. Todas las cosas consideradas, esto es más o menos todo lo que realmente necesitas. Una vez más, si tu respuesta difiere, no te preocupe en absoluto. Pero ojalá tengas esta respuesta por la que puedas caminar y una especie de tratar de entender, bien, bueno, ¿cómo haría esto? ¿ Por qué se hizo esto? Ya sabes, métodos, vale, Eso son clases muy interesantes. Entonces esa es una especie de idea aquí. Pero para esta solución, esta sería. Y espero que esto te resulte útil y aprendas algo nuevo. Y nos vemos en la próxima conferencia. Entonces, sí. 31. ASSIGNMENT 4: sistema de gestión Bank: Muy bien, Bienvenido a la cuarta asignación aquí para la introducción de Java. Y en esta asignación, se supone que debes crear un sistema de gestión bancaria. Ahora en general, esto podría ante todo sonar muy complicado, pero sin preocupaciones. Te paso a través de la idea que tuve aquí. Por lo que el sistema de gestión bancaria debería tener algo así como estos componentes, una persona, un banco y una cuenta corriente. Y luego para abrir una cuenta corriente, deberías ir vía un banco, justo en ella podría requerir un cierto depósito inicial aquí. Y los componentes o clases individuales que tienes derechos que una persona podría tener un nombre, medio y apellido, y edad. A lo mejor es algo así como un número de seguridad social no necesariamente se requiere, pero ya sabes, algo así. Un banco podría tener una lista de clientes. Sus cuentas corrientes pueden ser una montura máxima de sobredibujar, algo así. Y entonces una cuenta corriente podría tener el valor actual y los métodos para sacar y depositar dinero en general. Esa es una especie de idea general. Hay un montón de maneras en las que puedes acercarte a esto. Entonces me interesa mucho ver lo que se te ocurre. Y por supuesto, la solución volverá a estar disponible para usted. Creo que esto es probablemente un poco más difícil. Me imagino que algo así como 1.5 horas es probablemente mejor dejar a un lado para esto para que realmente puedas cavar y tratar de entender y hacer algo que sea bastante guay. Así que buena suerte. 32. SOLUCIÓN 4: sistema de gestión Bank: Muy bien, Bienvenido a la solución para la cuarta asignación. Y como pueden ver, tenemos tres clases diferentes, más o menos como dije en la asignación real. Y bueno, sólo vamos a pasar. Entonces tenemos una clase de persona que es bastante simple, lee primero, segundo y apellido, y una edad o privada esta vez, y básicamente accesible vía ghettos aquí. Y entonces también tenemos aquí un booleano, que básicamente sólo devuelve si una persona es mayor o no de lo que aquí se ha suministrado, cual es muy interesante. Y la cuenta aquí también es interesante, ¿verdad? Tenemos un balanceado, tenemos ID de cuenta. En este punto en realidad no se utiliza realmente todo tanto, pero es muy posible que se pueda hacer algo con esto también y luego un titular de cuenta también. Y eso se utiliza en el banco para básicamente obtener aquí una cuenta específica. Para que podamos ver alguna vez tener una lista de cuentas, ¿verdad? Y la forma en que podemos conseguir una cuenta es conseguir cuenta por persona. Pero esa es la forma en que yo personalmente ahora mismo para conseguir las cuentas aquí. Y el resto es más o menos la cuenta bancaria, ¿ no? Entonces, básicamente, si puedes abrir esta cuenta, ¿es ese el caso? Y básicamente valida si alguien tiene o no 16 años o más, y también si el depósito mínimo ha sido realmente golpeado. En realidad hay un poco de bicho aquí dentro, ¿verdad? En este método, eso es muy interesante. Puedes tratar de encontrarlo tú mismo. Tan solo un poquito de un ejercicio interesante también. Pero por lo demás, ya sabes, en general, esto es una vez más sólo un ejemplo de esto. Podemos sólo echar un vistazo a esto, ¿verdad? Entonces lo que vamos a tener es que aquí tengo algún código, así que nano tech no es lo suficientemente viejo para abrir una cuenta bancaria y luego diez, digamos euros o dólares no es suficiente. Necesitamos al menos un 150 y entonces realmente obtenemos el saldo de la cuenta de María, que es 2000. Entonces tratar de retirar 3000 no funciona porque el monto del retiro es en realidad 500 o el sobreempate básicamente. Y por eso esto no funciona. Entonces esa es una especie de idea general aquí. Una vez más, Hay muchas formas en las que puedes hacer esto si se ve completamente diferente a la tuya, pero sigues funcionando, eso está totalmente bien. Independientemente de eso, espero que este fuera un ejercicio útil o una tarea útil dos, terminas y te veré en la próxima conferencia. Entonces, sí. 33. (Java) clases de anonimos (Java): Muy bien, bienvenido de nuevo a la introducción de Java aquí para el modelado de Minecraft. Y en esta conferencia, vamos a estar mirando a la clase anónima. Entonces, ¿qué es una clase anónima? Bueno, cuando heredamos de algo, entonces pensamos de nuevo la clase de perros, ¿verdad? Eso tenía nombre, derecho, y heredado de la clase animal. Y ahora lo que podemos hacer es por ejemplo, podemos hacer una persona aquí, ¿no? Por lo que todavía tengo la clase de persona de la última asignación. Entonces, por ejemplo, el personal es igual a una persona nueva, pero es tan nano ataque y ocho años, digamos sólo por el bien de la discusión aquí. Ahora bien, todo esto está bien. Si ahora quisiera una clase que amplíe esta clase de persona, que es un gerente. Ahora lo único que vamos a hacer es en realidad sólo hacerlo para que cuando tengas el nombre completo, te imprima el nombre como Gerente. De acuerdo, Entonces, ¿cómo haríamos esto? Haremos una nueva clase, ¿verdad? Y todo eso. Bueno, digamos que en realidad solo necesitamos este. Entonces lo que podemos hacer es hacer una clase anónima. Entonces podemos decir que el gerente de persona es igual a una persona nueva. Pero digamos solo John Smith, ¿verdad? Digamos 42. Y luego terminamos con esto. Ahora qué podríamos hacer en lugar de terminar esto con un punto y coma, después de que terminemos, en realidad vamos a hacer un corchete sagrado y terminar el corchete rizado final con un punto y coma. Se puede ver que aquí no hay flechas. Porque dentro de aquí ahora hemos creado esta clase anónima porque es una clase que extiende la clase de persona. No obstante, no tiene nombre, por lo tanto es anónimo. Y cuando podemos hacer es, se puede ver si empiezo a escribir una anulación aquí, realidad puedo anular todo lo que está dentro de la clase de persona que está sobreescribible. Prefiero ejemplo, puedo decir fullname y luego puedo decir algo como Manager, y luego además obtener el nombre completo. Entonces esto es ahora lo que hace esta clase anónima en particular. Y entonces puedo, si sistema fuera la línea de impresión, por ejemplo, nano dot obtener nombre completo. Y entonces también puedo hacer lo mismo para el manager dot getName. Ya verás que el nano sólo va a ser nano ataque. Y luego va a ser el manager John Smith porque hemos agregado este manager aquí mismo. Este ejemplo podría no ser el más ilustrativo. Me resulta muy difícil mostrarte realmente un ejemplo muy ilustrativo de clases anónimas. Normalmente es lo más lejos en que vas, ya sabes, con interfaces y herencia y cosas así, se vuelve muy difícil si no estás en un entorno muy, en un entorno real donde realmente tienes algunos clases y alguna funcionalidad. Pero esto definitivamente es algo que veremos en la sección de modelado del curso también. Porque aquí hay un montón de cosas que van a ser necesarias para eso. Pero sea cual sea el caso, al menos lo has visto aunque no vamos a entrar en demasiados detalles aquí, espero que hayas encontrado esto útil y aprendas algo nuevo. Y nos vemos en la próxima conferencia. Entonces, sí. 34. (Java) Enums y Enums avanzado: Muy bien, bienvenido de nuevo a la introducción de Java aquí para el modelado de Minecraft. Y en esta breve conferencia, vamos a estar echando un vistazo a las enumeraciones y también enumeraciones avanzadas, en general, enumeraciones, puedes pensar en esas como ciertos tipos de datos que tienen valores predefinidos, y tú sólo puede asignar esos valores a esa variable real. Entonces vamos a crear, por ejemplo, una enumeración de dificultad, ¿verdad? Entonces podemos convertirla en una clase y luego simplemente cambiar esto a enumeración aquí mismo. Y entonces la forma en que una enumeración básicamente está estructurada es tiene los valores reales que puede tomarla justo dentro de ella. Entonces por ejemplo, fácil, medio, y duro, por ejemplo, como podrían ser las dificultades de un juego. Y luego para crear una nueva variable para esto, es más o menos una vez más dificultad. Entonces llamemos a esto la dificultad del juego, ¿no? Bajo así. Y entonces esto es igual a 2. Asigna esto, puedes ver punto de dificultad, y luego solo tenemos estos tres valores como opciones posibles. Entonces digamos solo dificultad media aquí. Y podemos entonces normalmente simplemente reasignar este derecho? Nuevamente, dificultad es igual a 2. Dificultad, dificultad difícil por ejemplo. Y luego dos. Por ejemplo, también podemos hacer declaraciones IF fuera de un juego retro, dificultad igual, igual. Ahora eso equivale a algo, por ejemplo, dificultad fácil. Y luego hacemos algo aquí. Entonces eso es casi todo lo que realmente es para enums normales. Y hay algo interesante para lo que yo llamo enumeraciones avanzadas. Entonces para eso, vamos a crear una nueva clase Java. De nuevo, ese es el nivel de herramientas, y eso también se va a renombrar a una enumeración aquí, en realidad voy a copiar algunas cosas del otro monitor aquí mismo. Por lo que esto en realidad también está disponible por supuesto para ti, un repositorio de GitHub o ajustar también. Se puede ver que si bien esto es una enumeración, aquí tiene un constructor y tenemos algunos campos tasa. Eso es muy extraño. Sí. Entonces la idea es que se puedan tener enums definidos. Entonces por supuesto esta es una enumeración de diamantes. Y sólo por ejemplos generales aquí. Y lo genial es que esos funcionan exactamente igual que los otros. Entonces puedo decir que un nivel de dos niveles es igual a, digamos, por ejemplo, el diamante de la punta de herramientas, ¿verdad? Y lo que entonces puedo hacer muy fácilmente es que puedo decir sistema fuera nivel de línea de impresión, por ejemplo, git tag multiplicador, que luego me consigue el multiplicador de ataque de lo que sea que se haya asignado el nivel. Entonces básicamente puedo tener un, no quiero llamarlo lista necesariamente porque una lista es un poco diferente, pero puedes tener valores predefinidos en esta enumeración aquí, en esta enumeración. Entonces esa es la enumeración y luego puedes acceder a esos también. Entonces eso es realmente va a terminar, puede ser realmente útil. Y definitivamente veremos este ejemplo en cuando estemos haciendo herramientas, herramientas personalizadas o Minecraft. Eso definitivamente es algo que vamos a ver. Pero por lo demás eso es más o menos para las enumeraciones. Yo solo quería mostrarte esto y mencionar es que al menos has visto esto antes. De lo contrario esto sería todo para esta conferencia aquí mismo. Espero que esto te resulte útil en neuronas de lo nuevo, y te veré en la próxima conferencia. Entonces, sí. 35. (Java) Excepciones y prueba y captar: Muy bien, bienvenido de nuevo a la introducción de Java aquí para el modelado de microondas. Y en esta conferencia, vamos a estar echando un vistazo las excepciones y a la declaración try and catch. Entonces en general, este no es el más interesante, o qué dirías, el tema más emocionante? No obstante, lo es, puede ser bastante importante . No obstante. Si bien excepciones hemos visto algunas de esas. Por ejemplo, el algo así como la IndexOutOfBoundsException y la NullPointerException. Entonces hubo algunas excepciones que hemos visto antes que fueron arrojadas por el código real. Y lo que vamos a hacer es que ahora vamos a lanzar nuestra propia excepción personalizada. Entonces en nuestro paquete vamos a crear una nueva clase, que es la excepción de prueba, porque simplemente realmente nos requiere tener una excepción de prueba aquí. Solo vamos a extender la clase de excepción aquí mismo. Y en realidad voy a copiar sobre los dos constructores que vamos a necesitar aquí para esto. Entonces esto es por supuesto, todo disponible para ti ya sea en el repositorio de GitHub o energizado también. Vamos a tener es vamos a tener un escáner donde podemos simplemente escanear rápidamente en algún sistema de cosas aquí mismo. Y entonces sólo vamos a guardar lo siguiente. Entonces vamos a decir siguiente int, y simplemente vamos a guardar básicamente algo en un entero aquí. Y sólo por el bien del argumento, lo que vamos a hacer es lanzar esta excepción cuando pasemos aquí un número 0 a un método específico. Tan privado, estático, vacío cheque por 0. Eso es muy sencillo en el número. Y lo que vamos a hacer es que vamos a decir si el número, si el número estuviera pasando algún residuo, entonces lo que vamos a hacer es que vamos a lanzar una nueva excepción. ¿ Cómo hacemos esto? Vamos a escribir lanzar nuevas pruebas excepción, y luego sólo vamos a decir que el número es 0. Por ejemplo, algo así. Y eso es casi todo lo que realmente necesitamos hacer aquí. Lo que ves es que esto realmente arroja un error aquí porque Agregar excepción a la firma del método. Entonces en realidad tenemos que tener esto en este método aquí. Por lo que tenemos que agregar la excepción de prueba de lanzamientos a la firma del método, lo contrario no funciona. Y si llamo a esto ahora, ¿verdad? Entonces si reviso 0, i, lo que verán es que esto también tiene que agregarse al método principal también porque esto no se maneja correctamente, por lo que no estamos manejando esta excepción. Entonces lo que puedes hacer es que solo vamos a ejecutar esto. Y si yo, por ejemplo, escribo uno aquí, no pasa nada. El programa termina normalmente más si pongo un 0, puedes ver la excepción y recuento de hilos principales y tu excepción de prueba, números muy interesantes 0. Y entonces se puede ver hasta dónde se ha llamado esto, ¿no? Entonces aquí primero y luego aquí fue la excepción que se arrojó. Entonces eso es muy interesante. Primero que nada, un comentario esto fuera y deshacernos de la sección artística allá arriba. Y lo que podemos hacer ahora es que podemos decir, por ejemplo, digamos que z es igual al punto del escáner siguiente int. O en realidad simplemente saltarle el yo aquí para eso. Eso está bien. Ahora podemos hacer una declaración try. Entonces esto va a ser un intento con los corchetes rizados. Y entonces aquí va a tener una captura con una excepción e dentro de ella. Y esto básicamente es manejar un error, ¿verdad? Entonces la declaración try and catch está ahí para manejar un error. Entonces vamos a probar esto aquí mismo. Escribe un cheque por 0 I. Y si se captura o se lanza una excepción, ¿verdad? Y lo podemos atrapar aquí. Y entonces podemos hacer algo con él. Por ejemplo, podemos simplemente básicamente hacer algo como esto. Entonces GET mensaje entonces solo por ahora, básicamente solo imprime lo que realmente está sucediendo aquí, ¿verdad? Entonces la excepción real, hay por supuesto otras cosas que podrías querer hacer o tener que hacer si se capta una excepción. Y entonces también tienes esto por fin aquí, que sólo vamos a hacer lo siguiente. Simplemente vamos a imprimir básicamente por fin, sólo para ver que esto está impreso y entonces realmente vamos a copiar el out. Y esto va a ser, esto pasa siempre. Pero ahora lo interesante es cuando realmente manejas las excepciones correctamente con una declaración try and catch aquí, entonces lo que pasa es que el programa no sólo se rompe o no acaba de terminar, en realidad continúa a lo largo. Entonces lo que se puede ver es que en primer lugar, cuando llamo, cuando pongo un 1 por ejemplo, ¿verdad? Entonces un día vas por fin, y esto sucede siempre. Entonces el finalmente, como se puede ver, siempre está frío y entonces esto siempre se llama también, ¿verdad? Y entonces lo interesante es que cuando se lanza la excepción, se puede ver que estamos imprimiendo el mensaje. Pero finalmente todavía sucede. Y el, ya sabes, esto sucede siempre, también sigue pasando. Por lo que el resto del programa continúa. Lo que es muy importante es que en general, quieres que tu código falle lo más alto posible simplemente por el hecho de que quieres que los errores se vean muy, muy temprano. Por eso lanzar excepciones puede ser útil. Ahora, otorgado en modelado de microondas, es muy poco probable que tenga que hacerlo, sobre todo al principio, ¿verdad? Es decir, la mayor parte de esto, estoy asumiendo para principiantes, ¿no? Esto no va a ser muy importante para los principiantes. Esto es algo mucho más para las personas avanzadas. Cuando realmente estás ahí sentado, estás como, Vale, voy a hacer como un modo gigante ahora, ¿verdad? Yo quiero que sea como la próxima expansión térmica, Digamos en ese nivel algo así, luego haciendo algunas excepciones personalizadas. Idea muy inteligente, definitivamente. Pero sea cual sea el caso, esto es todo para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Y nos vemos en la próxima conferencia. Entonces, sí. 36. (Java) Expresiones Lambda Java: Muy bien, bienvenido de nuevo a la introducción de Java aquí para el modelado de Minecraft. Y en esta conferencia, vamos a echar un vistazo tentativo a unas expresiones lambda. Por lo que las expresiones lambda pueden ser muy complicadas. Yo solo quiero darles un resumen muy breve de las que tenemos y cuáles son las expresiones lamda. Entonces en general, y el pueblo veterano va a tres métodos. Básicamente son funciones o métodos como variables. Ahora eso es bastante guay cuando lo piensas. Y vamos a echar un vistazo a estos cinco sólo en detalles muy, muy escasos. Entonces no vamos a entrar en ningún detalle en absoluto. Yo solo quiero que hayas visto esos n para básicamente almacenar eso en el futuro. Porque especialmente en el modelado 4D, esto es algo que es muy importante en realidad en tela, no tanto, bueno, cualquiera que sea el caso. Entonces un proveedor, por ejemplo, aquí mismo, correcto, es algo que no tiene parámetros sino un valor de retorno. Y podría escribirse algo así, ¿no? Entonces no hay parámetros en los paréntesis y una flecha y entonces la x podría ser lo que se esté devolviendo. Se puede ver proveedor de tipo entero significa que se devuelve un entero. Y entonces así es como se ve. El cool de esto es que esto también significa porque cuando podemos hacer una variable fuera de ella, también podríamos pasarla a un método, que significa que podríamos, podríamos pasar en estos proveedores ahí dentro, que podrían tener diferentes funcionalidades. Por lo que eso es bastante cool en realidad, esto también se utiliza en la programación de lujo mucho o modelado forzada, sobre todo porque cuando el proveedor, cuando se tiene algo dentro de él, esto es solo se llama cuando se llama al getMethod aquí. Por lo que puedes especie de retrasar la carga de ciertas variables y cosas así. Esa es más o menos la extensión de mis conocimientos en esa área también. Entonces no vamos a entrar demasiado en ello. Y luego después de que hayamos arreglado este error aquí por metro, claro, ¿verdad? Por lo que el consumidor tipo de en el nombre realmente consume un parámetro pero no devuelve un valor. Aquí hay un ejemplo para el consumidor para una cadena, que simplemente básicamente es donde pasas en una cadena y luego hace algo con esa cadena. Un llamable no es perímetro y ningún valor de retorno. Tan muy similar a un proveedor, sin embargo, arroja una excepción, por lo que un callable, es posible que eso llame a un derrocamiento una excepción también. Esa es la idea general. También puedes pasar el rato sobre esto y en realidad puedes encontrar un resumen muy bonito de lo que en realidad son, ¿verdad? Entonces aquí estamos llamando a lo callable en este caso, entonces un runnable es algo que no tiene parámetros y no tiene valor de retorno. Entonces una función básicamente es literalmente como una función que mapea una cierta entrada a una determinada salida es solo la función para el círculo, básicamente donde acabo de tener el pi aquí. Pero eso es más o menos todo lo que hay realmente a ello. Entonces en general, como dije, de verdad sólo quería que pasaras por esto una vez que haya visto esto antes, cuando diga, Hey, vamos a hacer un proveedor que no te sientas ahí y estás como, oh, no tengo ni idea de qué es eso. No. Un proveedor básicamente es un tipo de datos que tiene, ese tipo de más o menos ahorra en una función o un método. No es del todo eso, pero está muy cerca para que, ya sabes, sobre todo para principiantes, sea suficiente pensarlo así. Sea cual sea el caso, esto es en realidad para esta conferencia aquí mismo. Sé que esto fue muy corto, pero como dije, realidad es sólo un resumen muy breve en lugar de explicar realmente cada detalle de la misma. Pero sigo esperando que esto te resultara útil y aprendiste algo nuevo. Te veré en la próxima conferencia. Entonces, sí. 37. (Java) Generics Java: Muy bien, bienvenidos de nuevo a la introducción de Java aquí para el modelado de Minecraft y para esta última conferencia de la sección de introducción de Java, vamos a estar haciendo una mirada tentativa a los genéricos. Genéricos, claro que los hemos visto antes, ¿verdad? Una lista era un genérico, por ejemplo, donde podríamos poner un entero como cualquier clase básicamente, y básicamente tener los números, por ejemplo, con un nuevo ArrayList aquí. Por lo que todo funcionó muy fácilmente y muy bien. Eso estuvo bien, bastante sencillo. Pero y si tenemos genéricos que queremos usarnos para eso realmente vamos a crear una nueva clase aquí. Sólo vamos a ser la clase de pareja. Y podrás guardar dos valores diferentes en ella. Entonces solo vamos a hacer esos corchetes angulares y luego x, y. y la idea es que X e Y ahora son y la idea es que X e Y ahora sonmarcador de posición para ciertos tipos de datos. Entonces vamos a tener una x privada al cuadrado primero y una mentira privada llamada segunda, ¿verdad? Y esto es, la idea es que ahora tienes que pensar en esto como, vale, esos son genéricos, lo que significa que esos son solo marcador de posición, como dije, ¿verdad? Y solo generemos un constructor para esto. Así que haga clic derecho en generar constructor. Y luego para los dos vamos a simplemente leer el constructor. Y entonces en realidad también vamos a hacer clic derecho Generar getters y setters para ambos. Y ahí tienes. Esa es básicamente toda la clase ya hecha. Y puedes ver que siempre usa la x y la y porque esos son básicamente solo marcador de posición para los valores de datos reales o tipos de datos que se están utilizando. Ahora lo que es muy interesante, lo que también puedes hacer es decir que cierto tipo de datos como para extenderse de uno diferente. Entonces podemos, por ejemplo, decir extiende flotador, lo que significa que el y ahora tiene que extender el flotador, lo que significa que puede ser un flotador o cualquier otra subclase de esa clase que se definieron aquí. Eso también es muy interesante. Es algo que puedes hacer y que se hace en el modelado de Minecraft extensamente también. Y lo que también puedes hacer, hagamos un nuevo par aquí, ¿no? Entonces par, Digamos que son como enteros, enteros flotantes por el momento, como este término igual a un nuevo par de ellos. Vamos a decir algunos como 2250.55. Claro, está bien. Asegurándose de que esto es una f aquí, entonces debería funcionar. Ahí vas. Esto ahora está funcionando totalmente bien. Y lo que también puedes hacer, en lugar de pasar un cierto valor real o cierto tipo de datos, también puedes hacer de esto un signo de interrogación. Y entonces el genérico simplemente lo descubrirá. Esto es lo que se llama un genérico comodín. No vamos a entrar demasiado en detalles sobre esto. Esto es algo que también verás en Minecraft modelando un poco también. No obstante, esto es, no hay necesidad real de entender esto. Es enteramente porque los genéricos definitivamente es algo que es camino, muy avanzado, como tema muy avanzado que incluso como programadores calificados no les gusta mucho de ellos ni siquiera entienden esto. Al igual que no me incluiría en esa descripción por cierto, como, conozco genéricos lo suficientemente buenos para que básicamente pueda lidiar con ellos. No obstante, haciendo como una verdadera clase genérica yo mismo, seré honesto, esto es muy, muy duro, ¿verdad? Entonces este es un tema muy complicado, así que no hay preocupaciones ahí en absoluto. Yo sólo quería mencionar esto y quería que vieras que esto existe y que también puedes hacer tus propios genéricos. Pero eso sería todo para la introducción de Java en esta sección del curso. Espero que esto te resulte útil y aprendas algo nuevo si eres un principiante completo, espero que ahora tengas la fundación Java que vas a necesitar para poder seguir junto con el microondas modelado. Entonces la mejor de las suertes, y espero que disfruten la sección microbiótica de este curso. 38. (conceptos básicos): Muy bien, Bienvenido al curso de tela de Minecraft aquí por 118. Y en esta primera conferencia, vamos a pasar por mientras unos requisitos previos que necesitarás para empezar a modelar Minecraft. Ahora vamos a pasar por todo, descargando todo lo que necesites, los programas, configurando el proyecto de fabric, y luego incluso configurando un repositorio de GitHub para que ya sea puedas compartir tu con alguien que podría ayudarte. Entonces, por ejemplo, si te encuentras con un problema, entonces puedes subir todo tu código y luego puedes enviarlo a otra persona. Por ejemplo, yo en el Q&A. Y luego puedo intentar muy fácilmente encontrar el error, que sólo va a ahorrar mucho tiempo entre lo básicamente la pregunta y la respuesta. Pero antes que nada, si eres un principiante absoluto, recomiendo encarecidamente si no lo has visto, viendo la introducción de Java, simplemente no puedo recomendar esto lo suficiente. Te va a ayudar inmensamente. Porque si no tienes eso, sobre todo pasando por la parte de modelado de Minecraft de este curso, te vas a sentir muy perdido muy rápido. Porque en este punto, asumo que al menos has visto todo en la introducción de Java y estás razonablemente familiarizado con los conceptos que ahí hemos discutido. Pero sea cual sea el caso, comencemos con descargar el JDK. Entonces necesitamos un Java Development Kit, y este va a ser el 17 de Java. En realidad, este enlace está vinculado en los recursos. A pesar de haber usado Java 16 para la introducción de Java, ahora tenemos que descargar Java 17. Ese no es un tema por cierto en absoluto. Entonces esto está vinculado y esto debería en teoría detectar cuál es su sistema operativo. Si esto está mal, se puede ir a otras plataformas. Te estás asegurando de seleccionar tamarin 17, y luego puedes básicamente simplemente seleccionar tu sistema operativo, la arquitectura aquí también, y luego solo descarga, descarga el año MSI. Y al descargar esto, este es solo un aislamiento normal para que puedas instalar esto en tu PC como cualquier otro programa. Y una vez que lo hayas hecho entonces puedes continuar por la siguiente parte es que vamos a necesitar un IDE que sea un entorno de desarrollo integrado. Y para nosotros vamos a elegir idea inteligente. Si eres una vez más principiante, recomiendo encarecidamente simplemente quedarte con esto porque de lo contrario van a haber algunas cosas que podrían verse diferentes para ti. Entonces por ejemplo, si quisieras usar Eclipse o VS Code, también totalmente bien. No obstante, ten en cuenta que si te encuentras con algún tema ahí, tal vez no pueda ayudar tan bueno como podría ser capaz de con idea inteligente porque conozco todas las piernas, digamos atajos y todos los botones que tienes que presionar cuando algo sale mal en la idea, no estoy 100% familiarizado con el código Eclipse o VS, así que solo tienes que tener eso en cuenta y descarga la versión de la comunidad. Muy importante. Esto es gratis por lo que no tienes que pagar nada. La versión comunitaria del lado derecho aquí. Así que solo descarga eso una vez más y luego instala eso en tu PC, al igual que cualquier otro programa también. Ahora llegamos a lo siguiente y eso va a ser el ejemplo de tela más. Ahora puedes ver que esta es una plantilla pública, por lo que hay algunas cosas que puedes hacer sobre esto. O bien puedes usar esta plantilla y simplemente hacer un nuevo repositorio de GitHub. Eso no es lo que vamos a hacer. Lo vamos a hacer es que vamos a ir al código aquí y hacer clic en descargar un zip. Esto va a descargar un archivo zip con todos los archivos requeridos que básicamente necesitamos. Y ya he preparado un titular aquí donde quiero que esto entre. Sólo voy a hacer clic derecho aquí, extraer aquí. Esto es sólo para esto estoy usando wind rawr. También puedes usar siete zip u otro programa ZIP para básicamente abrir esto. Bueno ahora todo está aquí. En realidad voy a Control X esto para sacar esto y Control V para pegarlo aquí. Así que solo quiero que todo esté en esta carpeta. Y ahora dos cosas que podemos hacer de inmediato. Podemos eliminar la licencia y el archivo README para que no vamos a obtener la misma licencia aquí porque esta es básicamente la licencia de dominio público. Y eso en realidad no es algo que yo personalmente quiera. Por supuesto que puedes quedarte con él como quieras. Y luego también recomiendo encarecidamente simplemente eliminar la carpeta GitHub aquí mismo, la carpeta dot GitHub, porque eso básicamente contiene algunos flujos de trabajo. Aquí básicamente puedes ver facturas automáticas el proyecto y ejecutar cualquier prueba de configuración para ello. Realmente no necesariamente necesitas hacer esto. Puedes quedártelo. Pero esto es algo para lo que a veces podría ser un poco confuso, sobre todo una vez más principiantes. Por lo que recomiendo encarecidamente simplemente eliminar eso y no preocuparme por ello por el momento. Ahora tenemos aquí el modelo de tela mod, y esto es en realidad todo lo que necesitamos. Podemos iniciar la inteligencia por primera vez. Ahora probablemente no te vaya a quedar exactamente así. No obstante, tendrá tres componentes que necesitamos. Y este es el nuevo proyecto, el abierto. Y obtienen de VCS por esos tres botones, básicamente Arthur, cosas que vas a necesitar. Y queremos hacer clic en el botón Abrir y luego básicamente navegar a este directorio. Entonces sólo vamos a poner este directorio aquí y se puede ver el caballo de tela 118, y en y se puede ver el caballo de tela 118, realidad tiene este símbolo aquí y vamos a golpear Okay, y luego cruzamos el proyecto y luego un nuevo ventana aquí se abrirá y se pueden ver algunas cosas ya se inician aquí. Eso está totalmente bien. Sólo manténgalo en marcha. Si te pones como rojo aquí, flechas, no te preocupas en absoluto. Vamos a arreglar todos esos en tan solo un minuto. Lo primero que probablemente se te ocurra si, por ejemplo, tienes aquí una versión diferente de Java, puedes ver que estás usando una versión obsoleta de Java. Eso es correcto para mí porque tengo instaladas múltiples versiones de Java. Ahora, ¿cómo arreglas esto? Muy fácil. Vas a File project structure, y puedes ver aquí en el proyecto SDK, tienes que seleccionar Java 17. Y luego aquí en el lenguaje de nivel del proyecto más o menos 17 hit Aplicar y Okay, y hay una segunda cosa que hay que hacer, y vamos a Configuración de archivos a la implementación de ejecución herramientas construidas Gradle, y asegúrate de que este año esté listo para proyectar SDK. Eso también es muy importante. Se aplica si ese no es el caso, ¿de acuerdo? Entonces puedes volver a golpear a este pequeño elefante aquí y dejarnos correr otra vez. Y ahora no deberías conseguir ninguna flechas en ese caso, pero solo debería correr correctamente. Pero se puede ver que tengo una construcción exitosa aquí, por lo que en realidad es realmente bueno. Y entonces lo que también verás es que tendrás tres de esas carpetas naranjas generadas. Y luego si nosotros, por ejemplo, abrimos la carpeta fuente, por lo que SRC significa fuente. Si abrimos eso, se puede ver que también obtenemos algunos colores aquí. Ahora lo siguiente es que cuando abrí esta carpeta java, se puede ver que todo aquí se expande. Si estás usando inteligente por primera vez, este podría no ser el caso para ti. Ve a este equipo aquí y asegúrate de que tanto los paquetes aplanados como los paquetes intermedios compactos estén apagados. Entonces este podría ser el caso, cómo te busca. Solo asegúrate de que tanto fly como paquetes como paquetes medianos compactos apagados y luego todo luzca exactamente igual para ti como lo hace para mí en este momento, necesitamos modificar algunas cosas dentro del archivo de propiedades de puntos Gradle. Entonces puedes ver que hay algunas propiedades definidas, por lo que hay algunas propiedades de tela, hay algunas propiedades más, y luego también hay algunas dependencias o un poco de interludio aquí mismo. Entonces lo que es muy importante es que hay dos formas en las que puedes ir sobre esto. Número. Uno, ya sea puedes tomar el solo ejemplo mod y luego estarás en 1800s. Tenga en cuenta que algunas cosas no funcionan exactamente como en 101. Entonces este nombre, van a ser las etiquetas, el ítem avanzado, que utiliza impuestos básicamente y generación mundial. Vas a tener temas ahí al final de esto, al final del curso. Entonces va a haber un video de actualización donde vamos a actualizar las cosas de 1800 a uno 1800s. No obstante, si quieres seguir el curso en su totalidad, principalmente palabras o iteración, recomiendo encarecidamente pensar en posiblemente elegir uno 1800s uno. Aquí. Probablemente agregaré una sección al final del curso para 1800. Y no sólo los cambios, sino probablemente también diferentes conferencias que reemplazarán al, no reemplazado. Pero va a haber corolarios para las conferencias de 1800. Entonces, o bien puedes cambiar el archivo de propiedades de Gradle a estos valores aquí mismo, o si eso no es tuyo, si no quieres hacer esto, si quieres usar 1800s, por supuesto, bienvenido a hacerlo. Pero por favor ten en cuenta que va a haber algunas diferencias frente a lo que vas a ver en las conferencias. Así que solo tenlo en cuenta y supongo volver a la conferencia. Entonces en general las propiedades de la tela, se puede ver que en realidad tenemos un enlace aquí y vamos a mirar esa página en tan solo un momento. Y básicamente solo especificamos cuál es la versión de Minecraft, ¿cuál es la versión de los mappings que estamos usando? Esto es básicamente para traducir el código para que realmente podamos leer los nombres de los métodos y cosas así. Y luego la versión del cargador es solo la versión del cargador de tela básicamente. Entonces tenemos algunas propiedades más, las que podemos definirnos y lo vamos a hacer en un momento. Y luego también tenemos qué versión de tela estamos usando en la parte inferior aquí. Si abrimos el link fabric MC net slash versiones, entonces verás que en realidad tenemos algunas actualizaciones aquí. Entonces lo que podemos hacer es que sólo podemos tomar este control C o hacer clic con el botón derecho de copia y luego volver aquí y luego básicamente simplemente pegarlo en. Así que vamos a pegarlo. Vamos a conseguir unas flechas porque aquí hay múltiples. Pero lo que podemos hacer es que solo podamos reemplazar esto aquí abajo. Por lo que presiono Control X para cortarlo y luego Control V para volver a pegarlo. Ahora tenemos, vamos a actualizar a 0.44. Esta podría ser en realidad una versión diferente para ti, lo cual está totalmente bien. Por lo general, si bien hay algunas diferencias en las versiones, no debería haber diferencias locas. Y si hay, trataré de mantenerme al día con lo mejor que pueda y probablemente añadir otra conferencia después de esto o en algún lugar entre los cambios. Y entonces básicamente se verá atrapado con eso también, ¿verdad? Y aquí solo vamos a eliminar todos esos y luego también solo asegurarnos de que estén escritos correctamente. Así que básicamente golpeando la tecla tabulador para moverlos. Y ahora ya has visto que básicamente hemos actualizado sobre ganancias en seis a 12.8 y de 431, creo que a 440, eso está totalmente bien. Una vez más, podemos hacer clic en el pequeño elefante aquí arriba en la esquina. Y si ampliamos esta ventana de construcción, puedes ver que está descargando cosas como locas, pero no te preocupes. De nuevo, esto podría tardar un par de segundos. Una vez más, tal vez un minuto más o menos. Lo he visto tomar mucho más tiempo para algunas personas, pero esto depende tu conexión a internet y de lo bueno que sea tu PCS. Así que a veces puede tardar como 20 minutos, lo he visto antes, pero eso es muy raro. Muy raro. Entonces ahí vas. 21 segundos, en realidad ya hecho. Y ahora podemos empezar a, bueno, seguir adelante y ver qué podemos cambiar por nuestro propio MOD. Básicamente, todos nuestros cambios van a suceder en el archivo de propiedades de puntos de Gradle. Eso es básicamente muy fácil para nosotros hacer esto. Y la idea general es que tenemos que cambiar las propiedades de nuestro modelo aquí y luego también cambiar algunas cosas aquí en nuestra estructura de carpetas o estructura empaquetada. El gist general es que en este momento estamos usando este ejemplo MOD donde hay, por supuesto no del todo lo que tenemos. Tenemos una matemática específica que queremos. Entonces si hago doble clic en este ejemplo de clase simulacro, se puede ver que dice ejemplo mod. Incluso tiene algunos comentarios aquí. Eso es muy bonito. Pero en general, tenemos que cambiar algunas cosas aquí. Lo primero es que quiero que esto esté en mi propio paquete. Lo que hago es que subo aquí y sólo voy a cambiar esto a cuenta neta y rho nada por supuesto Mc, ese es el paquete. Quiero que esto sea un muy recomendable no llamar a este trabajo de algodón porque estás en un julio coulomb. Y en segundo lugar, solo usa net tu nombre. Y luego curso MC por ejemplo, recomiendo encarecidamente hacer esto porque es muy raro usar el nombre de otra persona si estás haciendo tu propio código porque solo va a ser confuso para gente que es como tú no escribía eso, eso fue por hilera de algodón y es como, bueno, lo que puedo hacer aquí es esto, claro que ahora va a tener un subrayado rojo. Sólo voy a pasar el cursor sobre esto y se puede ver pasar a empaquetar neto Cotton joe MC curso. Simplemente voy a hacer clic en esto y se puede ver se ha creado un nuevo paquete. Y esto ahora se ha hecho bien básicamente. Lo que voy a hacer entonces es que voy a tomar este mixto y paquete y simplemente moverlo a la derecha al refactor de paquete de curso EMI EMC. Y ahí vas. Ahora en realidad puedo eliminar la tela MC aquí, simplemente presione la tecla delete y luego confirme. Y entonces lo que puedo hacer es ahora puedo hacer clic derecho en esto. Esto es muy importante. No solo cambies este nombre aquí. Haga clic con el botón derecho del ratón Refactor Y entonces esta va a ser la clase mod curso MC. Ahora bien, a esto me referiré en las próximas conferencias y en las respuestas algunas preguntas como clase principal. Entonces esta es la clase principal. Las clases principales, la que implementa la interfaz más inicializador, muy importante. A esto me referiré como tu clase mod principal también eliminará todos los comentarios aquí porque no son necesarios. Y entonces voy a introducir aquí un nuevo campo. Y esa es una cadena final estática pública llamada mod underscore ID. Y va a ser igual a una nueva cadena, que se llama curso MC, porque este va a ser nuestro ID de modelo. Ahora cuanto más ID es muy importante. Así que una vez más, escuche atentamente aquí, cuanto más ID solo puede contener caracteres en minúsculas, guión bajo y números, nada más, sin espacios y sin caracteres en mayúsculas. Entonces eso es muy importante. No hay caracteres en mayúsculas. He visto esto varias veces para tu ID de modelo, no puedes contener caracteres en mayúsculas. Y luego en lugar de llamar a la ID del modelo aquí, solo vamos a decir más ID. Entonces ahora todo aquí está bien y dandy. Entonces esto es en realidad todo lo que tenemos que hacer en la clase de matemáticas del curso RMC. Ahora vamos a entrar en el ejemplo mezcla porque vamos a obtener un error aquí, porque esto todavía está tratando de usar el modo de ejemplo. No te preocupes, sólo vamos a decir curso MC. Se puede ver en cuanto lo escribo, en realidad se nos sugiere. Para que pueda autocompletar esto con pestaña, y luego vamos a abrir la importación aquí y se puede ver que en realidad reciben un error aquí también. Podemos simplemente eliminar esta importación y luego todas las flechas aquí deberían desaparecer. Pues pues, volvamos a navegar a la mejor propiedad. Y aquí tenemos la versión mod. Recomiendo encarecidamente lo que debes hacer es que debas poner la versión micro ya sea en la parte delantera o trasera. Entonces puedes, por ejemplo, decir algo como esto es la versión de 0.01 dash 118. Entonces el usuario es, sabe, está bien, esta es la versión 0.01 para tu MOD. Y luego para micro versión 118, pueden incluso grupo por supuesto sólo va a ser net.com fila dot fuerza IMC y luego el nombre base del archivo. No estoy seguro de lo importante que es eso, pero esto sólo va a ser para nosotros, verso de tela 2018, ¿verdad? Y ahora esto ha sido modificado. Eso está bien. Y ahora tenemos que modificar algo más, y eso está en la carpeta de recursos aquí mismo. Así que abre eso y se puede ver que en realidad es un icono de ID de modelo. En realidad podemos eliminar esto. No necesitamos eso en este momento. Y hay una tela más archivo JS y una ilustración mixta de ID de modelo. En primer lugar, vamos a entrar en la moderación de la tela. Y aquí tenemos que precisar realmente muchas cosas. Lo primero que tenemos que hacer es que necesitamos cambiar la idea de modo aquí, por supuesto, a curso MC. Este es el modelo que hemos elegido aquí mismo, ¿verdad? Entonces esto tiene que ser exactamente lo mismo en todas partes. Y luego el nombre de Ahmad, sólo voy a elegir MC curso tela mod. Eso está bien. También podemos añadir una descripción aquí. Entonces podemos, por ejemplo, decir mod, enseñar a otros. Tela mañana, tela, microfónica. Claro, autores paganos es curso de homeroom. Una vez más, poner en su propio nombre. Ahora yo, no soy el autor de tu modelo, y luego tienes algún contacto, por ejemplo, puedo cambiar esto venir a la red y luego fuentes. Probablemente voy a cambiar esto en un poco porque por supuesto en este momento no tenemos un repositorio de GitHub todavía, pero por supuesto lo haremos en esta conferencia también. La licencia que voy a elegir, la licencia del MIT que personalmente creo que es la mejor de los formatos por lo general eso es solo, ya sabes, sigue siendo de código abierto que el punto de entrada aquí. Tenemos que cambiar esto tan bien como se puede ver, esto es recuento neto y rho nada curso Mc y luego no ejemplo más sobre MC curso mod. Muy importante una vez más, que cambiaste esto. Exactamente cómo lo tienes aquí mismo. Se puede ver neto hacia fuera y fila MC curso, modelo de curso MC. Eso es muy importante. Lo mismo con los mixins. Cambiamos el ID del modelo aquí al curso MC. Y ahora todo aquí se ha hecho en el Icahn no funciona por el momento. Podríamos por supuesto también añadir en nuevo icono aquí. No vamos a hacer eso por el momento. Entonces vamos a abrir cuanto más yo los mixins, Jason. Y lo que puedes ver es el número uno, lo que queremos es hacer clic con el botón derecho del ratón Refactor Rename y luego cambiar el ID del modelo aquí al curso MC. Y entonces el paquete aquí se puede ver también tiene que ser cambiado. El contador neto Joe en el curso MC, mezclando, eso está bien. Entonces el ejemplo de mezclar aquí también está bien. Esto es sólo un ejemplo de los mixins reales. Vamos a echar un vistazo a eso de la manera posterior conferencia porque mix-ins pueden ser bastante complicados. Así que por el momento, sólo vamos a ignorar básicamente todo el asunto aquí. Lo mismo con éste. Sólo vamos a ignorarlo y decir que está bien. Pero ahora en realidad se han hecho todas las modificaciones que tenemos que hacer. Hemos especificado RMC curso MOD ID, intercambiamos el nombre aquí, hemos cambiado las cosas en la tela mod Jason, muy importante, no cambias el nombre de este Jason. Sólo les cambias el nombre de esto Jason tiene también algo muy importante. Y ahora todavía tenemos a los elefantes. Así que vamos a hacer clic en esto una vez más y veamos todo hecho en 940 milisegundos. Eso es muy rápido. Y como podemos empezar en Minecraft será ir a la parte superior derecha aquí a la Gradle, ampliar el tejido de tareas, y luego ejecutar cliente a menos que veas hacer doble clic en esto. Y luego en el futuro, tendrás esto aquí arriba. Y entonces también tendrás una especie de un, solo un botón de reproducción en el que básicamente puedes hacer clic. Y eso también entonces va a funcionar. Pero por el momento, sólo vamos a esperar unas cuantas cosas. Esta flecha aquí es absolutamente normal porque estamos en un entorno de desarrollo, no hemos iniciado sesión en Minecraft, por lo tanto, vamos a recibir este error. Eso está totalmente bien. Y Minecraft ya habrá comenzado con suerte, y en realidad se puede escuchar. En realidad voy a bajar la música porque a veces eso puede ser un poco distraente. Y ahí vas. Entonces la tela está en realidad, podemos ver modelo de tela también funciona totalmente bien. Cuando esto sucede, en realidad estás terminado, hemos establecido el entorno de desarrollo. En realidad dejemos el juego. Y hagamos dos cosas más. Número uno, lo que quiero que hagan es que también haga clic en este Jen fuentes aquí mismo. Entonces simplemente haz doble clic en esto. Esto va a generar los archivos fuente para Minecraft y fabric, sólo para que podamos echar un vistazo a los con más detalle. Básicamente, te voy a mostrar lo que eso significa en básicamente las futuras conferencias va a ser muy importante que tengamos acceso a los archivos fuente para Minecraft y para fabric. Porque hay muchos grandes ejemplos de cómo hacer las cosas ahí también. Ahora esto en realidad tomará un poco más de tiempo, pero no se preocupe, solo sea paciente, lo esperó y luego veremos después de que todo se haya hecho, ahí vas. Por lo que casi un minuto y luego se hace fuentes de Jen. También puedes hacer clic en descargar activos Por si acaso A veces necesitas hacer eso. A veces no lo haces. En ocasiones los activos, por lo general ya deberían ser descargados, pero podría haber algunos problemas ahí. Y una vez que hayas hecho esto, puedes cerrarlo y luego asegurarte de seleccionar el cliente Ejecutar aquí. También puedes seleccionar el cliente de Minecraft aquí. Puedes seleccionar cualquiera de ellos, o normalmente eliges éste. Y entonces básicamente puedes iniciar micrófonos nuevo con este botón Ejecutar aquí mismo. En este momento todo ha sido configurado. Así que ahora pasemos a cómo agregar el repositorio de GitHub. Sugiere altamente que no salte este paso haciendo un repositorio de GitHub porque si en el futuro te encuentras con un problema, solo me estoy proporcionando tu repositorio de GitHub con, por ejemplo, un registro de errores y di Oye, esto no funcionó, va a hacer mi vida y tu vida mucho más fácil porque voy a ser capaz responder de la manera más rápida a un tema o a una pregunta que puedas tener. Entonces, ¿cómo hacemos esto? Bueno, antes que nada, necesitas tener una cuenta de GitHub. Recomiendo encarecidamente hacer uno en GitHub. Es totalmente gratis. Es muy bueno. Es un sitio web utilizado por casi cualquier persona que codifica. Hay algunas otras, pero recomiendo encarecidamente solo hacer una cuenta de GitHub. Una vez hecho eso, entonces puedes entrar en tu espalda a la inteligencia aquí e ir a VCS y luego decir compartir proyecto en GitHub que necesitamos elegir un nombre. Estoy bien con el curso de tela dash mes 18, eso está bien. Voy a elegir hacer esto privado. No necesariamente necesitas hacerlo. El origen remoto también está bien. No voy a añadir una descripción en este momento. Voy a decir Compartir. Ahora puedes ver Cuenta no puede estar vacía, lo suficientemente justa. Por lo que voy a añadir un conteo y se puede ver login vía GitHub. Sólo voy a presionar esto y luego abrirá esta cuenta de JetBrains. Voy a decir autorizado en GitHub y luego se puede ver con éxito ha sido autorizado porque ya estoy encerrado aquí. Ahora voy a ir aquí y se puede ver github.com recortar hilera de algodón y luego decir compartir. Ahora en la parte inferior aquí se puede ver que está empezando a hacer cosas. Y luego aquí básicamente sugiere odio. ¿ Qué quieres empujar? ¿Gusta? La idea es que tengamos dos cosas diferentes. Tienes un commit y un empujón, y muchas cosas se volverán rojas. Por lo que los archivos se pondrán rojos y diremos commit inicial. Vamos a decir Add. Y entonces va a seguir haciendo cosas aquí en la parte inferior derecha. Y podrías ver con éxito compartir proyecto en GitHub. Creo que sólo puedo hacer click en esto y ahí vas. Así que ahora en realidad el curso de caballos obtener un repositorio se ha creado bajo columnas fila slash fabric course 118. Y esto también estará disponible para usted. Entonces en cada una de las conferencias, básicamente encontrarás un enlace a la sucursal para esa conferencia en particular para que siempre puedas echar un vistazo al código comparar y asegurarte de que todo que has hecho es correcto, igual que lo tenemos aquí. También recomiendo encarecidamente, sobre todo cuando entramos en los temas más complejos, voy a empezar a copiar mucho más del código porque no es divertido ver a alguien escribir 300 líneas de código. Y luego básicamente sólo mirar, ver a alguien, cierto, que en realidad no es muy interesante. Es mucho mejor para mí copiar algunas cosas y luego explicar lo que está escrito. Eso es en realidad lo fácil que es la configuración para el repositorio de GitHub aquí. Una vez hecho eso, se puede ver en la parte inferior aquí ahora tengo la rama maestra y si iba a cambiar algo, así que sólo voy a, por ejemplo, agregar un Hammond, los comentarios, ¿verdad? Se puede ver que el expediente se vuelve azul. Esto significa que se ha producido un cambio. ¿ Cómo puedo ahora marcaré esto? Bueno, puedo ir a esta tableta de commit aquí y solo decir, sí, cada viejo cambio, ¿verdad? Yo quería, quería marcarlos. Y entonces voy a decir que agregó un comentario. Entonces lo que quiero hacer es que me comprometo. Ahora este cambio se ha comprometido. Si vuelvo a la ventana del proyecto, se puede ver que ya no es azul, pero aún no está en línea. Porque lo que tengo que hacer es que necesito ir aquí a este pulsador, a la flecha que apunta al empuje de arriba a la derecha. Y luego dice Maestro de origen maestro. Esto básicamente significa que vas a empujar los cambios que has hecho en tu máquina local. Que el origen y el origen esté básicamente en línea y ahí a la rama maestra, empujar. Y se puede ver ojalá lo que puede pasar se empuja uno comprometerse con el maestro de origen. Y si ahora vuelvo aquí y recargo esto, se puede ver agregado un comentario acaba de estar comprometido. Si no quiero entrar en demasiados detalles sobre cómo funciona Git y todo eso. No obstante, es muy importante que básicamente lo hagas configurar esto. Recomiendo encarecidamente esto. No puedo recomendar esto más. Obtener ayuda ya sea de mí o cualquiera o incluso de otras personas lo hará mucho más fácil si tienes un repositorio de GitHub que puedes compartir. Por lo que por favor haga esto y también muy importante que todos estos expedientes estén ahí. Tienes que tener el archivo Gradle w, que tener el archivo Gradle constructor, las propiedades del Grial, todas esas cosas tienen que estar ahí. Muy, muy importante, ¿verdad? Pero sea cual sea el caso, esto ya es para esta conferencia. Entiendo que éste es bastante extenso. Hemos hecho muchas cosas, pero si Minecraft funciona ahora, enhorabuena, has empezado atento al luto. Va a ser un viaje loco y fresco por el camino. Y estoy seguro de que aprenderás mucho. Si en algún momento te encuentras con algún problema, por supuesto, siéntete libre de usar el Q&A para hacer una pregunta. De lo contrario, también recomiendo encarecidamente solo revisar todo de nuevo para errores ortográficos y asegurarme de que hayas hecho todo como yo tengo. Y entonces ojalá todo pueda funcionar. Pero eso es todo por esta conferencia aquí mismo. Espero que te haya parecido útil esto y aprendas algo nuevo. Nos vemos en la próxima conferencia. 39. (Conceptos básicos) crear un artículo personalizado: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia, vamos a estar agregando nuestro propio ítem personalizado. Entonces esto es muy emocionante. Estamos empezando con agregar artículos porque son un poco más fáciles que agregar bloques. Pero sólo empecemos. ¿ Qué tenemos que hacer? Bueno, dentro de nuestro paquete de cursos MC, vamos a hacer clic derecho en nuevo paquete en realidad. Qué artículo para que la estructura del paquete en general sea altamente subjetiva y pueda cambiar. Es básicamente una organización individual. Cómo quieres organizar esto, puedes seleccionar que básicamente como quieras. Te recomiendo encarecidamente pegarte con algo que te guste. Básicamente tú y si tienes un equipo, tu equipo, siempre y cuando puedas encontrar todo, eso está bien. Voy a quedarme con básicamente cómo lo hago por insertar el paquete del artículo. Vamos a hacer clic derecho en nueva clase Java llamada más ítems. Entonces esta es una nueva clase aquí y esta ventana aparecerá si tiene el repositorio de GitHub inicializado. Entonces básicamente esto está en el archivo a GitHub y generalmente lo que quieres es decir Sí, Añadir, y luego se pondrá verde. Por lo que este es básicamente un nuevo archivo se ha agregado. Si no has configurado un repositorio de GitHub, entonces esto no aparecerá y todo está bien también. Por lo que para agregar un nuevo artículo, necesitamos registrarlo. Ahora, hay dos cosas que tenemos que hacer. Necesitamos tener un boyd estático público o registrar más items método. Y esto sólo va a decir sistema fuera de línea de impresión. Y va a decir algo como registrar, registrar elementos para elementos mod, artículos mod, o plus MC curso mod esa melodía. Por lo que esto se llamará lado INSEAD de nuestro método no inicializado para inicializar los elementos estáticos que tenemos en esta clase. Esto en realidad es estrictamente necesario porque lo contrario los artículos no se registrarán correctamente básicamente. Y luego tendremos un elemento estático privado o elemento de registro, registraremos ítem con un nombre de cadena y un ítem, Item. Ahora verás que este artículo es rojo aquí, no se preocupe en absoluto. Lo que puedes hacer es hacer clic en esto, presionar Alt y Enter para importar el ítem neto de Minecraft, clase de ítem. Como puedes ver, seguimos recibiendo un error aquí porque por supuesto tenemos que devolver un artículo que no es nada de preocupaciones. Lo que vamos a hacer es que vamos a devolver el registro, no registrarnos con el ítem de punto de registro todo en mayúsculas AMA, nuevo identificador de net Minecraft util, MC curso MOD que nombre de ID de modelo. Y luego después del primer paréntesis punto coma. Una vez más, el registro kras aún no se está importando, así que haz click en él todo en dos importantes en el registro UTI de Minecraft, registro. Y esta llamada básicamente registrará el ítem bajo nuestro espacio de nombres que están bajo nuestro ID de modelo con el nombre dado aquí como primer parámetro. Y va a ser este artículo. Entonces este es básicamente un método ayuda para ayudarnos a registrar nuestros artículos. ¿ Y qué tipo de artículos vamos a hacer? Bueno, los vamos a hacer o recalcar. Bueno, esto ya es calcio en bienes y pepitas y crudos o recalc ellos. Y luego después Oracle puede bloques y todo ese jazz. Entonces, ¿cómo hacemos un artículo? Entonces vamos a decir final estática pública. Entonces esto es una vez más sólo cosas básicas, ¿verdad? Entonces esa estática, para que no tengamos que hacer una nueva clase más ítems. Y luego final para que no podamos cambiarlo después. Y este va a ser el subrayado de ingresos recalc inglés. Y esto va a ser igual para registrar ítem. puedes ver que ya estoy recibiendo esto y luego la primera es una cuerda. Este nombre aquí realmente generará automáticamente. No tienes que escribir esto. Amplía un poco. Se puede ver que esto se ve un poco diferente a lo que he estado escribiendo. Por lo que esto genera automáticamente, no tienes que teclear esto. Y este es un oráculo ven subrayado lingote y luego coma, y luego un nuevo elemento. Por lo que en realidad ya obtendrás algunas sugerencias c, Queremos un ítem normal aquí, nuevo ítem con los nuevos elementos de tela, ajustes, ese grupo, ítem, grupo que Misc, escribe este. Y luego al final aquí, un punto y coma. Esto es todo para hacer un nuevo artículo aquí. En este caso, básicamente estamos haciendo un nuevo artículo, el nombre o el inglés de calcio. el oráculo, ven aquí. Este es el nombre de la variable por supuesto, y esto tiene que escribirse siempre en mayúsculas lock y también subrayan puntuaciones de límite separadas básicamente. Y todo esto tiene que ser minúscula, igual que el ID del modelo. Entonces el nombre aquí, la cadena aquí, siempre todo minúscula. Y por lo general recomiendo encarecidamente pegarse con una forma de escribir esto. Básicamente tener el guión bajo aquí está bien, ¿verdad? En Nuevo Item requiere ajustes de ítem y se puede ver que acabamos llamarlo el método de grupo y se lo dio al grupo de ítems dot miscelánea, que este ítem se agregue realmente a la grupo misceláneo. Y en realidad puedo poner un punto aquí también después. Y le puso más cosas a esto. Tienes un poco más de conocimiento de Java. Este es un patrón constructor y se puede ver que en realidad puedo hacer algunas cosas aquí, un cambio, unas cuantas cosas arriba por el momento. Nos vamos a quedar con básicamente seleccionar al grupo para que sea grupo misceláneo. Y eso es más o menos eso. Nos vamos a quedar con esto por el momento. Pero hacia el final de la conferencia, en realidad vamos a hacer otro ítem sólo para que veas cómo funciona eso. el que algunas personas se han confundido un poco. ¿ Cómo agrego un segundo elemento para tener que hacer una nueva clase de elementos de modo, No, No se preocupe. Simplemente nos vamos a pegar básicamente a través de ella en nuestra clase mod curso MC en el método inicializado, donde ahora vamos a llamar a más ítems que registran ítems de modo. Y podemos eliminar la información del registrador. Eso va a estar bien. Y ahora necesitamos aventurarnos en la carpeta de activos y básicamente hacer los archivos JSON. Bueno, los archivos JSON son algo que es, quiero decir, no diría necesariamente molesto, pero se puede poner muy molesto porque por cada bloque y por cada elemento que añadas, tendrás que agregar estos Archivos JSON. Vamos a revisar los archivos JSON del artículo aquí mismo. Y luego siguiente conferencia cuando hablemos de bloques, vamos a pasar por esos también, así que no se preocupe en absoluto. Por lo que en la carpeta de activos, haga clic derecho en nuevo directorio llamado curso MC. Por lo que este tiene que ser tu MOD ID. Por favor, asegúrese de que esto esté escrito correctamente. Todo lo que aquí estoy haciendo ahora mismo tiene que ser escrito correctamente. De lo contrario no funcionará. Di esto una vez más. Por favor, asegúrate de que la estructura de tu carpeta esté escrita correctamente. Consulta esto ocho veces, de verdad, lo digo MC curso, haga clic derecho en nuevo directorio llamado lang. Entonces este es el primer directorio que vamos a necesitar. Y luego hay otro llamado modelos. Y luego hay una más que vamos a necesitar, que son las texturas. Pero muy importante, los modelos Lang con una S al final y las texturas con un ácido el final. El directorio de modelos también tendrá dos directorios, uno llamado broke. Esto es singular. Y entonces lo que puedo hacer es tomar esta carpeta y cuando presiono Control y arrástrela a la misma carpeta, puedo hacer una copia de ella y simplemente significar ese elemento. Ahora vamos a llevar ambos y en realidad hacer una copia de ellos en la carpeta de texturas, porque vamos a necesitar un bloque, una carpeta de ítems ahí también. Pero así es por el momento como debería verse esto. Asegúrate de que todo esté en el lugar correcto para que nada como la carpeta de modelos esté dentro de la carpeta de activos. Todo tiene que ser así. Recursos, activos, modelos de curso MC, M, C cuerpo texturas, McQs, Lang. Ahora dentro de la carpeta leg, vamos a hacer clic derecho Nuevo Archivo y subrayarnos dot-dot-dot Grayson it Entrar y una vez más, por supuesto, añadir esto al repositorio de GitHub si tienes uno. Y ahora este es el archivo de traducción. Por lo que esto va a traducir el nombre de los ítems a diferentes idiomas. Ahora para nuestros propósitos, sólo vamos a usar e y subrayarnos, Jason, porque sólo queremos traducir esto a la versión en inglés. No obstante, puedes conocer muy fácilmente los otros tipos de idiomas que se soportan y luego traducir a esos también. Tenemos que hacer es que tenemos que poner entre corchetes rizados aquí y luego una cuerda. Entonces este va a ser ítem ese curso MC, ese recalc subrayado lingote y luego un colon o una puntuación de calcio, un espacio de subrayado no nulo en él. Ahí vas. Entonces este año es el nombre no traducido. Básicamente esta es la clave de traducción. puede pensar en ello como este ítem porque este es un ítem porque MC curso, porque este es nuestro ID de modelo. Y entonces el lingote de silicio aquí mismo es el nombre dado en la clase de artículos mod aquí mismo. Pero esta es la idea general. Y esta cosa va a seguir básicamente a casi cualquier otra cosa también, los bloques, cosas diferentes. Entonces sí, este es entonces el nombre traducido. Entonces este es el nombre que vas a ver al pasar el cursor sobre el artículo real en el inventario, justo entonces bajo el ítem de modelos, clic derecho, nuevo archivo o pre-calc, subrayan lingote que Jason son importantes así y también asegurándose de que esto esté escrito correctamente. Ahora el Malcom puede ser una palabra dura, así que solo vuelve a comprobar que esté escrito correctamente. Entra y en realidad voy a mostrar esto una vez, básicamente escribiendo esto. Normalmente no escribo esto porque no hay necesidad de hacerlo. La mayoría de los archivos JSON van a ser los mismos en todos los ámbitos. Básicamente, lo que vas a tener para tener corchetes rizados y luego un colon padre, barra de ítem generado texturas de comas, colon, corchete temprano, capa 0, Olin, núcleos MC. Por lo que tu lema De todo un artículo, flash o Malcolm o recalc m subrayan inglés. ¿ Qué está pasando? Bueno, el padre simplemente se asegura de que esto se muestre como un artículo normal dentro de tu inventario. Entonces las texturas simplemente proporcionan texturas para este artículo en particular más adelante, 0 simplemente significa, hey, vamos a usar una sola capa. No necesitamos preocuparnos demasiado por ello, pero así es como básicamente se va a tener que escribir esto . Y luego esto especifica la ubicación dentro de tu carpeta de texturas. Vamos a ver una inmersión profunda en archivos JSON después de la conferencia de bloque también. A veces siento que es bueno sentar primero una especie de las bases generales. Entonces básicamente haciendo que los ítems terminen de los bloques y luego hablando de cada uno de los archivos JSON individuales en una conferencia posterior también. Eso va a pasar también, ¿verdad? Entonces debido a que se trata de lodo de ítem , lingote de silicio, esto tiene que ir, la textura no ha ido a las texturas de MC curso en la carpeta de ítems y tiene que llamarse Henri lingote de calcio dot PNG. Por lo que desde luego tengo esto preparado ya. Yo sólo voy a copiar esto encima o un PNG, ¿de acuerdo? Y por supuesto añadido al repositorio de GitHub. Y por supuesto, todo esto está disponible para ti en la muñeca. El repositorio de GitHub y los extras también están disponibles para que descargues como archivo zip. Si hay varios y si solo son solteros, entonces probablemente también van a ser como texturas individuales. Ahora mismo eso es en realidad todo lo que necesitamos para agregar el artículo correctamente a nuestro MOD. Entonces ahora en realidad podemos iniciar el juego y ver si funciona. Asegúrate de que has seleccionado ejecutar cliente donde el cliente de Minecraft aquí, cualquiera de ellos está bien. Y luego presionando el botón Ejecutar, Ejecutar ahí. Y entonces es solo cuestión de esperar hasta que empiece. Muy bien, entonces nos encontramos aquí en Minecraft. Tan solo asegúrate de que tu propio creativo, por supuesto, que podemos básicamente ver fácilmente si está funcionando o no. Y solo veamos una vez que estemos en juego por ello. Entonces aquí estamos en el juego y vamos a ver. Entonces vamos a la pestaña miscelánea y vamos al fondo aquí. Ahí está. El ya calcio en buena, absolutamente increíble. Y sí me encanta la textura también. Entonces por toda transparencia, por cierto, las texturas, en realidad las puedes usar, sin embargo, están bajo una licencia específica. Te voy a mostrar en tan solo un segundo, pero eso es realmente genial que vayas, el artículo se ha agregado con éxito, pero aquí estamos el aviso de créditos, así que eso es muy importante. Todas las texturas se hicieron por nano ataque y se distribuyen bajo la licencia internacional CC BY SA de cuatro puntos cero. Asegúrate de seguir esto. Si quieres usarlos en tu propio repositorio, solo tienes que añadirle este archivo. Estoy seguro de que en realidad esto estará bien, pero asegúrate de que esto se haga. De lo contrario, en realidad estás infringiendo los derechos de autor. Por lo que sólo quiero asegurarme de que este sea el caso. De lo contrario, las texturas aquí son en realidad todas geniales y puedes usarlas. No se preocupe en absoluto. Tan solo para mostrarte de inmediato cómo puedes agregar un segundo elemento aquí, básicamente vamos a copiar esto, así que voy a seleccionar todo esto y presionar Control D para duplicarlo. Y entonces lo que vamos a hacer es que puedas ver que sólo hay que cambiar esto un poco. Tenemos que cambiar el nombre aquí por supuesto, a pepita de calcio oral. Y luego aquí abajo también pepita. Y ahora el segundo elemento está realidad ya en el juego de su curso también necesita tener un nuevo modelo de ítem. Entonces lo que vamos a hacer es que vamos a copiar este solo arrastrándolo a la misma carpeta mientras sostenemos Control, ¿verdad? Entonces algo así. Y entonces podemos renombrar inmediatamente esto a Oracle com nugget. ¿ De acuerdo? Y luego dentro de aquí también, por una pepita de calcio, entonces nos vamos a llevar la pepita de calcio, extra robusta aquí también. Está bien. Y luego en la EN subrayarnos archivo Jason, vamos a copiar esto. Entonces básicamente lo que he hecho es que acabo de, ya sabes, presionar Control C, Control C, Control V, Control V para pegarlo en varias veces que todo aquí funcione y la pepita, y entonces aquí por supuesto también pepita. Y ahora eso es en realidad todo lo que tenemos que hacer para agregar un segundo ítem y cada nuevo elemento es básicamente el mismo. Es solo un elemento final estático público aquí mismo con un nuevo nombre. Entonces eso es muy importante que esto siempre tenga un nombre único. Si hay nombres que básicamente se usan varias veces, eso no va a funcionar. Entonces solo por el bien de finalización, veamos si funciona. Muy bien, los amigos tienen negro en Minecraft. Entonces vamos a la pestaña miscelánea y vamos a ver, ahí está, el oráculo viene y toca. También se ha sumado al juego. Entonces todo funcionó perfectamente. ¿ No es genial, verdad? Y esto es todo para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Todo el código para ti está por supuesto disponible en el repositorio de GitHub o en individual igual de bien, linkedin y recursos. Por lo que los veo en la próxima conferencia. Entonces, sí. 40. (Fundamentos básicos) Crea un bloque personalizado: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia, vamos a estar buscando agregar bloques personalizados a Minecraft. O los bloques personalizados son similares a agregar los elementos personalizados, sin embargo, requieren algunos archivos JSON más. Pero antes que nada, por supuesto, necesitamos codificarlos en. Por lo que dentro de nuestro paquete del curso MC, haga clic derecho en nuevo paquete llamado bloque. Y luego dentro de ahí vamos a crear una nueva clase Java llamada bloques MOD. Ahora esto requerirá una vez más el vacío estático público llamado método de bloques de modo de registro que se va a simplemente dar salida básicamente algo así como registrar monólogos o MC curso mod, mod ID que estamos va a tener que llamar en el curso MC clase simulada. Pero esto también requerirá, voy a crear dos métodos de ayuda diferentes aquí. El primero va a ser el ítem estático privado llamado elemento de bloque de registro. Ahora la razón por la que voy a hacer esto es porque cuando creamos un bloque en ítem no se crea para ello y en realidad tenemos que crear un elemento para ello. Entonces el primer parámetro es el nombre de la cadena, luego bloque, bloque, y luego grupo de elementos, grupo. Y entonces también lo haremos todo aquí rojo, totalmente bien. Haga clic en él e ingrese para importarlo, alterado e ingrese lo importante, muy importante que importemos la clase de bloque correcta. Se puede ver neto bloque Minecraft, muy importante. Y luego el grupo de ítems, lo mismo, solo Alt y Enter. Y entonces va a ser importante. Y luego aquí vamos a devolver registro punto registro, registro punto elemento con un nuevo identificador, MC curso MOD que mod nombre ID. Y luego una vez más después de los primeros paréntesis coma nuevo elemento de bloque, este elemento de bloque de tiempo. Derecha puede presionar la tecla Tab para básicamente autocompletar esto, pasando aquí el parámetro de bloque. Y luego una vez más nuevos ajustes de elementos de tela. Una vez más, también solo autocompletar con pestaña. Hay grupo y luego pasar en el parámetro de grupo. Y luego los tres paréntesis y luego un punto y coma para terminar la línea y te van el método de elemento de bloque de registro está completamente hecho. Y luego vamos a tener un método que básicamente llama a esto. Entonces para el bloque, tenemos que registrar un elemento de bloque y por supuesto también el bloque. Entonces tenemos un bloque estático privado o el método de bloque de registro, que va a ser un bloque de nombre de cadena, bloque , y luego por supuesto grupo de ítems, grupo. Y lo primero que va a hacer es que va a llamar al registro un método de elemento de bloque con el bloque de nombres y el grupo. Y entonces la segunda línea aquí sólo se va a devolver una vez más, registro que se registra. Esta vez registre ese bloque. El bloque justo aquí con un nuevo identificador. Identificador MC, mod curso, mod ID nombre. Y luego después de los primeros paréntesis nuevamente bloquear. Entonces así como esto, el código aquí está por supuesto, también disponible para ti. Puedes echar un vistazo al repositorio de GitHub o al justo también. En la idea aquí ser es que para cada bloque, básicamente vamos a llamar al método de bloque de registro para que luego podamos tener de inmediato un ítem que esté registrado para eso también. Y entonces lo que vamos a hacer es hacer un nuevo bloque aquí, vamos a pasar por todo, echar un vistazo a si funciona o no. Y luego después de que se haya agregado el primer bloque, donde también van a sumar un segundo bloque también. Por lo que público estático, bloque final, o 40k Malcolm bloque de subrayado, que es igual a registrar bloque con el nombre una vez más, por supuesto, recalc vienen bloque de subrayado o escrito en minúsculas. Y este nombre aquí una vez más genera automáticamente. Y vamos a hacer un nuevo bloque. Eres sólo una cuadra normal. Con esta configuración de rock de tela de tiempo, se puede ver la de eso. Entonces esto básicamente copia un material aquí. Esto va a ser material, en realidad material que se conoce. Y entonces vamos a decir que en realidad el bloque, ahora el bloque en realidad tendrá metal para mi no tan de material metal. Y luego una vez más punto y se puede ver todos los diferentes ajustes que podemos establecer. Hay muchos de ellos, como se puede ver claramente, algunos de ellos son tienen que golpear a través. Entonces por ejemplo, ya sabes, romper herramienta BI. Se puede ver que si realmente fuera a agregar la etiqueta de herramienta aquí, y se puede ver que esto en realidad es un golpe rojo a través también. Entonces no podemos usar esa. Por lo que los que tienen avances no deben usar los otros que podemos usar. No se preocupe. Entonces, por ejemplo, se puede usar algo así como esta fuerza, que es básicamente la dureza y resistencia. Básicamente cuánto tiempo se tarda en romper ese bloque. Siempre queremos llamar al método de herramienta requiere para cada bloque. Básicamente, es muy importante. Entonces después de que tengamos el bloque, también tenemos que pasar en el grupo de ítems. Por lo que grupo de artículos misceláneos aquí mismo en este caso. Pero en básicamente la próxima conferencia, también vamos a ver cómo agregar nuestro propio grupo de ítems personalizado. Es por ello que esto es muy importante que tengamos esto como posible perímetro aquí sólo va a hacer nuestra vida un poco más fácil. Ahora mismo este es en realidad el bloque definido. Vayamos a nuestra clase de curso MC y vayamos a aquí. Por lo que estos van a ser los bloques modo de registro de puntos. Asegúrese de que esto se llame después de los artículos. Este es sólo el orden en el que me gusta hacerlo. No creo específicamente que esto siempre sea necesario, pero sólo tiene sentido. En ocasiones el orden aquí es muy importante por el momento. Simplemente nos vamos a quedar con esto. Y vamos en realidad primero de todo abrir D en subrayado nos archivo JSON. Y vamos a ver. Entonces, ¿cuál sería el bloque? Bueno, eso en realidad es bastante sencillo. Bloque dot Curso AMC que recalc subrayado bloque. Y entonces por supuesto una vez más el nombre traducido o bloque Malcolm justo aquí. Entonces esto por supuesto ahora comienza con un bloque y eso es Oracle puede bloquear aquí es una vez más sólo el nombre dado en los bloques de barro. Ahora los archivos JSON son un poco diferentes porque en realidad necesitamos una nueva carpeta. Por lo que dentro de los activos y una armada D, en nuestro caso MC curso, haga clic derecho en nuevo directorio llamado Bloc states. También muy importante que esto esté escrito correctamente. Y así ahí vamos a necesitar un nuevo archivo llamado recalc underscore block, el adyacente el ego. Y voy a volver a hacer esto una vez de forma manual y luego te explicaré. Entonces necesitamos corchetes rizados y luego vamos a necesitar una varianza. Asegúrese de que esto esté escrito correctamente, todo entre corchetes rizados de nuevo. Y luego comillas vacías, corchetes rizados, modelo, Olin, MC curso, bloque caído, o una vaca vienen subrayado bloque, ¿verdad? Entonces exactamente así. Ahora esta es situación de bloque muy interesante. Como dije, vamos a ver esto en una futura conferencia. Voy a pasar por lo que cada uno de estos JSON realmente significa. La idea general es que, bueno, hay diferentes variantes que podemos definir. Actualmente no tenemos nada que encontrar porque nuestro bloque no tiene propiedades de estado de bloque. Por lo que hay diferentes propiedades que podemos definir más adelante, que es algo que veremos en la sección intermedia del curso. Y entonces podemos apuntar a diferentes modelos. Entonces para nuestro caso, en realidad necesitamos un modelo bajo el bloque de llamada más antigua o un bloque de calcio. Por lo que dentro de la carpeta de modelos Block, haga clic derecho en nuevo archivo para un guión bajo de calcio blog.js, JSON. Y el modelo de bloque se ve de la siguiente manera. Esto va a verse similar al modelo de artículo. Así que los corchetes rizados y luego los bloques de padres slash cubo subrayan todo esto simplemente, este padre básicamente solo dice, hey, las texturas van a ser las mismas a su alrededor. Entonces vamos a tener una vez más las texturas aquí. Registro de Colón. Y luego todo el bloque de colon del curso MC caído o un bloque de subrayado de calcio. Para que puedas ver una vez más, tenemos una textura y esta va a ser la textura para los seis lados del cubo, pero por eso es cubo todo. Y entonces esto está bajo el bloque de curso MC o desbloquear. Éste es una vez más el nombre del expediente que tenemos que tener. Entonces eso es más o menos todo lo que hay a ello. Y en realidad vamos a copiar eso también. Ya tengo eso preparado. Por supuesto, también puedes conseguir eso como descarga, pero por favor asegúrate también de seguir la licencia en los créditos aquí mismo. Por lo que todas las texturas están efectivamente licenciadas bajo una licencia particular. Entonces asegúrate de seguir eso también si usas eso en un entorno público, ¿no? Y en realidad también necesitamos un modelo de artículo. Esto es lo que pasa con los bloques. En realidad requiere tres archivos JSON diferentes, básicamente todos nombrados igual. A bloque 6's Jason, un modelo de bloque Jason y un modelo de ítem Jason. En realidad no voy a copiar esto más. En realidad voy a hacer uno nuevo. Por lo que en la carpeta de modelos de ítem, haga clic derecho o recalc vienen subrayado loc Jason. Y esto en realidad se ve diferente de los otros modelos de artículos porque un modelo de elemento en bloque es en realidad diferente. Entonces esto va a tener corchetes rizados. Y luego va a tener colon de los padres, bloque de curso MC, o desbloquear barra, o un bloque de subrayado de calcio. Ahora esto de aquí hace referencia al modelo de bloque y lo hace para que el artículo en lugar del inventario se muestre esta manera 3D que bloques generalmente se muestran en el inventario. Pero una vez más, vamos a ver esto un poco más en detalle en una conferencia posterior cuando pasemos por todos los archivos JSON. Pero ahora tenemos los tres archivos JSON. Tenemos la textura y la traducción hecha y lo que bloques registran método UX móvil también se llama. Entonces, veamos si funciona. Está bien, estamos en Minecraft, así que vamos aquí. Cuanto antes pueda bloquear el Oracle, y si lo pongo ahí abajo, también lo es. Entonces todo funciona totalmente bien. Por lo que quería mencionar una cosita rápida. Básicamente hay dos secciones donde se puede tener un problema. O bien la textura dentro del mundo no funciona. Entonces una vez que pongo el bloque hacia abajo, podría tener un año de textura rosa de extremo negro, o la textura dentro del inventario no funciona. Hay dos cosas diferentes que podrían estar pasando. Si la textura en el mundo no funciona, lo más probable es que el bloque se quede archivo JSON. Eso es demasiado cojo. Si la textura en el inventario no funciona, es el modelo de artículo Jason, eso tiene la culpa. Y si ambos no funcionan bien entonces puede, podría ser cualquiera de esas razones. Tan muy importante. Esa es básicamente la idea general, ¿no? Y solo para que se muestre cómo se puede agregar un nuevo bloque básicamente seleccionaré esto y presionaré Control C y luego Control V para pegarlo. Y entonces vamos a cambiar esto a Oracle o aquí, y una vez más aquí también, ¿verdad? El nombre también es muy importante. El resto, si quieres cambiar esas cosas que puedes, por supuesto cambiarlas. Digamos, por ejemplo, el volumen o en realidad no es fuerte. Y también en realidad no es metal o realmente es metal. Se parece más a la piedra. Eso también está totalmente bien. Y esto, en realidad estoy muy contento con. Ahora, el bloque está en el juego, pero aún no tiene textura y todo ese jazz. Pero necesitamos básicamente también agregar un bloque C Jason para ello, un modelo de bloque JSON y leche de artículo Jason. Ahora lo que suelo hacer es tomar uno de los ya existentes Jason y simplemente copiarlo así, ¿verdad? Arrástrelo mientras mantienes pulsado Control, y luego puedes cambiar el nombre aquí. Entonces Oracle o, y luego lo mismo aquí también. Recalc OR, y luego lo mismo para el modelo de bloque también, ¿verdad? En lugar de que Oracle pueda bloquear, vamos a tener pre-calc o un año. Y entonces esto va a apuntar al recuerdo o textura en lugar de la textura del bloque. Y entonces lo último va a ser el modelo de ítem también va a ser renombrado o aquí. Y luego por aquí también. Por lo general así voy a añadir nuevos bloques, ¿verdad? Simplemente copiando más de uno. El ejemplo básico de esto, luego el mismo aquí en el idioma, simplemente va a duplicar esto, agregue la coma aquí, y luego asegurándose de que esto sea o, y o todo funcione bien. Entonces también voy a añadir la textura, que por supuesto está disponible para ti o descargarla también. El ego y ahora el calcio o bloque también se agrega al juego. Entonces solo por el bien de finalización, veamos si funciona. Correcto, estamos de vuelta en Minecraft, así que vamos a ir a la pestaña miscelánea y vamos a ver ahí ya es calcio o ahora también en el juego, sólo vamos a ponerlo abajo, todo funcionando totalmente bien. Ese también es uno de los beneficios. Si tienes un bloque ya en funcionamiento y copias sobre los archivos JSON, generalmente cuando funciona para un bloque, esperemos que también funcione para el otro bloque también. Entonces eso es una vez más, bastante guay, ¿verdad? Pero eso ya será para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Todo el código está disponible para ustedes en los recursos, y los veré en la próxima conferencia. Entonces, sí. 41. (Fundamentos básicos) añadir el grupo de artículos personalizados: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia vamos a estar agregando nuestro propio grupo de artículos personalizados a Minecraft. Ahora bien, este es en realidad un ejercicio muy fácil y no requiere mucho, bueno, básicamente cambio de código. Dentro de nuestro paquete de artículos, vamos a hacer clic derecho en nueva clase Java llamada los grupos de ítems de modo. Y luego dentro de aquí vamos a hacer un nuevo grupo de ítem final estático público. Todo curso. Entonces este es solo el nombre de la variable aquí, y esto es igual al elemento de tela. Constructor de grupos construyó un nuevo identificador, MC curso mod que modelo ID AMA caballo como el nombre de como una cuerda. Y luego después de los primeros paréntesis, vamos a hacer un proveedor para abrir y cerrar paréntesis seguido de esta flecha aquí con una nueva pila de artículos. Y luego vamos a pasar más artículos o un lingote de calcio y luego terminaremos con un punto y coma. Entonces este es ahora un grupo de artículos. Si quisiéramos sumar un segundo, sólo podríamos copiar esto. Simplemente, soy un Curso 2, supongo algo así. Entonces por supuesto también cambia el nombre aquí también, ¿no? Eso es muy importante, pero así es como añadirías un segundo y luego solo puedes referirte a eso también. Pero para nuestros propósitos sólo vamos a sumar uno. Y entonces por supuesto, ¿cómo llamamos a esto? Bueno, en lugar de la clase más bloques, podemos simplemente reemplazar el artículo misceláneo aquí con más grupos de artículos que curso. Y entonces lo mismo va justo aquí. Entonces solo voy a copiar este Control C, Control V. Y entonces lo mismo va para los más artículos aquí mismo se llamarán los misceláneos. Solo vamos a pasar en el grupo del curso aquí mismo. Y eso va a estar bien. Además, sólo tienes que quitar esto también. Ahí vas. Entonces ahora todo está bien y ordenado. Y por supuesto, la pila de artículos aquí, esto se refiere a lo real que se está mostrando en la pestaña real, ¿verdad? Entonces ahora va a ser objeto de bienvenida o una Inglaterra de algodón que se está exhibiendo. Se podría, por ejemplo, decir también si querías que se exhibiera un él o un bloque de algodón, también se podría poner eso y eso también funcionaría. Pero nos vamos a quedar con el lingote, Eso va a estar bien. Y entonces este curso aquí es realmente muy importante porque también queremos agregar la traducción para ello. Entonces en el oído y subrayarnos archivo JSON, sólo vamos a ir al fondo. Esto va a ser muy interesante este ítem y luego agrupar la puerta g La g realmente escrita en mayúsculas. Muy interesante con tu curso MOD ID MC en nuestro caso. Y luego por supuesto es el nombre que le hemos dado ahí. Y esto sólo va a ser la pestaña Curso. Eso va a estar bien. Este es ahora el nombre que se muestra cuando pasamos el cursor sobre la pestaña. Y una vez más, este curso aquí, exactamente esto de aquí. Entonces ahora después de que hemos agregado esto y agregado en los bloques más artículos, clases, Vamos a ver si funciona o si responde de nuevo en Minecraft y vamos a ver. Entonces esta es una muy buena indicación si tenemos una segunda página aquí mismo, y allá van. la pestaña del curso, la pestaña Curso y todos Ahí estánla pestaña del curso, la pestaña Curso y todos nuestros artículos o nuestra caja. Pero eso en realidad es genial y podemos sacarlos y usarlos como quisiéramos. Entonces eso es realmente genial. Pero en el futuro, claro, vamos a utilizar la pestaña Curso. Por lo que recomiendo encarecidamente hacer tu propia ficha también. Entonces esto es básicamente un abusado en todas las conferencias futuras. Pero por el momento, esto es todo para esta conferencia aquí mismo. Espero que esto te resulte útil y se entere de lo nuevo, y te veré en la próxima conferencia. Entonces, sí. 42. Aprox. 5: bloques y artículos personalizados: Bienvenido a la primera asignación aquí en el curso de tela para 118. Y tu tarea va a ser agregar una fila o un ítem de calcio a los ítems de modo. Y por supuesto, todos los archivos JSON necesarios así como las texturas también. Se te proporcionarán las texturas. Tenga en cuenta que tienen licencia bajo vuelos internacionales CC BY SA 4. Y así si quieres usarlos en tu proyecto, en un proyecto abierto, asegúrate de dar el crédito adecuado ahí. Y luego también, se supone que debes hacer dos bloques, una hendidura profunda o un calcio o, y el robo de calcio o bloque. Por lo que una vez más, las texturas ahí se proporcionan bajo la misma licencia. También se proporcionan las texturas y todo también está escrito en esta página, deberías ver la asignación escrita en algún lugar como una asignación real. Tenía que adivinar que esto no debería tomar más que una ronda, unos 20 minutos. A lo mejor hay que volver atrás y ver las conferencias anteriores una vez más. Básicamente, realmente solidificaremos esto. Pero de lo contrario, esto no debería tardar demasiado. Y yo diría, buena suerte y nos vemos en la solución. 43. Solución 5: bloques y artículos personalizados: Está bien, así que echemos un vistazo la solución para agregar las dos cerraduras, la gotita o el calcio o en el registro de roca puede bloquear. Entonces por supuesto, básicamente es solo un ejercicio para copiar esos más, cambiar los nombres aquí y asegurarnos de que estamos eligiendo la fuerza del grupo de ítems aquí, por supuesto. Y luego en los artículos modelo, agregando el calcio Rory, una vez más, simplemente copiándolo y cambiando el nombre aquí. Y entonces por supuesto, sólo los archivos JSON son todos bastante sencillos. Básicamente son exactamente los mismos que los otros, simplemente apuntando a un modelo diferente en este caso. Todos esos son por supuesto, una vez más disponibles para ti en alguna capacidad en el repositorio de GitHub y también en un solo para que puedas echar un vistazo a cada uno de ellos individualmente. Y creo que también los tendré para descargar también. Entonces en general, esto no debería ser demasiado loco. Este en realidad debería ser un ejercicio bastante fácil para que sigas. Y espero que usted haya logrado esto. Si alguna pregunta surge el camino o ha surgido en el camino, no dude en hacer preguntas utilizando el sistema Discusión Preguntas y Respuestas. Espero que aprendas algo con esta asignación y te veré en la próxima conferencia. Entonces, sí. 44. (Fundamentos básicos) añadir recetas personalizadas: O doy la bienvenida de nuevo al curso de telas para 118. En esta conferencia, vamos a estar buscando una receta personalizada. Para recetas personalizadas en general, se podría decir, Bueno, probablemente van a ser realmente complicadas. No obstante, en realidad ese no es el caso. Algunas personas de ustedes podrían haber jugado ya con actos de datos en el pasado. Y es más o menos lo mismo. Entonces bajamos a nuestra carpeta de recursos. Y en lugar de poner esto en la carpeta de activos, realidad tenemos que crear uno nuevo en lugar de la carpeta de recursos llamada datos. Y luego dentro de ahí, vamos a crear una nueva carpeta con nuestro modelo. En nuestro caso por supuesto, MC curso. Y luego dentro de ahí, queremos crear la carpeta de recetas. Ahora una vez más, es muy importante que todo aquí esté escrito exactamente cómo es, así que eso tiene que coincidir exactamente con tu ID de modelo y recetas también se tiene que escribir así o en minúscula hora. Sólo quería mencionar eso una vez más. Y dentro de aquí ahora, todas nuestras recetas irán. Ahora, ¿cómo se ven? Bueno, voy a escribir una receta. Eres sólo por el bien de la discusión, sin embargo, voy a hacer clic con el botón derecho Nuevo Archivo y vamos a llamar a esto el oracle income underscore Block, underscore de index.js. Y lo que a veces podría pasar es que en la parte inferior justo aquí se puede ver receta de Jason Minecraft Jason, que básicamente el esquema se detecta automáticamente, pero también se puede entrar aquí, ¿verdad? Entonces para algunos archivos JSON, solo voy a abrir este. Por ejemplo, no se ve ningún esquema JSON. Siempre puedes entrar ahí con rojo y dar click en esto y luego básicamente buscar una receta y configuraciones. Tienes receta de datos de microondas. Entonces hay algunas cosas aquí. No necesariamente lo necesitas. La única ventaja que vas a obtener es si comienzas escribir cosas en C que obtienes algunas sugerencias aquí. Pero en un momento te mostraré cómo realidad puedes copiar sobre recetas de vainilla, lo que va a hacer que todas nuestras vidas sean mucho más fáciles. Entonces no se preocupe ahí. Entonces empezamos con los corchetes rizados y luego un tipo. Ahora el tipo es básicamente qué tipo de elaboración es este. Y se puede ver que hay un montón de cosas para esta cocina con forma, sin forma y duradera alcanfor, fundición, herrería, fumar y corte de piedra. En general, lo que vamos a echar un vistazo es básicamente lo en forma, sin forma, la fundición y la voladura sobre el resto son mucho más o menos lo mismo. No hay tanta diferencia en todos ellos. En primer lugar, vamos a echar un vistazo a unas recetas de forma. Entonces esta es una receta de forma. En realidad necesitamos definir un patrón aquí, pero este es el patrón que básicamente es una lista, y contiene generalmente tres cadenas. Y por lo general esas tres cuerdas tienen la longitud de tres. Por lo que estos anillos representan la mesa de manualidades. Entonces si hago esto, correcto, así que lleno todos los, todos ellos con extras de ceniza por el bien de la discusión aquí, entonces lo que debes notar es que, bueno, eso es un tres por tres. Ese es literalmente el banco de manualidades. Y eso es exactamente correcto. Por lo que el patrón aquí representa el banco de manualidades. Entonces si fuera a hacer esto, por ejemplo, entonces tendré que llenar el exterior y dejar la ranura media básicamente vacía. Y entonces, ya sabes, podrías hacer lo mismo con algo como esto. Entonces esa es una especie general de idea sobre cómo se puede hacer este patrón. Ahora no necesariamente tienes que tener tres cuerdas, y tampoco tienen que ser necesariamente de longitud tres. Entonces algo así, que sería la puerta, por ejemplo. Porque puedes graficar la puerta ya sea en el lado izquierdo de la mesa de manualidades, en el lado derecho de la mesa de manualidades. Y esto básicamente se encargaría de eso. Ahí una vez más, un poco de experimentación es por supuesto, muy inteligente. Y también hacia el final de la conferencia, vamos a echar un vistazo a las recetas de vainilla para que también después puedas copiar de esas. Entonces necesitamos definir una clave. Ahora la clave aquí es muy interesante porque por supuesto, esto tiene que relacionar de alguna manera algo, ¿no? ¿ Qué alarmas el Hashtag? No sé exactamente. Entonces tenemos que definir esto. Vamos a hacer hashtag colon y luego una vez más corchetes rizados. Y dentro de aquí, vamos a definir un artículo. Esto por supuesto va a ser núcleos MC o un subrayado de calcio en él. Y esto ahora significa que el hashtag aquí se supone que es este ítem en particular. Pero también no sea demasiado loco, entonces podemos hacer un resultado aquí al final. Y eso va a ser curso MC. O un bloque de subrayado de calcio. Para nada demasiado loco debería estar aquí. Todo esto debería ser bastante sensato manera vamos a poner aquí la OrIC bienvenida Ingrid como llave. Y entonces esto básicamente está siendo reconocido. Oye, tenemos que poner nueve o inglés de calcio para conseguir uno o un bloqueador de calcio como resultado. Ahora entrará la pregunta. ¿ Y al revés? Entonces si pongo un Oráculo puede bloquear en el banco de manualidades, ¿cómo saco nueve lingotes de calcio de él? Bueno, sólo voy a copiar esa otra más. todos los archivos recientes Por supuesto,todos los archivos recientesestarán a su disposición. Entonces vamos a echar un vistazo a esto en C. Esto ahora es un tipo sin forma. En lugar de un patrón, ahora tenemos ingredientes. Y se puede ver que tenemos, sólo tenemos un ingrediente aquí. El Oracle puede bloquear y se convertiría en nueve para el calcio Inglaterra. Por lo que también puedes especificar un recuento aquí que por cierto, también funciona para la receta en forma también. Ese no es tema en absoluto. Por lo que eso también funciona. Entonces esos son dos ejemplos de éstos conformados en la receta sin forma. Ahora, en realidad echemos un vistazo a la fundición y a la voladura. Yo también los voy a copiar. Justo aquí estamos. Por lo que se puede ver el tipo aquí es sólo voladura y luego aquí sólo está fundiendo. Y una vez más, hay que definir un ingrediente. En este caso, sólo se puede definir un ingrediente. ¿ Tiene usted, por supuesto, sólo una ranura de entrada ya sea en el alto horno o en el horno normal. Entonces puedes decir, oye, ¿cuál es el resultado aquí? Incluso puedes definir cuánta experiencia obtienes de cada olfato individual aquí, y luego también el tiempo de cocción. Entonces cuánto tiempo en garrapatas esto básicamente va a tardar. Se puede ver que por supuesto la voladura es más rápida que la fundición real. Uno. Una cosa más que también quería mostrarles es por ejemplo, aquí tengo esta pila de diamantes de otra receta personalizada estrella. Y puedes ver que estoy usando tanto artículos propios como artículos de Minecraft. Y se puede ver que no hay problema con eso en absoluto. Solo tienes que especificar nombres de Minecraft aquí y luego el nombre del elemento. Entonces que más o menos es todo lo que hay para elaborar artículos que no son tuyos. Puedes elaborar artículos de Minecraft que funcionen totalmente bien, aunque ese es un ejemplo de eso también. Y ahora antes de echar un vistazo a esto, Vamos en realidad a bajar para poder echar un vistazo a todos los archivos de datos y activos de Minecraft bajando en la ventana del proyecto, el externo bibliotecas, abriendo eso hacia arriba y luego bajando. Y se puede ver que básicamente éste de aquí, aquí mismo. Por lo que tenemos la red Minecraft, proyecto minecraft mapeado y así sucesivamente y así sucesivamente. Ésta antes de la gran lista negra de la que todos lucen igual, derecha, a arriba que tenemos ésta. Vamos a abrir eso y se puede ver que hay una carpeta de activos, hay una carpeta de datos, e incluso hay una carpeta de red. En la carpeta net, todo el código está escrito en lo que básicamente podemos echar un vistazo a todo el código también. Pero no vamos a hacer eso por el momento. Nos interesa la carpeta de datos, Minecraft, después las recetas. Y ya puedes ver, ahora podría echar un vistazo a cada una de esas recetas con patas ni siquiera importaría aquí, ¿verdad? Para que pudiera echar un vistazo a cualquier cosa. Pero por ejemplo, Oh, cómo funciona la fundición a partir del carbón o oh, así es como funciona. Está bien. Suficientemente justa. Podemos ir al composter. ¿ Cómo se hace eso? Ah, sí, claro, así es como elaboraste eso. Se puede ver que se tiene acceso a todo lo que aquí dentro pudiera desear. Tan genuinamente deberías poder casi hacer cualquier cosa en cuanto a las recetas que te gustaría con esta equipada, básicamente tienes acceso a cualquier cosa. Te recomiendo encarecidamente si entonces quieres tomar básicamente uno de esos. Entonces digamos, por ejemplo, el salmón cocinero aquí estás como, vale, quiero tomar esto. Lo que haces es que acabas de elegir presionar Control C. Entonces puedes volver a subir a tu propia carpeta de recetas Control V para pegarlo. Y luego lo tienes ahí dentro. Y entonces básicamente puedes cambiarlo como quieras. Pero esa es la idea general de cómo hacerlo. Simplemente lo voy a volver a borrar porque no vamos a necesitar esa. Eso va a estar bien de todos modos, después de haber agregado todos esos, Vamos a ver si funciona o si nosotros mismos en Minecraft. Entonces vamos primero a ver si podemos o no elaborar el bloque con el oráculo próximos minutos y ahí tienes. Podemos hacer muy fácilmente. Y lo que también encontrarás es que en cuanto tengas las recetas se harán una vez, puedes ver que también están disponibles aquí en los libros de recetas reales. Entonces eso es bastante guay. A ver si puedo oler el robo, cuéntalos también aquí. Y por supuesto que puedo, y debería funcionar ya sea en el horno normal o en el alto horno también. Ahora, sí, éste en realidad es definitivamente más rápido así que van con bastante facilidad. Y ustedes han visto yo también puedo después del revés. Entonces así también funciona. Eso es bastante guay si lo digo yo mismo. Ahora por supuesto, todos los bloques que tenemos, podría faltar algunas recetas más. En realidad vamos a tener esos en la siguiente asignación, que va a ser después de la próxima conferencia en realidad, donde básicamente hay que agregar el resto de las recetas aquí. Y esos, por supuesto, entonces también estarán disponibles. Entonces no se preocupe ahí. Y por supuesto siempre tienes acceso a las recetas aquí mismo. Entonces, en teoría, este debería ser un ejercicio muy, bastante sencillo. Pero por el momento, esto es todo para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo si lo hizo. Y nos vemos en la próxima conferencia. Entonces, sí. 45. (Básicos) gotas de bloques personalizados con mote de lote: O doy la bienvenida de nuevo al curso de telas para 118. Y en esta conferencia vamos a estar buscando tablas de perder personalizadas aunque lo que nuestras tablas de ruta personalizadas, bueno, esas básicamente definen las cosas que caen de un bloque cuando la extras. Entonces tenemos en nuestros bloques, el Oráculo puede bloquear y el orbital OK. Y si esperemos que hayas hecho la primera asignación, entonces también tendrás la pizarra profunda o más y la fila o una columna o bloque. Ahora vamos a implementar ahora caídas para el bloque y el, o, el, o es por supuesto especial aquí porque va a haber algunas diferencias si tienes o no una herramienta que en realidad tiene toque celular en él. Y si ese es el caso, entonces por supuesto las caídas reales o de bloque. De lo contrario caerá el crudo o un calcio. A pesar de que hay un par de cosas que necesitamos. Una vez más, en nuestra carpeta de datos, en la carpeta del curso MC, haga clic con el botón derecho en nuevo directorio denominado tablas de subrayado de botín. Una vez más, muy importante que esto esté escrito exactamente así. Entonces dentro de ahí en nuevo directorio llamado bloques. Pero voy a hacer un nuevo archivo aquí llamado el Oracle come underscore block dot-dot-dot JSON. Ahora lo que es muy importante es que este nombre de aquí tiene que coincidir con el nombre dado aquí mismo. Pero esto es diferente a las recetas porque las recetas no somos realmente dependientes de una cosa en particular. Pudimos definir el resultado en el costado del mismo, mientras que esta vez en las tablas de luge, el nombre del archivo una vez más tiene que coincidir con el nombre que aquí se da. Muy importante, ¿verdad? Simplemente vamos a pasar, así que vamos a tener un tipo. Y eso va a ser bloque de colon de Minecraft porque por supuesto esta es una tabla de botín de bloques. Entonces vamos a tener testamentos. Y esta es una lista. Y luego básicamente un corchetes rizados aquí otra vez, roles, roles uno. Y entonces tenemos algunas entradas aquí, que es otra lista. Y dentro de ahí, vamos a tener un tipo que son artículos de Minecraft. Por lo que queremos dejar caer un artículo aquí. El nombre de ese ítem es MC course colon o un bloque de subrayado de Malcolm, ¿verdad? Entonces esto podría parecer bastante loco para ti y eso está absolutamente bien. Porque en general, lo esencial general de las mesas de luge es que pueden ser bastante complicadas. Este es definitivamente un ejemplo de un muy, digamos fácil o símbolo 1. No obstante, el, definitivamente pueden ponerse mucho más complicados. Por ejemplo, el viejo, en realidad voy a copiar esto aquí mismo. Entonces un recapitularlos o, y se puede ver que esto es un poco más complicado como se puede ver claramente, que se puede ver que si bien sólo tenemos una entrada, esto ahora es de alternativas de tipo, lo que significa que básicamente, bueno hay dos alternativas. O tenemos un artículo donde si se cumple una condición en particular, vamos a elegir esa. Y de lo contrario sólo tenemos un artículo con una cantidad particular aquí. Estas mesas lascivas se pueden complicar muy, muy rápidas, como se puede ver claramente. Y la idea general es que, bueno, hay un buen recurso. En realidad había dos buenos recursos que puedo recomendar mucho. Uno de los recursos es la entrada Wiki aquí mismo. Entonces esta es la entrada de la tabla de botín de Minecraft Wiki. Te recomiendo mucho echar un vistazo a esto porque básicamente puedes mirar todas las diferentes cosas que hay ahí dentro. Entonces así es básicamente como se describe esto. Ahora, en general, esto es un poco complicado de leer por primera vez, pero te recomiendo encarecidamente si realmente quieres tablas de ruta absolutamente personalizadas, tendrás que echarle un vistazo a esto y solo tienes que echar un vistazo y pasar por esto básicamente, entonces hay otra cosa y esa es el generador de mesa de botín por un misil GitHub IO. Esto es increíblemente útil y básicamente puedes simplemente elegir todo lo que quieras, ¿verdad? Entonces se puede decir, yo quería apedrear para caer sólo si hay unas cosas específicas. Por ejemplo, puedes tener una oportunidad aleatoria aquí dentro. Una vez más, verificación de ubicación, incluso herramienta de coincidencia. Aquí hay un montón de cosas que puedes hacer, y yo solo altamente, altamente lo recomiendo cuando mires este enlace también, generando algunas cosas, asegúrate de que tengas 11, 18 arriba aquí porque hay diferencias entre la versión a veces. Ahora si no requieres nada que sea, digamos, fuera del reino de la vainilla, entonces también puedes por supuesto ir a las bibliotecas externas aquí abajo, a esta de aquí, net Minecraft, proyecto de minecraft en, y así sucesivamente y así sucesivamente en la carpeta de datos, tablas de botín de Minecraft. Y luego básicamente echar un vistazo a todas las tablas de luge que también tienen los bloques normales. Por ejemplo, quiero decir, ¿qué podría ser? El cofre no son realmente interesantes porque la caída del del cofre se manejó de manera diferente en ese caso. Pero, ¿dónde más tenemos? O sea, ¿qué podría ser interesante? Tal vez, la hierba podría ser interesante, ¿verdad? El bloque de pasto en realidad justo aquí. Una vez más, tenemos alternativas, ¿no? Si tienes toque de seda en él, obtienes el bloque de hierba, de lo contrario obtienes suciedad. Por lo que recomiendo encarecidamente una vez más, si hay algo que ya existe en vainilla, sólo echar un vistazo a las bibliotecas externas va a hacer tu vida mucho más fácil. Pero sólo agregar esos para perder tablas en realidad no es todo lo que necesitamos hacer ahora esto es muy importante. No se salte este paso bajo ninguna circunstancia. De lo contrario no funcionará, ¿verdad? Por lo que en realidad necesitamos agregar algunas etiquetas también. no hemos hablado de etiquetas, pero lo haremos muy pronto. No obstante, por el momento, sólo podemos pensar en ellos como una especie de lista de ítems, bloques o lo que podamos pensar que tenga un propósito común o se agrupe de alguna manera. Por lo que dentro de nuestra carpeta de datos, vamos a hacer clic derecho en nuevo directorio llamado Minecraft. Ahora podría haber oído hablar de eso antes. Ahora, dentro de ahí vamos a crear un nuevo directorio llamado tags. Y luego dentro de ahí vamos a crear un nuevo directorio llamado bloques. Y luego el último pero no menos importante en cuanto a su, también necesitaremos un nuevo directorio llamado minable. Minable en realidad hace y ahora en realidad voy a copiar sobre las o minables etiquetas justo aquí. Y te voy a explicar en solo un momento, también necesitamos tres etiquetas o los bloques. Esto es por supuesto, todo disponible para ti en el repositorio de GitHub o un individuo igual de bien. Y esto también se encuentra aquí otra vez en las bibliotecas externas, justo en la carpeta de datos, vamos a bloques de etiquetas, se puede ver minable. Ahí están exactamente esos cuatro archivos JSON también. Y luego en la carpeta de caja aquí, los otros cuatro están, los otros tres en realidad también están disponibles. Entonces, ¿qué significa esto? Bueno, tenemos que poder establecer la incapacidad o nuestros bloques. Esto significa que si puedes echar un vistazo a esta tasa, he agregado ya el bloque de comorbilidad oráculo, el recalc y bloque crudo y la pizarra profunda o una telecom o al piquete adyacente. Esto significa que esto es, estos bloques son minables con un cerdo actos. Eso debería tener sentido, eso debería ser bastante sensato aquí. Nada demasiado loco. Ahora lo mismo va para las necesidades Diamond necesita mineral de hierro, necesita herramienta de piedra. Básicamente podemos definir qué nivel de herramienta necesita para poder minar esto. Entonces la herramienta de hierro aquí, en realidad lo he definido básicamente como necesidad de herramientas de hierro. Al menos cada uno de esos bloques no sería minable con una herramienta de piedra solamente. Entonces eso en realidad es muy interesante. Por lo que necesita mineral de hierro arriba, y eso es básicamente lo que necesitas para agregar cosas adicionales aquí. Literalmente puedes añadir uno nuevo aquí, ¿verdad? Por lo que no conozco la prueba de curso de MC. Y entonces básicamente solo asegúrate de que también tenemos una coma aquí. Y eso es más o menos. Entonces eso es todo lo que tienes que hacer. Asegúrate de que todos los bloques que definas dentro de estos archivos de etiqueta sean realmente válidos. Entonces no puedes como yo hice el test uno. Si eso no existe, entonces podría encontrarse con un error. Entonces eso es muy importante, pero necesitarás esas etiquetas y necesitarás definir todo dentro de tu para que dejen caer su botín básicamente, eso es algo muy importante. Te recomiendo encarecidamente que hagas esto. Y una vez más, por supuesto todo esto está disponible para ti. De lo contrario, hacer esos archivos realmente no es tan complicado como puedes ver claramente, no están tan locos. Pero por el momento, veamos si funciona o más rápido de nuevo en Minecraft. Entonces, solo tratemos de minar esto con el piquete de piedra y se puede ver que ya lleva mucho tiempo. Y es, Es, esto no debe dar un resultado. Y por supuesto que no lo hace. Cuando usas el piquete de hierro, funciona y también cae justo aquí. Pero intentemos lo mismo aquí. Y se puede ver que nuestra cruda o una telecom cae. Y también podemos probar esto con la escritura inferior X por ejemplo. Es decir, esto en realidad está tomando tanto tiempo. Esta es una muy buena indicación, generalmente por supuesto, de que esto no funciona, ¿verdad? Y luego diamante por supuesto, también funciona porque funciona, bueno, básicamente hierro o arriba, Esa es la idea general aquí. Entonces eso es bastante guay. Y luego solo por sake de finalización, un piquete de diamante con toque de seda. Y se puede ver que ahora en realidad cae el Oracle CRM o aquí también, ¿no? Una última cosa más que quería mencionar es que si no has llamado El requiere herramienta aquí, entonces esto también podría no funcionar. Por lo que este es otro requisito previo que es muy importante. Yo sólo quería mencionar eso porque no estoy un 100 por ciento seguro si mencioné o no eso en el tutorial de bloques también, pero esto definitivamente se necesita también para cada uno de tus bloques. Entonces eso es muy importante. Pero de lo contrario, esto sería para esta conferencia aquí mismo. Espero que te haya parecido útil esto y hayas aprendido algo nuevo. Te veré en la próxima conferencia. Entonces, sí. 46. Aprox. 6: recetas y cuadros de lanzamiento personalizados: Muy bien, Bienvenidos a la segunda asignación aquí para la porción de Minecraft de este curso. Y en esta asignación, se supone que debes hacer las siguientes cosas. Ahora por supuesto que tienes las tareas reales esperemos delante de ti también. Pero la idea es que se agreguen tablas de botín tanto para el bloque, la pizarra profunda o un halcón o, la fila o una columna o bloque. Esos deberían ser bastante simples ya que hemos visto dos ejemplos que son casi exactamente los mismos. Bueno, eso debería ser, creo, bastante sencillo. Y luego cuando se trata de las recetas, en realidad quiero que hagas algunas cosas. Quiero que añadas la voladura y la receta de fundición tanto para los bloques o. Ese es el número uno. Y número dos, quiero que puedas, quiero que puedas conseguir unas pepitas de un lingote y luego también confeccionando pepitas de nuevo en un lingote también. Y luego por último pero no menos importante por las recetas, quiero que solo cualquier receta usando algunos artículos de vainilla. Puede ser cualquier cosa que tu mente pueda soñar básicamente, ya sabes, conseguir 64 diamantes por como 2 terceras cuadras o algo así podría ser cualquier cosa, siempre y cuando al menos tome artículos de Minecraft en la receta, estoy bien con ello. Eso sería básicamente. Si algo no está claro, debes, por supuesto, tener las tareas a tu disposición para básicamente comprobar dos veces, pero buena suerte y divertirte en la asignación. 47. SOLUCIÓN 6: recetas y máticos de lanzamiento: Muy bien, echemos un vistazo a la solución para la asignación aquí. Por supuesto, el bloqueo de calcio del robo fue bastante sencillo. Esperemos que sea más o menos lo mismo que lo normal o recalc. Desbloquea. Esto de aquí. Dejar caer el récord de rock puede bloquear eso esperemos cuando muy fácilmente aquí. Y luego la pizarra div o un calcio o es casi la misma que la normal también. Estamos aquí abajo, deja caer el calcio de Rory por aquí arriba. En realidad cae la pizarra profunda o un calico o eso es solo un pequeño cambio que necesitarías hacer en la mesa de oráculo o botín, Jason. Por lo que ojalá esos no estuvieran demasiado locos. Pero echemos un vistazo a las dos recetas de voladura. Por supuesto, solo eres el ingrediente realmente necesita cambiar. Entonces el resultado es por supuesto que todavía van a ser lingotes. Y luego para la fundición de la amina es casi lo mismo. Lo único que aquí, los cambios para la voladura a la fundición es el tiempo de cocción. Y luego aquí una vez más, los artículos Eso es más o menos todo lo que hay a ello, las pepitas podrían ser un poco más interesantes porque por supuesto uno de ellos es una receta de forma y el otro es una receta sin forma que devuelve un conteo nueve también. Entonces eso pudo haber sido muy interesante aquí. Y luego por supuesto, no hay solución para tu personalizada. Mientras funcione, está bien. Por supuesto, siempre puedes echar un vistazo a la pila de diamantes de estrella baja aquí mismo, lo cual es una idea o un, ejemplo de unejemplo deuna cosa posible que podrías hacer también, pero eso será para esta solución aquí mismo. Espero que te haya parecido útil esto y hayas aprendido algo nuevo. Te veré en la próxima conferencia. Entonces sí. 48. (Fundamentos básicos) hacer un artículo avanzado: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia vamos a estar viendo un ítem avanzado. Entonces, ¿qué es un artículo avanzado? Dónde llamaría a los artículos avanzados son artículos que tienen su propia clase de ítem. Entonces si entramos en nuestra clase más Adams, realidad podemos ver que ni la pepita del lingote del norte ni la fila o un calcio tienen sus propias clases porque aquí son todos artículos nuevos. Ahora esto va a cambiar. En lugar de nuestro paquete de artículos, vamos a hacer clic derecho en nuevo paquete llamado personalizado. Y luego dentro de ahí vamos a hacer clic derecho en nueva clase Java, y este va a ser el elemento de varilla de dowsing. Ahora algunas cosas por mencionar aquí. Por lo general quieres terminar esto con el elemento de nombre aquí, cualquiera que sea el nombre de tu artículo, y luego terminaste con ítem, solo para que puedas ver fácilmente que esto es en realidad un ítem. Esto ahora va a extender la clase de ítem. Entonces vamos a elegir este aquí mismo. Y luego pasaremos el cursor sobre este constructor credo que coincide super. Y ahora en realidad estamos muy contentos con cómo el SR y fuera. Ya podemos estar usando esta clase. Por supuesto, sin embargo, queremos agregarle alguna funcionalidad personalizada. Es decir, cuando hago clic derecho con este ítem, básicamente quiero revisar cada bloque por debajo de un bloque que acabo de hacer clic y ver si hay algún objeto de valor ahí dentro. Entonces, ¿cómo vamos a hacer eso? Bueno, solo primero que nada, botón central del ratón haga clic en la clase de ítem, y aquí encontrarás un montón de cosas que puedes sobrescribir. Por lo que este es el número uno en apelación. Una vez más, si no estás familiarizado con Java, para echar otro vistazo a la introducción de Java, lo recomiendo mucho porque ahora como estamos entrando en territorio cada vez más avanzado, básicamente asumiré cada vez más que se acaba de saber qué es la herencia, al menos sobre un concepto básico y una anulación de un método. Simplemente no estás sentado ahí y estás como, no sé lo que eso significa, pero al menos tienes una idea general de ello. Pero podemos anular los métodos y básicamente crear nuestra propia funcionalidad para ellos. Entonces como puedes ver, hay muchos métodos que podríamos sobrescribir en teoría. Y esa es también una de las cosas geniales. Entonces lo que puedo hacer es empezar a escribir anulación. Y también obtendrás básicamente todas las sugerencias que son posibles para nosotros para anular. Ahora hay un montón de ellos. Entonces Estados Unidos, por ejemplo, es el método de clic derecho sin hacer clic derecho en bloque. Hay algo así como la información de herramientas de anexar, que como una descripción de herramientas que también vamos a ver en una futura conferencia también, el tick de inventario, que se ejecuta cada tick, Este artículo está en tu inventario garrapata de uso. En realidad no soy un 100 por ciento seguro, pero creo que esto se ejecuta cada vez que tienes esto en tu mano principal y haces clic derecho en algo así. Aunque también si solo importáramos esto y yo botón del ratón medio haga clic en esto en el Super uno aquí. En ocasiones tienen alguna indicación por encima de ellos, por lo que algunos comentarios. Ese no siempre es el caso, pero, oh, bueno, pero lo que vamos a usar es que vamos a usar EU en un método de bloque. Como puedes ver, solo escribiremos eso y haremos doble clic y luego generará esto. El add override aquí es una anotación y esto no es estrictamente necesario. No obstante, sí te da en unas glándulas normales a través de esta clase la idea de que, oh, bien, Así que este es un método anulado. Es por eso que esto está aquí. Entonces eso en realidad es muy importante. Y ahora viene el código personalizado que vamos a escribir básicamente. Y esto una vez más tiene mucho que ver con el conocimiento de Java básicamente. Y vamos a empezar por, en primer lugar, comprobar si estamos o no en el cliente o en el servidor. Porque en este caso real, lo que realmente queremos hacer es que sólo queríamos hacer algo aquí en el cliente. Esto no siempre es así. Por lo general queremos empezar a suceder en el servidor, pero eso a veces es lo que pasa. Vamos a entrar en el poco más de detalle, sin embargo, no demasiado. Entonces por el momento, lo que tenemos es que tenemos ese contexto aquí, tiene toda una carga de cosas. Entonces por ejemplo, el mundo, que es exactamente lo que necesitamos, la autocompletar que con tab. Y entonces vamos a decir que es cliente. Y usualmente me llevo el método. Esto realmente no importa si tomas o no el método o el campo está totalmente bien. Y ahora lo que sabemos es que si estamos dentro de esta afirmación if, definitivamente estamos en el cliente, así que eso es bastante bueno. Ahora lo que queremos es que queremos la posición del bloque en el que se hizo clic y eso lo obtenemos como un bloque Pausa. Y esto es sólo el elevador de posición. Y esto es igual a context dot get block path como se puede ver. Y luego queremos al jugador, esta capa de entidad jugador, que es igual a context dot get player justo aquí. Y entonces también podemos tener sólo un booleano, que va a ser el bloque encontrado. Éste sólo comprueba si hemos encontrado o no el bloque. Vamos a hacer eso en un momento. Pero la idea es una vez más, cuando hago clic derecho en una cuadra, quería revisar cada bloque que está por debajo de esa manzana, bajando todo el camino a la roca. Y básicamente revisando, oye, ¿ ha encontrado esto un artículo valioso? Esos objetos valiosos que por supuesto vamos a definir en tan solo un momento. Pero por el momento, solo hagamos un bucle for. Entonces para int I igual a 0, yo es más pequeño o igual que la posición clicada. Eso se pone, ¿por qué realmente conseguir y? Y luego yo plus, plus. Y entonces lo que queremos hacer es que queremos hacer algo muy interesante. Queremos conseguir el bloque de abajo. Entonces bloque, el bloque, bloque abajo. Y ese va a ser el contexto dot-dot-dot mundo. Pero para conseguir estado de bloqueo en posición, hizo clic en eso hacia abajo y luego pasando en el ojo. Y entonces aquí vamos a conseguir la cuadra. Entonces, y luego por supuesto, también importación de esta clase. Entonces ahora esto podría ser bastante loco. Bueno, solo pensemos en esto. En primer lugar, sólo estamos consiguiendo el mundo que debería estar demasiado loco. Y entonces estamos consiguiendo un estado de bloque en particular. Ahora aún no hemos hablado de bloques y contra estados de bloque. No obstante, la esencia general es que los estados de bloque son la representación de bloques dentro del mundo. Si bien un bloque es una especie de idea perfecta de un bloque, el estado de bloque es lo que realmente existe dentro del mundo que tiene coordenadas y tienen propiedades diferentes, por ejemplo. Por lo que esto consigue el estado de bloque en esta posición en particular. Y luego por supuesto, cuando tenemos la posición en la que hicimos clic, sólo vamos a bajar por mí, que al principio no es nada. Y luego a medida que aumentamos i, medida que continúa el bucle for, bajamos cada vez más. Entonces este es básicamente siempre el bloque de abajo. Y entonces lo que podemos hacer es comprobar, oye, ¿este es un libro valioso? Y para eso realmente vamos a hacer un nuevo método para eso. Porque eso realmente hace, porque eso realmente lo hace un poco más fácil. Entonces vamos a decir booleano privado es valioso candado. Y entonces sólo vamos a pasar en la cuadra aquí. Y entonces básicamente podemos devolver un booleano. Y lo que vamos a hacer es que sólo vamos a decir bloque igual a bloques dot col, o por ejemplo, carbón o, o LOC es igual a bloqueos punto cobre, o vamos a añadir unos cuantos más. Entonces bloque es igual a Langston diamante o un Último pero no menos importante, vamos a añadir también el mineral de hierro también. Entonces bloquea el hierro o el ego. Y ahora este método aquí, si esto está frío y se pasa un bloque, si es cualquiera de esos cuatro bloques, entonces volverá verdadero. Y lo que vamos a hacer es decir si es valioso bloque aquí, y luego pasar en la cuadra de abajo, ¿verdad? Entonces lo que queremos hacer es, digamos que lo que queremos hacer es que queremos dar salida a las coordenadas reales de ese bloque. También queremos convertir el bloque encontrado a verdadero. Y entonces en realidad lo que queremos hacer es querer salir de este for-loop porque hemos encontrado el primer bloque valioso y eso básicamente se hace después. Entonces esa es la idea general. Ahora lo primero que queremos hacer aquí, como dije, es la salida de las coordenadas. Ahora para eso, vamos a hacer un nuevo método también. Entonces la idea es que primero escribamos esto y luego tomemos lo escrito y hagamos un método de ello. Por lo que podemos decir jugador SendMessage. Esta es en realidad una forma muy interesante de hacer esto. Entonces vamos a decir Nuevo texto literal. Aunque, un texto literal aquí. Esto es básicamente una cadena. Podemos encontrar donde podemos meter las cosas. Podemos decir algo así como encontrado. Y entonces podemos decir bloque, bloque debajo eso como elemento que obtiene nombre, que obtienen cadena. Entonces este es uno bastante loco, pero esto básicamente obtiene el nombre real del bloque. Y entonces podemos decir en, y luego en la posición particular. Para la posición particular va a ser algo lago. Abrir paréntesis y luego pasar a la posición con el punto cliqueado getX. Más coma. Posición clicada. ¿ Por qué? Entonces más una vez más coma, luego más posición clicó punto get z o z Y luego cerrando el paréntesis en la cadena aquí. Y luego después del componente de cadena literal, queremos un falso aquí están el ActionBar. Ahora se puede ver que esto es muy poco manejable Rayleigh. Entonces esto es como, antes que nada, no se ve bien. Es muy poco manejable. Entonces lo que podemos hacer es simplemente seleccionar todo esto haciendo clic derecho Método de Extracto de Refactor. Y vamos a hacer eso. Y se puede ver que ahora en realidad hemos extraído todo esto. Y tiene, bueno básicamente acaba de hacer todo el trabajo por nosotros. Ahora sólo tenemos que poner un nombre. Vamos a poner este nombre para generar ordenadas valiosas aquí mismo. Y luego dentro del método real, lo que quiero hacer es solo quiero cambiar quizás los nombres aquí para poder hacer clic en Control y Shift fx, algo así como por ejemplo, las rutas de bloques aquí. Y luego el resto, creo que está definido. Entonces esto, por supuesto podría, podríamos cambiar esto aún más, ¿no? Pero por el momento, creo que esto va a estar bien. Esto simplemente dará salida a las coordenadas de lo que le demos. Eso se ve bastante bien. Ahora lo que vamos a llegar aquí es que vamos a conseguir un rato una discusión porque hey, jugador podría ser nulo. Por lo que puedes ver argumento player podría ser nulo a cualquiera de las dos aseverar. También podemos cambiar alrededor de un montón de cosas. Siendo el momento. No me preocuparía de esto en realidad. Y hay una cosa más con eso queremos hacer, por supuesto, y es que si no se ha encontrado el bloque, correcto, entonces queremos dar salida a algo también. Pero por ejemplo, algo así como jugador dot-dot-dot SendMessage. Y entonces vamos a hacer es realmente vamos a hacer éste el componente de texto traducible por radar. Y entonces pongamos la palabra de acción falsa también. Por lo que generalmente recomiendo encarecidamente usar los rasgos textos legibles componentes aquí siempre que sea posible. Por lo que podría utilizar un componente de texto traducible aquí también. No obstante, no hace que esto sea un poco más difícil de hacer realmente correctamente, pero podrías hacerlo. Te recomiendo encarecidamente usar esto siempre que sea posible, donde básicamente definimos una clave que luego podemos poner en la E y subrayarnos el archivo adyacente. Entonces para nosotros lo voy a hacer como este artículo, curso MC. Entonces me voy a quedar con eso. Y luego vamos a tomar el nombre del artículo varilla de dowsing, no saber subrayan los objetos de valor. Deja que el nombre que vamos a definir en tan solo un momento al final nos subraye archivo adyacente, pero así va a ser. Y luego fuera de esta afirmación if, en realidad vamos a decir contextos que se ponen pila. Entonces este es el, la pila real de artículos, el artículo que tenemos en nuestro inventario, daño de puntos. Queremos dañar esto por cantidad uno. Vamos a decir contextos, dot get player. Y entonces el último parámetro va a ser un consumidor. Creo que esto va a ser un jugador exactamente jugador consumidor de entidades jugador. Entonces sólo vamos a llamar a este jugador. Y luego vamos a decir player dot sind, sind tool y tool bricks status con el player dot get active head. Pero esto también podría ser bastante loco para ti, pero sin preocupaciones. Bueno, esto todo lo hace es simplemente decir, oye, el artículo real con el que acabamos de hacer clic derecho un roto, vamos a dañar por la cantidad uno. Por lo que esto va a disminuir la durabilidad de la misma. Y luego simplemente le pasamos el jugador, eso está totalmente bien. Entonces lo último aquí es justo qué tipo de animación de rotura de herramienta debería enviar cuando el daño de esa pila de elementos en realidad va a dar como resultado que el elemento se rompa. Ahora. Y esa es básicamente toda la clase aquí mismo. A pesar de que es bastante loco. Y una vez más, sin algún fondo Java probablemente va a ser muy complejo. Te recomiendo encarecidamente que tengas esto, por supuesto, todo disponible para ti en el repositorio de GitHub o en un individuo igual de bien para echarlo un vistazo, pruébalo, ya sabes, para ponerlo en tus propias matemáticas y sólo pruébalo un poco. Simplemente cambia un montón de cosas, ve qué podría pasar. Y no olvidemos agregar esto a nuestro archivo E y traducción aquí. Yo sólo voy a añadir esto en la parte inferior. Esto en realidad va a decir lo siguiente. Esto simplemente dirá, no hay objetos de valor fuera. Entonces eso es todo lo que este dice aquí. Y ahora lo grandioso es que si tuviéramos, por ejemplo, otro archivo de idiomas, podríamos traducirlo a un idioma diferente. Es por eso que normalmente el texto traducible es lo que quieres usar. Por lo tanto, ten eso en cuenta. Ahora, sólo haber agregado esta clase, por supuesto, no es suficiente. También tenemos que registrarlo en nuestra clase de artículos mod, y vamos a hacer eso también. Entonces, solo copiemos sobre el resultado rock. Como dije, usualmente solo feliz por viejos artículos porque casi siempre son iguales. Esta es la varilla de dowsing. Y luego aquí también, por supuesto, varilla de dowsing. Y en lugar de nuevo artículo, esto es muy importante. Se trata de un nuevo artículo de varilla de dowsing. Entonces esto es lo principal que tenemos que hacer aquí. Tan muy importante que hagas esto. También queremos establecer el daño máximo aquí mismo. Entonces el daño máximo va a ser, digamos 32. Entonces podemos usar esto 32 veces antes de que se rompa la varilla de dowsing real porque por supuesto lo estamos dañando aquí mismo dentro del método de uso en bloque. Por lo que esto debería estar totalmente bien ahora mismo también, vamos a agregar esto al uso de subrayado ONU archivo JSON. Por lo que dowsing underscore varilla y luego aquí también, por supuesto, dowsing, dowsing varilla sin el subrayado. Y luego por último pero no menos importante, necesitamos el modelo de artículo así como la textura del artículo. Entonces vamos a copiar sobre el papel o calcio para esta varilla de dowsing y luego tu barra de dowsing. Pero una vez más, esta es la forma normal que voy sobre el usuario, generalmente agregar elementos cuando ya tengo algunos modelos existentes aquí es mucho más fácil que cualquier otra cosa. Escribirlo es absolutamente una locura. Y si hay algún tipo de tipografía en el tuyo, puedes, por supuesto, siempre echar un vistazo al repositorio de GitHub o a los juristas también. Y vamos a copiar también sobre la varilla de dowsing . Ahí vas. Por supuesto, también disponible. Tenga en cuenta el aviso de créditos sin embargo, que usted sigue la licencia allí. Entonces en general, eso en realidad está totalmente bien. Y yo diría Ya estamos listos. Echa un vistazo a si funcionó o no o nos encuentra de vuelta en Minecraft los fans pueden ver que la varilla de dowsing se ha agregado con éxito al juego. Y lo que también encontrarán es que en realidad no puedo apilar. Eso es exactamente correcto porque por supuesto hemos agregado el daño máximo. Y si agregas daño máximo, entonces, bueno básicamente el apilamiento ya no funcionará. Ahora vamos sólo por aquí y vamos a hacer clic derecho y se puede ver arriba o encontrar allí una hora para su, uh, no, no hay objetos de valor encontrados justo aquí. Y se puede ver que la durabilidad real disminuye a medida que estoy continuando dando clic aquí. A ver, tal vez podamos encontrar algún diamante antes de que se rompa. ¿ No sería eso bastante loco? Tristemente no lo hicimos. Pero ahí lo tienes. Ahora en irrumpió y ahora tenemos las otras rutas, por supuesto disponibles también. Por lo que sólo podemos pasar por esto y ver si podemos encontrar algo aquí abajo. Pero esa es más o menos la idea general de la barra de dowsing, ¿verdad? Pero eso ya sería para esta conferencia aquí mismo. Espero que te haya parecido útil esto y hayas aprendido algo nuevo. Si quedan dudas para el artículo avanzado, por favor no dudes en preguntar. De lo contrario, los veré en la próxima conferencia. Entonces sí. 49. (fundamentos de la forma de hacer un bloque avanzado: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia vamos a estar haciendo un bloque avanzado. Entonces al igual que hemos visto la última conferencia con el ítem avanzado, ahora vamos a hacer un bloque avanzado para en nuestro paquete de bloques, haga clic derecho en nuevo paquete llamado Custom. Y luego dentro de ahí vamos a crear una nueva clase Java llamada el bloque SPD. Ahora esto extenderá la clase de bloque, asegurándonos de que elegimos la correcta, net Minecraft block, block, y el cursor sobre este creed constructor coincidiendo super. Y al igual que antes de que podamos botón medio del ratón, haga clic en la clase de bloque y básicamente echar un vistazo a todos los métodos posibles que podemos anular en nuestra clase de bloque personalizada. Y como pueden ver, hay toneladas de cosas que podríamos anular aquí. Y también puedo poner en la palabra anular. Cualquiera verá que hay un montón de cosas aquí. Ahora una cosa que quería mencionar es que las cosas que están tienen este tachado que básicamente están en desuso, ¿verdad? Entonces si le echo un vistazo a esto, se puede ver que este de aquí está en desuso. Por lo general. Lo que eso realmente significa es que puedes simplemente, puedes anular esos métodos, sin embargo, no debes llamarlos. Entonces esa es la idea general en el bloque y la clase de ítem, cosas que están en desuso. No quiero decir que estén en desuso y no estén disponibles en futuras versiones. En ese caso, en realidad se trata de que no sean atrapados. Y eso incluye el super por ejemplo. Pero vamos a ver eso en tan solo un momento. ¿ Qué va a hacer el bloque SPD? Bueno, el bloque SPD va a tener dos funcionalidades diferentes. Número uno, si lo pisas, obtienes el efecto de velocidad que se agrega a tu personaje. Y luego solo para que lo hayas visto, la funcionalidad de click derecho, cuando hagas clic con el botón derecho en el bloque, solo vamos a enviar un mensaje al chat. Eso va a ser. Entonces, antes que nada hagamos el método de paso de piedra que se llama, pisoteamos. Y se puede ver ahí se va. Y lo que vamos a hacer aquí en realidad es muy sencillo. Primero que nada vamos a comprobar si el mundo es cliente y son muy, muy importantes. Vamos a agregar un signo de exclamación delante de él para decir, no queremos estar en el cliente, queremos estar en el servidor. Al igual que cuando se agrega, por ejemplo, un efecto de estado, sólo se puede hacer eso en el servidor. Entonces vamos a comprobar si la entidad que ha pisado esto es instancia de entidad viviente porque sólo las entidades vivientes pueden tener efectos de estatus aplicados a ellas. Y entonces podemos, sin tema, conseguir aquí mismo a la entidad viviente y simplemente echarle la entidad a ella. Por lo que entidad dot cast. Y entonces por lo general se llena de entidad viviente ya están aquí. Y podemos tomar a la entidad viviente y podemos llamar al método Add status effect. Y lo que podemos hacer entonces es hacer una nueva instancia de efecto de estado, como pueden ver. Y eso toma en el efecto status, es decir efectos que la velocidad y una duración a un 100. El tiempo aquí es, por supuesto en garrapatas, por lo tanto esto serían diez segundos. Por supuesto cambiaría esto también. Eso, por supuesto, depende totalmente de ti. Pero ese es en realidad todo el método que necesitamos para el efecto paso sobre velocidad aquí. Eso es literalmente. Eso es todo lo que tenemos que hacer. Pero ahora en realidad echemos un vistazo a la funcionalidad de clic derecho también. Y ese es el método de uso propietario. Y se puede ver que es uno de esos que tiene el tachado que está en desuso. Entonces vamos a asegurarnos de que no llamemos al superhéroe. Y vamos a decir resultados de acción. Ese éxito, eso va a estar bien. Aquí mismo. Ahí vas. Y entonces aquí dentro, lo que vamos a hacer es que vamos a decir si mundo, eso es cliente, el ego. Y luego dentro de aquí vamos a decir mano igual y esa mano principal. Y entonces haremos otra cosa aquí. Entonces, ¿qué, qué está pasando? ¿ Por qué estoy haciendo esto? Bueno, vamos a copiar más de un pequeño comentario para el que ya me he preparado. La idea es que el método no utilizado se llame por tiempos. Al hacer clic derecho en el bloque, Se llama dos veces en el servidor, uno para cada mano, y luego dos veces en el cliente para cada extremo. Eso es lo muy interesante. Entonces lo que vamos a hacer es que sólo vamos a dar salida, por eso no el ego, eso va a estar bien. Pero esto es sólo una vez más jugadores y mensaje con un poco de texto. Esto es algo que ya hemos visto, claro. Y eso es más o menos sólo una idea. Yo solo quería tener esto aquí también, si acaso quieres tener una funcionalidad de click rojo de tu bloque, usarás el método no utilizado. Y esto es muy importante tener en cuenta aquí es, por ejemplo, si fuera a cambiar algo en el código, saber que en realidad sucede dos veces por cada mano es en realidad muy importante. Entonces, por favor, ten eso en cuenta. Y eso es más o menos con la clase de bloque SPD hecha. No necesitamos hacer nada más aquí. Lo siguiente que tenemos que hacer es entrar en nuestra clase de bloques modelo y luego por supuesto, hacer el bloque real y registrarlo. Entonces solo vamos a copiar el crudo o un bloque de calcio. Y vamos a hacer este fácil bloque de subrayado rápido aquí mismo, y luego por supuesto aquí también, rápido bloque de subrayado. Y luego aquí mismo, este es ahora el bloque SPD, el nuevo rock rápido aquí. Muy importante una vez más, que nos aseguremos de que esto sea correcto y no sólo un bloque normal. Muy, muy importante. Y de lo contrario solo necesitamos agregar los archivos JSON. Y esos están por supuesto disponibles para ti en el repositorio de GitHub o en individual igual de bien. Yo sólo voy a copiar los que se acaban porque esos son muy normales todos los días. Jason archivos, ¿verdad? No hay nada interesante realmente pasando aquí. El modelo de bloque se ve exactamente el mismo orden reglas de Brockman hemos visto el modelo de artículo es más o menos igual que cualquier otro modelo de artículo de bloque aquí. Y luego también copiaremos sobre la textura, que por supuesto también está disponible para ti, por favor no el archivo de créditos para la licencia específica a estas texturas, pero por lo demás eso es realmente todo. Añadamos también la traducción. Por supuesto, no olvidemos eso. Vamos a copiar esto y sólo vamos a decir que es la cuadra. Y luego aquí lo mismo. Bloque rápido, el ego. Y ahora todo se ha montado. Entonces, veamos si funciona. O los fondos de vuelta y las microfinanzas pueden ver que el bloque SPD se ha agregado al juego y puedo establecerlo para que la textura sea simplemente normal. Entonces como dije, ¿verdad? A pesar de que este tipo de luce un poco de lado a donde cambiaría la textura. En realidad no lo hace. Esto es algo que vamos a ver en una futura conferencia en realidad. Y vamos a, solo, por el bien de la discusión, ponerlo abajo para que la flecha se vea en la dirección en la que vamos a movernos sólo para que sea un poco más agradable. Y en cuanto suba arriba del bloque, se puede ver que tengo el efecto de velocidad aplicado a mí, y esto es ahora por diez segundos. Ahora si sigo parado en esto, ver que me siga aplicando los hechos y restableciéndolo a 10 segundos. Y entonces básicamente puedo correr con un efecto de velocidad. Y eso es más o menos, ¿verdad? En realidad, tenemos que regresar aquí es un pase de resultado real. Y entonces la llamada real por dos veces para el servidor y el cliente realmente funcionará. Entonces eso es sólo un poquito de diferencia ahí. Entonces, en realidad sólo veamos si eso también funciona. Está bien, así que ahora si hacemos clic derecho, puedes ver que consigo un mensaje en el chat tanto para la mano principal como para el ofendido. Y también todavía podemos colocar bloques a su lado. Eso también es algo muy interesante. Te recomiendo encarecidamente jugar con los resultados reales que devuelves. Porque dependiendo de lo que devuelvas, tendrán un tipo diferente de interacción al hacer clic con el botón derecho. Por lo que se puede ver cuando realmente pongo un bloque hacia abajo, al hacer clic en ese bloque, puede ver que en realidad sólo se llama para la mano principal. Si bien cuando hago clic sin nada en mi mano principal, entonces se llama para ambos. Echa un vistazo a lo que puedes cambiar cambiando lo que devuelves en ese método, ¿verdad? Pero eso ya es todo para esta conferencia aquí mismo. Espero que haya encontrado esto útil y se entera de que lo nuevo, si lo hiciera, le agradecería mucho una crítica de ustedes. De lo contrario, nos vemos en la próxima conferencia. Entonces, sí. 50. (fundamentos de la elaboración de un artículo comida personalizada: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia, vamos a estar agregando un artículo alimenticio personalizado a Minecraft. Ahora ese es en realidad un proceso muy sencillo y ni siquiera necesitaremos una clase de elemento personalizada para eso. A lo largo vamos a hacer una nueva clase personalizada, y eso es en nuestro paquete de ítems, haga clic derecho en nueva clase Java. Y esta es la clase de componentes alimentarios MOD. Y esto sostendrá todos nuestros componentes alimenticios porque básicamente tenemos que agregar eso en nuestro artículo. Entonces, por el momento, sólo vamos a entrar aquí y vamos a añadir esto, por así decirlo componente alimentario público estático llamado nabo. Porque lo que vamos a añadir un nabo aquí. Y esto es igual a un nuevo constructor de componentes. Ya puedes ver ahí mismo, voy a presionar Tab para autocompletar esto. Y luego puedes ver esto es un patrón constructor una vez más, por lo que puede agregar múltiples cosas diferentes. Lo primero que quiero hacer es añadir el hambre, aunque esto va a restaurar un trozo de carne en nuestra barra de hambre. Y entonces el modificador de saturación es básicamente cuánta saturación, saturación tienes en segundo plano, por así decirlo. Entonces tenemos que terminar con esto con un proyecto de ley. Y luego se construye el componente alimenticio aquí. Ahora lo que también puedes hacer es que también puedes agregar un efecto de estado aquí como puedes ver. Por lo que podría agregar un efecto de estado que esta es exactamente la misma idea antes hemos visto con el bloque SPD. Por lo que sólo tenemos que pasar en una instancia de efecto de estado. Por ejemplo, de efectos, status no afecta como una generación o algo así como 200 toma. Y entonces aquí realmente tenemos que pasar mucho fue, que es la oportunidad que tienes de conseguir este efecto aquí mismo. Entonces esto es sólo un ejemplo aquí. No lo vamos a mantener así, pero tú lo has visto. En realidad es muy, muy sencillo. O ejemplos de vainilla lo que puedes hacer es presionar turno dos veces en rápida sucesión y luego subes esta ventana de búsqueda. Puedes buscar la clase de componentes de alimentos, asegúrate de comprobar esto, incluir artículos que no sean del proyecto y luego aquí artículo. Da click aquí y podrás ver todos los componentes alimentarios que ya tiene Minecraft. Y básicamente también se pueden ver todas las diferentes cosas que hay aquí. Entonces en realidad hay como todo ya delante de ti y podrías simplemente echar un vistazo a cómo funciona todo esto, ahora mismo tener dos, hemos agregado el componente alimenticio. Ahora necesitamos agregar el artículo alimenticio en nuestra clase de artículos modelo. Lo que voy a hacer es que voy a copiar sobre la fila o un calcio. Y este va a ser el nabo. Y aquí mismo así subir. Y este es un Nuevo Artículo normal, año completamente normal. Y luego sólo vamos a sumar después del grupo, vamos a agregar comida. Y este va a ser el modo de los componentes de los alimentos que nabo. Y eso es más o menos todo lo que necesitamos para hacer eso del artículo alimenticio. Ahora deberíamos poder comer esto básicamente cuando tenemos hambre en el juego. Ahora por supuesto, todavía necesitamos agregar tanto la traducción aquí en el año subrayarnos el archivo JSON, así como por supuesto añadirlo la textura y el archivo JSON modelo de ítem. El archivo JSON modelo de ítem es por supuesto una vez más solo un modelo de ítem normal Jason que apunta a una textura justo aquí. Y la textura está justo aquí, así que no se preocupe en absoluto. Y ahora todo se ha agregado. Entonces, veamos si funciona. O granjas que de vuelta en microfinanzas pueden ver el término se ha agregado al juego, así que empecemos a comerlo y ahí tienes. Se llena exactamente una barra de hambre. Entonces al hambre es básicamente un símbolo de encuentro ahí mismo. Entonces eso es más o menos eso. Y sí, en realidad eso es lo fácil que esto agregar un artículo de comida personalizado a Minecraft, ¿verdad? Y ya lo hay para esta conferencia aquí mismo. Espero que hayas encontrado esto útil y él aprenda de lo nuevo, todas las esquinas, por supuesto disponibles en el repositorio de GitHub o un individuo igual de bien. Y te veré en la próxima conferencia, sin embargo. Sí. 51. (fundamentos de combustión personalizada: Está bien, sigamos con el curso de telas por 118. Y en esta conferencia, vamos a estar agregando un artículo de combustible acostumbrado a Minecraft. Ahora bien, este es también un proceso bastante fácil y directo. Pero vamos a entrar en nuestra clase más ítem y vamos a simplemente copiar sobre el nabo aquí mismo. Y entonces esta va a ser la astillada de subrayado de carbón. Y aquí por supuesto también, el carbón subrayado astillado. Entonces es sólo una astillada de carbón. Y vamos a quitar la comida por supuesto, porque en este caso, el verso causal no debe ser comestible. Y lo que el artículo una vez más se ha agregado. Pero ahora por supuesto, necesitamos agregar de alguna manera la funcionalidad de que sea un combustible. Y para eso, vamos a entrar en nuestro paquete del curso MC, haga clic derecho en nuevo paquete llamado util. Ahora esto no es estrictamente necesario para crear esta clase. También podrías simplemente llamar al método inmediato en nuestro curso MC mod mass, pero me gusta tener todo separado. Entonces esta es la clase de registros. Y dentro de ahí, vamos a crear dos métodos estáticos. El primero es un vacío público, público estático llamado stock modo de registro. Y esto va a llamar al otro método que va a ser un vacío estático privado o registrar combustibles. Y cada vez que agregamos un combustible a nuestro modelo, básicamente podemos llamarlo aquí mismo. Y vamos a hacer registrar los combustibles en el método de las cosas del modo de registro. Y luego vamos a escribir en algo como sistema fuera de línea de impresión, pero regístrese durante usted, o curso MSE más curso MC, RID. Y entonces vamos a decir menos registro, exactamente éste, que es el registro es igual a u registrará esa instancia. Y entonces sólo podemos decir registro dot add. Y luego un más artículos punto astillado entero, luego un valor de 400 caso. Ahora el cálculo va de la siguiente manera, derecha, para 400 es 400 una vez más y toma por supuesto, para un 100 dividido por 20, que es de 20 segundos, esto es exactamente 1 cuarto de un carbón normal. Entonces eso es básicamente eso. Y entonces por supuesto necesitamos llamar a eso también en el método inicializado. Por lo que más registros que registran cosas modo. Y luego si algo más sucede para justificar un registro, entonces básicamente podemos agregar eso también en los registros modernos. Entonces eso es bastante guay. Y eso es básicamente todo lo que tenemos que hacer para que la astillada de carbón sea un artículo nuevo. Ahora por supuesto, todavía necesitamos agregar la traducción aquí mismo. Entonces vamos a copiar esto y llamarlo, llame a underscore astillado. Y luego por supuesto aquí, astillada fresca. Y luego por el artículo voy a copiar sobre el nabo aquí. Este es el carbón subraya hígado. Entonces aquí el carbón y por supuesto hígado también. Tan solo un archivo de modelo de artículo normal. Y sólo vamos a copiar sobre la textura aquí también. Y ahora en realidad todo se ha agregado. Entonces vamos a ver si funciona o es y nos encontramos de vuelta en micro eventos podemos ver que la astillada de carbón se ha agregado con éxito al juego. Y sólo vamos a ver. Ahí vas. Incluso podemos cambiar pinchando aquí. Y al igual que se especificó, tardará 20 segundos en quemarse y luego consumir un hígado de nueva causa desde aquí mismo. Eso es bastante bueno. Y eso es realmente lo fácil que es agregar un elemento de combustible personalizado a Minecraft donde sea que ya sea para esta conferencia aquí mismo. Espero que esto te resulte útil y se entere de lo nuevo, si lo hizo o aprecia mucho una crítica de ti. De lo contrario, los veo en la próxima conferencia. Entonces, sí. 52. (Fundamentos básicos) agregar consejos herramientas personalizadas: O una bienvenida de vuelta al curso de telas para 118. Y en esta conferencia vamos a estar agregando un tooltip personalizado que están dowsing artículo de varilla. Por lo que esto básicamente se puede hacer para cualquier artículo. Entonces lo que vamos a hacer es que sólo vamos a anular un, otro método aquí dentro. Por lo que este va a ser el método append Tooltip. Y esto en realidad se va a hacer muy fácilmente. Entonces lo único que realmente necesitamos hacer es que lo queremos hacer para que cuando se pasa el cursor sobre el elemento, obtenga algo así como del efecto de presionar Shift para ver más información. Y luego cuando presionas Shift, entonces obtienes algo más de información sobre este ítem. Lo que vamos a hacer es hacer una declaración if y vamos a llamar a una pantalla, disparo se ha desplazado hacia abajo y luego hacer una declaración else para eso también. Y entonces, ¿cómo agregamos un nuevo, algo nuevo a la Tooltip vamos a hacer sólo Herramienta para agregar y luego hacer un nuevo componente de texto traducible o texto aquí. Y luego pasaremos en una e. En este caso, este va a ser ítem MC curso dowsing varilla vivienda subrayan varilla, esa tooltip, ese turno. Ahora por supuesto, puedes hacer tus llaves tan largas o tan cortas como quieras. Yo me voy a quedar con esto. En realidad creo que eso está totalmente bien. Nosotros también vamos a poner la información de herramientas aquí. Y lo que vamos a hacer es que vamos a cambiar esto. No incluirías el turno aquí. Vamos a copiar esto una vez más y vamos a ir a nuestro oído y subrayarnos archivo adyacente. Y pongamos esto en el fondo aquí. Ya que siento que ese es un buen lugar para ello. Y luego cuando en realidad estamos presionando Shift, entonces lo que podemos hacer es decir clic derecho para encontrar objetos de valor. Los objetos de valor van. Y luego el otro, sólo vamos a tener que quitar el turno aquí. Y entonces esto sólo va a ser descanso. Y ahora vamos a probar algo muy interesante. Entonces esto, vamos a ser un símbolo de párrafo E, robo, símbolo de párrafo R, o más información. Y hay dos maneras en que esto puede ir. Entonces esto es algo que quiero explicar. El símbolo de párrafo comienza a hacer un, haciendo el, comienza a hacer el texto en un color diferente. Ahora, por lo general el símbolo de párrafo e debería funcionar, pero a veces hay algunos errores asociados con él. Y sólo quería mostrarles las dos versiones de la misma. Por lo que a veces esto funciona. Entonces la E básicamente empieza a hacer este amarillo y luego los párrafos son, lo hace para que todo se restablezca de nuevo. Pero esto es en realidad todo lo que necesitamos para el tooltip. Entonces vamos a ver si funciona o tiene una baraja y Minecraft. Y si paso el cursor sobre esto, se puede ver turno de prensa para más información. Y cuando presiono turno o todo un turno hacia abajo, haciendo clic derecho encontrar objetos de valor. Entonces todo funcionando absolutamente la perfección para esto es exactamente lo que queremos. E incluso en la coloración aquí funciona perfectamente bien. Entonces eso es increíble, ¿verdad? También enlazaré un artículo Wiki sobre los códigos de formato para Minecraft. Yo recomiendo encarecidamente echarle un vistazo a eso, pero eso ya sería para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Y te veré en la próxima conferencia sin embargo. Sí. 53. (Conceptos básicos): Al curso de tela para 118. Y en esta conferencia, vamos a estar echando un vistazo a las etiquetas. Ahora, lo que harán nuestras etiquetas, no estoy hablando de unas etiquetas que le pongas a animales como la etiqueta de nombre. Hablo de unas etiquetas como las que hemos visto previamente para las pelotas menores. Y nosotros básicamente qué herramientas necesitas o tus bloques. Y lo que vamos a hacer es añadir una nueva clase que básicamente nos permita usar etiquetas también. En esto básicamente hará que nuestro MOD sea más compatible con otras matemáticas. Entonces en nuestro paquete util, vamos a hacer clic derecho en nueva clase Java, y esta es la escritura de clases de etiquetas de modo. Aquí vamos a tener que clases estáticas. El primero es una clase estática pública, a cuatro cuadras. Y luego la segunda es una clase estática pública llamada ítems. Y en la clase de bloques, por supuesto las etiquetas de bloque van y luego la clase de ítems, el ítem Texaco. Pero para eso vamos a necesitar a unos métodos estáticos privados aquí. Por lo que el identificador de punto de etiqueta estática privada de tipo block, en este caso, asegurándonos de que elegimos bloque de microondas neto aquí crearía una etiqueta. Y esto va a tener un parámetro de nombre de cadena justo aquí. Y esto va a devolver la fábrica de etiquetas que rompió eso crear. Y luego un nuevo identificador con mod curso de EMC, mod ID y el nombre del parámetro. Entonces podemos simplemente copiar este sobre n. esto es ahora una etiqueta de crear Harmon como esta. Y en lugar de pasar nuestro viejo ID de modelo, vamos a pasar solo una c minúscula, porque este es un espacio de nombres bajo el cual básicamente se van a establecer las etiquetas comunes. Y entonces lo que podemos hacer es simplemente llevar esta copia ambos de esos métodos a la clase items también. Y básicamente solo reemplaza esto con el artículo del artículo neto justo aquí. Y luego por supuesto un conjunto de bloques, este es el artículo. Y entonces en lugar de bloquear este es artículo también. Este artículo también. Y entonces el resto en realidad está totalmente bien. Entonces como pueden ver, eso es todo lo que tenemos que hacer aquí. Y ahora podemos definir esos impuestos. Entonces básicamente hay dos cosas que puedes hacer. Puedes, número uno, definir tus etiquetas en esta clase, y eso está bien. Y también podrías definirlos en tu testamento, en tus datos para. Y lo que es muy importante es que a pesar de que básicamente vamos a hacer una etiqueta personalizada que sea específica para nosotros. Y luego también vamos a tener cuatro etiquetas comunes que vamos a usar. En realidad siempre necesitamos las etiquetas aquí. Por lo que los archivos JSON de datos , siempre los necesitamos, pero no necesariamente tenemos que tener esta clase aquí. Esto es sólo para que podamos acceder a nuestras etiquetas personalizadas dentro del código. lo que el primer ejemplo de esto va a ser un identificador de punto final de etiqueta estática pública de tipo de bloque, que vamos a llamar el subrayado de barra de subrayado dowsing detectable bloques de subrayado. Esto básicamente reemplazará el método booleano dentro de la varilla de dowsing, donde actualmente hemos codificado duro lo que es un artículo valioso aquí mismo. Y vamos a hacer que esto sea expandible con la etiqueta, que permite, por ejemplo, otros modos o más fabricantes de paquetes añadir diferentes cosas a esa etiqueta también. Y esa es la belleza de la misma. Entonces vamos a decir crear una etiqueta con exactamente el mismo nombre en minúsculas. Por lo que dowsing, barra de subrayado, la burbuja tecnológica, bloques de subrayado protectables. Y en realidad formatear esto un poco diferente. Así que hace un día. Y entonces lo que vamos a hacer es que en realidad también vamos a añadir dos etiquetas de bloque más aquí mismo. Uno de ellos va a ser los bloques de subrayado de resultados de ORic. Y el otro va a ser el subrayado de Oracle ors. Y lo que habrías adivinado es que en realidad son etiquetas de Aman. Bueno, hagámoslo así. Y este va a ser el Oracle vienen bloques de subrayado. Y luego vamos a copiar esto para peor. Ahora, la razón por la que vamos a tener esos es si algún otro MOD, anuncios o un calcio también, entonces podrían compartir el, que puedan compartir esto. Y en realidad vamos a ver esto en tan solo un momento con los artículos porque los artículos en realidad son muy frecuentes, útiles y geniales. Entonces lo que vamos a tener es un identificador de etiqueta final estático público . Una vez más de tipo ítem aquí en este caso, y esto es recalc subrayado lingotes iguales a una nueva etiqueta común o resultado. Subrayan la de Inglaterra. Vamos a duplicar esto con Control D, y estas son las pepitas. Y luego lo mismo aquí también. Recordemos vienen pepitas. Y vamos a usar es vamos a usar este lingotes aquí también. Ahora una vez más. Tener esto en esta clase simplemente hace que todas estas etiquetas sean accesibles dentro del código no es estrictamente necesario. Donde es necesario es justo en un momento porque ahora en el elemento de varilla de dowsing, lo que vamos a hacer es en realidad en lugar de tener esto codificado aquí dentro, vamos a devolver lo siguiente. Vamos a decir etiquetas mod que bloquean. Y luego importar esto con viejo entrar barra de dowsing bloques detectables que contienen bloque, contiene bloque. Ahí vas. Y esto va a volver cierto si el bloque que se pasa aquí está dentro de esta etiqueta. Ahora nuestra propia etiqueta. Tenemos que agregar en curso MC, haga clic derecho en nuevo directorio llamado etiquetas, y luego haga clic derecho en nuevo directorio llamado bloques. Entonces dentro de ahí. O lo voy a hacer es realmente voy a ir aquí y copiar el nombre aquí. Por lo que Control C o haga clic derecho en nuevo archivo, Control V para pegarlo en punto JSON. Y luego tenemos esto, en realidad voy a copiar sobre el contenido porque en realidad hay bastante ahí dentro. Esto está por supuesto disponible para ti en el repositorio de GitHub o en un justamente igual. Entonces esto es básicamente todo lo que he puesto ahí, incluyendo mi propio Oracle com o por supuesto. Y entonces lo que podemos hacer después o siguiente es ahora podemos añadir las etiquetas Harmon también. Y lo vamos a hacer yendo a los datos, haga clic derecho en nuevo directorio llamado C, solo ver c minúscula, nada más. Y en realidad voy a copiar toda la carpeta aquí. Entonces esto es una vez más solo etiquetas, bloques, artículos. Entonces todo lo normal y los nombres aquí en realidad también sólo tienen que coincidir con los nombres aquí. Y lo que vamos a hacer es que en realidad vamos a usar una de esas etiquetas. Por lo que específicamente los lingotes de oráculo etiquetan dentro. Y esto va a ser una locura. Nuestra receta, eso es exactamente algo que es realmente genial. Porque lo que puede pasar es que si nosotros, por ejemplo, tenemos algo como el Oracle puede bloquear de lingote en lugar de tener un Ítem aquí, en realidad podemos hacer de esto una etiqueta. Y entonces esto por supuesto será c porque este es un espacio de nombres diferente y en lugar de Inglaterra, Es lingotes. Por lo que podemos especificar una etiqueta y luego simplemente normalmente la etiqueta donde está, en el mar y es un artículo. Entonces esto es muy importante por cierto, que esto sólo lleve etiquetas de ítem aquí. Por lo que simplemente básicamente busca una etiqueta de artículo o recalcar lingotes. Y entonces todo lo que está dentro de aquí sería viable como una posible receta de rafting. Entonces lo genial que hay es que si hay tres masas diferentes que y Oracle se mezclan, entonces en teoría, nuestro bloque podría elaborarse con cualquiera de ellos. Entonces esa es una especie de idea general ahí. Y también permite que más marcapasos, una vez más, hagan de nuestro modelo un poco más compatible con otras matemáticas. Entonces eso es muy importante. Y por supuesto, este año, ¿no? Esto sólo nos permite hacer de esta manera más, mucho más fácil, ampliable, y también nos permite a más pacificadores hacer esta medida expandible también. Porque claro, en nuestro caso nosotros, no hemos agregado algo como 10 o, ni titanio o, o algo así. Si otro modelo agregara que un fabricante de paquetes más o incluso ese mod podría simplemente decir, hey, si eso, si los modelos del curso MC, solo están agregando esto también. Entonces eso es realmente genial. Pero eso es en realidad todo lo que necesitamos hacer por nuestros tanques. Entonces número uno, veamos si la varilla de dowsing con el nuevo es valioso método de bloque funciona. Y además vamos a ver si todavía podemos hacer manualidades o un calcio bloquea de lingotes o inferencias de nuevo en Minecraft. Entonces veamos, haga clic derecho. Y ahí lo tenemos. Ahí lo tenemos un poco de mineral de cobre. Y sólo sigamos. A lo mejor vamos a encontrar algo de pizarra profunda también, cobre o hierro o estoy seguro de que encontraremos algunos en algún momento, por supuesto, la durabilidad no está bajando. Ah, lapislázuli, para que definitivamente no teníamos eso antes. Ahora, vamos a ver si pudimos encontrar algo más aquí en alguna parte, no se encontraron objetos de valor. No va a bajar la durabilidad porque estamos en modo creativo actualmente. Eso también está considerando otras áreas. Sueño profundo, lapislázuli tasa o ¿está ahí? Ahí está. Entonces ahí vamos. Eso en realidad es realmente impresionante. Y sólo vamos a ver. Por lo que recuerdan venir bien y se van, todavía podemos elaborar el RCA puede bloquear, como si nada hubiera pasado aquí. Entonces eso es bastante frecuente, cool, reputable o EBIT para esta conferencia aquí mismo. Espero que esto te resulte útil y aprenda lo nuevo. Todo el código está disponible para ti en el repositorio de GitHub o en individual igual de bien. Y nos vemos en la próxima conferencia. Entonces, sí. 54. (fundamentos básicos) añadir peldaños y labs: O doy la bienvenida de nuevo al caballo de tela por un 118. Y en esta conferencia vamos a iniciar nuestra o serie de conferencias sobre lo que normalmente me refería como no-bloque. Bloques. Por supuesto que eso no tiene mucho sentido. No obstante, lo que queremos agregar básicamente son escaleras, losas, botones, placas de presión, vallas, vallas, portones, muros, puertas y trampillas. Y lo vamos a hacer en las próximas cuatro conferencias. Tienen todas algunas similitudes, pero hay algunos pasos cruciales, importantes que debes tomar en algunos de ellos. Entonces, solo empecemos. Y el aviso número uno que quiero dar en principio es que definitivamente copiaré todos los archivos JSON aquí. Por lo que definitivamente necesitarás abrir el repositorio de GitHub o los juristas y copiar esos también. Te recomiendo mucho escribir esos. Verás en un momento no es realmente posible. Bueno, es posible, pero podrías pasar media hora haciendo algo mejor. Entonces vamos a ver eso, no hay preocupaciones en absoluto. Y lo que vamos a hacer es que sólo vamos a copiar el bloque SPD dos veces. Y la primera va a ser la escalera de subrayado de calcio de ORic. Y esta va a ser la escalera de subrayado de 40k desenlace también. Y este va a ser el laboratorio de subrayado de ingresos de Oracle. Y esta va a ser la losa Oracle vienen subrayado también. Ahora ninguno de esos son por supuesto, bloques veloces. Por lo que el oráculo com escaleras para ser buzos bloque y se supone que la losa es losa. Ahora verás que la cerradura de losa funciona absolutamente bien. No Roy en absoluto ya recalc arriba aquí con el nuevo bloque de escaleras no funciona porque tiene acceso protegido. ¿ Qué significa eso? Bueno, si hacemos clic en el botón central del ratón en esto, podemos ver que la prueba de que el constructor aquí está realmente protegido. lo tanto, lo que tenemos que hacer es hacer una clase personalizada de esto, lo cual es un poco raro. Yo personalmente, no estoy cien por ciento seguro. Más amplio ese es el caso. No obstante, es lo que es, por lo que necesitamos hacerlo. También cambiemos este material aquí por metal porque al final del día esto es un calcio. Y luego después de que hayamos hecho eso, ve al paquete personalizado, haz clic con el botón derecho en nueva clase Java. Este es el bloque de escaleras modelo. Y vamos a extender esto desde el bloque de escaleras. el cursor sobre esto y creemos constructor que coincida super. Y luego cambiaremos esto de protegido a público. Y ahora hemos terminado. Y básicamente nunca más tendremos que mirar la clase de bloque más escaleras nunca más. Pero cada vez que vamos a hacer un bloque nuevo, eso es un bloque de escaleras, vamos a usar esto en su lugar. Y se puede ver que el primer parámetro es en realidad un estado de bloque. Entonces lo que tenemos que pasar aquí son sólo los bloques de modo o bloque. Entonces esto es básicamente punto git estado predeterminado. Entonces básicamente lo que tenemos que pasar aquí es la cuadra de la que están hechas las escaleras. Pero esa es la idea general. Pero para eso tus libros están registrados y estarían listos para salir. No obstante, por supuesto, nunca puede ser así de sencillo. Porque realmente como lo del kicker para todos los bloques no bloqueados van a ser los archivos JSON. Bueno, como dije, los copiaré todos para siempre y por supuesto, también explicaré. Vamos a copiar sobre el bloque de losa y buzos dice Jason, y por favor no te caigas de tu asiento cuando veas esto porque esto es bastante. Entonces empecemos realmente con unas losas porque eso no está tan mal en absoluto. Entonces lo que puedes ver es que ahora en realidad tenemos varianza diferente, ¿verdad? Contamos con tres tipos diferentes de losas, inferior, doble, y superior. Y cada uno de ellos apuntan a un modelo diferente archivo Jason. Esto apunta a la losa Jason, esto apunta al Oracle puede bloquear porque por supuesto si tienes dos losas, simplemente parece un bloque normal. Y entonces éste apunta a la losa, pero en la parte superior o la mitad superior del bloque real. Esa es la idea general. Este tipo aquí es lo que se conoce como propiedad de estado de bloque. Vamos a mirar los de una futura conferencia con mucho más detalle por el momento,solo podemos pensar en mucho más detalle por el momento, esas variables como tener algún tipo de valores que pueden tomar. Y dependiendo de su valor, cambiamos el modelo al que señalan los estados de bloque. Eso es más o menos todo lo que hay a ello. Ahora para las escaleras, en realidad tenemos múltiples bloques diferentes a propiedades. Y por eso se ve así. Y yo seguiré desplazándome y tú dirás, esto es una locura. Sí, esto tiene 209 líneas. Esa es la razón por la que debes copiar esto al 100%, bajo ninguna circunstancia debes escribirlo, porque eso es una locura absoluta. Ahora un truco rápido que sí quiero compartir contigo es que si tuvieras que usar un ID de modo diferente aquí mismo. Puedes hacer es seleccionar esto y presionar Control R para reemplazar esto y luego reemplazarlo con tu ID de MOD. Básicamente, este hit Reemplazar Todo. Y se puede ver que de repente en todas partes ha sustituido lo real por la melodía que ponemos aquí. Este es Control Z para volver aquí. Y lo mismo por supuesto va para el calcio. Entonces si estás usando titanio Arnold por ejemplo, podrías simplemente reemplazarlos a todos y entonces eso funcionaría también. Dónde no se olvide de cambiar el nombre de los archivos JSON también. Pero eso en realidad hace que todo sea mucho más fácil. Y también puedes hacer esto por cierto, cuando seleccionas la carpeta aquí y presionas Control Shift R, entonces el, este archivo de reemplazo aparece y puedes ver que ahora podría reemplazar o un calcio en todo esos expedientes aquí. Lo mismo y luego básicamente reemplazarlo con titanio, digamos Reemplazar Todo. Y eso funcionaría también. Pero ese es un consejo muy importante y recomiendo encarecidamente hacerlo si es necesario. Entonces ahora necesitamos copiar sobre los archivos de modelo de bloque y aquí es donde se pone bastante loco. Y esto también es, ya verán por qué digo: Bueno, vamos a copiar todo porque estos van a ser cinco archivos diferentes. Ahora eso en realidad todavía no muy mal Todas las cosas consideradas, pero sigue siendo bastantes. Vamos a abrir primero los de losa para que veas que en general, lo que está escrito aquí en realidad no es demasiado loco. Básicamente sólo tenemos tres texturas diferentes a las que señalamos donde sea, tanto para la laptop como para la losa, esas van a ser las mismas texturas, cualquiera que sea el caso, porque siempre queremos que esto se vea como el bloque oráculo. Y la única diferencia entre los dos basados en archivos es el padre aquí. O es laptop de losa caballo, eso es realmente todo. Y cuando se trata de las escaleras, mientras se ven un poco diferentes, pero también muy similares, tenemos tres texturas diferentes a las que señalamos. Y una vez más, lo único que cambia aquí son las miradas, las escaleras interiores y las escaleras exteriores, o el padre prácticamente son todos los cambios o todas las diferencias ahí en el ítem modelo Jason? Bueno, esos son por suerte en realidad solo el modelo de artículo normal de Jason cuatro cuadras. Esto apunta a la losa normal aquí y esto apunta a la normal o a una escalera de telecomunicaciones JSON archivo aquí mismo. Entonces no se preocupe ahí en absoluto. Y lo loco es que no necesitamos agregar ninguna textura porque las escaleras y las losas lobo solo usan la textura del bloque oráculo. Entonces eso es realmente genial. El único que sí necesitamos añadir es una traducción. Por supuesto, lo que vamos a hacer es que sólo vamos a copiar esto por aquí. Voy a decir, o un ingreso de vaca. Escaleras de subrayado van a ser el Oracle Malcolm. Ahí está y entonces esta va a ser la losa recalc ellos. Losa. También tenga en cuenta que estas escaleras con una S, Tan plural y losa singular, eso es muy importante aquí también. Pero en realidad, sé que no me vas a creer, pero eso es todo. El loco definitivamente va a estar aquí. El JSON expedientes para el bloque Estados Jason. Y esto va a continuar para básicamente todos nuestros diferentes bloques no bloqueados que vamos a agregar n Así que recomiendo encarecidamente solo echar un vistazo a los del repositorio de GitHub y copiar los que se acabaron. Y entonces va a ser mucho más fácil. Pero ahora, veamos si funciona. O yo funciona de nuevo en microfinanzas puedo ver al oráculo venir miradas y los esclavos se han agregado al juego. Y podemos ponerlos abajo y simplemente hacer un lindo, Bueno, quiero decir, básicamente lo que queramos con ellos, podemos simplemente ponerlos abajo y todo aquí funciona también, ¿verdad? Podemos ver la escalera interior y exterior o trabajar. Puedes poner esto abajo en la parte superior y también en la parte inferior aquí y ponerlos juntos para hacer un bloque normal. Como puedes ver, todo aquí funciona. Entonces eso es bastante guay, ¿verdad? Pero eso ya será para esta conferencia aquí mismo. Espero que esto te haya parecido útil y hayas aprendido algo nuevo, y te veré en la próxima conferencia. Entonces, sí. 55. (fundamentos básicos) añadir botones y pletas de presión: Muy bien, bienvenido de nuevo al curso de telas para 118. En esta conferencia, vamos a estar agregando botones personalizados y placas de presión y continuando con los bloques no bloqueados. Entonces vamos a entrar en nuestra clase de bloques Mort y vamos a copiar dos veces sobre la losa de telecomunicaciones ORic. Y empecemos de inmediato. Entonces este va a ser el botón Oracle come. Y este es por supuesto una vez más aquí el caso. Y luego la otra, esta va a ser la placa de subrayado de presión de telecomunicaciones. Y una vez más, lo mismo justo en minúsculas aquí mismo. Presión subrayan tarde. Ahora el botón calc aquí por supuesto va a ser un bloque de botones, lo que verás también nos da un error. Y la losa de un bloque va a ser una presión o más bien el placer jugado Brock va a ser un bloque de placas de presión, que por supuesto también va a tener un error. Esto significa que necesitamos hacer dos nuevas clases personalizadas aquí. Entonces en nuestro paquete personalizado, el bloque de botón de modo, que va a extender la clase de bloque de botones de piedra. Vamos a pasar el rato sobre este constructor credo que coincide super. Quieres cambiar esto a público aquí mismo. Entonces no se preocupe ahí. Y entonces no tenemos que volver a mirar esta clase. Y luego en el paquete personalizado una vez más. El bloque de placa de presión modo justo aquí. Uno extiende esto por el bloque de la placa de presión. Y vamos a voltear sobre esto otra vez y también hacer que esto sea público. Ahora está usando las clases normales de vainilla. Vamos a usar el bloque de botones de piedra mod aquí mismo. Y entonces aquí vamos a utilizar el mod de presión jugada bloque. Ahora el primer parámetro de eso en realidad va a ser una regla de activación. Este va a ser el acto. Ellos no gobiernan todo. Entonces básicamente todo lo que pase por encima de esta placa de presión lo activará. Vamos en realidad botón del ratón medio haga clic en esto y el botón central del ratón haga clic en el bloque de la placa de presión. Y se puede ver que tenemos la salida de Redstone. Este es básicamente el método que es responsable o comprueba cuál es el tipo real. Por lo que se puede ver esto.tab se está cambiando aquí. Entonces como declaración de cambio y tienes todo o mamás, sin embargo, si quieres hacer tu propio tipo de activación personalizada, una vez más, recomiendo muy bien. Necesitas algún conocimiento de Java para realmente hacer esto. Pero no es demasiado loco. Lo que puedes hacer es que puedes hacer, básicamente ni siquiera tienes que hacer tu propia activación escuchará porque la activación de todo lo que puedes ver es una enumeración. Ni siquiera necesitas hacer esto. Lo que puedes hacer es simplemente anular este método en tu clase de bloque de placas de presión personalizada y luego tener lo siguiente aquí. Pero se puede ver que las entidades no espectadoras, y básicamente pasas en una clase particular aquí dentro. Entonces, ¿cuál es la clase de lo que vamos a conseguir? Y esa es una lista de animales particulares o de turbas particulares por las que luego pasamos. Y esa es la idea general. Entonces en este caso, todo lo que es una entidad viviente, ¿no? Entonces turba todo lo que es una entidad viviente, entonces vamos a regresar 15. Si la entidad que está por encima de esta clase de entidad viviente, lo contrario podemos pasar en otra cosa aquí también. Entonces esto es algo a tener en cuenta si no quieres eso, eso está totalmente bien. Pero definitivamente recomiendo algunos conocimientos de Java para ello. De lo contrario vas a luchar con él probablemente un poco. Bueno, ahora los bloques están registrados. No obstante, por supuesto, una vez más, tristemente los archivos Drazen son lo que va a ser lo loco. Y en este caso, el archivo JSON de botón para el estado de bloque en realidad va a ser lo loco. Se puede ver. El plato de presión sólo tiene una potencia ya sea falsa o verdadera. Y entonces o tenemos la placa de presión o la placa de presión abajo. Eso es bastante sencillo. El botón, como se puede ver, es una locura. Una vez más, ya que podemos basarlo en el piso o en la pared. Podemos tenerlo orientado al este, oeste, al sur, o al norte. Y puede estar encendida o apagada. Entonces esto es básicamente lo que hace toda esta locura, es que en realidad es bastante loco. Entonces en general, este año básicamente sólo gira el bloque, y este año lo hace para que la textura rote con el bloque también para que no roten de forma independiente. Esa es la idea general de todo esto. No obstante, una vez más, en realidad es bastante loco. No escriba esto fuera de. Esto está disponible para usted en el repositorio de GitHub o en el individuo igual de bien. Esto por supuesto, también estará disponible en las bibliotecas externas aquí abajo, que ya hemos visto anteriormente. Por lo que recomiendo encarecidamente simplemente copiar esto si es necesario. Y puedes por supuesto, usar siempre el truco para seleccionar esto y presionar Control R para reemplazar algo. Y luego puedes reemplazar, por ejemplo, el año MOD ID. Y no tienes que hacerlo muchas veces individualmente. Pero en realidad vayamos al archivo EN subrayarnos JSON inmediato porque esto es algo que tiendo a olvidar a veces. Entonces, no hagamos de esto un hábito. Vamos a decir el botón oráculo Coma y el Oráculo puede presionar en la placa. Y este va a ser el recalc y botón y el pericardio de presión en no subrayado sino una placa normal, el ego y luego los modelos de bloque que hemos visto, por supuesto una vez más hay un menos, más, pero por suerte para el botón y la placa retro, una vez más hay cinco. Entonces, solo echemos un vistazo rápido a esos porque una vez más, en realidad no son tan interesantes. Todas las cosas consideradas. Se puede ver que el botón aquí solo tiene un padre diferente cada vez y la textura siempre se señala al bloque ya Kalikimaka. Entonces eso es más o menos todo lo que hay a ello. Lo mismo con esto. Los puntos al Oracle pueden bloquear la textura. Y básicamente sólo tiene el, ya sea la placa de presión hacia arriba o placa de presión hacia abajo como padre. Esa realmente es la única diferencia aquí. Y para el artículo los modelos lo harán, hay un like algo muy particular para el botón. Pero también eso no es demasiado loco porque tenemos un modelo de bloque de inventario de botones específico, que de esto apunta, pero también nada que dejar de fumar. Pero en general, esto en realidad no es demasiado loco. Y una vez más, no necesitamos agregar ninguna textura aquí porque las texturas siempre van a ser, el Oracle puede bloquear para cualquiera de esos bloques. Aunque ahora veamos si funciona. O farmacéutico de vuelta en microfinanzas puede ver ambos. Se ha agregado la placa de presión así como el botón. Y vamos a hacer click en el botón. Por supuesto que funciona y aquí justo lo mismo. Y porque hemos puesto todo, incluso las entidades de ítem aquí, cayendo sobre él seguirá funcionando. Entonces eso es bastante frecuente, genial. Y eso es realmente lo fácil que es agregar cualquiera de esos bloques donde yo, pero eso ya será para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo de lo nuevo. Recuerda por supuesto, que todo el código está disponible en el repositorio de GitHub o en un individuo igual de bien. Y te veré en la próxima conferencia sin embargo. Sí. 56. (fundamentos de adhesivos y paredes de la cara: Curso de tela para 118. Y en esta conferencia, vamos a estar agregando vallas personalizadas, vallas , portones, y muros personalizados, Minecraft. Por lo que esto básicamente continuará con los bloques no bloqueados como me gusta llamarlos. Bueno, vamos a entrar en nuestra clase más bloques y vamos a copiar por encima de la losa personalizada aquí tres veces. Entonces vamos a tener un final oral de calcio por supuesto. Y esto va a ser un Oracle vienen curvas aquí también. Y luego vamos a tener una barda de subrayado portón. Y aquí por supuesto también, o un calcSum subrayan aletas Y portón. Y luego aquí mismo, vamos a tener una pared oral de calcio y o una pared masculina calico aquí también. Ahí lo tienes. Entonces este va a ser el bloque de un amigo y en realidad funciona. Y esto va a ser una barda buena cuadra. Y en realidad funciona. Terminar el dolor o tres? Sí, un bloque de pared. Y también en realidad funciona. Entonces eso es realmente bueno. No tenemos que hacer ninguna clase personalizada aquí en este caso. Por lo que básicamente podemos seguir con los archivos JSON, que una vez más van a ser locos bastante frecuentes, pero sin preocupaciones en absoluto. Pasaremos por esto. Por lo que tres cuadras Estados, archivos JSON, y ya se pueden ver las cosas empezando a volverse absolutamente locas. Por lo que en primer lugar, la puerta de la valla, como se puede ver, tiene aquí tres propiedades de estado de bloque diferentes, mirando en pared y abierta. Y dependiendo de eso, básicamente vamos a elegir otra vez un modelo de suerte diferente. Y entonces por supuesto lo vamos a girar y la UV lo bloqueará también. Aquí no hay nada demasiado loco. Una vez más, un muy buen consejo es presionar turno de control, o si tienes un diferente o un calcio si no usas un recap ven pero titanio, o si tienes un ID de modo diferente, correcto, solo puedes escribir el mara DMC curso aquí y teclee tu propia melodía y reemplázala así. Una vez más, Control Shift y son cuando estás en una carpeta. Y también por supuesto, todos los archivos están disponibles para su descarga en el repositorio de GitHub o en individual igual de bien. Y la pared y la barda aquí son en realidad un poco diferentes. Esos son multiparte como puedes ver. Y ahí la idea es que aplique cierta parte del modelo cuando algo sucede. Para que veas que cuando hay algo aquí, entonces le agregamos un lado en una dirección particular. Después añadimos el modelo extra también. Entonces, en realidad vamos a entrar en la ONU subrayarnos archivo JSON y vamos a sumar todas de inmediato. Entonces va a haber la barda. Y luego vamos a tener el subrayado de ingresos de Oracle, subrayado , subrayado puerta en esta barda aquí Y puerta aquí. Este también va a ser el muro de Malcolm. Muro de bienvenida. Ahí lo tienes. Por lo que ahora hemos sumado todo eso. Entonces eso también va a estar bien. Y ahora agregarle los archivos del modelo JSON, que van a ser abundantes. En realidad, tenemos cuatro para la puerta, tenemos tres para la barda, y luego tenemos otros cuatro o el muro. Entonces como dije, muchos expedientes, 11 de ellos en total. Por lo tanto, en general, todos ellos prácticamente se ven exactamente iguales. Señalamos una textura, a saber, la textura de bloque. Y solo los padres son diferentes. Para que veas que realmente no hay nada loco pasando aquí. Se trata de tener al padre correcto y después tener el apuntar a la textura correcta. Eso es todo lo que hay a ello. No creo que sea realmente necesario pasar por cada uno de ellos. Todo parece igual. En ocasiones el nombre, año de la textura es un poco diferente. Pero en general que la mayoría de las veces es toda la diferencia. Y se puede por supuesto, también siempre bajar a las bibliotecas externas, rojo a ésta aquí en Minecraft, proyecto minecraft. A la carpeta Activos, Minecraft bloquea Estados. Tenemos los modelos, los modelos, y luego aquí también todos los modelos o también. Se puede ver el muro de Enscape aquí por ejemplo. Y eso también está disponible, así que no hay preocupaciones ahí en absoluto. Siempre puedes echar un vistazo a eso y usar esos también. Y básicamente copiarlos. Ahora, vamos a copiar sobre la pared, puerta de la valla y los modelos de artículo de la valla también. Para conceder estos puntos al modelo de inventario del muro, esto apunta al inventario de la barda, y esto apunta a la puerta final. Entonces nada demasiado loco. En un tiempo más, no necesitamos agregar una textura sobre lo que sí necesitamos para agregar nuestras etiquetas. Por lo que en nuestra carpeta de datos, Minecraft tags blocks, haga clic derecho en nuevo archivo llamado vallas datos JSON. Y luego sólo vamos a copiar el contenido de este año más por un momento para que tengamos el formato correcto para las etiquetas. Y entonces esto va a ser núcleos MC para barda recalc subrayado. Y luego solo vamos a arrastrar esto a la misma carpeta mientras mantenemos el control para duplicarlo. Y vamos a llamar a esto la etiqueta de las paredes. Y entonces este va a ser el muro recalc. Esto es necesario para que las defensas realmente se conectan entre sí. Eso es muy importante, ¿verdad? Y después de que hayamos agregado todo eso, Veamos si funciona. Muy bien, encontramos ya que de nuevo en mente evita se pueden ver todos los tres bloques se han agregado y todos se conectan totalmente bien. Entonces eso es exactamente lo que quieres ver aquí mismo. Sólo pongamos esto también. Ahí lo tienes. Entonces todo está funcionando totalmente bien. Y bueno, quiero decir, todos están agregados y eso en realidad es lo fácil que es agregar las puertas de la valla, las vallas y las paredes al juego. Caucho. Eso ya sería para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo de lo nuevo. Y nos vemos en la próxima conferencia. Entonces, sí. 57. (fundamentos de portadas de puertas y trapas: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia vamos a estar agregando una puerta personalizada y una trampilla personalizada a Minecraft. Ahora, esos realmente van a ser muy interesantes. Vamos a entrar en nuestra clase de bloques de lema. Y con esto básicamente concluyen los bloques no bloqueados. Entonces lo que va a ser interesante aquí es que esos realmente no se van a hacer de calcio, pero ahí se van a hacer de flor de cerezo. Ahora, flor de cerezo es por supuesto, la madera real. Entonces vamos a tener una costumbre lo haría en una conferencia posterior, pero ya vamos a ver la puerta. Por lo que flor de cerezo subrayan puerta justo aquí. Y entonces lo mismo va para los Sheri subrayan flor, subrayan trampilla. Sólo voy a copiar esto por aquí, que sea un poco más fácil para la puerta trampa del ego. Y ahora realmente necesitamos hacer un bloque de puerta de motor y un bloque trapdoor mod también. Bueno, solo creemos esos bloques de puerta, que extiende el bloque de puerta. Pase el cursor sobre este constructor de credo que coincide super, y hagamos esto público también. Y ahora nunca necesitamos mirar a la clase. Otra vez. Lo mismo para el bloque de puerta trampa modelo. Sólo vamos a extender, por supuesto, el bloque de trampilla. También coloque el cursor sobre el constructor de tasa que coincida con super y haciendo público el constructor aquí. Y entonces estamos bien. Por lo que la puerta por supuesto va a ser un bloque de puerta lema. Y esto va a ser un bloque de trampilla modelo. Y en realidad necesitamos llamar a otro, bueno, creo que los ajustes de tela y ese va a ser el no opaco aquí. Porque esto en realidad el, tanto la puerta como la trampuerta contienen valores alfa en su textura. Eso significa que básicamente tienes un portal que es vero-through en el libro real. Y si tienes eso, entonces necesitarás añadir este no opaco aquí mismo. Eso es muy importante. Y hasta hay otra cosa que tenemos que hacer para eso. Y eso va a ser, vamos a hacer una nueva clase en el paquete del curso MC. Así que haga clic derecho en nueva clase Java llamada cliente curso MC que va a implementar el inicializador mod cliente justo aquí. Vamos a pasar el cursor sobre esto e implementar el método, el método del cliente no inicializado. Y esto no contendrá donde establecemos la capa de renderizado. Entonces vamos a decir mapa de capa de renderizado de bloques. Esa instancia. Instancia dotplot bloque. ¿ Qué bloques? Puerta de punto, exactamente la puerta de flor de cerezo con el renderizado más tarde punto se cortan. Entonces vamos a duplicar esto y poner la trampilla aquí. Y lo que también tenemos que hacer, y esto es muy, muy importante que sigas esto, necesitamos entrar en nuestro tejido. Punto adyacente justo aquí, y debajo del punto de entrada principal justo aquí, ¿verdad? Esto es muy importante. Básicamente necesitamos copiar esto más. Bueno, el cliente de la CIA. Entonces necesitamos decir curso MC y luego asegurarnos de que esto esté escrito así. Entonces MC curso, cliente, eso es muy importante y esto definitivamente tiene que suceder de lo contrario, el cliente el año pasado no será reconocido y vamos a tener un pozo, una flecha en cómo esto es siendo exhibida. Pero después de haber agregado esto estaban bien y el código está hecho. Ahora simplemente tenemos que ir a los archivos JSON. Por supuesto, todos los archivos JSON están una vez más disponibles para usted ya sea en el repositorio de GitHub o como gists individuales. Ahora, después de hacer todos esos bloques no bloqueados, hemos visto esta tasa de múltiples veces simplemente apunta a diferentes modelos aquí mismo, ya sea en la trampilla o también en la puerta. Nada demasiado espectacular para ser honesto. Por lo tanto, añadamos también la traducción aquí. Entonces esto no es ya calcio, pero esto es Sherry subrayado flor subrayado puerta. Y luego vamos a hacer la puerta de la flor de cerezo. Y lo mismo va aquí para la trampilla. Sólo vamos a sumar la trampa en la frontera. Y entonces lo mismo va para esta trampilla, ¿verdad? Entonces el objetivo, y luego lo que podemos hacer es añadir los archivos del modelo. Ahora en realidad hay bastantes de esos. Copiémoslos más. Se puede ver que son siete de ellos. Pero una vez más, a pesar de que son siete , en general, son bastante sencillos. puede ver que es una vez más sólo el padre que es diferente aquí. Y lo mismo básicamente va para la trampilla. El único otro interesante es que debido a que la puerta está conformada por dos bloques, básicamente tenemos una textura superior y una inferior aquí que apunta a lo que más o menos es lo único interesante cosa. Ahora el modelo de artículo, especialmente para la puerta, es en realidad muy interesante. Porque cuando verás esto es que este es en realidad un modelo de artículo normal. O a, para un artículo no un bloque. Eso se debe a que la puerta realmente tiene, no se muestra en el inventario como un bloque, sino como un artículo real. El trapdoor, sin embargo, este punto se detienen trapdoor normal aquí. Entonces para este, en realidad sí necesitamos agregarla a diferentes texturas. Será en realidad tres texturas de bloque diferentes y una textura de elemento. Entonces esos son por supuesto, también disponibles para ti. Tienen el fondo de la puerta, tenemos la parte superior de la puerta y la trampilla. Entonces en el artículo, también tenemos la puerta aquí mismo, así que sólo vamos a copiar esto también. Entonces el ego, la puerta ribosoma para el artículo. Y ahora todo se ha agregado. Ahora después de haber agregado todo esto, Vamos a ver si funciona o si es así, nos encontramos en micro lente podemos ver tanto la puerta la trampilla se han agregado con éxito al juego. Ahora si hago clic con el botón derecho en ti y lo veo en realidad no funciona para abrir esos. Eso es muy curioso, y en realidad puedo abrirlos. Bueno, quiero decir, hagámoslo bien. Aquí. Ahí lo tienes. En realidad puedo abrirlos con un Redstone si dirigí correctamente hace básicamente. Entonces eso es algo que todavía tenemos que cambiar. Y te voy a mostrar cómo puedes básicamente determinar si o no sólo es abrible con Redstone o abrible con la mano también. Pero en realidad es una solución muy, muy fácil. En lugar de poner en el material metal, simplemente ponemos en material madera. Y eso es todo lo que tenemos que hacer para cambiar aquí para abrirlos ahora con el final. Entonces no se preocupe ahí en absoluto. Pero esto concluye más o menos la porción de bloques no bloqueados de la serie de conferencias, y esto también concluiría aquí la primera sección. Entonces esperemos que esto te resulte útil y aprendas algo nuevo. Y te veré en la próxima conferencia, sin embargo. Sí. 58. (herramientas) crear un nuevo conjunto de herramientas: O una bienvenida de vuelta al curso de telas para 118. Y en esta conferencia, vamos a estar creando un conjunto de herramientas personalizado. Y lo que quiero decir, supongo que sólo empecemos a entrar en nuestra clase de artículos modelo aquí. Y vamos a estar haciendo un hacha y hacha un todo, una pala y una espada. Y en realidad va a estar en ese orden. En primer lugar, lo que vamos a encontrar es cuando solo copie sobre el todo astillas aquí, sólo vamos a empezar a hacer el, en realidad también es genial poder nombrar aquí porque no quiero tener que escribir puede venir cada vez que el código está, por supuesto disponible para ti en el repositorio de GitHub o un individuo igual de bien. Pero si voy a empezar a hacer un pozo puede recoger x aquí y lo vamos a hacer un nuevo artículo de pico. Por supuesto, vamos a encontrar una vez más, Bueno, amor duro, va a ser acceso protegido una vez más. Entonces en nuestro paquete de artículos personalizados aquí, vamos a hacer un artículo mod big acts, que va a extender el pico siguiente ítem. Leer constructor coincidencia super. Y voy a cambiar esto a público. Y luego inmediatamente vamos a hacer lo mismo para el elemento mod acts, que extiende X item. También pasa el cursor sobre el constructor de período coincidiendo super, haciendo esto público también. Y luego también necesitaremos el artículo entero mod. Extiende todo el artículo. Una vez más, pase el cursor sobre un constructor de lectura rápida que coincida con super y haciendo esto público. Y entonces una vez más, nunca tenemos que volver a ver esas clases nunca más. Eso tiene mucho sentido, sea cual sea el caso. Y verás que en realidad toma cuatro parámetros. El primero, que es un material de herramienta, eso en realidad es algo que también necesitamos crear. Eso lo voy a hacer en nuestro paquete de artículos. Entonces haga clic derecho en eso, una nueva clase Java o material de herramienta mod. Y esto va a implementar la interfaz de material de herramienta a partir de net Minecraft item. Y en realidad no vamos a rondar sobre esto. Lo primero que vamos a hacer es que vamos a cambiar esto a una enumeración. Eso es muy importante. En realidad vamos a hacer es vamos a dar click en esto y luego presionar Control H para sacar la jerarquía. Y vas a ver que tenemos materiales de herramientas aquí mismo. Hagamos doble clic en esto. Y ahora puedes ver estos son los dos materiales de vainilla. Y hay una muy divertida o En realidad hay truco muy fácil. Y eso va a ser, vamos a ir en la parte inferior aquí, no frente a esto, el último soporte rizado, sino el segundo a último soporte rizado. Entonces vamos a mantener el Shift y hacer clic aquí. Y luego vamos a presionar Control C para copiar, y luego Control V para pegar. Y luego hay una cosa que necesitamos cambiar, y ese es el nombre aquí. Entonces solo vamos a copiar este nombre, pegarlo aquí, y luego no deberíamos obtener más errores. Ahora la razón por la que estamos haciendo esto es porque en el material de herramienta real es más o menos va a ser exactamente el mismo sin importar lo que hagas. Por lo tanto, normalmente solo me gusta copiarlo de la clase de materiales de herramienta. Esto, sólo tiene mucho sentido. Y entonces el beneficio agregado aquí también es que se tenga acceso inmediato a todos los diferentes valores que los materiales aquí la mitad. Entonces eso también es realmente genial. Por lo que sólo se puede ver de inmediato básicamente lo que está pasando. Eso es bastante bueno. Entonces lo que vamos a hacer es que sólo vamos a deshacernos de unas cuantas cosas. Entonces solo vamos a hacer algo como esto y luego algo así. Entonces le damos un nombre aquí a este rojo, claro que todos los recalc en este caso. Y luego el nivel minero, incluso podemos hacer esto de una manera diferente. Nivel minero o niveles mineros que el hierro que hace, que acababa de devolver el tubo, pero es un poco más fácil de leer aquí. Entonces vamos a cambiar la durabilidad a 450. Por supuesto, la durabilidad debe ser bastante autoexplicativa. Esa es sólo la durabilidad base de los artículos reales, luego la velocidad de minería. Por lo que se puede ver que son 64. Para eso sólo vamos a hacer algo así como 4.5. Y tal vez el daño en realidad va a ser 3.5 y entonces la intangibilidad es aún más. A lo mejor es algo así como 25. Y aquí en realidad no necesitamos todo ese jazz en solo necesitamos un proveedor de ingredientes. Entonces sólo vamos a hacer con esto. Y luego vamos a decir ingrediente de artículo. Voy a decir artículos mod, más artículos que son lingote de calcio y luego cerrar esto correctamente. Ahí vas. Ahora si tuviéramos que añadir otro aquí, sólo podría copiar esto y verás que esto no funciona del todo ya que el último siempre tiene que terminar con un punto y coma, mientras que cada uno individualmente tiene que separarse con una coma. Entonces eso es muy importante tener en cuenta aquí. Esto es básicamente sólo una enumeración avanzada. Si has visto la introducción de Java y debes reconocer que el tema aquí con el perezoso en realidad no debería ser demasiado malo. Por lo que esto todavía es utilizado en realidad por Minecraft en sí mismos. Entonces en realidad lo estoy. Está bien. Con usarlo también, creo que la deprecación ahí debería estar totalmente bien como usar esto. Y si en algún momento algo cambia aquí, siempre podemos, ya sabes, básicamente echar otro vistazo a la clase de materiales de modo y cómo funciona eso. Tan totalmente bien. Pero eso es más o menos como que no necesitamos hacer nada aquí. Simplemente definimos estos campos. Y estos campos se definen básicamente para cada uno de los diferentes niveles materiales, por así decirlo. Entonces si quieres cambiar algo, básicamente solo lo cambias aquí. Y entonces eso se traslada a todas las diferentes herramientas que podrías tener en tu modelo, ¿verdad? Y entonces podemos hacer lo siguiente. Podemos decir mod tool material.org calcio. Y el segundo parámetro va a ser el daño de ataque. Creo que eso es un entero. Y entonces el tercer parámetro es la velocidad de ataque, que es un flotador. Y luego una vez más, sólo la configuración normal del elemento de tela. Ahora porque se trata de un artículo MOD pick ax aquí, en este caso, el riesgo va a cambiar un poco los números, los números aquí, tendremos que retocar de cualquier manera. Al igual que si tienes tu modo real, probablemente vas a estar ajustando bastante los números porque por supuesto, equilibrar todo no es tan fácil como podrías pensar. Pero de lo contrario no necesitamos añadir nada más. Entonces lo que podemos hacer es simplemente pegar esto en cinco veces aquí y luego simplemente empezar a cambiar cosas. Por lo que actúa aquí, actúa también. Por lo que la XP probablemente va a ser algo así como 1. Esta es velocidad adicional, por cierto, esta no es la velocidad real, esto se agrega a ella, pero más daño aquí por el elemento más actos. Y luego vamos a tener todo el subrayado OMS y luego subrayar hoyo aquí también. Este es el modo all item. Una vez más, en realidad no estoy a menos que por supuesto ceros o no soy un cien por ciento seguro por qué. Algunas de ellas necesitas el elemento de modo y algunas de ellas no. Parece muy inconsistente, pero es lo que es. Se trata de un artículo de pala con el nombre o una pala de calico. Y por supuesto aquí también, o una pala de telecomunicaciones. Muy importante que cambies los nombres aquí en todas partes, solo así que ten en cuenta eso. Y luego la espada aquí. Y luego por último pero no menos importante, el oráculo viene espada. Y aquí este es un artículo de ordenación. Y tal vez ese daño de ataque sea un poco más. Y la velocidad también son tres, eso va a estar bien. Ahora los artículos están debidamente registrados, pero ahora por supuesto necesitamos los archivos JSON los cuales tienen una cosa diminuta que es diferente con ellos, pero en realidad lo es ahora no debería ser demasiado loco. Entonces hagamos que se copien los archivos del modelo. Y en general, todo esto es bastante estándar. lo único que necesitas cuidar, y esto es muy importante aquí, es el padre es en realidad artículo slash handheld. Y la razón de eso es para que obtienes un look 3D cuando estás en una tercera persona. Para que básicamente cuando tienes la espada en mano y alguien más la mira en un servidor, entonces por supuesto parece que es 3D. Entonces eso es lo que necesitas ahí, eso es muy importante aquí. Y luego vayamos también al archivo de subrayado nos JSON. Y solo voy a copiar aquí las traducciones una vez más , por supuesto, todo lo disponible para ti en el repositorio de GitHub o un individuo ajusta también. Igual por supuesto, con las texturas aquí. Entonces esas son las texturas de cinco artículos que vamos a necesitar. Actúa en su conjunto, El cerdo actúa, la pala y la espada. Sólo copiemos esos hace más de un año. Y eso debería ser más o menos todo lo que necesitamos hacer. En realidad hay una cosa más que es muy importante agregar, y esas van a ser las etiquetas de herramientas. Entonces bajo los datos, vamos a crear un nuevo directorio llamado Hambrick. Y luego dentro de ahí vamos a crear un nuevo directorio llamado tags. Y luego dentro de ahí, vamos a crear un nuevo directorio de elementos de puerto. Y entonces básicamente necesitamos acceso a Jason. Y vamos a copiar esto a este gamete gran eje adyacente. Y sólo vamos a copiar un año. Vamos a llenar esto en tan solo un momento. Tenemos este gran eje. Esto van a ser palas. Y luego vamos a tener el sistema operativo y luego ordenar. Por lo que en este punto del 118, creo que esos ya no son necesariamente necesarios ni nunca. Creo que sigue siendo una idea inteligente agregarla a ella. Simplemente agregando básicamente el eje particular, palas y todo eso. Con esas etiquetas. Realmente no hay razón para no hacerlo al final del día. Este es un proceso bastante sencillo. Una vez que lo hayas hecho, una vez para uno de tus dos materiales que agregarlo para los otros es más o menos también solo un proceso muy sencillo y un muy recomendable solo agregar esos. Entonces en la tela, espacio de nombres, etiquetas, artículos, y luego básicamente acceder a agujeros, pick axes, palas, y ordena. Entonces esa es una idea muy inteligente para básicamente hacer eso y agregarlo ahí. Pero eso es más o menos todo lo que necesitamos hacer. Entonces, veamos si funciona. O Francis atrás y micrófono. Como puedes ver, todas las herramientas se han agregado al juego. Pero vamos a ver, todo esto funciona, así que eso es muy bueno. Veamos si incluso puedo hacer clic derecho con esto. Y en realidad puedo. Entonces esa es una gran señal aquí también. Y también salte esto. Esto también todo funciona. También puedo hacer clic derecho con esto, supongo por supuesto que puedo. Y entonces realmente no tenemos ninguna madera fuera. Te fijas en eso, Así de rápido podría aparecer. Voy a hacer clic derecho en él y también puedo minarlo adecuadamente. Por lo que todo aquí debería funcionar completamente bien. Y todo ha sido con éxito. Esto, por cierto, es a lo que me refiero con la mano. Para que básicamente parezca que en realidad estás sosteniendo la herramienta en tu mano lugar de solo tener el artículo así. Y por eso necesitas al padre de mano o un bot que ya sería para esta conferencia aquí mismo. Espero que te haya parecido útil esto y hayas aprendido algo nuevo. Te veré en la próxima conferencia. Entonces, sí. 59. (herramientas) crear una multiherramienta multiherramienta personalizada (Paxel): Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia, vamos a estar agregando un elemento Paxil personalizado al juego. Entonces esto es por supuesto, algo que es completamente personalizado y en realidad requiere solo un poco de trabajo extra, pero en realidad es bastante fácil, Todas las cosas consideradas. Entonces lo que vamos a hacer es hacer una nueva clase en nuestro paquete de artículos personalizado llamado los packs mod o artículo. Y esto en realidad se va a extender porque por supuesto no existe un ítem de Paxil. Esto se va a extender el artículo de la herramienta minera. Y sólo vamos a pasar el cursor sobre este crear constructor que coincida super. Y vamos a hacer esto público, no vamos a necesitar aquí es el bloque efectivo uno, el parámetro y también vamos a elegir tomar el parámetro material de herramienta y moverlo al frente aquí. Y luego el efecto de los bloques, ¿no? Si tuviéramos que, por ejemplo, presionar Control H aquí y solo echar un vistazo al ítem de pico por ejemplo, se puede ver que esto toma en las etiquetas de bloque minable pico, que es exactamente lo que nosotros han estado justo aquí, ¿verdad? Por lo que básicamente hemos sumado nuestros bloques para acabar con esto. Ahora, Paxil, queríamos ser capaces de ser efectivos en actos de viaje y recoger X bloques. ¿ Cómo haríamos esto? Bueno, vamos a hacer una etiqueta personalizada. Entonces en nuestra clase de impuestos modelo, lo que vamos a hacer es hacer una nueva etiqueta aquí arriba. Entonces esto va a ser un impuesto propio en realidad. Por lo que una normal crea etiqueta aquí. Y este va a ser el subrayado Paxil minable. Y luego aquí empaca realmente minable, latigazo, Paxil. Y entonces esta etiqueta real se enfriará aquí mismo. Entonces vamos a decir etiquetas moderadas, bloques de puntos, no mandíbula Paxil. Y ahora básicamente podemos usar esta clase y debería funcionar totalmente bien. Nosotros por supuesto, aún necesitamos agregar esto a nuestras etiquetas de curso MC. Por lo que en nuestra carpeta de bloques, en la carpeta de tanques, haga clic con el botón derecho en nuevo directorio llamado minable. Entonces dentro de ahí Haga clic derecho nuevo archivo, Paxil rastro oscuro. Permítanme copiar rápidamente este por aquí. Entonces desde la pick X1 y luego esto va a ser muy interesante porque incluso podemos poner diferentes etiquetas aquí, así que no tenemos que enumerar cada cosa que está en las etiquetas minables. O simplemente podemos hacer es decir hashtag. Y eso significa que esto en realidad es una, otra etiqueta que queremos poner aquí. Entonces decimos Minecraft, minable, lash x. Y esto, sólo copia esto y di, gracias y compra. Ahora lo que el elemento de paquetes no tendrá es la funcionalidad de clic derecho. No obstante, eso es algo si realmente quieres eso, que él podría por supuesto, agregarte también. En realidad no debería ser tan loco. Básicamente echando un vistazo al artículo de la pala aquí, puedes ver que hay algunas cosas aquí. Y el artículo también, hay algunas cosas que no son demasiado locas. No obstante, nos vamos a quedar con esto. Por ahora. Sólo vamos a copiar sobre el oráculo viene espada y vamos a renombrar esto al oráculo ven Paxil. Entonces lo mismo aquí también. Paxil, el daño y la velocidad sólo se va a reducir un poco. Y entonces esto va a ser un artículo mod packs. Como se puede ver, todo funciona. Muy importante es que cambies los parámetros aquí para que sean exactamente así, entonces debería funcionar totalmente bien. Y entonces sólo necesitamos el archivo JSON, una traducción también. Entonces, en realidad hagamos primero la traducción. Eso va a ser muy directo. Ahí vas. Por lo que la traducción y todos los archivos están por supuesto disponibles para usted también, intereses individuales o el repositorio de GitHub. Y acabemos con el suelo compacto oráculo. Y la textura también. Entonces prácticamente tenemos todo lo que necesitamos. Por lo que hace, ahora todo se ha sumado 0. A ver si funciona. O encontré esto de vuelta en Minecraft y como puedes ver ahí está. El Paxil se ha agregado al juego y no se ve genial. Entonces podemos ver básicamente aquí, puedo fácilmente extraer esto y también puedo extraer fácilmente esto. Y sí nos queda algo de humor, y también puedo fácilmente el mío en eso. Ahora una vez más, al hacer clic con el botón derecho, en realidad no trabaja ni para el camino básicamente ni para el despojo de la madera. Si de verdad quieres eso, entonces eso en realidad no debería ser demasiado loco para agregar. Si tienes algún conocimiento de Java, estoy seguro de que te las arreglarás. Y si realmente es muy solicitado, podría simplemente agregar una conferencia de seguimiento sobre eso también, si eso es realmente lo fácil que puede ser agregar un elemento de Paxil al juego. Entonces espero que esto te resulte útil y aprendas algo nuevo. Y te veré en la próxima conferencia, sin embargo. Sí. 60. (herramientas) crear armas que se aplican efectos: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia, vamos a echar un vistazo a cómo puedes agregar un efecto a una entidad cuando la golpeas con un ítem específico. Y esa es una forma muy ordenada de decir básicamente, vas a agregar un efecto de fusión a una entidad. Y la forma con eso vamos a hacer esto es que vamos a crear una nueva clase aquí. Y este va a ser el mod lowing artículo almacenado. Justo como ejemplo aquí, sólo vamos a extender la clase de elemento de clasificación. Simplemente voy a pasar el cursor sobre este create, constructor matching super. Y entonces podemos dejar todo aquí. Y al igual que con un artículo normal, hay métodos para anular, ¿verdad? Para que pueda poner una anulación y se podía ver que estaba en bloque, usa como resplandor una punta de herramienta de bolígrafo. Hay un montón de cosas que puedo anular y no hay preocupaciones ahí. Y hay un método específico que vamos a anular y eso es genial como el método post hit, se llama después de que hayamos golpeado un enemigo o más bien después se haya agregado el daño a un enemigo. Y lo que podemos hacer es decir que el estado de punto objetivo afecta a la nueva instancia de efecto de estado. Digamos que el estatus afecta esa lentitud. Digamos cuatro segundos en el nivel dos. Y entonces también pasamos en el atacante hace Eso básicamente va a ser la fuente porque somos el atacante y el objetivo es por supuesto eso, que está siendo golpeado como la entidad que es siendo golpeado aquí. Y ahora solo podemos ir a la clase More Items y simplemente cambiar esto al elemento de clasificación MOD lento aquí mismo. Por ejemplo, no tienes que hacer necesariamente esto. También puedes hacer un nuevo artículo, pero solo vamos a cambiar la fuente de calcio por eso. Y quiero decir, eso es más o menos. Eso es todo lo que tenemos que hacer. Necesitamos anular el método hit del SO y luego básicamente solo agregar esto, el efecto de estado al objetivo. Y eso de hecho es lo fácil que es agregar un efecto en hit. Entonces sólo por el bien de la finalización, Vamos a ver si funciona o inferencias de nuevo en Minecraft. Entonces veamos si le pego a una oveja. Ahí vas. La oveja que en realidad estaba escondida ahora tiene a Sloan como se le aplica. Y el que básicamente fue atrapado en el fuego cruzado en realidad no lo tiene aplicado porque sólo se aplica a la entidad directa que estás golpeando que incluiría un pez. Yo sí creo que probablemente iban a morir después de 100 sí. Slt se van a morir. Pero en realidad viste que también tenía la lentitud aplicarle. Aunque. Eso es bastante guay, ¿verdad? Y eso ya es todo para esta conferencia aquí mismo. Espero que esto te resulte útil y se entere de lo nuevo. Te veré en la próxima conferencia. Entonces, sí. 61. (Armas) crear un nuevo conjunto de armadura: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia, vamos a estar agregando una armadura personalizada a Minecraft. Ahora bien, este es un ejercicio que va a ser muy, muy similar a agregar las herramientas a Minecraft porque vamos a necesitar un material de armadura en este caso en lugar de un material de herramienta. Eso va a ser lo primero que vamos a hacer en lugar del paquete de ítem, haga clic derecho en nueva clase Java llamada el mod, mod armaduras materiales a 0. Y esto va a implementar la interfaz de material de armadura aquí mismo. Y una vez más, no vamos a pasar el ratón por encima e implementar el método, pero vamos al botón medio del ratón haga clic en esto, o mejor dicho incluso simplemente haga clic en él y pulse Control H para meternos en el brazo materiales de otra clase. Y luego una vez más, sólo vamos a seleccionar en la parte inferior aquí. Y luego mantenga pulsado turno y haga clic en la parte superior aquí, y luego solo Control C y Control V para pegar. Y eso va a ser. Lo único que necesitamos cambiar aquí es la clase a una enumeración. Y luego vamos a tomar el nombre de esta clase. Y lo cambió a aquí también para que el constructor realmente funcione correctamente. Y sólo vamos a formatear esto un poco diferente con los parámetros aquí. Y entonces eso va a estar bien. También puedes dar formato a esto un poco diferente para que realmente podamos leer palabras escritas ahí. Y aquí. Una vez más, sólo vamos a eliminar todo excepto el hierro aquí mismo. Y vamos a llamar a esto el ORE calcio, claro. Y luego el nombre también Malcolm. Y entonces una vez más, podemos simplemente jugar un poco con esto. Podemos ver por supuesto, el, los valores nulos justo aquí. Entonces esa es la idea general. El multiplicador de durabilidad debe ser bastante autoexplicativo. Es solo el multiplicador para la durabilidad. Entonces por ejemplo, se puede ver que la cadena es 15, el hierro es 15, diamante es 33, el total 25 y 37. Entonces creo que eso es algo así como un 18 va a ser bueno para cada calcio. Entonces esto de aquí es una matriz int muy interesante. Estos son los montos de protección para cada pieza de armadura. Por lo que cada pieza de armadura tiene una cantidad diferente que te protege. Y esto va por cierto, de abajo a arriba. Eso es muy importante. Pero esto son botas, leggings, placa de pecho. Pero eso es muy importante. Entonces podríamos, por ejemplo, decir algo así como tres, nos vamos a quedar con el 7 de cinco años y luego quién está realmente bien para que solo lo hagamos un poco diferente a los otros. Por ejemplo, Goal también es un poco atípicos. Entonces puedes, por supuesto, pensar en esto como quieras en la agenda habilidad es lo inmutable que es esto. Voy a manivela esto hasta cuando D5, que es incluso más que oro. Porque, ya sabes, o un calcio, Es una muy fantasía como o así creo que eso, eso tiene sentido. Y luego el evento de sonido, en realidad vamos a usar el equipamiento de oro aquí. Así que armadura artículo, oro aquí mismo. ¿ Eso tiene un poco más de sentido en mi mente, vamos a mantener la dureza y golpear la resistencia BEC igual. Simplemente puedes cambiar esto y luego agregarás dureza y no escogerás resistencia a tu armadura que solo debería funcionar y no necesitas hacer nada más. Y entonces aquí por supuesto, en lugar de tener todo esto aquí, sólo queremos más items.org, lingote de calcio. Y sólo vamos a hacer que esto sea un poco más fácil de leer. Aquí no se preocupe. Entonces sólo vamos a hacer esto. Y luego no regresar. Entonces ahí lo tienes. Y ahora se ve muy bonito. Y una vez más, por supuesto, si quieres tener múltiples materiales de armadura, necesitan estar separados por comas. Y entonces por supuesto también nombrados de manera diferente y luego terminan con un ancho de punto y coma. El último, esa es solo idea general aquí. Y si solo echamos un vistazo rápido a esto, ya verás que tenemos este año de indagación, la durabilidad base. Esta es la durabilidad base de cada una de las diferentes piezas de armadura. Y entonces esto se multiplica con el multiplicador de durabilidad. Esto se puede ver aquí mismo. Por lo que tenemos aquí el multiplicador de durabilidad. Y obtener la durabilidad solo te consigue la durabilidad base basada en la ranura y luego veces con el multiplicador de durabilidad. Esa es la idea general aquí. Estos números, por supuesto, también podrías retocar si realmente quisieras. Nos vamos a quedar con esto por el momento. Esto va a estar totalmente bien. Ahora mismo la clase real su esposo configuró para que podamos cambiar a la clase más artículos y ahora empezar a crear básicamente nuestra armadura. Entonces vamos a hacer que un oráculo venga elemento primero. Y luego aquí también o un casco de calcio por supuesto que hace. Y esto va a ser un artículo de armadura. Y verás la primera ranura aquí va a ser el mod armor materials.org calcio. Y entonces en realidad sólo tiene tres parámetros. El segundo es el equipo slot dot head, y los ajustes aquí están bien. Entonces vamos a copiar esto cuatro veces. Y luego vamos a tener el, en realidad la placa de ajedrez escolar. Esta placa y este es su cofre ranura de equipo. Muy importante que cambiemos eso también. De lo contrario, por supuesto podríamos agregar eso a la ranura equivocada, que no es algo que queremos. Nosotros también vamos a hacer leggings aquí. Y otra vez aquí piernas. El hace y luego último pero no menos importante, son las botas. Y luego las botas aquí también. Y esto es por supuesto, los pies. Ellos te van. Y ahora las cuatro piezas de armadura se han registrado correctamente con nuestro más nuestro material de calcio. Y ahora solo necesitamos agregar el modelo de ítem, Jason y por supuesto aquí la traducción muy importante. Ahí está. Esto es por supuesto también todo disponible para ti en el repositorio de GitHub o un individuo ajusta también, por lo que no tienes que escribir todo. En realidad puedes copiar esto también. Una vez más, la mayoría de las cosas cuando lo has hecho una vez, puedes copiar mucho dentro de tu propio proyecto también, recomiendo encarecidamente hacer eso. La mayoría de estos modelos de artículos, van a ser muy, muy similares. Entonces entre esos, simplemente todos anaranjan a un impuesto que es literalmente todo lo que hay a él. Vamos a añadir los archivos de textura también. Ahí vas. Y luego una cosa más, lo cual es muy importante es que realmente vamos a necesitar el look 3D de la textura. Y eso en realidad se hace en la carpeta de Minecraft. Vamos a necesitar hacer una nueva carpeta en nuestra carpeta de activos, haga clic derecho en nuevo directorio para el Minecraft. Tan poco juego, tal vez ya has oído hablar de él antes. Ya lo he hecho , deja lo que sea. Haga clic derecho en las texturas de la carpeta microondas. Y luego dentro de ahí Haga clic nuevamente en nuevo directorio llamado modelos. Y luego una vez más Haga clic derecho directorio llamado armadura. Esto está escrito con sólo un OH, por lo que es la ortografía americana. Y entonces aquí vamos a poner en dos archivos, pero estos son los archivos de armadura. Es así como la armadura real nos veremos en 3D y en realidad deberíamos poder echar un vistazo a eso si vamos a las bibliotecas externas a aquí dentro de los activos, Minecraft, texturas en los modelos , armadura. Y luego se puede ver así es como se ve. Entonces esta es la capa para hierro, por ejemplo, capa uno y capa dos. Por lo que también podrías, por cierto, copiar los que se acabaron, terminó un poco y luego tener esos también. Ahora lo que es muy importante para esos es que el nombre aquí tiene que ser exactamente lo correcto. Esto es muy importante. Entonces cuando tienes el nombre que se da aquí dentro de tus materiales de armadura, este aquí mismo tiene que coincidir exactamente con este nombre. Subrayado capa subrayado uno y luego el otro, subrayado capa subrayado dos, muy importante, que no puede ser ningún espacio en el medio. No puede haber paréntesis 1 porque lo copiaste y tendremos el mismo nombre y nada de eso. Tiene que ser exactamente esto bajo el Minecraft, texturas, modelos, directorio de armaduras, muy importante. Asegúrese de que esto sea correcto. Pero después de que te hayas asegurado de que todo sea correcto, Vamos a ver si funciona o están en microgreens backend de primera clase. Se puede ver que se ha agregado la armadura y se ve increíble. Entonces vamos a ver cómo se ve cuando me lo pongo. Y ahí tienes, listo para ir a la batalla. Y eso de hecho es lo fácil que es agregar la armadura a Minecraft donde sea que ya sea para esta conferencia aquí mismo, espero que te haya parecido útil y aprendas algo nuevo. Todo por supuesto que está disponible para usted en el repositorio de GitHub o un individuo solo incluyendo las texturas, favor tenga en cuenta el archivo de acreedores por cierto, ve bajo qué licencia o se han distribuido texturas. Muchas gracias, pero sea cual sea el caso, veré en la próxima conferencia. Entonces, sí. 62. (Armas) hacer un efecto completo de armadura: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia, vamos a echar un vistazo a cómo puedes implementar un efecto de armadura completa o tu mapa. Ahora qué significa eso, efecto de armadura completa significará básicamente que obtienes un efecto de estado aplicado a tu personaje cuando llevas un traje completo de un material de armadura en particular. Y la forma en que esto funcionará es en el paquete personalizado justo aquí voy a hacer clic derecho en nueva clase Java. Y a esto se le va a llamar el artículo de armadura mod. Y esto extenderá el artículo de armadura plus. Y en realidad voy a copiar sobre la totalidad de esta clase. Esto está disponible para usted una vez más en el repositorio de GitHub o en el justo. Y vamos a pasar por esto, como voy a explicar todo ya que básicamente pasamos por esto. Entonces solo tenemos los más materiales de armadura, tu.org, calcio que hace, y eso debería funcionar, ¿verdad? Entonces, ¿qué está pasando aquí? Bueno, lo primero que se puede ver es que tenemos un campo, un campo final estático privado, o el material a afectar mapa. Ahora este mapa mapea un material de blindaje a un efecto de estado específico. De acuerdo, eso es bastante justo. Entonces esto significa que si tienes puesto este conjunto particular de armaduras, que tiene este material, entonces se te aplica este efecto. Ahora la razón por la que estamos usando una instancia de efecto de estado es porque la instancia o también guarda la duración y el amplificador. Y básicamente podemos cambiar eso individualmente. Esta instancia en particular que en realidad nunca vamos a usar. Aquí abajo, estamos creando una nueva instancia justo con los mismos valores que tiene esta instancia, porque de lo contrario no funcionaría en realidad. Porque una vez que se agota una instancia aquí, no se puede volver a usar. Pero eso es solo para la gente que ya habría saltado y estado como, espera, eso no funciona. Eso está totalmente bien. En realidad va a funcionar. Ya verás, y este año tiene por supuesto solo un artículo de armadura en él, pero en realidad muy fácil agregar otro. Simplemente vamos a tomar este pie aquí mismo y sólo ponerlo en una vez más. Entonces puedes ver que en realidad es lo fácil que es. Se status instancia de efecto lo recomiendo encarecidamente siempre ir por encima de 200 o la duración de tick aquí. Porque si estás a los diez segundos de tu efecto de sentencia empezando a agotarse, entonces va a empezar a parpadear. Y esto básicamente significa porque esto se aplica cada vez una y otra vez, que constantemente parpadeará en la esquina superior derecha y eso puede ser muy molesto. También tiene sentido decir, bueno tal vez una vez que se quite la armadura, todo efecto o este efecto en particular debe quitar todo efecto o este efecto en particular. Tiene sentido hacer eso. No vamos a hacer esto en este ejemplo. Al igual que hay un poco de limitación en este ejemplo, pero estoy seguro de que eso va a estar bien. Entonces, ¿qué pasa entonces? Bueno, anulamos el método de tick de inventario, que se llama cada tick. Si este artículo en particular o uno de esos artículos está dentro del inventario, primero vamos a comprobar si estamos o no en el servidor porque queríamos estar en el servidor para esto. Y nos estamos asegurando de que cualquier entidad tenga esto en su inventario sea en realidad un jugador. Ese es el caso, entonces podemos estar seguros de que podemos el elenco a la entidad a un jugador. Y luego vamos a revisar, hey, ¿este jugador tiene puesto un traje completo de armadura? Entonces este es un método que lo he hecho aquí mismo donde básicamente solo conseguimos todas las diferentes pilas de armaduras y asegurándonos de que ninguna de ellas esté vacía. Entonces básicamente diciendo: Oye, si el jugador tiene puesto un traje completo de armadura, en este momento en el tiempo, no estamos revisando el material, solo que cada una de las ranuras de armadura está realmente llena. Y si ese es el caso, entonces vamos a seguir con el método de evaluación de efectos de armadura. Y dentro de aquí, básicamente estamos pasando por todo el material para afectar mapa y básicamente simplemente consiguiendo tanto la instancia de efecto de estado de entidad material de armadura que está dentro del mapa. Y luego vamos a revisar, hey, ¿el jugador realmente tiene el efecto de armadura en, es decir, ahora mismo que básicamente estamos buscando. Por supuesto hay un bucle for que va a pasar. Si tuviéramos como ocho de ellos, entonces vamos a pasar y va a ser como, Hey, ¿tiene el, el jugador tiene este material armaduras los dueños tienen este material puesto, ¿no tener este material de armadura? Y sólo si el material para cada uno de los cascos pectoral rezagados en Boots realmente coincide. Sólo entonces vamos a sumar el efecto de status para la armadura particular aquí mismo? Y sólo para que lo tengamos, nuevo, en realidad estamos comprobando esto. De nuevo, esto no es estrictamente necesario aquí mismo. Lo que sin embargo es estrictamente necesario en muy recomendable hacer esto es el efecto jugador Boolean que básicamente pongo aquí mismo. Y la idea aquí es que esto básicamente sólo se agrega si el jugador no vuelve a tener el efecto. De lo contrario esto se añadiría cada tick 20 veces por segundo. Y pasar por todo esto 20 veces segundo en realidad podría ralentizar el juego de manera bastante significativa. Por lo tanto, es una idea muy inteligente que básicamente no hace esto y absolutamente detenga esto aquí. También agregando el efecto varias veces. Simplemente no es una buena idea. Y puedes ver aquí realmente estamos haciendo una nueva instancia de efecto con el tipo de efecto, la duración, y el amplificador de la instancia de efecto de estado real que hemos definido aquí. Entonces eso es lo que he estado diciendo. En realidad nunca vamos a usar esa instancia en sí misma. Simplemente estamos consiguiendo básicamente el amplificador de duración y el efecto ahí. Y luego hay algo que es posible que no necesariamente se necesita implementar. Y eso es aquí. Yo lo tengo, para que haya un 40 por ciento de probabilidad de dañar la armadura cada vez que un, básicamente se aplica un efecto. Ahora no necesitas hacer esto. Entonces también puedo simplemente descomentar las tres líneas y entonces vamos a estar bien también. Yo sólo quería añadir esto también, sólo si algunas personas sí se preguntan esto de lo que pueden. Entonces, ¿de dónde hemos sacado este código? Bueno, la mayor parte de esto es más o menos conocimiento Java con un poco de conocimiento moderno mezclado en. Y esto es algo que puedes hacer una vez que entiendas más intuitivamente Java y modelado para luego combinar los dos y luego crear algo personalizado como esto. Yo no diría con bastante facilidad, pero sin demasiada molestia. Entonces esto realmente se reduce a conocer Java. Entonces esto es como un atractivo más para ti que, ya sabes, sobre todo en las próximas conferencias, sobre todo cuando pasamos básicamente de la sección de herramientas y armaduras a los conceptos intermedios, estamos realmente va a retomar con el entendimiento inherente que vas a necesitar para Java. Pero no nos volvamos demasiado locos con este preámbulo de aquí. De hecho, nos deshagamos de esas dos importaciones. Y entonces lo que voy a hacer es ir a la clase más artículos. Y usualmente solo hago el casco, el artículo de armadura modo. No es necesario poner todo en más artículo de armadura en un conjunto de materiales de honor mod. Solo necesitas poner uno. Yo personalmente elijo el casco porque creo que el casco tiene más sentido básicamente tener cuidado con el resto del cofre. Pero también podría tener sentido, pero lo que prefieras, claro, pero sólo uno por cada conjunto de materiales. Muy importante, ¿verdad? Y eso en realidad es todo lo que tenemos que hacer. Entonces veamos si funciona o se les conoce como Minecraft. Y como pueden ver, ya tengo el vuelo neblina hacia mí porque claro que llevo la armadura completa. Y esto es bastante guay. Entonces esto también es Haze porque ponemos el amplificador a uno. Déjenme simplemente poner rápidamente el casco para que podamos ver que esto básicamente se va a ir. Hace ya no se ha ido. Y esta neblina a, porque el amplificador básicamente es un, un amplificador aditivo, ¿verdad? Entonces si no tuviera nada ahí dentro, sería prisa uno, amplificador de uno, fase dos, y un incendio patronal del tres de hoy , bastante sencillo. Y se puede ver, a pesar de que tengo el resto aquí puesto, siempre y cuando no tenga el casco puesto, no funciona y en cuanto lo ponga en el ego, ahora, claro que sucede en cuanto me lleve el blindaje apagado, la prisa persiste. Esto es algo que podrías, por ejemplo, agregar si quisieras. Esta es una funcionalidad que podrías hacer, ¿verdad? Una cosa rápida que es muy importante. Este objetivo aquí en realidad no va a funcionar, pero esa es otra limitación es que esto por supuesto no funciona porque no tenemos un elemento de material de armadura MOD ahí en ese momento. Entonces eso en realidad no va a funcionar. Entonces esto en realidad solo funciona con materiales de armadura de modo personalizado por el momento, quien sea, tal vez en el futuro actualizaré esta clase y entonces podría tener esa funcionalidad también. Quién sabe, ¿verdad? Pero sea cual sea el caso, esto es todo para esta conferencia aquí mismo. Espero que te haya parecido útil esto y hayas aprendido algo nuevo. Te veré en la próxima conferencia. Entonces, sí. 63. (Armas) crear una armadura de cabala mano: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia, vamos a estar agregando armaduras de caballos personalizados, tener Minecraft. Ahora, la armadura de caballo personalizada es realidad algo muy interesante porque hay un pequeño giro en realidad algo muy interesante porque hay un pequeño giroahí dentro que tenemos que tener en cuenta. Entonces vamos a abrir la clase de más artículos, y sólo vamos a copiar sobre las botas de goma oráculo. Y esto va a ser renombrado para preocuparse CAL come horse, underscore armor. Y luego lo mismo en el nombre aquí, o subrayan armadura, y este es un artículo de armadura de caballo. Ahora esto también toma tres parámetros. El primero es el aguinaldo, por lo que este es el bono árabe que recibe el caballo. Y el segundo es una cuerda. Ese es el nombre de la armadura real del caballo, que va a ser importante porque este nombre tiene que coincidir con el nombre del archivo. Entonces si realmente en medio botón del ratón, haga clic en esto. Se puede ver que esto es buscar la textura bajo texturas entidad, armaduras de caballo, armadura de caballo, subrayado, guión bajo de armadura, cualquiera que sea el nombre pongamos aquí como parámetro. Ahora esto una vez más en realidad tiene que ser puesto bajo el espacio de nombres de Minecraft, pero no te preocupes, vamos a hacer esto. Vamos a ver esto en tan solo un momento. Y si el botón medio del ratón haga clic en esto, a la derecha. Entonces esa es la idea general aquí. Y eso más o menos es todo lo que realmente necesitas saber. Entonces lo que es muy importante es que el aguinaldo aquí. Entonces solo para que tengas algunos valores de comparación, el hierro tiene cinco bonus, la armadura de caballo de oro tiene siete bonus, y la armadura de caballo de diamante tiene 11 tablero con 15. El blindaje de caballo de calcio es en realidad muy, muy fuerte. Pero por supuesto, una vez más, los números se pueden ajustar de cualquier manera que quisieras. Vamos primero a entrar en la E y subrayarnos archivo adyacente y añadir la traducción. Ahí lo tienes. Todos los archivos JSON y todo eso también está por supuesto disponible para usted en el repositorio de GitHub o un interés individual también. Porque vamos a copiar sobre el modelo de ítem una vez más, porque por supuesto, simplemente apunta a una textura normal en la carpeta de texturas. Entonces nada loco año, este es el artículo real. Se muestra en el inventario. Y luego la armadura 3D una vez más tiene que entrar en la carpeta de Minecraft, pero no se preocupe en absoluto. En la carpeta de texturas, vamos a crear una nueva carpeta o directorio llamado entidad. Y luego dentro de ahí, haga clic derecho nuevo directorio para caballo. Dentro de ahí Haga clic derecho nuevo directorio llamado armadura, una vez más, sólo con una O, por lo que la ortografía americana. Y luego copiaremos el archivo aquí, o es armadura de subrayado bajo tornillo o un calcio. Una vez más, el nombre aquí tiene que coincidir con este nombre aquí mismo, y luego se mostrará correctamente 0. Ahora, vamos a ver Para obras o me encontré como una microtendencias puede ver, la armadura del caballo se ha agregado con éxito al juego, ya que la suerte lo tendría. Tenemos un caballo domesticado justo al lado. Entonces, vamos a ver. Y ahí está, la armadura de caballo en toda su belleza, el oráculo vienen armadura de caballo. Entonces eso es bastante impresionante si lo digo yo mismo. Caucho, eso ya es para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo, y te veré en la próxima conferencia. Entonces, sí. 64. (Arma) añadir un encento personalizado: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia, vamos a estar echando un vistazo a cómo puedes agregar encantamientos personalizados, quién Minecraft. Entonces para eso vamos a entrar en nuestro paquete de cursos MC. Haga clic derecho en nuevo paquete llamado encantamiento. Y ahí dentro necesitamos dos clases diferentes. El primero va a ser los encantamientos de modo. Y el segundo va a ser el encantamiento del delantero relámpago. Este es el encantamiento real que vamos a implementar. Y el otro es básicamente registrar los Encantamientos. Pero lo que vamos a hacer es que vamos a extender esto por la clase Chen justo aquí, reconstructor coincidiendo supra. Y vamos a cambiar esto a público. Y entonces muy importante que cambiemos el array justo aquí, los tres puntos. Esto simplemente nos permite pasar en múltiples ranuras de equipos al final y luego se convierten a áreas automáticamente básicamente. Ahora la clase de encantamiento en realidad tiene bastantes métodos que puedes anular a quien sea por nosotros, la cosa número uno es, en primer lugar, el método de nivel GetMax, que es muy importante porque nosotros en realidad necesitan volver a aquí. Por lo que el método de nivel GetMax devuelve cuántos libros se generarán y cuántos niveles de este encantamiento existen. Entonces esto es muy importante sobrescribir los libros por cierto, te generas automáticamente, que no tengas que hacer nada por ello. Este nivel básicamente significa que este nivel define básicamente cuántos se generarán. Y ahora qué va a hacer este encantamiento? Bueno, cuando tenemos este encantamiento en nuestro, en un arma. Entonces lo que vamos a hacer es que vamos a engendrar un aligeramiento si se trata de relámpagos de nivel 1 y 2 si es de nivel 2. Por lo que el método para anular para eso es el método dañado objetivo. Y lo que vamos a decir en primer lugar es que vamos a decir si usuario dot world es cliente, muy importante aquí con un signo de exclamación en el frente siendo que queríamos estar en el servidor. Entonces podemos decir mundo servidor. El mundo es igual al mundo de punto de usuario que elenco. Y luego por lo general cuando ordenas completado para el mundo del servidor, suele ser que básicamente tienes eso también en, sugiere que N ahí ya. Y entonces también podemos decir que capa de entidad del jugador es igual al cast de puntos del usuario. Una vez más, pulsa la tecla de tabulación para autocompletar y luego pon en la entidad de jugador justo aquí. Y entonces eso está bien. También vamos a conseguir los caminos de bloque, que es la posición igual a punto objetivo, conseguir posición bloqueada o blogposts. Demos click en esto y presione Alt y Enter para importarlo. Y luego tenemos que revisar el nivel. Se puede ver que el nivel aquí se da como parámetro. Entonces este es el nivel del encantamiento real. Y otra gran pregunta es ¿cómo se engendra un aligeramiento? En realidad es bastante fácil. Vamos a decir relámpagos de punto tipo entidad que engendran con el mundo. Nulo aquí, y null para el nombre, el parámetro del jugador, la posición, luego engendra razón que desencadenó regla y true. Y eso es más o menos todo lo que necesitamos hacer aquí para engendrar un aligeramiento. Por cierto, esto funciona para cualquier tipo de entidad. Por lo que básicamente podrías reemplazar este relámpago por, por ejemplo, un cerdo, y aún así debería desovar en ese momento. Entonces eso por supuesto sería muy interesante. Ese sería el encantamiento delantero del cerdo. Pero eso es por supuesto ahora lo que vamos a implementar en este momento. Queríamos el rayo o el encantamiento. Entonces sólo vamos a decir si el nivel es igual a dos y sólo vamos a engendrar a revestimientos. Entonces eso es más o menos todo lo que realmente necesitamos hacer aquí. Y esa es la clase de encantamiento básicamente hecha. Entonces ahora pasemos a la clase de campeones modernos. Y dentro de aquí vamos a tener dos métodos que necesitamos definir. Uno de ellos es el vacío estático público llamado modo registro Shetlands. Y esto se llamará más tarde en la clase mod del curso MC. Esto una vez más sólo sistema fuera línea de impresión registrando encantamientos mod, encantamientos mod. Para MC cores mod, mod ID. Entonces necesitamos un encantamiento estático privado se registrará con un nombre de cadena y un encantamiento puesto en Shetland. Y esto simplemente devolverá los datos de registro, registro, registro dot Pentland con un nuevo identificador de MC curso mod mod ID, un nombre. Y luego después de los primeros paréntesis, como en los Encantamientos, perímetro y ego, esto registrará el encantamiento. Esto es muy similar a como básicamente lo hemos hecho en los más artículos o en la clase de bloques de motor. Y luego haremos los Encantamientos. Por lo que se trata de un delantero de guión bajo encantamiento estático público o aligeramiento, que es igual al método de registro. El nombre aquí es aligerante subrayado munición del delantero, y luego un nuevo golpe de luz o encantamiento. Entonces éste de aquí. Y entonces podemos pasar en el encantamiento esa rareza poco común. Por ejemplo, objetivo encantamiento coma va a ser arma exactamente esta. Y entonces la ranura del equipo va a ser la mano principal. Y luego terminando con esto y ahí está. Entonces esto es todo lo que hay a ello. Una de las esquinas, por supuesto, a tu disposición en el repositorio de GitHub o en ajustes individuales también. Y eso en realidad es el encantamiento ya hecho. Ahora sólo necesitamos llamarnos en el curso MC, multi-clase. Entonces aquí mismo, más encantamientos que registran envíos modernos. Eso en realidad es muy importante si esto no se les agrega, no funciona. Eso es muy, muy importante. Y luego hay una cosa más en el oído y subrayarnos archivo JSON. También vamos a sumar en la parte inferior aquí, la traducción. Entonces esto es encantamiento y curso MC rayo subrayan Stryker. Y esto es por supuesto, un martillo aligerador, muy importante. Sólo necesitamos una de esas traducciones aquí. Entonces podrías ver es esto y esto para cada uno de los niveles, en realidad sólo necesitamos traducir esto una vez. Y entonces se traducirá para cada nivel de los Encantamientos. Pero en, después de haber agregado todo eso, Veamos si funciona. O somos fans de vuelta en microfinanzas, se puede ver el rayo o Presidente se ha agregado con éxito. Vamos a añadirlo al oráculo o aquí. Uno para el primero y luego para el segundo. Correcto, Así que probémoslo en esas ovejas. Entonces, vamos a ver. Y ahí tienes. En realidad funcionó. Y vamos a hacer el otro. Pero esto básicamente pasará a los relámpagos. No es demasiado perceptible, pero sí funciona. Se puede ver ahí entrar y hacer el otro, daña un poco más. Pero por ejemplo, para las ovejas, van a morir de casi un golpe de cualquier manera. Por lo que no es tan notable. Bueno, sí, el tratamiento funciona. Entonces eso es bastante guay, ¿verdad? Y eso ya es para esta conferencia aquí mismo. Espero que te haya parecido útil esto y hayas aprendido algo nuevo. Si lo hiciera, le agradecería mucho una crítica de usted. De lo contrario, los veré en la próxima conferencia. Entonces, sí. 65. (intermedio) Propiedades de Blockstate: O doy la bienvenida de nuevo al curso de telas para 118. Y en esta conferencia, vamos a estar echando un vistazo a las propiedades del estado de bloque. Will block State properties son algo ya hemos visto anteriormente. Y eso fue en la puerta, las escaleras, y todos esos bloques no bloqueados, es decir, en los archivos JSON para los estados de bloque aquí. Entonces, por ejemplo, si echamos un vistazo a la puerta, los de aquí eran las propiedades del estado de bloque en. Ahora vamos a echar un vistazo a un ejemplo. Pero antes que nada, vamos a pasar por un poco de la teoría. Y para eso vamos a salir de las diapositivas de PowerPoint. Por supuesto. La primera distinción que tenemos que hacer es entre un bloque y un estado de bloque. Esto es muy importante porque bloque es en realidad un tipo de patrón singleton. Por lo que esto significa en nuestra clase de buzón, o para vainilla en la clase de bloques, cada campo de bloque se crea una vez para cada uno de los bloques. Por lo tanto, se trata de una especie de patrón singleton. Tu pregunta desenlaces de cómo, por ejemplo, ¿qué salvamos un bloque dentro del mundo? Bueno, eso lo hacemos con los estados de Bloque. Y estas son básicamente instancias de un bloque particular dentro del mundo. Dicen, por ejemplo, la posición de bloque, la propiedad de bloque. Entonces esos serían el comportamiento que pasamos al bloque que creamos y las propiedades del estado del bloque también. Pero esto es lo principal que vamos a echar un vistazo en las siguientes diapositivas. Y la idea es que los estados de bloque son básicamente salvados por el mundo y también sólo pueden ser cambiados por el mundo. Y eso se hace, por ejemplo, haciendo el estado mundial de bloque punto-punto punto y luego pasando en algunos parámetros. Ahora mismo pasemos a la idea de bloque, digamos propiedades, o cómo almacenar datos en bloques. Ahora bien, una especie de segundo titular aquí no está del todo bien, pero ya es lo suficientemente correcto. Entonces tenemos un ejemplo aquí de la clase pública, Redstone o bloque. Y se puede ver que tiene una propiedad booleana llamada lit. Y este año es exactamente el bloque dicen propiedad. Eso lo definimos en la clase de bloque. Entonces al principio podrías ser como, eso es un poco raro, ¿verdad? No obstante, este es un rendimiento específico aquí. Es por ello que no podemos usar solo un booleano dentro de la clase de bloque. ¿ La clase de bloque solo existe una vez? Entonces el campo booleano, si solo tienes un campo booleano ahí, en realidad se cambiaría por cada estado de bloque dentro del mundo para ese bloque. Y por supuesto eso no está del todo bien porque si se enciende o no un bloque específico o dentro del mundo, es independiente de cada otro o bloque excepto si podrían estar uno al lado del otro. Eso es algo totalmente diferente. Entonces puedes ver que necesitamos llamar al método append properties y tenemos que básicamente anular eso y agregar todas nuestras propiedades al constructor justo aquí. Y eso básicamente entonces hace todo el levantamiento pesado por nosotros. El inmueble siempre tiene un valor que es muy importante. Por lo que no puede ser nulo. bloque puede tener múltiples propiedades diferentes. Eso lo hemos visto también en la puerta, por ejemplo. Entonces la propiedad del estado de bloque que solía referirme a diferentes modelos dentro de la manzana Estados Jason o una manzana, como el bloque de escaleras se queda Jason o como hemos visto la situación de Brock puerta también. Y entonces esta es la diferencia aquí. Entonces si LET es falso, entonces parece que esto y he encendido es cierto, entonces se ve así. Y cambiamos el estado del bloque. Bueno, sólo podemos llamar al, bueno, sólo tenemos que tener la variable mundial aquí en alguna parte. Y luego ponemos el estado de bloque en una posición particular con el nuevo estado. Y entonces este año es solo una bandera, básicamente que notifica a todos los vecinos en todas las formas que necesitan ser notificados para n. Sí, esa es más o menos la idea de que estamos cambiando una caja que sucede en el mundo, ¿verdad? Y esto también sucede en el servidor. Entonces eso también es muy importante. Y pasamos en la posición, esta es la posición del estado de bloque real y parámetro socket es el nuevo estado o esa posición de bloque. Y entonces el tercer parámetro, como dije, es sólo el comportamiento rezagado, es sólo actualizar básicamente a los vecinos y tal. Esta presentación y él hoja de trucos por supuesto está disponible para su descarga también. Pero ahora volvamos a la inteligencia y su turno de prensa dos veces y empecemos a teclear un Redstone o bloque. Y si tienes esto, este año y entonces podemos entrar al bloque real sí y verás que prácticamente está exactamente aquí mismo, ¿verdad? Por lo que público estático, propiedad booleana final llamada lit. Y esto es exactamente correcto. Y si bajamos aquí, podemos ver que este año el mundo fijó bloqueos caminos estatales y luego básicamente, es el estado iluminado. Y ahora se vuelve a la verdad. Estos tres de aquí son más o menos exactamente los mismos que notificamos comportamiento que hemos visto. Puedes hacer ya sea tres o algo más ahí dentro. No nos vamos a preocupar demasiado por el comportamiento de actualización para nuestros propósitos. 3, siempre vamos a usar tres, ¿verdad? Por lo que recomiendo encarecidamente echar un vistazo a la Redstone o clase porque este es probablemente uno de los ejemplos más fáciles a los que realmente echar un vistazo. Pero por el momento, en realidad vamos a hacer nuestro propio bloque personalizado ahora. Por lo que con un cliente bloque de propiedad estatal. Y para eso vamos a entrar en nuestro paquete personalizado, haga clic derecho en nueva clase Java. Y va a ser el bloque de lámpara Oracle vienen que vamos a hacer una lámpara. Y esto va a extender la clase de bloque. Por supuesto, quiero decir, pasemos el cursor sobre crear, constructor que coincida super. Y luego en la parte superior aquí vamos a agregar una propiedad booleana final estática pública de la propiedad microestatal neta. Y vamos a llamar a esto clicked, que es igual a la propiedad booleana.gov. Y luego un, y luego un parámetro de cadena hizo clic. Entonces estoy llamando a esto cliced. Esto no es lo mismo que LET. Podríamos por supuesto también llamar la hendidura o encendido o algo así. Pero clicked va a estar bien. Porque lo que podemos hacer es que vamos a poder hacer clic con el botón derecho este bloque y luego básicamente encenderlo y apagarlo. Entonces esa es la idea general aquí. Y por supuesto, antes que nada, necesitamos llamar al método append properties o anular eso. Y esto en realidad es tan fácil como tomar el constructor dot add y luego agregar la propiedad click a él. Si tienes múltiples propiedades, solo puedes separarlas por comas y luego añadirlas también. Entonces por supuesto esto no tiene sentido porque agregar la misma propiedad dos veces no tiene sentido. Pero si tuvieras otra, entonces solo podrías agregar eso ahí también. Otra cosa que vamos a hacer es decir este punto set default block state, este dot get default block state que con agujeros lamidos. Y esto, lo que esto hace es que sea cual sea el estado de bloque predeterminado de este bloque real, una vez que lo establezcamos por primera vez, vamos a asegurarnos de que la propiedad clip siempre sea falsa en esa vez. Entonces esa es solo la idea general. Y luego vamos a anular el método de uso propio aquí mismo. Vamos a devolver el pase de resultado real como uno con esto un poco más bonito. Y luego comprobaremos en primer lugar, que no estamos en el cliente. Por lo que una vez más, esto asegura ver la marca de formación aquí así o no está en cliente. Y queremos que la mano sea y manos principales. Por lo que esto sólo se llama una vez. Vamos a conseguir un booleano en Nueva York llamado clicked. Y esto va a ser estatal dot get y luego clicado así. Y aquí por supuesto se puede ver que ya estamos consiguiendo el estatus. Entonces este es el estado de bloque real en el que hicimos clic derecho y solo vamos a obtener el valor de la propiedad booleana haciendo clic del estado en el que acabamos de hacer clic con el botón derecho. Pero esa es la idea general. Y luego vamos a decir que el mundo estableció estado de bloque en la posición que hicimos clic con el ancho de punto estatal lamido. Y entonces simplemente hacemos básicamente un VAP. Entonces un curso de héroes de coma que es muy importante en realidad. Entonces ahí tienes. Por lo que establece el estado de bloqueo una vez más a esto, en una posición particular. Después con el estado, con la variable clicada siendo opuesto a lo que era antes. Y entonces sólo estamos actualizando todos los vecinos también. Y es que, sé bastante loco en realidad, todo lo que tenemos que hacer aquí. Por supuesto, si tienes más complicado para bloques y bloques, esto que querías implementar. Bueno, es sólo cuestión de probar un montón de cosas, definitivamente. Y luego también un montón de conocimiento de Java definitivamente sí ayuda aquí. Entonces si realmente nos botón del ratón medio, haga clic en la propiedad booleana y luego vaya a la propiedad aquí, presione Control H. Podemos ver que hay booleanas en propiedades y también propiedades enum. Entonces esos son básicamente los tres valores de propiedad de estado de bloque grande o tipos que puedes poner en un bloque. Te recomiendo encarecidamente también echar un vistazo a otros bloques de vainilla y cómo lo hacen. Pero sigamos y en realidad conseguir el bloque se registre para eso. Tomemos el palo de la barda aquí mismo. Y esta va a ser la lámpara de calcio por supuesto. Y, o lámpara calcáneo aquí también. Y este es un bloque nuevo o un bloque de lámparas. El ego. Y el resto de esto en realidad puede quedarse. Pero quería agregar una cosa más a esto. Y eso va a ser básicamente después de las herramientas requiere aquí, quiero agregar la luminancia aquí. Y esto básicamente es a y C, a a función Int con un estado de bloque. Ahora, ¿qué es eso? Eso suena muy complicado. En realidad no lo es. Entonces sólo vamos a tomar esto y voy a formatear así. Y la idea general es que esto es sólo un bombo de, se puede pensar en ello como un proveedor, ¿verdad? Entonces recuerda, la oferta era esto y luego devolver algo. No obstante, en este caso realmente escribimos algo paréntesis y eso es sólo el estado aquí. Y entonces podemos hacer punto de estado, obtener el resultado, bloque de lámpara de desenlace. Y en realidad tenemos un error tipográfico aquí, sin preocupaciones. Entonces si alguna vez tienes un error tipográfico, básicamente puedes presionar Shift F6 y luego puedes cambiarlo. Y luego simplemente cambiamos esto por ya lámpara de calcio. Suerte, ahí tienes. Y entonces podemos pasarlo aquí también, o puede aterrizar bloque clicado. Y luego vamos a decir signo de interrogación 15, Polonia 0. Ahora, ¿qué hace esto? ¿ Qué está pasando aquí? Algunos de ustedes podrían decir que es absolutamente una locura. Esto en realidad no es tan loco. Por lo que la luminancia lleva una función a Int de estado de bloque como se puede ver. Y la idea general aquí es que las dos funciones int, ¿no? Aquí mismo, no estamos consiguiendo nada. Entonces, ¿qué es esto? Bueno, es simplemente un, requiere que se devuelva un entero y pasamos en estado de bloque aquí. Eso es más o menos todo lo que realmente necesitamos saber un año. Entonces tenemos un estado de bloque que podemos usar, y entonces de alguna manera tenemos que devolver un entero. Entonces es más o menos lo mismo si escribiera algo como esto, ¿no? Entonces, y luego digo estado de bloque, esto es casi lo mismo. Devolvemos un entero y pasamos en una cuadra sentada. Ahora, esto se acaba de hacer mucho más fácil, todo en una línea. En la idea aquí es que así con lo real, digamos función que escribimos aquí es solo un, obtenemos el valor de Clicked de este estado. Y si es cierto, vamos a regresar 15. Entonces básicamente encendemos la luminancia por lo que intentamos y brillar. Y entonces de lo contrario vamos a devolver un 0. Entonces eso es todo lo que hacemos aquí. Si solo quieres algo que probar y también puedes solo hacer esto y devolver 15, y entonces el bloque siempre dará una luz en este momento las otras cosas interesantes son por supuesto que van a ser las bloque Estados Jason. Entonces, una vez más, en realidad copiaré esto, pero esto está por supuesto disponible para usted en el repositorio de GitHub o en SIG individual. Y verás que en realidad no es tan loco. Simplemente hemos hecho clic igual falso o hecho clic igual a verdadero. Y luego dependiendo de eso, apunta a dos modelos de suerte diferentes. Entonces eso es más o menos. El archivo de longitud. Es decir, eso en realidad va a ser muy fácil también. Es sólo un bloque recalc vienen bajo una lámpara y luego sentarse aquí o un guión bajo, sin lámpara de guión bajo. Eso sucede a veces ahí, tu lámpara Oracle VM, ni lo hay. Y luego vamos a copiar sobre los archivos de modelo de bloque también vale la pena para la lámpara encendida y para la lámpara apagada. Y esos ambos se referían a dos texturas diferentes como se puede ver, ya sea lámpara encendida o apagada. Entonces nada demasiado loco. Y entonces realmente vamos a conseguir el, el modelo de elemento de lámpara también. Nada demasiado loco, sólo se refiere a la lámpara apagada aquí. Y luego vamos a conseguir las texturas de bloque. Y luego, y luego estamos prácticamente terminados con esto. Y ahora veamos si funciona. O ataque ofensivo y microvesículas ver el Oráculo puede aterrizar se ha añadido al juego. Y si hago clic con el botón derecho en él, ellos, tú vas, se enciende y se apaga para eso es bastante cool. Ahora la razón por la que no obtenemos ninguna, como la funcionalidad de clic derecho, la mano básicamente se mueve es porque ponemos en el pase de clic derecho. Y eso es por supuesto, para que podamos más, mejor básicamente colocados abajo bloques agregados. Porque si no tenemos el pase ahí dentro, entonces, ya sabes, eso es un poco raro. Por lo que por supuesto también puedes cambiar el resultado real que devuelves en el método no utilizado. Eso también es siempre algo que sólo puedes probar y ver cuáles son las diferentes funcionalidades. Pero como puedes ver, funciona totalmente bien. Y yo sólo puedo cambiar el del extra así como por supuesto encenderlo. Entonces si solo hago veces por la noche para que tengamos esto y veamos bam, bam, bam, ahí está. Simplemente puedo encender la luz o apagarla. Entonces eso es bastante guay. Caucho, eso ya será para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo de lo nuevo. Y te veré en la próxima conferencia sin embargo. Sí. 66. (Intermedio) cómo funciona los datos de NBT: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia, vamos a estar echando un vistazo tentativo a los datos de NB TY. Al igual que las propiedades del estado de bloque son básicamente datos que puedes guardar en un estado de bloque. En los datos BT son datos que se pueden guardar en pilas de artículos. Por lo que las pilas de artículos son dos elementos ya que los estados de Bloque son dos bloques. Por lo que el artículo apilar la merienda real que tienes en tu inventario, mientras que un artículo es la idea general de ese artículo. Pero una vez más, un solo patrón de alguna manera. Y la forma en que vamos a echar un vistazo a esto es que vamos a hacer un nuevo ítem llamado la tableta de datos. Y eso va a salvar el último resultado de las varillas de dowsing. Esa es la idea general para eso copiaremos sobre un montón de código. Todo esto está disponible para ti en el repositorio de GitHub o en un individuo igual de bien. Basta con echar un vistazo a los recursos. Te recomiendo encarecidamente echarles un vistazo, ayudándolos conmigo a medida que avanzamos. Y en primer lugar, para esto, vamos a necesitar el nuevo rubro. Por lo que esto es clic derecho en el paquete personalizado y este es el elemento de la tableta de datos. Esto va a extender la clase de ítem. Por supuesto, esto fue pasar el cursor sobre este crear constructor coincidente super aquí. Y éste es en realidad bastante sencillo. Entonces las cosas que queremos hacer es queremos hacer este vislumbre a la semana, básicamente uno a ese efecto brillante cuando esto realmente tiene en datos VT. Por lo que podemos anular el método has glint. Y luego lo que vamos a regresar aquí, se puede ver que en realidad estamos consiguiendo la pila aquí. Y eso es genial porque lo podemos hacer es simplemente volver stack dot tiene MBT, ¿verdad? Entonces cada vez que una tableta de datos tenga datos NVT añadidos a ella, entonces vamos a hacer que esto brille. Entonces lo que también quiero poder hacer es querer hacer clic derecho en este polvo en el aire y borrar los datos que se ofrecen. Entonces como pueden ver, aquí vamos a usar el método estadounidense. Y lo que vamos a comprobar es que vamos a decir, hey, si user.name consigue pila en mano con la mano que acaba de hacer clic, ¿verdad? Si esa pila como NVT de lo que sólo vamos a hacer es que básicamente vamos a restablecerla. Lo que vamos a decir es que vamos a decir usuario punto, apilar y terminar con la mano. Sólo vamos a decir set en VT. Sabíamos en compuesto BT. Y esa es más o menos la idea general. El tiene NVT en el set y VT. Y luego en tan solo un segundo aquí también vamos a ver el, básicamente consiguen NVT. Esos son los tres grandes métodos que necesitas básicamente tener en cuenta. Por lo que también vamos a hacer una descripción de herramientas aquí, y esto se va a mostrar cuando la pila real tenga datos MVT. Por lo que apilar punto como MVT otra vez. Y sólo entonces queremos agregar una cadena. Digamos que llamemos a esto la corriente o aquí. Y vamos a decir stack dot-dot-dot, sin embargo NVT esta vez. Y la forma en que obtenemos diferentes valores aquí se puede ver por poner get in C, puedo conseguir algunos tipos diferentes de datos aquí, y siempre tengo que conseguir una clave ahí dentro. Yo sólo voy a usar MC course dot. O así es como voy a llamar a esta llave. Lo que recomiendo encarecidamente es comenzar siempre con tu Marr ID y luego un punto y luego cualquiera que sea el nombre real de esa variable almacenada se supone que sea. Y luego podemos simplemente rectas tooltip dot agregar. Y luego decimos nuevo texto literal, en este caso texto literal con la corriente o como cadena y van, y esa es más o menos la clase de ítem de la tableta de datos hecha. De inmediato sólo leamos este año porque eso va a hacer esto un poco más fácil para que escape tome la armadura de caballo recalc. Y esta va a ser la tableta de subrayado de datos. Y aquí los mismos datos subrayan tableta. Y entonces aquí está el ítem de la tableta de datos exactamente correcto. Y sólo necesitamos los ajustes normales aquí, por supuesto, ellos hace. Y también vamos a sumar el recuento máximo aquí para que sólo podamos tener esta pila a una. Entonces este va a ser el tamaño Max Stack de uno. Eso es muy importante. Y ahora por supuesto necesitamos definir de alguna manera qué algunas cosas, agregar los datos de la NVT a nuestro artículo de varilla de dowsing. Y para eso realmente vamos a crear una clase util porque eso nos va a hacer la vida un poco más fácil en un paquete util, vamos a hacer clic derecho en nueva clase Java. Y este va a ser el inventario Util. Y voy a copiar ambos métodos por aquí. Y esto es sólo para ahorrar algo de tiempo básicamente, porque esos van a ser probablemente reutilizados un montón de veces que puedes ver como pila de jugadores e inventario, esto comprueba si este jugador en particular tiene este rubro en particular en su inventario. Y luego obtienen primero comprobaciones de índice de inventario a través del inventario de este jugador, obtiene el primer índice dentro de ese inventario donde está presente este ítem. Esa es la idea general aquí. Y vamos a usar ambos en realidad. Entonces vayamos a la masa de artículo de varilla de dowsing aquí. Y lo que vamos a hacer es que vamos a añadir una cosa en particular. Y eso es básicamente dentro de EU en un método de bloque, ¿verdad? Lo que queremos hacer es decir, Hey, si la capa tiene la tableta de datos en su inventario, entonces básicamente queremos agregarle datos NVT. Entonces vamos a decir si. Y entonces podemos decir inventario, util dot como jugador pila en inventario, podemos decir jugador, y luego el artículo es sólo más artículos, dot data tablet. Entonces si eso está en el inventario, entonces queremos agregarle los datos de la NVT. Bueno, solo pensemos en esto. Voy a copiar sobre el método para esto porque en realidad tengo un método para eso. Y este es un método privado aquí llamado add vt to data tablet. Se puede ver. Y lo que esto hace es en realidad bastante sencillo. En realidad no es demasiado loco. Para antes que nada, va a conseguir aquí la pila de tabletas de datos. Al obtener la pila y al obtener el primer índice de inventario del tabular David. Entonces vamos a conseguir la primera tableta de datos que está dentro del inventario como muy importante. Entonces estamos, si tuviéramos dos datos que nos dicen en el inventario, anularíamos los primeros en datos VT. Eso es muy importante. Ahora, ¿cómo configuramos los datos de la NVT? Se puede ver aquí mismo, vamos a crear un nuevo compuesto. Por lo que el compuesto NVT es lo que necesitamos crear. Voy a poner una cuerda ahí con la llave. Una vez más, MC curso puntoguión bajo o. Y luego aquí está la cuerda. Entonces esta es más o menos la misma cadena exacta que teníamos aquí en la salida. Y luego decimos tableta de datos en el conjunto de datos NVT. Y al pasar este compuesto NVT, acabamos de ponerle una cuerda. Y luego dentro de la declaración if, solo vamos a llamar a esto agregar datos NVT a la tableta de datos con el jugador. Y voy a decir la posición clicado punto agregar 0 menos I 0. Y luego el bloque de abajo, es muy similar a lo que teníamos en las coordenadas de salida. Pero por el momento, esto va a estar bien. Y eso es más o menos todo lo que necesitamos hacer. Entonces eso es básicamente todo lo que hay a ello. En este método en particular que es privado, donde le agregamos esos datos y luego el util de inventario al convertirse en un útil en alguna otra área también. Por lo que eso también es un cool realmente frecuente. Y sí, esa es más o menos la idea. Una vez más, los datos NVT, a diferencia de esto, los métodos más importantes son los datos set y VT en la pila. El obtener datos NVT en la pila, y el tiene datos NVT en la pila. Entonces esos son los tres métodos principales. Y luego en el propio compuesto NVT, básicamente puedes ver que también puedo poner algunas otras cosas como y estas son básicamente todos los tipos de datos que puedo almacenar ahí. Y esos por lo general son mucho más que suficiente. Ah, eso es casi todo lo que realmente necesitamos saber ahí. Y luego, y lo vamos a hacer es que primero vamos a añadir el lang aquí. Bueno, solo copiemos el artículo o tomemos éste. El guión bajo de datos tableta es por supuesto, la tableta de datos. Y luego vamos a necesitar un modelo de artículo. Y eso es por supuesto sólo un modelo de artículo normal aquí mismo. Por lo que la tableta de datos simplemente apunta a la tableta de datos encendida. Entonces esto es algo muy interesante aquí sobre ¿por qué es eso? Bueno, ¿también hay un off? Sí. Algo que vamos a echar un vistazo en la próxima conferencia en realidad, porque todos van a cambiar la textura real dependiendo de si tiene o no datos MVT y en realidad no es demasiado por encima sí requiere alguna configuración interesante. Digamos. Ahora la tableta de datos se ha agregado al juego. Entonces vamos a ver si funciona o si rebota de nuevo en microfinanzas se puede ver que la tableta de datos se ha agregado con éxito al juego. Y sólo tomemos uno único. Eso es correcto. 67. (Predecir el modelo de elementos intermedio): Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia, vamos a estar echando un vistazo a unos proveedores de predicados modales. Entonces si eso es algo que simplemente no tienes idea de lo que eso significa, no te preocupes en absoluto. Vamos a pasar por esto a detalle. Entonces vamos a presionar dos veces la tecla Mayús y vamos a poner en un registro de proveedores adecuado modelo, exactamente éste. Vamos a hacer click en esto y se puede ver que esto tiene algunas cosas bien interesantes aquí. A saber, por ejemplo, para el bot, el poste y el tirando hacia adentro, lo cual es muy interesante porque esos son dos predicados que el bot necesita para cambiar la textura del elemento dentro del inventario. Y eso es exactamente correcto. Por lo que necesitamos registrar nuestra propia personalizada para que nuestra tableta de datos pueda cambiar la textura. Básicamente queremos un dato tabulado que se apague cuando no hay datos NVT en él y encienda cuando hay en datos BT en él. Esa es la idea general. Y lo que también puedo decir es que volvamos a presionar la tecla Mayús y tecleemos un guión de subrayado de tazón tirando. Verá que hay algunos archivos JSON asociados a él. Y esto, por ejemplo, puede ver remite al artículo. Por lo que este guión bajo bowl tirando 0 se hace referencia en el archivo JSON de datos bot, que va a ser del, que es el archivo JSON en audacia justo aquí. Pero también siempre se puede bajar a las bibliotecas externas en activos que bajo modelo item, y luego simplemente bajar a la proa, aquí mismo. Ahí lo tienes. Por lo que este es el barco adyacente exactamente el que tenemos abierto. Y se puede ver aquí abajo, hay anulaciones y si un predicado en particular, así que esos son los productos modales que acabamos de ver. Si tienen un valor particular, entonces en realidad vamos a echar un vistazo a un modelo diferente a éste. Este solo muestra el tazón normal. No obstante, si jalar es uno, entonces vamos a mostrar este modelo. Si tirando de su extremo del poste está al 65 por ciento va a mostrar éste. Y luego si estamos jalando y tirando está en un 0.9, entonces vamos a mostrarle éste. Esa es la idea general, año. Y por eso será como básicamente podemos cambiar las texturas. Y esto en realidad todo es bastante sencillo. Lo que voy a hacer es que voy a hacer una nueva clase util, que voy a llamarla el proveedor de predicados del modelo mod. Y dentro de ahí, vamos a hacer un vacío público. Registrar modelos, modelos, refrigeradores, sí, modelos mod. Y esto va a llamar al registro de proveedor de predicados modal de tela que se registran con la tableta de datos de punto de mod items en nuevo identificador MC curso mod, mod ID. Y luego vamos a llamar a esto. Y luego después del primer paréntesis, una coma. Y entonces lo que queremos es una milla en proveedor de modelos no reclamados. Ya puedes ver si empiezo a escribir y apilar aquí, solo podemos tomar esto. Entonces vamos a autocompletarlo así. Y entonces lo que vamos a decir es que vamos a decir stack dot tiene MBT. Una vez más una pregunta, marca uno, f colon 0, f. Entonces la idea es que vamos a devolver un 1 4 on si el stock tiene datos MVT y vamos a devolver un 0 si no tiene datos MET. Y eso es más o menos todo lo que necesitamos hacer. Ahora. También necesitamos escribir registrar correctamente el ego, y luego recordamos esto está en el cliente justo aquí. Entonces eso es muy importante que llamemos a esto en el cliente, que queremos decir mod, proveedores de predicados modales que registran modelos. Y eso es, quiero decir, eso es más o menos. Eso es todo lo que necesitamos hacer para que este modelo esté registrado, o digamos que el predicado aquí está registrado. Nosotros por supuesto ahora necesitamos cambiar los archivos del modelo en la tableta de datos, correcto, Así que aquí mismo. Por lo que en realidad tengo esto preparado. Voy a copiar esto y voy a explicar y también voy a , por supuesto, todo esto está disponible para ustedes en el repositorio o un individuo igual de bien. Y la idea es que este de aquí apunte ahora a un modelo diferente. Entonces lo que vamos a hacer es que sólo vamos a tomar el otro modelo aquí mismo. Por lo que necesitamos dos modelos. Una de ellas es la tableta de datos normal y yo soy una de ellas es la tableta de datos en este es éste. Y lo siento, esto se va a quedar así, así que está bien, No te preocupes. Sólo pasemos por esto. El objetivo normal de datos va a estar apagado cuando no tenga datos NVT. Si MC cores encendidos es uno, entonces vamos a encender las tabletas de datos. Entonces ahora vamos a echar un vistazo este modelo aquí mismo, que tiene la tableta de datos encendida. Pero ahora sólo tenemos que pasar también en el off por el artículo extra aquí mismo. Sólo copiemos esto también. El ego, porque por defecto va a parecer que está apagado. Y luego si el predicado está encendido, entonces vamos a usar este que se refiere a la textura on. Esa es la idea general aquí. Tampoco lo es. Esto es un poco confuso. En realidad no debería ser tan loco. Simplemente estamos apuntando básicamente a una textura diferente. Si algo es diferente, casi lo mismo que un estado de bloque justo en el modelo de ítem dice tiempo. Y eso es en realidad casi todo lo que necesitamos hacer para cambiar la textura del elemento de un artículo dependiendo de si algo sucede. Entonces ahora veamos si funciona. O yo, así que si soy SoftBank y microrNAS pueden ver la tableta de datos normal ahora está apagada. Y cuando encuentro algo se puede ver ahora se ha encendido. Ahora, ese es en realidad un efecto realmente genial. Y si hago clic con el botón derecho y lo elimino, los datos de la NVT, se puede ver que se apaga también. Entonces eso en realidad es algo que es bastante frecuente, genial si lo digo yo mismo, eso me gusta mucho. Esto es algo que básicamente, bueno, en realidad es más fácil de lo que se podría pensar. Por supuesto, los detalles particulares podrían parecer un poco locos para ti. Pero una vez más, con algo de conocimiento de Java, no debería parecer demasiado loco. Pero esto en realidad es muy, muy cool. Recuerda que ya sería para esta conferencia aquí mismo. Espero que esto te resulte útil y se entere de lo nuevo. Como siempre, todo el código está disponible en el repositorio de GitHub y un individuo igual de bien. Te veré en la próxima conferencia sin embargo. Sí. 68. Asignación 7: BBD: Este ejercicio para el curso de tela para 118. Y bueno, solo te voy a dar una idea general o explicación de lo que se supone que debes hacer. Entonces esta vez, realmente no hay solución porque básicamente se te pide tu creatividad y solo debes correr salvaje con ella. Se supone que tienes que hacer es que se supone que hagan un nuevo bloque y un nuevo elemento que de alguna manera incorpora tanto las propiedades del bloque Estados. Entonces un bloque en particular, bloque decir propiedad, y luego un ejemplo de datos NVT. Realmente puede ser cualquier cosa que quieras. Puede ser tan fácil o tan complicado como te gustaría. No tienes que hacer esto necesariamente. Esto es algo solo para que pruebes. Entonces esto realmente es solo una asignación opcional, pero recomiendo encarecidamente seguir adelante con esto y solo hacer algo que sea símbolo y no demasiado complicado, no pienses, oye, solo voy para hacer un artilugio loco como una construcción de crear. No te vuelvas demasiado loco. Haz algo muy sencillo, que funcione y trabaje como siempre, una gran idea. Así que buena suerte en la asignación. 69. (intermedio) añadir un recorte personalizado: O volveré al curso de telas por 118. Y en esta conferencia, vamos a estar agregando nuestro propio cultivo personalizado a Minecraft. Por lo que agregar un cultivo personalizado es algo muy interesante. suerte, por supuesto, hemos pasado por las propiedades del estado de paseo porque eso es algo que vamos a necesitar en nuestro paquete de bloques personalizados. Vamos a hacer clic derecho en nueva clase Java llamada el bloque de nabo modo. Ahora igual que empezar nuestras clases de bloque con el modo de nombre. No siempre, pero está bien. Y esto extenderá la clase de bloque de cultivos. Y solo vamos a pasar el cursor sobre esto en crear constructor que coincida super aquí. Y lo que voy a hacer es clic en el registro de cultivos y luego presionar Control H. Y se puede ver básicamente todos los bloques de los que esto se extiende. Y sólo vamos a tomar los contenidos, la totalidad de los contenidos del bloque de raíces de remolacha aquí mismo. Pero eso es más o menos todo lo que vamos a hacer. Y luego vamos a cambiar el nombre aquí por esto. No necesitamos este primer campo. Y entonces lo que también queremos cambiar es que puede ambos aquí. Y entonces en lugar de tenerlos en un bloque estático en la parte inferior, queremos hacer esto de inmediato. Y luego lo mismo para la forma aquí. Hagamos eso y luego copiemos esto aquí mismo. H es igual a h Bueno, no del todo el ego. Entonces también voy a sólo en esto un poco diferente para que realmente podamos leer lo que está pasando aquí. Porque la forma de voxel es algo que es muy interesante y muy particular. Entonces eso es algo de lo que tenemos que hablar. De lo contrario, todo el resto sólo se va a quedar como es. Es decir, éste, por ejemplo, en realidad no necesitamos hacerlo. También podemos simplemente sumar la H así. Y luego para este estado, va a estar bien así también. Todo el código adecuado está por supuesto, disponible para usted también. Aquí nosotros, por supuesto, en el, por supuesto vamos a necesitar realmente devolver un artículo diferente, pero vamos a hacer eso en sólo un momento también. Y justo aunque en realidad no hemos agregado el add override a todo aquí para que sepamos que todo aquí ha sido anulado. Y en general, esto es casi todo lo que necesitamos en esta clase, excepto, por supuesto, el ítem de semillas que tenemos que devolver. Y se puede ver que la edad real derechos de propiedad que tenemos una H pobreza aquí en la propiedad edad, que es h3. Podemos ir a esto y en realidad podemos ver la propiedad de la edad aquí. Las ideas generales de que esto va de 0 a tres, pero hay cuatro etapas de este bloque en particular. Y por eso también hay cuatro formas cuboides. El voxel forma, al pasar el cursor sobre un bloque, eso es lo que se está mostrando como el, básicamente los contornos del bloque. Y eso es muy importante. Y esto básicamente se está cambiando aquí dependiendo de la edad. A pesar de que se puede ver que una buena forma de contorno está devolviendo la edad a la matriz de forma. Y entonces básicamente solo te consigue una forma diferente dependiendo de la propiedad de edad de esto. Esa es la idea general aquí. Entonces si tienes un cultivo diferente con una cantidad diferente de edades, puedes o simplemente cambiar el de cada año. Por lo que a veces hay algunos agentes disponibles aquí. Como se puede ver, hay 123571520. Yo también lo he hecho. O también puedes, como hemos hecho en el Oráculo, puedes aterrizar bloque discreto tu nuevo, tu propio nuevo en propiedad. Eso también funciona totalmente bien. Pero también creemos el bloque en la clase de bloques de barro. Y para eso realmente vamos a necesitar un método completamente nuevo. Entonces vamos a copiar el método del bloque registrador, ¿verdad? Seleccionado Control C, Control V. Voy a eliminar el grupo aquí y la llamada al ítem de bloque de registro. Vamos a llamar a esto el bloque registrador sin método Bloque item porque esto es exactamente lo que queremos hacer. Sólo copiemos sobre la trampilla en flor de cerezo. Este va a ser el cultivo de subrayado de nabo. Normalmente me gusta llamar bien a mis utilería, con el cultivo final, nabo, subrayado cultivo. Y esto no es un bloque de registro, pero este es un bloque de registro sin elemento de Bloque, muy importante. Por lo que básicamente podemos eliminar la pestaña del curso aquí en la parte trasera. Y entonces también lo vamos a hacer es que vamos a lidiar con todo esto. En lugar de hacer que esto acabe, realidad vamos a copiar un bloque en particular. Y ese es el, los bloques que las raíces de remolacha por supuesto. Y no un bloque de puerta trampa de barro, sino un nabo mod, OK, justo en teorema. Entonces, ¿por qué no registramos un elemento de bloque con esto? Bueno, la idea general es que el cultivo de nabo realmente no tenga un artículo asociado a él. Necesitamos una semilla para este bloque sin lugar hacia abajo, y eso es exactamente correcto. Pero en realidad necesitamos entrar en clase de dos o más artículos y luego hacer una semilla de nabo también. Por lo que sólo vamos a copiar sobre la tableta de datos y esto va a ser un nabo underscore semillas. Para este lo vamos a llamar quemado bajo semillas de subrayado. Y este es un nuevo elemento de bloque con alias. Entonces esto podría ser, ¿qué es esto? Bueno, antes que nada, vamos a poner en los más bloques que suban cosechar y luego eliminar el contador máximo. Muy importante en realidad. El elemento de bloque de hielo es un elemento de bloque con un nombre diferente al bloque que tiene, ¿verdad? Entonces la semilla de nabo, por supuesto, o semillas es un nombre diferente al del cultivo de nabo aquí mismo. Y también lo que es muy importante, Volvamos a la clase de bloque maternal y luego regresemos mod items dot, gire que ve justo aquí. Eso es muy importante, de lo contrario las semillas no son correctas. Entonces esto es muy importante que hagamos esto y el código básicamente está hecho. Lo que necesitamos hacer también en realidad es que necesitamos llamar al mapa de capa de renderizado en esto también. Esto está en el cultivo de nabo aquí mismo, también que te corten. Y entonces el código en realidad está completamente hecho en lo que ahora solo tenemos que hacer es agregar la traducción y luego los estados de bloque y los archivos de modelo de bloque. Solo agreguemos el cultivo de nabo aquí mismo. Entonces puedes ver que básicamente estamos buscando diferentes que puedan bloquear, digamos, valores de propiedades de 0 a tres, luego simplemente apuntando a diferentes archivos de modelo. Entonces todas las cosas que ya hemos visto, esto no debería ser demasiada sorpresa, ¿verdad? Añadamos el artículo aquí. Digamos que algo así como las semillas de subrayado de nabo son por supuesto que van a ser el suba por debajo, no las de subrayado, una vez más con el subrayado. Y luego muy importante agregar en realidad el cultivo de nabo aquí también, suba el cultivo de subrayado. Y luego aquí también, estamos en un apretado, Hay un MOD donde se puede pasar el ratón sobre bloques y en realidad se mostrará el bloque real aquí. Y esto se mostrará de una manera que no se traduzca. Entonces traduce esto también. Recomiendo encarecidamente hacer esto. Es sólo una línea, realmente no tan grande de un trato, ¿verdad? Primero que nada sumemos los cuatro modelos de bloques diferentes aquí para el cultivo de nabo, puedes ver que son solo subir puedes ver que son solo subirsubrayado etapa 0 ó 2, 1. Asegúrese de que todo aquí esté escrito correctamente. Cuando piensas de nuevo al Jason, la idea de como se relacionan? Este es el nombre de este archivo aquí, y luego este es el nombre de la textura que apunta a los modelos de bloque aquí son todos los, básicamente el cultivo de bloque padre. Y entonces la textura aquí también es cultivo que es muy importante. Y que en realidad no necesitábamos el modelo de ítem. Solo necesitamos un modelo de artículo para los nabos Aedes, y eso es solo un modelo de artículo normal como puedes ver. Y luego vamos a copiar sobre las cuatro texturas de bloque de etapa de nabo. Estos, todo aquí está por supuesto disponible para ti. Entonces, solo copiemos esos también. Y C 0 a tres, y luego el artículo, las semillas aquí también. Por lo que término semillas en la carpeta de artículos. Bueno, en la carpeta de artículos, ahí tienes, y eso es más o menos todo lo que necesitamos hacer. Ahora una de las cosas más importantes es ¿qué cae este bloque? Porque las mesas loo que hemos visto hasta ahora, todos somos muy fáciles. El único como loco mesa Lu realmente ha sido la órbita incluso que no ha sido demasiado loco. Pero ahora, ¿qué pasa con los cultivos reales? ¿ No tienen que ser algunos específicos? Sí. Podemos ir una vez más a las bibliotecas externas aquí abajo a Microsoft Project, y luego todo el montón de cosas aquí. Y luego entrando en lugar de la carpeta de activos en la carpeta de datos, Minecraft saqueó tablas, bloques. Y entonces sólo vamos a echar un vistazo a las raíces de remolacha. Y se puede ver que así es como se ve la tabla de raíces de remolacha ve la tabla de raíces de remolachay simplemente llevar esto o también podemos simplemente copiar el archivo real aquí. Por lo que sólo vamos a Control C, este archivo, y luego vamos a nuestras propias tablas de ruta de curso MC, carpeta de bloques. ¿Está aquí dentro? Esto es por supuesto, el envoltorio de subrayado de nabo. Y luego hay algunos cambios que tenemos que hacer. Esto es muy importante. No saltes esto. Echa un vistazo a esto. Por lo que el número 1, r propiedad de edad máxima se define aquí mismo. Si tuviéramos una roca que tenga la propiedad de edad máxima de cinco, tendríamos que poner en cinco años porque las cosas reales solo cayeron si se ha alcanzado esta edad. Entonces esto es muy importante. Y eso es lo mismo que va aquí abajo. Ahora este año, donde el bloque aquí es el bloque. Por lo que esto necesita ser MC curso colon, nabo, subrayado cosecha. Esto se refiere al bloque que hemos hecho en nuestra clase de bloques mod, que básicamente se comprueba este año, es el producto real. Por lo que este va a ser el nabo curso MC. Esto es, este sería el trigo si fuera trigo y así sucesivamente. Y entonces esto de aquí son las semillas. Por lo que este es MC curso colon, sube asientos de subrayado. Entonces eso es muy importante. Esas tres cosas tienen que cambiarse. Así que asegúrate de cambiarlos aquí arriba y luego abajo aquí también. Porque aquí abajo, en realidad estamos bajando asientos adicionales, ¿verdad? Entonces esto es muy importante que cambies esto correctamente. Por favor, asegúrate de que el ID del modelo siempre sea correcto porque esto es algo que básicamente se supervisa con mucha facilidad. Entonces eso es algo que muy fácilmente simplemente no reconoces, sobre todo, ya sabes, Armada D empieza con un M. Minecraft también empieza con una M. A veces puede ser algo que podrías perderte, pero esto es más o menos todo lo que necesitamos agregar. Entonces, veamos si funciona. O Francis de vuelta en microfinanzas puede ver que se han agregado los asientos de nabo, así que vamos a ver si puedo ponerlos abajo. Y por supuesto que puedo ponerlos abajo. Eso es exactamente lo que quiero ver. Y sólo hagámoslo para que la regla del juego, velocidad de tics aleatorios se vaya a aumentar en un 100. Y luego van allá, crecen. Y este es en realidad el, ya sabes, el viejo crecimiento aquí. Solo reiniciemos esto. Pasemos al modo de supervivencia. Muy importante. Si los rompes, hay que romperlos en modo supervivencia y el ego, incluso dejan caer nabos, pero sólo en el tamaño completo. puede ver si no son tamaño completo y solo cayeron sobre una semilla es más o menos todo lo que necesitan hacer. Y por supuesto, en la mesa real de Lu, también puedes cambiar los números, ¿verdad? Entonces si eres como No, eso no es suficiente nabos que caen, eso también está totalmente bien. Siempre se puede cambiar eso en el loo table j, correcto, pero eso es más o menos para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Una vez más, todo el código en los archivos recientes están por supuesto disponibles en el repositorio de GitHub o en un individuo igual de bien. Y nos vemos en la próxima conferencia. Entonces, sí. 70. (Intermedio) cómo añadir artículos a un Compostero: Muy bien, bienvenido de nuevo al curso de telas para 118. En esta breve conferencia, se nos va a ver cómo se pueden agregar elementos personalizados al bloque de compositores. Pero eso básicamente significa que si haces clic con el botón derecho del ratón en el bloque de composter, como una oportunidad de aumentar el nivel en el que se encuentra el compositor. Eso es en realidad todo muy sencillo. Por lo que en nuestra clase más registros, vamos a crear un nuevo registro de vacío estático privado MOD composter, chance class. Y esto se llamará aquí justo después del registro de combustibles, registrar posibilidades de combustor modo. Y la forma en que los sumamos es bastante loca. Vamos a decir bloque de composter, DOD Elemento dos nivel aumentó probabilidad de que PUT y luego acabamos de poner los más artículos, nabos punto-punto, asientos, por ejemplo, a través de un 35 por ciento de probabilidad. Y sólo vamos a duplicar esto con Control D. Y yo voy a poner el nabo también para que justo el turno de eso se pueda comer. Y eso va a ser un 65 por ciento de probabilidad. Si nos mediamos botón del ratón haga clic en esto. También podemos ver las tendencias está justo aquí. Entonces básicamente puedes ver todas las posibilidades que haya algunas semillas, los plantones y las hojas, y básicamente las posibilidades que se asocian con nosotros, ¿no? Es decir, eso es casi todo lo que necesitas hacer si no tienes la clase de registros de modo, también puedes tomar esos y simplemente llamarlos en el método inicializado. No obstante, debido a que aquí hemos creado los registros modernos, hace que todo esto sea un poco más fácil y un poco más separado y un poco más agradable de leer. Y solo por el bien de la finalización, veamos si funciona o si fue de vuelta en Minecraft y vamos a ver, ahí tienes. Puedo hacer clic derecho en él y en realidad sí funciona. Y las semillas también funcionan. Tienen un 35 por ciento de probabilidad mientras que los nabos tienen un 65 por ciento de probabilidad. Y ahí tienes. Ahora, me tengo un poco de burbuja. Bueno, pero eso ya es para esta conferencia aquí mismo. Espero que te haya parecido útil esto y hayas aprendido algo nuevo. Te veré en la próxima conferencia. Entonces, sí. 71. (intermedio) mezcladas: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia, vamos a estar echando un vistazo a mixin. Mixin es un tema que tiene que manejarse con mucho cuidado. Por eso te pido que no te vuelvas absolutamente loco con esto. Aunque entiendas esto después de esta conferencia, un mixins debe usarse con moderación y no para solo todo donde podría ser más fácil usar mixin. Mixin, la idea general es que básicamente puedes cambiar las clases de Minecraft para ponerlo a cualquier cosa que quieras. Básicamente, aunque podríamos, por ejemplo, cambiar los métodos. Podrías, podrías cambiar el nivel de acceso, ciertos métodos o ciertos campos, y podríamos hacer entonces simplemente cambiarlos por capricho básicamente. Y esto suele pensarse como un tema muy complicado y complejo, complejo donde sea que en realidad no sea tan loco. Entonces si en este punto solo has estado copiando sobre cosas y no siguiendo realmente con el Java. Por lo que realmente no entiendes mucho de las cosas de Java detrás de él. Simplemente recomiendo encarecidamente una vez más, echando un vistazo a la introducción de Java, porque mixin es una herramienta que si no entiendes Java, vas a estar completamente perdido. No entraré en demasiados detalles sobre cómo funciona realmente. Solo voy a mencionar una cosa y ese es el repositorio de GitHub aquí desde el mixin de esponja, el wiki de ahí específicamente. Y esta ha sido una herramienta increíblemente útil para básicamente echar un vistazo y sólo entender la arquitectura mixin. Y a medida que voy aquí abajo, se puede ver que básicamente explica todo muy buen detalle en realidad sobre cómo funciona, cómo podemos usar esto, cómo luego se puede acceder a algo y cómo se básicamente puede lanzar algo a una interfaz en particular y luego básicamente usar los campos y métodos allí también. Entonces esto es realmente genial y realmente útil y solo recomiendo encarecidamente pasar por esto. Entonces una vez más, si no conoces Java, entonces no sé cómo ayudarte con esto porque definitivamente necesitarás conocer algunos, yo diría al menos conocimientos intermedios a avanzados en Java a realmente conseguir un entender esto. El principio general aquí es sólo que, bueno, es una herramienta bastante loca y una vez más, úsalo con precaución. Entonces lo que vamos a hacer es en nuestro paquete mixin, vamos a hacer clic derecho nueva clase Java y vamos a llamar a esto la entidad modo Data Saver. Este es sólo el nombre que estoy dando. Esto va a estar totalmente bien aquí. Y lo primero que quiero hacer es que quiero hacer este abstracto. Y la razón por la que voy a hacer esto abstrae porque cualquier clase que tengamos en este mixin, realmente no deberíamos usar, o al menos esta clase en particular, realmente no deberíamos usar en ninguna parte del código. Y ahora cómo hacemos esto un mixin en realidad es bastante fácil. Nosotros en mixin justo aquí. Y luego poner en la clase, queremos cambiar, y esta va a ser la entidad, entidad punto clase. Ahora lo que es muy importante es que solo vamos a importar la clase y asegurarnos de que elegimos entidad neta de microondas. Ahora, lo que vamos a hacer es añadir un MVT a la clase de entidad. Por lo que cada entidad tendrá entonces también un campo MVT asociado él para que podamos guardar datos MBT en eso. Y la idea general es que lo que vamos a usar eso en la próxima conferencia para agregar comandos personalizados. obstante, lo que es muy importante aquí que si bien esto es un requisito previo para la próxima conferencia, los comandos específicos que vamos a hacer la próxima conferencia básicamente requieren que hagamos esto. Y así recomiendo encarecidamente ver a ambos juntos al mismo tiempo. Entonces de vuelta a espalda, bueno, esto va a hacer es que esto va a tener un compuesto privado en BT llamado datos persistentes. Y entonces queremos, bueno, básicamente abrir esto con un buen método de datos persistentes aquí mismo. Y lo que vamos a hacer es que sólo vamos a devolver datos persistentes, pero también podría ser nulo. Y si ese es el caso, entonces si los datos persistentes son nulos, entonces lo que queremos hacer es entonces sólo queremos establecer estos datos persistentes en un nuevo compuesto NVT. Entonces básicamente que no devolvemos un dato vacío, bien persistente en este método y este campo se agregará a esta clase. Entonces a la clase de entidad aquí mismo. Entonces esto sólo se agregará, pero en algún lugar no sabemos dónde, pero eso está totalmente bien. Estamos trabajando con esto. A esos dos sólo se le sumarán. Y entonces también queremos interponer cierta funcionalidad en dos métodos. Entonces vamos a abrir de nuevo la clase de entidad, y vamos a buscar. Entonces controla F, y entonces podemos buscar el método NVT correcto aquí mismo, este. Y lo que queremos hacer es aquí queremos inyectar que básicamente ponemos todos los datos en este NVT aquí mismo, porque éste es el que se guarda después de que el mundo básicamente salva. Por lo que queremos que esto también tenga nuestros datos personalizados en él. Y entonces lo mismo va para el método read y BT aquí mismo, donde realmente queremos sacar esto fuera de él. Entonces esa es la clave general aquí. Entonces lo que queremos es un vacío protegido y esto sólo se va a inyectar ¿verdad? Método. El primer perímetro de éste es el perímetro del método real que queremos. El método MDT correcto tenía como parámetro un compuesto nb t. Vamos a decir que MVT realmente llame a este MBT también. Podemos una vez más realmente mirar esto, ¿verdad? Tan bien, MET, MET compuesto. Y porque también devuelve un compuesto MVT. Lo que tenemos que usar es que tenemos que usar el call back info retornable, subrayamos esta información, está bien. En realidad no vamos a usar este en absoluto de todos modos. Y luego vamos a, sólo vamos a decir si los datos persistentes, por lo que esto una vez más hace referencia al campo aquí. Si eso no es nulo, pero si hay datos ahí dentro, entonces solo vamos a poner ahí los datos reales. Entonces no como una cadena, sino como un dato. Y sólo vamos a llamar a esto los datos de subrayado de algodón MCQ, MC más toscos. Eso va a estar bien. Y entonces queremos poner aquí datos de sistemas más profundos. Entonces si hay algo en los datos persistentes, entonces vamos a guardar esto en este compuesto de NDT aquí, que luego básicamente lo hace para que esto se guarde también en el mundo. Ahora necesitamos agregar atributo aquí encima del método aquí, y ahí está el atributo de objeto con el nombre del método. Entonces esto es correcto NVT. Entonces tenemos que especificar en qué posición vamos a hacer esto y vamos a hacer esto en, en, y después todos los gorros. Por lo que esto significa que este año se está ejecutando en el mismo inicio, después de que el método haya comenzado a ejecutarse se va a ejecutar en la primera línea, por así decirlo. Es decir, esa es la idea general. Y luego la otra en realidad voy a copiar. Esto no es nada demasiado loco. El método de lectura de inyectar aquí solo tiene la lectura y el nivel B también la cabeza, también NVT porque ese es el parámetro del método. Y en esto, en lugar de tener callback in para retornable, esto tiene una información de devolución de llamada normal y luego en realidad también cambias el año clave. Entonces eso en realidad es muy importante. Y básicamente sólo diciendo: Oye, si esta clave existe, entonces lo que vamos a hacer es establecer los datos persistentes a lo que encontremos bajo la clave. Ahí vas. Entonces eso es en realidad todo lo que realmente necesitamos hacer aquí. Y hay una cosa más crucial que es importante. Y eso es que vamos a necesitar implementar una interfaz. Porque por el momento, porque esta es una clase abstracta, no podemos pedirle nada a esta clase. Lo que queremos es que queremos una interfaz porque cualquier clase en Java se puede lanzar a cualquier interfaz. Entonces vamos a decir yo entidad ahorro de datos. Y esto literalmente sólo va a tener una cosa simple. Y eso es un compuesto NBC obtener método de datos persistentes. Entonces esto es lo que tiene la interfaz. Y entonces sólo vamos a decir implementa I entity data saver también agregará el add override aquí solo para que sepamos que hemos sobrescrito este método, pero eso es más o menos todo lo que necesitamos que hacer. Entonces este de aquí necesitamos para que en realidad podamos llamar a esto a una entidad en particular. Porque por supuesto, si solo tenemos una clase de entidad durante el, durante el desarrollo, esto no tiene los datos persistentes, por lo que eso no funcionaría. Ahora hay un paso más que tenemos que hacer, y es que tenemos que entrar en nuestra carpeta de activos son recursos aquí mismo, en realidad en el mixin McQs Jason, y agregar el nombre de la clase aquí mismo en los mixins. Pero este es el ahorro de datos de entidad modo. Y eso es más o menos todo que realmente necesitamos hacer aquí para hacer un mixin one en este caso. Entonces básicamente cambiamos la clase que hemos definido aquí y le sumamos todo ese jazz. Ahora, en realidad no vamos a ver nada todavía aunque el, lo que sucede básicamente se mostrará en la próxima conferencia. No obstante, sí quería separar esto porque a veces, sabes, es como si esto fuera específicamente mixin. Y entonces el siguiente va a ser comandos y va a haber cosas que son específicas de los comandos. Tendremos que usar esto también. Por lo que básicamente el, la manifestación se mostrará en la próxima conferencia. Por lo que una vez más, la mezcla definitivamente debe manejarse con cuidado, sobre todo si eres principiante o intermedio en un Java, recomiendo encarecidamente tomarlo con calma. No te enloqueces con ello. Siempre hay ejemplos en GitHub y también realmente solo puedo recomendar muy bien el wiki. En realidad es realmente bueno. Solo necesitas tomarte tu tiempo, leer a través de él. Simplemente básicamente solo tómate tu tiempo. Esa es la mejor idea aquí. Y además no te vuelvas loco con él porque es una herramienta muy poderosa, pero también podría en teoría, romper, quiero decir, prácticamente la totalidad de Minecraft si le agregas tu mod. Entonces definitivamente ten cuidado con ello, ¿verdad? Pero eso sería todo para esta conferencia aquí mismo. Espero que te haya parecido útil esto y hayas aprendido algo nuevo. Si algo no está claro, por favor no duden en preguntar en la Q&A De lo contrario, los veré en la próxima conferencia. Entonces sí. 72. (intermedio) crear comandos personalizados: Muy bien, bienvenido de nuevo al caballo de tela por 118. En esta conferencia, vamos a estar agregando un a comandos personalizados a Minecraft. Ahora bien, esto es muy importante. El último sermón donde hablamos de mixins es en realidad un requisito previo para esta conferencia. Entonces si no lo has visto, por favor hazlo ver y básicamente poner todo en su carbón está por supuesto disponible en el repositorio de GitHub o un individuo igual de bien. O necesitarás básicamente agregar el mixin a tu modelo también. De lo contrario, no podrás seguir esta conferencia. Por lo que para agregar comandos personalizados. En primer lugar, cuando entramos en nuestro paquete de cursos IMC, haga clic derecho en nuevo paquete llamado comando. Y dentro de ahí vamos a crear dos nuevas clases llamadas el comando de regreso a casa. Y luego también el al mando. Ahora es posible que ya veas adónde va esto. Básicamente vamos a hacer dos comandos. Uno para que fijes tu hogar y otro para que básicamente regreses a esa posición de casa. Ahora, en realidad copiaré sobre el contenido de ambas clases porque esto va a hacer esto un poco más fácil y voy a explicar a medida que avancemos. Bueno, antes que nada, hagamos el comando home set. Y yo sólo voy a copiar esto aquí. Y todo el código es, por supuesto, una vez más disponible justo y repositorio GitHub. Y así tenemos un método de registro, un método de registro de vacío estático público, y un int estático público, un método de ejecución. Este método de ejecución se llama aquí mismo en este ejecuta. Y luego se puede ver que aquí tenemos dos literales. Entonces esto es básicamente lo que está siendo feliz, lo que está pasando aquí. Entonces básicamente hay que teclear en barra y luego este primero aquí a casa. Entonces agregamos un, luego aquí, después tenemos que añadir esto como segundas palabras. Entonces este es básicamente el comando que tenemos que poner en ohms slash home set. Y entonces se va a ejecutar todo esto aquí mismo. Esa es la idea general de esto y el comando run. Se puede ver que el jugador ha obtenido del contexto get source player es lanzado a un ahorrador de datos de entidad. Pero esta es la interfaz que hemos hecho en la última conferencia. Y esto básicamente nos permite llamar al método get persistent data, luego poner una matriz int con el nombre home pass ahí. Y sólo se va a poner básicamente en la posición de casa del jugador. Y luego al final aquí también se va a decir enviar comentarios con un textos literarios en casa en esta posición en particular. Eso es casi todo lo que realmente hace. El comando home set realmente no es tan complicado. Todas las cosas consideradas. Claro, tenemos esta excepción de sintaxis de comandos arroja. Este es sólo el caso. Simplemente necesitamos esto básicamente ya que este es un, el comando run para un comando well, también sugiero mucho echar un vistazo al gestor de comandos justo aquí. Entonces si el botón medio del ratón haga clic en esto, realidad se pueden ver todos los comandos de vainilla justo aquí. Entonces como puedes ver, hay muchos de ellos. Y si tienes algo en particular que quieres hacer con comandos. Entonces si quieres tener un comando personalizado, entonces básicamente puedes echarle un vistazo a esos. Y en primer lugar, echa un vistazo a cómo lo hacen. Entonces básicamente, ok, ¿Cómo funciona realmente el comando loop? Bueno, esto es lo que se está ejecutando. Para que puedas ver ejecutar, insertar, insertar, ejecutar bloque, que hay un montón de cosas que puedes ver básicamente cómo funciona. realidad hay un montón de cosas. Y este de aquí es el registro para ello. Y esto por supuesto, va a ser lo que está la mayoría de la gente, oh mi señor, de eso en realidad es una locura. Y ese es el caso. Si quieres tener comandos realmente, realmente complejos, va a ser muy complejo. Simplemente va a ser el caso. Algo que diré es que solo ayudaré en circunstancias limitadas si tienes un comando personalizado y preguntas en la Q y a, porque se complican tanto, es muy, muy difícil desenterrar realmente. Simplemente es lo que es. Pero sólo sigamos con nuestro ejemplo aquí. Por lo que la clase de gestor de mando puedo recomendar mucho. Y entonces vayamos realmente al mando de regreso a casa también. Y vamos a copiar esto también. Entonces, sólo vamos a conseguir los contenidos aquí. Y una vez más, esto tampoco es demasiado loco. Es solo que en este caso, corte a casa y luego regrese. Y luego vuelve a correr. Se ejecuta el comando run justo aquí, que una vez más podcasts el jugador al ojo Entity Data Saver obtiene la posición de casa aquí y la longitud aquí es nulo desigual. Entonces sabemos, oye, esto significa que contiene algo más. Simplemente vamos a decir que no se ha establecido ninguna posición local esto o aquello estaban completamente seguros. Entonces vamos a conseguir la posición de casa aquí y decir que solicitamos el teletransporte a exactamente esta posición. Y voy a decir que jugador regresó a casa. Eso es todo lo que realmente estamos haciendo aquí, no es nada demasiado loco. Y ahora hay dos cosas que necesitamos, a saber, los acontecimientos. Ahora uno de los eventos en realidad va a ser muy fácil. Entonces vamos a entrar en nuestros más registros. Esto aquí mismo es específico de cada comando, por lo que vas a necesitar hacer esto para cada comando que añadas. Básicamente queremos hacer un nuevo vacío estático privado, verter un método de comandos de registro. Y luego la forma en que hacemos esto, decimos registro de comando, callback, ese registro de eventos, dicho home, comando colon, registro de colon. Y sólo vamos a duplicar esto con Control D. Voy a decir regreso a casa comando, regístrese. Y entonces llamaremos a esto aquí arriba. Entonces registra comandos, y luego todo está bien, pero esto tiene que hacerse para cada comando básicamente. Y ahora también vamos a añadir un evento específico, a saber, la copia del evento del jugador del servidor, porque la idea es que cuando el jugador muere, en realidad tenemos que copiar sobre los datos de la NVT del jugador muerto, por así decirlo, a la nueva entidad. Entonces esa es la idea general, sin embargo. Esta es también una mirada muy suelta a los acontecimientos. Por lo que en nuestro paquete del curso MC, haga clic derecho en nuevo paquete llamado evento. Y luego dentro de la Tierra, vamos a hacer una nueva clase Java. Y cuándo podría llamar a esto la copia del evento de capa mod desde un nombre largo, pero eso va a estar bien. Y entonces la forma en que esto funciona es esto básicamente implementa una cierta interfaz. En este caso el evento del jugador del servidor que copia exactamente de este. Y entonces sólo vamos a implementar el método aquí. Y ahora ahora se llama a este método o se llamará una vez que lo registremos cuando este evento se desencadene. Entonces eso es lo importante. Y se puede ver que hay un jugador viejo, un nuevo jugador, y un vivo, en realidad no vamos a necesitar. Yo sólo voy a copiar esto más. Una vez más, en realidad solo hay tres líneas, pero sólo vamos a conseguir que el viejo jugador y el nuevo jugador las proyecta a ambos al ahorrador de datos de la entidad. Y entonces sólo vamos a conseguir los nuevos jugadores datos persistentes, poniendo en las capas antiguas o los jugadores originales frente a los nuevos datos. Eso es literalmente todo lo que estamos haciendo aquí. Y la forma en que nos hemos registrado una vez más en los registros mod. Y así es básicamente como se registra, bueno, todos los eventos, privados, estáticos, nulos, registran eventos. Y esto es más o menos exactamente lo mismo que esto porque en realidad el evento de devolución de llamada de registro de comandos en realidad también es un evento, por así decirlo. Vamos a decir server player events dot copy a partir de este momento, el evento aquí que es muy importante, no la clase lo que el evento o la interfaz, el evento Registrarse, Nuevo modo eventos de jugador copia de, y eso es todo. También podríamos hacer esto todo en línea. Simplemente recomiendo hacerlo así. Creo que esto es un poco más limpio. Va a estar bien. Creo que vas a estar totalmente bien, pero eso es en realidad casi todo lo que necesitas hacer. Por supuesto, también hay que llamar a esto aquí mismo. Entonces regístrese, ahora registre comandos, pero barda de registro que hace en sólo lo suficiente, eso en realidad es todo. Ahora bien, este es definitivamente un proceso más involucrado, sobre todo escribir esto, ¿no? Entonces esto una vez más, mucho conocimiento de Java, solo pensando en esta suma, bien, ¿de dónde sacas la posición de jugador? ¿ Cómo puedes guardarlo bien, en una matriz int? Cosas como esa definitivamente son más complicadas. Y si tienes ideas más complicadas para comandos personalizados, mientras no se pone más fácil, pero va a estar bien. Estoy seguro de ello. Pero por el momento, veamos si funciona o si rebota de nuevo en Minecraft. Entonces, primero que nada veamos slash casa y lo conseguimos sugiere que eso es realmente bueno. Llamemos primero a regresar. No se ha dicho ninguna posición en casa Eso es muy bueno que no estemos recibiendo ningún error ni nada que básicamente se rompa. Y pongámoslo aquí mismo. Oposición local ambientado en esta ocasión sí parece bien. Vamos a alejarnos de ahí. Y digamos sólo a casa, regresemos y hemos regresado, Eso es bastante bueno. Ahora, vamos en realidad el jugador aquí. Vamos a jugar y se van. Eso es responder. Entonces ahora estamos básicamente lejos de esto y luego podemos decir a casa Regresar, y aún funciona. Y ahora por último pero no menos importante, volemos un poco todo el océano. Cerremos y guardemos esto. Volvamos a entrar en el mundo. Y vamos a ver si eso también funciona con la barra de regreso a casa después están básicamente bien de vuelta en el mundo. Y lo hace, todo está funcionando muy bien, ¿verdad? Pero eso ya será para esta conferencia aquí mismo. Espero que esto te resulte útil y aprenda de lo nuevo. Si quedan preguntas, por supuesto, siéntete libre de preguntar en la Q&A Una vez más, probablemente no te ayudaré con demasiado detalle si tienes un comando específico que quieres implementar, it, sólo vas a tener que probar un montón de cosas y sólo espero que puedas conseguirlo, correcto, pero eso sería todo para esta conferencia aquí mismo. Espero que esto te resulte útil y se entere de lo nuevo. Y nos vemos en la próxima conferencia. Entonces, sí. 73. (intermedio) añadir flores personalizadas: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia, vamos a estar agregando una flor personalizada a Minecraft, ¿verdad? Por lo que vamos a navegar a nuestra clase modelo OCS. Y dentro de ahí, sólo vamos a copiar sobre el cultivo de nabo. Ahora, muy importante porque esto ha utilizado el bloque de registro sin elemento de Bloque. Tenemos que cambiar esto. Eso es muy importante. De lo contrario nos vamos a encontrar un tema y esta va a ser la rosa rosa con un nombre aquí. Piensa en filas y subrayan filas. Y entonces por supuesto también necesitamos agregar el modo Grupo, más grupo de ítems start horse, para que tengamos esto en el grupo de ítems correcto. Entonces esto no es un bloque materno, sino un bloque de flores. Y el bloque de flores toma en tres parámetros diferentes. El primero es un efecto de estado. Entonces vamos a decir que son efectos que digamos resplandecientes y una ración de defectos. Curiosamente, esto es en segundos. En realidad tenemos que especificar algo no demasiado grande, nada como 200 o algo así. Y luego vamos a copiar el, veamos, el tulipán rosa. ¿ Por qué no? Correcto, y ese es en realidad el bloque hecho. Ahora pasemos a los archivos JSON. Entonces esos son interesantes. La situación de bloqueo real no es demasiado loca con ella. Simplemente tipo de copia que sobre todo también, por cierto, jaja, también agreguemos esto al método inicializado aquí en el cliente del curso MOOC. Esta va a ser la rosa rosa, muy importante que a esto también le sumamos. Se puede ver que el bloque dice que Jason no está tan loco. Y entonces por supuesto el, la traducción aquí sólo va a ser filas de subrayado rosa. Y luego aquí rosa rosa sin subrayado, rosa rosa, ahí tienes. Pero el modelo de bloque es un poco diferente aquí. Entonces esto va a ser lo interesante en este tutorial, puede ver que esto tiene aquí la cruz de los padres, y luego las texturas también se cruzan, y luego apunta a la rosa rosa carpeta de bloque extraordinario. Y eso también es muy interesante porque el modelo de artículo gana exactamente a la misma textura aquí. En lugar de tener un modelo de ítem normal que se asocia a un bloque donde es corto, especie de muestra el bloque en 3D. Esta vez, en realidad solo tomamos la misma textura pero la usamos como textura del artículo. Y luego vamos a copiar esto también, se agrega a la carpeta de extras de bloque. Y eso es más o menos todo lo que realmente necesitamos hacer. Entonces ahora veamos si funciona o si rebota hacia atrás y densidad de Minecraft puede ver la rosa rosa se ha añadido al juego y considero hacia abajo. Y se ve realmente, realmente jodidamente genial. Entonces eso es realmente increíble. Bueno, pero eso ya fue todo para esta muy corta conferencia aquí. En la siguiente conferencia, en realidad vamos a echar un vistazo a cómo puedes agregar la rosa rosa o estás acostumbrado bloque floral a una maceta también. Y supongo que te veré en esa próxima conferencia. Ah, sí. 74. (intermedio) Flores Potadas: Muy bien, bienvenido de nuevo al caballo de tela por 118. Y en esta conferencia vamos a estar echando un vistazo a cómo puedes agregar una paleta personalizada planeada a Minecraft. Esto en realidad es muy fácil y lo que vamos a hacer es realmente vamos a copiar sobre el cultivo eterno aquí porque vamos a tener que volver a usar el bloque sin artículo roto. Y esto van a ser las filas de subrayado rosado alfareros. Y luego el mismo nombre aquí, subrayado en maceta, rosa, filas de subrayado. Y esto va a ser un bloque de macetas. Ahora el primer parámetro aquí en realidad va a ser más bloques que crece y crece el ego. Y entonces los ajustes van a ser arrastrados desde la parte que allium los sets va a hacer nuestra vida un poco más fácil en este caso. Entonces lo que es muy importante en el cliente aquí, realidad tenemos que llamar a este render más adelante para el producto rosa también. Y eso es prácticamente todo el código que necesitamos. Ahora sólo tenemos que añadir un bloque se queda Jason primero va a copiar eso más. En realidad, no demasiado loco. Esto simplemente apunta a un modelo de bloque. Añadamos también la parte que en bruto aquí. Ahora éste sólo debería ser necesario. La traducción real aquí, si tienes un moderno estancado también, que básicamente comprueba cuáles los nombres y los muestra en la parte superior. Por lo que esto no siempre es necesario. Y entonces el modelo de bloques es en realidad realmente interesante para el bloque de terreno de auditoría. Y eso va a ser esto porque en primer lugar, el padre es una cruz de maceta. Y luego apunta a una textura de planta. Y eso simplemente apunta a la textura real en tu bloque que tu planta o tu harina en este caso está usando para que esta de aquí. Y ahora lo que es muy interesante, por supuesto , es porque no, no necesitamos un modelo de ítem aquí porque, bueno, esto no tiene un, un ítem asociado él porque vamos a conseguir este bloque haciendo clic derecho en la maceta con esta hileras en particular. Y lo que también es importante, Echemos un vistazo a la mesa de botín también. Entonces voy a copiar esto sobre todo aquí está por supuesto disponible para ti en el repositorio de GitHub o un individuo igual de bien. Y puedes ver que básicamente estamos dejando caer aquí una rosa rosa rosa así como el bloque de flores, partes de una flor. Entonces eso es muy importante. Básicamente me acabo de reunir eso a través de las mesas de luge aquí mismo. O podemos simplemente entrar aquí y podemos ver las cosas de TI aquí mismo. Y básicamente es exactamente lo mismo. Entonces no se preocupe, en realidad hay bastante sencillo, ¿verdad? Y ahora por el bien de la finalización, vamos a ver si funciona o fondos que de vuelta en Minecraft y ya he puesto algunas ollas y vamos a ver. Ahí lo tienes. Puedo colocar las filas ahí dentro y se ve absolutamente asombroso. Y vamos a ver si cambio de nuevo a nuestra supervivencia. Que te vayas Tanto del extremo de la maceta de la gota de flor real. Eso es muy, muy bonito. Rep, eso ya es para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Y te veré en la próxima conferencia sin embargo. Sí. 75. (intermedio) añadir sonidos personalizados: Muy bien, bienvenido de nuevo al curso de telas para 118. En esta conferencia, vamos a estar agregando sonidos personalizados a Minecraft. Por lo que agregar sonidos personalizados es en realidad un proceso bastante sencillo en sí mismo. Colocar ese sonido también es muy fácil. No obstante, piense que lo más difícil o desafiante podría ser la obtención de los archivos de sonido adecuados. Entonces, en primer lugar, necesitamos algunos archivos JSON para esto. Lo que vamos a necesitar es un archivo JSON en el curso MC. Más viejo aquí mismo. Así que haga clic derecho en nuevo archivo llamado Sonidos dot-dot-dot Jason. Y luego en la misma carpeta, vamos a hacer una nueva carpeta llamada sonidos. Tan importante que a ambos se les llama sonidos y sonidos. Entonces eso es muy importante. Y en realidad voy a copiar sobre uno de esos sonidos ya. Este va a ser el archivo de sonido. Como se puede ver, el subrayado de la varilla de dowsing encontró guión bajo o ese OGG. Es muy importante es que todos tus archivos de sonido tienen que ser OGG y asegurarte de que todos estén configurados en mono. Pero sólo pueden tener el tipo de muestra mono o canal modal, De lo contrario, no les gustará problemas con esto aunque, ten eso en cuenta. Y tienen que ser archivos OGG y no sólo tomar archivos MP3 y renombrarlos. Tienes que conseguir un convertidor para convertirlos correctamente. Entonces ten eso en mente y en los sonidos Jason aquí tenemos que definirlos. Entonces solo pongamos entre corchetes rizados y luego básicamente vamos a escribir en el nombre. Entonces este es en realidad el nombre. Vamos a registrar esto bajo guión de barra de dowsing, encontrado subrayado. O ahora usualmente me gusta tomar este nombre y que sea el mismo que el archivo. Simplemente lo hace mucho más fácil. Entonces vamos a añadir un subtítulo aquí. Este va a ser el colon subtítulo y un colon curso MC o punto realmente dowsing, vamos a tomar el mismo nombre. Tan riguroso va a comercializar, copiarlo, Control C y luego Control V, y luego coma. Entonces vamos a tener una lista de sonidos. Entonces esto va a ser una lista, así que los corchetes aquí. Y luego dentro de aquí vamos a tener encontrado varilla de dowsing de colon MC Coors. Y este tiene que ser el nombre de este expediente. Este es, por supuesto, solo tu ID de modelo. Entonces dependiendo de tu melodía, esto cambia, entonces el subtítulo es en realidad algo que puedes poner en la carpeta lang, como cualquier archivo JSON, que se muestra cuando tienes subtítulos en y este lugar sonoro, entonces eso se está mostrando. Entonces eso es algo que también puedes agregar ahora a registrar básicamente los sonidos. ¿ Qué necesitamos? Bueno, en nuestro paquete de curso MC justo aquí, haga clic derecho en nuevo paquete llamado sonido. Y luego dentro de ahí vamos a crear una nueva clase Java llamada Modus sonidos. Y esto va a ser en realidad bastante sencillo. Solo vamos a necesitar un evento de sonido estático privado, evento sonido de registro antiguo con un parámetro de cadena llamado nombre. Y entonces sólo vamos a hacer lo siguiente. Simplemente vamos a hacer un identificador, ID de tablero, que es un nuevo identificador con el curso MOOC mod mi ID y el nombre. Y luego vamos a devolver registro, que se registren con un evento de sonido de punto de registro con el ID y el nuevo evento de sonido. Suenas evento y pasas en el DNI. Nuevamente, por eso estamos haciendo una identificación porque tenemos que pasarla dos veces, una para registrarse y otra para el evento de sonido real. ¿ Y cómo se ve esto? Bueno, evento público de sonido estático llamado dowsing, guión bajo varilla, guión bajo encontrado o igual a un solvente de registro. Ahora viendo guión bajo, barra de subrayado encontrado guión bajo. Y luego se asegura de que esto aquí mismo, lo que está escrito aquí es exactamente lo mismo que esto. Y lo es. Y entonces debería estar bien. Y eso es más o menos todo lo que necesitamos hacer para registrar el sonido. Ahora por supuesto que necesitamos tocarlo de alguna manera. Y lo que vamos a hacer es cuando encontremos una o en la barra de dowsing, entonces vamos a tocar este sonido. Oh, vamos a entrar aquí. Por lo que sabemos que esto se encuentra bloque verdadero. Entonces sabemos que este es el momento en que esto sucede. Y lo que necesitamos es el mundo, como el mundo aquí. Y solo podemos decir tocar sonido y pasarlo el jugador, una posición clicada, que es la posición en la que estamos. El sonido de él suena algo que encontró varilla de dowsing o y la categoría de sonido, sólo vamos a tomar bloques Eso está bien. Volumen 1 y pitch uno también. También hay otra forma de que podamos colocar cómo eso, es decir a través del jugador. Por lo que esto también debería funcionar que se pueda ver jugador para reproducir sonidos. Hay maneras diferentes, pero eso también está bien. Esto debería estar totalmente bien aquí en este caso. Y eso debería entonces básicamente tocar ese sonido aquí. Entonces supongo que por el bien de finalización, veamos si funciona. Muy bien, Francis de vuelta en Minecraft, sólo veamos y probemos si podemos encontrar un quirólogo. Y son en realidad me dejaron sólo rápidamente subir el sonido un poco más. Ahí está. Y por supuesto puedo enviarlo spam. Yo sólo puedo mantenerlo presionado. Y luego en algún momento se pone molesto. Y lo realmente genial es que porque lo pusimos bajo la categoría de bloques. Ahora ya no toca porque, bueno, hemos apagado los sonidos de bloque, así que eso es realmente genial. Eso es algo en lo que básicamente pensar. Y eso es realmente lo fácil que es agregar un sonido personalizado a Minecraft, ¿verdad? Y ya te oigo gritar, bueno, ¿qué tal agregarlo a una cuadra, verdad? ¿ Qué no puedo cambiar el sonido de ruptura de un bloque y cosas así? Por supuesto. Y eso es exactamente lo que vamos a ver en la próxima conferencia, donde básicamente vamos a sumar, bueno, el sonido de ruptura, colocación y paso. Hay algunos más, pero eso básicamente se va a hacer en la próxima conferencia. Entonces esto sería para este de aquí. Espero que te haya parecido útil esto y hayas aprendido algo nuevo. Te veré en la próxima conferencia. Entonces, sí. 76. (intermedio) Grupo de sonido de bloques personalizados: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia, vamos a estar agregando un grupo de sonido Bullock cliente al juego. ¿ Y qué es un grupo de sonido de bloque? Bueno, un grupo de canciones de bloque consta de cinco pueblos diferentes, y esos son el descanso, el paso, el lugar del hit y el sonido completo. Y básicamente vamos a agregar eso para hacer un sonido personalizado o nuestra lámpara de recalcular. Pero esa es la idea general. En primer lugar, voy a copiar sobre los cinco archivos OGG diferentes. Entonces los sonidos aquí mismo, y sólo vamos a copiar esos más. Esos son por supuesto, todos disponibles para su descarga también. Y luego vamos a entrar en nuestros sonidos, Jason y yo también vamos a copiar sobre los contenidos que vamos a necesitar. Esto es más o menos lo mismo que esto, sólo con diferentes valores aquí. Acabamos de tener la ruptura de la lámpara de telecomunicaciones aquí. Entonces para los subtítulos, más o menos la misma tasa o MOD ID y luego punto cualquiera que sea el nombre aquí, cuando el sonido se nombra exactamente como el sonido aquí mismo. Eso es más o menos todo lo que hay a ello. Por lo que esto no debería ser demasiado loco en general. Y entonces lo que tenemos que hacer en nuestro modo suena clase aquí mismo. Simplemente vamos a duplicar esto y vamos a llamar a esto el recuento come underscore lamp, underscore break. Entonces esa es la primera, resultado, lámpara de subrayado, rotura de subrayado. Y entonces podemos duplicar esto cinco veces. El segundo va a ser entonces el sonido de paso. Extra, cambia el nombre aquí también y asegúrate de que esté escrito correctamente. Eso también es muy importante. Y este va a ser el lugar sonar con este, lugar, esta serie suena, y hit allá también. Entonces por último pero no menos importante, tenemos el sonido completo. Y luego aquí, TODOS también. Correcto, así que esos son los cinco eventos sonoros que vamos a necesitar. También podrías pensar en salvarlos de otra manera, sobre todo si tienes muchas diferentes, pero esto va a estar bien. Esto en realidad está bien. Y ahora nosotros por supuesto, también necesitamos un grupo de sonido de bloque. Ahora bien, ya sabes, podríamos hacer eso en una clase separada o simplemente podemos ponerlo en esta clase. Eso también va a funcionar. Por lo que va a ser una estática pública, grupo de sonido de bloque final, o un cout come sonidos de subrayado. Y esto es igual a un nuevo grupo de Sound con una F1, F. Así que eso es sólo el tono y el volumen. Y luego básicamente los cinco de esos sonidos, vamos a tener sonidos de modo, DOT, freno. Sonidos de modo, punto, paso, sonidos de modo, punto, lay. Modo suena holandés. Todos. En realidad creo que se golpea primero y luego su modo suena punto o, sí, en este orden. Pero solo comprobemos dos veces. Por lo que el botón central del ratón haga clic en el grupo de sonido s-block. Y sin embargo un sonido completo es el último. Eso debería ser correcto aquí. Y entonces este grupo de bloques de sonido lo hará, ¿cómo lo usaremos? Simplemente entramos a la clase de bloques de barro. Y luego para nuestra lámpara de telecomunicaciones aquí mismo, básicamente podemos añadir un parámetro más a la configuración del bloque y esos van a ser estos sonidos. Y entonces aquí sólo decimos modo suena eso o suena un calcio. Solo formateemos esto un poco diferente así, el ego, y eso sería todo. Eso es más o menos todo lo que necesitamos hacer. Por supuesto, necesitamos los sonidos, Jason. Defina todo aquí, haga los sonidos aquí mismo, tenga los archivos en nuestra velocidad de carpeta Sonidos entre otra vez, OGG correcto está correctamente formateado o convertido. Y también en mono, muy importante. Y luego simplemente agregando los más sonidos aquí mismo. Por ahora, por el bien de la finalización, veamos si funciona. Ya encontrado sospechoso en Minecraft. Y primero que nada realmente movamos el volumen hacia arriba sólo por un poco para que realmente tengamos esto. Veamos el set, el sonido de colocación real. Eso es exactamente correcto. Eso es completamente personalizado. Veamos el sonido de ruptura. Eso es increíble. Entonces eso también funciona. Eso establece, poned unos pocos aquí abajo y vamos a pisarlo. Se van. Y esto también debería funcionar cuando seguí la siguiente diapositiva, en realidad no estoy un 100 por ciento seguro de por qué eso no funciona. Eso es muy furioso. Creo que debería funcionar así. Y entonces el sonido de éxito sería éste. Yo creo. Aparte del hit en el sonido completo, todo parece funcionar totalmente bien aquí. Entonces tampoco estoy un 100 por ciento seguro de dónde se llaman esos, para ser honesto, porque normalmente debería ser la fuerza en eso. ¿ Esto es correcto? Entonces cuando te caigas sobre él, pero definitivamente no hay nada ahí. Y luego romperlo tampoco parece funcionar del todo. Entonces saquemos como una púa x, y Así que vamos a ver qué funciona el, está bien, el rompimiento definitivamente. Pero parece ser solo el sonido de caída que no funciona. Pero a veces esas cosas suceden. Entonces ahí tienes. Está bien. Entonces después de mirarlo de nuevo, todavía no estoy un 100 por ciento seguro de por qué caen aquí no funciona por la razón que sea, esto simplemente nunca se llama. Pero sea cual sea el caso, el sonido completo realmente no es algo que sea demasiado loco o demasiado importante. Yo diría, Oh, eso probablemente va a estar totalmente bien. Cualquiera que sea el caso. Los otros por supuesto, trabajan que son mucho más importantes en este caso. Entonces todo debería estar bien y eso ya sería para esta conferencia aquí mismo. Espero que esto te resulte útil y él aprendió algo nuevo. Te veré en la próxima conferencia sin embargo. Sí. 77. (intermedio) añadir discos musicales personalizados: Muy bien, bienvenido de nuevo al curso de telas para 118. En esta conferencia, vamos a estar agregando un disco musical personalizado a Minecraft. Por lo que un disco de música personalizado, peor requiere un evento de sonido personalizado también. Lo que vamos a hacer es que sólo vamos a copiar eso en una vez más. En realidad va a ser muy fácil de entender. Se puede ver que sólo tenemos el nombre aquí. Una vez más, este es el nombre que le vamos a dar en la clase de sonidos modelo en tan solo un momento. Y entonces el nombre aquí por supuesto se refiere a un archivo de sonido, una vez más un archivo OGG. Y en este caso, es aún más importante que esto sea en mono, porque si está en estéreo, entonces vas a escuchar esto básicamente en todo el mundo, en todo el servidor. De lo contrario, como tiene que ser mono, muy importante, muy, muy importante en este caso. Y vayamos a la modelo Sonidos aquí mismo. Y vamos a copiar esto y llamar a esta riña de subrayado de barra D. Y aquí por supuesto también, riña de bar, asegurándose de que todo esté escrito correctamente. Muy importante. Y luego en la clase más artículos vamos a hacer un nuevo artículo. No obstante, por supuesto lo que necesitamos, primer lugar es un elemento de disco musical MOD, tristemente, porque una vez más, el constructor aquí no es accesible para nosotros. Por lo que el elemento de disco de música pasa por encima, crea constructor coincidente super. Y entonces sólo vamos a copiar al público que son. Y entonces nunca más tenemos que echarle un vistazo a eso, básicamente. Y entonces sólo vamos a copiar aquí las semillas de nabo. Y sólo vamos a hacer esto el bar subrayado Berle, subrayado música, disco de subrayado. Entonces el mismo año también, bar underscore música roll subrayado disco. Y esto por supuesto, es un elemento de disco musical MOD. El primer parámetro es la salida del comparador. Entonces, ¿qué se está produciendo cuando pones un comparador junto a él? Y entonces vamos a decir, no suena a Barbara. Ahora otra cosa muy importante está aquí, ya que se puede ver que esto es verdadero arroyo. Entonces esto tiene que ser cierto porque el papel de púas por supuesto, es un arroyo. Por lo tanto, te encanta el disco musical es una corriente, así que eso es muy importante. Y luego también vamos a poner en el recuento máximo de uno para que sólo podamos apilar uno de esos. Y entonces lo que también es muy importante es la traducción el E y subrayarnos el archivo JSON. En realidad voy a copiar los dos por encima porque en realidad hay dos. Ahí está el disco de música barb roll, que sólo es el nombre del disco. Y entonces la descripción es básicamente lo que sucede. Ya sabes, si se cierne sobre él. Y eso por lo general sólo dice por quién La canción es, y luego el nombre de la canción. Y también he agregado la licencia aquí. Entonces esto es justo por debajo de CC 0 o es de dominio público. Podrías en teoría usar este papel de púas también en tu viejo modelo, podrías hacer básicamente lo que quieras con él. Pero por eso agregué eso también. ¿Verdad? Eso es más o menos todo lo que necesitamos excepto por supuesto, para un modelo de artículo y una textura para ello. Pero eso es algo que hemos visto tantas veces ahora que en realidad no sería demasiado loco en este punto. Esto apunta a la textura del disco de barbero o música en la carpeta del ítem, o por supuesto también va a copiar que se pasó también. Entonces Barbaro disco musical. Ahí vas. Y con eso, estamos bastante listos para ir. Y sólo escuchemos si funciona. O yo, por ejemplo, de vuelta en Minecraft y ellos pueden ver la música ahí se ha agregado con éxito aquí. Y vamos a tirar de ella. Y ahí está. Es bastante ruidoso, pero también es porque tengo mi música. Entonces eso está bien. Y este lugar apenas normalmente un FI vuela lejos. Se puede escuchar cada vez menos . Y luego se ha ido por completo. Y luego si volvemos, ahí vamos, Continúa. Tan absolutamente genial. Y vamos a amina, todo está funcionando totalmente bien, igual que esperábamos. Caucho. Eso ya sería para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Y te veré en la próxima conferencia sin embargo. Sí. 78. (Intermedio) añadir modelos de bloques personalizados en Minecraft con Blockbench: Muy bien, bienvenido de nuevo al curso de telas para 118. En esta conferencia, vamos a estar echando un vistazo a los modelos de bloques 3D personalizados. ¿ Y cómo vas a hacer esos modelos de bloque? Bueno, los vamos a hacer con banco de bloques. Este es un programa que está disponible. Lo vincularé en los recursos en algún lugar. Y esto básicamente te permite hacer modelos 3D de aspecto muy cool para tus bloques en realidad no es tan difícil por ya tener un modelo de bloque preparado aquí para mí como el Oracle can blaster. Entonces básicamente va a ser como un alto horno, especialmente hecho de o un calico en este caso n Hay, para este ejemplo particular aquí, dos cosas que debemos tener en cuenta. Entonces lo primero es que tú por supuesto, también tendrás acceso a este archivo de banco de bloque. Y lo que harás entonces es ir a File Export y luego Export block slash item model. Esto exportará un archivo JSON como puede ver. Y solo puedes hacer esto. Yo puedo anular eso. Y entonces el archivo JSON se verá así. Entonces solo ábrela aquí y puedes ver que hay una especie de cómo se ve. Tienes la textura aquí y luego todo un montón de elementos. Entonces esos son básicamente los elementos 3D. Y luego también hay cosas que están aquí en la pantalla. También podemos echar un vistazo a la pantalla si vas a la esquina superior derecha aquí, muestra. Y básicamente ha cambiado cómo se ve que tal vez seas como, Oh, eso tal vez es un poco demasiado grande. Puedes ser como, Sí, vamos a encogernos eso para que me guste el 2.5 de mayo sea como 0.25.25 o algo así. A lo mejor ese es el tamaño que es mejor. Y entonces también puedes cambiarlo del otro lado también. Algo así. Y en primera persona tal vez eso va a estar bien conmigo. Eso también va a estar bien. Cuando lo llevas en la cabeza. Se ve muy extraño, pero lo bastante seguro. Pero si está en el suelo, tal vez eso sea un poco demasiado grande también. Entonces tal vez quieras cambiar ese punto piloto para cuándo, para, cuándo para, para que lo tengas así en el marco del ítem. A lo mejor quieres rotar eso alrededor, ¿verdad? Entonces tal vez la rotación se supone que sea algo así y algo así. A lo mejor esa es una mejor manera de hacerlo. Y luego en la GUI, en realidad piensa que la GUI se ve perfecta. Y aquí básicamente puedes cambiar muchas cosas en banco de bloques. Esto no va a ser un tutorial de espacio de banco puramente en bloque, sino más bien cómo básicamente puedes sacar cosas del banco de bloques aquí. Cuando también guardo esto como modelo, el glosario es por favor. Y entonces ya se guardó como los archivos JSON. Deberíamos tener esta recarga. Ahí vas. Y entonces también cambia aquí también para que todo esté bien. Y esto en realidad es básicamente todo lo que necesitas. Por lo que básicamente necesitamos este archivo JSON. Voy a copiar esto como modelo de bloque, ¿verdad? Entonces vamos a copiar esto más como el modelo de bloques que prácticamente ya tiene las cosas 3D ahí dentro. Ahora lo que necesitamos es que necesitamos, por supuesto, también la textura. Entonces voy a poner esto aquí dentro de las texturas de Brock. No obstante, lo que voy a hacer es también voy a hacer una nueva carpeta en la carpeta de texturas llamada máquinas, y vamos a poner eso ahí dentro. Esto no es estrictamente necesario por supuesto, porque esta textura también es sería una textura de bloque, pero sólo me parece un poco más agradable. Y entonces lo que tenemos que hacer es por supuesto, especificar aquí núcleos MC y luego Máquinas slash el nombre de esto. Eso es muy importante que agreguemos a nuestro ID de modelo y luego el nombre de las palabras más antiguas en básicamente aquí, y luego el resto aquí está totalmente bien. Por supuesto, todavía necesitamos un modelo de ítem para ello. Nosotros vamos a hacer eso también. Vamos a noquear las cosas fáciles primero y ante todo aquí, ¿verdad? Entonces el Oráculo puede blaster, Eso está bien. Eso sólo hace referencia al modelo de bloques aquí mismo. Y luego el bloque Estados Jason, bueno, por el momento, lo que vamos a hacer es que sólo vamos a hacer uno normal. La puerta de explosión. Y esto sólo se va a referir a la última cadena. Eso va a estar bien. Y por lo mismo para el bloque, sólo vamos a hacer un bloque completamente normal aquí. Sólo vamos a copiar, digamos la rosa rosa porque eso es un bloque registrador y ese es el oráculo Malcolm subrayan blaster. Entonces lo mismo aquí o no puede venir subrayado blaster. Y ahora mismo va a ser un bloque normal. Pero vamos a echarle un vistazo a eso en tan solo un momento. Que en realidad vamos a tener que cambiar algunas cosas aquí. Nosotros material metal en el grupo de artículos mod, caballo, eso va a estar totalmente bien. el bien de la finalización, añadamos también la traducción aquí o un conteo come underscore blaster. Entonces por supuesto el desenlace no subrayan explosión o que hace. Y ahora, al igual que un bloque normal, lo hemos agregado. Ahora agreguemos también el no opaco real aquí. Eso es muy importante. Y luego también lo agreguemos al get cut out. Por lo que estos son todos los pasos que deberás recorrer para que eso se muestre correctamente también. Y luego básicamente veremos dos limitaciones con la forma ganada esto se configura y luego también veremos cómo arreglarlas. Entonces, entremos a Minecraft y veamos por primera vez el modelo 3D personalizado. O si soy dice una microfinanzas puede ver el recalc una blastula se ha agregado al juego. Y cuando lo puse abajo, se puede ver que hay dos cosas que son muy interesantes. En primer lugar, bueno, en realidad no está frente a la dirección correcta, ¿verdad? Como se puede ver, siempre está mirando a la misma dirección, que en realidad va a ser al norte como se puede ver. Pero eso es muy interesante. Y también tenemos, bueno básicamente un cuadro limitador muy extraño a su alrededor, que definitivamente no es del todo lo que quieres. Entonces eso es, ese es otro que está bien, tiene que arreglarse de alguna manera. Pero esas son las dos limitaciones por el momento. Pero esos ambos pueden arreglarse manera bastante directa, ¿verdad? Para arreglarlos ambos, en realidad necesitamos una clase de bloque personalizada para esto. Entonces en tu paquete personalizado, haz clic con el botón derecho en nueva clase Java llamada el recalc vienen bajo, sin guión bajo, en realidad explota o bloquea, van. Y esto extenderá el bloque de orientación horizontal. Muy importante que elijamos esa. Y vamos a crear constructor que coincida super. Y la razón por la que estamos eligiendo esto es porque si presiono Control H después de hacer clic en él, puede ver que hay algunos otros bloques que también están tomando esto desde aquí. Por ejemplo, algunos de los como el bloque de cama donde es puerta fuerte de así. Eso es muy interesante. Y normalmente en realidad esperaba que el bloque abstracto Ernest se extendiera también a partir de eso. No, en realidad, está bien. Eso es con bloques de entidad. Suficientemente justa. Pero también tiene la propiedad de frente justo aquí. Esa es la idea general porque cuando se coloca abajo del horno, pero siempre se ve en su dirección. Entonces lo que vamos a hacer es que en realidad voy a copiar rápidamente la dirección por aquí. Entonces esto no es nada demasiado loco, sólo una gran propiedad igual a la propiedad comienzan a enfrentar. Y voy a copiar más de algunas cosas más que por supuesto están todas disponibles para ti en el repositorio, repositorio GitHub o individual igual de bien. Necesitamos el método append properties. Ya hemos visto esto y vamos a usar el espejo y el método Rotar. Básicamente tienes este rotar de la manera correcta y luego obtienen método de estado de colocación básicamente lo hace para que el frente siempre se convierta en una forma en que el bloque te está enfrentando. Ahora por supuesto, cuando tenemos los bloques de frente una propiedad, por supuesto también necesitamos cambiar el bloque Estados JSON. También hay algo que voy a copiar, pero esto en realidad es bastante sencillo. Se puede ver que está orientado al norte es solo el modelo de bloque normal. Y de lo contrario acabamos de rotar 90, 180, y 270 grados. Y siempre puedes consultar también las bibliotecas externas en la parte inferior derecha en la carpeta de activos, Minecraft bloquea estados. Y luego, por ejemplo, mira el alto horno, por ejemplo, es seguro. Y esto va a ser más o menos exactamente lo mismo. lo único que es, esto también tiene una propiedad de tapa, pero eso va a estar totalmente bien. Entonces esto es algo donde básicamente puedes echar otro vistazo a esto y cómo tienes que rotarlo. Y de ahí básicamente es donde he sacado esos números. Bueno, no vamos a volver a saltar de inmediato a Minecraft Porque ahora, ¿qué tal el cuadro delimitador? Will the delimitating box es lo que se llama forma de voxel. Y eso es lo único que realmente es solo molesto de hacer en banco de bloques, sobre todo con este modelo. Es solo muy molesto porque normalmente lo que querrías es que quieras, quería centrar el pivote, ¿verdad? Entonces antes que nada, verás que si centro el pivote correctamente, entonces tiene como valores muy extraños. Muy recomendable, ya sea yendo a un poco arriba, derecha o un poco abajo, básicamente redondeando hacia arriba o hacia abajo. Ya hay otra cosa, te lo pasarás mal con la rotación de la misma. Porque lo que vamos a tener que hacer es que en realidad vamos a tener que rotar esto tres veces para que en cada dirección vayamos a conseguir una nueva forma de voxel. Esta es justamente la forma en que va a ser y es muy molesto. Pero esta es la mejor manera en que hasta ahora lo he encontrado para funcionar. Si hay alguna otra forma, por supuesto, siéntete siempre libre de llegar en la Q y a y cuéntame al respecto. Entonces no se preocupe ahí. Lo que vamos a hacer es que vamos a, primero que nada, tengo que ir a File y luego a plugins y conseguir el plug-in mod utils aquí mismo. Esto es de JDK dos a dos. Y si eso, eso es muy importante, es solo, ya sabes, solo puedes ir a la búsqueda disponible de utils mod, ¿ verdad? Ya lo tengo instalado. Por eso no viene aquí. Haga clic en el botón Instalar e instale eso en su banco de bloques. Y entonces lo que tendrás es que tomes todos los cubos y todas las cosas que tienes y ponerlos bajo un grupo justo aquí, formas grupales o voxel, exactamente escritas como esto. No hay espacios, nada escrito exactamente así. Y cuando tengas eso, puedes seleccionarlos todos, ir a Archivo, Exportar, y luego Exportar forma de voxel. Ahora estamos por supuesto en hilado estamos usando Rubrik, así que queríamos exportar los mappings de hilados. Vamos a decir confirme, y vamos a guardar esto como la forma de voxel N. Como pueden ver, ya lo guardé y luego podemos echar un vistazo a esto también. Entonces sólo voy a mover esto inherente para que podamos echar un vistazo a esto. Pero así es como se ve. En ocasiones obtienes estos números locos, lo que tendrás que hacer es ponerlos redondeados al entero más cercano. Entonces esto sólo va a ser un proceso manual. Entonces, por ejemplo, este es solo un 0, en realidad, ¿verdad? Porque es negativo tres a la potencia del negativo 15, por lo que son 15 ceros. Y luego un negativo, como un 0.3, es como que es 0. Por lo que tenemos que hacer esto manualmente. A veces es sólo la forma en que bloque banquillo a veces exporta. Es muy raro. Entonces eso sólo va a ser, y esta es sólo la forma de voxel. Si esto está configurando como mirar hacia el Norte, lo que ahora tenemos que hacer es cuando hay que rotar esto 90 grados. Y lo primero que notarás en este ejemplo en particular es que se compensa un poco. Por lo que se puede ver que la precisión por las razones que sean compensadas realmente tenemos que moverla de nuevo al medio. Y entonces esto va a ser norte, este, sur, poniente. Por lo que esto ahora está orientado al oeste. Ahora tenemos que exportar de nuevo. Esto es de orientación oeste una vez más, ¿verdad? Entonces cuando reemplace la w, y luego podemos echar un vistazo a esa w aquí. Eso va a ser muy interesante también porque tenemos que hacer esto otra vez, así que 0. Y entonces esto va a ser un 14 y eso va a ser 13. Y lo que verás es que los números simplemente cambian un poco. Y, ya sabes, si tienes suficiente tiempo y suficiente poder cerebral, probablemente puedas averiguar cómo cambiar esos números tú mismo. Pero eso es por supuesto una locura porque aquí tenemos tantas cosas. Y cuanto más complicado va a ser el bloque, más complicado será también. Simplemente lo vamos a girar de nuevo y luego por supuesto una vez más, restablecerlo para que funcione bien. Entonces eso es lo que realmente tienes que tener cuidado no se cambia el número aquí, pero tendrás que cambiarlo como al usar las flechas, es si cambias el número que cada uno de esos cubos solo funciona. Simplemente, sólo se mueve dentro y de sí mismos es muy extraño bloque, que es un programa muy extraño. Pero actualmente es, al menos que yo sepa, lo mejor que tenemos. Tristemente, esto por supuesto va a ser el orientado al sur. Y entonces simplemente de inmediato rotemos también hacia el este, que sólo puede hacer esto y luego hacer aquello. Y ahí tienes. Ahora deberíamos tener todo aquí dentro. Entonces vamos a decir caja de exportación o forma, o el Oriente también. Eso es genial. Y ahora lo que vamos a hacer es tomar el Norte y el Oeste y de inmediato ya lo usaremos . Entonces vamos a tomar este control C para copiarlo. Y entonces lo que queremos es que queremos una forma de voxel final estática privada o subrayado de forma n. Así que esto se forma Norte. Y luego solo vamos a importar la clase stream, la clase voxel shapes, y la clase booleana por función también. Y entonces lo que voy a hacer es que sólo voy a copiar esto cuatro veces. Sobre eso tenemos norte, oriente, sur, y poniente año. Asegúrate de copiar los correctos son el nombre correcto aquí. Eso es muy, muy importante. Ha habido gente que, ya sabes, confundió a uno de ellos con el otro. Entonces eso es muy importante. Y aquí una vez más, tenemos que limpiar esto, eso está totalmente bien. Esas son algunas flechas de puesta a tierra, errores de redondeo de punto flotante. A veces puede suceder. Es justo lo que es. Pero esto no es demasiado loco. Ahí va a haber el sur. Ahí vas. Entonces esto va a ser al este. Y entonces tenemos las cuatro formas de voxel aquí dentro. Como dije, este es un proceso muy tedioso, pero sólo necesitarás configurarlo una vez y luego va a funcionar. Si por supuesto cambiaste el modelo, entonces tendrás que cambiar las formas de los voxels también. Sí, así que eso es, solo es lo que es. Realmente no podemos hacer nada más con eso. Entonces queremos sobrescribir el buen método de forma de contorno, este de aquí. Y también voy a copiar sobre los contenidos. Como dije, todo está a su disposición, pero esto debería ser bastante autoexplicativo. Sólo tenemos una declaración de cambio de que mira a la propiedad de enfrente y sólo va a decir, oye, si el frente como Norte, entonces vamos a devolver la forma al norte. Si está orientado al sur, vamos a regresar al Sur y así sucesivamente y así sucesivamente. Entonces eso es realmente todo lo que este método sí sea realmente complicado es lo que están en las formas de voxel. Y como dije, hay, tristemente no hay otra forma de hacer esto de manera adecuada o más fácil en esos, esos son por supuesto todos a tu disposición. Igual por supuesto con el modelo aquí. Vamos a rotarlo hacia atrás y luego verás que sea la razón que sea es rojo y ahí está Mac. Entonces eso está totalmente bien. Esto es como dije, también disponible para ti, el archivo JSON, todo eso puedes descargar. Y entonces sólo tenemos que hacer es en lugar de hacer un bloque, queremos hacer de este un bloque bláster de calcio o E. Y entonces, oh, bueno por supuesto también necesitamos hacer esto público y luego todo funciona, ¿no? Entonces esto debería ser en realidad todo lo que necesitamos. Como dije, es bastante tedioso, pero estoy seguro de que lo manejaremos. O por supuesto también depende cuántos bloques con diferentes formas locas que quieras agregar. Entonces ese también es el caso. Pero por el momento, veamos Por obras o por qué nos encontramos con un Minecraft. Entonces vamos a bajar eso. El último trago de calcio puede ver ahí vas. Los contornos coinciden perfectamente y si lo pongo abajo en una dirección diferente, Siempre me enfrenta. Ahí vas. Entonces todo funciona y las cajas delimitadoras totalmente bien. Ahora lo que sí tengo que decir es que si tienes cajas limitadoras realmente, realmente complejas como esta, por supuesto que puedes ver es todo todavía blocky, no tiene, no tiene ninguna cosa diagonal y cosas como eso. Si tienes cosas como diagonales, recomiendo encarecidamente tratar de tal vez hacer tu modelo un poco más fácil en R2, complicado, porque una loca complicada formas de voxel realmente van a ralentizar el juego abajo bastante significativamente. Pero eso es sólo algo a tener en cuenta. Pero eso de hecho es lo fácil que es agregar los modelos de bloques personalizados a Minecraft. Pero en para una transparencia completa, el Oracle puede durar fila se hizo por platino G 17. Simplemente ajustando la textura es un poco, pero por lo demás está básicamente bajo la licencia Creative Commons. Entonces si quieres usar esto o tu real como MOD liberado, entonces por favor ten en cuenta la licencia si solo la vas a usar para bien, básicamente fines de pruebas privadas va a estar totalmente bien. Pero esto sería para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Y nos vemos en la próxima conferencia. Ah, sí. 79. (Intermedio) añadir un modelos de elementos personalizados con Blockbench: Muy bien, bienvenido de nuevo el curso de tela para 118. Y en esta conferencia, vamos a estar echando un vistazo a los modelos de artículos personalizados. Quién la última vez que hemos visto modelos de bloques personalizados. Ahora es el momento de los modelos de artículos del cliente sin embargo. Por lo pronto, sólo vamos a hacer un nuevo artículo aquí y luego vamos a añadir el modelo de ítem. Por lo que este va a ser el personal de subrayado de Oracle Malcolm . Y esto es por supuesto también Oracle subrayado camino que vas. Este sólo va a ser un artículo normal por el momento. Y el recuento máximo de uno es realmente genial. No necesitamos hacer ninguna clase de artículo personalizado aquí. Solo necesitamos el modelo de artículo para ello. Y entonces en realidad vamos a estar bien. Entonces agreguemos la traducción en primer lugar, o un personal de subrayado calico. Y luego aquí también, recuento vienen personal, el ego. Y ahora el modelo de artículo es lo loco. Por eso. Vamos una vez más a abrir banca cerrada. Y ahí está, la belleza del bastón de calcio. Y como puedes ver, en realidad estamos usando algunas de las pequeñas texturas así como el Oracle puede bloquear la textura. Y en general, esto es casi todo lo que necesitas. Entonces es sólo un ejemplo aquí. Así es como básicamente se ve si lo estás sosteniendo. También se hace todo el resto de material de exhibición. También puedes pintarlo tú mismo si quieres. Pero por el momento, en realidad estoy bien con esto. Vamos a ir a Export, Export block item model o un staff de calcio que ya tengo este año. Eso va a estar bien. Y entonces en realidad vamos a simplemente copiar sobre el archivo JSON como en la carpeta de modelos de ítem. Y entonces las únicas cosas que necesitamos cambiar aquí son básicamente el nombre. Entonces esto va a ser Minecraft o tablón. Esto, ¿verdad? Por supuesto con bloques slash, ahí van, porque esas son todas texturas de bloque. Y luego lo mismo para nuestro recalc y bloque también. Entonces los núcleos MC bloquean justo ahí, y luego el resto aquí sólo va a estar totalmente bien para nosotros. Y sé que pensaste que podrías estar diciendo eso, bueno, eso no puede ser aún. Eso es en realidad, eso es todo lo que tenemos que hacer. Simplemente necesitamos este archivo JSON primero, el modelado del modelo de ítem real. Bueno, eso es algo que sólo vas a tener que probar tú mismo, como dije, un banco de blog de enlace. De nuevo, realmente no es tan difícil. Simplemente puedes agregar cubos aquí, moverlos y luego hacerlos más grandes o más pequeños así. Por lo que no debería ser demasiado loco. Estoy pensando que tal vez con una hora, una hora y media, un poco jugando por ahí, te pondrás el aguijón muy rápido. Es más o menos igual que Minecraft, pero haciendo modelos con bloques. Entonces es muy similar en realidad, cualquiera que sea el caso, Vamos a ver si funciona. O encontramos sospechoso y Minecraft. Y como puedes ver, se ha agregado el bastón de calcio aura y se ve fricción, increíble, incluso en 3D o en tercera persona, se ve realmente jodidamente cool. Y me gusta mucho el pequeño bloque de oro en la parte superior de ahí. Eso es sólo otro No, simplemente me gusta mucho el hecho que básicamente es toda la textura del bloque, justo en este pequeño bloque de ahí. ¿ Soy yo, sí, me gusta mucho. Entonces eso es realmente lo fácil que es agregar los modelos de artículos personalizados Minecraft, ¿verdad? Y eso ya es todo para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Todo el código y todo eso está por supuesto disponible para ti en el repositorio de GitHub donde un individuo igual de bien. Y si te gustara esto, realmente agradecería una crítica de tu parte. De lo contrario, te veo en la siguiente diapositiva. Entonces sí. 80. (intermedio) añadir un arco personalizado: Muy bien, bienvenido de nuevo al caballo de tela por 118. Y en esta conferencia vamos a estar agregando un tazón personalizado a Minecraft. El cliente es en realidad un proceso bastante sencillo. Nos vamos a llevar al personal de calcio oral y vamos a hacer este T o un nombre de bot capcom con el nombre aquí, por supuesto, muy importante. Entonces o un combo asesino. Y entonces este va a ser un nuevo elemento bot. Y se hace el registro. Ahora lo que por supuesto que necesitamos hacer es añadir el predicado modal justo aquí. Esto es lo principal. Y lo que vamos a hacer es que en realidad voy a copiar sobre un método que he hecho. Y ese es el método registrable. Se puede ver básicamente registra el bot. Todo ese jazz. Esto es de si el botón medio del ratón hago clic en esto, y luego hago clic en esto. Este va a ser el botón o el botón central del ratón haga clic más bien. Y este es el modelo predicho registro de proveedores de Minecraft o de vainilla. Y si voy aquí abajo, deberías poder encontrar el poste y el tirón justo aquí. Tenemos esos dos registros para el bot, el bot básicamente, y básicamente los copié, reemplazé al proveedor con nuestro registro de proveedor de predicados modal de fabric. Pero esto en un método separado sólo porque es un poco más fácil, sobre todo si quieres múltiples arcos, solo puedes llamar a esto. Y luego con tu bot. Entonces básicamente artículos mod, dot oracle combo, y entonces eso es más o menos todo. Entonces si tienes otro tazón que quieres agregar, solo tienes que añadir eso también. Y entonces eso es más o menos, eso es más o menos, Eso está bastante hecho. Esa es realmente la idea aquí. Entonces esto es casi todo lo que necesitas. Y entonces por supuesto, necesitarás, en primer lugar, la traducción que es muy importante aquí, o una vaca cae bajo garabatos, ¿verdad? Entonces, y no olvidemos eso ni un calico. Y entonces los modelos de artículo son bien el pateador. Pero una vez más, en realidad no están tan locos. Cuatro de ellos, los voy a copiar. Esos son por supuesto, todos disponibles para ti en el repositorio de GitHub o en individual igual de bien. Este sólo apunta al oráculo gumball aquí. Y luego bajo los predicados, apunta a los diferentes modelos de ítem que apunta a éste, éste o éste. Y todos son aparentes aquí. Muy importante en realidad va a ser nuestro propio recalc, un tazón. Y luego la capa, una vez más, sólo va a ser una textura diferente. Entonces eso es realmente todo lo que hay a ello. En realidad no es tan loco ante un cliente necesitarás hacer o diferentes texturas, una de la pelota normal y luego tres de ellas que están tirando básicamente. Pero quiero decir, eso es más o menos todo lo que hay a ello. En realidad soy lo fácil que puede ser, porque ya hemos visto los, sabes, los predicados aquí para los modelos. No es nada demasiado loco En realidad, es algo que debería estar demasiado loco para ti. Son solo unos pocos valores que básicamente podemos usar en el modelo para determinar qué extra se debe mostrar para ese ítem. Eso es más o menos básicamente todo lo que hay a ello sin embargo, por el bien de la finalización. Veamos si funciona o nos encontramos de nuevo en microfinanzas podemos ver el combo oráculo se ha agregado con éxito al juego. Y si lo disparo, que te vayas, la textura también cambia. Entonces todo está funcionando totalmente bien, exactamente cómo esperaríamos que lo hiciera, ¿verdad? Pero eso ya fue todo para esta conferencia aquí mismo. Espero que esto te resulte útil. Aprendes lo nuevo, y te veré en la próxima conferencia. Entonces, sí. 81. (intermedio) Fluids personalizados: Muy bien, bienvenido de nuevo al curso de telas. Y en esta conferencia vamos a estar agregando un fluido personalizado a Minecraft. Por lo que agregar un fluido personalizado es yo diría un poco finicky. Ahí hay como un poco de rareza. Pero en general, estoy seguro de que nos las arreglaremos sin embargo, en primer lugar, en el paquete del curso MC, haga clic derecho en nuevo paquete llamado fluido. Y ahí dentro vamos a necesitar dos clases nuevas, la clase de fluidos de modo y la clase de fluidos de Ani también. Y vamos a empezar con clase de fluidos de miel, sin embargo. Esto va a extender la fluible ella, y no vamos a implementar los métodos. Lo que vamos a hacer en primer lugar es donde hago este abstracto en realidad. Y entonces lo que haré es que haré lo siguiente. Iré a dar clic en fluido fluible, presione Control H, y haga doble clic en el agua aquí. Y entonces lo que quiero hacer es que quiero meter todo aquí, básicamente, todo excepto el constructor y la copia esto. Y lo voy a pegar aquí. Y podríamos conseguir, En realidad no obtenemos ningún error, eso en realidad es aún mejor. Y lo que sí necesitamos es el todavía escuchar el fondo. En realidad no necesitamos ninguno de esos constructores, pero sí necesitamos es, esto necesita ser líquido de miel, y esto necesita ser líquido de miel. Hay algo que vas a hacer por supuesto que tienes que hacer cada vez que añades un nuevo fluido. Entonces de una manera podemos simplificar esto también. Y luego en general, creo que esto debería estar bien. Simplemente podemos formatear esto un poco diferente para que realmente podamos leerlo correctamente. Esto es para las partículas. Y este es el sonido. En realidad voy a cambiar el sonido a, digamos el bloque, el tobogán de bloques de miel. Porque por supuesto tenemos algunos bloques de miel ahí dentro. Simplemente no tenemos un líquido de miel en este caso. Y luego esos fluidos, lo vamos a cambiar sólo un momento. Pero ahora tenemos el fluido de miel junto con las clases fijas y fluidas ahí y en los fluidos mod, lo que vamos a necesitar son solo dos cosas. Y eso va a ser, en primer lugar, un privado Eso es un fluido BAL inferior se registrará. Entonces este es el método de registro si fluido global es el tipo de retorno, un nombre de cadena, y un fluido fluible o fluido, o fluido de flujo, eso está bien. Esto va a devolver el registro del Registro. Registro de ese fluido, un nuevo identificador, mod curso MC, mod ID mod, y un nombre. Y después de los primeros paréntesis, fluido global, esto por supuesto va a registrar el fluido. Y luego vamos a decir estática pública, fluido global final, o un subrayado de miel todavía, que es igual para registrar el subrayado todavía. Entonces un nuevo líquido de miel que aún está. Y luego voy a duplicar esto con Control D. Voy a decir miel fluyendo. Y lo mismo en el nombre aquí también. Si fluye. Y en lugar de seguir llamando fluyendo. Y eso es todo genial. Eso no es lo que funciona. Y lo que podemos hacer en la clase de fluidos de miel aquí arriba, vamos a devolver qué fluidos y él fluye. Y aquí, cuando regrese un mod, fluidos y miel todavía, todavía necesitamos hacer un cubo para esto. No se preocupe en absoluto. En realidad bastante sencillo. Y entro a la clase Item y sólo vamos a aparecer sobre el arco iris. Y este va a ser el cubo de subrayado de miel. Y aquí están esas mismas cosas, cariño subrayan cubo. Este es, por supuesto, un artículo de cubo. Y este primero vamos a tomar los fluidos mod que aún miel. Pero por lo general quieres elegir la miel todavía. Si se pide un fluido, ese es el general como quiero decir, yo diría que casi esencia del mismo. También íbamos a necesitar un bloque mot para esto va a ser una cuadra sin un elemento de bloque. Este va a ser el bloque de fluidos de miel. Esto es algo que vamos a necesitar algún subrayado de miel brumosa, fluido. Subrayar. Ok. Una vez más, esto va a ser necesario para cada uno de tus diferentes fluidos. Y esto va a ser una, en realidad esto, vamos a necesitar mucha clase de bloque de fluidos para esto. Entonces este va a ser el bloque BOD Lewis porque una vez más, no tenemos acceso al constructor. Se trata de un bloque fluido pasa por encima de este gran constructor métrica super. Y entonces sólo vamos a hacer esto público también. Y a menos que vaya a ser un bloque de fluidos, y el primer parámetro va a ser fluidos, no dinero, sigue siendo muy importante. Y entonces aquí vamos a decir en realidad material de ajustes de tela sobre. Y luego vamos a materializar el del agua. Tan solo para asegurarnos de que esto funcione, vamos a decir que no colisión y no opaco para que tengamos y tampoco caiga nada porque, bueno, de hecho agua o en este caso gota de líquido de miel, bloquee apoyos nada. Entonces eso es eso. Y luego en la, una vez más, la clase fluida de miel, en primer lugar, el artículo de cubo, muy fácil. Más artículos que en el cubo. Muy bonito. Y luego aquí abajo, hemos, por ejemplo, podemos ver que aquí tenemos algunas partículas, que estamos en este momento no van a cambiar, pero podrías hacer tus propios tipos de partículas y por ejemplo, tienen miel goteando ahí. Algo así. Ten esto partidos aquí, que tenemos que sustituirlo por fluidos mod, miel todavía, y fluidos. En el soplado. Entonces aquí, el estado de dos cuadras. E importante que los bloques puntean agua reemplazada por más bloques, ese líquido de miel. Esto debería estar bien porque esto es por supuesto también un bloque de fluidos. Por lo tanto, va a heredar las propiedades de los Estados de bloque de la misma. Y en realidad creo que eso son todos los cambios que tenemos que hacer aquí. Hemos hecho referencia al bloque, los fluidos, y al artículo. Eso es más o menos. Y ahora sí necesitamos hacer es registrar el manejador de fluidos y el manejador de renderizado de fluidos. Ahora en realidad voy a hacer esto dentro de aquí. Probablemente podrías hacer si tienes múltiples fluidos, sugiero hacer una clase personalizada básicamente que lo OLS. Y la forma en que vamos a hacer es la siguiente. Vamos a decir fluido o renderizar registro auxiliar, exactamente esta instancia en registro. Y entonces esto va a ser más fluidos en ISS todavía. Entonces lo que vamos a tener que ver con estos cuatro cuernos aún soplando también. Y luego vamos a hacer un nuevo manejador de renderizado de fluidos simple. Muy agradable porque esto ha sido básicamente proporcionado por nosotros o por tela o esta real o 118. Y voy a decir simple manejador de fluidos y vamos a decir agua todavía. Y lo que voy a hacer es que voy a hacer una coma y voy a copiar esto. Vamos a necesitar poner tres diferentes, así que vamos a mantener el agua todavía tres veces aquí y luego cambiar ésta por agua que fluye. Y entonces la última va a ser superposición de agua. Muy importante que elijas la superposición de agua porque los puntos básicamente a la textura del agua, pero la textura del agua es en realidad gris. Y esto nos permite añadir un cuarto parámetro aquí. Y ese va a ser el tinte. Yo sólo voy a tomar esto, este es básicamente el tinte de la miel que he elegido, y este es básicamente el color que tendrá el fluido real. Entonces esto es solo un valor RGB en hex. Entonces no sería demasiado loco. Y voy a decir lo mismo aquí para que la miel fluya. Y entonces lo último que vamos a necesitar es antes que nada, la traducción para el cubo. Por lo que la miel subraya cubos y el cubo de miel ahí. Y luego un modelo de bloque. Ahora esto en realidad va a ser tan fácil. Entonces sólo voy a copiar sobre este. Voy a decir Honey underscore bucket. Y esto simplemente se refiere a una textura de cubo de subrayado de miel, que también va a copiar muy fácilmente. Aquí mismo. Ahí vas. Entonces hay una cosa más que es muy importante que tenemos que hacer, y eso es debajo de la carpeta de datos o etiquetas de Minecraft, vas a tener que hacer un nuevo Directorio contener fluidos. Y en lugar de que van a hacer una nueva etiqueta llamada regada adyacente. Y sólo vamos a copiar el contenido de las paredes, aquí Jason. Y vamos a cambiar esto por curso MC. Y esto va a tener que incluir tanto la miel todavía, ¿no? Miel subrayado todavía, así como en el guión bajo que fluye. Por lo que esto básicamente representa la física de todo el calvario, por así decirlo. Entonces va a tener la misma física que el agua. Eso es lo mejor que puedo hacer por el momento. No obstante, eso es todo lo que vamos a necesitar para esto, aunque es bastante complicado. Hay muchas cosas y por supuesto también hay cosas que quizá quieras cambiar. Los tipos de partículas aquí, por ejemplo, hay un montón de cosas que aún se podría hacer en teoría. Pero en general, solo quería, primer lugar, mostrarte cómo realmente puedes hacerlo. Y esto esperemos que sea bastante sencillo. Entonces por el bien de finalización, veamos si funciona. Muy bien, las finanzas de nuevo en mente, como se puede ver, el cubo de miel se ha agregado al juego. A ver si funciona. Y sí, en realidad sí funciona y fue muy interesante es que en realidad he hecho esto infinito por el momento. Pero en realidad podemos cambiar esto muy, muy fácilmente. Este es en realidad un cambio muy fácil. Y también se puede ver que lo tengo fluyendo. Por ejemplo, se puede ver que las partículas aquí siguen siendo las partículas normales de agua. Eso es más o menos lo que he dicho que, ya sabes, podría querer que se cambie en un poco de capacidad, pero en general, va a estar bien. Y luego también si te metes en ella, puedes ver que la superposición aquí también es azul. Realmente no hay mucho que podamos hacer al respecto por el momento. Al menos no he encontrado cómo se puede recolorear eso. Pero por el momento, quiero decir, es sigue siendo un top fluido completamente personalizado que en realidad es bastante cool. Y por el sake de finalización en realidad también. Vamos a ver realmente cómo deshacerse del infinito aquí, ¿verdad? En realidad es muy, muy fácil. Este booleano aquí es infinito, es igual a falso, y eso es literalmente todo lo que hay a él. Entonces eso es todo lo que hay. Y por supuesto hay algunas otras cosas como la velocidad de flujo git, que obtener disminución de nivel por bloque, un tick, tasa de tick, Europa última resistencia aunque. El nivel del todavía fluido lo, hay un montón de cosas que puedes hacer y tú, recomiendo una vez más, está jugando un poco con los números, probando un montón de cosas, ya sabes, estar abiertos a la experimentación con esto, entonces estoy seguro de que puedes implementar el fluido de tus sueños, por así decirlo. Pero eso ya sería para esta conferencia aquí mismo. Espero que te haya parecido útil esto y hayas aprendido algo nuevo. Te veré en la próxima conferencia. Entonces, sí. 82. (intermedio) Modify los pies de oot en lote que se Modify: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia, vamos a estar echando un vistazo a cómo se puede modificar unas tablas de laúd. Entonces, antes que nada, se podría decir: Espera, ya hemos hecho unas mesas lascivas en el comienzo mismo del curso. Sabemos agregar tablas lw. Sí. Pero lo que no sabes es cómo puedes agregar lascivos dos bloques que ya existen en vainilla. Y eso es lo que vamos a echar un vistazo en esta conferencia aquí mismo. Para eso en el paquete util, haga clic derecho en nueva clase Java. Estos van a ser los modificadores mod, tabla de botín. Y en realidad voy a copiar todo el contenido y vamos a explicar a medida que avancemos. Ahora hay por supuesto, todo disponible para ti en el repositorio de GitHub o en individual igual de bien. Y la idea general aquí es que antes que nada, no vamos a agregar semillas de pimienta, sino claro, semillas de nabo aquí mismo. Y entonces la idea general es que tengamos tres suero identificador esos puntos a una tabla de luge específica. Entonces la mesa Lu, cuando bajamos a las bibliotecas externas, este derecho, net proyecto Minecraft y así sucesivamente. A la vista de la carpeta de datos, tablas de luge, bloquea las entidades de pecho de juego. Y básicamente puedes decir eso así como puedes ver y luego yo puedo ver, de acuerdo. ¿ Hay un cofre de iglú ahí dentro? Eso es exactamente lo que está aquí, que básicamente tomas el nombre sin el JSON. Muy importante. Y también lo puedes tener en las casas aquí también, por ejemplo. Y cosas así. Por lo que básicamente puedes modificar cualquiera de esas tablas. Ahora en teoría, creo que podría quitárselo. Muy recomendable no hacer eso. Muy recomendable solo agregar cosas. Ahora cómo añades cosas con este constructor de pool loop fabric. Ahora esto es lo que va a ser lo más complicado. El asunto es que tengo un ejemplo de esto aquí donde básicamente tienes una oportunidad particular de que algo caiga. También puedes ponerle esto a uno y luego tienes un 100% de probabilidad de dejarlo caer. Y luego aquí con esta función de ancho, con la función de carga SetCount y un proveedor de números de carga uniforme. Básicamente podemos decir que esto tiene, esto cae entre este número y este número de ítems. Pero como se puede ver claramente sobre la varilla dowsing dentro del cofre de iglú así como el hígado de carbones de la enredadera sólo va a caer alguna vez una, mientras que las semillas de nabo de la hierba caen una o dos. Y sólo como un 35 por ciento de probabilidad de caer realmente si vamos al constructor de piscinas de bucle aquí, bueno, en realidad no se puede ver lo que está pasando aquí. No obstante, es muy complicado. Entonces sólo vas a tener que probar un montón de cosas básicamente. Ves, por ejemplo, un condicionalmente, bien, ¿ qué se ponen aquí? Bueno, puedo meter aquí al constructor. Está bien, bastante justo. Entonces si pudiéramos echar un vistazo a esto, tengo que tomar este constructor de condiciones de bucle. Por lo que puedes ver esto es un constructor de condiciones de bucle. Y podría decir, por ejemplo, personalmente condición de bucle y presionar Control H y ver todas las diferentes condiciones de carga que hay. Entonces esta es una de esas cosas Eso es bastante cool, donde la jerarquía aquí es increíblemente útil para esto. Por ejemplo, tienes el bucle de comprobación de tiempo, condición de bucle, que es realmente genial. Tenemos la condición de partido a bucle. Tenemos la condición de loop player kilobyte y todo ese jazz. Entonces hay un montón de cosas que básicamente puedes poner aquí. Es solo cuestión de que tengas que probar un montón de cosas. Y básicamente, bueno, es una especie de y admito que esto es una especie de simplemente correr contra la pared con la cabeza hasta que, ya sabes, básicamente funciona. Por lo que hay mucho de probarlo. Pero si querías, si tienes algo realmente complicado donde quieres agregarlo a algo, entonces solo va a ser así. Pero cualquiera que sea el caso. Entonces como puedes ver aquí, básicamente estamos llamando a la tabla de botín cargando evento de devolución de llamada. Y entonces estás diciendo, oye, si el año ID coincide con la idea que hemos especificado aquí arriba, si el ID del bloque de hierba es igual al ID aquí, entonces vamos a agregarlo a, entonces vamos a sumar todo de esto a la mesa de loo. Entonces esa es la idea general. Y entonces vamos a hacer lo mismo. Y el iglú y luego la enredadera también, donde añadimos la astillada de carbón aquí, la varilla de dowsing y aquí las semillas de nabo. Y lo único que tenemos que hacer entonces es entrar en nuestro, bueno MSE curso mod As y luego solo llamar a los modificadores de tabla de botín mod que importan las tablas de compañeros. Y eso es todo. Eso es todo lo que hay a ello. Y si queremos agregar algo, simplemente lo copiamos, hacemos un nuevo identificador, agregamos otra declaración if en un montón de cosas por aquí. Y eso es todo. Eso es todo lo que tenemos que hacer. Aunque. Supongo que eso ha recibido las obras para nos encuentra un Minecraft. Entonces, primero que nada matemos a una enredadera NSC. Ahí está. Una astillas de carbón ha caído de la enredadera. Y entonces vamos en realidad, primero que nada, voy a matar a esta enredadera porque lo contrario vamos a pasarlo mal. Además, bajemos un poco el volumen. Aquí está un poco ruidoso para mí. Entonces van y pongamos un modo de supervivencia y vamos a caer ahí. Se puede ver que ya tuvimos suerte en la primera vez. En realidad, los asientos de nabo están cayendo. Y sólo sepan que tenemos en absoluto. Busquemos también un iglú rápidamente. Bueno, ¿mirarías eso? Ahí hay una varilla de dowsing. Entonces eso es realmente lo fácil que es agregar lo aludido a las tablas de botín ya existentes, ¿verdad? Todo el código es por supuesto, una vez más disponible en el repositorio de GitHub o en un individuo igual de bien. Y esto también lo es para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Si lo hicieras, te agradecería mucho que te hicieras una crítica. De lo contrario, te veo en la próxima conferencia, sin embargo. Sí. 83. (intermedio): Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia, vamos a estar echando un vistazo a los avances. Por lo que los avances se hacen a través de archivos JSON. Entonces lo que vamos a hacer es ir a nuestra carpeta de datos en la carpeta del curso MC, hacer clic derecho en nuevo directorio y avances fríos, asegurándonos de que estamos leyendo esto correctamente. Los objetivos que es muy importante. Y en realidad voy a copiar sobre los dos archivos básicos que ya están preparados y voy a explicar, correcto. Por lo que puedes ver tengo el avance de archivo MC curso JSON y la varilla de dowsing avance avanzado. Y esos dos son un poco diferentes. Pero lo que está pasando aquí es que tenemos un avance. Estamos, que es básicamente el tabulador. Por lo que esto crea una nueva pestaña Avance. Si el avance no tiene padre, se puede ver que esto es evidente. Curso Mc. Curso Mc. De acuerdo, bastante seguro. Y entonces éste no tiene padre, sino que tiene antecedentes. Y el trasfondo en realidad tiene que ser este específico. Es muy extraño, pero tiene que ser que tengan que poner en tu ID y luego bloque de texturas, y luego lo que sea bloque, por ejemplo, no estabas en el fondo, o por supuesto también podrías poner en una carpeta diferente, en una carpeta diferente, en la carpeta de texturas que también funcionaría, pero el resto debería ser bastante autoexplicativo. Tienes un artículo, consigue un título, ese es solo el título del avance real. Y entonces tendremos un poco de descripción aquí. ¿ Cuál es el marco está en una tarea? Ahora creo que en realidad puedes simplemente entrar aquí. También hay reto y así. Entonces hay una visión diferente, cosas diferentes. Entonces tostadoras, así que esto va a ser si va a mostrar o no el brindis en la parte superior derecha de la pantalla, luego anunció cerrado. Bueno, eso debería ser bastante autoexplicativo. Y ahora son algo realmente difícil digamos que son los criterios. Porque aquí nos metemos en los requisitos y en los desencadenantes y en las condiciones, sin embargo, sólo vamos a echar un vistazo a esto en general. No vamos a hacer ninguna condición personalizada o desencadenantes porque eso va a ser mucho, mucho más duro y eso en realidad es algo que es mucho más complejo en este momento. Pero por el momento, sólo vamos a echar un vistazo al gatillo de cambio de inventario aquí mismo. Esto significa que si consigo un oráculo entra, mete a mi inventario, entonces lo que va a pasar es que voy a conseguir este avance. Y luego lo mismo con la varilla de dowsing, ¿verdad? Si consigo una varilla de dowsing en mi inventario y voy a conseguir este avance. Entonces ese es el año de la idea general. Y una vez más, tengo un gran recurso para ti, que es una vez más, por supuesto Miss viejo GitHub IO, donde básicamente puedes generar los archivos JSON para los avances aquí, esto es en realidad igual que insanamente genial. Podríamos ver, por ejemplo, las condiciones. Y luego hay como unas cuantas condiciones diferentes. Podemos decir, ¿cuál es el requisito aquí? Y se puede ver que hay múltiples requisitos diferentes. Por ejemplo, usando artículo incluso hay posiblemente algún animal de pan aligeramiento canalizado. Entonces como puedes ver, hay un montón de cosas que básicamente puedes poner aquí. Tick, incluso toma listas, mira tics, o hay muchas cosas que puedes hacer alguna entidad. Recomiendo encarecidamente solo jugar un poco con esto. Y luego por supuesto, también hay siempre en GitHub repositorios de modos populares donde también puedes simplemente echar un vistazo a sus avances. Muy recomendable, que a veces solo necesitas pensarlo un poco. Ahora bien, si bien los avances no son más importante, ya sabes, todavía pueden ser una adición bastante cool a tu tapete. Y solo por el bien de la finalización, veamos si funciona, pero asegúrate de hacer primero un nuevo mundo porque si alguna vez tuviste alguno de esos artículos en tu inventario, vas a conseguir los avances de inmediato. Lo mejor para hacer un mundo nuevo. Esa es una idea muy inteligente, o nos encontramos en Minecraft. Entonces veamos, y saquemos aquí la tarifa del lingote. Entonces vamos sólo y ahí está, para que consigamos el avance aquí mismo, nuestras mentiras en la telecomunicación. Y si entramos en los avances, se puede ver que ya tenemos el avance de la varilla de dowsing aquí, como esperarnos por así decirlo. Simplemente consigo otro avance. Entonces si solo consigo, por ejemplo, la Inglaterra de hierro, que nos den otra ficha. Y puedes ver la pestaña de Minecraft y aquí como el curso MC pestaña Modelo para el nombre de la pestaña siempre va a ser el nombre del primer avance. Pero esa es básicamente la idea general aquí. Aparte de eso, saquemos también la varilla de dowsing, y también vamos a conseguir eso. Pero no funciona. Son autoras como tú. Eso es por lo menos lo que he escuchado. Y vamos a ver, aquí mismo. Ahí vas. Por lo que todo funcionando totalmente bien allá ya sería para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Y nos vemos en la próxima conferencia. Entonces, sí. 84. (Intermedio) cómo llevar las partículas: Muy bien, bienvenido de nuevo al caballo de tela por 118. Y en esta conferencia, vamos a estar echando un vistazo a cómo se pueden engendrar partículas al mundo. Ahora, lo específico que vamos a ver es básicamente poseer las partículas en el bloque SPD. Entonces básicamente en este ejemplo en particular, cómo se puede engendrar una partículas en un bloque. Y entonces generalmente, por ejemplo, para entidades o turbas, esto debería ser muy similar en realidad. Entonces, en general, lo que necesitas es solo una variable World y necesitas estar en el cliente. Y para eso lo vamos a anular el método de tick de visualización aleatoria. Y este básicamente sólo se llama al cliente y tenemos un mundo de variable. Entonces eso es más o menos exactamente lo que necesitamos. Y lo que voy a hacer es realmente copiar sobre el contenido de esto está todo disponible para ustedes en el repositorio de GitHub o un individuo justo, bueno. Y verás aquí, básicamente tienes una oportunidad. Pero tenemos un 35 por ciento de probabilidad que estas partículas se engenden básicamente, y siempre estamos haciendo un nuevo flotador. Entonces a veces tenemos a los cuatro pequeños y a veces no tenemos ninguno de ellos engendrado. Esa es una especie de idea general. Y se puede ver que la forma de engendrar una partícula es llamar partícula mundial punto-punto. Y necesitamos suministrar un tipo de partícula. Está usando el botón central del ratón. Haga clic en esto. hay un montón de tipos de partículas Aquíhay un montón de tipos de partículas, tipos de partículas por defecto. Se podría, en teoría también leer el suyo propio. Eso es algo que no vamos a ver en esta conferencia. Dondequiera que pudiéramos echar un vistazo a eso en una futura conferencia, no son un 100 por ciento seguro todavía. Y tenemos que suplir el puesto. Entonces posición x, y, y z. Se puede ver que siempre agrego un poco de aleatoriedad aquí para que no respondamos en la misma posición cada vez. Y luego la velocidad, bueno, esa es sólo la velocidad a la que se mueve esto. Y yo quería moverme hacia arriba. Y se puede ver que aquí, básicamente se mueve hacia arriba. Pero o bien podemos hacer humo, hay algunas otras cosas como ceniza, hay explosión. Por lo que hay muchos tipos de partículas diferentes. Pero nos vamos a quedar con esto por el momento. Y solo llamar a esto cuatro veces solo lo hace para que haya un poco más de esas partículas que están siendo propiedad dondequiera que tengas una variable World, solo puedes hacer una declaración if. Si el mundo es cliente y entonces puedes llamar a la partícula es que sólo va a funcionar en el lado del cliente. Eso es muy importante. Eso es algo en mente. Pero de lo contrario, por el bien de la finalización, sólo veamos si funciona. O firmas anunciadas de nuevo en Minecraft y vamos a ver Ahí están. Estas pequeñas partículas ya están subiendo del bloque SPD. Se puede ver si lo pongo abajo, ver algunos de ellos se están levantando. Y definitivamente es solo un aleatorio mientras básicamente llama. Y por supuesto siempre podrías llamar más o menos dependiendo de lo que quieras hacer, pero eso siempre es una posibilidad. Pero esa es la idea general. Engendrar las partículas, bueno, específicamente en bloques, pero más o menos en cualquier otra cosa está llamando al mundo a nuestro método de partículas, ¿verdad? Pero eso ya sería para esta conferencia aquí mismo. Espero que esto te resulte útil y aprenda en el Nuevo, y te veré en la próxima conferencia sin embargo. Sí. 85. (intermedio) Pinturas personalizadas: Muy bien, bienvenido de nuevo al curso de telas para 118. En esta conferencia, vamos a estar agregando pinturas personalizadas a Minecraft. Y en pinturas personalizadas es en realidad un proceso muy, muy sencillo en el paquete del curso MC, haga clic derecho en nuevo paquete llamado pintura. Entonces en lugar de ahí vamos a hacer clic con el botón derecho nuevas pinturas en modo clase Java. Y luego dentro de ahí, sólo vamos a necesitar unas cuantas cosas a los métodos para ser exactos. Una pintura estática privada, un motivo, registrar la pintura con un parámetro de nombre de cuerda y un motivo de pintura, motivo final. Eso está bien. Devolvamos registro de datos de registro, registro dot pintura motivo con un nuevo identificador, MC curso mod n mod nombre ID. Después de los primeros paréntesis, vamos a pasar en el motivo de la pintura, luego terminarlo con punto y coma. El poder también es muy importante. Necesitamos un método de registro de pinturas de vacío estático público justo aquí solo se va a sistema fuera de línea de impresión registrando pinturas para identificación impar. Sólo para que tengamos esto porque en realidad tenemos que llamar a eso de lado del método mod del curso MC aquí. Entonces en el método on inicializado, solo vamos a hacer esto justo después de los registros modales. Entonces sobre pinturas que registran pinturas. Y ahora en adelante vamos a sumar realmente las pinturas. Bueno, ¿cómo se hace esto? Bueno, en realidad también es muy sencillo. Motivo de pintura final estático público al atardecer aquí. Y sólo vamos a decir registrar pintura con el nombre atardecer. Y luego un nuevo motivo de pintura, que apenas toma dos enteros, el ancho de la imagen y la altura de esos valores aquí están en píxeles básicamente. Sí, siempre y cuando coincidan, todo está, debería estar bien. Entonces, solo duplicemos estos tiempos con Control D. Y solo vamos a sumar también lo planeado y el vagabundo también. Y luego asegurarnos de que cambiemos el nombre dice bien planeado y maravillarse. Y luego los tamaños como bien planeados un 16 por 16, y éste en realidad se extienden por 32. Esto para que tengas como un par de ejemplos. Y entonces la pregunta es, bueno, pero ¿de dónde sacamos las pinturas? Bueno, en primer lugar, las pinturas que tengo están hechas también por platino G.711. Por lo que si desea usarlos, tenga en cuenta la licencia. Si desea utilizarlos en su MOD público como, éstos, anote la licencia. De lo contrario, sólo copiemos esos más. Entonces esos en realidad entrarán en tu carpeta de texturas aquí mismo, ¿verdad? Entonces en los activos MC texturas gruesas, y luego pintar. Y luego ahí están. Los tres cuadros, los nombres aquí por supuesto tienen que coincidir con lo que el nombre está aquí. Será bastante autoexplicativo en este punto del tiempo. Y mientras que el resto sólo se va a cuidar de sí mismo básicamente. Entonces eso es todo lo que necesitas. Necesitas las pinturas de esta clase y muy importante que llames aquí a este método. De lo contrario no funcionará. Bueno. Sólo veamos por obras. Muy bien, nos encontramos de vuelta en Minecraft y ya tengo las pinturas. Vamos a ponerlo abajo y veamos si podemos tener alguna cuadra para conseguir nuestro pitting ahí está. Ahí está el primero. Pero vamos a ver qué es este no, eso no es. No va a nuestra puesta de sol o lo vamos a conseguir en algún momento. Yo estoy muy seguro, como se puede ver, básicamente están ahí está. Ahí está el siguiente. Y vamos a ver, Echemos un vistazo. Bueno, eso no va a funcionar, pero éste va a funcionar. Entonces, solo hagamos eso. Y vamos a ver si podemos conseguir el pequeño de los 16 por 16 también. Entonces la idea general es, como se puede decir claramente ahí está. Así es que las pinturas básicamente se suman a la rotación de la pintura normal. Pero esto en realidad es realmente genial y bueno, básicamente ahora podrías agregar cualquier pintura y sí, puedes hacerlos tan grandes y tan hermosos y como lo que básicamente quieras 0. Puede ser cualquier cosa que quieras, siempre y cuando se adhieran a los centros normales y haya archivo PNG en tu carpeta de texturas. De hecho eso es lo fácil que puede ser, ¿verdad? Pero eso ya sería para esta conferencia aquí mismo. Espero que te haya parecido útil esto y aprendas algo lo nuevo. Y nos vemos en la próxima conferencia. Ah, sí. 86. (Avanzado) entidad en bloque personalizado: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia, vamos a estar agregando una entidad de bloque personalizada a Minecraft. Ahora, como probablemente habrás visto esto como una conferencia más larga porque este es un tema muy complejo. Y lo que en realidad sugiero altamente es ver esta conferencia y la siguiente conferencia en retroceso al mismo tiempo. Entonces básicamente Mac tabaco, porque la próxima conferencia se relaciona de inmediato con esto y en realidad haremos que la entidad de bloque funcione un poco mejor. El segundo que quería mencionar es que si alguna vez digo entidad de azulejo, me refiero a entidad de bloque, básicamente fue renombrado en 117. Y así todavía tengo a veces todavía uso el nombre de la entidad del azulejo. Simplemente es lo que es pero entonces me refiero a entidad Brock. Y también voy a copiar mucho el código y luego básicamente lo explicaremos a través de él porque solo escribir todo esto es una tontería. Aunque no tiene ningún sentido. Por favor, tenga en cuenta. Ahí está el repositorio de GitHub y hay individual justo donde básicamente puedes copiar todo el código también, sin embargo. No necesitas preocuparte por ello en absoluto. Tienes todo a tu alcance, así que no te preocupes ahí. De acuerdo, Así que empecemos. Lo primero que vamos a necesitar es que realmente vamos a necesitar un, algo en el paquete de artículos, y eso va a ser un paquete nuevo, inventario viejo. Entonces dentro de ahí, vamos a hacer una nueva interfaz aunque aquí mismo, nueva interfaz de clase Java. Este es todo el inventario implementado. Y una vez más, como dije, nuestro caviar, la totalidad de esto, que está todo disponible para ustedes por supuesto, en esto en realidad no es tan interesante. La idea general es que en primer lugar, el Juan por judíos y, o justicia supongo. Y esto es de dominio público. Entonces no te preocupes ahí podemos usarlo. Pero aún así todo el crédito va a sólo por esto, En realidad es muy útil el año de inventario implementado. Y la idea general es que cuando implementamos esta interfaz en nuestra impresionante entidad Brock, básicamente podemos usar muy fácilmente el inventario que se asocia con él. Pero esa es la idea general. Simplemente vamos a necesitar esto y básicamente no volveremos a mirar esto porque esto es casi como perfectamente hecho ya. Pero no necesitamos nada más ahí antes de que sólo nos vayamos a sumergir en la entidad de bloques, les voy a mostrar un poco de la teoría detrás de la entidad de bloque. Y para eso, claro, vamos a romper las diapositivas de PowerPoint. Esta es la idea general de una entidad de bloque. Son cuatro partes. Ahí está la clase de bloque II, entidad de bloque, la clase de manejador de pantalla, y la clase de pantalla. Lo que es muy importante aquí es que en general, la clase de bloque es probablemente una de las más fáciles. Aquí es justo donde haces clic con el botón derecho y luego sucede algo en la entidad Brock porque la entidad de bloque crea entonces el manejador de pantalla. El manejador de pantalla básicamente maneja la pantalla. Suena una locura, pero la idea es que aquí está pasando una separación porque la clase de pantalla, Vamos a empezar aquí es sólo cliente. De acuerdo, Entonces esto significa que literalmente es sólo esta imagen. Ahí hay algunos matices. Por supuesto, podemos mostrar las flechas de progreso. Podemos exhibir aquí a los compradores, cosas así. Sí. Pero es sólo esta imagen. Podría reemplazar la imagen por una imagen de mi cara o una imagen con un perro o lo que quiera. Y el manejador de pantalla, al igual que las ranuras reales aquí, todavía funcionarían. No necesitan que se vean así. Esa es una lección muy importante que tanto necesitas, bueno métete en la cabeza. Es muy importante. Esta es solo la pantalla, esto es solo el cliente, solo esta imagen. Ahora, la clase de pantalla aquí sin embargo, tiene una referencia al manejador de pantalla. Y el manejador tiene las ranuras en el inventario, como puedes ver marcando esto con azul para el inventario de jugadores y el hot bar. Y luego en como rosa violeta, tenemos el, bueno básicamente las ranuras personalizadas con la pantalla Handler también lo hace es puede sincronizar valores desde la entidad de bloque, el servidor y el cliente. Ahora eso es algo que es muy importante y que esto también es algo que vamos a ver en la próxima conferencia en realidad, porque esto requiere algo más de configuración, por así decirlo. Y sólo lo vamos a almacenar por, en primer lugar, tener una entidad de bloque normal que va a hacer algunas cosas interesantes. Pero eso es algo muy, muy importante. Y luego sincronizando esos valores, entonces podemos usarlos en la clase de pantalla. Por ejemplo, mostrar aquí la flecha de progreso correctamente. Esa es la idea general. Ahora la propia entidad de bloque, lo que ésta contiene datos y funcionalidad para un bloque. Esa es la idea general. Y entonces también puede tener un inventario. Para este inventario, como dije, es una especie de manejado por el manejador de pantalla. Hay un acoplamiento muy apretado entre éste y éste. Y entonces no hay demasiado apretado de un acoplamiento entre estos dos es simplemente básicamente tiene una referencia. Entonces con la clase de bloque solo tiene una referencia aquí. Por lo que esos dos definitivamente están más estrechamente relacionados. Hay una relación un poco apretada entre, por supuesto, la pantalla y el manejador de pantalla ya que tienen ambas pantallas en el nombre, para ser una muy buena indicación que tienen algo que ver entre sí . Pero en general, esa es la idea general, esa es la teoría general detrás de ella. No es nada demasiado loco, si algo aquí es un poco confuso, no te preocupes por ello. Espero poder aclararlo una vez que realmente estemos programando todo esto. Pero sólo volvamos a la inteligencia. Y ahora hagamos la entidad de bloque real. Por lo que en nuestro paquete de bloques, haga clic derecho en nuevo paquete llamado entidad. Y luego dentro de ahí vamos a necesitar conocer las cláusulas, el bloqueo de modo en esa clase. Y luego también el calcio libre. Entidad de la risa, ¿verdad? Y ahí está. Por lo que esto va a extender la entidad de bloque. Y se va a implementar el nombre de la fábrica de manejador de pantalla coma implementado inventario, el que ya hemos hecho. Vamos a pasar el rato sobre esto, digamos Implementar métodos y digamos, Vale, voy a pasar el ratón otra vez, crear constructor que coincida super. Y ahora deberíamos estar contentos con esto. Por lo que los GetItems aquí se puede ver nulo. Bueno, podemos cambiar esto muy fácilmente porque ahora vamos a agregar una lista privada final impagada de pila de artículos con la que se llama el inventario. Y esto va a ser igual a un valor predeterminado, una lista de tamaño cuatro con item stack dot AMD. Y este va a ser nuestro inventario. Esas van a ser nuestras cuatro ranuras. Entonces tiene sentido. Y podemos simplemente devolver esto aquí mismo. Entonces inventario, solo devolviéndolo. Y eso debería estar bien para el texto de visualización. Este es el texto que se muestra en la parte superior de la interfaz de usuario. Simplemente vamos a ahorrar por el momento siendo nuevo texto literal. O puede venir blaster, Eso va a estar bien. Eso está totalmente bien. Por lo que el menú Crear aquí, en realidad tenemos que suministrar un manejador de pantalla como se puede ver. Ahora, lo que voy a hacer es que a propósito voy a hacer esto a, un error porque de lo contrario probablemente lo olvidaré porque como dije, hay muchas cosas que tenemos que hacer aquí. Aunque. Es por eso que estoy haciendo esto con propósito y error. No vamos a correr al cliente por bastante tiempo de todos modos, así que ruido ahí. Entonces lo que también necesitábamos hacer es eliminar el primer parámetro aquí o el otro constructor. Y luego tenemos que hacer el resto dentro de las entidades del bloque MOD. Y lo que vamos a hacer es decir un bloque público estático, entidad tipo de tipo o recalc y explosión renta t Vamos a llamar a esto el oráculo de ingresos subrayan blaster. Ahora en realidad no vamos a asignar esto a nada, porque lo que vamos a hacer es que vamos a tener una estática pública, nula, registro, todas las entidades así exactamente. Entonces lo que voy a hacer es que voy a copiar sobre esto y estoy dispuesto a explicar a medida que avancemos. Entonces, ¿qué es esto? Entonces vamos a llamar a registro que se registren para el tipo de entidad de bloque. Todo eso debería ser bastante autoexplicativo con un nuevo identificador de Armada D y el Oráculo puede blaster. De acuerdo, y luego vamos a llamar al constructor de tipo entidad de bloque absoluto en creat con el Oracle puede explosión o colon de entidad, colon sabía, bueno, esto va a crear un nuevo o un pelícano entidad blaster, y luego esto se asigna a un bloque en particular. Este bloque va a ser el bloque que al hacer clic derecho en él, esta entidad se le asigna. Y en realidad tendremos que cambiar algo en la propia clase de bloque también. Por lo que el Oracle puede estallar o bloquear clase. Vamos a tener que cambiar algunas cosas ahí también. Pero por el momento, vamos a estar bien con esto. Y en realidad voy a hacer esto un poco diferente. Eso está bien, Eso está bien. Y entonces este registro todas las entidades método tiene que ser llamado en el modo MC curso mod class. Pero eso también es muy importante. Sólo vamos a llamar a esto aquí mismo. Entonces bloquear entidades, he registrado entidad, así que es muy importante, lo contrario vamos a conseguir no toda una flecha, pero no va a poder guardar los datos correctamente. Entonces por eso vamos a necesitar esto. Y entonces en lugar del tipo que no tenemos, podemos ver más entidades de libros que Oracle puede Blaster. Y ahora todas las flechas excepto la que quiero tener se ha ido. Y básicamente podemos proceder a abrir la clase amplia, que va a ser el Oracle puede voltear o bloquear. Ahora ya hemos hecho cosas aquí dentro que es completamente independiente de lo que tengamos. Entonces básicamente la propiedad de dirección y todo eso, realmente no nos importa en el sentido de que también puedes tener un bloque que no tenga esas cosas, ¿verdad? Esos son independientes el uno del otro. Pero lo que vamos a hacer es extender el bloque con clase de entidad y vamos a implementar la interfaz de proveedor de entidad de bloque. Vamos a pasar el rato sobre este Implementar Métodos. Usa el método Create block entity que necesitamos implementar aquí. Y entonces el resto va a ser una multa totalmente. Ahora tenemos esto en realidad ya podemos hacer, pero aquí sólo vamos a decir nuevo o una vaca puede explosión o entidad con una posición en el estado. Y entonces eso ya está hecho aquí mismo. De hecho eso es lo fácil que puede ser. También habrá que hacer es necesitamos API sobre el tipo de render. Entonces solo voy a copiar sobre este método. Es necesario anular el método get render type. Porque cuando anula esta clase, se puede ver que es invisible. No estoy seguro de si es el caso de una por la razón que sea sólo necesitamos anular esto. Eso está bien. Entonces lo que también voy a anular es el método de reemplazo en estado con algunas cosas aquí, como ya he mencionado, todo el código está disponible para ti en el repositorio de GitHub o en individual igual de bien. Entonces no te preocupes, puedes copiar todo eso también. Y este método en realidad es realmente, realmente jodidamente cool. Ahí está, esto simplemente dejará caer todos los insights de la Oráculo puede explosión o entidad justo en el piso. Entonces esto es básicamente lo que hace esto, en realidad es realmente jodidamente cool. Y solo recomiendo encarecidamente solo usar esto también, porque eso es inmediatamente solo cae todo el inventario cuando destruyes el bloque. Y luego hay una cosa más por supuesto, y esos son los métodos de Estados Unidos. Entonces como el método de clic derecho cuando también pongo esto aquí abajo. Entonces puedes ver que lo que básicamente voy a hacer es que voy a decir, oye, si estoy en el río, entonces voy a decir, Hey, hacer una nueva fábrica de manejadores de pantalla. Y mientras esto no sea nulo, entonces puedo abrir la pantalla manejada. Y esto es, esto básicamente hace que las cosas en movimiento levanten el manejador de pantalla a través la entidad de bloque y así sucesivamente y así sucesivamente. Y entonces básicamente abre la pantalla, pero esos son los principales métodos que vamos a necesitar. Entonces hay un método más que vamos a necesitar, y ese es el método get ticker. Pero este es el ticker de aquí. Yo sólo voy a conseguir ticker. Entonces puedes ver lo que realmente voy a devolver es que voy a devolver el tipo de cheque, bombo y entidades de bloque sin marcar, no recalc blaster. Y luego voy a decir o RCA compleja entidad colon, garrapata de colon. Ahora esto, por supuesto que no tenemos todavía porque no tenemos un método de tic en nuestro Oracle puede explosión o entidad, pero esto es lo que voy a añadir también. Por lo que esto básicamente habilita la capacidad de tic para tu entidad de bloque. Entonces toma, probablemente has escuchado esto es un 125 de segundo y básicamente se va a hacer constantemente, ¿verdad? Entonces cada tick, por lo que cada 125 de segundo, algo puede pasar. Y esto es exactamente lo que queremos hacer dentro de nuestra entidad. Cada tick ahora podemos hacer algo. Y la forma en que vamos a hacer esto, voy a copiar más de 1234 métodos. Entonces esa es una vez el método de tick vacío estático público, y luego tres métodos personalizados que se van a necesitar para demostrar cómo se puede, por ejemplo, elaborar algo. Ahora, este es un ejemplo crudo porque en la próxima conferencia, vamos a hacer civilización de recetas personalizadas y clientes tipos felices a lo largo palabra por básicamente decir que podemos hacer archivos JSON para nuestros propios como máquina, para nuestra propia entidad de bloque, que es realmente genial. Pero por el momento, vamos a usar esto sólo para que tengamos alguna funcionalidad aquí. Y se puede ver sin embargo, así que el método tick aquí, tiene cuatro parámetros, posición mundial, tenemos el estado, y tenemos la entidad misma. Ahora lo que es realmente genial es que la entidad, básicamente tenemos acceso a esto y podemos hacer lo que queramos con ella. Se puede ver lo que hago es que puedo decir, Hey, no tiene receta y no ha llegado a ese límite. Y luego elaboraré el artículo que es una especie de la idea general aquí. Y lo que voy a hacer aquí, puede ver es que sólo voy a quitar la primera pila, la pila de la ranura 0, de paradas lote uno y de la ranura dos. Y luego estoy enviando la pila en la ranura 3 al Oracle puede recoger x aquí y estoy obteniendo el mismo conteo. Entonces sólo voy a aumentar el conteo. Esa es una idea general. Y entonces aquí en realidad necesitamos poner tres ahí. Entonces eso es muy interesante ahí mismo. ¿ Qué se requiere para esto? Bueno, en la primera ranura, necesito haber llamado astilla, y la segunda ranura necesito tener un pico dorado. Y en la tercera ranura, o la ranura con índice dos, voy a tener que tener un lingote oráculo. Esa es la idea general. Y si todos esos son ciertos, y si la pila no ha llegado al límite, entonces podemos elaborar el objeto y luego la viga, el objeto está confeccionado. Ahora esto va a parecer similar en la próxima conferencia, pero un poco diferente. Porque una vez más, esta es sólo una forma muy cruda de codificar duro todo. Y te prometo que definitivamente no hagas esto. Esto es solo un ejemplo en este momento para esta conferencia, solo para que puedas ver cualquier funcionalidad. Siguiente conferencia, lo vamos a hacer correctamente. Hay muy bien con la serialización de la receta, lo recomiendo mucho. Por eso dije ver ambas conferencias una tras otra de inmediato, porque va a ser mucho, mucho mejor, ¿verdad? Pero en su mayor parte, la entidad de bloque se hace del manejador de pantalla aquí es lo último que tenemos que hacer. Pero para eso realmente vamos a necesitar el manejador de pantalla y la pantalla. Por lo que en el paquete del curso MC, haga clic derecho en nuevo paquete llamado pantalla. Y luego dentro de ahí, vamos a crear todo un montón de cosas. Bueno, los manejadores de pantalla modo, Ese es el primero. Y luego la segunda va a ser la pantalla de los blásteres recalc. Y luego va a haber el desenlace bláster en handler. Y eso va a estar bien. Y vamos a echar un vistazo al manejador de pantalla primero. Ese va a ser el más importante, uno de los más interesantes. Una vez más, en realidad copiaré la totalidad de la clase y la pasaremos pieza por pieza. No se preocupe ahí, ¿verdad? Entonces ahí lo tenemos. Y vamos a tener un teorema de flechas, sin preocupaciones, porque por supuesto, tenemos que poner el lanzador de pantalla oráculo. Esto es más o menos lo mismo que teníamos que hacer para la entidad de bloque, justo donde ahora estamos haciendo referencia a éste en lugar de simplemente obtener el tipo del parámetro. Y lo que también verás es aquí hay dos ranuras, que son por cualquier razón leer bien, esas son ranuras personalizadas. De hecho los voy a copiar también. Aunque. Son símbolos realmente, realmente frecuentes, como puedes ver, éste es muy sencillo. Y entonces los resultados son los pocos slot también es muy simple. Y entonces realmente podemos importar esos en el, en el ego. Y los voy a explicar en sólo un momento también. Pero en general, ¿qué está haciendo el manejador de pantalla? Bueno, básicamente, estamos revisando la talla Hayes la talla, ¿correcto? Bueno, en realidad tiene que ser cuatro. Entonces eso es muy interesante. Y básicamente estamos diciendo, oye, esto tiene todas las cosas que tenemos que hacer. Simplemente poniendo los campos aquí, el inventario, el mundo. No necesitamos al mundo todavía. Bueno, tal vez necesitamos al mundo en una conferencia posterior. Y luego agregamos nuestras propias ranuras. Y así es como los agregamos, esta ranura punto-punto, y luego hacemos una nueva ranura. Y se puede ver que aquí estoy haciendo una nueva ranura de combustible del motor porque aquí en realidad sólo quiero que se coloque combustible. Y luego en estas ranuras, sí me importa. Y entonces esta es la ranura de resultado. Tampoco quiero que el jugador esté colocando cosas ahí dentro, solo la entidad de teselas o el manejador de pantalla básicamente. Esto es muy fácil. Esto sólo anula el canon cierto método justo aquí y la ranura de combustible mod, en realidad básicamente tomé la mayor parte de esto de la ranura de combustible del horno abstracto. Pero ya sabes, como idea o básicamente, pero eso es casi todo lo que necesitas hacer. Los índices por supuesto solo cuentan, ¿verdad? 0, 1, 2, 3. Será bastante autoexplicativo también. Y luego la x e y aquí, eso va a ser algo que es muy interesante porque estas interesante porque estasson las coordenadas desde la esquina superior izquierda 000 hasta básicamente el lugar donde está la ranura va a estar en la interfaz de usuario real. Voy a copiar sobre la GUI que va en la carpeta de texturas, una GUI. Y entonces este es el Oracle puede explosión o GUI. Y voy a abrir esto. Y lo que básicamente explicaré es que la forma en que funciona es la siguiente. Eso si voy a hacer esto por ejemplo, ¿verdad? Eso se puede ver. Se puede ver eso, ¿verdad? Entonces aquí mismo está 0 , 0, vamos a contar atrás. Y entonces vamos a llegar a la derecha. Y entonces este píxel de aquí es lo que necesitamos para esta ranura. Y se puede ver que es exactamente 18 a la derecha y 50 abajo. Esa es la idea general. Si tienes Photoshop o si tienes GIMP o paint.net, normalmente puedes hacer es puedes usar la herramienta Seleccionar para ver qué tan lejos está esto y solo un poco tienes que contarlo. Esa es la única forma en que esto realmente funciona, es muy molesto. Puede ser muy molesto, pero simplemente es lo que es. Y luego tenemos estos dos métodos de ayuda, que también se llaman el inventario y el jugador hot bar. Ahora, esos son más agradables de leer que solo tener estas cosas ahí una vez. Es como, no sé, entender por qué esto no se hace en vainilla también. Porque en vainilla es solo esta cosa. Al igual que poner en el constructor. Yo soy como, vale, eso es raro. Entonces el método de lote transversal es algo que simplemente no vamos a ver en absoluto. Esto sólo nos permite Mayúss-clic en una pila en esto, en nuestra entidad personalizada, entidad de bloque. Siempre que no vamos a mirar esto porque esto en realidad son locos. Este es el peor método que he visto en mi vida. Simplemente no quiero tener nada que ver con ello, así que no importa. Sólo vamos a decir, gracias que esto funciona y todo está bien, podemos usar método básicamente solo dice, Hey, ¿podemos usar esto? Eso es más o menos. Si el jugador está demasiado lejos, algo así. Eso es todo lo que hace esto también. Entonces ahora pasemos a los manejadores de pantalla, y solo pongamos esto aquí. En realidad va a ser bastante sencillo. Es solo un tipo de manejador de pantalla estático público en realidad de tipo o un manejador de explosión o pantalla. Recuento vienen subrayado explosión o guiones bajos manejador de guión bajo pantalla. Manipulador. Ahí vas. Es igual a un registro de manejador de pantalla, manejador verde, registro, registro que hace. Y esto va a ser sencillo, pero eso es muy importante con un nuevo identificador de C corps mod, mod ID. Una vez más, todos recalc vienen en su marcador bláster. Y luego después de los primeros paréntesis, vamos a decir recalc y blaster screen handler, colon, colon nuevo, y terminar eso con un punto y coma. Eso es todo lo que necesitamos aquí. Una vez más, el código está por supuesto también disponible. También puedes copiar esto más. Ahora para no escribir todo. Aquí en el manejador de pantalla, podemos ver que la era se ha resuelto. Ahora en la entidad de yeso, también podemos resolver por fin esta flecha aquí también. Simplemente podemos decir que esto va a ser un nuevo registro puede explosión o manejador de pantalla con el ID del fregadero, el inventario. Y luego esto como el inventario, porque este es por supuesto un inventario implementado. Por lo tanto, sólo podemos pasarlo en nuestra propia entidad de bloque. Y entonces podemos cerrar la entidad de bloque. Podemos cerrar esto. Podemos cerrar esto. Y entonces sólo queda la pantalla y la pantalla es, como dije, casi sólo la imagen. Ahora por supuesto, es un poco una hipérbole. Ahí hay un poco más. Yo también voy a copiar esto y voy a explicar. Por lo que en general se puede ver que esta es una pantalla de mango de oracle viene bendecida su manejador de pantalla, muy importante que esta sea una pantalla manejada. También apunta a la textura se puede ver este es un identificador que apunta a las texturas GUI o a un lanzador de calcio GUI PNG, Eso también tiene que coincidir. Y entonces básicamente estamos dibujando la textura justo aquí y en los métodos de fondo de dibujo. Entonces básicamente esto solo centraba el título en medio de la entidad de bloque. Y luego el método de render simplemente renderiza el fondo, también la información de herramientas. Y este método de textura de dibujo va a ser muy interesante, sobre todo en la próxima conferencia, donde vamos a añadir el progreso del fuego y la barra de progreso de flecha sí. Esto es lo que necesitas llamar básicamente para agregar más cosas a la imagen, para dibujar más en la imagen. Porque si echamos un vistazo a esto, realidad tienes el fuego aquí y la flecha justo ahí. Y esto, necesitamos superponernos sobre esto y básicamente expandimos el tamaño de la misma dependiendo, digamos el progreso por ejemplo. Entonces esa es la idea general aquí. Pero por el momento, éste, correcto, la textura de dibujo con x, y, 000 ancho de fondo, altura de fondo simplemente dibuja aquí a todo el equipo del Goo. Esa es la idea general. Aparte de eso, también tenemos que llamar a una cosa en el curso MC, método conforme o más bien clase. Y ese va a ser el registro de pantalla, registro que se registren con los modelos siendo manejadores dot o un Malcom el año pasado Suecia manejador y el colon de pantalla blaster, colon nuevo es muy importante que esta va a ser la pantalla en el segundo parámetro y los manejadores de pantalla de modo básicamente referencia en el primero. Muy importante, una vez más, puede ser un poco confuso a veces, pero esta es la forma básica que tiene que ser. Y entonces todo debe configurarse adecuadamente. Y significan este punto, Veamos si funciona. O te encuentras de vuelta en Minecraft. Y como puedes ver, solo veamos qué pasa. Ahí está que el recalc y el bláster, y se puede ver que todo sigue funcionando bien. Incluso podemos cambiar click eso, eso es aún mejor. Eso es bastante guay. Ahora, vamos a poner el, si tratamos de poner algo más aquí, no funciona. El nivel del curso, sin embargo, sí funciona porque ocasionó que el hígado es un ítem de combustible, por lo tanto funciona. Y entonces aquí tampoco podemos insertar nada. Vamos a poner un muy acogedor y en la parte inferior, un pico en la parte superior. Y luego aquí un recapitulación podría recoger x debería aparecer. Y ahí está, en realidad sí funcionó. Ahora bien, no estoy cien por ciento seguro si siguen siendo una flecha con esto. No, no lo hay. Todo esto funciona. Y esto tampoco funciona porque aquí se ha alcanzado el límite de pila. Por lo que podemos agregar otro, y en cuanto lo quite, se agrega el otro. Aunque. El Oracle puede explosión básicamente ya están funcionando. Por supuesto, no está disparando aquí y no es tener una barra de progreso en este momento. Esto es lo que he estado diciendo. Básicamente hacer todo duro codificado y cosas así definitivamente no se aconseja. Es sólo una forma que en realidad se puede ver, oye, en realidad sí funciona y todo aquí es, bueno, gran final funcionando bien, ¿verdad? Una cosa más que necesitamos agregar a la explosión o entidad son dos métodos que son muy importantes para salvar el inventario cuando el mundo real se pone bien, cuando te mueves del mundo, y ese va a ser el NVT correcto y un método de lectura NVT. Y se puede ver que en los inventarios están justo en carnoso que inventarios leen y Read vacíos. Ahí vas. Por lo que eso hubiera sido fatal. Bueno, ahí tienes. Entonces este es básicamente el inventario, ¿no? El MIT's solo escribe aquí las listas por defecto de inventario a los datos de la NVT y luego el rojo simplemente lo lee. Entonces esa es la idea básica aquí. Y eso es muy importante que también llamemos a esto como de otra manera, cuando cerramos del mundo, no salva el inventario. Entonces esa es la idea general ahí, ¿verdad? Entonces por ejemplo, ahora mismo tengo 62 llamadas hígados aquí. Bueno, vamos a cerrar el mundo. Y vamos a entrar ahí otra vez. Y veamos si las astillas de carbón se quedan y siguen ahí. Y ahí están 62 causa amantes, Vamos. Todo guardado. Como dije, este es un tema muy complicado y aquí hay muchas partes móviles. El cheat sheet estará disponible para ti como descarga así como por supuesto tienes el repositorio GitHub y el justo donde básicamente puedes echar un vistazo a todo lo que vas a necesitar agregar aquí. Y en general, sólo va a ser, es justo como es. Por lo que la entidad de las entidades de bloque son simplemente muy complicada y solo necesitarás empujar y solo tratar de entender cada parte de la misma. Esperemos que fuera capaz facilitar básicamente eso, sea cual sea el caso. Esto es todo para esta conferencia aquí mismo. Espero que te haya parecido útil esto en los aprendizajes de lo nuevo, Si te lo agradezco mucho, reseña de ti. De lo contrario, nos vemos en la próxima conferencia. Ah, sí. 87. (Avanzado) tipos de recetas personalizadas: Muy bien, bienvenido de nuevo el curso de tela para 118. En esta conferencia, vamos a estar echando un vistazo a cómo puede agregar un tipo de receta de asumir Minecraft a.Anteriormente hemos hecho que nuestro recalc y blaster rompió entidad. Y ya les he dicho que es una forma muy cruda de elaborar justo aquí. Porque lo que queremos es que queremos es poder usar los archivos JSON de recetas normales o nuestra entidad blaster también. Esto no sólo lo hará mejor porque no tenemos que codificar todo aquí. Y luego también, y esto es aún mejor. Permite que más fabricantes de empaques, por ejemplo, agreguen recetas personalizadas para nuestra entidad de bloqueo y cosas así. Por lo que una vez más, estaré copiando más de una mayoría del código. Por lo que todo esto está disponible para ti en el repositorio de GitHub o en los juristas también. Por lo que tienes todo a tu alcance y te explicaré a medida que avancemos. Por lo que en el paquete del curso MC, haga clic derecho en nuevo paquete llamado receta. Y luego dentro de ahí vamos a necesitar dos clases, clase de recetas inmortales. Y luego también el recuento llega último o receta. Y vamos a empezar copiando la totalidad de los costos respiratorios del bláster. Ahora, una vez más, en realidad voy a pasar por esto y voy a explicar, no debe haber errores aquí. Por lo que en primer lugar, se puede ver que esto implementa la receta de inventario simple. Esto sólo tiene sentido porque un inventario simple es más o menos sólo esto es un inventario simple. Se puede ver que hay tres campos. Hay una salida, hay una lista predeterminada de ingredientes, que son los ítems de la receta. Estas serán las entradas y también hay un identificador. Este es básicamente el nombre que puedes tener en tu archivo JSON, pero lo vamos a ver en un momento. Por lo que el constructor de recetas de Oracle puede voltear toma exactamente esos tres parámetros diferentes que tienes como campos. Eso es muy importante. Y luego hay un método muy importante y ese es el método de los partidos. Ahora el método de coincidencias, como puedes ver, tómalo en el inventario y también puedes conseguir los artículos de la receta. Entonces los ítems de la receta, esta es la lista que se ha leído desde el archivo JSON, lo que significa que cualquier lista básicamente tienes de ingredientes o elementos dentro de tu archivo JSON. Estos se van a guardar aquí. Y lo que esto intenta es que va a decir, oye, ese es el primer ingrediente dentro de nuestra lista, como del archivo JSON, coincidir con la pila dentro del inventario. Si ese es el caso, vamos a continuar si entonces el siguiente coincide con el, con la pila y el inventario de la segunda ranura. Por también ir a, vamos a devolver esto, que ojalá vaya a ser cierto entonces en esto básicamente determina si hay o no una receta presente dentro del inventario. Eso es muy importante. Por lo que este es uno de los principales métodos que es muy importante. Pero también si tienes un inventario más grande, si tienes más ranuras en las que necesitas poner las cosas. Esta es la parte donde hay que definir la funcionalidad. Básicamente, esto va a ser lo que más es costumbre. Cuando haces tus recetas personalizadas o entidades de rock personalizadas, básicamente si se ven completamente diferentes, si tal vez tienen como 12 ranuras diferentes y luego necesitas poner ciertas cosas en ciertas ranuras y cosas así. Este es básicamente el método donde mayor parte de esto va a ser lo que se programa la funcionalidad en lo que se programa la funcionalidad, como implementado. Y es muy, Es muy difícil pasar de verdad, vale, como tienes que hacer todo por cada forma diferente. Una vez más, aquí, en este punto, el conocimiento de Java, si no lo tienes, te vas a perder probablemente para siempre. Um, esto no lo es, esto es muy, muy complejo y estoy seguro que ya lo has averiguado en este punto. Esto específicamente aquí va a ser muy interesante. En efecto, el resto de los métodos en realidad no son tan interesantes. Tú para el método de artesanía, nosotros sólo, la salida Fitts es simplemente cierto. Obtener salida es sólo una copia de la salida, el identificador. Nos limitaremos a conseguir ID, que está dando vuelta al edim. Y luego aquí llegamos a cosas interesantes y ese es el serializador de recetas así como el tipo de receta. Porque podemos ver aquí tenemos dos clases estáticas, la clase de tipo y la clase serializadora. Y eso fue en realidad sólo ayudarnos inmensamente porque simplemente nos hacen la vida más fácil. Porque tenemos aquí la instancia del tipo así como el serializador. Y podemos simplemente preguntarles esos a esos dos métodos aquí a donde la clase de tipo no es tan interesante. El serializador clase que se puede ver en realidad tiene tres métodos. Ese es el leer, el leer, y el método de escritura. Entonces, pasemos por esos también. Lo primero aquí, esta cadena de aquí, el nombre que tiene que ser dado en el archivo JSON. Muy importante. Eso lo vamos a ver en un momento. Pero esto es muy importante que esto por supuesto coincida ahí. Y entonces tenemos aquí el método de lectura. Este es el método de lectura de un archivo JSON. Entonces esto se va a leer desde un archivo JSON, y se puede ver esto. Entonces esto lee en primer lugar , la salida aquí. Y se va a leer en un área adyacente de los ingredientes. Y luego va a hacer una lista por defecto una vez más de tamaño 2. Ahora se podría decir, espera, pero tenemos cuatro lotes diferentes. Sí, pero sólo tenemos dos ranuras de entrada. Tenemos una ranura de combustible para ranuras de entrada y una ranura de salida. Y es por eso que sólo hay dos años, porque los insumos, sólo hay dos insumos. Cada cualquiera, en cualquier receta. Básicamente, sólo vamos a establecer esas entradas correctamente. Y luego vamos a hacer una nueva receta aquí mismo. Y casi sucede lo mismo con la otra lectura y el método de escritura hace que usamos en el búfer de paquetes. Por lo que todo esto funciona vía el año la red. Ahora lo que es muy importante aquí es que cuando escribimos cosas, ¿no? Se puede ver lo que estoy haciendo es que puedo ver escribo un entero con el tamaño de nuestra lista de ingredientes. Después escribo cada uno de los ingredientes, y luego escribo la salida. Este orden tiene que ser exactamente el mismo aquí. Para que veas leí un entero que va a ser éste. Después leí cada uno de los ingredientes y terminé. Y luego leí la salida, pero el orden en el que lo escribes para el búfer de paquetes tiene que ser el mismo que el orden en el que lo lees. Allí cometes un error. En el entorno de desarrollo, realidad no vas a ver nada que te vaya mal, te van a ver. Algo que está mal es tan pronto como lo pones en el servidor e intentas unirte al servidor, entonces esto ya no funcionará. Muy importante, muy importante que tengas eso en mente, que todo aquí coincida. Y ese más o menos es el autobús de recetas para tu receta de cliente. Hay un montón de cosas por supuesto, que podrías cambiar, ¿verdad? Si dices, Hey, en realidad tengo múltiples salidas. Por supuesto que podrías cambiar esto. Se puede decir, Hey, en realidad sólo tengo una entrada o tengo aún más entradas, o se puede, esto es todo. Hay algo que somos. Probablemente Java es lo que te mantiene atrás porque la mayoría de estas cosas son más o menos cosas normales de Java. Aquí casi no hay nada que diga Minecraft. Lo único que dice Minecraft es la pila de artículos básicamente. Pero eso es algo que la gente que conoce mucho Java, pero no mucho Minecraft probablemente aún podría descifrar muy, muy rápido. Entonces eso es algo que realmente quiero conducir a casa. Estamos básicamente se acabó como si el patio de recreo ya no fuera en este punto. Somos como Indeed y sí, es sólo lo que va a ser, pero sólo vamos a seguir adelante y eso va a ser en la clase de recetas. Y en realidad voy a copiar esto también. Esto en realidad es muy sencillo. Simplemente tienes un método de registro y puedes ver en primer lugar, somos cajón, estamos registrando el serializador de recetas con el ID del serializador y luego la instancia y luego el tipo de receta. También está la idea del tipo y luego la instancia del tipo también. Entonces eso también es bastante sencillo. Y este realmente tenemos que llamar dentro de la clase MOD del curso MC. Y vamos a llamar a esto. Hagámoslo aquí mismo. Recetas mod, no registre que vaya por eso hemos llamado a esto, eso es muy importante. Y luego ambas clases, realidad podemos cerrar porque ya terminamos con ellas. Y luego podemos proceder a continuar con la entidad. Ya tenemos esto abierto aquí. Y ahora esto va a ser muy interesante, es que vamos a reescribir mayoritariamente la entidad aquí. Porque lo que vamos a agregar es que vamos a agregar un delegado de propiedad. Entonces voy a copiar esto una vez más, todo esto está disponible para ustedes y pueden ver tenemos un delegado de propiedad final protegido y esto se creará o digamos que sí, creado dentro de el constructor. Por lo que también voy a copiar esto. Se puede ver este delegado de propiedad es igual a un nuevo delegado de propiedad. Y entonces tenemos declaraciones de cambio que se referían al progreso, al progreso máximo, al tiempo de combustible, y al tiempo máximo de combustible. La idea general es que tengamos esos cuatro enteros o esos cuatro puntos de datos que queremos pasar al manejador de pantalla. Y luego más tarde a la pantalla para que podamos mostrar el progreso y también el combustible. Bueno, básicamente en la cantidad de combustible que sigue ardiendo. Entonces esto va a ser un poco más complicado una vez más, porque tenemos que hacer esto en un delegado de propiedad porque esto tiene que guardarse en el servidor y en el cliente. Porque una vez más, la pantalla es sólo cliente y el resto es básicamente tanto servidor como cliente. Y si simplemente lo pasamos, no va a funcionar. Básicamente estás alcanzando por encima de las barreras ahí, lo cual no debes hacer. Entonces esto es muy importante. Y entonces también deberíamos agregar tres cosas a la tasa en el método GET. Ese es el progreso del bláster, el tiempo de combustible y el tiempo máximo de combustible con el método correcto, básicamente poniéndolo aquí mismo. Entonces, solo pongamos esto aquí. Eso va a estar bien, donde básicamente estamos leyendo en el progreso, el tiempo de campo y el tiempo máximo de campo. Entonces eso también está todo guardado ahora mismo, lo principal que va a ser el cambio de esos cuatro métodos. Una vez más, voy a copiar todo de nuevo, pero ojalá te explique bien, una manera que va a ser satisfactoria. Hay muchos métodos que realmente tenemos que copiar. Entonces, solo copiémoslos y veamos si todo aquí funciona. Entonces no hay flechas, lo cual es bueno. Pero puedes ver que aquí hay muchas cosas. Vamos a pasar por primero , el método de tic. Una vez más, el método de tick. He reelaborado esto de la siguiente manera. Entonces tengo un método aquí que se llama, es consumir combustible. Ahora está consumiendo combustible básicamente significa que he puesto un combustible y sigue ardiendo para que el fuego siga ardiendo. Ya lo sabes desde el horno normal, ¿verdad? Se queman los incendios. Y si fuera a poner en un o bloque, por ejemplo, empezaría a oler. Ese es el método de combustible está consumiendo. Eso es lo que esto devuelve, ¿verdad? Si es cierto, entonces todavía hay algo ahí dentro. Si es falso, entonces no lo es. Entonces mientras estemos consumiendo combustible, solo vamos a decir, Hey, tiempo de combustible va a disminuir cada tick, ¿verdad? Eso es justo lo que pasa. Está bien, bastante justo. Por lo que esto debería ser bastante autoexplicativo. Entonces vamos a decir tiene receta. Ahora que tiene método de receta ha cambiado por completo para este fin. Voy a explicar rápidamente qué es esto. Entonces, en primer lugar, sólo vamos a conseguir que el mundo no debería estar demasiado loco. Y luego hacemos un simple inventario del tamaño del inventario de las entidades. Y entonces solo estamos configurando cada pila que tenemos en nuestra entidad al inventario. Ahora esto es sólo una taquigrafía para básicamente confirmar el inventario aquí. Porque nuestra entidad no es un inventario simple, pero tenemos que tener un inventario simple para nuestra receta, pero esa es la idea general. Y luego aquí se puede ver que obtenemos esta opcional de nuestra receta, derecha, llamada match, y luego conseguimos el mundo pero gestor de recetas en primer partido, donde básicamente decimos, Hey, tenemos este tipo, lee el tipo de receta, este inventario, y este mundo, ¿no? Y entonces solo decimos, oye, ¿ hay un partido para este tipo? ¿ Hay alguna receta que coincida con este inventario? Básicamente diciendo: Hey, si el método de coincidencias en la receta justo aquí devuelve verdadero. Esa es la idea general, eso es lo que se llama básicamente, en realidad también deberíamos poder ver esto, pero esto definitivamente es más complicado como se puede ver, que la idea general es que se pueda ver tipo dot match. Se llama al método match y eso básicamente causó el método del colchón en la receta. Y si eso vuelve cierto, entonces vamos a tener algo aquí dentro. Y los partidos presentes básicamente sólo dice, Sí, hemos encontrado una receta que coincide o el inventario de tipo de receta que se suministró. Entonces esto es cierto. Entonces sabemos que encontramos una receta y luego hay algunas cosas más que necesitamos revisar. Entonces, por ejemplo, puede insertar cantidad en la ranura de salida, solo un método de ayuda que básicamente dice, Hey, si el conteo máximo es más grande que el conteo real ya lo conseguimos. No insertamos nada. Esto solo asegura que, por ejemplo, cuando ya tenemos un pico ahí dentro,no podemos insertar otro acto de picota, básicamente convirtiéndolo en no podemos insertar otro acto de picota, una pila de a pick axes, que por supuesto no hace ninguna sentido. Y entonces tenemos el elemento puede insertar en la ranura de salida también, que básicamente comprueba, Hey, ¿ es el mismo artículo o está vacía la pila? Por lo que sólo podemos introducir algo ahí dentro. Pero esos son básicamente los métodos que también comprueba. Solo asegurémonos de que todo esté bien y nada se anule básicamente mal. Bueno, ese es el método tiene receta. Una vez que ese sea el caso, vamos a ver, oye, ¿es ahora mismo? No tiene combustible en una ranura de combustible. Entonces eso va a ser justo aquí. Simplemente dice, oye, es la primera ranura vacía básicamente, porque sabemos que en nuestra ranura, que tiene el combustible con índice 0, esta es una ranura de combustible, esta es una ranura de combustible, por lo que en realidad sólo hay alguna vez haya combustible insertado en ella. Entonces eso es muy interesante. Entonces básicamente podemos decir: Oye, si esto no está vacío, sabemos que hay combustible en él. Y si por el momento no estamos consumiendo combustible, sólo vamos a consumir combustible. Pero esto sólo sucede cuando tenemos una receta presente ahí, cosas ahí dentro. Y luego el cono Zoom método de combustible, en realidad también bastante sencillo. Sólo somos una vez más un chequeo de cordura. Oye, asegurarnos de que esto no esté vacío, es que estamos absolutamente seguros de esto. Entonces estamos ajustando el tiempo de combustible a cualquiera que sea la hora real de la pila eliminada. Entonces si me pongo un resfriado ahí, me van a devolver cien, seiscientos por el tiempo que le lleve las garrapatas. Y luego si hay lo que sea la causa del hígado, voy a conseguir 400 y así sucesivamente y así sucesivamente. Entonces esto solo establece el tiempo de combustible, y luego establece el tiempo máximo de combustible una vez el tiempo de combustible como auto también. Porque esto, necesitamos que ambos básicamente se aseguren de mostrar correctamente el progreso. Necesitamos el máximo, usted será el tiempo de campo actual. El tiempo de campo es lo que cambia. El tiempo máximo de campo simplemente básicamente se mantiene igual una vez que se establece esto, una vez que se ha consumido el combustible, donde básicamente entonces preguntando, Oye, ¿ está consumiendo combustible? Y si ese es el caso, podemos avanzar. Por lo que el progreso aquí es el progreso del artículo que se está elaborando. Esto también se va a mostrar en la flecha de progreso. Y entonces aquí se puede ver que en el momento, lo que lo he configurado es que siempre tengo un avance máximo de 72. Ahora bien, esto es algo que podrías, por ejemplo, cambiar también dentro de la receta y decir, oye, esto lleva más tiempo, esto toma más corto, lo que sea. También posibilidad por el momento, lo he codificado duro. Eso es sólo algo que he decidido hacer, nada de qué preocuparme. Y entonces básicamente decimos: Oye, si el progreso es más grande que el progreso máximo, entonces vamos a elaborar el artículo. Y luego confeccionar el artículo una vez más, solo por su cheque de cordura, básicamente, ambos a través dice: Hey, esa es una receta existe aquí. Si está presente, vamos a quitar las ranuras 1 y 2. Por lo que vamos a quitar los artículos de rafting son importantes. No vamos a quitar la sal cerosa porque eso ya sucede cuando obtenemos el combustible. Cuando consumimos el combustible, se puede ver, podemos decir quitar pila de aquí y luego obtener el artículo de esa pila. Básicamente hacer las cosas del combustible. Eso es muy importante. Entonces por eso solo quitamos de 12. Y entonces estamos diciendo, Hey, estamos configurando la pila de tres con un nuevo ítem, pila de este ítem, que es exactamente el ítem que está recibiendo de la salida. Entonces esto es lo que se lee en, en la salida del archivo JSON de nuestra receta o receta de cliente y cuenta es que sólo voy a ser incrementado en uno. Entonces si no hay nada ahí dentro, se va a poner a uno. Si ya hay algo ahí dentro, sólo lo vamos a aumentar en uno. Entonces esa es la idea general aquí. También hay algunas otras formas en que puedes hacer esto. Entonces, por ejemplo, podríamos hacerlo para que se pueda especificar un recuento de cuántos hay. Y entonces en lugar de aumentarlo por uno, lo incrementas por ese conteo, así sucesivamente y así sucesivamente. Hay muchas cosas que puedes hacer, pero general, así es como lo estamos haciendo por el momento. Todo esto más o menos como vamos, es mucho más y variable de guerra, o dirías personalizable. Para que puedas hacer más y más cosas aquí. Y luego estamos llamando al método de progreso de restablecimiento de la entidad, que acaba de ajustar el progreso a 0 para que sepamos que todo básicamente se restablece su derecho y tristemente aún no hemos terminado. Pero esperemos que este fuera un buen recorrido de esto y explique todo esto muy bien, de manera idéntica espero que así, si queda alguna pregunta, por favor use la Q y a, y lo intentaré para responder las preguntas mejor que pueda. También recomiendo encarecidamente solo estar abierto a la experimentación, jugar un poco con esto, solo probar un montón de cosas. Eso siempre es lo mejor que puedes hacer. Porque lo que necesitamos hacer es entrar en la pantalla y las clases de manejador de pantalla. En realidad necesitamos agregar un nuevo parámetro aquí que van a ser los delegados del Partido ROM, por lo que delegado de propiedades, viejo delegado. Y es sólo formatear esto un poco diferente que dentro de la otra aquí sólo vamos a decir en nuevo cada delegado de propiedad de tamaño cuatro. Y luego queremos agregar esto como campo también. Entonces cuando digo privado, propiedad final o delegado de propiedad. Y entonces solo estamos configurando esto después del inventario aquí son bastante delegado, delegado. Y luego en la entidad, vamos a conseguir una flecha aquí mismo, porque ahora tenemos que pasar en este punto Delegado de propiedades también. Y el error aquí desaparece, se debe hacer la entidad. Ahora, creo que estoy bastante seguro entonces aquí al final, o queremos agregar es queremos agregar las propiedades add y luego acaba de agregar el delegado justo aquí. Eso es literalmente todo lo que estamos haciendo. Y ahí también necesitamos cuatro métodos diferentes que queremos que se acaben. Y los voy a explicar por supuesto también. Contamos con el método de elaboración. Esto sólo dice: Oye, ¿tenemos algún progreso en este momento? Si lo hacemos con ellos, estamos elaborando. Tienes algún combustible. Esto sólo significa que si el combustible es más de 0, sabemos que estamos teniendo algún combustible que se está quemando. Y ambos necesitamos el progreso de la escala así como el progreso del combustible escalado. Ahora, verás que esos métodos son bastante frecuentes locos, ¿verdad? Bueno, la idea es que justo, esas son solo las cosas normales que hay calcular para obtener el error. Por ejemplo, para encogerse o la flecha de progreso para aumentar, ¿verdad? Entonces esto es flecha de progreso aquí es por supuesto no del todo correcto, correcto. Este es el tamaño del progreso del combustible, digamos alguien así, porque el tamaño de los pocos progresa. Entonces una vez más, si abro aquí la GUI, esto es 14 por 14 y básicamente vamos a bajar, ¿verdad? Entonces queremos que este sea 14 si el combustible está completo, y entonces sólo queríamos bajar ahí con éste. Esto es 26 a través. Por eso esta flecha mide 26. Por lo que este siempre es el ancho de los píxeles de tu flecha o la altura, dependiendo de si quieres ir de arriba a abajo, de abajo a arriba, o de derecha a izquierda a derecha. Esa es la idea general. Algo es confuso aquí. No se preocupe. Prueba muchas cosas por fuera algunos valores, ve qué reacciona, qué pasa. Siempre recomiendo, ¿verdad? Pero en general, esto debería seguir siendo algunas matemáticas básicas aquí. Esto no debería ser demasiado loco ahora, pero estamos usando esto. Bueno, estamos usando esto en la caja verde justo aquí. Y voy a copiar sobre las dos últimas cosas que básicamente vamos a necesitar. Y esas son las amplias texturas aquí mismo. Entonces esta va a ser la flecha y esta va a ser la textura del combustible. Ahora ya ves que aquí hay algunas cosas bastante locas. Sí, eso es lo que pasa. Porque lo que pasa es que el offset aquí, ¿no? El 8422 va a ser este offset. Entonces te voy a mostrar esto. Entonces esta es la velocidad de error y la flecha comienza justo aquí, y eso son 84 píxeles a este lado, y luego 22 píxeles de arriba a abajo. Y ahí es donde quiero dibujar esta flecha, ¿verdad? Aquí es donde quiero dibujar esto. Y entonces qué quiero dibujar? Bueno, ese es éste. Por lo que el 176 y el 14 coinciden exactamente aquí. Entonces la pregunta es, bueno, ¿cuál es el tamaño de lo que quiero dibujar? El estatura siempre va a ser de 36 tarifas, así que eso siempre va a estar ahí. Pero entonces el progreso de la escala va a aumentar. Por lo que el ancho de lo que quiero mostrar básicamente se muestra a medida que aumenta el progreso. Y así es como se dibuja la flecha. Ahora para el combustible, como pueden ver, esto es mucho más complicado porque lo que realmente quiero ir de arriba a abajo, y porque los valores aquí empiezan con 0000 justo aquí, tenemos que hacer algunas matemáticas locura aquí mismo donde aumentamos y disminuimos esas cosas. No me preocuparía demasiado por esto. Esto es más o menos siempre va a ser la misma idea cuando estás usando algo que quieres aumentar de arriba a abajo. En general, jugar con esto te va a mostrar cómo funciona. Espero que la introducción general aquí tenga sentido, ¿verdad? Entonces, donde básicamente sabes de dónde vienen esos valores, a qué están apuntando, y por qué básicamente llamamos a lo que estamos llamando aquí. Bueno, eso, ese tipo de cosas tiene sentido aquí. Pero de lo contrario, en realidad estamos terminados con un código. Fue, una vez más una cosa bastante complicada. Aquí hay muchas cosas. Así que ahora agreguemos una receta personalizada también. Peor porque tenemos que tener receta. De lo contrario no podemos. Cualquier cosa a través de esto va a estar en nuestra carpeta de datos y en la carpeta de recetas. Y este va a ser el recalc y pick X de recalc y blaster. Entonces esto es en la receta del curso MC que van y así es como se ve. El tipo es MC núcleos o una lata de vaca blaster. Y va a hacer una advertencia porque eso no existe. No. Créeme, sí existe. Acabamos de lograrlo. Y luego se puede ver el top va a ser un piqueta de oro. El de abajo va a ser un a o un lingote de calcio, y luego la salida va a ser un Oracle puede recoger x y simplemente puedes añadir literalmente múltiples archivos JSON que se vean así. Y todos solo funcionarán. Esa es la belleza de la misma. Es por ello que el tiempo. Sí parece mucho trabajo al principio. Tan pronto como puedas agregar esos archivos JSON ahí dentro, tienes un tiempo mucho más fácil con él. Entonces solo para asegurarnos, veamos si funciona. O lo que encontramos es que en Minecraft. Y lo primero que quiero decir, si ya tienes una entidad de bloque que te sientas borrado, como destruirlo porque esto podría tener algunos efectos adversos ahí dentro como la NVT que se han guardado para ello podrían ser muy diferentes. Tenemos que volver a poner esto abajo y todavía podemos abrirlo totalmente bien. Eso es muy bueno. Pero vamos a conseguir aquí un poco de eje de cerdo dorado también. Por lo que básicamente se puede ver si esto va a funcionar o no. Entonces pongamos aquí el hígado de carbones. Pongamos al oráculo que viene al fondo y luego aquí mismo, y veamos si pasa algo. Y ahí está. Mira el progreso comienza, Esto va hacia abajo y bam, en Oracle puede recoger x, los dos ítems se han ido. A ver si podríamos los dos ahí dentro. Entonces esto no tiene como si nada pasara y saca la astillada y ahora puedes ver que sigue funcionando por supuesto, porque todavía hay combustible ahí dentro. Y bam, tenemos uno, la Orca entra, llévate aquí, queda. Y luego hay una X grande ahí. Si no tenemos combustible, no pasa nada porque no tenemos combustible. Y en cuanto ponga combustible, se va a consumir. Y vamos a seguir con esto. Aunque. Ahí está. Todo sigue funcionando más o menos mejor que antes. Ahora tenemos avances. Vemos cuánto, cuánto combustible queda. Y todo esto es absolutamente genial. Entonces quiero decir, no podría ser mejor. Todo sigue funcionando y esto es genial, ¿verdad? Por lo que una vez más, esta fue definitivamente más compleja conferencia una vez más. Pero esto es más o menos va a ser el resto del curso más o menos porque ahora vamos a pasar a otras cosas. Y entonces va a entrar la generación mundial, lo que también va a ser muy complicado. Entonces solo es lo que va a ser. Pero por el momento, esto es más o menos para esta conferencia aquí mismo. Espero que te haya parecido útil esto y urinas de lo nuevo, y te veré en la próxima conferencia. Entonces, sí. 88. (Avanzado) madera personalizada: Muy bien, bienvenido de nuevo al curso de telas para 118. En esta conferencia, vamos a estar agregando boscosos personalizados a Minecraft. Entonces vamos a hacer un poco de un tema más fácil, básicamente cubriendo esto en esta conferencia, esto para que básicamente podamos recuperarnos de las dos últimas conferencias. Y luego después vamos a continuar de inmediato con locura. Por el momento. Logotipo se despojaría, desnudaría blog y tablones. Todos esos se van a sumar aquí mismo. Solo tomemos la rosa rosa y hagamos de esto el registro de subrayado de flor de cerezo. Y entonces por supuesto, muy importante que cambiemos esto también en el nombre. Por lo que flor de cerezo subrayan registro, entonces este es un bloque de pilares. Para bloque de pilar justo aquí. Sólo hay un parámetro. Y entonces eso es más o menos todo lo que necesitamos hacer. Entonces esto copiará el tronco de roble y luego solo vamos a copiar esto cinco veces para eso tenemos en el así. Entonces agrupaciones de dos veces dos y luego una sola. Y entonces sólo vamos a pasar. Por lo que esta va a ser la flor de cerezo sería madera de flor de cerezo. Y lo único que cambia aquí va a ser que esto realmente lo saca de la madera de roble. Ahora esto no es estrictamente necesario. No obstante, me gusta hacer esto. Entonces, ¿por qué no? Este va a ser el tronco de cereza de subrayado despojado. Y lo mismo para el nombre. Se inicia con despojado. Y entonces este va a ser el tronco de roble despojado. Este es el subrayado despojado. subrayado de flor de cerezo lo haría. Una vez más lo mismo aquí. Subraya Flor de cerezo lo haría. Y entonces se va a tomar lo mismo aquí despojado. Ok, ¿lo harían hace? Y entonces este va a ser el subrayado. Los tablones son importantes, eso es plural. O los tablones suelen estar en Laurel. Y entonces esto va a ser un bloque loco , el bloque normal. Y esto se va a llevar aquí los tablones. Entonces este va a ser el ego de tablones de subrayado. Y eso son todos los bloques registrados. Bueno, eso fue bastante sencillo, ¿no? Sí. Entonces lo que vamos a necesitar aquí ahora es lo que necesitamos para hacerlos saltables. ¿ Cómo hacemos esto? Bueno, eso en realidad es realmente jodidamente fácil en la clase de registros modernos. Simplemente vamos a añadir un nuevo vacío estático privado para el método de burbujas de tira de registro. Y esto va a llamar al registro de bloques scriptable. Ese registro con el bloque mole inicia un tronco ribosoma y luego bloquea el tronco de flor de cerezo despojado de punto. Entonces eso es muy importante. Simplemente vamos a duplicar esto con Control D. Cuando cambiar esto también lo haría, entonces cambiar esto también lo haría. Ahí vas. Y que no se olvide de llamar a esto aquí mismo. Entonces eso es muy importante. Registra burbujas de tira ahí mismo. Y entonces la movilidad de la tira, por así decirlo, ya está hecha. N ya está frío. Y ahora pasemos a la parte favorita de todos los archivos de get, el archivo adyacente. O en realidad, diría que definitivamente son un poco más complicadas de lo que cabría esperar. Entonces vamos a tener sólo cinco bloques es archivos Js y sólo vamos a echarles un vistazo en general. Por lo que ves un bloque de pilares básicamente se ve así. Tiene eje, eje x, y eje d propiedades de estado de bloque aquí y los valores que puede tomar y luego solo apunta a lo mismo, o apuntaría al mismo modelo, sin embargo, simplemente giró en el log sin embargo, se puede ver que esto apunta a la horizontal y a ésta también. Y éste señala el blog normal. Por lo que esta es más o menos la única diferencia entre esos tablones son absolutamente aburridos, solo los estados normales de Bloque. Basado en archivo. pasa nada loco ahí. Añadamos la traducción también porque eso va a ser, y entonces yo, bueno, quiero decir, a veces sí lo olvido. Entonces sumémoslo también. Vamos a ponerlo justo aquí. Entonces eso es algo así. El tronco, la madera un tronco las versiones a menudo despojadas y los tablones. Y por supuesto, todo el código, los archivos JSON, todo eso está disponible para ti en el repositorio de GitHub o un individuo igual de bien. Porque sobre todo cuando ahora llegamos a los archivos JSON del modelo de bloques, bueno, ahí es donde empezamos a decir básicamente, bueno, ya sabes, probablemente copiando. Ahora puedo entender por qué esto podría ser sensato. Porque en algún momento, simplemente es mucho. Por lo que estos van a ser siete expedientes otra vez. Oh, solo agreguemos esos para que vamos a tener el, vamos a cerrar un montón de cosas aquí que vas a registrar. Esto tiene una tapa de bloqueo, derecha, por supuesto, porque la parte superior y la inferior, los extremos se ven diferentes de los lados. Esta es la columna del cubo también. Y entonces lo mismo va para lo horizontal, más o menos lo mismo. Los tablones son tablones normales. Es decir, no sé qué decirte. Los tablones son muy aburridos en realidad. El final para la madera es el mismo porque la madera básicamente es solo la corteza. Entonces, ¿qué hay por todas partes? Esa es la idea ahí. Y luego tenemos el top despojado y el registro de tira. Una vez más, mucho lo mismo. Es, lo, todo se queda igual, muy parecido al resto no es tan interesante. Todas las cosas consideradas, Es más o menos todo lo que hay a ello, ¿no? Y entonces los modelos de artículos son más o menos también apenas estándar. Bueno, esos sólo van a ser 5 por suerte. Y también todavía todo disponible para ti. Por lo que simplemente apuntan a un padre en particular, básicamente un modelo de bloque en particular. Y entonces por supuesto también queremos por todos los extras aquí. Vamos a acabar todos esos también. Hace, esos son también sólo cinco graciosamente. Y eso debería ser más o menos por eso. Y lo que otra cosa que queremos hacer es básicamente queremos añadir ya algunas cosas o a prueba de futuro, por así decirlo. Entonces en la carpeta de datos, en la carpeta Minecraft, vamos a agregar algunas etiquetas. Entonces número uno, vamos a agregar los de registro y los registros que queman etiquetas. Por lo que podemos ver lo siguiente. Por lo que puedes ver que aquí estamos usando hashtag MC curso, bloques de flor de cerezo. Eso es fascinante. ¿ Qué es esto? Bueno, en realidad vamos a tener una etiqueta personalizada de troncos de flor de cerezo también. Entonces vamos a copiar este también, es solo etiquetas normales como puedes ver. Entonces esto solo apunta a todos los registros y luego podemos referirnos a todos esos como una etiqueta como esta aquí, lo cual es muy interesante. Y luego en los troncos que se queman, básicamente hacemos lo mismo. Entonces solo hacemos esto. Los troncos que se queman. Si tenemos esos ahí dentro, entonces básicamente podemos usar los registros como lo harán los artículos. Por lo que eso sólo los agrega de inmediato a los artículos de combustible. Entonces otra cosa que vamos a hacer en las etiquetas, etiquetas de Minecraft, haga clic con el botón derecho en nuevo directorio para los elementos. Y luego dentro de ahí, vamos a añadir la pila de tablones, pero sólo vamos a añadir este go. Y vamos a tener los MCQ, tablones en flor de cerezo ahí porque eso nos permitirá elaborar ciertas cosas con nuestros tablones. Entonces, por ejemplo, una mesa de manualidades o creo que eso es como probablemente casi así. Creo que sólo hay un número limitado de cosas que podemos fabricar con el pistón de Planck, por ejemplo, también funcionarían. Entonces algo así. Y entonces lo que también es muy importante es que porque ya hemos agregado esos registros a nuestra etiqueta de logs. Una vez que introduzcamos las hojas, no se mostrarán junto a nuestros registros. Entonces eso es muy importante, pero eso es todo lo que necesitamos hacer para básicamente agregar nuestra costumbre lo haría. Entonces, veamos si funciona. Muy bien, Nos encontramos de vuelta en Minecraft. Como pueden ver, todo se ha agregado y puedo bajarlo y absolutamente se ve simplemente increíble. 0 una vez más, sólo que todos se ven geniales. Y también podemos pelearlo derecho derecho con un hacha. Ya puedes ver, puedo despojar todo ese jazz y todo está funcionando bien. Entonces quiero decir, eso es más o menos todo lo que hay a ello, para agregar costumbre lo haría Minecraft, ¿verdad? Una vez más, por supuesto, todo el código en el archivo JSON están disponibles para usted en el repositorio de GitHub o un individuo igual de bien. Pero esto va a ser todo para esta conferencia aquí mismo. Espero que esto te resulte útil y aprendas algo nuevo. Y nos vemos en la próxima conferencia. Entonces, sí. 89. (Advanc) Signos personalizados: Muy bien, bienvenido de nuevo el curso de tela para 118. En esta conferencia, vamos a estar agregando un letrero personalizado a Minecraft. Para agregar un signo personalizado, en realidad hecho bastante fácil porque vamos a estar usando, este es el ejemplo de signo de tela de nueva encuesta es una bola muy útil básicamente repositorio. Ahora sí quiero asegurarme de que estén conscientes de que esto está bajo la GPL, básicamente licencia pública general. Por lo que si quieres usar exactamente el mismo código en tu propio modelo, asegúrate de seguir la licencia, solo asegurándote de que esto se entienda. Esto por supuesto, también se vinculará en los recursos. Y sólo sigamos aquí. Entonces, solo echemos un vistazo. Vamos a necesitar dos cosas. En primer lugar, y eso van a ser dos mixin. Interesante, ¿no? Bueno, en realidad voy a copiar esos dos archivos. Esos son por supuesto, también todos disponibles para ti. Ahora son en realidad muy, muy fáciles. No están tan locos. Por lo que puedes ver tenemos el bloque entidad tipo mixin, donde básicamente soporta nuestro propio signo también. Entonces es muy, en realidad no es tan loco, básicamente está asegurándose de que mientras un letrero de pared, asigne bloque, o un nd, un signo de entidad aquí mismo, va a estar bien. Y el accessor de tipo sinusoidal básicamente solo lo hace tan básicamente que podamos acceder al tipo de signo real. Porque la clase de tipo de signo aquí mismo, se puede ver que está protegida. En realidad podemos crear un nuevo tipo de signo. Y con esto, básicamente no podemos. ¿ Qué vamos a hacer con esto? Bueno, antes que nada, en realidad vamos a agregar esto a la tela, a los mixins del curso MC reales Jason, porque, oh chico, si olvidamos eso, eso no sería tan bueno. Vamos a sumar esos aquí mismo. Este es sólo el nombre 1 segundo de esos archivos, muy importante que coincidan. Y entonces básicamente podemos proceder. Y proceder. ¿ Nos vamos a en el paquete indie block en realidad, así que nos vamos a comer los letreros en el paquete de bloque. Entonces vamos a hacer un nuevo modelo tipos de signos. Por lo que sólo van a hacer un tipo de signo final estático público, viejo subrayado de Sherry florezca. Esto va a ser igual al accessor tipo seno que registra nuevo tipo de signo accessor, un nuevo tipo de signo hold, guión bajo Sherry, flor. Y eso es todo lo que tenemos que hacer para crear un nuevo tipo de signo mod o un nuevo tipo de signo. Y entonces podemos proceder en la clase real más bloques. O sólo vamos a copiar sobre los tablones aquí mismo. Y entonces lo que es muy importante es que en realidad ambos se van a registrar sin un elemento de bloque. Porque lo interesante de las señales es que tenemos un letrero de pared y un signo normal. Y esos van a ser vamos tener los mismos artículos asociados a ella. Entonces vamos a tener un bloqueo mental, y luego vamos a tener un bloque de señales normal. Entonces entra lo mismo aquí. Todo signo de subrayado, línea normal. Y entonces se trata de un bloque de letreros de pared, que como segundo parámetro, realidad toma en los tipos de signos mod dot cada flor. Y entonces no se necesita un grupo de ítems aquí porque por supuesto que no tenemos, no tenemos un elemento de bloque que éste. Mismo mod. Los tipos de letreros son impresionantes y luego cambia esto a una acera. Ahí vas. Ahora esos son los dos bloques básicamente registrados por vía rectal. Eso es genial. Y luego en la clase más ítems, vamos a tener que crear un nuevo elemento. Entonces sólo vamos a llegar a traer cubeta de miel aquí. Signo de subrayado de flor de cerezo subrayado. Y luego lo mismo aquí. Signo de subrayado de flor muy subrayado. Y esto va a ser un ítem de signo I y artículo. Y entonces el primero va a ser éste. El recuento máximo en realidad va a ser de 16. Y luego vamos a tener más bloques signo de punto. Y los más bloques apuntan señal de pared como el segundo parámetro, el ego o el tercero, supongo. Por lo que este es el artículo hecho en amina se hicieron casi por completo en este punto. En realidad es bastante loco lo rápido que va esto, pero con los mixins, va a hacer nuestras vidas simplemente locamente más fáciles. Al igual que esa es una de las grandes cosas que básicamente nos proporciona el mixin. Pero lo que ahora tenemos que añadir sigue siendo algunas cuencas de Estados en bloque. Todavía necesitábamos un Hola en el bloque C, Jason justo aquí. Entonces ese va a ser el signo de flor de cerezo, que simplemente apunta al signo de la flor de cerezo. Y entonces también necesitamos el letrero de pared en flor de cerezo. Necesitamos ambos post, sin embargo, apuntando al mismo modelo de bloque. Y luego en los artículos sólo vamos a tener un, un artículo aquí que es los dueños de la flor de cerezo podrían firmar. Y entonces lo mismo aquí también, van a ser los cerezos en flor. Y luego en los modelos en realidad sólo como dije, tenemos un modelo aquí. Y ese es el modelo de signos normal porque esto sólo define la partícula. Como puedes ver, eso es todo lo que básicamente requiere aquí. En el ítem, por supuesto también sólo tenemos un artículo. Bueno, sólo tenemos un artículo. Entonces simplemente hay puntos a la textura normal. Ésas van a ser las texturas del artículo aquí. Yo sólo voy a copiar esto más. Señal muy impresionante ahí mismo. Y entonces cómo se muestra en 3D? Bueno, esto es básicamente algo interesante, pero básicamente necesitamos volver a entrar en nuestra carpeta Texturas de Minecraft. Y luego en la carpeta de entidad, necesitamos agregar la carpeta de signos. Y entonces el nombre de esta justo aquí tiene que coincidir con el nombre que nos dan en la clase de tipos sinusoidales. Entonces eso es muy importante. Esto básicamente tiene que coincidir con éste. Y entonces así es como se está exhibiendo en 3 D, ¿verdad? Y después de haber agregado todo eso, Veamos si funciona. Está bien, nos encontramos en Minecraft y mira esto. Bueno, en realidad va a ser una cuadra. Bueno, quiero decir, no es lo peor de la historia, pero vamos a ver si el letrero realmente funciona y se van, funciona. Eso es genial. Bueno, estoy en un traje como este otra vez, y luego pongámoslo en el suelo también. También funciona y todo está funcionando muy bien. Entonces, lo único que realmente necesitamos arreglar es la traducción aquí. Pero eso no es, por supuesto, una solución fácil, sólo cambiar esto a bloquear. Y luego también lo vamos a mover hacia abajo para que lo tengamos un poco más organizado aquí. Pero eso lo resume más o menos, ¿verdad? Y después de haber arreglado aquí la traducción, básicamente terminamos. Y así es como puedes agregar un signo personalizado a Minecraft. En general, con la ayuda del repositorio. Como dije, se va a vincular en los recursos. En realidad es bastante sencillo, ¿verdad? Pero eso ya sería para esta conferencia aquí mismo. Espero que te haya parecido útil esto y hayas aprendido algo nuevo. Te veré en la próxima conferencia. Entonces, sí. 90. (avanzado) Actualización de Minecraft y tela: O doy la bienvenida de nuevo al curso de tela para 118. Y en esta conferencia vamos a estar actualizando tanto Minecraft como tela a la nueva versión, 1181. Correcto. Entonces actualizar una versión por lo general puede ser, bueno, no diría arriesgado necesariamente, pero podría haber muchos cambios entre versiones y algunas cosas podrían cambiar. Ahora, por suerte para nosotros, los cambios aquí en realidad básicamente no están presentes. Por lo que no hay cambios en todo debería funcionar todavía en uno 1800s con la nueva versión de tela. Lo que vamos a hacer es abrir nuestro archivo de propiedades de Gradle. Y estas son esto aquí mismo, las dependencias y las propiedades de la tela, otras cosas que vamos a cambiar. Y este es exactamente el sitio que queremos abrir. Ya tengo esto abierto aquí mismo y se puede ver asegurándose de que estamos en la versión correcta aquí, 1181. Y entonces esto es lo que queremos copiar antes de continuar un mensaje del futuro. Ya que 1 1000th 2 ha sido más o menos acaba de lanzar, recomiendo encarecidamente lo que haces es que lo mantengas en 100 1800s. Si has estado siguiendo las conferencias con 118, te recomiendo encarecidamente que te quedes en uno 1800s en lugar de actualizar inmediatamente a ciento ochocientos dos, porque uno 1800s a todos los próximos generación mundial no va a funcionar con 172 al final del curso, va a haber una sección en la que podemos ver si quieres pasar con un 1800s para solo tenerlo en cuenta. Por lo que altamente recomendable, mantente en 181. Y luego se puede actualizar al final del curso, haga clic con el botón derecho Copiar entonces, entonces básicamente solo queremos pegarlo aquí y se puede ver que en realidad no ha cambiado bastante . Entonces la versión de tela, en realidad estamos en la versión más nueva de tela. Eso es genial. Para que podamos eliminar esto. Podemos ver que la versión del cargador aquí es en realidad nueva, por lo que vamos a reemplazar esto con ella. Y luego tanto la versión para el Minecraft como luego el hilo también se cambian. También vamos a reemplazar ambos. Y luego básicamente sólo guarda esto y luego recargarlo con la carga Gradle cambia aquí porque ahora va a reconstruir el proyecto con alrededor 1.18.1 y la nueva versión de hilo, lo mismo con el cargador. Probablemente podría haber cambiado la versión mod aquí también, pero vamos a estar bien. Creo que esto está bien. Y ahí vas, construye exitosamente. Ahora todo aquí va a ser mapeado. Y entonces lo que podemos hacer es que podamos, recomiendo encarecidamente hacer la debug por primera vez. Entonces corriendo esto, cuando en realidad lo ejecuté por primera vez que compré, el juego, no comenzó, pero en cuanto lo ejecuté por segunda vez empezó. Entonces probablemente haya algo en segundo plano que tenga que descargar la primera vez. Entonces si estás recibiendo un error para algunos que lo ejecuten, simplemente ejecútalo de nuevo y mira si vuelve a funcionar porque eso fue algo muy extraño, pero solo vamos a ver si va a funcionar o no. Pero por supuesto es el error esperado que debido a que no estamos conectados, Minecraft ya ha comenzado en una pantalla diferente. Entonces ahí vas. Ciento ochocientos uno hermoso, absolutamente grande. Y ahí vas. Estamos en juego, básicamente funciona. Vayamos al mundo sólo para asegurarnos de que todo funcione entre versiones. Normalmente si es la misma versión, por lo que si es sólo los últimos cambios digitales tipo de hablar, los cambios probablemente no afectarán demasiado. En ocasiones hay cosas que están desuso de una versión de tela a la siguiente. Ese podría ser el caso. Trataré básicamente mantener todo lo más actualizado que pueda. Así que básicamente, voy a añadir una conferencia en algún lugar donde sea como, oye, esto ha cambiado. Tienes que hacerlo así ahora. Pero en general, se puede ver que todavía puedo hacer clic aquí. Todavía están, todavía estoy consiguiendo la velocidad aquí. Entonces en general, por lo general todo aquí todavía funciona muy bien, ¿verdad? Y eso es realmente lo fácil que es actualizar. Así que vamos sólo por el sake de finalización aquí, hagamos algo como Vamos a hacer en este punto estamos en la versión como 0.1.5 o algo así. Creo que me siento como. Y luego vamos a poner esto a 118 del nombre base del archivo. No vamos a cambiar porque eso por supuesto, sigue siendo el curso de tela 118 y eso va a estar bien. Pero ahora estamos en la versión micro 1800s y la más nueva versión de hilo de la versión inferior también. Y eso es en realidad lo más fácil de actualizar tela que ya tiene para esta conferencia aquí mismo. Espero que hayas encontrado esto útil y hayas aprendido algo nuevo. Nos vemos en la próxima conferencia. 91. (Génes mundo): O volveré al curso de telas por 118. Y en esta conferencia, vamos a estar agregando un árbol a Minecraft, ¿verdad? Por lo que agregar un árbol implica también agregar las hojas y un árbol. Y esto también implicará agregar los huesos del oso de generación de roles porque el desove real del árbol es de alguna manera algo así como un poco entremezclado con la generación mundial. Pero por el momento, en primer lugar, vamos a ir a la clase de buzón y vamos a crear las hojas y los árboles. Vamos a copiar sobre los tablones aquí mismo de los tablones en flor de cerezo y vamos a decir hojas aquí, luego hojas aquí mismo. Y tal vez elifs bloquean. Y esto va a copiar las hojas de roble. Entonces lo mismo aquí, muestreo de cerezos en flor y luego ardiendo aquí también. Y este es un nuevo bloque de caída. Y luego vamos a tener lo mismo que hemos tenido anteriormente. El eje aquí está protegido. Por lo tanto, vamos a necesitar hacer un mod que clase de bloque de construcción. Simplemente vamos a extender la clase de bloque de arbolado sobre, sobre este crear constructor que coincida super. Y sólo vamos a hacer esto público. Y en lugar del bloque hermano donde se utiliza el mod sublingual, ahora en realidad hay dos parámetros que vamos a necesitar. Se puede ver que necesitamos un generador de hermanos. Entonces esto es algo que vamos a crear dentro de un nuevo paquete. Por supuesto MC, haga clic derecho en nuevo paquete. Viejo mundo va a estar creando el paquete mundial. Y luego un nuevo paquete cool característica. Y dentro de ahí vamos a hacer un nuevo paquete llamado paquete árbol e industria. Vamos a crear una nueva clase Java llamada el generador de tackleadores de Cherry Blossom. Vamos a necesitar hacer básicamente unos nuevos para cada árbol diferente que queremos agregar. Esto es igual al generador de arvejas, de arveja. Y esto básicamente solo implementa un método y ese es el método get three feature. Por lo pronto, vamos a mantener esto nulo. Agregaremos la función configurada aquí en tan solo un momento. Entonces aquí sólo vamos a decir un nuevo generador de duplicación muy floreciente. Y eso es básicamente todo lo que necesitamos hacer aquí. Pero ambos se hacen. De hecho, de inmediato los agreguemos a la capa de renderizado adecuada aquí, porque entonces ya no tenemos que pensar en eso. Por lo que las hojas y el muestreo también. Y luego también aquí asegurándose que esto copia el ardiente por cierto, eso también hace un día importante. Y luego de inmediato vamos a sumar todos los archivos JSON porque entonces ya están hechos. Y entonces básicamente podemos continuar con el código después de eso. Ambos son básicamente solo archivos JSON normales. Se pueden ver sólo las hojas aquí y el ardiente aquí, o el bloque Estados Jason Lange. La traducción, quiero decir, en este punto, sería bastante autoexplicativa. Aquí van las hojas y ardiendo que con los archivos de modelo de bloque. El único interesante aquí es que el muestreo tiene un padre cruzado y una textura cruzada aquí, pero las hojas son un bloque normal por todas partes. Esto es lo único interesante aquí. Y luego hay otra cosa interesante en la textura del artículo o en el arbolito. Y es que el arbolito en realidad tiene una textura normal como puedes ver. Por lo que en realidad apunta a una textura de bloque aquí, porque el arbolito que se muestra en el mundo, en el patrón de cruz es el mismo que en, como un elemento. Básicamente, eso es lo que es así. Entonces solo podemos añadir el ardiente y las texturas de las hojas también. Ahí vas. Y entonces todo aquí se ha agregado más o menos para que ya no tengamos que preocuparnos por eso. Y ahora básicamente sólo necesitamos agregar la característica y figurada justo aquí que engendra con el árbol, por ejemplo, cuando lo comemos con hueso. Entonces esta es la primera parte y luego la siguiente conferencia, vamos a ver cómo engendrar el árbol como generación mundial. Como parte de la generación mundial, sin embargo, vamos a crear en el paquete de características, haga clic derecho en nueva clase Java. Y esta es la clase de características configurada de modo. Y para esto realmente vamos a necesitar algunas cosas. Número 1, vamos, vamos a necesitar, voy a copiar sobre esos métodos. Todo el código está por supuesto disponible para ti en el repositorio de GitHub o un individuo solo, puedes ver que he registrado método de características configuradas aquí mismo. Esto es algo que vamos a llamar en la parte superior del método inicializado, realidad Bastante drenado, pero aquí es en realidad donde necesitamos llamarlo una necesidad débil de llamarlo en la parte superior. De lo contrario el orden de inicialización no funciona del todo. Y entonces también tenemos este método de registro, cual se puede ver que es religioso registrado, una función Configurar bajo el nombre que aquí se da. Y eso es más o menos todo lo que hay a ello. Y vamos a necesitar esto porque en realidad voy a copiar sobre la característica configurada de flor de cerezo. Y voy a explicar como básicamente vamos adelante, lo que verán es que básicamente lo estamos registrando con el nombre de cerezo flor y es una configuración de árbol de características. Entonces esta es la idea. Si hacemos clic en el botón central del ratón en el árbol, se puede ver que esta es una característica de árbol o simplemente una característica. Y luego tan pronto como llames configurada, se convierte en una función configurada. Y estamos pasando en un, b. Característica constructor de conflictos, que luego necesita algunas cosas para que podamos medio ratón haga clic en esto también y se puede ver, oh, esto es un proveedor de troncos, un placer de tronco, proveedor de follaje, una totalmente para colocarla y luego un tamaño mínimo. Entonces la idea general aquí es que tengamos un bloque diga proveedor. Esto, el primero es, proporciona lo que va a ser el registro. Entonces esto va a ser lo que sea el baúl. Entonces tenemos un diferente podemos hacer diferentes lugares de tronco. Por lo que puedo hacer clic en el botón central del ratón en esto y presionar Control H sobre el placer. Y se puede ver que hay diferentes tipos de colocadores de troncos. Y sí, también puedes hacer el tuyo, ¿verdad? Lo son, probablemente se requiere mucho conocimiento de Java porque hacerlos en realidad es bastante difícil. Entonces el tercer parámetro son las hojas que quieres tener. Y luego la blob todo, cada lugar, o en este caso, es la forma en que se muestran las hojas. Una vez más, puedes entrar aquí y echar un vistazo a los placers de follaje Control H. Y puedes ver básicamente que ahí también hay un montón de opciones. Por lo que una vez más, solo recomiendo encarecidamente jugar un poco con esto. Y luego las dos capas cuentan, podemos volver de nuevo. Este era el tamaño mínimo, así que todavía no estoy un 100 por ciento seguro de qué es exactamente esto. Lo que creo la idea general es que esto es cuánto espacio tiene que estar alrededor del árbol. Si no me equivoco, esto es algo, pero la, general la generación mundial, hay tantas partes móviles que es una locura. Y luego también cambió de 16, 170 a 180. Ahora, todo cambia con bastante regularidad. Por lo general, sin embargo. A veces es difícil mantenerse al día. Pero esto es, creo, lo que es esto. Y tenemos que devolver esto en el generador de árboles aquí mismo. Por lo que necesitamos decir mod configuró características que árbol de flor de cerezo. Entonces le devolveremos esto. Todo debería estar bien. Entonces, ahora en teoría, cuanto bajemos el ardiente y nos quedemos con ID de harina de hueso, o pase el tiempo, se va a convertir en un árbol. Entonces esta es básicamente la primera parte de esto. Así que vamos a ver si funciona o si soy dice de vuelta en Minecraft como se puede ver, el ardiente y las hojas se han agregado en. ¿ No se ven muy bien por ahora, pongamos el ardiente y menos mijo óseo y veamos si podemos conseguir un árbol y ahí hay un árbol poderoso grande y fuerte. Entonces eso es realmente genial. Y también intentemos simplemente poner algunos de ellos aquí abajo. Y veamos si realmente pueden crecer. Cuando enciendo la regla de IM, velocidad de tics aleatorios y la aversión aumentan por locura. A ver. Ahí van. Deja este encendido en realidad desove porque está demasiado cerca. En realidad tenemos que dejarnos un poco y luego va a engendrar probablemente también. Ellos van ahí, está totalmente bien. Entonces todo funcionando totalmente genial, igual que esperarías, ¿verdad? Y una vez más, para recapitular por cada nuevo árbol que quieras tener, tendrás que necesitar una nueva característica configurada de amargo conflicto, así como un generador de ardillas personalizado y luego un arbolito personalizado. Y esas son básicamente las tres cosas que vas a necesitar con el fin de facilitar básicamente un árbol que crece a partir de un árbol ya sea cuando se alimenta de huesos a lo largo del tiempo o con el tiempo. ¿ Por qué? Pero eso sería todo para esta conferencia aquí mismo. Espero que esto te resulte útil y se entere de que lo nuevo, si lo hicieras, agradecería mucho una crítica de ti. De lo contrario, te veré en la próxima conferencia, sin embargo. Sí. 92. (Génes mundial) Generación de árboles: Muy bien, bienvenido de nuevo al curso de telas para 118. Y en esta conferencia vamos a estar echando un vistazo a cómo se puede agregar un tallo árboles, la generación mundial. Pero hemos hecho la bandeja personalizada la última vez y ahora la vamos a sumar a la generación mundial. Y específicamente, también veremos cómo puedes filtrar muy fácilmente en qué bioma va este. Entonces lo que vamos a hacer es que vamos a necesitar unas cuantas clases más para esto. El primero está en la clase de entidades, haga clic derecho en la nueva clase Java llamada las características colocadas modelo es muy importante. Esta probablemente va a ser la clase principal hoy en día. Y esto va a ser muy interesante porque esto tiene dos métodos diferentes que vamos a necesitar. Una vez más, los copiaré. El tribunal está a su disposición, por supuesto, en el repositorio de GitHub o en un individuo justo esto, la característica de registro de lugar y el método de clave de registro. Bueno, ambos son muy importantes aquí. Y el de ellos básicamente, esto obtiene la clave de registro para un lugar específico características. Entonces esto es una especie de lo que vamos a necesitar referirnos cuando realmente queremos engendrarlo. Y esto, esto en realidad registra la característica del lugar y la clave del registro real también copiaré , en realidad bastante sencillo. Se puede ver que es sólo una clave de registro de una clave de registro de lugar característica lo que el cerezo flor colocó clave. Y esto es igual a la clave del registro. Y entonces el nombre aquí, básicamente el mismo nombre que la característica colocada se obtendrá también. Entonces eso es muy importante. Pero antes de que podamos hacer la función colocada para el árbol, en realidad tenemos que conseguir otra característica configurada aquí, ¿verdad? Entonces ahora hay algo muy interesante. Entonces para ver básicamente el código de vainilla para las características y cosas, podemos ir a la clase de características. Y ahora lo que podrías tener es la línea azul aquí y básicamente nada más aquí. Para arreglar esto, podemos ir a la terminal y podemos poner en punto, punto barra inclinada Gradle, w, fuentes de Jan. Y luego solo pasa esto y luego deja que esto pase a través. Y luego después de que se haya hecho, ojalá, las fuentes básicamente generen para nosotros el camino. Hay otro truco que podemos usar básicamente para ver realmente las fuentes reales, básicamente para Minecraft. Justo ahí vamos. 58 segundos. Construir exitoso, Eso es muy bueno. Si consigues una compilación falló y dice: Oye, me gusta este. Mira esto. No estás usando la versión correcta. Lo que puedes hacer es agregar el inicio de Java a las propiedades radiales donde tienes que cambiar tu variable de entorno de hogar Java, cualquiera de esas funcionaría. Pero por el momento, esto está bien. Entonces ahora lo podemos hacer es que podemos medio botón del ratón, click en Característica y verás que esto aún no funciona bien, puedo ir a elegir fuentes. Y luego diré, voy a usar las fuentes del mapa. Yo digo que sí y veo de repente todo está aquí. Y ahora en realidad podemos ver cómo es el código fuente real. Y para éste, por ejemplo, eso realmente no nos interesa demasiado. Pero si me meto el ratón atrás, haga clic de nuevo en él, se puede ver en todas partes donde se ha utilizado esto. Y se puede ver que se usa en el árbol configurado características clases como, oh, eso es muy interesante, ¿no? Es como, Sí, es muy interesante, veamos, por ejemplo, la función de configuración AUC es una configurada destacada en el registro con la función de configuración de árbol con básicamente las características de OK. Eso se puede ver aquí. Básicamente es sólo un constructor ya hecho. Se puede ver constructor de conflictos de árboles. Y luego literalmente todo lo que hemos hecho también, ¿verdad? Hemos hecho un bloqueo estadoProveedor del registro. Hicimos un placer de tronco y todo ese jazz. Por lo que todo esto se hace aquí también. Pero ahora esta característica de árbol real, configuración configurada característica se utiliza de nuevo. Entonces si me botón medio del ratón, haga clic en esto de nuevo, se puede ver esto se usa en las características del lugar del árbol, ¿verdad? Y si entro aquí y veo que este ahora es un objeto de entidad colocado y éste, ya que el ancho sobreviviría filtro en él. Pero ahora se vuelve aún más loco y por favor aguanta conmigo por el momento. Se puede ver que esta característica de lugar se utiliza entonces en las características configuradas de vegetación con algunas otras cosas aleatorias. Entonces esto es como una locura, ¿verdad? Para que se pueda ver esta es la línea, por lo que la línea 66. Y ver esto es la vegetación del bosque oscuro, que una vez más es una característica configurada de la característica aleatoria Conflict. Este se utiliza en una característica de lugar. De nuevo, aunque básicamente vamos de función configurada a colocar entidad para configurar entidad para colocar entidad. Eso parece una locura como la manera de seguir por esto. Lo que sí recomiendo encarecidamente es pasar por todas las clases de características aquí. Básicamente, hay un montón de cosas aquí dentro. En realidad es una locura. Aquí hay tantas cosas. Solo recomiendo encarecidamente pasar por el, básicamente las características del lugar del árbol por todo el lugar son insanamente interesantes. Y básicamente para ver, bueno, ¿cómo lo hace la vainilla? ¿ Cómo engendra las cosas de vainilla? Y vamos a hacer algo similar. Digamos, Bueno, lo similar que vamos a hacer es que vamos a volver a entrar en nuestra clase de características configuradas de modo nuevo. Entonces aquí mismo. Y de inmediato básicamente vamos a sacar esta característica configurada y hacer otra característica de configuración fuera de ella. Ahora voy a copiar esto también. Este es el que tiene la configuración de la función aleatoria en este caso. Y se puede ver esto básicamente toma el selector aleatorio de la característica, mezcla un nuevo conflicto de características aleatorias configurado al azar, luego o bien toma el árbol de flor de cerezo con sobreviviría filtro del cereza , arveja o lo mismo. Entonces, básicamente, esto es un poco de una manera enrevesada. Probablemente haya una mejor manera hacer esto, pero por el momento, esta es la mejor manera en que lo he encontrado básicamente que podría funcionar y que debería funcionar. Y esto en realidad totalmente bien y vamos a trabajar ahora. El motivo por el que necesitamos la función configurada aquí mismo es porque queremos este filtro. Ahora el problema es que este filtro, si el botón medio del ratón hago clic en esto, se puede ver que esto devuelve una característica de lugar. Y el tema es que una vez que tengo una característica de lugar, no puedo hacer ninguna otra colocación sobre ella. Por lo que sólo puedo hacer una colocación en particular aquí. Y eso es todo. Ahora, probablemente haya, como dije, otra forma de hacer esto Eso va a ser hackeado y poco amina 1.18 es muy nueva y la generación mundial está completamente rehecha. Entonces tal vez vaya a haber una actualización a esto en algún momento. Pero por el momento, esto funciona absolutamente por cierto, no hay preocupación. Entonces vamos a usar esto ahora y hacer una característica de lugar fuera de él. Entonces en las características del mercado, último pero no menos importante, voy a copiar esto también. Esta es la flor de cerezo colocada. Y se puede ver que estoy tomando el Cherry Blossom Tree Random, que es exactamente éste de aquí. Y voy a usar esto con la colocación de modificadores de rasgos vegetales colocados, que tengo, en los que básicamente puedo entrar. Por lo que puedes ver esto es básicamente una lista particular de modificadores ya construidos. Y luego voy a decir, Hey, toma los modificadores extra de conteo. ¿ Qué es esto? Bueno, lo que esto debe hacer es que debe engendrar un árbol por tronco. Tiene un 10 por ciento de probabilidad de responder a extra. Cree que esa es una especie de la idea general en la que estás podría incluso engendrar un poco más. Pero en general esta es la idea general. Entonces si quieres, por ejemplo, un árbol que es súper raro, pero puedes hacer es solo puedes decir que no hay conteo 0. Y luego como un, como un 0.1% probabilidad de que un patrocinador extra por ejemplo, o pero para nuestros propósitos aquí, por supuesto queremos verlo. Queremos ver el árbol real encendido. Entonces hagámoslo así. Esto determina básicamente el, cómo esto, cómo engendra realmente el árbol. Lo que es muy importante es que esta clave aquí y estos años clave de esos libros, libro, esos dos nombres tienen que ser los mismos. Eso es muy importante. Y entonces lo que vamos a hacer es que vamos a necesitar dos nuevas clases. Yo en realidad, eso es de clase mundial. En primer lugar, en el paquete de trabajo, haga clic derecho en nuevo paquete llamado Jen. Y luego dentro de ahí vamos a tener dos clases nuevas, la clase mod de tres generaciones y luego también la clase de gen mundial mod. Entonces en la clase generador de árbol modelo, vamos a agregar un vacío público estático fresco, generar un árbol. En realidad, Res lo hace. A lo mejor queremos crear varios. Y aquí, dispuesto OMS llamó a los mole iam modificaciones que agregan selectores de características. Y entonces aquí podemos básicamente seleccionar diferentes biomas. Podemos decir, Hey, sólo toma todos los biomas, top, toma todos los que están en el exceso de trabajo. Hasta podemos ir por etiqueta aquí. Para que veas que hay muchas maneras diferentes en las que podríamos usar esto. Vamos a, vamos a hacer las categorías y vamos a decir categoría planos de punto para que básicamente sólo lo que el engendro en aviones por ohmios. Y luego el paso de generación aquí, vamos a decir paso de generación, y esta es la decoración vegetal. Esto lo mostraré en un momento. Entonces el mercado cuenta con esa clave. Por lo que queremos que la llave aquí sea pasada. Y entonces esto generará nuestra última característica en los todos los biomas que tienen la categoría planos en el paso de generación vegetal. Entonces en realidad vamos a entrar en esto. Se puede ver que hay diferentes pasos de generación. Y es muy importante comer este orden básicamente. Entonces una vez que nosotros, por ejemplo, unos minerales subterráneos, se pueden ver esos vienen antes de la decoración vegetal. Por lo tanto, tendremos que sumar los remos ante ella. Por lo que esto es muy importante y también siempre tendrás que ser básicamente hacer lo correcto aquí. Pero por lo general es muy claro cuál es el paso de generación real en el gen del mundo moderno, ahora, también va a haber un método sencillo. Ese va a ser el vacío estático público. Simplemente vamos a llamar a este gen del mundo del modo degenerado, cosas que radio o nombre más cool, pero será suficiente definitivamente. Y entonces esto va a llamar a la generación de árboles modelo que generó árboles. Y entonces este de aquí solo se llamará en la parte inferior del método inicializado. A pesar de que, el mundo moderno gen, generan el mundo moderno otra vez, y eso es todo. Entonces, recapitulemos una vez más. Cerremos todo lo que tenemos y reabramos los que hemos cambiado. Por lo que teníamos una nueva característica configurada que tenemos que agregar para básicamente asegurarnos de que el árbol de flor de cerezo solo engendra donde un árbol es válido. Es por ello que esto es tan importante aquí mismo. Eso se hace, entonces podemos hacer una característica fuera de ella, que básicamente va a filtrar un poco aún más con alguna colocación. El emplazamiento específico que hemos elegido fue el conteo extra, muy recomendable. Por ejemplo, al entrar aquí se pueden ver modificadores de colocación para el botón central del ratón haga clic en esto, y creo que puedo volver a hacer clic en esto. Entonces se puede ver, por ejemplo, dónde se han utilizado todas esas características. lo que hay, por ejemplo, algunos ya preparados una vez que estás en el lugar cuenta clase, que puedes usar. Entonces hay un montón de cosas ahí dentro. Creo que esos también se usan con Control H Seguramente ahí puede ver que hay algunas características de colocación cuadrada , offset aleatorio. Aquí hay un montón de cosas. Yo solo una vez más puedo recomendar encarecidamente jugar con él. Estar abierto a la experimentación para ello. Especialmente cuando se trata de gen mundial. Es muy complicado. Y por lo tanto, si tienes algo en mente que quieres exactamente cómo lo quieres, quién, vas a tener que probar un montón de cosas con eso. Pero esta característica de lugar entonces básicamente tiene la misma clave aquí que la clave. Por lo que esta clave tiene el mismo nombre que la característica del lugar y esto tiene que coincidir. Y entonces podemos llamarlo en la generación de árbol modelo con esta bio modificaciones, esto es un algo que tela nos regala ahora esta es una característica experimental se puede quitar o cambiar sin aviso adicional. Eso es muy importante por el momento. Todavía funciona. Todavía podemos usarlo si alguna vez cambia. Yo por supuesto, haré y actualizaré conferencia en algún lugar para que sepas cómo básicamente lo puedes hacer sin esta clase. Pero por el momento, vamos a usar porque es muy fácil de usar y funciona perfectamente. Y entonces básicamente eso se acaba de atrapar en la generación mundial moderna o más gen mundial, clase. Y que la norma se llama en el, sobre un literalismo. Entonces eso es más o menos todo lo que hay para ello por ahora. A ver si funciona, ¿verdad? No olvides crear un nuevo mundo para esto también. Porque por supuesto nos metemos con la generación rural donde cada vez que haces eso, recomiendo encarecidamente hacer nuevo mundo solo para estar seguros de que todo engendra correctamente. Entonces veamos, o nos encontramos en Minecraft. Entonces, solo localicemos en aviones justo aquí. Y veamos si los cerezos engendran ahí. Y vamos a ver, ahí están como si no fuera un bioma grande aquí, pero están desovando. Y esto es simplemente genial. Entonces como puedes ver, respondiendo, eso es una especie del general un ciervo al año en cuanto a cuánto son pequeños si los biomas un poco más grandes, puedes por supuesto verlo un poco como más claramente. Pero por el momento, esto es totalmente grandioso. Y como siempre digo, cuando se trata de los números, tendrás que ajustar los números de una forma u otra. De modo que esa es una parte importante de ella de todas formas. Entonces eso es algo que definitivamente tienes que tener en cuenta, ¿verdad? Pero todo funciona y esta es más o menos la primera conferencia para la sección de generación de la Guerra Mundial hecha. Espero que te haya parecido útil esto y hayas aprendido algo nuevo. Te veré en la próxima conferencia. Ah, sí. 93. (Génes mundo) Generación de flores: Muy bien, bienvenido de nuevo al curso de telas para 118. En esta conferencia, vamos a estar echando un vistazo a cómo básicamente puedes agregar generación de harina a tu MOD. Ahora, una vez más, se copiarán muchas cosas, pero en realidad esta vez no va a ser tanto. El núcleo es, por supuesto, para ti disponible en el repositorio de GitHub o en un individuo igual de bien. Ahora, la idea general aquí es que cuando se trata de la generación de las flores, una de las cosas que la gente podría preguntar es, bueno, ¿cómo se resolvió esto? En realidad no es tan loco. Es más o menos lo mismo que hemos hecho antes. Botón medio del ratón haga clic en la clase de entidad y luego tenga la, por ejemplo, la característica de flor, ¿verdad? Y luego puedo hacer clic en el botón central del ratón en esto y puedo ver donde se ha utilizado. Entonces por ejemplo, se ha utilizado en el default de la flor. Entonces lo que hago es copiar literalmente sobre el valor predeterminado de la flor aquí puedes ver solo selecciono toda la línea, presiono Control C, Control V, y luego solo echar un vistazo a todo lo que necesito. Y luego puedes ver que, oye, esto toma un león dandy y yo estoy como, vale, así que básicamente puedo reemplazar esto con mi propia flor, cosas como esa y así sucesivamente y así sucesivamente. Y esto es más o menos como lo haces, ¿verdad? Simplemente continuamente tribu y luego solo con eso básicamente, bueno, lo ingenias inversas y luego sabes cómo funciona. En primer lugar, vamos a copiar sobre la función configurada aquí, y veremos que una de las cosas aquí es roja, y ese es exactamente el conflicto de la característica Crear parche aleatorio es, I creo que es o aquí o en realidad en la decoración vegetal, creo que eso se usa aquí. Esta no es la que queremos. Queremos echar un vistazo a. Éste, creo yo. No, no el caso. Para que se pueda ver que aquí en realidad hay un montón de diferentes . Y en realidad la que queremos es la siguiente. En realidad voy a copiarlo. Este es éste de aquí. Así es el conflicto de característica de parche aleatorio de un proveedor de block sit y una serie de intentos aquí que esto básicamente solo llama a este método aquí. Entonces no se preocupe ahí. Y la idea general aquí es que esto ahora cumple básicamente todo en esto crea el conflicto de características de parche aleatorio. En realidad podemos echar un vistazo a esto también. Pero esto no va a ser realmente tan interesante para nosotros, es por lo general aquellos como las clases de conflicto de características están bien, un poco complicadas a veces. Es decir, todo esto es bastante complicado, ya que probablemente habrás adivinado y dado cuenta en este punto. Pero en general esta es la característica configurada. Y ahora cuando volvemos a pensar, está bien, tenemos una función configurada, pero lo que también necesitamos es que también necesitamos una característica colocada que sea exactamente la correcta. Entonces en nuestra clase de características colocadas modelo, ahora, voy a copiar esto más. Ahora bien, esta es en realidad bastante sencilla porque se puede ver esta la rosa rosa colocada y ésta va a ser algunos registros, una característica de lugar. Vamos a tomar la característica configurada de nuestra clase de características configuradas de modo cuando, digamos con una colocación en particular. Y en este caso vamos a añadir la colocación del filtro de rareza de cuatro y una colocación cuadrada, solo un modificador normal aquí con también el mapa de altura y luego el modificador de colocación bio. Entonces esto es bastante loco, ¿ como de dónde viene esto? Bueno, una vez más , juega rasgos de algunas de las flores reales. Si tan solo echamos un vistazo a esta característica de configuración vegetal derecha. Simplemente vamos a tomar esos y luego podemos, por ejemplo, ver la vegetación, vegetación lugar características aquí. Nuestro cálido, esa es la línea 73. Y sólo podemos ver una rareza aquí, cuadrada también. También toma el mapa de altura del bloque de movimiento y el modificador de colocación del bioma. Entonces de ahí básicamente vienen todos esos. Simplemente básicamente tomé todo esto de la vainilla y funciona maravillosamente. Entonces esa es más o menos la idea general. Ahora lo que también vamos a necesitar es una nueva clave de registro para ello. Por lo que este va a ser el subrayado rosa rosa rosa clave de subrayado policial. Esto tendrá el mismo nombre que éste una vez más, porque esos tendrán que coincidir. Y entonces eso es más o menos todo lo que tenemos que hacer ahora por supuesto necesitamos aún engendrar esto. Pero para eso necesitamos en el paquete gen en Nuevo Modo, bus de menor generación. Y en realidad sólo voy a copiar sobre el método aquí. No es nada demasiado loco. Ah, mira este modelo colocado características, van y luego todo el año debería estar bien. Entonces una vez más, esos sólo van a desovar en los aviones sólo para que lo tengamos básicamente en el mismo bioma. Y entonces esto sólo tendrá que enfriarse aquí mismo. Por lo que esto puede llamarse por encima o por debajo de él. Eso sí importa porque ambos son decoración vegetal. Todo aquí se llama ingeniería, se ha agregado adecuadamente. A ver si funciona. Una vez más, no se olvide de crear un nuevo mundo ya que tenemos una vez más lío con la generación mundial. Entonces veamos qué podemos ver. Y como la suerte lo tendría, ya estamos al lado de un avión y ahí están, las rosas rosas de la mañana en pequeños parches aquí. Y se puede ver que hay otro parche. Y luego hay como un parche bastante grande aquí mismo. Entonces eso es bastante guay. Y puedes ver, por supuesto, una vez más, meterte con los números es lo principal que tendrás que hacer para conseguir tu generación. Simplemente escribe si querías un poco diferente. Por supuesto, no se preocupe en absoluto. Siempre puedes probar eso. Pero por el momento, esto es realmente genial y todos engendran, bueno, eso es bastante genial, ¿verdad? Pero eso ya será para esta conferencia aquí mismo. Espero que hayan encontrado esto útil e ignorancia de lo nuevo. Una vez más, todo el código está por supuesto disponible para ti en el repositorio de GitHub o un individuo igual de bien. Y nos vemos en la próxima conferencia. Entonces, sí. 94. (Generación de minerales: Muy bien, bienvenido de nuevo al curso de telas para 118. En esta conferencia, vamos a estar haciendo lo que todos han estado esperando. Veamos cómo agregar o generación a Minecraft cuando se trata de la generación por lo general, o la generación es más o menos la única cosa en la que todos están como, Oh Dios mío, necesito saber cómo funciona o generación. Esto es lo más importante de la historia. Quieren su deporte en el mundo. Y eso es exactamente lo que vamos a hacer ahora mismo. Pero una vez más, apúrate a resolver esto. Haremos clic en el botón central del ratón en la función. Y lo que encontrarán es que aquí mismo o esto, o sí, efectivamente es una característica o. Y si solo hago clic en esto, puedes ver que hay algunas características configuradas. Entonces por ejemplo, hay algunos diamantes, diamante pequeño, diamante grande enterrado. Pero sólo echemos un vistazo a la característica pequeña configurada del diamante. Se puede ver que esto tiene una o característica Conflict Diamond ors. Entonces, ¿qué es esto? ¿ Es una lista de todo conflicto futuro, nuestro objetivo, en realidad vamos a tener que hacer esto nosotros mismos también. Pero no se preocupe. Esto no es como esto en realidad no es tan difícil. Ahora volveré a copiar todo de nuevo, pero todo aquí está por supuesto, también disponible para ti en el repositorio de GitHub o un individuo igual de bien. Y para un, o, como dije, necesitamos una lista de estos objetivos aquí así como una característica configurada. Ahora que más o menos es todo lo que necesitamos. Y se puede ver que prehendiendo el objetivo aquí, básicamente hay dos objetivos tasa. Entonces si simplemente básicamente hago esto un poco diferente para que se lea un poco diferente aquí. Entonces ahí lo tienes. Ahora puedes ver claramente ambos objetivos y ambos básicamente bloques que están asociados con él. Un blanco tiene una regla pruebas que sigue, ¿verdad? Entonces la prueba de reglas que puedes ver justo aquí básicamente solo cheques, Oye, ¿esto coincide con este bloque en particular aquí? Entonces en este caso en realidad estamos diciendo, Hey, todo lo que básicamente puede reemplazarse por una piedra, los ors de piedra, y luego también hay pizarra profunda o reemplazable. Entonces esa es la idea general aquí. Porque por supuesto, nuestra normal o puede reemplazar, o debería poder reemplazar la piedra normal y luego dormir profundamente o debería poder reemplazar la pizarra profunda. Ahora esto no sólo es almacenar, esto puede, por ejemplo, también engendrar en directo y cosas así. Y lo mismo con el sueño profundo. Hay como otras cosas, otros tipos de bloques que son también pueden engendrar en el estado profundo y por lo tanto esto es necesario. Ahora, el tamaño aquí va a ser muy interesante porque el tamaño, si realmente entramos aquí, se puede ver que sólo dice tamaño y el tamaño ahí significa que éste debería ser el tamaño promedio de una vena. Por lo que este debería ser el tamaño de la vena en realidad. Y luego cómo engendra en el mundo real, podrás configurar de nuevo con la característica colocada, que en realidad necesitamos algo muy interesante y esa es una nueva clase y la características empaquetadas. Entonces este es el modo o comedores y solo copiaremos más de dos métodos. Ahora esos métodos provienen del o característica misma. Entonces desde la vainilla o las características, simplemente básicamente las tomé y las hice públicas aquí para que podamos tener acceso a ellas para que podamos muy fácilmente API sobre el lugar característica aquí, que es el oráculo se queja como puedes ver, porque el oráculo vienen o con una colocación específica y luego los modificadores con conteo. Entonces el recuento en los diversos que eres básicamente dice cuántas venas deben engendrar por tronco. Esta es al menos mi comprensión actual de ello, realmente, que el modificador de conteo es cuántas venas engendradas por tronco. Y entonces tenemos un modificador de colocación de rango de altura de trapezoide. Por lo que podría haber visto esta imagen de cómo los minerales ahora engendran. Y hay diferentes tipos de características básicamente, o diferentes tipos de modificadores ¿han generado? Ahí está el trapezoide, hay uniforme e incluso puedes hacer proveedores de altura personalizados. Podemos ver que hay constante trapezoidal uniforme, muy sesgada, ponderada, sesgada hacia ellos. Entonces eso es muy interesante. Por lo que hay diferentes proveedores de altura que básicamente puedes poner ahí. Si por ejemplo, eres como, no, quiero que esto engendra como muy, muy aburrido, muy sesgado al proveedor de altura inferior se puede hacer. Se puede ver que se pueden crear esos muy fácilmente en realidad. Por lo que ahí una vez más, experimentar, experimentar, experimentar, estar abierto a la experimentación, especialmente con esto jugando visualmente alrededor con esto. Este es un ejemplo de cómo hacerlo, ¿verdad? Básicamente vamos a decir, Hey, esto puede engendrar en cualquier lugar desde el negativo 80 hasta el más 80. Esto es básicamente para fines de prueba, por el momento. Si quisiera realmente hacer este recuerdo de nuestro probablemente incluso use el muy sesgado como hacia el modificador de colocación ocho abajo porque siento que eso es que serían los refrigeradores y lo haría probablemente disminuya el conteo también. Pero sólo queremos demostrar que básicamente funciona aquí. Y luego la clave, una vez más es muy fácil, pero es sólo la llave recalc, subrayado o desenroscar lugar. Entonces lo mismo aquí. Este tiene que ser el mismo nombre que éste, por supuesto una vez más, juega función misma con la clave del registro. Y entonces sólo necesitamos un nuevo modelo de origen aquí. Por lo que mod o generación también copian rápidamente esto más. Se ve más o menos exactamente igual que los otros. Esto se acaba de degradar características colocadas que hace. Y entonces esto prácticamente se encuentra en todo el mundo. Entonces este es otro y esto está en el paso subterráneo de generación ors. Lo que es muy importante es que esto se llame antes de la decoración vegetal. Por lo que MAR o generación generan puertas. Eso es muy importante. De lo contrario no funcionará correctamente. Pero eso es una vez más en realidad todo lo que necesitamos. Por lo que sólo necesitamos una característica de configuración que realmente tome en una lista de objetivos, lo cual es muy importante porque por supuesto quieres tanto la tienda como el estado profundo o simplemente tamaño pequeño siendo el tamaño de las venas, básicamente el tamaño de la vena aquí. Y luego colocar característica. Podemos decir cuántas venas por transcripciones nacen, y luego de qué tipo de manera deberían engendrar. Pero en este caso trapezoide y luego un desplazamiento Y. Entonces básicamente decir: Oye, ¿ de qué nivel Y a qué nivel deberían engendrar? Esa es la idea general. Una vez más, recomiendo encarecidamente simplemente jugar con él. Se puede hacer clic en el botón central del ratón y ver qué se puede cambiar. Diferentes proveedores de HIE, todo eso. Recomiendo muy bien. Simplemente juega con eso. Si tienes diferentes valores o diferentes funcionalidades donde de manera diferente quieres que tu caballo engendra. Pero por el momento, veamos si funciona. Y por supuesto, como tantas veces porque nos hemos metido con la generación mundial. Vamos a crear un nuevo mundo, o un farmacéutico en Minecraft ahí en realidad es un muy buen comando que podemos usar, que básicamente simplemente llena todas las cosas de abajo aquí de aire. Y podemos básicamente entonces, echaré un vistazo a todo esto. Entonces veamos si algo que queremos ha engendrado aquí. Y para éste, en realidad no se parece. Bueno, entonces vamos a no sobrevivir, pero en realidad en el modo dictador. Y pasemos por ahí y veamos si podemos encontrar que el, O justo aquí, lo tenemos. Por lo que alguna de ella engendró. Aquí se puede ver un poco más. Eso en realidad son hombres viejos, incluso veta más grande justo aquí. Como puedes ver, engendró perfectamente bien. Y probablemente haya aún más a nuestro alrededor. Ahí está algunos, algunos más de ella incluso. Entonces, en realidad eso es lo bastante genial que es. Y esto es, por supuesto, un sueño profundo. Ahora también engendra y piedra por supuesto. Entonces mira esto ahí, por ejemplo, lo encontramos de inmediato. Entonces eso es más o menos lo fácil que esto, ¿verdad? Creo que hago hincapié en esto lo suficiente para que solo debas experimentar un poco con esto y probarlo. Por lo que no me repetiré, pero diré que esto es todo para esta conferencia aquí mismo. Espero que te haya encontrado este útil y añejado de lo nuevo. Y nos vemos en la próxima conferencia. Entonces, sí. 95. Cómo hacer un archivo JAR de tu Mod: Muy bien, bienvenido de nuevo el curso de tela para 118. En esta breve conferencia, nos van a ver cómo puedes hacer un archivo JAR a partir de tu modelo. Y la forma en que lo haces es abrir la terminal y poner en barra de puntos Gradle w built. Ahora básicamente solo dejas que esto pase a través. Esto no debe llevar mucho tiempo. Será redondo unos 10 segundos. Ahí vas. Cinco segundos en realidad, tal vez un poco más si tu PC es un poco más lenta, pero sin preocupaciones en absoluto. Si obtienes un error aquí que tal vez no estás usando la versión correcta de Java. Puede especificar la variable home Java justo aquí para que tome el JDK correcto. Aparte de eso, ahora encontrarás tu archivo JAR dentro de tus carpetas. Entonces en la carpeta Build, en realidad, solo vamos a hacer clic con el botón derecho en este Explorador de extremo abierto aquí mismo. Vamos a construir libs de carpeta, y luego esta de aquí. Entonces el que tiene el nombre más corto es tu archivo JAR. Y ahora puedes agregar esto y probar y jugaremos con esto añadido a un servidor, cosas así. Eso todo funciona básicamente como cualquier otro archivo JAR que podrías descargar, por ejemplo, de los trabajadores forraje o algo así, ¿verdad? Pero eso es todo para esta conferencia aquí mismo. Y eso es también para el, digamos, contenido planeado para el primer lote de contenido de este curso. Ahora se agregarán más temas en el futuro. Entonces después de básicamente esta conferencia va a ser una sección llamada algunos temas adicionales o algo así, donde se agregarán temas adicionales en el futuro. Entonces tal vez si estás viendo este curso justo después de que salió, eso tal vez no va a haber nada ahí. Pero en el futuro, algo podría salir de ahí. Eso es bastante frecuente, genial. Por lo que ojalá se vayan a cubrir allí también algunos temas más avanzados . A medida que, así como quizá algunos temas no tan avanzados que podrían seguir siendo útiles y que podrían haberse pedido bastante, ¿verdad? Pero eso sería todo para esta conferencia aquí mismo. Espero que te haya parecido útil esto y la ignorancia de lo nuevo. Te veré esperanzadamente en la próxima conferencia. Entonces, sí. 96. (temas adicionales) de actualización (1.18.1): Muy bien, bienvenidos de nuevo al curso de tela para 118. Y en esta conferencia, vamos a estar actualizando nuestro tejido a la versión más reciente. Para mí al menos. Es decir, supongo que probablemente va a ser un poco de una versión más nueva incluso para ti. Pero para esto, por supuesto, vamos a ir al archivo de propiedades de Gradle y luego podremos navegar a esto aquí mismo. Entonces dos fabric EMC Net Versiones, HTML y ya tengo esto abierto. Por lo que estas son las nuevas versiones aquí de los mappings de hilo, el cargador y la versión de tela para seguimos un mensaje del futuro ya que 118 a dos ha sido más o menos acaba de lanzar. Recomiendo encarecidamente lo que haces es que lo guardes en ciento ochocientos uno. Si has estado siguiendo las conferencias con 118, te recomiendo encarecidamente que te quedes en uno 1800s en lugar de actualizarte inmediatamente a 172 porque uno 1800s y toda la próxima generación mundial es no va a trabajar con 1800. Al final del curso, va a haber una sección donde podamos ver si quieres pasar con un 1800s para solo tenerlo en cuenta. Por lo que altamente recomendable, mantente en 181. Y entonces puedes actualizar al final del curso, lo haremos es que en realidad voy a poner esto en el otro monitor y solo voy a copiarlo así. Y luego tenemos aquí los otros tres. Entonces esos son esos tres que hace y luego sólo vamos a moverlos. Y eso es más o menos. Y entonces sólo vamos a hacer clic en el pequeño elefante aquí es que no aparece. Siempre puedes abrir la pestaña Gradle y luego hacer clic en este botón también. Y luego como se construye, una vez más, podría tomar un poco de tiempo. Podría tomar uno o dos minutos, o también podría tardar solo como treinta segundos, depende de tu velocidad en la conexión a Internet, ya sea que hayas actualizado o no en el pasado, cosas así. Pero una vez que básicamente se ejecuta a través, sólo vamos a esperar básicamente pacientemente hasta que éste pase y luego vamos a ver si podría ocurrir algún error o no. Muy bien, así que puedes ver por mí tardó 50 segundos, así que no demasiado tiempo, en realidad totalmente bien. Y en general así que por el momento no estoy recibiendo ningún error o lo que podemos hacer es que solo podemos iniciar la tarea de ejecutar cliente y solo veamos si pueden ocurrir o no algunos errores ahí. Por supuesto, una vez más, podría ser algo rojo aquí, algunas advertencias diferentes, al menos, que deberían estar totalmente bien mientras empiecen los clientes reales, vamos a estar bien. Esta era, por supuesto, como siempre, es sólo un error normal que hemos visto básicamente cada vez que iniciamos el cliente. Entonces no hay preocupaciones ahí en absoluto. Y ahí vas. Entonces la ventana en realidad ya está cargada. Y veamos. Ahí estamos. Entonces todo funciona totalmente bien y eso es realmente lo fácil que es actualizar. Ahora si por supuesto previamente visto una actualización ya, sin embargo, quería hacerlo una vez más básicamente antes de que nos vamos a ir al muro, los temas adicionales que vamos a discutir en el, en las próximas conferencias. Entonces esas van a ser realmente interesantes, algunas cosas realmente avanzadas. Pero estoy seguro de que lograremos superarlo y va a ser realmente muy interesante. Pero eso ya está en para esta conferencia aquí mismo. Espero que hayas encontrado esto útil y aprendas algo nuevo. Nos vemos en la próxima conferencia. 97. (temas adicionales): Muy bien, bienvenidos de nuevo al curso de tela para 118. Y en esta conferencia, vamos a estar echando un vistazo como puedes agregar gotas experimentadas a tus bloques. Ahora, esto es algo que destija a pocas personas en el pasado, pero en realidad es bastante sencillo una vez que sabes dónde mirar. Y eso es básicamente vamos a presionar la tecla Shift dos veces y luego vamos a echar un vistazo a la clase de bloque oral donde voy a asegurarme de que incluyan no proyectos. Y entonces vamos a elegir éste justo aquí. Y entonces en realidad vamos a hacer el, vamos a entrar en realidad a la terminal aquí. Y digamos Gradle w fuentes acaso después de las actualizaciones. A veces es necesario cuando el, cuando un montón de cosas se actualiza, usted necesita realmente hacer las fuentes de generación aquí mismo. Y vamos a dejar que esto pase y luego podemos ver lo que la clase real tiene para ofrecer para nosotros. Ahí vas. Tomó alrededor de un minuto y luego se hizo. Y ahora lo que podemos hacer es en teoría, podemos buscarlo de nuevo, asegurándonos una vez más, seleccionaríamos esto y luego aquí todavía tenemos la barra azul, pero ahora podemos ir a elegir fuentes aquí mismo. Quién es lo que dicen las fuentes mapeadas, está bien, y luego después de que se recargue, entonces deberíamos conseguir la clase adecuada. Por lo general, la diferencia no es cigüeña, pero a veces puede ser una diferencia. Asegurarnos de que tenemos aquí las fuentes adecuadas en lugar de solo las descompilar. Ahora, la clase de bloque naranja aquí mismo nos da la capacidad de pasar también en un uniforme en proveedor, que es la experiencia que cae cuando en realidad, mientras destruye este bloque. Eso es en realidad todo lo que tenemos que hacer. Entonces en nuestra clase de bloques de modo, vamos por ejemplo, tomar el resultado del oráculo o el caso de los más, probablemente no querríamos que la experiencia extra caiga. Pero sólo vamos a hacerlo aquí porque tiene sentido hacer esto como ejemplo, suelen ser por supuesto, suelen ser por supuesto, porque nuestro calcio ori o bloque cae Rory calcio, por lo general no querrías agregar la experiencia aquí. Pero solo por ejemplo, vamos a hacer esto después de la configuración del bloque de tela. Sólo vamos a agregar otro parámetro aquí y ese va a ser el uniforme en proveedor dot create. Sólo vamos a decir algo así como un tres a siete. Veamos lo que en realidad también podemos echar un vistazo en el o bloque aquí mismo, echamos un vistazo a dónde se ha utilizado esto. Entonces el botón central del ratón haga clic en esto y por ejemplo, viendo la Esmeralda o simplemente como ejemplo, vamos a ver al proveedor. Aquí hay exactamente 37. Ese es más o menos el tamaño que quieres. Esto creo, debería ser todos los diferentes o bloques donde se ha utilizado esto. Pero por supuesto que puedes cambiar esto. A lo mejor tienes un pedido que es increíblemente raro y tal vez quieras que esto sea mucho más alto, pero claro que también sea el caso. Eso es en realidad todo lo que necesitas para tener tu experiencia de caída de bloques también. Entonces por el bien de finalización, vamos a ver si funciona o si Francis de vuelta en Minecraft. Así que vamos sólo el mío un poquito de esto y ahí vas. Verlo cae experiencia también. Y como dije, solo puedes cambiar los enteros que son, y luego básicamente tratar de diluir en cuántas experiencias quieres que se caiga. Y sólo podemos ver, puedo seguir aquí y h es continuo trabajando. Eso es en realidad lo fácil que es agregar alguna experiencia del cliente cae la tuya. Eso ya tiene en, para esta conferencia aquí mismo. Espero que te haya parecido útil esto y aprendas algo nuevo y te veré en la próxima conferencia. 98. (temas adicionales): O doy la bienvenida de nuevo al curso de tela para 118. Y en esta conferencia vamos a estar agregando un bloque transparente personalizado a Minecraft. Esto en realidad una vez más, una de esas cosas que en realidad es bastante sencillo una vez que sabes qué hacer, por supuesto, ese suele ser el truco de ello. Pero vamos a entrar y sólo vamos copiar sobre las hojas de flor de cerezo aquí mismo. Y esta va a ser la ventana de subrayado invernal, pesar de que el invierno se está desvaneciendo lenta pero seguramente. Pero eso por supuesto está bien. Ahí está, por supuesto, va a volver algún tiempo. Se acerca el invierno. Por supuesto. Vamos a hacer de esto un nuevo bloque de vidrio que hace y esto sólo va a copiar sobre el vidrio de bloque aquí mismo. Eso es más o menos todo lo que necesitamos. Ahora vamos en realidad también añadir era no opaco. Eso en realidad es muy importante y vamos a añadir algo de fuerza aquí también. ¿ Por qué no alguna fuerza personalizada? Y eso va a estar bien. Y para el bloque, en realidad eso es todo lo que necesitamos. Ahora la razón por la que necesitamos la clase de bloque de vidrio es si entramos en ella, punto medio-emost, haga clic en él, y luego botón medio del ratón haciendo clic en el bloque de clase abstracto, se puede ver que tiene en primer lugar, la colisión de la cámara forma vacía. Entonces tenemos el nivel de luz de oclusión ambiental. Es necesario para que la luz pase. Y luego también tenemos el método translúcido, básicamente volviendo verdadero aquí. Es por eso que usamos el bloque de vidrio, sólo tiene sentido. Ahora lo que también realmente tenemos que hacer para que la ventana de invierno se agregue correctamente en la clase de clientes del curso MC, vamos a copiar sobre el muestreo aquí. No voy a hacer de esta la ventana invernal, y vamos a hacer que esta capa de render sea translúcida. Entonces ponte translúcido. Muy importante que añadamos esto también. Y luego se hace la transparencia real. Ahora por supuesto, todavía necesitamos agregar los archivos JSON normales que vamos a copiar los sobre todo aquí, por supuesto, disponibles para ti en el repositorio de GitHub, un individuo igual de bien. El mar, el bloque Estados carrera es completamente sólo un normal cotidiano, en realidad un poco aburrido. Bloque dice archivo JSON. Y luego también vamos a copiar la traducción aquí mismo. Esto no es nada, nada demasiado loco. Nada que deba alarmarte de ninguna manera, forma o forma. Es sólo cosas normales como ya hemos visto un montón de veces. Lo mismo con el archivo JSON modelo de bloque. Se puede ver completamente normal qué archivo militarismo y vamos a ir 33. Sí, vamos a pasar con un archivo JSON modal de tres elementos también completamente normales. Y entonces en realidad también consigamos la textura que has terminado y eso sería más o menos. Eso es todo lo que necesitamos. Por lo que dos cosas muy importantes, convirtiéndolo en un nuevo bloque de clase no opaco. Y luego también asegurándose de que esto se llame su obtener la capa translúcida de renderizado. Y después de haber agregado todo eso, vamos a ver si funciona o si responde en Minecraft z, la ventana de invierno se ha agregado con éxito al juego. Así que vamos a ponerlo abajo y se puede ver, ahí va. Podemos mirar a través de él y se ve bastante increíble. Entonces trabajando casi exactamente como el vidrio normal, como esperarías que lo hiciera. Y vamos a tener una cosa más y vamos a echar un vistazo a los textos de una vez más para básicamente mostrarte otra cosa que es muy importante para los bloques transparentes personalizados. Hemos abierto la ventana de invierno PNG aquí mismo. Y una vez, por supuesto, muy importante aquí es que esos píxeles aquí son por supuesto transparentes. Tienen un valor Alfa asociado a él que es menos de uno. Eso es muy importante que el valor alfa aquí para algunos de los píxeles sea por supuesto, menos de uno. De lo contrario no se va a mostrar transparente. Entonces eso es más o menos todo lo que hay a ella también. Se puede hacer esto en GIMP, en pintura en red o dos grandes programas. Yo personalmente uso Photoshop, pero esos dos también funcionarían. Pero cualquiera que sea el caso, esto es en realidad ya lo es para esta conferencia aquí mismo. Espero que hayas encontrado esto útil y hayas aprendido algo nuevo. Nos vemos en la próxima conferencia. 99. (temas adicionales): Muy bien, bienvenidos de nuevo al curso de tela para 118. En esta conferencia, vamos a estar agregando un elemento animado personalizado a Minecraft. Ahora, agregar un elemento animado es en realidad un proceso bastante sencillo. Ahora esta va a ser una textura que va a ser animada y cambiante con el tiempo. Para, para esto, por supuesto, vamos a necesitar un nuevo ítem. Así que vamos a entrar en nuestra clase de más artículos a menos que solo copia superior sobre el elemento del tazón, en realidad, eso probablemente va a ser más fácil. Y entre nuestro llamado esto el subrayado mágico recalc vienen subrayar el polvo. Y entonces mismo aquí. subrayado mágico o un polvo de subrayado de calcio. Ahora este va a ser un artículo normal. Curioso, ¿no? Sí, el artículo real en sí es muy, muy sencillo de hacer. Lo interesante en realidad va a ser la textura misma así como el metaarchivo MAC asociado. Interesante, qué hace eso, lo que vamos a ver. Pero antes que nada, agreguemos aquí la traducción para que la tengamos. Y luego vamos a agregar también el archivo modelo. Ahora el archivo modelo, podría decir, Bueno, el archivo del modelo tiene que ser como loco complicado, ¿no? Probablemente va a ser realmente alucinante impresionante. Y no, en realidad es sólo un archivo de modelo normal, como se puede ver claramente, que solo apunta a una textura. Y la textura es lo que va a ser la parte interesante, bueno, interesante de todo esto. Entonces vamos a copiar esto, incluyendo el archivo MC Mehta. Ahora esto es por supuesto todo disponible para ti en el repositorio de GitHub en individual igual de bien. Y se puede ver aquí mismo, este es el polvo en sí mismo. Y se puede ver que se trata de múltiples texturas. Y estos son los marcos a los que se hace referencia en el metaarchivo MC. Se puede ver 012345, es más o menos 012345. Se van, van a estar básicamente animados en un término francés de 16. Recomiendo encarecidamente cambiar esto y jugar un poco con esto, estar abierto a la experimentación aquí. interpolación simplemente significa que una especie de desvanece dentro y fuera de un marco a otro en lugar de cambiar discretamente. Esa es la idea general de la interpolación en este caso, y esa es la idea aquí. Entonces esto es en realidad todo lo que hay a ella. Ahora es muy importante que el metaarchivo MC tenga el mismo nombre que el, como la textura incluyendo el punto PNG. Esto es increíblemente importante. Por favor, asegúrate de que esto esté escrito correctamente. Una vez más, una de esas cosas en las que es mejor revisar o triplicar la ortografía. Y para algunos ejemplos, para bloques. Ejemplo, puedes ir a las bibliotecas externas aquí abajo a mapas de proyectos de microbios netos, así sucesivamente y así sucesivamente. Y vamos a entrar en la carpeta de activos, bloque de texturas de Minecraft. Y vamos a echar un vistazo al bloque magma porque ese también está animado. Se puede ver la textura magma en realidad es libre, diferentes texturas. Y aquí está el metaarchivo MAC. Una vez más, casi exactamente igual que con el metaarchivo real que tenemos aquí. Se puede ver que es sólo un tiempo de fotograma diferente para el magma y eso es más o menos todo lo que hay para que sean altamente recomendables, como dije, jugar un poco con esto. Pruébalo y mira lo que básicamente puedes llegar a. Pero de lo contrario, vamos a ver en realidad si la textura animada funciona correctamente. O un Minecraft. Como se puede ver, el polvo mágico se ha agregado con éxito y se puede ver que se ve fricking, increíble. Genera o más bien anima automáticamente. Se puede ver que simplemente, se ve realmente genial porque tiene un, ya sabes, como un efecto chispeante a ella. Y como dije, esto es completamente personalizable. Simplemente puedes cambiar el metaarchivo MC, jugar un poco con esto y luego puedes simplemente con eso, solo con cosas básicas como esa, ya puedes agregar algunas cosas frecuentes bastante cool en su modelo. Eso ya tiene para esta conferencia aquí mismo. Espero que te haya parecido útil esto y aprendas algo nuevo y te veré en la próxima conferencia. 100. (temas adicionales): Muy bien, bienvenidos de nuevo al curso de tela para 118. En esta conferencia, vamos a estar haciendo una pantalla de menú personalizada. Ahora esto va a ser muy interesante de hecho, porque una pantalla de menú personalizada es algo que es algo tan interesante para agregar a tu MOD. Ahora, una de las cosas que quiero mencionar de inmediato aquí es que cuando estamos haciendo la pantalla de menú en esta conferencia, vamos a hacerlo para que siempre se muestre. Y luego en la siguiente conferencia donde vamos a hablar de configs, vamos a hacerlo para que puedas averiguar si la cosa se muestra o no. Eso es muy importante que añadas eso. Porque de lo contrario tu MOD nunca se agregará a ningún mod pack nunca. Tienes que hacer esto configurable. Pero eso es algo que vamos a ver en la próxima conferencia. En ésta, vamos a hacer la pantalla de título personalizada de la pared. Ahora, lo que va a ser realmente interesante es que he visto muchas maneras en que esto se ha hecho anteriormente, pero básicamente siempre usando la clase de pantalla de título. Entonces esta va a ser la pantalla de título. Ahí vas debajo de éste justo aquí y esa pantalla de la GUI del cliente microbio. Y fue muy extraño porque siempre básicamente acababan de hacer todo el título. Screen maker hizo un mixin y acaba de cambiar. Quiero decir, un montón de cosas aquí. Y yo estaba como, no puedo imaginar que esa va a ser la única manera de hacerlo. Y de hecho, en realidad no es la única forma de hacerlo. He encontrado una manera mucho, mucho más fácil y mejor. Así que todavía vamos a necesitar un mixin, pero va a ser muy simple. Así que antes que nada, vamos a hacer una nueva clase imita y empacado mezcla de pantalla de calidad. Ve y se va a ver algo así. Voy a copiarlo. Voy a decir, Oh Dios mío, eso es demasiado exactamente. Es casi nada. Vas a hacer de esto una interfaz. Esto va a estar mezclando la clase de pantalla. Y sólo tiene que tener aquí un accesor o la lista de dibujables. Eso es todo lo que vamos a necesitar aquí. Eso es literalmente todo lo que necesitamos. Entonces claro, para la mezcla, también tenemos que agregar esto se mezclan en aquí mismo ahora, muy importante, esto está bajo el cliente. Eso es muy importante porque esto sólo va a afectar al cliente. Por eso tenemos que tener esto aquí mismo. También podemos ver esto en el entorno de pantalla, valor, tipo de entorno aquí es cliente. Esto sólo ha sucedido en el cliente. Por ello, necesitamos poner la mezcla en el cliente, en la mezcla JSON. Después de que hayamos hecho esto, ahora estamos log. De acuerdo, ¿cómo vamos a proceder ahora? Vamos a hacer una nueva pantalla de título. Sólo vamos a estar en el paquete util. Haga clic con el botón derecho en la nueva clase Java llamada el, voy a llamar a esto la pantalla de algas y título inactivo. Ahí vas. Esto va a ampliar la clase de pantalla de título. Se puede ver que en realidad no tenemos que pasar el puntero sobre esto y no tenemos que hacer nada aquí. Pero lo que voy a hacer es que voy a copiar sobre el contenido de esto. Una vez más, todo esto está disponible para ti en el repositorio de GitHub e individual igual de bien. Voy a explicar qué es el FREC. Hubbard aquí. Podemos ver este chapoteo. Este es el identificador real que apunta a mi imagen que quería reemplazar el ancho normal de la imagen. Y luego también tenemos la textura de las pantallas de título de Minecraft. Esto es solo el Minecraft que está escrito básicamente en la parte superior, media, superior de la pantalla de título real porque en realidad tuvimos que agregar esto. Nuevamente. La forma en que funciona esto es que llamamos a este método de render. Lo primero que hace es renderiza la pantalla de título normal. Entonces como pueden ver, he separado esto en cuatro métodos diferentes aquí. Entonces estamos dibujando nuestra pantalla de título personalizada. Después sobre eso vamos a dibujar el logotipo de Microsoft con voy a dibujar los avisos de copyright, y luego vamos a dibujar la pantalla del título y los botones. Fui muy importante es que definitivamente siempre guarden los avisos de copyright ahí y no 100% seguro. Pero creo que si no los tienes, que podrías estar cometiendo fraude de derechos de autor o algo así. Así que manténgalos ahí dentro. Sólo guárdelo así. Este es más o menos exactamente el mismo código que también está en la pantalla de título. La mayoría de estas cosas fueron tomadas de la pantalla de título. El logotipo real aquí completamente desde la pantalla de título. Los botones de pantalla tomados de la pantalla de título y luego la pantalla de título personalizada del dibujo. Este de aquí mismo es un poco de un yo no necesariamente diría lo máximo de los clientes, pero la mayoría de esto como clientes, se puede ver que la mayoría de las cosas es muy similar a esto también. Sólo básicamente estamos dibujando una textura diferente aquí. Y eso es más o menos todo lo que estamos haciendo. Ahora. ¿ Qué vamos a hacer con esta pantalla de título? Bueno, vamos a hacer interesante un nuevo evento. En el paquete de eventos RV, vamos a hacer clic derecho en nueva clase Java y este va a ser el evento de la pantalla de título de reemplazo. Vamos justo como lo voy a llamar. Esto implementa la pantalla Eventos punto antes en ella, y tenemos que tomar esta aquí mismo. Este evento es fundamental antes de que se inicialice un evento en particular. Entonces vamos a implementar el método antes init justo aquí. Y luego copiaré los contenidos, que también van a ser muy sencillos. Pero lo que sólo vamos a decir es hey, si la pantalla que actualmente se está inicializando es una pantalla de título y no es nuestra pantalla de título. Solo vamos a configurar esa pantalla hacia la pantalla de título. Eso es exagerar aquí con bastante facilidad. Eso es literalmente exagerar. Y ahora sólo necesitamos básicamente hacer este registro, este evento real aquí. Y esto se va a hacer en la clase de clientes. Por lo que MC curso cliente, muy importante. Y entonces aquí solo vamos a decir eventos de pantalla antes en ella esta vez de la fábrica de eventos aquí. Y luego solo vamos a decir un registro, un nuevo evento de reemplazo, reemplazar evento de pantalla de título. Eso es. Ahora la pantalla del título será reemplazada por esta textura justo aquí. Tenemos curso, todavía tengo que añadir esa textura. De lo contrario sólo vamos a conseguir textura negra y rosa, que no es lo que queremos en esto va a entrar en GUI y luego bajo fondo, por lo nuevo directorio, su fondo que hace. Y luego vamos a copiar esto. Esto también está disponible para usted. No obstante, tenga en cuenta que existe un aviso de derechos de autor asociado a esto. Una vez más, se puede tomar aquí del expediente de créditos. Puedes ver algunos por la rodilla. Por lo que esta es una vez más la misma licencia Creative Commons. Y entonces solo hay que enlazar la página de Fiverr ahí mismo. Tendrá eso en cuenta también si quieres usarlo. Recomiendo encarecidamente no usarlo porque no tiene ningún sentido porque cuando verás la textura real aquí, simplemente no lo hago, no necesitas usarla. Bueno, sea cual sea el caso, esto es todo lo que necesitamos. Así que ahora veamos si funciona o está empezando a cargarse aquí y debemos de inmediato, claro, verlo. Y ahí estamos. La pantalla de título personalizada está funcionando exactamente como esperarías que lo hiciera. Los botones aún funcionan. Puedo decir, eso es como un muy mal ejemplo, pero ahí vas. Por lo que básicamente puedo hacer click en todo y todo sigue funcionando. Y tenemos a Milo microbio personaje aquí sosteniendo un letrero tutoriales por columna y fila. Aquí a la izquierda tenemos un poquito de alerón justo aquí. Entonces, ¿quién sabe lo que significa este combinado? ¿ Quién sabe? Pero en general, me gusta mucho que sea realmente genial y todo va a funcionar. Y así puedes incluso ir a los derechos de autor aquí mismo. Todavía se puede hacer click en esto y todo sigue funcionando muy bien. Eso es realmente lo fácil que es agregar una pantalla de título personalizada a mi oficio, ¿verdad? Y como dije, recomiendo encarecidamente revisar la próxima conferencia también, donde vamos a sumar un conflicto a esto también. Porque si no tienes el conflicto, entonces tienes que hacer esto configurable. Sólo voy a decir esto, pero por el momento, esto es todo por esta conferencia aquí mismo. Espero que hayas encontrado esto útil y hayas aprendido algo nuevo. Te veré en la próxima conferencia. 101. (temas adicionales): Muy bien, bienvenidos de nuevo al curso de tela para 118. Y en esta conferencia, vamos a estar agregando un simple conflicto a Minecraft. Entonces, ¿qué significa esto? ¿ Cómo funcionan los conflictos? Bueno, antes que nada, vamos a usar una clase ya hecha. Y eso es justo aquí desde la tela, labios simples aquí mismo. Esto es de un magistrado Vmax. Y ten cuidado o asegúrate de que esto esté bajo un copyright. Y así esta va a ser la licencia del MIT solo para que estés al tanto de esto. Entonces asegurándose de que sepas que ese es el caso. El simple conflicto aquí es en realidad, quiero decir, es bastante sencillo. En realidad no es demasiado complicado, pero vamos a usar esto. Y esto es, por supuesto, todo disponible para ti también en el repositorio de GitHub en individual igual de bien. Y en realidad copiaré sobre las tres clases que se hacen en el paquete del curso MC haga clic derecho nuevo paquete llamado config. Entonces dentro de ahí, voy a copiar sobre las tres clases. Como dije, todos están disponibles para ti también para su descarga. Pero vamos a ver. Ahí vas. Ahí están. Tenemos la clase de conflicto simple, que generalmente es solo una clase normal de Java. Dentro de aquí, nada aquí es básicamente para Minecraft ni para tela. Este es todo el código Java normal. Aquí tuve, hice una pequeña modificación aquí mismo, es que reconoce un común después un valor que es todo lo que básicamente añadí aquí también. Vamos sólo, porque mi, me pareció un poco más agradable por la forma en que lo configuré para que tengamos a este proveedor de conflictos aquí mismo. Podemos ver que esto es sólo una configuración predeterminada. Ahora, ¿qué hace esto? Realmente es sólo una lista de pares. Así que vamos a tener un par clave-valor para que un conflicto sea bastante sensato, donde hay una cadena que va a ser la clave, luego algún tipo de valor. No sabemos qué valor porque básicamente podemos guardar cosas en diferentes valores y eso es en la clase de conflictos mod es básicamente todo bien hecho aquí tenemos este método de registro de conflictos, que vamos a llamar en un momento. Pero, ¿qué hace esto? Bueno, hace un nuevo proveedor de conflictos. Luego crea los conflictos. Esta es la creación real de los conflictos. Se puede ver que solo estamos agregando pares clave-valor a este proveedor de conflictos moderno aquí mismo. La idea es que esta es la clave. Para que puedan ver que acabo de tener algunos ejemplos aquí. Valor de prueba T, tenemos otro valor de prueba. Otro valor de prueba es una cadena en doble, o tener esos comentarios aquí solo para que sea un poco más fácil para el jugador o el usuario real cambiar este conflicto que sepan de qué tipo quieren cambiar esto a. También puedes agregarle algunas otras cosas a ella también. Como cosas posibles que puedes poner aquí, algo así también sería el caso. Y se puede ver que tienen aquí la pantalla de título de reemplazo e-value, que es la más importante, y que es la que básicamente vamos a echar un vistazo en tan solo un momento por el momento, vamos a ir aquí y en más alto de lo no inicializado, queremos decir conflictos mod, no conflictos registrados. Eso es más o menos todo lo que tenemos que hacer aquí. Entonces como dije, por supuesto todo el código está disponible. Ahora en esto, lo muy importante es que no puedes usar tus valores configurados aquí por todas partes. Y eso es algo que aquí es muy importante. Porque algunos, esto, básicamente lo que vamos a hacer es que sólo vamos a dirigir un cliente por un momento. Y voy a explicar por qué podría haber algunos temas aquí. Entonces tenemos dos hilos diferentes, ¿verdad? Entonces ahí está el hilo del servidor y el cliente para esto es por supuesto también por qué tenemos el mod de núcleos MC aquí y la clase de cliente del curso MC. Porque esto es sólo el cliente, esto es, esto es para ambos. Esto debería ser cuatro comunes. Básicamente. Nuestra configuración en este momento va a ser interesante porque en el, si estamos en el servidor realmente se va a cargar en. Y luego si estamos en el cliente, también se va a cargar. Por lo que ahora tengo mi micrófono, ha comenzado y luego puedo ir a dejar de fumar. Y ahora debería poder encontrar mi conflicto bajo la carpeta R1 en conflictos. Y ahí vas, MC curso conflicto o propiedades. Y se puede ver ahí están. Entonces tienes la clave real aquí y luego cualquiera que sea este valor, y luego también puedes ver el valor predeterminado así como el comentario que básicamente he agregado aquí. Esa es la idea general, y así es como se muestra. Ahora, una vez más, lo interesante es aquí que este archivo en realidad va a ser el mismo para el servidor y el cliente. Ahora si nosotros, por ejemplo, fueran a cambiar algo en lo que sea en los más ítems, por ejemplo, y decir que aquí hay un recuento máximo diferente. Eso va a ser un desajuste entre el servidor y el cliente. Ten mucho cuidado de dónde estás usando esto. Encontré que los conflictos en la tela son mucho más difíciles de hacer correctamente. Entonces en Forge, no sé que no haya una verdadera buena solución que haya encontrado. Todas las API de Config son increíblemente enrevesadas y no son muy fáciles de seguir. No estoy 100% seguro. Este simple conflicto aquí va a ser suficiente para definitivamente algunas o algunas cosas de clientes, 100% para las cosas del servidor. Bueno, ya veremos. Y también podrías separar esto para hacer una, estas tres clases básicamente, o más bien estas dos clases hacen de esto un mod. Los conflictos de clientes solo llaman a esto al cliente, entonces ni siquiera debería ser un cráter en el servidor porque por supuesto la pantalla de reemplace en mosaicos en este momento, en esta instancia aquí, en realidad algo que sólo sucede en lo real, el cliente real. Pero no obstante, debería estar totalmente bien. Entonces vamos a entrar en el evento de la pantalla de título de reemplazo. Y entonces aquí vamos a decir es que vamos a decir mod, cliente mod, no más conflictos. Van más conflictos que reemplazan pantalla de título. Y sólo vamos a sumar un fin y eso va a ser todo. Básicamente solo vas a comprobar si esto es cierto o no. Y si estuviéramos, por ejemplo, para cambiar esto a falso aquí mismo, y luego empezar de nuevo. Después de que esto se ha creado básicamente una vez, entonces ahora debería leer el valor real en. Y va a decir, hey, reemplazar la pantalla del título es falsa y luego no reemplazar la pantalla del título. Pero como dije, todavía hay algunos trabas en el frente del conflicto. Entonces esta definitivamente no es la mejor, la mejor solución en este momento. Ahí vas. Funciona. Esta es la mejor solución en este momento, sin embargo, no es la mejor solución probablemente para siempre. Todavía tengo que encontrar una muy buena implementación de cualquier cosa que sea una buena API de conflicto para la tela, pero es lo que es. Pero no obstante, ahora hemos añadido al menos como el año de conflicto para la pantalla, que es básicamente lo más importante aquí. También tienes algo para el conflicto, que haya al menos tendieron a dar un paso en la dirección correcta. El tejido MC wiki, por cierto, tiene una lista de algunos conflictos diferentes. Como dije, no he encontrado que ninguno de los otros esté bien tan interesante o que bien hecho. Al menos no lo hice realmente, pasé un poco de tiempo con cada uno de ellos. Y el simple conflicto realmente se usa fácilmente para mientras que el caso de uso que tenemos. Yo vincularé esto también para que básicamente puedas echar un vistazo a algunos de los otros también. Pero por el momento, creo que vamos a estar bien. Eso ya está en para esta conferencia aquí mismo. Ojalá te haya encontrado esto útil y Nuevo, y te veré en la próxima conferencia. 102. (temas adicionales): Muy bien, bienvenidos de nuevo al curso de tela para 118. En esta conferencia, vamos a estar agregando un efecto personalizado a Minecraft. Esto es algo muy interesante porque el efecto real proviene de otro estudiante que realmente había importado este efecto en su mafia pero tuvo un tema. Y pude arreglarlo. Y yo estaba como, Eso es un efecto realmente genial. Básicamente quiero mostrar cómo funciona esto y esto es en realidad mucho más directo de lo que podrías pensar. En nuestro paquete de cursos MC. Vamos a hacer clic derecho en nuevo paquete en efecto. Y luego en lugar de ahí, vamos a hacer dos clases nuevas. Uno de ellos va a ser la clase Mode Effects. Entonces el otro va a ser el efecto congelado. El efecto de cómo va a funcionar es básicamente que va a congelar una entidad o que ya no pueden moverse. Sabes, un poquito de yo no necesariamente diría ningún problema aquí, pero va a ser algo interesante ver porque hay algún tipo de interesante, digamos, formas en que esto funciona, pero sólo vamos a ver cómo funciona esto. Voy a copiar sobre el contenido de la clase real, extiende el estatus afecta clase que se puede ver. Y luego básicamente solo, tendrán aquí un constructor normal. Vamos a sobrescribir el método de efecto de actualización de aplicar. Entonces este va a ser el método de tictac que básicamente va a conseguir retener cada tick que una entidad tenga este efecto de status aplicado a ella. Y entonces también muy importante tenemos que anular el método de efecto de actualización puede aplicar y devolver un verdadero aquí mismo para que este método sea incluso abrigo porque si esto es falso, entonces esto es ni siquiera abrigo. Se puede ver que básicamente estamos tomando las coordenadas actuales de las entidades reales y luego configurándolas, dejando que la entidad real vuelva a esas coordenadas. Podría haber algunos problemas con esto, sobre todo con el vuelo. No obstante, para el jugador real, este método llamado es muy importante. Y para cualquier otra cosa, así que cualquier cosa que tenga una entidad que está dando vueltas en el mundo, entonces la velocidad establecida es importante porque esto básicamente lo hace para que los animales o un zombi o todo lo que pudiera no ser capaz de moverse más. Entonces ambos son importantes, y eso es más o menos todo lo que hay que hacer aquí en la clase Mode Effects. Una vez más vamos a simplemente copiar esto porque ¿por qué no? Esto no es en realidad tanto. Y también por supuesto, todo a tu disposición en el pasado o un individuo igual de bien. Se puede ver básicamente nada demasiado loco. Tenemos el efecto status que lo estamos registrando aquí mismo. Y en realidad lo estamos registrando dentro de los efectos de registro carbón, que es por supuesto algo que necesitamos llamar en lugar de la clase de curso MC Ahmad aquí mismo, sólo vamos a ir por abajo aquí. Vamos a decir más efectos, no registrar efectos. Ahí vas. Y eso es todo lo que tenemos que hacer ahora tenemos añadir todavía una cosa más y eso va a ser en la carpeta de activos MC course Textures. Quieres hacer un nuevo directorio llamado efecto de subrayado mafia. Efecto. Ahí tienes, Effect. Y entonces queremos agregar el PNG congelado a él va a ser el PNG real o la imagen real que se muestra cuando se tiene este efecto. Eso es en realidad todo lo que hay. En realidad no es tan complicado, sobre todo el efecto status en sí mismo. La categoría aquí debe ser bastante autoexplicativa. Este es solo el color que se puede ver, este es solo el color real de esto, de este efecto status que se va a utilizar, creo en océanos y persas, básicamente vamos a ver la próxima conferencia también. Por el momento, sólo vamos a tener este efecto sin porción. Y después de haber añadido todo eso, vamos a ver si funciona o si estaba de vuelta en Minecraft. Así que vamos a sumar y ver si puedo darme el efecto aquí. Por lo que este será jugador ahí y se puede ver MC curso de congelación efecto está ahí. Así que sólo vamos a dármelo y ya puedes ver, no puedo mover algunos tratando de presionar las teclas, es decir, no funciona, ¿verdad? Y se puede ver que no tenemos una traducción real en este momento, pero eso va a estar bien. Y se puede ver que no puedo, ni siquiera puedo mover el ratón. Todavía puedo golpear bloques si estoy como feliz. Pero se puede ver que esto es como mucho , básicamente estoy congelado. Probablemente haya algo que también puedas hacer para que no tengas esa sacudida cuando intentas mover el ratón aquí. Pero en general, funciona. Y luego en cuanto el efecto se desgasta, ahí vas. Ahora puede salir otra vez y todo está funcionando bien. Así que eso es realmente genial. Como dije, todo el resto se sumará en la próxima conferencia, incluyendo una porción y toda la traducción va a estar ahí también. Pero eso será todo por esta conferencia aquí mismo. Ojalá te haya encontrado esto útil y millones en lo Nuevo, y te veré en la próxima conferencia. 103. (temas adicionales): Muy bien, bienvenidos de vuelta el curso de tela para 118. En esta conferencia, vamos a estar agregando pociones personalizadas a Minecraft. Ahora, las porciones personalizadas son muy interesantes, y esto es por supuesto va a arrancar del friso efectivo que hemos agregado en la última conferencia. Lo que vamos a hacer es que vamos a hacer un nuevo paquete aquí mismo, y vamos a llamar a esto el paquete de pociones. Ahí vas. Entonces en lugar de ahí, vamos a hacer una nueva clase Java llamada los océanos mod. Hace ellos. Una vez más, en realidad copiaré los contenidos aquí. Pero antes de que podamos copiar los contenidos, lo que queremos hacer es en realidad queremos copiar sobre esto aquí mismo. Si queremos conseguir el friso de porción y luego registrar el método de poción o esto por supuesto está disponible para ti en el repositorio de GitHub e intereses individuales también. Entonces no se preocupe. Entonces en realidad voy a agregar el método de pociones de registro modificado aquí mismo, porque vamos a poder agregar las recetas de poción Registrar en tan solo un momento porque para las recetas que agregamos, en realidad necesitamos una mezcla aquí, pero no se preocupe en absoluto. En realidad tampoco va a ser complicado. Pero este método de pociones de registro llamará aquí mismo. Entonces bajo los efectos motores, más poción, iniciar registro poción. Entonces ahí vas. Eso debería ser eso. Ahora bien, esto es realmente importante que asignemos este campo dentro del método de pociones de registro. No estoy 100% seguro. Es sólo un poco de una peculiación aquí, pero he encontrado que esto funciona. Y si, si de inmediato lo asignamos aquí cuando inicializamos el campo y no funciona. Pero sea cual sea el caso, ahora necesitamos una mezcla. Entonces si en realidad echamos un vistazo al registro de recetas de elaboración de cerveza aquí en este momento, están en una receta de microbios netos. Esta es una gran clase que registra todas las diferentes recetas para pociones. Y podría ser como, Eso es genial, pero tristemente, el método de receta de poción de registro es privado. Eso es una especie de tema aquí por supuesto, porque eso significa que no podemos simplemente agregarlo. Si esto fuera público, será mucho más fácil. Pero por suerte, sólo podemos usar un mixto. Y para esto, vamos a hacer una nueva clase de Java, y esta va a ser la receta de elaboración de cerveza. Usted registra mixin. Ahí vas. Entonces esto va a ser, en realidad voy a copiar y esto es una vez más muy sencillo y por supuesto todo disponible para ti. Va a cambiar esto a una interfaz. Esto es por supuesto que va a mezclar la clase de registro de recetas de elaboración de cerveza. Entonces vamos a tener básicamente este método estático llamado simplemente invocar receta de porción de registro, asegurándonos de que este nombre de aquí mismo sea el mismo que, déjame volver aquí como este nombre aquí mismo. Entonces este nombre tiene que coincidir con este nombre en el Volcker uno. Y entonces solo estamos agregando esta afirmación porque esto en realidad no debería ser nunca frío. Si el mezclado y funciona correctamente, entonces este método debe llamarse muesca, lo que sea que esté escrito aquí, Eso es sólo otra cosa. Y luego también tenemos que añadirlo en el curso EMT, raza mixta. Y muy importante, se quiere agregar esto, pero vamos a añadir esto justo aquí bajo el mixin. Entonces eso es muy importante bajo la mezcla, no Cliente aquí mismo, asegurándose de que esto esté escrito correctamente. Por lo que sólo podemos revisar dos veces copiando esto, saltando esto y todo escrito correctamente. Eso es genial. Entonces lo que queremos hacer es que queremos ir a la clase de porciones MOD una vez más. Y sólo vamos a hacer que una deuda privada marque. No, ahí vas. Vacío estático. Vamos a llamar a esto las recetas de pociones de registro. Y luego dentro de aquí lo que vamos a hacer es que vamos a llamar a mezcla del registro de recetas de elaboración de cerveza, invocar receta de porción de registro. Y entonces sólo voy a decir que vamos a usar las porciones. Incómodo, incómodo. Hace ellos. Y luego quiero que comiencen los artículos mod o lingote de calcio, tenemos que agregarnos y luego vamos a conseguir la porción más poción inicio levantado aquí como resultado. Y eso es más o menos todo lo que necesitamos ahora este necesita ser frío aquí mismo. Así que vamos a llamar a esto en el fondo justo aquí. Después de que todos los persas se han registrado para nuestras porciones personalizadas, entonces registraremos también las recetas de la porción. Y eso lo va a registrar por cierto, por todas las tres porciones diferentes veces sin poción. Poción, así como la porción persistente. Eso es más o menos todo lo que necesitamos aquí. Y entonces todavía necesitamos la traducción, que es muy importante. Y vamos a sumar también la traducción. Pero la traducción es muy interesante porque los elementos aquí, por lo que las porciones están en realidad bajo el espacio de nombres de Minecraft. No es un 100% seguro por qué ese es el caso. Creo que, quiero decir, es obviamente el caso porque cuando registramos una poción, el elemento real de la porción va a ser registrado bajo Minecraft. Simplemente es lo que es, pero eso está bien. Y entonces también necesitamos uno para el efecto aquí. Sólo voy a añadir eso. Sólo vamos a añadir eso en el fondo justo aquí. Así efecto MC curso congelar, y eso es simplemente gratis. Entonces esas son las cuatro traducciones que también necesitamos. Y eso es en realidad todo lo que necesitábamos agregar, la porción incluyendo la receta de la poción. Entonces supongo que veamos si funciona o fósiles de vuelta en Minecraft. Así que vamos a tratar de ver si puedo o no elaborar mi porción personalizada. Entonces si pongo el oráculo entrando, ya estamos empezando a conseguir algunos avances aquí. Eso es muy bueno ya, por supuesto, porque eso significa que al menos está trabajando la receta. Ahora, ojalá también estemos consiguiendo aquí las porciones reales correctas porque de lo contrario a veces se obtiene la incómoda poción si algo salió mal, pero no congelamos poción, chapoteo porción de congelación y el océano persistente también. Pero por ahora en realidad podemos ir a ver también cómo funciona para las mamás. Vamos a matar a las ovejas año. Y vamos a ver en realidad lo que podemos ver. Si agrego algunas ovejas aquí eso es realmente fuera algunas de ellas. Pero si acabo de romper esto, ya puedes ver que están todos congelados. Y lo que realmente puedo hacer es que puedas ver que si le pego, eso realmente va a ser interesante porque en realidad van a flotar en el aire así como la Y es de supuesto también un congelado ahí. En realidad vamos a ver, hagamos lo siguiente. Vamos en realidad otra porción de congelación aquí mismo. Vamos a meter algunos zombis. Y vamos a ver. Voy a volver a cambiar a sobrevivientes que me van a seguir y luego congelarlos. Y luego se pudo ver que todos ellos están congelados. Muy, muy gracioso, Pero en realidad funciona. Y luego a veces se descongelan de nuevo. Vuelve aquí, ahí vas. Y eso es en realidad lo fácil que es. Y como se puede ver, todo esto se ha agregado correctamente, se han agregado las porciones, todo funcionando también. Así que volvamos aquí y veamos todas las porciones y las recetas de la poción también. Por lo que eso es bastante frio. Eso ya sería por esta conferencia aquí mismo. Espero que hayas encontrado esto útil y hayas aprendido algo nuevo. Te veré en la próxima conferencia. 104. (temas adicionales): Muy bien, bienvenidos de nuevo al curso de tela para 118. Y en esta conferencia vamos a estar agregando una entidad personalizada a Minecraft. La tan esperada conferencia sobre cómo se puede agregar una mafia personalizada o entidad personalizada a Minecraft finalmente está aquí. Y en general, va a ser bastante sencillo. Creo que todas las cosas consideradas, hay muchos pasos por los que tenemos que pasar, pero cada uno de los diferentes pasos en realidad no es tan difícil en y de sí mismos. Ahora lo primero que quiero decir es que todas las entidades que vamos a hacer aquí van a ser entidades de labio gecko. Entonces no vamos a hacer ninguna entidad de vainilla. De inmediato vamos a empezar con las entidades reales del labio gecko. Y en realidad voy a vincular algo aquí. Así que ese va a ser el labio gecko, básicamente el repositorio de GitHub aquí mismo. Por lo que el labio gecko que puedes ver es una biblioteca de animación o matemáticas de microbios. Y por el momento, básicamente lo que vamos a hacer con esto es que vamos a usar esto para implementar realmente las entidades reales. Y esto también nos permitirá simplemente conseguir un poco de una forma más agradable de animarlos. Por lo que recomiendo encarecidamente también hacer esto. Me refiero también a la conferencia aquí y las próximas conferencias sobre las entidades siempre van a requerir la biblioteca de labios gecko ahí no va a dar la vuelta por esto. Y además esto no es esa cosa. Algunas personas son como, Oh, no quiero que otras personas también tengan que descargar otro March, cosas así. No te preocupes por esto en absoluto. Recomiendo encarecidamente estar abierto a esto porque para el usuario, generalmente muchas cosas pasan en mod packs de todos modos. Y entonces algo así como el labio gecko probablemente esté ahí de una manera u otra. Cualquiera que sea el caso, se puede ver el uso de la tela. Tenemos algunas cosas diferentes que necesitamos copiar. Lo que voy a hacer es que en realidad tengo esto en mi otro monitor ya aquí para mí. Lo que voy a hacer es que voy a copiar cosas que puedan ver necesitamos antes que nada agregar una URL maven aquí en los repositorios. Entonces esta va a ser ésta que siempre va a ser igual. Y entonces en realidad podemos echar un vistazo a esto. Entonces esto va a ser 32 que en realidad son la misma versión que tengo aquí también. Y eso va a ser bajo dependencias. Entonces vamos a poner esto aquí. La mayoría de las implementaciones software quema gecko lib, equilibrio, archivo discontinuado, fabric dash 118, y luego 3032. Y eso es en realidad todo lo que necesitamos. Se puede ver que esto es para falsificado, así que no necesitamos esto. Y luego hay algunas cosas de inicialización aquí, básicamente lo que vamos a estar bien con eso. Así que en realidad regresemos aquí y volvamos a cargar esto. Así que vamos a recargar esto una vez más, cierto, para tomarme un par de minutos, tal vez, algo así. También podría tardar 20 segundos. Por supuesto depende mucho de tu conexión a internet y también de tu pared en solo en general, la velocidad de tu PC mientras van 13 segundos. Eso es un poco lindo. Así que en realidad echemos un vistazo a lo que ahora podemos ver. Hay bastantes cosas que necesitamos agregar en nuestro paquete de cursos MC. Haga clic derecho en nuevo paquete llamado entidades o entidad en realidad, hagamos eso. Ahí vas. Y luego en lugar de ahí vamos a hacer un nuevo paquete llamado Custom. Y luego antes que nada, en el paquete de entidades, vamos a hacer clic derecho en nueva clase Java llamada las entidades mod. Ahí vas. Y cuantas más entidades la clase se va a llenar en realidad solo un momento. En primer lugar necesitamos las entidades reales. Entonces en nuestro paquete personalizado, haga clic con el botón derecho en nueva clase Java, y esta va a ser la entidad mapache. Ahí vas. Y entonces lo hemos hecho. Ahora voy a estar copiando una cantidad bastante sensata de cosas aquí, que va a ser, vas a decir, está bien, eso es un poco de cosas aquí. No te preocupes por eso. La idea general aquí es que si bien hay un buen número de cosas que básicamente quiero copiar y voy a copiar. En primer lugar, por supuesto, todo esto está disponible para ti en el repositorio de GitHub en el individuo igual de bien. Así que recomiendo encarecidamente que vas a tener que revisar esto de una forma u otra. Y luego también hay muchas cosas que voy a tratar de ir y explicar lo mejor que puedo hacer. En primer lugar, esto va a extender aquí la entidad animal. Y entonces también va a implementar la IA animable. Se puede ver que esto es de Ecolab. Vamos a pasar el puntero sobre esto e implementar métodos. Y luego vamos a decir, vale, entonces después de que esto se haga, verá que el método de prueba Create es que para la entidad animal, vamos a mantener esto nulo por el momento. En realidad no vamos a echar un vistazo al desove de entidades tribales justo ahora. En las próximas conferencias vamos a ver a lo mejor habrá otra conferencia sobre eso en el futuro. Pero por el momento, nada como estaba planeado. Cualquiera que sea el caso puede estar dentro tienen también los controladores de registro y la fábrica de animación aquí. Esos son de la interfaz animable ojo. Y luego volvemos a pasar el cursor sobre esto. Básicamente entonces crea constructor de coincidencia super. Y ahí vas. Ahora hagamos que este constructor inmediatamente sea público para que tengamos esto. Y entonces vamos a hacer es que voy a sumar aquí el factor de animación. Por lo que vamos a animar en la fábrica de animación, se puede ver bastante sencillo nueva fábrica de información privada, fábrica , nueva fábrica de animación. Y luego pasando por esto, entonces sólo vamos a devolver esto aquí mismo. No vamos a añadir animaciones en esto. Conferencia en realidad, lo que sea, configurarlo aquí no es ninguna preocupación en absoluto. Así que eso va a estar totalmente bien. Entonces hay otras dos cosas que definitivamente conocemos. Entonces lo primero que realmente necesitamos es que queremos decir este punto ignorar cámara para Ostrom es igual a verdad. Honestamente no estoy 100% seguro de lo que hace esto. Sólo sé que deberíamos llamarlo. Entonces esa es la idea general. A veces ese es el caso en las entidades, también bastante el tema complejo, por lo que no hay preocupaciones ahí. Pero sea cual sea el caso, eso es lo más fácil. Entonces queremos sumar algunos atributos. Vamos a copiar sobre el método set atributos. Se puede ver que aquí, básicamente estamos construyendo algunos atributos. Se puede ver max, salud, velocidad de daño, y cosas así. Entonces básicamente estamos configurando esto en esta entidad en particular, esos números, por supuesto, puedes cambiarlos como quieras, pero tienen que estar ahí. Eso es muy importante. Y entonces también necesitamos algunas metas. Esta es la IA de su marca general. Básicamente. Ahora tengo dos cosas aquí que son básicamente, ya puedo Borrar. vamos a necesitar en un poco. Vamos básicamente en futuras conferencias cuando estemos haciendo esta entidad mapache, también T-Mobile. Eso es algo para las futuras conferencias. Como dije, podemos ver que aquí hay algunos objetivos diferentes y tienen prioridades diferentes. Cuanto menor sea el número de prioridad, mayor será el objetivo real en su prioridad. Prioridad 0 sería lo primero que pasa. Y luego a si hay un conflicto entre lo básicamente, si se podrían ejecutar dos goles que el de menor prioridad y ejecutarse en la cara porque así funciona. Y eso es en realidad todas las cosas diferentes que necesitamos agregar. No hay nada más que necesitemos agregar en esta propia entidad. Todo lo demás viene, bueno, me refiero un poco más tarde cuando vamos a empezar con la entidad de mesa. Entonces en las futuras conferencias, se hace la entidad grabadora. Entonces vamos a entrar en la clase de entidades mod. Y una vez más, en realidad lo copiaré, pero no se preocupe en absoluto. Porque una vez más, todo esto está disponible para ti y vamos a pasar por esto para que podamos ver que vamos, voy a hacer aquí una nueva entidad tipo de nuestra entidad de registro de clientes? Y entonces sólo vamos a llamar a registro, registro, a ese registro nuevo tipo de entidad. Vamos a decir que esto se llama mapache. Y luego vamos a llamar al tipo de entidad de tejido de Constructor, vamos a crear un nuevo tipo de entidad. Voy a decir que esto es una criatura jurada grupo son por supuesto, diferentes tipos de puentes, como se puede ver. También se puede ver donde dice como pacífico, sí, Y entonces eso va a estar bien. Entonces hacer una nueva entidad mapache se asegura de que lo eres, que hiciste a tu instructor República. De lo contrario vas a tener un error aquí, claro. Y las dimensiones aquí son las dimensiones para la caja de cadera de esa entidad. Y entonces sólo vamos a llamar al edificio justo ahí y eso va a ser todo. Eso es, sin embargo, por supuesto no todo porque nada puede ser así de simple. En el paquete de entidades, vamos a hacer clic derecho nuevo paquete llamado cliente. Y dentro de aquí vamos a hacer el modelo y el renderizador. Esas van a ser dos clases, así que va a ser el modelo mapache. Y también vamos a hacer el mapache. Si vas renderizador de mapache clase Java, ahí vas. Esas son las dos clases que vamos a necesitar, una vez más, copiando algunas cosas aquí. Entonces voy a hacer primero el modelo. Justo ahí. Esto se va a extender en realidad el modelo animado GO. Se puede ver fuera de tipo entidad mapache. Ahí vas. Y luego si pongo el cursor sobre esto, en realidad puedo ver tres métodos que necesitamos implementar. Estos son los tres obtienen ubicación modal, modelan como ubicación de textura y se animan por ubicación. Y una vez más, como dije, voy a copiar sobre la abundancia son pero nada demasiado loco. Sólo estamos creando nuevos identificadores bajo nuestro ID de modelo y luego poniendo en lo diferente, bueno aquí es la ubicación de la textura, la ubicación animación, y la ubicación del modelo. Los vamos a sumar en un momento. En primer lugar, tenemos que terminar básicamente el código o quiero terminar el código y luego también vamos a cambiar a block bench para ver realmente nuestro modelo mapache personalizado. Y primero que nada vayamos aquí al renderador real. Entonces vamos a decir que esto es extiende el renderador de entidades geo de tipo entidad mapache. Y se van. Y luego vamos a pasar el puntero sobre este constructor rápido emparejando super. Y después tenemos que quitarnos el primer modelo. El segundo parámetro aquí en realidad, porque aquí queremos pasar en un nuevo modelo mapache. Eso es lo que queremos. Y luego solo para estar seguros, también vamos a sobrescribir el método get texture location. Sólo voy a básicamente pasatiempo que se acabe. Para que puedas ver esto apunta a la misma textura. Éste apunta a. Eso debería ser más o menos todo lo que necesitamos. Y eso es en realidad esas dos clases hechas. Ahora tenemos que seguir combinando el Renderer con las entidades. Entonces, ¿cómo hacemos eso? Bueno, vamos a entrar en nuestro curso MC, método cliente. Y luego en el fondo donde vamos a decir, vamos a decir la entidad, hacer un registro, éste de aquí mismo, registrar entidades de modo, ese mapache. Entonces vamos a decir el renderer de registros colon, colon sabía que no deberíamos obtener errores si todo ha sido configurado correctamente. Entonces las entidades reales, la clase CRF y configuradas correctamente, la extensa se configuró correctamente, entonces no debemos obtener ningún error. Y ahora la cosa realmente funciona. Pero ahora por supuesto todavía necesitamos una entidad. ¿ De dónde sacamos una entidad? Bueno, la entidad que obtienes de una bancada de cuadras. Ahora ya hemos visto esto con bastante anterioridad, pero vamos a volver a entrar en ello. Y aquí se puede ver el mapache. ¿ No se ve simplemente alucinante? Yo sí, me gusta mucho, pero esto lo hace Euro o así esto va a por supuesto, hacer que los acreedores presenten. Eso va a ser un eslabón ahí también. Pero me gusta mucho. Se puede ver que básicamente esto es un, este es un modelo de labio gecko. Lo que vas a necesitar en realidad está bajo plugins de archivos. No, eso no es necesario, ¿verdad? Vamos a hacer plugins. Esta es la gecko animaciones labiales util. Necesitas este plugin aquí. De lo contrario no va a funcionar. Y luego puedes hacer, si haces un nuevo, puedes hacer un modelo animado de labios gecko. Entonces este es un labio gecko animar el modelo. ¿ Y qué tiene de especial esto? Bueno, tienes esta pestaña animada aquí mismo, y puedes ver que hay diferentes animaciones para ello. Pero estas animaciones en este caso ya están hechas, pero no hay preocupaciones por supuesto en absoluto. vamos a ver en una conferencia posterior cuando realmente estamos pasando por las animaciones por el momento, lo que sólo queremos es que básicamente sólo queríamos exportar el modelo gecko es que esto no te aparecen por cierto, ve a convertir, convertir proyecto, y luego se asegura de que eliges el modelo animado en vivo gecko. Si esto aparece en esto, entonces deberías poder hacer eso adecuadamente. Para que pueda ahorrar, solo puedo decir exportar modelo glicolítico. Y luego vamos a exportarlo básicamente. Ahora en realidad va a copiarlo también. Así que vamos a volver aquí. Entonces el modelo es un archivo geo, geo dot JSON, y eso tiene que ir debajo de tu carpeta de activos. Y luego vamos a hacer una nueva carpeta justo aquí, directorio GO, y luego va ahí. Así que sólo vamos a copiar esto. Ahí vas. Y se puede ver que esta es la geometría del mapache. Así que a veces en realidad tenía un error tipográfico ahí dentro, pero no se preocupe en absoluto. Esto todavía debería funcionar porque lo que realmente busca, es este nombre aquí. Y mientras ese nombre funcione con el nombre dado aquí mismo, se puede ver GO mapache perro geoda adyacente. Esto es lo que, éste apunta a la ubicación media. Todavía necesitamos la ubicación de textura que va a estar bajo texturas, por supuesto. Entonces bajo una nueva carpeta llamada entidad. Que en vez de ahí vamos a hacer una nueva carpeta llamada mapache. Entonces este va a ser el mapache dot PNG. Entonces vamos a copiar esto también. Ahí vas. Y ahora todo está configurado. La duración de la animación sólo podemos ignorar por el momento. Como dije, vamos a dar este paso a la vez, y esto es más o menos todo lo que necesitábamos hacer para sumar el mapache real. Por supuesto, como dije, dentro del banco de bloques, va a haber muchas cosas que tienes que hacer aquí. Este archivo de banco de bloques también estará disponible para usted. Por lo que no se preocupe ahí. Básicamente puedes tomar esto y probarlo y luego ver qué puedes usar con esto. De lo contrario, es sólo muy importante que básicamente vamos a usar el gecko en vivo desde este punto en adelante. Y en general de las otras cosas se debe hacer más o menos aquí, hemos seleccionado el en este río registrado el mapache y el renderizado. Y solo para repasarlo por una entidad personalizada, lo que vas a necesitar es que vas a necesitar la clase de entidad. No se necesita un renderizador y un modelo. Ahora esto es en realidad lo mismo si no estás usando Ecolab. No obstante, la ampliación aquí, por supuesto va a ser diferente porque este va a ser un modelo de GO animado aquí para el labio gecko. Y no va a ser eso para un tipo de entidad normal o vainilla, ¿verdad? Entonces hay una cosa más que tenemos que hacer y que es fijar sobre los atributos. Ahora vamos a hacer eso en nuestros registros, aquí mismo, los registros de modo, sólo vamos a hacer un vacío estático privado de clase nueva. Y esto va a ser los atributos de registro, pero esto va a ser un enfriamiento la entidad fabric, vamos a llamarlo realmente un registro de atributos por defecto de fabric . Hace que registran entidades mod, ese mapache. Y entonces sólo vamos a llamar a los atributos del conjunto de datos de la entidad mapache que hace. Y eso debería ser que el error aquí debe ser o la advertencia aquí debería estar bien. Y entonces por supuesto vamos a llamar a esto aquí mismo, registrar atributos ellos un objetivo. Y entonces una cosa más que es, por supuesto, bien bastante importante. Todas las cosas consideradas van a ser los huevos de desove. Así que vamos a necesitar un huevo de desova para el mapache. Vamos a entrar en nuestra clase de artículos de modo y vamos a agregar eso también. Sólo vamos a copiar esto. Este va a ser el huevo de subrayado de mapache engendrado. Ahora esto se va a llamar el guion bajo mapache desove de subrayado huevo. Este va a ser un nuevo elemento aquí mismo. El primer parámetro del cual va a ser los tipos de entidad de entidades mod que mapache y entre van a tener unos colores primarios. Así que en realidad voy a copiar esos más porque esos son básicamente justos, esos son los colores de los espermatozoides y óvulos reales básicamente. Y ya me he arreglado para que no necesitamos volver a agregar esto de nuevo. Ahora lo que sí tenemos que hacer, y esto es muy extraño, pero quiero decir, es lo que es. En realidad necesitamos agregar un spawn AG Jason archivos mientras que en el archivo adyacente del modelo de elemento. Entonces en la carpeta de elementos modelos y copia esto más. Ahora esto va a ser muy, muy sencillo. Se puede ver que sólo tiene el padre de la plantilla de elemento desova huevo, y luego responden a consigue coloreado en. También hay añadir la traducción porque entonces tenemos esto hecho también. Este es un artículo aquí. Pongámoslo aquí mismo. Ahí vas. Por lo que el mapache ha engendrado huevo ahora también se ha añadido con éxito también y debe de inmediato mientras solo funciona. Quiero decir, eso es más o menos lo fácil que debería ser. Y ahora estoy bastante seguro que todo aquí se ha agregado. Podemos ver que aquí hay bastantes pasos. No obstante, una vez que pases por ellos una y otra vez y otra vez, esto más o menos para ser bastante sensato en los objetivos aquí. Quiero decir que hay muchas metas. Entonces si hacemos clic en el botón central del ratón sobre la meta aquí, se puede ver la clase de gol. Y si presiono clic en esto y luego presiono Control H, se pueden ver todos los diferentes objetivos que están en vainilla e incluso puedo ampliarlos. Aquí hay aún más goles. O puedes, puedes echarle un vistazo a esos. O incluso puedes hacer tus propios objetivos. En teoría, esto es muy complicado. No vamos a entrar en esto pronto. Los objetivos son muy, muy complicados y las mejores formas echar un vistazo a esto como definitivamente primer lugar, los goles de vainilla. Y luego en segundo lugar, siempre puedes echar un vistazo a algunos repositorios de GitHub de otros mods donde podría haber algunas entidades con objetivos interesantes que has visto. Y entonces puedes echar un vistazo a cómo se hacen y aprender de que los objetivos son muy bastante complicados. Es IA, es lo que es. Pero por el momento, esto es todo lo que necesitamos. Entonces supongo que veamos si funciona o si las respuestas vuelta en microfísica ver se ha agregado el desove del mapache. Así que ahora veamos si podemos desovar. Y ahí está, el mapache en realidad desova y ahí van, caminando por ahí, por supuesto, en este momento, no realmente animados en absoluto. Y también tienen bastantes de ellos. Pero si en realidad sobrevivieron como dos hits, tres golpes con otra fuente de luz. Entonces eso es bastante loco porque ayudan, por supuesto, se ha puesto bastante alto. Pero esto es algo que siempre se puede cambiar. Esto es algo que siempre está abierto a la experimentación aquí, pero se puede ver el real desova animal. Entonces eso es un fresco realmente alucinante. Y bueno, quiero decir, vamos a ver dónde el futuro de las pistas con ellos. Y en realidad echemos otra mirada a la clase de entidad porque hay algunas cosas más que podemos agregar, que podrían ser interesantes para ti, donde nos encontremos de nuevo en el clase de entidad y justo para que lo hayas visto porque esto probablemente va a ser algo que la gente va a pedir. Porque, quiero decir, por supuesto que siempre puedes entrar en la clase animal aquí mismo y echar un vistazo a todos esos métodos que podrías ser capaz de anular. Igual por cierto, con la entidad pasiva y la entidad senda consciente y así sucesivamente y así sucesivamente. Podemos ver que las entidades van todo el camino de regreso a la entidad viviente, que básicamente todo el resto aquí son básicamente descendientes de en la jerarquía. Un muy recomendable también revisar los que salen. Hay tanto que ganar al mirar a las entidades de vainilla. Siempre se pueden encontrar cosas interesantes de la forma en que funcionan. Pero una cosa que podría preguntarse también, ¿cómo agrego sonidos personalizados a mi entidad? Y para eso tenemos cuatro métodos diferentes aquí donde voy a copiar sobre el sonido ambiental, el sonido hertz al sonido sordo y el sonido de paso. Esos cuatro métodos, solo puedes devolver un evento de sonido. Esto por supuesto luego incluye los eventos de sonido personalizados que ya hemos visto en conferencias anteriores. Por lo que esto también funcionaría entonces. Tan altamente recomendable, básicamente puedes hacer eso y luego va a tocar esos sonidos bajo circunstancias específicas. Definitivamente quería mostrar esto también. Esto podría ser algo que es muy interesante para ti. De lo contrario, todos los demás realmente recomiendan encarecidamente echar un vistazo a algunos de los ejemplos de vainilla. Y luego también básicamente, bueno, echando un vistazo a cómo podemos hacer esto en las próximas conferencias. Porque como dije, vamos a hacer unas cuantas conferencias diferentes sobre, bueno, qué diferente, cómo funcionan las entidades reales. Entonces vamos a configurar básicamente las animaciones reales. La próxima vez. Vamos a echar un vistazo a algunas de la varianza y luego algunas otras cosas también, lo cual es realmente interesante. Por lo que recomiendo revisar los que salen también. Pero por el momento, esto va a ser por esta conferencia aquí mismo. Espero que te pareciera útil esto y aprenderás algo nuevo si lo hicieras, agradecería mucho una reseña de ti. De lo contrario, te veré en la próxima conferencia. 105. (temas adicionales) Añadir animaciones de entidades con Geckolib y BlockBench: O doy la bienvenida de nuevo al curso de tela para 118. En esta conferencia, vamos a estar agregando animaciones personalizadas a nuestra entidad personalizada. Para eso. En primer lugar, vamos a volver a la bancada quebrada. Y como por supuesto, en la última conferencia, realidad hemos agregado la entidad mapache. Este modelo de banco de bloques está disponible para su descarga. Y cuando se tiene esto, entonces lo que es muy importante es que este es un modelo de labio gecko aquí. Si esto no tiene el formato del todo correctamente, puede convertir el proyecto en un modelo animado de labios gecko. Y entonces deberías tener esta pestaña Animate aquí mismo. Y la pestaña Animate, puedes ver si alguna vez has trabajado con algo como algo que sea un programa de edición donde tienes ciertas, ciertas claves, tus fotogramas clave que puedes establecer por. Esto también es animación en, por ejemplo, la unidad, algo así es básicamente lo mismo aquí. Y lo que podemos hacer es hacer clic en la animación de la isla. Y por ejemplo, puedo hacer click en la cola y se puede ver que he puesto algo en la rotación aquí. Lo que puedo hacer es que sólo puedo tocar la animación. Se puede ver que sobre la cabeza y el cuerpo van lentamente subiendo y bajando. Y la cola aquí solo está moviendo un poco de ida y vuelta. Qué puedes ver si hago click en este fotograma clave que incluso podemos poner en ciertos métodos llamadas a funciones aquí mismo, puedes ver Consulta anime time math sin, esto es sólo la onda sinusoidal que estamos luego poniendo en el tiempo real de animación en. Y eso básicamente justo, bueno hace esto en el eje y. Entonces va a rotar esto en el eje y. Esa es la idea general aquí. Puedes poner en muchas cosas diferentes aquí. También puedes, por supuesto, poner los fotogramas clave manualmente. que puedas hacer un fotograma clave, hacer algo al respecto, y luego avanzar el tiempo, hacer otro fotograma clave, avanzado el tiempo hacer otro fotograma clave y así sucesivamente y así sucesivamente. Y por supuesto se puede hacer eso manualmente sobre lo que hice como dije, aquí en el cuerpo. Hice la onda tendones en la cabeza. También hice una onda sinusoidal arriba y abajo. Y luego por la cola, también hice una onda sinusoidal. que puedas ver esta es onda sinusoidal y luego posicionar aquí también está en una onda sinusoidal solo un poquito de unos valores diferentes o diferentes aquí, que se ve un poco diferente, pero en general, se ve muy bien. Entonces es sólo una muy simple, pero basta con dar una impresión de alguna vida que son en lugar de solo tener una estática. Y también podemos echar un vistazo a la animación a pie. Puedes ver ahí vas, la animación a pie. Y entonces también podemos echar un vistazo a la animación sentada de esa es en realidad una completamente estática en este caso, también sería algo agregado ahí. Pero por el momento, en realidad estoy bastante contento con lo que es esto. También es solo un ejemplo aquí En no hay preocupaciones ahí. ¿ Qué hacemos con esto? Con todas estas animaciones? Entonces, ¿cómo guardamos esas animaciones mientras vamos a la animación? Y luego vamos a salvar todas las animaciones. En primer lugar, entonces se puede ver donde quiero guardar esto en la animación de mapache de archivo de age Tracer, ese rastro. Así que voy a salvar esto. Y entonces podemos básicamente usar ese archivo JSON para nuestro, nuestro proyecto. Vamos a volver a una tela. Y si lo recordamos en el modelo, tenemos que especificar la ubicación para las animaciones. Esto va a ir una vez más, carpeta del curso de recursos MC aquí mismo. Y entonces aquí mismo vamos a hacer un nuevo directorio llamado animaciones. Y luego dentro de ahí, vamos a poner la animación mapache, ese archivo adyacente, la salvedad está aquí. Y entonces solo tengo que cambiar rápidamente el nombre de mapache CR2. Esto es algo que se debe arreglar para ti. Es sólo que había un typo ahí antes, y luego deberíamos ser de hierro. Ahora tenemos esas animaciones que básicamente se hacen aquí mismo. Ahora, ¿cómo vamos a usarlos? ¿ Cómo son capaces de ser utilizados? Bueno, son capaces de ser utilizados en la clase de entidad. Por lo que recordamos que hemos agregado los controladores de registro y la fábrica aquí mismo. Y ahora tenemos que sumar dos cosas más ahí dentro. Entonces, antes que nada, vamos a sumar el predicado. El predicado es un método, así que sólo voy a añadir esto en el fondo aquí. Sólo vamos a hacer algo así como animación. Estas van a ser las animaciones donde se puede ver este es el nombre de la animación que básicamente va a usar este nombre aquí mismo, tiene que coincidir con estos nombres, ¿verdad? Para que puedan ver esta es la animación sentada que no vamos a utilizar en este tutorial naranja en lugar de esta conferencia. Vamos a usar esto en la conferencia posterior. Y entonces esta animación de la animación caminando aquí es en realidad algo que usamos aquí. Y luego la animación ociosa aquí mismo, esos nombres tienen que coincidir muy importante. Y entonces la pregunta es, ¿ cuándo está sucediendo esto? Bueno, se puede ver la animación de paseo está sucediendo cuando evento que se está moviendo, realidad se puede echar un vistazo al evento de animación y ver algunos ejemplos aquí. Por lo general no hay tantos ejemplos. Algunas otras cosas que veremos, sobre todo con el evento de ajuste. Veremos en un poco cómo podemos , en una futura conferencia, cómo básicamente podemos implementar eso cuando tengamos la animación sentada también. Pero por el momento, queremos esto y luego lo que queremos agregarlo al evento controladores registrados está siguiendo. Una vez más, por supuesto todo esto está disponible para ti en el repositorio de GitHub e individual igual de bien. En realidad tomemos este. Entonces se trata de datos de animación en el controlador de animación. Vamos a hacer un nuevo Controlador de Animación solo con un controlador de animación aquí. Y entonces solo vamos a pasar a este kit de producto punto-producto o este producto de colon colon. Y este producto aquí se pregunta en, y ahora estas animaciones deben ser, bueno, básicamente, básicamente, ya funcionales. Eso es en realidad todo lo que necesitamos para esas animaciones particulares aquí, porque ya lo hemos configurado todo con el modelo aquí mismo. Esto es puntos al archivo JSON real. Lo hemos actualizado y exportado todo desde el banco de bloques aquí mismo. Peor aún, si quieres tener algunas animaciones geniales locas , siempre hay, hay mucho que puedes hacer al respecto. Pero como dije, en general, es sólo cuestión de probarlo. Estar abierto a la experimentación una vez más justo aquí, ¿verdad? Quiero decir, no vamos a pasar por cada cosa y solo vas a tener que probar algunas cosas por tu cuenta. Pero en general, así es más o menos como lo haces. Sí. Veamos si funciona. O lo que encontramos fue en Minecraft. Y como se puede ver, las animaciones reales se han agregado con éxito al juego. Para que puedas ver que ya sabes, la animación a pie también. Entonces ambos trabajan por cierto, los sonidos también funcionan desde la última conferencia que podemos escuchar. Esos también funcionan. De hecho, consigamos el sonido sordo que creo que era de un cerdo. Oigamos eso también. Sí. Eso es un poco raro, pero está bien. Y luego los sonidos ambientales reales o del delfín, quiero decir, no encaja del todo, pero es un poco gracioso que realmente funciona. Pero lo más importante, las animaciones funcionan, como se puede ver, que eso es realmente genial y fue bastante fácil de implementar todas las cosas consideradas, te puedo decir qué definitivamente más fácil implementar algunas de esas animaciones personalizadas. En este caso, en lugar de hacerlas con las cosas del modelo de vainilla, eso es mucho más difícil, te puedo decir eso, pero bastante genial. No obstante. Eso ya está en para esta conferencia aquí mismo. Espero que hayas encontrado esto útil y aprendas algo nuevo. Y te veré en la próxima conferencia. 106. (temas adicionales): O doy la bienvenida de nuevo al curso de tela para 118. Y en esta conferencia vamos a estar agregando mafia personalizada, varianza a Minecraft. Entonces lo que esto significa es básicamente, probablemente todos hayan visto la entidad caballo, la mafia de caballos en Minecraft, y puede tener diferentes colores, diferentes o códigos diferentes. Y esto es exactamente lo que vamos a hacer por el mapache. Ahora esto es sorprendentemente una cosa muy sencilla de hacer. Ahora hay bastantes lugares donde realmente necesitamos agregar algunas cosas. Pero principalmente por supuesto en la clase de entidad y también en el renderizador, si no me equivoco, sí, está en el renderer y en el modelo en realidad, hay bastantes lugares donde necesitamos cambiar algunas cosas, pero no se preocupe ahí. En realidad es una vez que entiendes lo que estamos haciendo aquí, en realidad es bastante sencillo. Pero lo primero que vamos a hacer es en el paquete de entidades, vamos a hacer clic derecho en nuevo paquete llamado varianza. Entonces en lugar de ahí, vamos a hacer una nueva clase de Java. Vamos a seleccionar enum, y esta va a ser el mapache una variante. Ahora voy a copiar sobre el contenido de esto. No obstante, básicamente va a ser lo mismo cada vez que hagas una nueva variante. Así es como se ve. Las únicas cosas que necesitas cambiar son básicamente las referencias reales aquí al nombre de esta clase. De lo contrario, está bien. Y luego aquí, al igual cualquier otra enumeración que hayamos visto anteriormente, solo enumeras todas las diferentes enums aquí y luego solo las recuerdas. Quiero decir, aquí esto es como probablemente como verde y este ID que probablemente sea un poco más sensato aquí en este caso, sea cual sea el caso. Entonces vamos a tener un invariante predeterminado, una variante oscura y una variante roja. Ahora, ¿cómo elegimos estos? ¿ Cómo sabemos qué va a pasar aquí? Bueno, lo que va a pasar es en la clase de renderizadores mapaches aquí mismo, vamos a añadir un mapa. Una vez más, en realidad copiaré esto. No obstante, es muy sencillo una vez que realmente veas cómo se ve y luego se ve tal vez un poco loco y en la primera señal, pero luego vas a ser como, Vale, eso es en realidad no demasiado loco. Lo único que estamos haciendo aquí es que estamos diciendo ubicación bivariante, un nuevo mapa de la variante Raccoon a identificador. que simplemente significa que si el, si estamos pasando a esta variante, el mapache predeterminado varió aquí mismo. Sólo vamos a apuntar a esta textura. Si es la variante oscura, vamos a apuntar a esta textura. Si es la variante roja, vamos a apuntar a esta textura. Eso es literalmente todo lo que hay. Si tienes varios, solo agregas más aquí, salida mapeada y luego con una nueva variante y así sucesivamente y así sucesivamente. Eso es todo. La ubicación real de la textura aquí y ahora tiene que cambiarse. Por lo que tenemos que decir ubicación bivariante dot get. Ahora la pregunta es, bueno, ¿cómo obtenemos la varianza? Bueno, tenemos que conseguir de alguna manera la variante en la entidad. Esto es lo que vamos a hacer a continuación. Vamos a salir de esta zona por el momento, y vamos a cambiar algunas cosas en la entidad. Esto es un poco más complicado, digamos, donde hay más partes en esto. No obstante, estoy una vez más, en realidad estoy seguro de que va a estar bien. Estaré copiando sobre todos los diferentes métodos ahora esto va a ser bastantes de ellos, pero vamos a soportar conmigo y vamos a pasar por esto. Luego explicaré todos los diferentes métodos que vamos a tener un error aquí, es decir las flechas de datos. Por lo que en realidad necesitamos algo que se llama datos de tracto de tipo entero. Y en realidad voy a añadir esto a la parte superior aquí, porque normalmente me gustan los datos reales de práctica aquí para estar en la parte superior y luego no deberían estar presentes más errores en la clase de entidad. Y entonces en realidad vamos a pasar y explicar lo que está pasando el FREC aquí mismo. Pero, ¿qué tenemos? Tenemos en primer lugar, este rastreador de datos, esto es interesante, ¿verdad? Por lo que los datos de pista aquí se pueden ver es una, bueno, es una forma de almacenar datos en una entidad que se realiza un seguimiento tanto a través del cliente como del servidor. Eso es por supuesto muy importante que esos sean lo mismo. Y podemos ver por un ejemplo aquí, si hago clic en la entidad animal presione Control H y por ejemplo, entrará en la entidad espacial OR. Podemos ver que aquí hay algunas cosas de datos de práctica. Se puede ver que hay algunas banderas. Ahí están los datos del propietario UUID. Y creo que incluso podemos ir más allá en el tal vez en la entidad caballo. Ahí vas. Tenemos aquí también una variante de identificación deshuesada armadura. Y esto es más o menos exactamente el mismo mundo funciona. Entonces aquí es más o menos donde he conseguido cómo funciona esto desde la entidad caballo. Así que una vez más, es sólo va a mostrarte una vez más. Está todo en las clases de vainilla también. Puedes echarles un vistazo y solo puedes encontrar casi cualquier cosa ahí dentro también. Son la herramienta Occidente y el mejor recurso que tienes a mano. Ahora, ¿qué más tenemos en la clase donde usamos esto, verdad? Entonces vamos a usar esto. Se puede ver en primer lugar aquí en el rastreador de datos init, esto es increíblemente importante. Es necesario agregar este año, de lo contrario no va a funcionar. Necesitamos inicializar estos datos. El seguimiento de este tipo real de datos. Y luego podemos ver que tenemos un método set variant que en realidad solo se usa en esta clase en particular y se usa solo en el método inicializado. En tanto que el método inicializado, bueno, esto se llama cuando una de esas entidades desova y sobre todo cuando se trata de enlaces, por ejemplo, a través de un desove. Lo que se supone que debe responder huevo, lo que por supuesto queremos es que aquí queremos una variante aleatoria. Vamos a establecer esa variante y luego vamos a estar bien. Vamos lo que pasa aquí. Entonces también tenemos un derecho y un método de lectura para los datos de NVT. Esto debería ser bastante autoexplicativo. Sólo estamos salvando la variante aquí mismo y luego la estamos leyendo aquí mismo. Casi todo lo que necesitas saber, enviándolo una vez más, también bastante autoexplicativo. Esto es lo único que es algo raro aquí con este fin. Y en el 255, esto es sólo algo que se necesita. No voy a entrar en demasiados detalles. Son sólo algunos shenanigans Java básicamente con el ID. Porque en la variante aquí mismo se puede ver que es una especie de salvado de esta manera. Así que sólo vamos a mantenerlo así básicamente y estar bien con esto. Y sólo vamos a decir, está bien, es lo que es. Así es como hay que hacer, pero todo funciona bien. Eso es más o menos. Esos son los diferentes métodos. Y ahora claro lo que podemos hacer aquí es que podemos decir entidad y la T. Ahí va, ¿verdad? Entidad dot obtener covariante. Y luego ahí vas. Y entonces tenemos que hacer lo mismo en el modelo aquí mismo, donde por supuesto también tenemos la textura. Pero literalmente podemos tomar lo mismo, esta. Y sólo tenemos que decir justo aquí entonces el renderador mapache, Esto es lo que queremos tomar esa ubicación bivariante, pero conseguir entidad, obtener varianza. Y eso es todo. Ahora claro, todavía necesitamos la textura, así que no olvidemos copiar sobre ambas texturas. De lo contrario eso sería definitivamente un poco de un descuido. Así que vamos mapache, ahí tienes. Y luego tenemos mapache oscuro y el mapache rojo también. Ahí vas. Y eso debería ser más o menos todo lo que necesitamos. Vamos a asegurarnos de que todo esto también esté escrito correctamente. El mapache oscuro debe estar bien, mapaches rojos también están bien. Esto debería funcionar. Esto debería funcionar y ser funcional, por lo que eso es bastante bueno. Y eso es realmente lo fácil que es agregar alguna varianza. Ahora, una vez más, por supuesto, hay muchas pequeñas cosas diferentes. Digamos que el mapa aquí no debería estar demasiado loco. Esto no debería ser demasiado loco. Esto no debería ser demasiado loco. Lo mismo con la entidad real. La cantidad de métodos no es en realidad tanto cuando se piensa en ello, no es que muchos métodos. Es sólo mucho envolver tu cabeza cuando lo piensas. Este dato, data ID tie variant, vale, Hay un poco raro, pero en general, no debería ser nada demasiado loco. Ya sabes, en este punto, espero que la mayoría de ustedes tengan suficiente conocimiento de Java para que simplemente la brisa a través de esto y lo comprendan desde una perspectiva Java. Y una vez más, por supuesto, como dije, las clases de vainilla ofrecen todos los diferentes ejemplos. Hay increíbles y en realidad realmente bueno y se puede trabajar a través de ellos también. Pero por el momento, porque hemos agregado todo, vamos a ver si funciona. O células gordas de nuevo en Minecraft. Entonces vamos a engendrar unos mapaches, y ahí vas. Ya tenemos toda la otra varianza aquí, desove felizmente. Aquí desde el huevo de desova, lo puedes ver, todo funciona perfectamente bien. Y eso es sólo, eso es simplemente alucinante increíble, ¿no? Entonces en este caso, por supuesto, la variante realmente es un poco de una textura de pared diferente en términos de coloración. Pero quiero decir, eso sigue siendo realmente genial, realmente alucinante impresionante. Y quiero decir, sólo está funcionando muy, muy bien. Y quiero decir, es en general, creo y espero que usted esté de acuerdo con esto es en realidad bastante sencillo y no demasiado difícil de hacer. Así que eso es realmente genial, ¿verdad? Como siempre, por supuesto todo el código está disponible para ti en el repositorio de GitHub en individual igual de bien. Pero de lo contrario esto sería por esta conferencia aquí mismo. Espero que hayas encontrado esto útil y aprendas algo nuevo. Y te veré en la próxima conferencia. 107. (temas adicionales): O doy la bienvenida de nuevo al curso de tela para 118. En esta conferencia, vamos a estar agregando la funcionalidad de capacidad a nuestra entidad mapache. Y para eso, lo que vamos a hacer es ante todo, vamos a cambiar la verdadera superclase aquí a una entidad alcanzable y alcanzable. Entidad alcanzable. Y entonces sólo tenemos que copiar esto a aquí mismo al tipo de entidad. Y entonces vamos a hacer lo mismo a los atributos aquí mismo. Y lo que vamos a hacer entonces es que una vez más vamos a añadir algunas cosas ahora voy a copiarlas una vez más, pero no se preocupe. Todo esto está disponible para ti en el repositorio de GitHub en individual igual de bien. Y no debemos obtener errores en teoría. Esto incluirá, una vez más, en algún tracto un dato aquí mismo, este tipo, esta vez de tipo de booleano. Como se puede ver, un booleano. Este es el booleano sentado. Esto es muy importante porque esto va a salvar el si este mapache o no, esta entidad está sentada. Ahora ya hay un escenario. Digamos, ¿qué dirías una variable sentada en la entidad de mesa, creo que esto debería estar aquí, ahí mismo vas. Sentado booleano privado. No obstante, esto aquí mismo es que creo sólo en el servidor. que significa que este tipo de algo interesante porque esto solo está en el servidor si ahora también agregamos lo siguiente, una animación para sentarse en éste justo aquí. Entonces vamos a sumar esto también. Se puede ver si esto está sentado, así que este es mi booleano personalizado aquí mismo, que en realidad toma sentado el rastreador de datos. Si esto es viejo, no funciona porque esto de aquí mismo, el todo lo que hace el laboratorio gecko es sólo en el cliente. Las animaciones sucederán en el cliente. Por lo tanto, la variable sentada tiene que ser de alguna manera tracto. Es por eso que necesitamos agregar una variable sentada personalizada. Es por eso que éste existe aquí mismo. Y es por eso que éste existe. Y esto realmente llama a estos set sentados. Este en realidad se llama el super método justo aquí que establece esto en igual a él, pero no podemos usarlo. El método normal es sentarse en ese caso, porque eso simplemente no funciona. También algo muy importante. Tenga en cuenta esto tenemos que agregar son variables sentadas al rastreador de datos aquí mismo. Esto es increíblemente importante. Por favor, no olvides esto, de lo contrario, tu juego se estrellará cuando vayas a nuestro mundo. Eso es muy importante ahora mismo para probablemente el gran método aquí, y ese es el método móvil Interact. Para que podamos ver que tenemos un conjunto, establecer un método está sentado. El marcador es necesario para el equipo real. Entonces esto es justo para que lo real del equipo central de entidades y luego pueda ser lixiviado. Sólo vamos a poner esto a falso porque ha sido un poco de un tema con gecko en vivo y básicamente poniendo la ventaja a entidades que no funcionan del todo. embargo, sea cual sea el caso, interactúan método de mafia. ¿ Qué es esto? Bueno, este es por supuesto código cuando haces clic con el botón derecho en una turba. Ahora, cuando hacemos clic derecho en esta mafia, lo que queremos hacer, por supuesto, es que queremos lograr. Posiblemente. Lo que tengo aquí, por ejemplo, es el ítem para domar. Acabo de hacer un poco de una variable aquí. Acabo de poner esto a una manzana. Entonces si quieres cambiar esto, solo puedes cambiarlo aquí. Y entonces podemos ver, bueno, si el artículo es en realidad el elemento para domesticado con el que estamos haciendo clic derecho. Y lo es, la entidad real aún no está domesticada, entonces lo que vamos a hacer mientras estemos en el servidor real. Entonces esto sucede en el servidor. Entonces lo que vamos a hacer es básicamente Hey, acaba de establecer el dueño al jugador que se haga clic derecho en él. Vamos a hacer algunas cosas básicas de recalcular. Vamos a enviar el estatus de entidad aquí y luego lo vamos a configurar de inmediato para fijar el, después de que realmente hayamos domesticado a una entidad, vamos a ponerlo sentado. Interesante. Ahora si ya está domesticado, estaban en el servidor y la mano principal es justo entonces y hacemos clic derecho en ella, entonces vamos a simplemente cambiar esta configuración. Es muy importante que tengamos esta mano aquí adentro también porque este es un tema real. Esto es frío para ambas manos. Entonces es por eso que tal vez si no tienes esto, entonces en realidad no va a funcionar. He visto ese error o error unas cuantas veces antes. Ahora, si fuéramos a ejecutar esto así, en realidad tendríamos un poco de tema y eso es que la entidad real no se sienta. Ahora, ¿por qué es ese el caso? Bueno, porque en realidad tenemos que sumar dos goles más aquí mismo. Y eso va a ser el número uno, el objetivo establecido con prioridad uno, es increíblemente importante que este objetivo sea por encima de todas las otras metas de maravilla. Y miran alrededor de metas y todo eso. Porque como se puede ver, donde es importante que se sientan meta es mayor que el objetivo de maravilla. De lo contrario, lo que sucederá es que el mapache se sienta y luego se va a maravillar, y luego se va a volver a sentar y luego se va a preguntar, y esto puede volver a sentarse. Es por eso que la prioridad aquí tiene que ser, bueno, quiero decir menor en ese caso, pero ¿un derecho superior? Por lo que sólo tiene que ser un número menor aquí en este caso. Y luego el dueño del camión ataque o un gol. Es que ni siquiera creo que necesariamente necesitamos esto porque en realidad no creo que el mapache incluso atacara un ataque a alguien que detecte al dueño. Pero en realidad no estoy seguro de eso porque algo de esto ha sido tomado del lobo también. Por supuesto también podemos echar un vistazo a esto. Simplemente busca lobo con entidad. Ahí vas. Y entonces básicamente podemos echar un vistazo a todos los objetivos aquí se puede ver que en realidad es bastante extenso, como un montón de cosas diferentes. Principalmente atacante caerá gol dueño. Y se puede ver una vez más, el objetivo establecido está en la parte superior aquí. Prioridad dos, muy, muy importante que así sea. De lo contrario, podría encontrarse con algunos temas. Así que ten en cuenta eso. Esto es increíblemente importante. Ahora, aparte de eso, la habilidad en realidad se hace así. ¿ Es entidad imponible y luego tener la posibilidad domarla con exactamente la variable sentada aquí también. Ahora la variable sentada, si tienes algo que realmente no quieres que se sienta, totalmente bien, entonces no necesitas agregar esto. No es necesario agregar la sentada. No es necesario agregar esto básicamente solo necesita el método de interacción mob. Eso es más o menos todo lo que hay a ella. Pero por ahora diría en realidad porque hemos agregado todo por el sake de finalización, vamos a ver si funciona o si el consejo está de vuelta en Minecraft. Una cosa más importante aquí es también decir, por cierto, cuando estás usando esto en tela, básicamente, cada vez que vas al mundo, tienes un jugador diferente, pero es muy importante o un nombre diferente. Entonces es muy importante que cuando se tiene esto, que a veces, es muy difícil probar esto a veces. ¿ Cuál es el caso puede ser? En realidad intentemos hacer clic con el botón derecho. Y ahí vas, mejores amigos para siempre. Ahora como se puede ver, está sentado bien. Entonces está sentado por lo general lo que hago es simplemente encase en unas pocas cuadras justo aquí solo para asegurarse de que diga realmente, no dice sentarse esa es la entidad real. Quédate ahí, pero se ve muy bien, ¿verdad? También puedo simplemente alejarme un poco. Debería quedarse ahí. Y una vez más, puedo hacer clic derecho en él y ahora ya no está sentado. Ahora la animación ha cambiado, y ahora también debería empezar a moverse ya sea por sí sola o yo, en realidad no me puse en un hueco, seguir el objetivo propietario, por lo que sólo debería hacerlo por sí sola. Ahí vas. Ahora se está acercando a un solo puedo hacer clic derecho de nuevo y luego está sentado de nuevo y debería estar funcionando totalmente bien. Pero eso es realmente lo fácil que es sumar la habilidad del equipo también. Así que eso es realmente genial. Se puede ver que eso es lo fácil que puede ser. Y quiero decir, es, ya sabes, es realmente genial. Quiero decir, eso es con las animaciones de los clientes también, ¿verdad? Puedes hacer una animación sentada personalizada. Puedes hacer todo tipo de cosas. Quiero decir, eso es simplemente increíble. Eso ya es todo por esta conferencia aquí mismo. Espero que hayas encontrado esto útil y aprendas algo nuevo. Y te veré en la próxima conferencia. 108. (temas adicionales): Muy bien, bienvenidos de nuevo al curso de tela para 118. En esta conferencia, vamos a estar agregando una entidad que sea a la vez mesa y una escritura. Esto es algo muy interesante porque por supuesto, es muy similar al caballo una vez más. Pero en este caso, en realidad queremos una entidad escribible. Y ahí está yo diría como, ya sabes, un par de cosas que básicamente necesitas tener en cuenta. Y para esto, básicamente vamos a hacer tigre. Ahora esto es realmente genial también. Así que empecemos y ¿cómo iríamos sobre esto? Bueno, en primer lugar, por supuesto que iríamos y lo convertiríamos la clase de entidad tigre aquí mismo. Entonces en realidad, una vez más, por supuesto, como tantas veces estar copiando sobre un montón de cosas aquí. Ahora para el tigre real, estaré copiando más o menos toda la clase. Ahora, importante es que, por supuesto todo aquí disponible como siempre en el repositorio de GitHub en ajuste individual también. Porque esto también es bastante tan oso conmigo aquí ya que básicamente copio sobre todo incluyendo las cosas extendibles. Entonces vamos a ver que se pueden ver 270 líneas y luego creo que necesito tener ahí un soporte de cierre. Ahí vas. Y ahora todo debería estar funcionando aquí, por lo que no debemos obtener errores. Ahora lo primero que hay en realidad el tipo ID, en realidad no necesitamos que en realidad eso es muy interesante fue probablemente justo todavía ahí. Pero ahí no se preocupe. Aquí tenemos el resto. Entidad de mesa bastante sensata. Ya hemos visto esto antes. Atributos que el producto obtiene para las diferentes animaciones deben ser bastante sensatos. Los objetivos aquí registran esto, o esto es más o menos, ya sabes, comprensible. El T-Mobile es un poco diferente, principalmente el método de la mafia Interact aquí mismo. Entonces aquí por ejemplo, el ítem T-Mobile es el término, por supuesto, porque el tigre realmente no tiene mucho sentido, pero es solo un ejemplo aquí, claro. Se puede ver que todo esto aquí es una configuración un poco diferente. Por lo que se puede ver que si un jugador se escabulló, entonces en realidad podemos hacer que se sienta. Y si el jugador real no se está escondiendo, entonces empezamos a escribir. Se puede ver más adelante empezar a escribir esto. Entonces eso es muy interesante. Entonces eso es algo a tener en cuenta también, que básicamente hay un poco de diferencia aquí. Cuando los colamos, hacemos que sea capaz de sentar a la entidad. Y luego si sólo hacemos clic derecho, entonces si está domesticado, entonces empezamos a escribirlo. Y también se puede ver que tenemos esto aquí mismo. Por lo que tenemos la posibilidad de realmente tenerlo asignado al azar a los propietarios. Entonces está lo que decimos, hay un veinticinco por ciento de posibilidades, creo, de realmente ser domesticado aquí en este caso. Y entonces estas entidades, estados, esto estarían desovando los corazones y esto pasaría pequeño y no quiero ser tu amigo. Básicamente. Diferentes partículas aquí. Una vez más, la sentada aquí, tanto con el ajuste SETT como con la variable restar sentado aquí mismo. Esta es también la misma palabra cambia la salud ahí mismo, el equipo real y esto, y luego el init. Y luego aquí viene la parte que se puede montar. La parte montable, casi todo esto se ha tomado de la entidad espacial de caballos así como de la entidad caballo. Eso es más o menos todo lo que hay. Puedo una vez más solo decirte que podrías estar como, ¿Cómo lo descubriste? Como literalmente, acabo de echar un vistazo a los caballos de fuerza, la entidad base de caballos, la entidad caballo copiada sobre todo. Copié sobre el método por método hasta que funcionó. Eso es más o menos todo lo que hay a ella y luego cambió un poco, creo en el método de viaje, hubo algunas cosas con la velocidad de salto, que en realidad no tengo aquí. Entonces la entidad tigre a la que en realidad no puedes saltar es solo un ejemplo aquí. Una vez más, muy recomendable. Simplemente echa un vistazo a la entidad espacial caballo y la entidad caballo si quieres alguna funcionalidad más básicamente aquí. Y luego solo tenemos dos métodos interesantes, que es el pasajero de actualización para desmontar y los localizaciones guardaron esta posición de montaje, que realmente sólo están acostumbrados , Hey, donde puede el jugador ahora ir después del montaje del disco? Eso es todo lo que hay a ella. Entonces esos se ven muy complicados, completamente copiados. No necesitamos entrar demasiado en ellos porque el nombre más o menos ya dice lo que hace y no necesitamos entender cada pequeño detalle en lo más, digamos que más, la resolución más alta posible. Eso no es necesariamente lo que siempre quieres tener. Está bien, localiza posición salvada, desmantelando, ¿ sabes lo que hace esto? Es como, vale, solo localiza una posición en el mundo donde podemos engendrar al jugador después de este montaje desde esta entidad grabable. Eso es todo lo que hay a ella. Por lo general, eso debería estar bastante bien. Y en general, como dije, siempre se puede echar un vistazo a algunas otras monturas aquí mismo. Por lo que si presiono Control H aquí mismo se puede ver entidad de caballos de fuerza, una entidad de caballos, altamente recomendable. Eche un vistazo a esto. Quiero decir, todo está aquí. No sé qué más decirte. Básicamente, en este punto, lo real de vainilla es. Es muy prevalente y sólo muy bueno básicamente echar un vistazo. Ahora vamos a añadir el renderer y el modelo también. Así que va a haber el modelo tigre. Por supuesto también el renderizador tigre. Vete. Y una vez más, las cosas aquí se copiarán, pero es bastante sencillo. Todas las cosas consideradas, se puede ver sólo un modelo de video animado de entidad tigre y luego solo apuntando con los tres métodos aquí una vez más. En realidad vamos a agregar esto también. Ahí vas. Y luego para el renderizado, quiero decir, eso va a ser aún más divertido. Básicamente. Esto es aún menos, como se puede ver. Es sólo una vez más el contexto aquí, la ubicación real para la textura. Y eso es más o menos. Esta vez no tendremos variantes diferentes aquí. Pero claro que esto es algo que podrías agregar también. Usamos visto, cómo funciona con los mapaches, por lo que no se preocupe ahí. Entonces vamos a hacer un nuevo tipo de entidad aquí mismo. Una vez más, más o menos lo mismo que el mapache, sólo tigre cualquier nivel apuntado aquí. En este caso, en realidad lo estoy teniendo una criatura también, sólo por lo que es un nombre diferente aquí por supuesto. Y luego solo tener un poco de una dimensión diferente aquí también. Y eso es más o menos todos los autores ponen. Ahora esto es en realidad casi todo lo que tenemos que hacer ahora en el cliente aquí. Sólo dupliquemos este Control D y luego digamos tigre. Y entonces aquí este va a ser el tigre o renderizado. ¿ Eso sería más o menos qué? Quiero decir, esto es más o menos todo lo que hay. Ahora tenemos que agregar también los archivos JSON. Tenemos, por supuesto, el modelo real tigre también. Así que va a estar justo aquí. También tenemos este modelo tigre, que por supuesto está disponible una vez más con algunas de las diferentes animaciones aquí mismo. Por lo que todo esto también está disponible para usted, incluyendo los archivos JSON. Sólo vamos a conseguir la animación tigre por aquí. Vete. Y luego también necesitamos el taladro, claro, y luego la textura. Último pero momento, vamos a conseguir el geo aquí. Ahí vas. Entonces la textura debe estar bajo entidad, y luego un nuevo directorio llamado tigre. Y luego dentro de ahí, vamos a sumar el tigre PNG. Curiosamente, eso es en realidad todo lo que hay. Ahora claro, una vez más, se copió mucho aquí. Todo esto está disponible en el repositorio de GitHub y igual de bien, generalmente muchas de las cosas, mayoría de esto es bastante sencillo, todas las cosas consideradas. Creo que la mayor parte de esto es lo mismo que el mapache con una capacidad especialmente. Y luego también cuando se trata de la habilidad correcta, como dije, clases de vainilla, eso es lo mejor que puedes echar un vistazo. Ahora no olvidemos agregar también los registros aquí mismo. Así que estos van a ser los atributos aquí mismo. Entonces eso es bueno para Tiger. Y entonces esta va a ser la entidad tigre. Hace ellos. Y eso debería ser más o menos todo lo que necesitamos para la entidad tigre. Entonces como dije, quiero decir, no sé con qué frecuencia tengo que decirlo, pero lo de vainilla está todo ahí para que lo mires. Si es algo difícil de entender. Una vez más, solo necesitas un poco más de Java y glitch, la introducción al trabajo, probando algunas cosas y estar abierto a la experimentación. Sólo pruébalo. Mira hasta dónde puedes llegar sin solo, ya sabes, solo probar cosas. Quiero decir, al final del día siempre tienes control Z. siempre puedes volver atrás. Si tienes una configuración de repositorio de GitHub, se asegura de que tú y empujas tus cambios a menudo, siempre puedes revertir entonces si algo se rompe por completo, eso también es algo que básicamente debes tener en cuenta. Pero por el momento, esto es en realidad todo lo que necesitamos. Entonces supongo que veamos si funciona o dónde nos encontramos de nuevo en Minecraft. Entonces había, por supuesto, una cosa que en realidad olvidé y que es agregar el desova real, el huevo de desova. Pero no se preocupe, podemos sólo algunos de los tigres así que hace y luego vamos a ver, así que funciona. Las animaciones también funcionan de inmediato. Veamos, haga clic derecho. En realidad tuve mucha suerte aquí. Ahora puedo hacer clic con el botón derecho y se van, ahora estoy escribiendo en él y es muy rápido. Ahora, lo que es muy importante aquí es que en realidad no puedo subir las escaleras como se puede ver, porque el tema ahí es que el, en realidad no puedo saltar con el Tigre. Esto es lo que dije, donde esta es la forma en que se configura en este momento. Y luego si sólo cambio turno derecho o Kraut, y funciona. Y luego si básicamente puedo cambiar el botón derecho del ratón, entonces ya no se sienta. Y ahora también debería simplemente moverse sobre cómo lo hace normalmente. Veamos, déjame esperar un segundo y probablemente se vaya, creo que la cola realmente se mueve un poco. Es una muy extraña . Pero ahí vas. Ahora empieza a caminar. Y hace ellos, hay un poco de rareza por supuesto que pasa. Y como siempre escribir con las entidades. Quiero decir, solo se trata también de refinar. La velocidad real aquí con la que vas es que podría ser un poco demasiado alta. Creo que eso es algo que también podrías cambiar. Pero en general, es bastante genial y eso es realmente lo fácil que es agregar una entidad escribible a Minecraft escribiendo solo por sake de finalización, en realidad también agreguemos el otro EKG de desova aquí mismo, porque eso sólo tiene mucho sentido. Ahí vas. Lo más importante son los, los dos colores aquí. De lo contrario va a ser el tigre, el huevo de desove tigre. Y por supuesto aquí también, el tigre desova eg de tigre, ellos hace. Y entonces sólo necesitamos el archivo JSON, pero sólo podemos copiar sobre el otro archivo JSON Porque claro, como dije esta mañana, Jason Hall es como lo más fácil de todos. Sólo va a ser el alto baunach asqueroso. Y en realidad podemos mantener esto tal como está. Sólo necesitamos la traducción. El tigre desove, entonces aquí también, el desove tigre. Pero ahora tenemos todo aquí configuración también. Pero eso va a estar totalmente bien. Pero sí, eso es más o menos todo lo que hay. Como dije, cualquier modificación, eres libre de hacer cualquier modificación aquí, solo prueba un montón de cosas. La velocidad de movimiento, como se puede ver aquí, está bastante avanzada aquí. Entonces es cuando está domesticado, en realidad tienen una velocidad de movimiento bastante alta. También puedes echar un vistazo a algunos de los otros objetivos también. Una vez más, todo aquí está disponible para ti en el repositorio de GitHub en individual igual de bien copias de over, prueba un montón de cosas, mira algunos ejemplos de vainilla, y luego estoy seguro de que llegarás a ojalá la entidad de tus sueños. También puedo por supuesto, siempre recomendar algunos de los repositorios GitHub de otros modos populares donde también puedes echar un vistazo a su código y eso también siempre es muy, muy valioso. Por lo general ahora, necesitarás un poco de conocimiento de Java, al menos intermedio a avanzado. De lo contrario, a veces no lo superarás porque otras personas podrían tener diferentes formas de, digamos, codificar y programar en Java, entonces lo haces a veces necesitarás acostumbrarte a leyendo el código de otras personas. Es diferente a leer la tuya definitivamente. Pero quiero decir, sea cual sea el caso, esto es todo por esta conferencia aquí mismo. Y esto también concluye el tipo de excursión de entidad que hicimos aquí para las conferencias. Pero aún espero que te haya parecido útil esto y hayas aprendido algo nuevo. Si lo hicieras, agradecería mucho una opinión tuya. De lo contrario, te veré en la próxima conferencia. 109. (temas adicionales) agregando la generación del mundo de Entity: Muy bien, bienvenidos de nuevo al curso de tela para 118. Y en esta conferencia vamos a estar mirando a la generación mundial de entidades. ¿ Qué significa eso? Bueno, básicamente queremos sumar nuestras entidades personalizadas a la generación mundial para que engendren en particular biomas. Ahora esto es increíblemente fácil de hacer, como genuinamente. En nuestro paquete gen, solo vamos a hacer una nueva clase Java con el formulario de entidades mod. Justo aquí vamos a hacer un vacío estático público llamado add entities phone. Cuanto más voy a hacer es que en realidad voy a copiar sobre las dos cosas que necesitamos, pero es increíblemente fácil porque se puede ver realmente jodiendo fácil por modificaciones que agrega teléfono. Permítanme sólo una vez más necesita algunos selectores de biomas aquí. En este caso, sólo vamos a conseguir que los mapaches engendren en el bioma de las llanuras y los tigres para desovar en el bioma de la selva. ¿Algo más aquí? El grupo de desove solo tiene que coincidir con el grupo real de la entidad aquí, el peso determina con qué frecuencia engendran. Si aumentas esto, van a desovar más a menudo. Pero ten en cuenta que otras turbas luego desovan menos. Y el tamaño mínimo del grupo, el tamaño máximo del grupo debe ser bastante autoexplicativo. Ahora, ¿a dónde llamamos esto? Bueno, en nuestro mundo moderno y Jen, clase de matemáticas aquí en el método de generación de generación mundial de modo generado, solo vamos a decir más entidades en Add, entity, spawn. Eso es todo. Ya hemos terminado. Eso es literalmente todo lo que tenemos que hacer. Ahora, lo real las entidades reales se sumarán al juego en las palmas. Quiero decir, solo veamos si funciona. En realidad fui a un avión por él para encontrar unos mapaches aquí, como se puede ver, porque eran un poco más fáciles de encontrar como los tigres de la selva en realidad eran. Bueno, quiero decir, muy escaso. Podría ser por lo grande de los árboles y la densidad de los árboles donde es como difícil para ellos desovar. Pero sin importar, en realidad vamos a echar un vistazo a una cosa más en el código. Es justo ahora aunque eso es lo que también es algo importante o IDE. Entonces una cosa más que básicamente queremos agregar tanto para el mapache como para el tigre o las restricciones de desova. Aunque en realidad puedo mostrarte esos. En realidad añadamos esto al tigre también. Ahí vas. La idea general es ¿por qué querríamos sumar esos? Bueno, si en realidad echamos un vistazo a estas restricciones responden aquí, puede ver que hay algunas localizaciones que básicamente queríamos decir, Hey, donde pueden desovar esos animales o esas entidades. Y se puede ver que la mayoría de ellos sólo pueden ver en el suelo, lo que en realidad es algo importante. Entonces si tuvieras que, por ejemplo, añadir una, digamos un zombi personalizado al juego. Y no agregarías esta restricción de desove aquí mismo. También podría desovar en el aire y luego simplemente caer quién es sordo y luego eso sería todo. Por lo que en realidad es algo importante agregar esto. Se puede ver esto es en realidad el animal es el desove natural válido. Sin embargo, hay también diferentes que verías. Entidad de cáscara llamada entidad, entidad hostil puede desovar y oscuro. Por lo que hay un buen número de cosas aquí son muy recomendable echar un vistazo a la clase de restricción de desove aquí mismo en una entidad de micrófono de red o algo más de información al respecto. Pero por lo demás, eso es más o menos todo lo que se necesita para que las entidades engendran aquí. Como he dicho, el peso a veces es un poco incómodo, llegó a. Básicamente, dependiendo del bioma aquí, es posible que desee hacer esto bastante alto o bastante bajo. Simplemente juega con los números como siempre. Pero de lo contrario esto sería por esta conferencia aquí mismo. Espero que haya encontrado esto útil y gobernantes de lo nuevo. Te veré en la próxima conferencia. Sí. 110. (temas adicionales): Muy bien, bienvenidos de nuevo al curso de tela para 118. En esta conferencia, vamos a estar agregando oficios personalizados a los aldeanos. Ahora, esta es una vez más una de esas cosas muy interesantes que en realidad es mucho más fácil de lo que cabría esperar. Por lo que tenga en cuenta, no vamos a agregar aldeanos personalizados. Esta no es esta conferencia. Esto podría suceder en el futuro, sin embargo, no hay promesas en este momento, porque eso definitivamente es un poco más complicado de lo que vamos a hacer ahora. Básicamente sólo vamos a agregar oficios personalizados a ya existente pueblo de profesiones. Y para eso vamos a entrar en nuestro paquete util, registros modernos y anotarlo aquí vamos a hacer un vacío privado, un vacío estático. En realidad usan vacío estático. Este es el método de registro de operaciones de clientes. En realidad te sorprenderás de lo fácil que se ve todo este método. Lo haré una vez más, por supuesto copiado, pero todo esto está disponible para ustedes en el pasado o un individuo igual de bien. Y eso es todo. Esas son dos ofertas comerciales diferentes que se agregan. En realidad llamemos inmediatamente a esto aquí antes de que lo olvidemos. Y luego pasemos por lo que está pasando aquí. Tenemos este ayudante de oferta recta donde estamos registrando ofertas de un aldeano. Se puede ver registrar ofertas de aldeano. Y luego se puede ver con selecta una profesión. Para que puedas ver que estos son los profesionales que tienes en solo en vainilla. Y vamos a elegir al agricultor aquí. Tú eliges el nivel en el que las cosas particulares que estás a punto de agregar básicamente deberían ser solo blade en. Entonces este es el nivel uno. Por lo que el agricultor normal en el nivel uno tiene esta actitud. Se, se puede ver que hay unas fábricas y luego tienes estos corchetes rizados aquí. Puedes agregar múltiples compensaciones o serias, puedes ver, también puedo agregar a alguien más como semillas de nabo. De repente, ya sabes, tal vez esos para como seis o 24 o algo así. Y podrías agregar múltiples para el mismo nivel. Si quieres otro nivel, solo tienes que sumar todo este libro de nuevo. Pero en general, esto debería ser bastante autoexplicativo. El primer elemento pila aquí es justo lo que hay que pagar. Entonces no tienes que poner necesariamente esmeraldas, podrías poner en cualquier otra cosa. El segundo aquí es básicamente lo que sacas de ella. Yo creo en el intercambio o también puedes agregar, si agregas tres artículos diferentes textos aquí puedes ver, entonces en realidad tienes dos ítems que debes pagar con eso también funciona bien. Esto es por supuesto algo que se implementa en, por ejemplo, dentro de canalizar cosas donde se da en una especie, por ejemplo, y luego no sé, como 60 millas o estoy listo para esmeraldas y luego se obtiene una espada encantada. Eso también funciona. Para que puedas agregar una pila de tercer elemento y luego eso también funcionaría. El siguiente uso es la frecuencia con la que puedes usar esto básicamente factible, la experiencia del comerciante debe ser bastante autoexplicativa. Esa es la cantidad de experiencia que obtiene el comerciante cuando realmente se negocia esta oferta. O algunos ejemplos creo que puedes echar un vistazo, sí, puedes echar un vistazo a las ofertas reales aquí. Entonces la experiencia aquí mismo, vamos a ver. Entonces esta es la verdadera fábrica de guiso sospechoso. Eso es algo diferente. Veamos, tal vez podamos encontrar a alguien más aquí. No estoy 100% seguro de dónde están las ofertas comerciales normales reales, sean o no, son otras en este crear aquí mismo, esta experiencia. Veamos. Ahí vas, vale, ahí están. Se puede ver que hay algo de la experiencia. Ahí vas. En realidad están en la clase de ofertas comerciales este año. Y en realidad usan esto por uno para esmeralda. Y puedes ver aquí experiencia a dos. Entonces eso es en realidad una experiencia bastante baja. River tiene una experiencia, cinco experimentados y experiencia con 6120 podría ser en realidad un poco demasiado alto, pero solo puedes jugar con esto por supuesto también. El multiplicador de precios es solo la multiplicación del precio. Y eso es más o menos todo lo que hay al impuesto de artículos normales aquí se puede suministrar el conteo y eso más o menos todo lo que hay a él. Aquí tenemos uno para el mito de las herramientas, donde son seis esmeraldas para el oráculo vienen Paxil. En el nivel tres. Eso es literalmente todo lo que hay dos son altamente recomendables solo jugar con esto, como siempre estar abierto a la experimentación. Echa un vistazo tanto a la oferta comercial en el oficio ofrece clases para ver algunos ejemplos de vainilla. Y por el bien de terminación, veamos si funciona. O influencers de vuelta en Minecraft y ya he preparado algunas cabinas comerciales aldeanas, digamos que no, pero aquí se puede ver al agricultor ya tiene los nabos aquí mismo, así que sólo podemos comerciar con él. Y se puede ver, ahí va. Eso es realmente genial. Y luego aquí Vamos a cambiar por algunas herramientas aquí mismo. Y también vamos a conseguir algo de colon ahí. Y veamos que podemos comerciar con él hasta que llegue a un nivel tres. Básicamente van a buscar unas campanas aquí, conseguir un poquito de éste en marcha. Tal vez un poco de hierro también. Sube de nivel también. Ve un poco de esto, consigue un poco más de esto. Eso es un poco más de carbón y luego deberíamos poder conseguirlos al nivel tres. Ahí está, ahí está el suelo compacto oráculo, bueno, ahí vas. Eso es realmente genial, realmente alucinante impresionante. Y bueno, en realidad eso es lo fácil que es, como se puede ver también. Bueno, básicamente agrega algunos rasgos personalizados a los aldeanos. Eso ya tiene para esta conferencia aquí mismo. Espero que hayas encontrado esto útil y aprendas algo nuevo. Y te veré en la próxima conferencia. 111. (1.18.2) Actualización de tejido a 1.18.2: Muy bien, bienvenidos de nuevo al curso de tela para 118. Y en esta conferencia vamos a estar actualizando nuestro MOD o un proyecto a 118 para hacer eso. O por supuesto, vamos a necesitar cambiar cosas en el archivo de la propiedad de Gradle. En realidad no vamos a revisar este sitio web en particular. Lo que vamos a revisar es en realidad el sitio web de desarrollo de red de tela porque esto también tiene las últimas cosas aquí mismo. Simplemente copia esto y básicamente simplemente pégalo aquí. Y entonces sólo voy a hacerlo para que todo esté formateado correctamente. Pero ahí no se preocupe. Hace ellos. Así que sólo vamos a cambiar todo esto hacia arriba. Y luego una cosa más que queremos cambiar, por supuesto, antes que nada, golpeó la versión mod. Vamos a introducir algunos términos como 19 o tal vez incluso todos Vamos a hacer 21. Sí, eso es increíble. Entonces también en el archivo construido o Gradle, queremos cambiar la versión Looom de diez a 11. Y después de haber cambiado esto, lo que podemos hacer es que podamos cargar los cambios de Gradle. Ahora esto debería ser más o menos todo lo que necesitamos. Simplemente deja que esto pase como siempre, sea paciente hasta que esto se haga. Y ahí vamos, 22 segundos. Podría tomar un poco más de tiempo para ti, dependiendo de tu conexión a internet y cosas así. Lo que también queremos hacer por si acaso se actualiza a la versión más reciente aquí para gecko lip. Entonces esto está aquí mismo, 035 acaso porque a pesar de que las otras versiones deberían funcionar, solo me siento un poco mejor si tenemos también la versión más nueva. Pero en realidad puedes hacerlo antes de recargar los cambios y luego puedes recargarlos todos al mismo tiempo. Así que dejemos que esto vuelva a pasar. Y luego ahí vas. En realidad sólo siete segundos. Eso es aún mejor, pero eso debería ser más o menos todo lo que necesitamos hacer aquí. Ahora sin embargo, vamos a encontrarnos con algunos temas. A saber, lo que cambió es la generación mundial y las etiquetas. Entonces si entramos en la clase de impuestos de mortero, se puede ver todo tipo de rojo, pero no se preocupe, vamos a arreglar eso. Entonces lo que cambió es que ya no tenemos identificado el TAC. Esto ahora se llama la tecla Tab. Así que sólo voy a ponerme pegajoso y vamos a presionar Alt y Enter para cambiarlo. Y lo que básicamente queremos hacer es cambiar toda etiqueta identificada a esta tacha él, así que lo que voy a hacer es que voy a elegir presionar Control R, y luego vamos a reemplazarlas todas con teclas TAC. También vamos a deshacernos de las importaciones aquí mismo , porque ya no las necesitamos. Porque esto aquí mismo ahora va a ser realmente etiqueta E dot o f. Y luego tenemos que pasar en el primer parámetro, la clave de subrayado del bloque de datos del registro. Y tenemos que hacer esto por esta carrera aquí también. Vamos a hacer lo mismo. Y luego aquí abajo vamos a simplemente copiarlo por el momento. Y entonces vamos a cambiar esto a, por supuesto que lo sea. Y luego vamos a cambiar esto a la clave del ítem. Hace ellos, Lo mismo aquí, mantener el artículo. Y entonces deberíamos estar bien. Eso debería ser más o menos todo lo que tenemos que hacer aquí. Ahora por supuesto, también necesitamos cambiar esto en la clase de artículo de varilla de espiga personalizada aquí mismo. Entonces hay un par de formas en que podemos hacer esto. Hay una, hay una forma que es muy complicada y sólo requiere que cambiemos esto. Y luego hay un poco de una forma más complicada donde realmente usamos el estado de bloqueo aquí. Y voy a hacer la forma estatal de bloqueo porque creo que eso es mejor. Por lo que sólo podemos decir que el punto de bloque está adentro y luego mod ataca bloques de puntos que varilla de espiga o bloques detectables. Por supuesto, el tema aquí es que en realidad estamos pasando en el bloque real y el estado de bloque, que por supuesto no es del todo correcto. Entonces lo que tenemos que hacer es, vamos a hacer, es que vamos a duplicar esto presionando Control D. Y este ahora va a ser el estado de abajo. Y vamos a cambiar esto de una cuadra, el estado de bloqueo. Y luego simplemente no llamar al bloque get aquí mismo. Ya se puede ver que tenemos el estado, ahora podemos hacer es en lugar de enfriar todo esto, podemos usar el estado para conseguir los bloques. Por lo que podemos decir que podemos decir estado a continuación que se bloquean por conseguir el bloque. Y luego aquí tenemos el estado abajo y luego pasando al estado de bloque en lugar de solo el bloque. Eso es más o menos todo esto que necesitamos cambiar aquí mismo. Y esto ahora aún detectará todas las cosas para las etiquetas. El ítem Paxil sólo debe funcionar. En realidad no necesitamos hacer nada aquí porque en realidad está esperando una clave de etiqueta. Como puedes ver ahí vas. También muy importante porque acabo de ver como las fuentes. Lo que vamos a hacer es volver a ir a la terminal, poner en punto slash, Gradle w, fuentes de Jen y dejar que esto pase también. Podría tardar uno o dos minutos en generar esas fuentes. Una vez más, dependiendo de tu PC y también dependiendo de tu conexión a internet. O simplemente sea paciente y espere hasta que consigas una construcción exitosa aquí. Ahí vas exactamente a un minuto. Y ahora deberíamos poder hacer es cuando consigamos la línea azul aquí mismo, podemos ir a elegir fuentes y elegir aquí la fuente de nombre fusionada, digamos Ok. Y luego después de que esto se vuelva a cargar, ahora debería mostrarnos la clase adecuada con las fuentes adecuadas allí. Pero eso también es una cosa que debemos hacer. Y ahora el verdadero doozy va a ser la generación mundial porque eso ha cambiado bastante significativamente. Bueno, ¿qué ha cambiado es realmente la sintaxis? Lo que vamos a hacer es que sólo vamos a entrar en la clase de características configuradas de modo y se puede ver mucho rojo aquí mismo. Por supuesto, todos los cambios, todas las cosas están disponibles para ti en el repositorio de GitHub, en el individuo, uh, igual de bien. Recomiendo encarecidamente chequear eso porque hay muchas cosas que han cambiado. Y vamos a pasar por los conceptos básicos de cómo básicamente puedo cambiar esto. Entonces, antes que nada, ahora tenemos una entrada de registro aquí mismo en lugar de solo una característica configurada. Y lo que vamos a hacer es que esto ahora va a ser en lugar de llamar a lo configurado aquí mismo en esta característica de árbol, lo que hacemos es que queremos eliminar configurado y el punto, reemplázalo por una coma y luego elimine aquí los paréntesis. Entonces, en lugar de usar el método register, vamos a usar el siguiente método. Vamos a utilizar las funciones configuradas. Éste sobre las características configuradas que registran el método. Deshazte de todo esto y ahora todo sigue funcionando. Entonces como viste, tenemos que cambiar esto a la entrada del registro en la característica dot trich dot configurado solo al árbol de entidades. Y luego básicamente pasando en el resto igual de normalmente. Ahora en lugar de pasar de característica configurada a configurar característica para colocar característica, ahora en realidad tenemos que poner en una característica de lugar entre sí. Ahora lo que voy a hacer es que solo copiaré sobre la función place y la función configurada. Ahora voy a hacer esto y quedaré aquí mismo las cosas ya existentes. Se puede ver que esto es muy parecido a lo que ya hemos escuchado, la mitad. Por lo que se puede ver que este es el conflicto futuro al azar. Esto es lo mismo. Y luego aquí están los bosques sobrevividos. Ahora es sólo el cheque real aquí mismo. Por lo que los bosques sobreviven ahora sucede en este lugar característica de aquí mismo. Y se puede ver que el resto es más o menos exactamente lo mismo. Es un poco diferente, pero general no es tan loco. Recomiendo encarecidamente una vez más, al igual que en el mundo normal gen, conferencias que hicimos, solo echa un vistazo al, por ejemplo, el selector aleatorio o la breve característica aquí mismo, medio botón del ratón haga clic en este minimalista, haga clic aquí. Y básicamente puedes ver todas las cosas que están haciendo. puede ver que es viejo pantano por ejemplo. Se puede ver la característica de lugar del pantano, OK, y así sucesivamente y así sucesivamente. Al igual que hemos pasado en las conferencias mundiales originales gen. Recomiendo encarecidamente hacer eso. Cuando se trata de la rosa rosa, voy a hacer lo mismo. Así que solo voy a copiar eso y ver que estamos usando la función Configurar, ese método de registro de vez en cuando una vez más, pasando por la flor aquí, el conflicto de características de parche aleatorio es bonito lo mismo porque estamos usando lo mismo aquí abajo. Lo que en realidad podemos hacer es eliminar ambos métodos porque ya no vamos a usarlos. Y vea que estamos usando el método de registro de funciones configuradas y el parche create aquí mismo. Sólo vamos a hacer eso en la fila, así que eso va a estar bien también. Entonces la lista real aquí de las auras puede permanecer igual. Y entonces éste es el más fácil de cambiar. Lo que hacemos es una vez más, deshacernos de lo configurado aquí y del paréntesis de cierre y apertura. Queremos cambiar esto a una entrada de registro justo aquí, ellos hace y entonces éste es en realidad de características configuradas que se registran hace. Y ahora hay una cosa más que tenemos que hacer y que es tomar este o conflicto futuro y cambiar el primero un signo de interrogación a ese o conflicto de características. Ahora esta clase realmente ha hecho los problemas que vamos a solucionar en un momento. Esos son, por supuesto, temas con características reemplazadas y cosas así y también con el árbol. Entonces si entramos en el generador de retoños y C, Esta también ya no es retórica válida aquí es solo para eliminar el método real, cursor sobre este Implementar Métodos, entonces todo aquí está escrito correctamente. Y entonces solo podemos decir mod configurado características que el cerezo en flor. Ahí vas. Y luego de inmediato debería funcionar. No se requieren más modificaciones. Pasemos al MOD o a las características. Ahora, se ve mucho rojo aquí. Esto es sólo por la clase real se ha movido. Entonces lo que queremos hacer es simplemente importarlos de nuevo. Por lo que haga clic en ellos Alt y Enter para importar esto. Se puede ver ahí vas en modificador de colocación, mi papá también. Ahí vas. Eso debería ser más o menos todo lo que necesitamos hacer aquí. Ahora el resto está en las características del marketplace. Entonces lo primero que es realmente genial es que ya no necesitamos las claves de registro. Así que eso va a ser sólo saca eso de aquí. Tampoco más necesitamos estos métodos. Podemos hacer es que sólo vamos a usar el método de registro de datos de características colocadas que en realidad ya hemos utilizado aquí mismo, por favor característica de registro de puntos, así que sólo voy a copiar eso a la nueva lista, aquí mismo, aquí mismo, y justo aquí, y luego aquí. Una vez más, no queremos llamar a la colocación en lo real, en la característica configurada real. Lo que queremos hacer es que queremos pasar en las características configuradas. Por lo que esto debería ser una coma y entonces éste debería ser el desove. Y luego vamos a deshacernos de esto y esto, y esta no es una, una característica de lugar sobre una entrada de registro, una vez más, de una característica de lugar y luego debería funcionar totalmente bien. Por lo que se puede ver hace que trabajan totalmente bien. Apenas agreguemos aquí la entrada de registro para ambos también. Y luego una vez más cambiándolo para liderar la colocación del ancho y el punto también. Ahí vas. Tenemos que importarlos. Acaban de cambiar. Ahí vas. Ya trabajando. Y entonces lo mismo aquí con colocación se va a eliminar, reemplazado por una coma aquí mismo. Y entonces esto también sólo va a ser re-importarlo. Y luego todos los demás insumos que ya no son válidos, sólo nos vamos a deshacer. Y hace, eso es literalmente en, eso es más o menos todas las cosas que tenemos que hacer. Es casi bastante loco, pero no es tanto cuando realmente lo piensas. Al igual que mirar todo aquí es, es bastante sencillo. Todas las cosas consideradas. Algunas cosas más en la generación, pero eso en realidad también es bastante trivial. Entonces es solo la forma en que lo escribes básicamente lo que cambió la funcionalidad subyacente se mantiene casi igual en las clases de generación que ponemos en la clave aquí. Lo que podemos hacer ahora es que sólo podemos tomar la generación de flores. Entonces queremos este, punto, punto, punto, punto, y luego eso es todo. Por lo que sólo queremos reemplazar esto por el punto, conseguir todas las cosas diferentes aquí. Así que esta va a ser la queja de Oracle dot, dot get. Y luego lo mismo con un árbol aquí. Esta es la flor de cerezo colocada, pero consigue ky.gov. Y eso es lo que debería prácticamente todo lo que necesitamos para cambiar. Eso podría ser como un par de otras cosas en alguna parte. Pero yo creo que así es. Lo realmente gracioso también es que las etiquetas y el mundo es como las cosas grandes que cambian también cambiarían por cualquier maldita razón es la real. Mientras que en el util en la pantalla de título, no sé por qué, pero la pantalla del título ya no funciona correctamente. Esto es que estoy en realidad, quiero decir, no diría furioso, pero estoy un poco enojado por ello porque tenía este tipo de clase casi completamente personalizada que tomé un poco del forraje y lo rehizo un poco, y luego funcionó totalmente bien. Y ahora por cualquier razón cambiaron para cambiar de nuevo la pantalla del título, y no sé por qué, pero es lo que es. A veces esas cosas suceden sin embargo. Sólo tenemos que lidiar con eso y vas a ver más. Quiero decir, en apenas un momento en que realmente hacemos esto, permítanme comprobar realmente el conflicto. Y lo apagamos. Sí, sí lo hemos apagado, así que vamos a encender esto para que en realidad podamos ver cuál es la diferencia para la pantalla de título. Vas a ver que actualmente no funciona realmente. Entonces esta es también una de las otras razones por las que algo así como un conflicto para la pantalla de título en realidad algo importante. En realidad comencemos esto y veamos si estamos recibiendo algún error. No estoy 100% seguro de que no debamos conseguir nada. Podría ser como una o dos cosas que fueron tal vez falta una importación, pero sí se ve, tipo de luce bien en este momento. Así que vamos a ver, que sólo pase por esto, por supuesto, nuestra flecha normal que siempre obtenemos cuando iniciamos Minecraft. Y creo que debería estar bien. Se inicia en el otro monitor. Sólo vamos a conseguirlo por aquí. Y luego también, se puede ver que el tema aquí, claro, es que no hay título de splash aquí y entonces que también en la izquierda, abajo a la izquierda, abajo a la izquierda, la versión real y esas cosas también es desaparecidos. No sé por qué ese es el caso. Lo cambiaron de alguna manera en el backend en su código. Pero cualquiera que sea el caso, es 1, 1000 2. Y lo que podemos hacer es que sólo podemos crear un nuevo mundo y solo hagamos un nuevo mundo y vamos en realidad, todo debería seguir funcionando totalmente bien. Entonces esto va desde las entidades todo el camino hasta las entidades de bloque, todo el camino hasta el no desove de árboles y todo en el medio debe seguir funcionando totalmente bien. Así que eso es realmente genial y vamos a comprobarlo. El desove más o menos haciendo exactamente. Quiero decir, eso es genial. Ese también es un lugar realmente interesante aquí mismo. Pero sí, los árboles todavía están de luto, las flores reales todavía están desovando también. Eso va a ser realmente genial. Y echemos un vistazo a todas nuestras cosas del curso aquí mismo. Así que acabemos con esto y veamos que el tigre sigue trabajando ya que los mapaches siguen trabajando varianza también. Entonces todo sigue completamente bien. Y en realidad también probemos los registros de dote. Eso fue algo que cambió. Y vamos a ver una vez que encontremos algo que hace encontraron mineral de hierro, así que todo completamente bien, sigue funcionando. No te preocupes ahí. Sí, eso es más o menos lo fácil que es actualizar a partir de 1820s. Hay bastantes cosas que hay que tener en cuenta, pero en general no es tan malo, ¿verdad? Por lo que obviamente, todos los temas adicionales que vendrán después de esto van a ser todos para 182, recomiendo encarecidamente por supuesto ahora actualizando a esto, probablemente deberías estar a través en este punto. Y entonces podemos seguir con algunos temas adicionales en 118 a, pero eso sería todo por esta conferencia aquí mismo. Espero que te haya parecido útil esto y aprendas algo nuevo. Y te veré en la próxima conferencia. 112. (1.18.2) Estructuras personalizadas (reposición de ejemplo): O doy la bienvenida de nuevo al caballo de tela por 118. En esta conferencia, vamos a estar agregando estructuras personalizadas a Minecraft. Ahora la forma en que esto va a funcionar es esta conferencia y las dos conferencias siguientes van a ser sobre estructuras. Ahora en esta primera conferencia, recomiendo encarecidamente que pase conmigo a través esta conferencia porque después de que básicamente hemos implementado estructuras una vez, agregarle más estructuras es increíblemente fácil. Solo tienes que copiar algunos archivos JSON y básicamente construir tu estructura, guardarla, y luego eso es todo. Es muy, muy sencillo. Pero esta conferencia, como probablemente podrás decir, es bastante larga. Y la razón de esto es porque vamos a pasar por este repositorio justo aquí. Este es el repositorio mod tutorial estructurado por un gruñido telepático. Es probablemente el recurso número uno para estructuras personalizadas. Es increíblemente genial en, es realmente bueno. Tiene muchos comentarios diferentes en cada archivo. Y es justo, hace que esto sea muy, muy sencillo. Ahora 1, 1000th 2 en realidad introduce una forma de hacer estructuras que literalmente no requiere código en absoluto. Ahora eso es realmente alucinante impresionante, pero también veremos una estructura particular que en realidad existirá con el código. Y básicamente vamos a pasar por esto. Por lo que voy a explicar cómo voy a pasar por este repositorio en particular. Vamos a pasar por ello en su totalidad. Vamos a implementar ambas estructuras que básicamente se nos dan aquí. Y la forma en que pasamos por esto a medida que avanzamos en la carpeta fuente aquí mismo, vamos a abrir el código y los recursos por separado. Entonces, antes que nada, queremos básicamente mirar todas las diferentes clases que tenemos. Vamos a ver que hay una mezclada en clase, hay una clase de estructura, ahí estaban las estructuras de St y la clase principal. Por lo que tenemos cuatro clases diferentes. Y se puede ver en general son bastante largas, pero se puede ver también hay muchos comentarios diferentes aquí. Recomiendo encarecidamente en su propio tiempo. Pasar por los comentarios, ver lo que significa cada parte, porque algunas cosas son muy sencillas, otras no son tan sencillas. Simplemente recomiendo encarecidamente esto. Para que puedas ver en general el nasdaq loco cuando lo piensas. Pero básicamente, aquí es donde empezamos. Entonces estamos empezando por el código. En primer lugar, este va a ser el accesor de características de estructura. Sólo voy a copiar esto y vamos a empezar inmediatamente aquí mismo en el paquete de mezcla. Ahora, por supuesto también puedes obtener todo el código y los archivos JSON en el repositorio GitHub del curso y los riesgos también. Pero recomiendo encarecidamente dar un paso a través de esto una vez, básicamente trabajando con el código tutorial real de gruñidos telepáticos, tutorial repositorio de GitHub Lo recomiendo altamente o sea cual sea el caso puede estar en el mixto y el paquete, vamos a hacer un exceso de función de estructura V o con el martes atrás. Y deberíamos poder simplemente pegar esto y luego importar todas las cosas importantes aquí mismo. El paso de generación también. Ahí vas. Y eso debería ser que ahora por supuesto ir al curso MC mixin Jason y agregando esto como un mixto aquí también. Eso debería ser más o menos lo que tenemos que hacer aquí. Y luego vamos a volver al tutorial GitHub aquí vamos, vamos a cerrar la pestaña y luego vamos a pasar a la siguiente. Esto va a ser las estructuras del cielo. Sólo voy a copiar todo incluyendo las importaciones aquí. Y esto va a entrar en el paquete mundial, en un nuevo paquete llamado rupturas. Y luego en lugar de ahí, vamos a hacer una nueva clase llamada el módulo. Estas son las estructuras del cielo. Ahí vas. Y luego vamos a pegar esto en la marcha. Tenemos que cambiarlo este año a MC core smart, un maderero, y entonces esta no es casa descabellada, pero esta es la fractura del cielo. Y luego aquí arriba, sólo tenemos que cambiar es éste. Y entonces aquí no habrá más errores presentes. Entonces todo debería estar funcionando. En general como se puede ver, si bien parece mucho, en realidad son sólo una gran cantidad de esfera común diferente. Y todo se explica básicamente en esos comentarios que recomiendo encarecidamente, como dije, pasar por esto en su propio tiempo. Se puede ver, por ejemplo, este de aquí mismo determina la posición Y. Esto se coloca cosas así. Recomiendo encarecidamente mirar esto y solo asegurarme de que entiendas un poco de esto. No tienes que entender todo aquí, sobre todo si solo quieres, digamos, una estructura normal para desovar, entonces esto va a estar totalmente bien. Si quieres algo más extenso como un bastión personalizado. Quiero decir, en ese momento va a ser muy, muy difícil realmente hacer eso. Eso va a requerir mucho más trabajo. Esto es mucho sólo para algunos, digamos estructuras básicas a intermedias. Ahora tenemos a estos chicos clase de estructuras. Así que vamos a cerrar esto también. Y entonces podemos ver que necesitamos tener esta st estructuras aquí. Ahora voy a renombrar esto a estructuras mod porque esa es la nomenclatura con la que voy. Y sólo vamos a ir con estructuras modales. Ahí vas. Y sólo voy a pegar esto, cambiar esto de nuevo a rupturas mod y no deberías que realmente escribimos esto correctamente. Ahí vas. Importando aquí la característica de estructura , retro futuro accesor. Este va a ser curso MSC mod ese modelo ID. Entonces este es el paso de generación una vez más como hace. Y luego se puede ver una vez más que es todo lo que hay a ella. Ahora solo necesitamos llamar a este método aquí mismo en nuestro curso MC, más clase y el constructor aquí mismo. Entonces las estructuras modales no registran una estructura características y eso es todo. Y luego también está la última cosa aquí mismo. Puedes ver, ahí vas, Nicole, esto, y eso está hecho y hecho. Ahora, todo el código en realidad ya está creado. Y ahora el resto sucede en la carpeta Recursos y es decir, en la carpeta de datos. Aquí, aquí hay muchas cosas. Vamos a encontrar en realidad es sólo un montón de cosas que puedes ver, en primer lugar, una etiqueta. Voy a explicar eso en un momento. Y luego tenemos la carpeta de datos para este tutorial aquí se puede ver tenemos estructuras, tenemos algunas más etiquetas y luego también el mundo de nuevo. Esta etiqueta es en realidad algo que vamos a ignorar un poco. Pero este es el sobre mapas de exploradores oceánicos. Esto es algo que puedes agregar. Se puede ver microbio tiene algunas etiquetas de características de estructura configuradas que pueden agregar cierto comportamiento. Y en este caso, en realidad se puede agregar la estructura a los cartógrafos, aldeanos, mapa del océano, mapas de monumentos. Y básicamente esto es lo que hace una etiqueta en particular. No tienes que añadir esto. No voy a añadirlo. Esto es solo agregar una característica extra que podría ser realmente genial. Entonces eso es algo que básicamente podemos ignorar también más o menos. También vamos a cerrar esto y ahora sólo tenemos la carpeta de datos para el tutorial de estructura. Esto es por supuesto el ID del modelo. Entonces para nosotros esta sería la carpeta del curso de datos MC. Y se puede ver que aquí hay algunas carpetas. Entonces vamos a abrir los dos primeros porque éste en realidad va a ser más extenso. Entonces las estructuras se pliegan, solo tiene los datos de la NVT para las estructuras extra. Entonces la idea es que construyas estructuras en el mundo y luego puedas usar ciertos bloques. esos se les llama el bloque estructural para guardar ese edificio en particular en los datos de la NVT. Y vamos a ver cómo hacer eso en realidad en esta conferencia también, porque necesitamos cambiar algunas de estas cosas en estos archivos de NVT también. Y luego también vamos a ver esto en la próxima conferencia y la conferencia después de eso con una estructura personalizada de una sola pieza. Y luego también vamos a ver las estructuras del rompecabezas también en la última conferencia de este tipo de tres series de conferencias para estructuras. Pero por el momento, solo vamos a tomar estas estructuras te recomiendo encarecidamente, una vez más, pasando por este tutorial unas, no cambies demasiado. Asegúrate de que todo esto funcione. Si has hecho todo esto y todo aquí funciona, obtienes la casa descubierta, tienes el ventilador del cielo. Agregar una nueva estructura es cosa de cinco minutos máx. Es muy, muy sencillo. Y luego por supuesto que aún tenías que construirlo. Pero el código real o los archivos JSON cambiándolo allí es muy sencillo. Así que consigue que esto se ejecute una vez con un tutorial estructurado mod. Entonces puedes agregar tus propias estructuras realmente muy recomendables. Es sólo la mejor manera de hacerlo. Básicamente queremos descargar todos estos en archivos VT. Ahora, en realidad ya lo he hecho así que lo que puedes hacer es simplemente abrirlo y luego descargarlo aquí y se han ido. Entonces tienes este archivo NVT. Se puede ver en realidad cuatro que he descargado unas cuantas veces ya. Por lo que se puede ver que es más o menos ahí. Así que solo descarga los cuatro y por supuesto también puedes conseguirlos en el repositorio de GitHub también que tengo. Lo que vamos a hacer es que vamos a entrar en el curso de Data folder MC, y vamos a hacer un nuevo directorio llamado estructuras. Y luego dentro de ahí, vamos a necesitar los siguientes archivos NVT. Los cuatro de esos. Ahí vas. Entonces vamos a necesitar la casa descubierta, izquierda, derecha, derecha, lado derecho, Golden, y los fanáticos del cielo. Por lo que esos cuatro necesitamos en estas estructuras carpeta, carpeta datos en tu ID de modelo aquí. Y eso estaría bien. Entonces después de que hayamos hecho eso, podemos cerrar esto también. Y luego se pudo ver que tenemos las etiquetas aquí mismo. Entonces esto va a estar bajo tus datos para una vez más, tags Biomas belgas hold tiene estructura. Estas etiquetas son muy interesantes porque en realidad determinarán en qué biomas puede desovar tu estructura personalizada. Muy sencillo de entender lo que hace esto y lo que vamos a hacer es que sólo vamos a abrir ambos. Y yo sólo voy a primero crear la estructura real aquí mismo. Entonces en las etiquetas más antiguas derecha, bajo tu ID de modelo, vamos a hacer un nuevo directorio llamado World Jen. Y luego dentro de ahí queremos hacer un nuevo directorio llamado bioma. Y luego dentro de ahí, vamos a hacer un nuevo directorio llamado tiene estructura de subrayado, asegurándose de que escribimos esto correctamente. Y luego dentro de aquí, necesitamos dos nuevos expedientes. Entonces voy a hacer en realidad es porque esos son nombres muy largos. En realidad voy a copiar este nombre justo aquí. Y sólo voy a hacer clic derecho en nuevo archivo, pegar ese nombre en. Ahí vas. Y entonces voy a volver atrás, pegar en el contenido de este punto aquí de nuevo, y vamos a echar un vistazo a eso en un momento. En realidad también vamos a hacer el otro expediente también. Por lo que este es el único biomas adyacente de la casa. Entonces esta casa de G Jason única que vamos a engendrar una estructura que hemos hecho, la estructura del cielo para la que hemos hecho el código, y la casa va a desovar completamente solo con archivos JSON es realmente alucinante impresionante. Y en realidad estoy, en realidad estoy mucho, me sorprende lo fácil que en realidad es cuando se llega a ver, sobre todo en las próximas conferencias, después de que hayamos pasado por esto, una vez, estás va a ver lo fácil que es agregar múltiples estructuras nuevas, Es realmente sencillo una vez que pasas por esto, una vez, no puedo recomendar esto lo suficiente, mientras que es un poco de tiempo para configurarlo arriba y pasar y explicar todo. Va a ser muy, muy vale la pena, ¿verdad? Entonces entonces tenemos los biomas del cielo. Los biomas para el cielo fan, se puede ver montañas es océano y es océanos profundos. Se pueden ver que son etiquetas como se puede ver. Y luego también agregamos esto al pantano o a la única casa que se puede ver lo estamos agregando a todas las cosas que es un tigre, selva, bosque y luego también desiertos, llanuras y algún otro biomas también. Por lo que aquí solo puedes usar los biomas. En especificar en una palabra a biomas, tu estructura personalizada va a desovar en. Así que eso es realmente genial. Para que podamos cerrar esto, vamos a cerrar todo eso. Ahí vas. Y entonces podemos proceder una vez más. Podemos cerrar esto, cerrar esto, y cerrar esto. Y ahora estamos de vuelta aquí que hemos hecho las estructuras y hemos hecho la etiqueta tiene estructuras y ahora pasando al mundo. Y así en realidad puedo abrir esto en esta pestaña y se puede ver aquí hay cuatro directorios diferentes más. Y básicamente podemos abrir o cuatro de ellos. Y vas a ver, vamos a abrir realmente los tres primeros porque esto va a ser uno especial. Y se puede ver el primero solo tiene una vez más a los archivos JSON en ella. Se trata de características de estructura reconfiguradas. Entonces lo que voy a hacer es que voy a copiar el nombre aquí sólo para que no me pierda teclear nada. Y esto va, y esto es increíblemente importante. Tenga en cuenta aquí. Ahora esto va a la carpeta mundial gen, no a esta carpeta de generación mundial. En tu curso de datos MC o tu foto MOD ID, tienes que crear una nueva carpeta de generación mundial. Mira esto. Mira. Esta carpeta mundial gen es diferente a ésta. Esto de aquí mismo es en lugar de la carpeta de impuestos, se puede ver, ahí va. Si abro esto, se puede ver que son carpetas diferentes. Esto es increíblemente importante. Por favor, no cometas el error al poner todo en tu carpeta de impuestos. Por lo que por favor tenga en cuenta esto. Esta es una carpeta diferente. Voy a mantener esto abierto y se puede ver núcleos MC, rural Jen, vas ahí, todo entra y vamos a tener un nuevo directorio justo aquí, que se va a llamar configurado característica de subrayado estructura subrayado. En realidad vamos a crear el resto de los también. El otro es la lista de subrayados del procesador. Y luego vamos a arrastrar esto a la misma carpeta sosteniendo el control para duplicar esto. Y este es el conjunto de subrayado de la estructura. Y entonces el último va a ser el grupo de subrayados plantilla. Ahí vas. Esos son los cuatro directorios o carpetas diferentes que necesitamos en los mundos y seguir una vez más, asegurándose de que esto esté en la carpeta correcta, data MC cores world. Jen, esto no son los mundos tags y llenos de muy, muy importante que tengas este orden interno correcto ¿verdad? Después de que te hayas asegurado de que esta es la carpeta correcta, vas a ir aquí y vamos a abrir ambos de estos rayos y archivo. Así que una vez más, sólo voy a copiar el nombre aquí primero consistir sólo hace que sea un poco más fácil para mí para que no tenga que teclear esto. Entonces, lo que vamos a hacer clic derecho en nuevo archivo, claro que hace, y luego vamos a conseguir el contenido aquí. Así que vamos a copiar esto . Ahí vas. Y luego vamos a entrar aquí. Ahí está. Vamos a cambiar esto en un momento. En realidad vamos a crear el otro archivo adyacente así como la única casa adyacente una vez más. Y vamos a ir a hacer clic derecho nuevo archivo, pegar solo casa. Y luego nos vamos a ir, y luego vamos a ir aquí. Ahí vas. Una vez más, los contenidos de los cuales se sobre N, ahí lo tenemos. Pero antes que nada, puedes ignorar las flechas aquí mismo para los comentarios reales. Esos van a estar bien, así que no hay preocupaciones ahí. Y ahora se puede ver que este archivo JSON en particular es básicamente la característica de estructura o la característica que vamos a agregar, la configuración del mismo. ¿ Qué significa eso? Bueno, en primer lugar, se puede ver que esto realmente se remonta y señala a su etiqueta que hemos creado aquí mismo. Para que puedas ver que esta es la estructura. Tiene estructura, sí. Y luego estructura de código fan cielo de biomas, que es exactamente este Jason de Alright, aquí tenemos que cambiar este ID de modelo a nuestro modelo. Muy importante. También queremos cambiarlo este smart ID a nuestro mod ID. Y sólo para asegurarnos absolutamente de que todo funcione, también queremos cambiar este ID de modelo. Entonces en todas partes donde dice la modalidad tutorial de estructura, básicamente queremos cambiar a nuestro ID de modelo. Ahora esto debería ser bastante autoexplicativo. Como dije, esto apunta a este firewall JSON en particular aquí, la etiqueta bioma, que es básicamente responsable de contar, está bien, esta característica particular de estructura o este particular estructura sólo puede desove en los biomas que están dentro de esta etiqueta debe ser bastante autoexplicativa. Nada loco pasando ahí dentro. Empiezan alberca es algo que vamos a añadir en tan solo un momento. Esto se va a agregar a la carpeta de grupo de plantillas. Y vamos a ver eso en un momento. Esto es básicamente lo profundo, una de las piezas centrales de la generación de esto. Y entonces podemos ver también tenemos algunas anulaciones de desove aquí, donde algunos de Volcker y fantasmas podrían aparecer aquí mismo. Para que puedas ver esto es lo que los trapeadores pueden generar horas extras en esta estructura. Por lo que esto es algo que también puedes jugar con altamente aconsejar eso también. Aparte de eso, la única casa adyacente es muy similar. Se puede ver la estructura base aquí es en realidad completamente diferente. Esto es en realidad un pueblo o no 100% seguro donde esto tiene sentido. Se puede ver esto básicamente hace alguna comprobación extra de terreno. Entonces creo que esto simplemente significa que esto básicamente engendra similar a un pueblo. Entonces se va a comprobar si hay un terreno plano, cosas así. Y va a hacer algunas cosas así. No estoy 100% seguro, pero eso parece ser el caso. Ahora, una vez más, el tutorial de estructura, cambiando esto a nuestro ID de modelo. Una vez más curso MC, curso MC. Y esta es la casa descubierta tipo alberca. Y esto una vez más apunta a los solo biomas adyacentes. Entonces este expediente de aquí mismo, para ser bastante autoexplicativo, el ruido adulto, puede ver aquí hay un gran comentario lo que esto básicamente hace si verdadera tierra alrededor de ella estará alrededor de la parte inferior de la estructura. Entonces esto sólo va a cambiar la estructura real de la tierra alrededor de su estructura real. Y luego una vez que pueda abarcar anulaciones, también podemos agregar algunas criaturas escuchan sonidos de los padres podrían aparecer aquí también. Entonces ahí vas. Ahora configuraron la función de estructura se hace y luego podemos seguir adelante para que podamos. Esos, éste, éste y éste. Y luego podemos ver la lista de procesadores. Ahora este es un archivo especial de Jason que en realidad no se requiere. Esto es algo personalizado. Esta es la rotura de piedra aleatoria y es realmente impresionante. Y voy a explicar qué hace esto también. Vamos a crear esto en nuestro proceso, nuestra lista más vieja aquí mismo y mi ladrillo de piedra. Y luego volvamos a aquí y solo pongamos toda esta locura aquí. Y esto básicamente lo hace es en la gist general aquí está c lista de procesos se ejecutará un procesador para cada bloque colocado edito el archivo NVT. Cuando creamos nuestras estructuras personalizadas. Esto es por supuesto todo guardado en la NBA en un archivo MVT. Y luego básicamente por cada bloque que se coloca a este procesador corre a través de él. Y se puede ver, esto es realmente genial. Básicamente puedes especificar ciertas reglas aquí. Y la regla aquí es que, por ejemplo, si encontramos un ladrillo de piedra, entonces tiene un 50% de posibilidades de ser reemplazado por un ladrillo de piedra infestado. Esto es realmente impresionante y esto es realmente genial. Se puede ver aquí, algunos ladrillos de piedra también podrían ser reemplazados por esmeralda o algún cobalto. pizarra profunda podría ser reemplazada por una guerra de restaurantes de estado profundo. Esto es realmente genial y esto podría ser simplemente, básicamente puedes agregar algo más variabilidad a tus estructuras personalizadas con esto, con estas reglas aquí. Entonces no estoy 100% seguro de todas las reglas que existen. Esto es por supuesto solo un ejemplo donde básicamente se puede cambiar un bloque a ocho otro bloque. Pero es realmente genial y esto podría ser simplemente una cosa muy cool para básicamente agregar a algunas de tus estructuras. Pero una vez más, esto no es necesario. Esto es completamente opcional. Entonces vas a ver que esto se va a utilizar en la estructura del cielo aquí mismo, pero no en la casa. En realidad, la casa no va a usar esto. Entonces eso es lo que estoy diciendo. Esto no tiene que agregarse, pero sigue siendo agradable. Y recomiendo encarecidamente para los fines de esta conferencia y el tutorial estructurado, recomiendo encarecidamente agregar esto también. Muy bien, para que podamos cerrar esto también. Y luego estamos en el conjunto de estructura trans mundo. Pero una vez más, podemos abrir ambos archivos de Jason y yo voy a hacer lo mismo. Voy a copiar el nombre por aquí, y vamos a hacer un nuevo archivo. Ahí vas. Entonces, una vez más, vamos a ir aquí y sólo conseguir el contenido de los cuales se puede ver en realidad no tanto tiempo. Y una vez más, en realidad vamos a crear de los dos archivos primero y luego vamos a pasar por los contenidos y lo que esos realmente significan. No son tan locos. En general, cada parte individual aquí no es tan complicada, todas las cosas consideradas. Es sólo que a veces puede ser un poco desalentador porque hay tanto, pero cuando en realidad lo miras, las partes individuales o no tan locas. Entonces en primer lugar, claro, una vez más, la estructura aquí, esto no 100% seguro, pero creo que esto apunta a la característica de estructura configurada aquí mismo. Entonces éste, sólo podemos cambiar esto a curso MC y luego va a apuntar a este archivo JSON aquí mismo. Y entonces la colocación es muy importante. El emplazamiento aquí, básicamente quieres asegurarte de que tu sal aquí mismo puedas ver nos hacen únicos y se asegura que no coincida con ningún otro set de sal. Ahora la razón de esto es porque de lo contrario las estructuras reales se colocarían en la misma ubicación, que por supuesto es algo que definitivamente no se quiere hacer, porque eso sería simplemente muy raro. A veces sigue ocurriendo que se van a cruzar, pero eso es sólo la aleatoriedad. Normalmente no debería suceder, sobre todo si haces la separación aquí. Entonces el espaciado, esta es la distancia promedio aparte y esta es la distancia mínima aparte. Y luego por supuesto, esto debe ser siempre más pequeño que esto. Tiene sentido, ¿verdad? Si la distancia promedio es menor que la distancia mínima no tiene ningún sentido en absoluto. Entonces ahí tienes, solo asegúrate. Y creo que esto definitivamente serían valores depurados porque 166 vas a ver una vez que realmente vayamos al mundo, que esto es increíblemente no raro. Esto es increíblemente común en esta mezcla, nuestra, nuestras diferentes estructuras increíblemente comunes. Así que ten en cuenta eso, pero recomiendo mantener esos números por el momento. Lo mismo aquí con la única casa Jason. Vamos a cambiarlo, éste de aquí mismo, curso MC. Entonces también podemos ver de nuevo los puntos de éste a esta estructura aquí mismo. Ahora, lo que encontrarás es que esto es por supuesto una lista. Entonces, en teoría, podríamos añadir otra estructura aquí mismo. Para que puedas, incluso en teoría, en la estructura Skype y donde sea que puedas asignar las diferentes tarifas aquí. Podemos ver en este comentario que básicamente intenta y recoge una de esas estructura. Si dos o más estructuras analistas pueden desovar en un bioma en un spot, se elegirá uno aleatorio basado en los pesos. Esta es la idea general aquí. Por lo que también puedes hacer una lista de muchas estructuras y básicamente tener una de ellas engendrada en un lugar particular. Para que eso también funcionaría. Entonces esta es la estructura establecida básicamente apuntando hacia atrás a la característica de estructura configurada, la preocupación, la característica de estructura aquí, por supuesto, apuntando al impuesto aquí mismo, y luego señalando también al pool de plantillas, que es lo último que ahora necesitamos agregar. Entonces vamos a volver al repositorio de GitHub aquí mismo, y vamos a cerrar todo esto y luego abrir el pool de plantillas porque esto es como dije, un poco más complicado. Voy a conseguir el ventilador del cielo y luego también la casa descubierta. Así que vamos a hacerlo así. Primero vamos a conseguir el ventilador del cielo. En realidad, eso va a ser un poco más fácil. Entonces esto es sólo la base del ventilador de subrayado cielo y archivo dentro de aquí. Así que vamos a hacer un nuevo archivo. Ahí vas. Y luego una vez más, copiar sobre los contenidos de esto tampoco tanto como se puede ver, esto, en este caso, lo que queremos hacer cambiar este de aquí mismo son los reales más ID. No creo que esto sea del todo necesario. También se puede ver esto realmente apunta a la piscina lateral aquí mismo. Realmente no tiene sentido porque este no debería ser el caso. Este debería ser en realidad su propio nombre. Entonces esto debería ser Skype. Y creo que esto en realidad no es tan importante para el nombre real aquí. Y luego se puede ver éste por supuesto también, curso MC. Y se puede ver éste como se puede ver el camino final aquí, estructura de datos de recursos para rodar con. Esto sería estructuras de curso MC corrieron en casa izquierda nota esto apunta al cielo y juró ventilador y VT. Entonces este nombre aquí tiene que ser el mismo nombre que este. Entonces la ubicación aquí mismo apunta al archivo MDT en la carpeta de estructuras dentro de tu carpeta de cursos MC en este caso, porque lo hemos hecho. Ahora se puede ver que también tenemos los procesadores aleatorizados de piedra, ladrillo. También hay necesidad de cambiar a curso MC, ¿verdad? Así mismo aquí, curso MC. Esto entonces busca la lista de procesadores, ladrillo de piedra aleatorizado, y luego vamos a aleatorizar un ladrillo de piedra para cada uno de los diferentes, básicamente va a pasar por exactamente esta regla que Te he mostrado hace un par de minutos, básicamente. Sí, y eso es más o menos el ventilador del cielo hecho. Lo que ahora queremos hacer es también el costado y la alberca almacenada para la casa descubierta. Así que vamos a hacer una nueva carpeta aquí llamada Run underscore down underscore down underscore house. Y luego dentro de ahí, vamos a hacer dos archivos JSON almacenados Fool y pools del sitio o clic derecho en nuevo archivo almacenado subrayado pool dot json. Y entonces también queremos el lado subrayado pool dot Jason. Y vamos a copiar los contenidos. Esta es la piscina de almacenamiento. Vamos a copiar esto sobre la meta y luego vamos a durar pero no menos importante copiar sobre el tonto lateral y luego tenemos todo copiado. Entonces básicamente necesitamos, Esa es la que inicie alberca. Y en primer lugar, una vez más, la nueva lista al curso MC, cambiando esto a curso MC. Y eso es todo lo que necesitamos. Por lo que se puede ver a la izquierda casa derribada para esto una vez más, esta de aquí mismo, esta NVT a Archivo. Y luego aquí tenemos la alberca del sitio. Esto va a ser muy interesante. Esto es necesario para el bloque de rompecabezas y las cosas del rompecabezas. Entonces vamos a ver básicamente lo que esto significa y qué hace esto en tan solo un momento. Sólo vamos a cambiar todas las ubicaciones aquí. Ir curso MC. Y la idea general aquí es que tengas una, tienes la alberca de almacenamiento, que va a ser el lado izquierdo de la casa. Y luego tienes un bloque de rompecabezas en ambos lados de la casa y el lado izquierdo y derecho de la casa. Y están conectados entre sí. Y luego básicamente llama a la alberca del sitio y luego desova ya sea la casa del lado derecho, normal u oro. Esa es la idea general. Pero vamos a ver que un poco más de detalle en la conferencia de rompecabezas también, donde en realidad hacemos una nueva estructura personalizada completamente corteza personalizada con nuestros propios bloques de rompecabezas personalizados y cosas así también. Entonces no se preocupe ahí. Vamos a entrar un poco más detalle en eso en el futuro. Pero ahora en realidad todo aquí se ha agregado y debería funcionar. Si esa cosa que no debería funcionar es en realidad la izquierda y el lado derecho tiene dentro de esos archivos MVT en el bloque de rompecabezas, hay un ID de modelo equivocado asociado a él. Entonces el ID del modelo sigue siendo el tutorial de subrayado de estructura y en realidad necesitamos cambiar esto. Ahora lo que debe desovar ya es nuestro ventilador del cielo y el lado izquierdo de la casa. Así que lo que vamos a hacer es que vamos a hacer un nuevo mundo. Y vamos a hacer lo que vamos a hacer es realidad ir a Minecraft, hacer un mundo nuevo. Y luego cuando veo que el ventilador del cielo en realidad poseía, y luego también la casa descubierta aunque. Vamos a ver sólo si funciona. Muy importante tener en cuenta, obtendrás en este mundo usando configuraciones experimentales. Después de haber agregado sus estructuras personalizadas, solo es lo que es. No puedes deshacerte de esto fácilmente. Ahí está, creo que hay un mod que podrías agregar o básicamente conseguir esto como un mezclado en, pero solo vas a tener que lidiar con esto. Simplemente haz clic en Proceder y deja que el mundo genere. Y si te unes a un mundo ya existente va a decir algo así como, Oh, está usando configuraciones experimentales. Sólo di, sí, sé lo que estoy haciendo. Entra al mundo y vas a estar totalmente bien. No se preocupe de que sean en absoluto. Muy bien, entonces nos encontramos en Minecraft y por lo general las estructuras deben ser bastante prevalentes. Ahí vamos. En realidad, hay 1.5 de la casa ya existente. Así que vamos a bajar aquí y se puede ver que sólo es media casa, ¿verdad? Por lo que el bloque de rompecabezas real se coloca justo aquí. Y luego debería haber otro lado de la casa que vamos a arreglar en tan solo un momento. Pero también puedes ver algunos ejemplos muy bonitos y geniales de algunas cosas más aquí mismo. Básicamente TreasureChest como puedes agregar algunos incluyen también. Por lo que recomiendo encarecidamente revisar esto también. Y luego vamos en realidad también ir slash localizar el código del curso MC solo estructuras Chi Fan. Y entonces también deberíamos poder encontrar que esto, digamos mis dos phi arriba. Ahora ahí está. Vale, podemos ver que te vas y también deberíamos poder ver roturas de piedra y luego algunos de ellos son ladrillos de piedra infestados y en lugar de haber sido reemplazados por esmeraldas. Y luego aquí están algunos de esto ha sido reemplazado por los diferentes ORS. Realmente genial todo trabajando exactamente como esperarías que lo hiciera. Y ahora tenemos que arreglar la casa. Entonces, ¿cómo arreglamos la casa? Bueno, lo que tenemos que hacer es que tengamos que conseguir un cierto bloque y ese va a ser el, este bloque de aquí mismo. Entonces vamos a simplemente darnos el, este es el bloque estructural. Ahí vas. Lo vamos a hacer es sólo vamos a ponerlo abajo y luego hacer clic derecho en esto. Y lo que tenemos que hacer es que tengamos que obtener el nombre de la estructura. Hay un curso MSC colon, y esto es corrida subrayado abajo subrayado casa, subrayado lado izquierdo de subrayado. Creo que eso es todo. Vamos a cargar y luego irías realmente lo cargó. Vamos, seleccionemos este control un control C para copiarlo, y luego haga clic en cargar nuevamente para cargar la estructura en. Y se puede ver esta estructura carga en ancho una roca aquí mismo. Esta es la bebida tan bloque. Y se puede ver esto lleva el tutorial de subrayado de estructura, una casa descubierta junto a alberca. Por eso no funciona y en realidad queremos hacer lo mismo aquí mismo. Vamos un poco más lejos. Y luego vamos a hacer clic derecho, copiar esto y pegar esto en. Y luego vamos a hacer un lado derecho, aquí mismo, lado derecho, carga. También debe cargar. Salgamos de esto. Ahí vas, carga esto adentro. Y luego hagamos lo mismo una vez más con los lados dorados. Entonces esto va a ser un derecho, voy a subrayar oro. Entonces esos son todos nuestros diferentes archivos NVT. Vamos a cargar eso también. Ahí vas. Y ahora tenemos todos esos bloques diferentes. Como pueden ver, vamos a empezar con la casa izquierda. Entonces lo que necesitamos es cambiar esto por supuesto a curso MC. Entonces curso MC, ahora va a mirar nuestro sitio pool archivo JSON. Entonces lo que vamos a hacer aquí es el lado correcto. No necesariamente necesitamos cambiar esto, pero me gustaría cambiar esto también . Este es el nombre objetivo. Voy a volver a seleccionar esto, controlar a, control C para copiarlo. Y entonces vamos a decir hecho. Ahora este nombre aquí mismo, el nombre objetivo tiene que coincidir con el nombre aquí mismo. Entonces si hago clic derecho en éste, se puede ver que esto tiene un nombre particular y los tienen que igualar hecho. Eso es en realidad doble comprobar esto. Sí. Este es Steve. Sabía que tenía un w ahí dentro porque una especie de moverme un poco demasiado temprano. Y ahí vamos, éste tan bien hecho. Ahora lo que queremos hacer es que queremos volver a guardar esos datos MVT. ¿ Cómo hacemos esto? Bueno, una vez más, en nuestro bloque de estructura, vamos a ir al modo seguro, y sólo vamos a salvar esto bajo el mismo nombre, a salvo. Ahí vas, hecho. Y luego lo mismo aquí, ve al modo Guardar seguro. Y luego ir aquí al modo seguro seguro. Entonces si esto fue un poco rápido, no te preocupes, como dije, próxima conferencia y sobre todo la conferencia después de eso, vamos a discutir los bloques de rompecabezas un poco más de detalle cuando se en realidad construyendo una estructura personalizada propia y cómo se puede ahorrar fácilmente eso. Entonces si esto fuera un poco, no estoy 100% seguro de que todo funcione. Lo eres, no te preocupes por eso. Vamos a ver eso en un poquito en las próximas conferencias también. Pero ahora se han guardado esas diferentes estructuras y ahora lo único que tenemos que hacer es intercambiar los datos NVT que ya tenemos con nuestros datos recién guardados en VT. Así que pasemos a la inteligencia y veamos cómo funciona esto. Muy bien, entonces encontramos a un sospechoso en la inteligencia y queremos ir a la carpeta de corridas a tus cajas fuertes. Y luego quieres ir al mundo que acabas crear donde realmente tienes esas estructuras. Debe haber una carpeta generada aquí mismo con exactamente estos datos NVT. Pero esto es exactamente lo que queríamos. Sólo vamos a tomar esto y sólo vamos a moverlo todo el camino a las estructuras de aquí mismo. Y diremos anular todo. Y eso es todo. Ahora, la casa descubierta funcionará correctamente porque ahora básicamente va a buscar la alberca del sitio adecuado porque tuvimos que especificar que en la casa izquierda y también va a trabajar con el lado derecho adecuado. Entonces eso debería ser más o menos todo lo que tenemos que hacer. Entonces vamos a crear un nuevo mundo y veamos si la casa ahora desova correctamente. Muy bien, nos encontramos en Minecraft y se puede ver, ahí va. realidad hay dos de ellos. Como dije, son muy, muy comunes. Por lo que definitivamente quieres cambiar los números si queremos hacerlos un poco más raros. Pero como se puede ver, ahí está. Y veamos, he tenido suerte. Ahí tienes, 50% de probabilidad de conseguir el de oro aquí. Ahora también aparece el lado derecho. Y en realidad podemos ver, vamos a entrar aquí y ver si esto es o no los otros. Por lo que pudieron ver que hay diferentes variantes. Ahí vas. Esta es la que sin el oro. Entonces esto es realmente impresionante y realmente genial y todas las cosas consideradas no tan locas. Una vez más, se trata de conseguir que rolle unos porque te prometo la próxima conferencia cuando en realidad hagamos nuestra propia estructura, te vas a sorprender de lo fácil que es agregar esto una vez que hayas pasado por esto, entiende todas las diferentes piezas de ella y cómo básicamente puedes cambiarlo a lo que quieras que sea tu estructura. 113. (1.18.2) Estructuras personalizadas (pieza individual): Muy bien, bienvenidos de nuevo al curso de tela para 118. Y en esta conferencia vamos a estar haciendo una estructura personalizada. Nos encontramos ya en Minecraft y ya he creado una estructura personalizada aquí mismo. Por lo que ya sea puedes descargar el archivo NVT para esto. No obstante, en realidad te recomiendo lo que haces es crear tu propia estructura personalizada. No tiene que ser grande, no tiene que ser complicado. Definitivamente tiene que estar por debajo de 48 por 48 por 48. Yo diría que solo puedes pausar el video, crear tu propia estructura, y luego continuaremos. Ojalá hayas construido una estructura que es, tiene, puede ser similar a ésta o lo que sea. Pero básicamente ahora queremos el bloque de estructura real. Entonces si no tienes esto, solo puedes darte esto a ti mismo. Simplemente dale a tu propio jugador aquí, el bloque de estructura, éste de aquí mismo. Ya puedes ver, ahí vas. Este es el bloque de estructura. Y lo que queremos hacer es que queremos colocar esto más o menos fuera de toda la estructura. Por lo que queremos colocarlo aquí mismo que todo dentro de ella vaya a, Bueno, básicamente los salvó más tarde y luego queremos el otro aquí mismo. Por lo que queremos aquellos en estas dos esquinas y luego las otras dos cuadras deben entrar en las otras dos esquinas. Pero básicamente forman un, forman un cubo alrededor de esto. En este caso, sólo voy a poner esto aquí mismo. Ahí vas. Entonces vamos a empezar aquí. El nombre de la estructura debe ser MC curso colon, y voy a llamar a esto la casa de subrayado alfombra. Y voy a copiar este nombre. Entonces una vez que puedas controlar a para seleccionar todo, controla C para pegarlo. Y luego estamos cambiando al modo de esquina y decimos Hecho, voy a ir aquí, pegarlo en modo de esquina de control V hecho. Por aquí, se sientan en hormonas hechas. Y entonces nuestro último aquí mismo, realidad queremos ir al Modo Seguro, enrealidad queremos ir al Modo Seguro, pegar esto y decir detectar, y luego debería detectar toda la estructura para que puedas ver y asegurarte de que todo que quieras está dentro de las líneas reales aquí mismo y todo se ve muy bien. Ahora lo que podemos hacer es que podamos decir seguro. Ahora el archivo, el archivo NVT en realidad se ha guardado. Eso es en realidad lo fácil que esto por un tiempo, una estructura de una sola pieza a guardar en este caso, por supuesto, construirla. Eso es, por supuesto, otra cosa. Cuando se trata de los bloques de rompecabezas, eso es algo que vamos a ver en la próxima conferencia. Pero por ahora vamos a volver a cambiar a IntelliJ. Y vamos a echar un vistazo a lo que básicamente podemos verlo ahí mismo. Entonces en inteligencia, vamos a entrar en la carpeta R1, guarda. Esto fue en el mundo de las estructuras creo que generó ahí está la cabaña y sólo vamos a copiar esto sobre el control C. Y entonces voy a pegarlo en mis estructuras. Siga aquí mismo. Hothouse NVT hace, esta es ahora mi acostumbración. ¿ Cómo es eso que he construido? Y ahora por supuesto que necesitamos agregar algunas cosas que hemos hecho antes. Entonces ahora lo que vamos a hacer es que sólo vamos a abrir la carpeta de origen con todos los diferentes Jason final CR, lo mismo con el impuesto. Y ahora básicamente la idea es que una vez que has pasado por esto es por lo que dije en la última conferencia, una vez que has pasado por ella, una vez, agregar nuevas estructuras es increíblemente fácil. Porque lo que vamos a hacer es que vamos a tomar la casa única JSON. Vas a hacer esta única estructura adyacente. En este caso, sólo vamos a tomar cada uno de estos archivos y simplemente duplicarlo. Entonces vamos a arrastrarlo a la misma carpeta que está en el control de retención de bilis. Entonces eso lo va a duplicar. Vamos a llamar a esta empresa subrayado casa. Y voy a seleccionar todo el nombre aquí, control C para copiarlo porque vamos a usar esto un par de veces con los otros archivos JSON. Y estos biomas son en realidad totalmente divertidos, así que vamos a quedarlos. Esto es por supuesto una vez más solo el archivo JSON que especifica en qué biomas puede desovar nuestra estructura personalizada. Y configuró función de estructura. Vamos a copiar esto también. Y luego una vez más, sólo copia y pega aquí el nombre. Aquí queremos cambiar este nombre para cubrir underscore house, tienda alberca. Vamos a crear eso en tan solo un momento. Y entonces éste es por supuesto, la mitad estructuras de carbono casa Jason, que apunta aquí mismo. Así que tal vez lo que en realidad no queremos, no queremos ningún monstruos aquí. Así que vamos a hacer esto. Sólo vamos a tener una criatura engendrada, tal vez un loro. Eso debería estar bien en general, el resto aquí está bien. No necesitamos ninguna lista de procesadores en este caso, no quiero que nada sea reemplazado al azar. Podrías, por supuesto, todavía hacer esto. Hemos visto esto, la última conferencia, la lista de procesos fue bastante genial, pero no queremos esto. Y luego tenemos un conjunto estructurado una vez más también cubren casa de subrayado. Aquí apunta a la casa de subrayado de carbono y muy importante, esto es increíblemente importante para que la colocación aquí en el Salt sea única. Tiene que ser único. Y luego también vamos a cambiar un poco el espaciado. No nos vamos a volver demasiado loco año una vez más, 166 siguen siendo muy, muy pequeños. Esto definitivamente debería ser más alto cuando realmente estás implementando algo en el juego. Y por supuesto, viste una especie de cómo era la distancia general para la estructura anterior también. En otra última cosa que necesitamos son las albercas de plantilla. Vamos a conseguir toda la carpeta de la casa descubierta aquí. Vamos a renombrar esto para hacer frente y casa. Y luego voy a abrir tanto la alberca del sitio como la piscina de la tienda. Comienzan alberca aquí, discípulo, en realidad podemos eliminar, eso en realidad es aún mejor. Así que sólo vamos a hacer sí, borrarlo. Y luego la alberca de almacenamiento aquí, asegurándose de que tengamos esta casa de piscina de inicio aquí mismo. Y entonces aquí sólo vamos a decir en lugar de la casa descubierta que queda, esto es por supuesto, apuntando al expediente de la NVT. Vamos a apuntarlo al archivo NVT de la casa común. Eso es. Ahora vas a decir que no puede ser todo. Esto es en realidad todo lo que necesitamos. 1234 archivos JSON y nuestros archivos de archivo NVT y en total uno de ellos, dependiendo de lo complicado que sea tu construido, podría tardar bastante tiempo en guardar realmente el archivo NVT, pero eso es bonito mucho todo lo que necesitas hacer. Ahora por supuesto, también puedes cambiar algunas cosas por aquí, justo en esos archivos de Jason, configurar algunos elementos diferentes allí. Pero en general, esto es más o menos todo lo que necesitas. Así que por el bien de finalización, lo que vamos a hacer es que vamos a hacer un mundo nuevo, entrar y ver si podemos encontrar nuestra casa de carbono. Son muy curiosamente aquí mismo, en realidad tengo una flecha aquí mismo. 114. (1.18.2) Estructuras personalizadas (estructuras de (1.18.2): Muy bien, bienvenidos de nuevo al curso de tela por 100 mil vistos en esta conferencia, vamos a estar creando una estructura de rompecabezas. Ya se puede ver que ya preparé esta lex en realidad esas dos cuadras aquí mismo. Y en realidad vamos a crear esto desde cero. Por lo que ya he construido la estructura aquí mismo. Y lo que vamos a hacer es que vamos a ahorrar 1.5. Tan más o menos con el, con la separación aquí. Una vez que NVT presente y luego la otra parte en otro archivo NVT. Y entonces lo que voy a hacer es que voy a hacer una varianza de tres diferentes. Uno con hierro aquí mismo, uno con esmeraldas y otro con diamantes de ancho. En el mundo, esta plataforma de almacenamiento puede desovar con Oracle venga por un lado, y luego el otro lado se va a determinar aleatoriamente. Entonces, antes que nada, lo que vamos a hacer es que necesitamos los bloques estructurales. Así que una vez más, vamos a hacer es que sólo nos vamos a dar este bloque. Así que sólo vamos a decir Give y luego buscamos el bloque de estructura aquí mismo. También vamos a necesitar es el bloque de rompecabezas. Así que vamos a dar esto a un yo de inmediato para que lo tengamos. Y entonces lo que vamos a hacer es que vamos a, en primer lugar, conseguir aquí la estructura principal. Este curso debería estar justo aquí. Creo que, eso debería estar bien. Y entonces lo que necesitamos es, por supuesto en la parte superior también, asegurémonos de que estemos lo suficientemente altos. Eso debería estar bien. Y luego uno más o ellos hace, eso está bien. Y luego por aquí, necesitas estar por debajo de uno. Entonces justo ahí. Y luego una vez más, pero subió todo el camino a través de la misma altura. Creo que eso debería estar bien. Ahora esto fue por supuesto aquí mismo, ahí tienes. Esto debería estar bien. Pero vamos a ver en sólo un segundo, entonces vamos a entrar aquí, ir al modo de esquina, y esto va a ser MC curso colon. Llamemos a esto la plataforma de subrayado de almacenamiento. Ahí vas. Y yo voy a, Es como todo ello con Control a, Control C para copiarlo, hecho. Y vamos a ir con éste o mando a distancia V a pegar el nombre en control V para pegar el Neyman y por supuesto también cambió el modo de esquina. Muy importante. Y entonces aquí mismo, vamos a ir al modo seguro, pegar el nombre en, y luego vamos a decir que detecte. Y ahí vamos. Entonces tenemos toda la estructura aquí, así que eso es exactamente correcto. Ahora lo que también queremos poner abajo es el bloque de rompecabezas. Ahora, ¿cómo funcionan los bloques de rompecabezas? Bueno, la idea general es que la forma en que apunta la flecha. Entonces básicamente queremos dos flechas siempre apuntando entre sí. Entonces lo que vamos a hacer es que vamos a encontrar el medio aquí mismo. Sólo consigamos éste. Y luego la flecha apunta en esta dirección. Y luego también queremos que el otro bloque de rompecabezas apunte en la misma dirección. Por lo que ves que se forman, forman este tipo de línea y las flechas apuntan entre sí. Así es como se va a colocar el otro. Es por eso que ya lo he construido justo al lado del otro. Rápidamente hagamos esto bien. Ahí vas. Se puede ver que éste está dentro de la primera estructura, ¿verdad? Entonces éste está dentro de esta estructura y la otra va a estar dentro de la segunda estructura, que vamos a hacer en un minuto. Lo que esto hace es que éste de aquí mismo tiene un nombre definido. Entonces esto sólo va a ser MC course colon lado subrayado plataforma por ejemplo. Vamos a seleccionar esto y copiar este nombre aquí mismo. Esto es lo único que tenemos que hacer en el bloque de rompecabezas secundario. En el bloque de rompecabezas primario, queremos poner esto bajo el nombre objetivo y luego el pool objetivo. Y esto es increíblemente importante y queremos hacer curso MC. Y entonces esto va a ser estos, digamos almacenamiento subrayado plataforma slash sitio de subrayado piscina de subrayado. Entonces esto aquí mismo, apunta al archivo adyacente dentro de nuestras carpetas de datos. Si lo abro rápidamente, Estás para que puedas ver esto por la casa descubierta, esta piscina lateral de aquí mismo. Eso es esto. Por supuesto que aún no hemos creado la plataforma de almacenamiento , pero esa es la idea. Por lo que tenemos este archivo JSON de piscina lateral, que define diferentes variantes de este particular, de este sitio en particular. Y en realidad pon aquí la ironía, pero eso va a estar bien. Sólo voy a tener el desove de hierro y entonces esta va a ser la plataforma lateral. Quiero decir, realmente no importa de qué manera lo hagas. Y sí, así que básicamente la plataforma del sitio, este nombre y este nombre tiene que coincidir. Esa es la única cosa. Y luego para los principales, por lo que este es el primario. Esta es la estructura que va a desovar cuando uses la estructura, la plataforma de almacenamiento, ésta de aquí mismo, esa va a ser la primaria donde tengamos esta piscina lateral. Entonces este es el archivo JSON. Este es solo el nombre del otro rompecabezas nacido. Y luego también lo que podemos definir aquí es en qué se convierte el bloque de rompecabezas. Sólo vamos a eliminarlos y dejar que se conviertan en aire. Pero en teoría también se podría cambiar esto. Lo que vamos a hacer es que también vamos a conseguir el segundo aquí sólo para que lo tengamos. Entonces esto estaría aquí mismo. Esto debe ser yo creo que no, creo que esto debería estar bien. Entonces alguna vez deberíamos tener todo ahí dentro. Y luego por aquí, también va a poner el bloque de estructura aquí abajo. Y entonces el otro bloque de estructura para estar escribiendo su creo que debería ser. Y esto ahora va a ser el que vamos a llamar a esto no la forma del plan del sitio de esto va a ser la plataforma de subrayado de almacenamiento de subrayado de ingresos de Oracle . Vaya, voy a seleccionarlo, pulse el control C para copiarlo, modo Warner, control V para pegar. No hicieron el modo de esquina. Y luego por aquí también, se sientan en modo y luego éste es por supuesto que va a ser guardado de nuevo modo, sientan adentro, dicen detectar, y deberíamos tener esto en su día atrás. Ahora tenemos la plataforma oral de almacenamiento de calcio, que también incluye este bloque de rompecabezas aquí mismo. Lo cual es muy importante en ese caso. Así que lo que vamos a hacer es que vamos a tomar la plataforma de almacenamiento habría salvado esto. Vamos a tomar la plataforma Oracle, guardar esto, y luego múltiplo do es que voy a cambiar esto para ser un tipo diferente de orden y vamos a guardar un ejemplo diferente de esto también. Muy bien, así que lo he cambiado todo a esmeraldas en este caso que voy a hacer es ahora vamos a cambiar el nombre aquí mismo. Sólo vamos a cambiar el nombre a la plataforma de almacenamiento Emerald. Voy a seleccionarlo todo. Presione el control C para copiarlo. Y vamos a cambiar todos los nombres aquí. Esto es muy importante. Por lo que una vez más, hay control a2 recogido o control V para pegar el nuevo nombre. Y eso debería ser bastante autoexplicativo aquí. Voy a hacer lo mismo aquí y luego vamos a detectarlo una vez más. Y vas a ver, ahí vas. Esta es la plataforma de almacenamiento esmeralda en este caso, asegúrate también cuando selecciones cuando te pones un nuevo bloque que estás, no estés fuera de los límites aquí. Y entonces vamos a salvar a éste también. Ahora tenemos dos variantes diferentes. Sólo por el bien de la discusión, vamos a hacer otra variante. Hagamos también la variante de diamante. Hagamos eso rápido. Lo sentí con un diamante. Entonces, una vez más, cambiemos los nombres aquí. Entonces esta va a ser la plataforma de almacenamiento de diamantes. Una vez más, Controla a para seleccionarlo, Control C para copiarlo. Y entonces vamos a hacer lo mismo por todos los rincones diferentes aquí mismo. Ahí vas. Y entonces éste también. Ahí vas. Y luego volvamos aquí una vez más a detectarlo. Y hemos detectado como exitosamente, y ahora podemos guardarlo también. Ahí vas. Y ahora hemos guardado tres variantes diferentes de esta parte de la plataforma y básicamente una plataforma principal aquí mismo. Esos están básicamente conectados a través de este bloque de rompecabezas justo aquí. Pero esta es la, toda la idea aquí. Vamos a cambiar a hasta un DJ y ver a qué podemos ver en primer lugar, claro que necesitamos conseguir los datos de la NVT para éste va a entrar a la carpeta R1 en las cajas fuertes. De la misma manera, básicamente guardas esto y esto va a ser los cuatro. Vamos a necesitar esa plataforma de almacenamiento y las tres diferentes allí. Vamos a copiarlos a nuestras estructuras, seguir aquí mismo. Y entonces lo que vamos a hacer es una vez más, sólo vamos a copiar archivos de la casa de mostrador JSON. Y vas a ver que una vez más, incluso con los bloques de rompecabezas, no es tan loco. Vamos a copiar sobre éste que va a ser la plataforma de subrayado de almacenamiento. Este va a ser el nombre de la propia estructura general y la luna lo hará una vez que puedas configurarla. Característica de estructura, también plataforma de almacenamiento, pero solo necesitamos cambiar el nombre aquí mismo a plataforma de almacenamiento. Y el nombre de los biomas aquí era solo este archivo JSON aquí mismo, plataforma también. Lo mismo de lista en la estructura, set. La estructura que se apaga de nuevo a la característica de estructura configurada. Y entonces éste sólo va a ser algo así. Así que una vez más, una sal y el espaciado, quiero decir, podemos más o menos mantenerlo como está, sólo va a cambiar un poco. Ahí vas. Y luego se va a la casa de plantilla, las albercas de plantilla. Entonces vamos a utilizar realmente la casa de abajo aquí. Quiero cambiar esto a plataforma STORD y tenemos los dos Jason más fantasioso, la alberca del sitio y la alberca de la tienda. Empecemos con alberca histórica aquí, cambiando esto a nuestra plataforma de almacenamiento, alberca estrella número uno, y luego éste a la plataforma de almacenamiento. Esta va a ser la principal cotización descotización en archivo VT que apunta. Entonces esto va a apuntar a este expediente NVT aquí mismo. Y entonces la piscina lateral va a ser interesante. Esto va a ser, por supuesto, una vez más, cambiar el nombre aquí y la herida es en lugar de apuntar a la casa derribada lado derecho, en realidad queríamos apuntar al, por ejemplo, el diamante plataforma de almacenamiento de subrayado. Sí. Y entonces también queremos son los otros dos que vamos a eliminar este de aquí mismo. Sólo vamos a eliminar también los comentarios por el bien del argumento. Voy a hacer esto y luego sólo copiar esto dos veces. Y también podemos cambiar el peso aquí. Entonces digamos, por ejemplo, tenemos un treinta y tres por ciento de posibilidades de desovar cualquiera de ellos, digamos. Y entonces éste no va a ser el momento en uno, sino la plataforma de almacenamiento de subrayado de ítem del Condado de Orange y luego esta va a ser la plataforma de spot de almacenamiento esmeralda Esmeralda. Una vez más, estas ubicaciones aquí apuntan a los archivos de la NVT. Y va a tomar uno de esos archivos NVT y va a generar eso con diferentes pesos aquí. Si tenemos los pesos de los tres, entonces será más o menos uno sobre tres. Y también podríamos decir, bueno tal vez ya sabes qué, En realidad esto es el doble de probable. Esto es tal vez un cinco años. Entonces entonces esto va a subir el 50% de las veces. Esto va a subir 20% de las veces. En este 10% de las veces, son sólo los pesos básicamente sobre cómo se engendra. Y eso es literalmente todo lo que necesitas hacer. Ya hemos terminado con la configuración de esto. Una vez más, cuando tenemos los archivos JSON ya preparados una vez copiándolos, se hace como si fuera muy, muy sencillo. Y sí, por supuesto, si tienes ideas más locas, si tienes incluso como extendido un múltiplo, múltiples bloques de rompecabezas y cosas así, entonces por supuesto se va a complicar cada vez más. Pero digamos un gran comienzo. Y recomiendo encarecidamente estar abierto a la experimentación, sobre todo y solo probar cosas y ver lo que básicamente se puede llegar a. Entonces por última vez para las estructuras, vamos a entrar en Minecraft, crear un nuevo mundo y vamos a ver si nuestra nueva plataforma de almacenamiento spots o una fantasía Minecraft y ya espía algo aquí, y este es probablemente el peor de los casos. Se puede ver que sólo la mitad del deporte, eso es muy interesante. Entonces probablemente vaya a haber un error tipográfico por ahí en alguna parte, lo cual es muy extraño, pero vamos a ver esperar un segundo. Vamos sólo el tema es muy gracioso porque acabo de cambiar los nombres de la casa descubierta una vez. Para que puedas ver en la casa descubierta, cambié las cosas reales a la plataforma de almacenamiento. Y la plataforma de almacenamiento tiene estas cosas en la casa descubierta. Entonces eso no es exactamente lo que tenía en mente aquí. Hagámoslo así. Vamos a hacer sólo copiar esto más. Y entonces vamos a hacer es que éste sólo va a ser eliminado. Entonces vamos a sacar el nombre de esto, es este nombre de vuelta a casa descubierta. Y entonces ésta va a ser la planta de subrayado de almacenamiento. Pero ahora esto debería estar funcionando bien. Entonces vamos a ver. Esta es la plataforma de almacenamiento iniciar lado de la plataforma de almacenamiento de la piscina por ahora, deberíamos estar bien. Entonces el tema aquí fue que accidentalmente cambié los archivos JSON de la casa descubierta en lugar de la plataforma de almacenamiento. Los archivos de Jason pueden ocurrir en cualquier momento, así que no hay preocupaciones allí. Pero en realidad vio que a veces no se puede encontrar realmente. Entonces tendrías que pasar por sentencia. Ya ves que en realidad puedes encontrar algo en la terminal. No había nada aquí. Era sólo una flecha justo aquí en los archivos, pero no se preocupe en absoluto. Así que ahora vamos a echar un vistazo a si es o no desova correctamente. Muy bien, Si responde en Microsoft una vez más y veamos, ni siquiera sé si esto engendra en este bioma real. Así que vamos a ubicar la plataforma de almacenamiento del curso MC y vamos a ver si esto funciona. N está ahí vamos. Por fin funciona. Para que no se vean preocupaciones en absoluto. Siempre puede suceder que haya un errate en alguna parte. Pero en general, viste que no fue nada loco año. Fue muy, muy sencillo de arreglar. Vamos a ver si no puedo volar alrededor y en realidad encontrar otra de esas plataformas de almacenamiento, tal vez con algo más entonces ya calcio parece que también es un cálculo. En realidad. Y es en efecto, vamos sólo tp a algún lugar muy, muy distante. Vayamos como, no sé, 20 K. Y veamos si puedo localizar otro. Apenas localicemos su plataforma espada y veamos si ésta tiene algo diferente a lo que calculamos. Por supuesto que no, porque eso sería demasiado fácil. Veamos P1 la última vez y vamos a ver en realidad tal vez podamos encontrar algo. Vayamos a los 20 negativos, K a K, Eso está bien. Y luego vamos a hacer localizar curso MC hacia plataforma Una vez más. Veamos si esto va a funcionar. Creo que en realidad estamos por debajo de ella. Ahí está. Y en realidad encontramos alguna diferencia. Por lo que aquí podemos ver el que tiene las esmeraldas también. Entonces todo funcionando totalmente como esperarías que lo hicieras. Y realmente alucinante impresionante. Entonces todo funciona muy bien y sí, eso es más o menos lo fácil que es para algunas estructuras de rompecabezas que se agreguen a Minecraft. Pero eso sería más o menos por esta conferencia aquí mismo. Espero que te haya parecido útil esto y aprendas algo nuevo. Todos los archivos JSON en las fuentes NVT también están disponibles para descargarte en el repositorio de GitHub, un individuo igual de bien. Pero de lo contrario te veré en la próxima conferencia. 115. (1.18.2) Modelos de armadura en 3D personalizados: Muy bien, bienvenidos de nuevo al curso de tela para 118. Y en esta conferencia vamos a estar agregando un modelo de armadura 3D personalizado a Minecraft. Vamos a convertir nuestro Oracle venir armadura en un modelo personalizado de armadura 3D. Y para esto, una vez más vamos a usar un banco de bloques. Como se puede ver, ya he preparado el oráculo vienen armadura aquí mismo. Pero esto es en realidad bastante sencillo. Entonces vamos a usar eco lip una vez más. Y la forma en que esto funciona es si haces un nuevo geckos en vivo modelo animado aquí, solo podemos hacer una armadura de prueba aquí. Entonces lo que puedes hacer es que puedas ir bajo File gecko lip model settings. Simplemente puedes convertir esto en armadura y luego va a generar el jugador de Minecraft aquí mismo. Puedes ver que no tocas esto. Por lo que básicamente estos diferentes bloques no deben ser tocados. Entonces todo lo demás que quieras agregar debajo de la cabeza de armadura, cuerpo de armadura y así sucesivamente y así sucesivamente. Haz por ejemplo, puedes hacer clic en este Agregar cubo y luego puedes empezar a agregar tu armadura personalizada aquí, Z, solo talla. Y sin embargo, básicamente eras como tu armadura para mirar. Puedes duplicarlo, Control D. Ahí tienes. Y luego puedes simplemente agregarle cosas y por supuesto puedes hacerlo como, tan personalizado como te gustaría. Ahora lo que encontré es que hacer la armadura es en realidad bastante dura. Al igual que hacerlo lucir bien no es tan fácil. Entonces esto es, no es en realidad no se ve tan bien, sobre todo cuando en realidad se toma, por ejemplo, el brazo aquí por el bien del argumento, podemos rotarlo alrededor. En realidad se puede ver si lo giro un poco, que en realidad falta aquí y cosas así. Entonces no lo es, no es tan interesante, no es tan loco. Es sólo un ejemplo de una pieza de armadura. Y lo que se podría hacer aquí es también lo siguiente. Cuando hayas creado todo, lo que puedes hacer es simplemente eliminar esta textura por el momento. Y entonces podrías tener algo como esto. Lo que puedes hacer es presionar Control a, y luego esto va a seleccionar cada pieza de qué cosa diferente que tengas aquí. Y entonces podemos hacer es que puedas hacer una nueva textura a partir de esto. Por lo que sólo vamos a mantener esta textura y luego se puede ver básicamente reemplaza todo en esta textura. Ahora si guardas esta textura, sólo voy a hacer esto. Ya has preparado algunas cosas aquí. Peor de lo que puedo hacer es poder, bueno, así es como se ve, ¿verdad? Cuando acabo de abrirlo, puedes verlo básicamente te da una tesis de la armadura donde realmente quieres dibujar esto. Entonces lo que podemos hacer es solo agregar esto aquí justo a la textura. Sólo vamos a abrirla. Lo que puedes hacer entonces es que podemos entrar aquí y luego simplemente cambiar algunas cosas. Por ejemplo, justo aquí, creo que debería ser como el dorso de la cabeza o algo así. Podemos simplemente dibujar por todo esto y después guardarlo. Y si vuelvo a entrar en banco de bloques, haga clic con el botón derecho refrescar, entonces ya se puede ver esto ha cambiado y en la parte posterior de la cabeza, se vería ahí, y voy a tener este color, colorearlo y haciendo la textura bastante difícil, como en realidad no es tan fácil de hacer. También puedes hacer click en las fases individuales y podrás ver dónde está esto. Por lo que se puede ver el bar en la parte superior de la cabeza es en realidad esto. Entonces puedo decir, Ok, éste de aquí mismo, creo, o no se equivoca. Entonces puedo decir, oh, hacer esto azul y luego guardarlo de nuevo. Una vez más, entra aquí, refresca. Y se puede ver ahora en la parte superior de la cabeza es azul. Entonces esto definitivamente es algo que va a llevar bastante tiempo. Sólo quiero mostrarles cómo se puede agregar básicamente. Por lo que ya he preparado la textura. Vamos a tomar la textura del resultado del oráculo aquí mismo. Y entonces también lo que hice es que agregué este negro justo aquí porque lo que quería hacer es en la cabeza y esas cosas, quería moverlos al fondo para que sea un poco más fácil básicamente ver la distinción entre mi armadura real y el jugador. Para que yo pueda hacer este aquí mismo también. Ahí vas. Y luego la otra pierna también. Por lo que básicamente todos los No toques una vez. Acabo de mudarme a la pieza negra de armadura aquí mismo, sólo para que básicamente pueda tener un menos contraste ahí para que pueda ver, vale, mientras que esto, ¿qué estoy haciendo aquí? Este modelo de pellizco de bloque por supuesto también estará disponible para su descarga. Y lo que luego haces es que solo puedes ir a File Export, Export, gecko lip model. Esto va a ser un modelo geo una vez no una vez más, ya tengo esto, claro, así que sólo vamos a reemplazar esto. Y lo que puedes hacer entonces es entrar en tela aquí mismo y luego continuar en un inteligente, sigamos y en realidad sumamos esto. ¿ Qué vamos a necesitar? Lo que vamos a necesitar tres cosas diferentes. Uno de ellos es un articulos personalizados. Entonces en el paquete de artículos personalizados, vamos a hacer que la cuenta venga elemento de armadura. Y esto va a hacer esto. Vamos a extender el artículo mod armor, en realidad que tiene la misma funcionalidad. Vamos a crear un constructor emparejando super. Y entonces también vamos a hacer, lo cual es muy importante es que en realidad hubo un problema en el objeto de armadura de resultado ORIC o en el elemento más armaduras más bien. En esto tiene método de armadura justo aquí, normalmente va a hacer es que en realidad tengo el método correcto aquí mismo. Se puede ver básicamente sólo comprobando que echamos esto al objeto de armadura, sea o no en realidad es un objeto de armadura aquí, La razón para hacer esto es de otra manera, cuando se tiene un electrón y el resto de las armaduras llenas, y una de ellas es el objeto más armadura, entonces el juego realmente va a estrellarse porque no se puede lanzar el electrón a una armadura artículos. Así que ten en cuenta eso, pero eso es más o menos todo lo que tenemos que hacer aquí. Y luego para el elemento de armadura de calcio, lo que realmente queremos es algunas cosas. Por lo que en realidad queríamos sumar los implementos que animaba también. Pase el cursor sobre este Implementar Métodos va a implementar el método de controladores de registro así como el método de fábrica GET. Pero también puedes hacer es que puedes presionar turno dos veces y mirar el poner el artículo de armadura de patata aquí mismo. Este es un ejemplo. Por lo que esto también es genial. Básicamente se puede en teoría simplemente copiar todo de nuevo. Entonces el objeto de la patata, armadura de patata más o menos es el ejemplo dado desde el labio gecko aquí. Por lo que también puedes echar un vistazo a eso. Sólo vamos a seguir adelante. Por lo que por supuesto necesitamos para el animo toda la fábrica de animación. Esto es algo que hemos visto también con las entidades personalizadas. Básicamente vamos a devolver la fábrica aquí mismo. Y luego para el predicado, lo que vamos a hacer es más o menos lo que podrías en teoría hacer, como dije, literalmente solo toma todo este método aquí, el predicado, porque ese es el cosa que vamos a necesitar. Y sólo podemos tomarlo y copiarlo porque prácticamente va a ser siempre lo mismo. Lo único que vamos a cambiar, la animación aquí sólo se va a llamar ociosa en este caso. Y luego aquí abajo, en realidad queremos que esto sea un poco diferente. Entonces no lo hay, soy registros. Esto va a ser artículos mod, arrancar cabinas, y luego solo vamos a pasar por más y más artículos, empieza leggings. Vamos a ir por los más artículos empiezan a jugar y luego por último pero no menos importante, más artículos empiezan cascos que hace. Y eso debería ser más o menos todo lo que necesitamos aquí. Entonces por supuesto, el predicado para ser bastante autoexplicativo aquí vamos a usar esto en el método de registro aquí mismo. Vale, vamos a cambiar el nombre de esto a datos. Ahí vas. Eso debería ser. Todo el código, por supuesto, también está disponible para ti en el repositorio de GitHub, un individuo igual de bien, pero eso debería ser prácticamente todo lo que necesitamos. También tienes algunos buenos comentarios aquí mismo, lo cual es realmente útil. Eso también es bastante genial, justo después de haber agregado como este objeto de armadura, ahora necesitamos cambiar las cuatro piezas de armadura a esto, o puede convertirse en objeto de armadura Eso en realidad es muy necesario aquí. Y entonces podemos usar esto en el modelo y el renderizador. Por lo que estos entrarán paquete cliente de mi entidad justo aquí bajo un nuevo paquete llamado armadura. También podrías moverlos a cualquier parte del artículo, cliente, lo que sea. Entonces no tienen que ir aquí, pero sólo voy a ponerlos ahí. Y va a haber el Oráculo venga brazo o modelo. Y el otro va a ser el resultado de oráculo armadura render, ¿Son hace? El modal va a extender el modelo real animado de tipo o un elemento de armadura de calcio. Y luego solo vamos a pasar el puntero sobre esto, implementar los métodos. Entonces esos van a ser los tres métodos que devuelven los identificadores. Ahora ya he preparado esto. Sólo voy a copiar esto más, pero debería ser bastante autoexplicativo. Esto apunta al fichero modelo JSON que hemos exportado desde el banco de bloques. Este es solo nuestro archivo de textura y estas son las animaciones. Y preparé las animaciones. Es casi un archivo de Jason en blanco. No del todo, pero es bastante autoexplicativo. Así que vamos a añadir aquí los archivos JSON. La animación, por supuesto, también está disponible. Y esto casi acabo de usar para todas las diferentes texturas, para todas las diferentes armaduras. Si no tienes animaciones específicas asociadas a ella. Y se puede simplemente hacer más o menos esta animación que no tiene nada en ella. Y entonces lo que vamos a hacer es que vamos a tomar la armadura GO y también conseguir esto aquí hace. Por supuesto, modelo real en este caso. Y entonces la textura que puedes ver esto debe ir por debajo de texturas, armadura modelo o textura de armadura de calcio. Entonces va a haber una nueva carpeta aquí mismo, modelos y luego nuevo directorio llamado armadura. Y luego vamos a terminar la textura también. Este va a ser éste de aquí mismo. Ahí vas. Sólo para fines de prueba, por supuesto, o ingresos Textura de armadura. Eso es correcto. Ahí vas. Entonces eso debería estar bien. Y luego se hace el modelo. Entonces podemos proceder a agregar cosas al Renderer. Renderer va a extender el renderador de armadura geo una vez más de tipo ya contarlos elemento de armadura. Solo vamos a pasar el cursor sobre esto y crear constructor que coincida super. Y en realidad no queremos que nada entre aquí y aquí queremos el nuevo modelo Oracle Cloud Armor. Esto es bastante autoexplicativo. Y entonces lo que vamos a hacer es que queremos poner esto, así que queremos poner el hueso de la cabeza, hueso fiesta y así sucesivamente y así sucesivamente a los nombres. Y esos nombres van a ser los nombres aquí mismo. Podemos ver que esta es la cabeza de armadura aquí mismo. Estamos poniendo el hueso de la cabeza a la cabeza de armadura. Este tiene que ser el caso. También podemos echar un vistazo una vez más, el renderizador de armadura de patata. Creo que si en realidad echo un vistazo a esto, el renderizador aquí mismo, ver que también hacen lo mismo. Esto es justo, sólo hay que configurar esto. Y fue muy interesante y no sé por qué ese es el caso, pero hay que poner el hueso de la pierna izquierda a la armadura pierna derecha el hueso de la pierna derecha a la armadura izquierda. Como no sé por qué ese es el caso. Al menos esto es lo que encontré obras. No sé por qué cambió por aquí. No puedo decirte por qué, pero es justo lo que encontré. Es un fijo muy fácil. Entonces esto no es un error tipográfico, es en realidad como necesitas hacerlo, al menos fue para mí. Y después de que hayas agregado esto ahora podemos realmente usar esto en nuestra clase de clientes de curso MC. Así que va a haber justo aquí. Nosotros queremos hacer es, queremos hacer, claro, en el método cliente no inicializado, queremos decir GU armadura renderer.org, registrar armadura nos hacen con un renderador nuevo o el blindaje de calcio. Y luego queremos pasar en todos nuestros artículos que tenemos. Una vez más, queremos pasarle las botas y luego modar artículos. No. Esto va a ser los leggings. Y luego tenemos artículos mod, empieza a dividir. No, eso definitivamente no. Ahí está el signo de flor de cerezo y luego tenemos los más artículos, ese elemento. Ahí vas. Y eso debería estar bien. No hay errores. Debería ser presidente aquí mismo. Y creo que todas las cosas consideradas, esto debería ser más o menos todo lo que necesitamos. Hay una cosa más que solo quiero agregar, solo para que la tengamos aquí. Vamos a añadirlo también. Podemos llamar a gecko LEP dot initialize. No estoy 100% seguro de si esto es necesario o no. No obstante, es dementemente solo una buena idea agregar esto solo para que lo tengamos en nuestro propio método inicializado. No estoy 100% seguro de que lo probé. Sea o no básicamente rompe el mod, no lo hace, si no lo agregas, solo estando seguros, vamos a agregar esto también. Y de lo contrario, creo que esto debería ser más o menos todo lo que necesitamos. Quiero decir, si algo no funciona, entonces por supuesto va a poder ver esto de inmediato también en el juego. Vamos a entrar a Minecraft y ver si funciona. Consejos en Minecraft. Y solo pongamos aquí la armadura y veamos si funciona. Y en efecto lo hace. Y por supuesto que todavía tenemos nuestro efecto de armadura de cliente aquí mismo. Y se ve alucinante increíble. El asunto también funciona, como dije, haciendo que la armadura se vea realmente, realmente genial. Eso es algo muy difícil como agregar el ARMA como has visto, ¿verdad? Es sólo un par de clases que cambia las cosas un poco. Y luego tienes la armadura, la exportándola, los archivos JSON y cosas así. Es bastante sencillo, pero luego haciéndolo lucir realmente genial, tener una textura fresca, una fresca, un modelo genial que definitivamente es muy duro, pero quiero decir, eso es lo fácil que es haciéndolo lucir realmente genial, tener una textura fresca, una fresca, un modelo genialque definitivamente es muy duro, pero quiero decir, eso es lo fácil que es añadir la armadura a Minecraft, ¿verdad? Eso concluye esta conferencia aquí mismo. Espero que te haya parecido útil esto y aprendas algo nuevo. Y te veré en la próxima conferencia. Sí. 116. (1.18.2) Villagers personalizados: O doy la bienvenida de nuevo al caballo de tela por 118. Y en esta conferencia vamos a estar agregando un aldeano personalizado a Minecraft. Sí, esto ahora va a ser un aldeano personalizado. En lugar de solo agregar algunos oficios a aldeanos ya existentes, vamos a agregar un aldeano de clientes, pero esto es en realidad mucho más sencillo de lo que pensaba en el paquete del curso MC. Vamos a hacer un nuevo paquete llamado aldeano. En lugar de ahí, vamos a hacer una nueva clase de Java llamada los aldeanos del modo. Ahora bien esto va a contener tanto el punto de interés como el profesional o el contenido de esta clase que voy a estar copiando, pero voy a explicar todo a medida que avanzamos. Y también por supuesto, todo está disponible para ti en el pasado de GitHub o individual igual de bien. Se puede ver si tiene un punto de intereses y un profesional aldeano, esos son por supuesto relacionados entre sí. Un punto de interés es donde un aldeano obtiene su profesión del profesional. Entonces por supuesto que es sólo el profesional. Entonces, primero que nada echemos un vistazo al punto de interés real. Se puede ver lo que estamos haciendo aquí es básicamente registrar un tipo de punto de interés justo bajo el ID del modelo. Y nuestro nombre debe ser bastante autoexplicativo. Y se puede ver lo que estamos haciendo aquí es que estamos llamando a este accesor porque de lo contrario tenemos que llamar a esta interfaz, esta mezcla. De lo contrario no va a funcionar. Pero la idea general es que básicamente estamos creando un punto de interés con el nombre que nos dan aquí. Y luego un bloque de cierto estado. Aunque la idea es que si un bloque que estamos poniendo aquí, cuando llamamos a este método de punto de registro, entonces el oráculo viene blaster y todos sus diferentes estados son básicamente va a ser registrado como punto de interés. Esa es la blastoporo, esa es la idea. Y después de que hayamos registrado el punto, entonces registramos la profesión. Y se puede ver aquí una vez más con un nombre dado y luego el tipo de punto de interés específico por edad que estamos pasando al reporte de explosión aquí mismo y dentro de crear la profesión real. Entonces este es el nombre, este es el punto de interés tipo cada dos conjuntos inmutables aquí mismo. En realidad podemos hacer es que podamos ratón medio, pinchar en el lado profesional aquí, y deberíamos poder ver esto. Por lo que se trata de los artículos recolectores y los sitios de trabajo secundarios. Acabo de ponerlos a básicamente simplemente vaciar Sets inmutables porque eso va a ser más fácil por el momento. Siempre se puede echar un vistazo tanto al pueblo o a la profesión como a otros que se están utilizando. Por lo que en realidad podemos echar un vistazo a éste de aquí mismo. Creo que el método de registro, por ejemplo, el agricultor aquí mismo. Se puede ver que tiene maleza, semillas de malezas, asientos de Remolacha excelentes, en realidad puede recoger. Y luego también hay una tierra de cultivo como sitio de trabajo, por así decirlo. Pero sólo vamos a mantenerlo así. No quiero que esto sea demasiado complicado. Siempre tienes a tu disposición todas las clases de vainilla para echar un vistazo a cómo funcionan esos. Y eso debería ser más o menos esperemos lo que vas a necesitar. Entonces entonces este método setup boys justo aquí, en realidad necesitamos llamar a la configuración para cada punto. Entonces si tienes otro punto, solo agrega esto también. Agrega aquí tu sondeo y luego va a estar bien. Y esto tiene que ser frío dentro de tu curso de MC en inicializado, llamémoslo aquí mismo. Esto va a ser los aldeanos del MOD que configuran chicos que hace, y eso debería ser casi todo el código que necesitamos. Ahora en realidad vamos a hacer dos cosas más. Entonces una cosa más en el código, o vamos a hacer es que en realidad vamos a agregar o al menos uno o dos oficios diferentes, diferentes porque los rasgos que en realidad vamos a agregar de la misma manera que agregamos esos rasgos con algo así como duplica esto. Y luego en lugar de elegir pueblo o profesiones, vamos a elegir aldeanos de motor, no a un maestro de explosiones. Y luego solo agrega uno aquí. Y digamos algo así, como nueve esmeraldas. Y luego solo vamos a sumar una segunda. A lo mejor para la cuenta puede recoger hacha. Ahí vas. Y luego solo agrega una tercera, que va a ser de nivel dos. Y esa va a ser tal vez la pala o una cantidad diferente de aire que vas, esto va a ser cinco, eso, está bien. Entonces así es como entonces agregan las diferentes ofertas comerciales también. Podría haber una forma diferente de hacerlo aquí mismo, pero me pareció que esto estaba absolutamente, totalmente bien. También hay obras y luego hay una cosa que es muy extraña y que va a ser la textura o las texturas. Vamos a ir a las bibliotecas externas todo el camino hasta aquí mismo, el proyecto fusionó nombre y así sucesivamente y así sucesivamente a la carpeta Assets, texturas de Minecraft. Esto debe estar bajo entidad de no confundir a una entidad y luego todo el camino hasta un aldeano aquí, y luego a las profesiones. Por lo que tenemos las profesiones aquí mismo y el aldeano justo aquí. Por lo que en realidad vamos a necesitar al aldeano así como nuestra profesión personalizada. Ahora acabo de tomar el profesional de la armadura aquí mismo, la imagen y acaba de hacerla azul porque estoy haciendo un atuendo de aldeano personalizado es en realidad muy, muy, quiero decir, no es tan fácil, ¿verdad? Entonces es como, es, es bastante. Así que lo que vamos a hacer es que vamos a ir a copiar esto. Por lo que la estructura va a estar bajo el espacio de nombres del curso de EMC. Así que esto va a ser, va a estar bajo los activos MC texturas gruesas. Ya tenemos a la entidad aquí mismo, y luego necesitamos al aldeano justo aquí. va un aldeano y luego vamos a necesitar la profesión también. En realidad lo copiaré aquí mismo para que puedan ver que tenemos la profesión aquí mismo, el maestro de la explosión así como el aldeano. No sé por qué necesitamos el pueblo o al menos en mis pruebas, necesitaba al aldeano, un PNG. No sé por qué ese es el caso, pero es lo que es. Y luego la masa explosiva aquí mismo, tenemos, como se puede ver, acaba de hacerlo azul básicamente, porque estoy haciendo un look completamente personalizado para un aldeano. En realidad bastante duro. Por lo que es similar a la armadura 3D personalizada. Así que sí, eso es más o menos una cosa. Y entonces lo último que vamos a necesitar es la traducción para el nombre de la profesión. Y eso va a entrar en la ENR nos atornilla archivo adyacente. Y esto va a ser lo siguiente. Así que vamos a ir justo aquí. Y va a ser entidad micro pueblo o un maestro de explosiones. Y ahí vas. Blast master va a ser lo que diga cuando realmente abramos el inventario para comerciar con el aldeano. Y eso va a ser más o menos. Ahora esos son los pasos. Una vez más, por supuesto, todo lo disponible para ti en la postura de GitHub en individual igual de bien. Y eso es más o menos todo lo que necesitas para un aldeano personalizado. Así que vamos a ver sólo si funciona o si nos encuentra en Minecraft. Entonces respondamos a un aldeano y pongamos el bláster. Y ahí vas, Funciona totalmente bien. Ahora tenemos un maestro de explosión que negocia exactamente los rasgos que básicamente hemos dado aquí. Así que vamos a conseguir unas esmeraldas y sólo vamos llevarlas hasta el siguiente nivel aquí mismo. Vamos a ver, una vez subiendo de nivel en las cosas niveles literales vamos a ver en, y ahí vamos. Y ahora, como lo pueden ver, ahora podemos conseguir la pala también para estos nivel dos. Y también es aprendiz. Eso es realmente alucinante impresionante. Y en realidad lo fácil que es agregar un aldeano personalizado a Minecraft. Y entonces eso sería más o menos por esta conferencia aquí mismo. Espero que te haya parecido útil esto y aprendas algo nuevo. Como siempre, todo el código está disponible en el repositorio de GitHub, un individuo igual de bien. Y te veré en la próxima conferencia. 117. (1.18.2): Bienvenido de nuevo al caballo de tela para 118. Y en esta conferencia vamos a estar agregando a nuestro tigre unas entidades de bebé personalizadas. Ahora esto es en realidad mucho más fácil de lo que pensé que voy a padre, esto fue mucho más complicado, pero en realidad no es la única necesidad de cambiar cosas en la entidad así como en el renderador. Y vamos a empezar en la propia entidad, lo que realmente nos estamos metiendo en un par de cosas. Lo primero va a ser los objetivos de carne animal. Lo que vamos a hacer es que sólo vamos a duplicar la pista u gol aquí mismo. Y vamos a llamar a esto el, este es el gol animal mate aquí mismo con esto y luego también pasando en uno. D va a ser el trans aquí y la prioridad tres debería estar bien. Normalmente eso va a estar bien. Esto es muy importante que agreguemos esto y luego también queríamos agregar el método de ítem de lectura aquí mismo. Y entonces aquí podemos básicamente filtrar si un determinado ítem con el que hacemos clic derecho en esta entidad con lo va a hacer para que tengamos la cría ordenada, por así decirlo. Y para nuestro caso, vamos a usar artículos de carne oscura en este caso, si hacemos clic derecho en el tigre con carne de res, entonces básicamente se mete en modo de reunión. Esa es la idea general que tienes. Y luego por supuesto, lo último aquí es el crear niño. Pero esto va a requerir que hagamos entidades mod, no tigre dot crear y luego pasar en el parámetro mundial aquí, y eso es todo. Ahora en teoría, los bebés ya generarían. No obstante, serían del mismo tamaño que el tigre, que por supuesto no es del todo lo que tenías en mente, creo. Y para eso, vamos a entrar en el renderer y vamos a simplemente anular los esfuerzos de tipo get render. Así que este va a ser éste de aquí mismo. Y lo que queremos hacer es que solo queremos mantener esto en paz. Sólo vamos a modificar esto un poco ahí va a leerlo un poco mejor. Sólo queremos hacer es una declaración if para punto animable es bebé, y luego hacer otra cosa. Vamos a hacer otra cosa. Lo que queremos hacer es que solo queríamos tomar la pila y escalarla. Entonces esta va a ser la escala del animal. 111 es por supuesto que va a ser la misma escala que era antes. Y luego en el bebé, si solo pasamos esto aquí, queremos, por ejemplo, hacer este kernel 0.4 para que hagamos al bebé alrededor del 40% del tamaño del adulto normal. Y eso es todo. Esto es todo lo que necesitamos. Una vez más, muy fácilmente factible, cambiable. Simplemente puedes cambiar este de aquí mismo por un artículo diferente. Si no quieres carne de res, si quieres algo más, hay un par de cosas que tal vez quieras hacer. Puedes pensar, pero si haces clic derecho en el tigre con una, con la carne de res, tal vez quieras hacer otro cheque y tu método de mafia Interact aquí mismo que no empieces a escribirlo. Y entonces también puede ser que no se pueda escribir un bebé porque en este momento podemos realmente escribir un bebé. Esas deberían ser cosas que son bastante autoexplicativas. En este punto, en realidad estoy muy seguro que usted debe poder hacer esto por su cuenta fácilmente. Pero cualquiera que sea el caso, éste es el niño. Así que vamos a ver si hemos agregado niños a Minecraft o fósiles en Minecraft. Así que solo lleguemos a los tigres y pongamos algo de carne aquí. Y sólo veamos, haga clic derecho, haga clic derecho. Y luego veamos. No consigo ninguna partícula por el momento porque en realidad apagué las partículas, pero ya se puede ver que funciona. Así que vamos a la configuración de video bajo partículas. Vamos a conseguir todas las partículas aquí mismo. A menos que veas Hay una vez más, ahí vas. También obtenemos las partículas y ahí está. Veamos, ahí está el animal bebé en una versión más pequeña que las grandes. En realidad totalmente bien funcionando completamente como esperarías que lo hiciera. También podemos hacer clic derecho sobre él y luego también debe engendrar un animal bebé. Eso también es otra cosa que puedes hacer. Ahí vas. En realidad crecerán por cierto, solo lleva bastante tiempo. En realidad puedo mostrarte si es en la clase animal. Bueno, pero eso es lo fácil que es agregar algunos animales de bebé a los microbios. Si bajamos por el árbol aquí, hay diez obtener entidad capaz, entidad animal en la clase entidad animal. Aquí la cría se enfríe, tal vez esté adentro, en algún lugar de aquí. Creo que podría estar aún más abajo. Quizás h ahí está, en la entidad pasiva, menos 24 mil. Por lo que esto debería ser de 24 mil tomas, creo, hasta que crea básicamente un adulto. Por lo que en teoría también podría cambiar esto. A lo mejor no estoy seguro de que sea archivo, así que tal vez esto no se pueda cambiar, pero hay básicamente donde está. Y eso es más o menos también lo fácil que es agregar algunas entidades personalizadas a tu entidad, a tu entidad. Y eso concluiría esta conferencia aquí mismo. Espero que hayas encontrado esto útil y aprendas algo nuevo. Y te veré en las próximas conferencias. 118. (1.18.2) Geodas personalizadas: Muy bien, bienvenidos de nuevo al curso de tela para 118. Y en esta conferencia vamos a estar agregando una geoda personalizada a Minecraft. Por lo que el rendimiento acostumbrado es en realidad bastante sencillo, todas las cosas consideradas. Así que vamos a ver cómo funciona esto en el paquete mundial, paquete características en R clase de características configuradas, voy a copiar sobre la locura real de configuración de entidad de geoda. Y se verá como mucho. Pero no te preocupes, pasaremos por casi todas las líneas y veremos qué significan. Entonces este es el oráculo vienen geoda aquí. Vamos sólo formatear es un poco diferente tal vez, para que puedan ver todo lo que hace. Y la idea general es que tenemos un conflicto de entidad de geoda con algunos conflictos de capa. Aquí. El conflicto de capas es en realidad lo realmente interesante porque aquí podemos definir, se pueden ver 12345 bloques diferentes y luego también una lista de bloques o bloques estados en este caso, pero más o menos la misma idea. Si entramos en el conflicto de capas G0, en realidad podemos ver cuáles son esos diferentes estados de bloques. Por lo que podemos ver que hay una capa interna proveedor de llenado. Hay una capa intermedia ampliada alterna. Hay una capa media una hora más tarde y un bloque interno que no puede reemplazar, y luego también una etiqueta de bloques no válida también. Entonces, ¿qué significa todas esas locuras? Bueno, hablemos primero de los bloques internos. Los bloques interiores son básicamente, en el caso de la vainilla, son la amatista en ciernes. Entonces si hacemos el botón central del ratón, pincha en esto y podemos ver la clase de características configuradas subterráneas aquí mismo y ver los clústeres de geodas de amatistas entrar aquí y ver el aire es el primero uno. Entonces este es sólo el absoluto interno más bloque. Y por supuesto usualmente lo que querrías es que tu DIOS se llene de aire. Por eso esto es aire en este caso. Y el bloque emesis es el, vamos a ver, este es el proveedor de la capa interna. Entonces esta es la primera capa interna básicamente. Y luego tenemos un proveedor de estado de bloque de una capa interna alterna. Ahora esos son la amatista en ciernes. Entonces esos son los bloques de donde la Tierra está realmente crecen fuera. También tenemos una calcita aquí. Entonces este sería el proveedor de capa media. Y entonces también tenemos el, déjame realmente revisar esto aquí, los músculos lisos y ese sería el proveedor de la capa externa. Entonces tenemos una capa media y una hora más tarde, vas a ver en nuestro ejemplo aquí, si vuelvo a esto, podemos ver que el error es lo mismo que tenemos pizarra profunda que la maquillaje general de la capa interna. El oráculo venga o va a ser nuestra amatista en ciernes, por así decirlo, una capa externa de suciedad. Y entonces la completa nuestra capa va a ser el bloque Esmeralda, mientras que el recalc y el bloque aquí mismo, donde esta lista está básicamente, esta va a ser nuestra creciente amatista. Por lo que en la lista aquí mismo se pueden ver estos son los brotes de MFAs que pueden desovar. Y en nuestro caso, estos van a ser nuestros bloques de calcio sólo por el bien de un ejemplo aquí, ¿verdad? El espesor debe ser bastante autoexplicativo. Simplemente defina aquí el grosor. Una configuración de craqueo básicamente determina qué tan grandes podrían ser algunas aberturas en esta geoda. Y luego tienes algunas cosas que básicamente puedes cambiar la distribución, el multiplicador de ruido y algún desplazamiento de generación, recomendamos encarecidamente, como siempre, jugar con los números de aquí. Esto es como lo mejor que puedes hacer. También juega por ahí con las cuadras de aquí. Verás en apenas un momento en que en realidad engendramos esto en un mundo nuevo, cómo se ve esto en realidad. Y más o menos comprenderás muy fácilmente cómo funciona esto. Por lo que no se preocupe ahí. Y esta es básicamente la idea general. Juega con esto. Ahora esto es por supuesto, todo disponible para ti en un repositorio de GitHub e individual igual de bien. Por lo que no se preocupe ahí. Pasemos a la clase de características del mercado. Por lo que voy a copiar esto también. Pero esto también va a ser no demasiado loco. En realidad hacer algo como esto. A lo mejor se puede leer esto. Ahí vas. Ahí está el oráculo llegado real colocado y se puede ver que sólo estamos haciendo una rareza colocación aquí de 42 porque ¿por qué no? Y luego necesitamos la función de colocación cuadrada, modificador de colocación cuadrada off. Y luego tenemos la altura uniforme de seis a 50. Acabo de elegir esos porque eso va a estar bien una vez, uh, una vez más, por supuesto, jugar con esto, ¿verdad? Eligió, elige diferentes compensaciones, ¿verdad? Puedes usar el fijo debajo de arriba todo eso. Simplemente prueba un montón de cosas aquí y luego ver qué puedes encontrar con los diferentes valores aquí. Y para engendrar esto, bueno, es bastante sencillo. Solo queremos entrar en nuestra generación aquí. Sólo vamos a duplicar éste y queremos cambiar esto al oráculo venga o colocado al oráculo venga, GO TO colocado. También asegurándose de que la característica Configurar aquí sea la geoda. Y entonces aquí también estamos haciendo referencia la geoda y eso es todo Eso debería pequeño nicho, estás en un mundo nuevo. Vamos a crear un mundo nuevo y ver si funciona. O Francia o en Minecraft. Y ahí ya tenemos un ejemplo. Entonces encontramos una, una geoda y se puede ver, por supuesto, la capa interna más básicamente es el aire aquí. Y luego se puede ver que estas son las diferentes capas. Se puede ver que esto es profundamente la suciedad por aquí. Entonces tenemos el reemplazo de amatista en ciernes para r ors. Y luego en algunos de ellos, el Oráculo puede bloquear el desove y esos serían los lugares de donde aparecerían los cúmulos reales. El propio bloque Esmeralda, se puede ver está en realidad muy fuera de él. Por lo que se puede ver que aquí es en realidad donde la geoda ya comienza y es bastante. Para que puedas ver aquí entonces todo esto es suciedad y luego en algún momento, básicamente empiezas a encontrar algunos de los diferentes bloques aquí también. Y luego en algún momento después de cavar mucho, por lo que se puede ver que es bastante. Por lo que en realidad has vuelto a llegar al otro exterior. Podemos tener que ir por este camino. Y luego en algún momento, veamos. Vamos a ser capaces de encontrar el GO real dentro también. Entonces eso es más o menos lo fácil que puede ser agregar algunos campos personalizados. Una vez más, jugando con los números, jugando alrededor con los bloques. Eso depende de ti. Pero en general, es muy sencillo tenerlo en realidad, generarlo. Y como siempre, como ya he dicho, el código está disponible en el repositorio de GitHub e individual igual de bien, pero eso sería todo para esta conferencia aquí mismo. Espero que te haya parecido útil esto y aprendas algo nuevo y te veré en la próxima conferencia. Entonces, sí. 119. (1.18.2) Bloque que interactúa con Redstone: Muy bien, bienvenidos de nuevo al curso de tela para 118. Y en esta conferencia vamos a estar echando un vistazo a cómo puedes implementar Redstone en tu bloque de clientes. Entonces, ¿qué significa eso? Bueno, vamos a hacer que el oráculo se convierta en una lámpara, un bloque que en lugar de hacer clic derecho en ella para encenderlo y apagarlo, vamos a hacer que funcione con mineral de redstone esto, ¿verdad? Tenemos un ejemplo y ese es el bloque de lampara redstone. Como siempre microbios código fuente es tu mejor amigo. Simplemente presionemos turno dos veces y busquemos el bloque de lamparas redstone aquí mismo. Y se puede ver que tenemos el método de actualización vecino así como estos programados para tomar métodos. Entonces esos son los dos métodos que necesitamos. Vamos a copiarlos, seleccionarlos y copiarlos sobre el control C, controlar V para pegarlo. Y entonces solo tenemos que cambiar la tapa aquí para recoger por todas partes donde dice LET, solo quieres decir entonces mismo aquí también, y me gustó también. Y entonces podemos hacer esto un poco más fácil de leer. Entonces, en lugar del valor booleano, solo queríamos gustarle eso. Y entonces el casting aquí también, no tiene que pasar en este momento la pregunta es ¿qué está pasando aquí? Bueno, se llama al método de actualización de vecinos cuando un vecino de este estado de bloque en particular se actualiza en el mundo no debería estar demasiado loco para las ideas generales que queremos saber si esto o no bloque particular está encendido. Si está encendido n, no está recibiendo energía, queremos apagarlo y al revés. Si lo es, si está apagada y está recibiendo energía de lo que queremos encenderla. Esa es la idea general. Ahora esto es un poco más complicado en mi mente de lo que tiene que ser, pero vamos a estar bien porque así es más o menos como la vainilla lo hace también. Y luego estamos programando una toma de garrapatas básicamente se hace entonces aquí mismo. Por lo que se puede ver esto se llama cuando un programado para marcar está bien ejecutado básicamente. Y básicamente estamos poniendo al estado en esta posición particular al ciclo estatal de flick. ¿ Qué significa ciclo? Bueno, básicamente estamos invirtiendo cualquiera que sea el valor booleano real. Entonces ciclo, solo circula por todos los valores. Es muy difícil de ver en este caso. Pero la idea general es solo que solo recorre todos los diferentes valores de esta propiedad estatal de bloque en particular porque es un booleano, solo hay dos valores posibles que puede tener. Por lo tanto, sólo va a convertir un pliegues en un verdadero y un verdadero en falso. Y eso es todo lo que necesitamos. Para que puedan ver el está recibiendo poder de Redstone en esta posición particular, y eso es todo lo que necesitamos, ¿verdad? Entonces esto es solo un método booleano aquí que pregunta, Hey, ¿este bloque está recibiendo energía? Y eso es todo lo que necesitas para comprobar si se aplica o no energía a este bloque. Y luego solo para que lo tengamos eso es realmente comentar esto por aquí. Y vamos a hacer un sistema fuera de línea de impresión y sólo vamos a decir powered by. Y entonces vamos a decir mundo eso y tenemos unos pocos poder. Bueno cosas por aquí se puede ver que hay un poder emisor, leer algo de poder y obtener energía recibida, se emiten. Redstone está recibiendo Redstone y luego más fuerte, solo vamos a producir la potencia más fuerte. Entonces esto va a devolver un entero en este caso, y va a ser cualquier cosa del 0 al 15 porque por supuesto, el poder de Redstone, el máximo es 15 y el más bajo sería 0, lo que no sería ningún poder en absoluto. Esto entonces va a salir en la consola aquí dentro de la inteligencia cuando hacemos clic derecho en este bloque en particular. Ahora eso es en realidad todo lo que tenemos que hacer, la mayor parte de la vainilla. Ahora, como siempre, por supuesto, todo el código aquí va a estar disponible para ti en una descripción en el repositorio de GitHub e individual igual de bien. Ahora vayamos a un mundo y veamos si funciona. Muy bien, amigos de Minecraft otra vez, y ya he puesto el laboratorio de íconos de oráculo por aquí. Así que tomemos una palanca y veamos. Y luego vamos, se enciende y luego se apaga cuando yo, pero la palanca se apaga de nuevo. Y entonces lo que podemos hacer tan bien como podamos con esto. Entonces ahí vas. Y esto también funciona. Si ahora hago clic derecho en esto y echar un vistazo aquí mismo en la pendiente, deberíamos ver el poder por 14. Entonces este es por supuesto el caso porque esto sería 15 y luego uno más junto con la línea Redstone aquí, esto sería 14. Si entonces también enciendo la palanca aquí y vuelvo a hacer clic con el botón derecho, entonces se puede ver que todavía estamos obteniendo 14. Curiosamente, esto debería ser 15. En mi mente, eso es muy interesante. Veamos si podemos hacerlo así. Ese es este trabajo. Ahora funciona con 15. Muy bien, entonces la palanca, realidad no funcionó del todo. Supongo. Eso es muy interesante para mí. En realidad, hubiera esperado este trabajo, pero lo suficientemente justo. Entonces esto ahora básicamente es la forma que funciona esto y así es lo fácil puede ser agregar un bloque que funcionará con Redstone, Minecraft. Por supuesto, cualquier funcionalidad adicional que luego quieras agregar cuando se aplique el restaurante, por supuesto tienes que agregar en el bloque o si se trata de una entidad de libro, también puedes de supuesto hacer esto también y luego cambiarlo por ahí también. Pero eso es por supuesto, algo que puedes hacer por tu cuenta. Y espero que puedas hacer esto y agregarle también alguna funcionalidad, pero eso será todo para esta conferencia aquí mismo. Espero que te haya parecido útil esto y aprendas algo nuevo y te veré en la próxima conferencia. Entonces, sí. 120. (1.18.2) Renderizador de entidades de bloque personalizado: Muy bien, bienvenidos de nuevo al curso de tela para 118. Y en esta conferencia vamos a estar agregando un renderizador de entidades de bloque de clientes a Minecraft. Entonces, ¿qué es un renderizador de entidades de bloque? Bueno, básicamente va a ser un cierto renderizado extra que añadimos a una entidad de bloque de clientes. ¿ Y cuál va a ser nuestra entidad de bloque? Bueno, vamos a tener un modelo de bloque personalizado que se ve así, pero va a ser un pedestal. Y luego cuando hacemos clic derecho en él con un artículo y el artículo va a pasar el puntero sobre este pedestal en particular. Esa es la idea general. Nada demasiado loco, pero sigue siendo bastante genial para mirar este cortafuegos de banco de bloques en particular, por supuesto, también estar disponible para su descarga. Y luego podemos ir a File Export, Export, block item model, el pedestal adyacente. Ahora ya tengo esto, así que vamos a estar bien y vamos a sumar esto en poco tiempo como un modelo de bloques adyacente. Pero primero empecemos agregando el bloque. Entonces en nuestro libro, en nuestro paquete de bloques personalizados, haga clic con el botón derecho en nueva clase Java llamada el pedestal. Mira. Ahora voy a venir sobre la mayor parte de esto, pero no se preocupe. Todo esto está disponible para ti en un repositorio de GitHub en individual igual de bien. Ahora vamos a conseguir una flecha aquí mismo y un par de flechas más aquí mismo. Pero no se preocupe, podremos arreglarlos en solo un momento una vez que hayamos agregado la clase de entidad de bloque también. Ahora, ¿qué está pasando aquí? Bueno en general, lo más importante aquí es por supuesto que se extiende el bloque con clase de entidad y también que tenemos el tipo get render sobrescrito con el modelo. Esto es extremadamente importante. Si no haces esto, entonces tu bloque personalizado será invisible ya que en realidad ir al fondo. Entonces esos son tres métodos de ayuda. También tenemos al on-estado reemplazado. Esto simplemente cae básicamente todos los artículos que están dentro del inventario. Nada demasiado loco. Y luego tenemos a los no utilizados. Este método se llama por supuesto cuando haces clic con el botón derecho en este bloque en particular. Y lo que pasa aquí es que si el artículo en lugar del pedestal está vacío y en realidad estamos sosteniendo un artículo, entonces sólo vamos a poner este artículo que el jugador está sosteniendo en este inventar y eliminar el artículo posterior en su mano. Si en realidad no hay elemento dentro de este pedestal en particular, entonces solo lo estamos desovando al jugador y luego estamos eliminando el elemento de pedestal aquí mismo. Entonces eso es en realidad todo lo que realmente estamos haciendo en el método no utilizado. Recomiendo encarecidamente revisar esto también. No es tan complicado, todas las cosas consideradas. Y uno de nosotros, tenemos este bloque. En realidad vamos a entrar en el paquete de entidades y hacer las entidades personalizadas. Entonces esta va a ser la entidad de bloque de pedestal y hay algo colado aquí dentro, y eso va a ser un error tipográfico. Entonces ahí vas. Entidad de bloque. Ahí vamos. Y una vez más, copiaré sobre los continentes. Esto es en realidad, creo que esto es en realidad incluso menos que el bloque real. Es curioso. Sólo hay 67 líneas de largo. No tan loco. Y se puede ver esto por supuesto, extiende la entidad de bloque e implementa el inventario implementado que hemos agregado en la conferencia de entidades de bloque de clientes también. Tenemos la lista predeterminada de la pila de artículos que es sólo el inventario no debería ser nada loco. Y entonces también tenemos un defecto aquí mismo, que es la rotación. Pero necesitamos las rotaciones en este caso, porque esas necesitan ser guardadas en la propia entidad de bloque. Porque realmente no podemos guardar esto en el renderizador de entidades de bloque porque son alguna vez solo existe una entidad de bloque renderizadora mientras que la propia entidad del libro. Si lo guardamos en esto, entonces no interferirá. Porque cuando lo guardas en el bloque y en el renderizador D, entonces lo que sucede es que cada vez que te sientas una nueva entidad de bloque de pedestal, la cosa se pone más rápido y más rápido. Y eso, por supuesto, no es algo que queremos. Entonces es por eso que la rotación va a ser la rotación del ítem. Entonces por eso lo guardamos aquí mismo. También tenemos un derecho en un método de lectura y belleza no debería ser nada loco, ¿verdad? Éstas son sólo para salvar el inventario cuando salimos del mundo, ¿ verdad? Cuando salvaremos al mundo. Y entonces también increíblemente importante es que queremos actualizar el método de paquetes sobrescrito con la entidad de bloque, actualizar a servidor a cliente como para ver paquete y crearlo con esto y luego también a datos de trozo inicial y b t. Queremos que esto se vea así. Entonces esos dos son increíblemente importantes. De lo contrario habrá una sincronización D entre el servidor y el cliente. Así que ten en cuenta que también se tienen que sumar esos. Como ya he mencionado. Todo esto está disponible para usted en el proceso o un individuo igual de bien. Podemos copiarlo de ahí, justo entonces vamos a entrar a la clase de entidades de bloque y simplemente copiemos sobre el pedestal. Entonces, antes que nada, vamos a copiar esto. Por lo que vamos a duplicar esto y hacer esto la entidad de bloque pedestal se va a llamar el pedestal. Y luego vamos a duplicar esto seleccionado y presionar Control D. Este va a ser el pedestal. Esto es por supuesto igual, primer lugar, el nombre aquí, pedestal. Y luego aquí queremos cambiar esto una entidad de bloque de pedestal. Y luego aquí queremos usar el pedestal. Ahora claro que esto aún no se implementa , pero no se preocupe en absoluto. Sólo vamos a sumar esto también. Por lo que las entidades de bloque de modo azul, ahora podemos ir a la entidad rock pedestal. El error aquí debe desaparecer y no debe haber más errores presentes que en el bloque. Ahora podemos importar la clase de entidad libro pedestal y son todos los errores aquí también deben desaparecer. Y es genial. Y luego para deshacernos de este error, solo tenemos que registrar el bloque real. Así que sólo vamos a hacer eso también. Vamos a copiar sobre la ventana de invierno. Eso va a estar bien. Y este va a ser el caballo pedestal, Igual con el nombre aquí en asalto. Y este va a ser el bloque de pedestal. Ahora no vamos a copiar vidrio. Hagamos realmente de piedra material. Creo que eso tiene más sentido, no opaco. En realidad no necesitamos eso. Fuerza tres, eso va a estar bien. Y luego por supuesto, en nuestro grupo de artículos, en nuestro grupo de artículos personalizados aquí. Y eso debería estar bien. Ahora esta flecha también debería desaparecer, y ahora todos los errores se han ido. Ahora todavía necesitamos el renderer personalizado. Entonces el paquete de entidad, vamos a hacer clic derecho en nuevo paquete llamado cliente. Y luego dentro de ahí vamos a hacer una nueva clase llamada el renderizador de la entidad del pedestal Volokh. Se va y esto es en realidad bastante sencillo, pero esto va a implementar la entidad de bloque Renderer, renderer aquí mismo de tipo. entidad de bloque de pedestal pasará puntero sobre este Implementar Métodos. Este es el método render aquí mismo, y eso es más o menos todo lo que tenemos que hacer. Hacer. Entonces entonces podemos hacer una entidad de bloque de pedestal público renderer. En lugar de aquí, queremos llamar a la entidad del libro renderizar nuestro contexto de punto de fábrica, contexto y la meta. Entonces solo queremos que el constructor predeterminado básicamente aquí con este parámetro en particular y el método render también, el contenido del método aleatorio que en realidad copiaré . Se puede ver que básicamente estamos obteniendo el objeto renderizado por aquí, y luego también estamos obteniendo la pila de artículos. Ahora lo que estamos haciendo con las matrices aquí, la pila de matriz básicamente es que somos, todo esto solo determina la traducción. Entonces, donde está nuestra pila de artículos en particular, escala determina lo grande que es, y luego multiplicarse aquí, simplemente gira el elemento real en erupción. Eso es lo que hacen estos tres resfriados que el renderizador de elementos El elemento Render solo representa el elemento. Entonces tenemos que hacer estallar esta pila de matriz en particular, y luego le estamos agregando la rotación también. Entonces eso es más o menos todo lo que estamos haciendo aquí. Tan bonito genial, Todas las cosas consideradas. Y recomiendo encarecidamente solo echar un vistazo a esto y estoy tratando de entenderlo. No debería ser tan loco. Pero también diré que el renderizado definitivamente no es mi forte. Especialmente me gusta. Es, puede ser bastante loco, pero todas las cosas consideradas, debería estar bien, ¿verdad? Una pequeña cosa, en realidad llamemos al no opaco por aquí. Sólo para que tengamos esto. Sí tiene sentido, creo porque el, porque es más pequeño que un bloque. Así que llamemos a esto. Y entonces, ¿cómo registramos este renderador de entidades de bloque en particular? Bueno, este bloque es tu Hendra realidad está registrado de manera bastante directa en la clase de cliente del curso MC una vez más, por supuesto, ahora esto requerirá lo siguiente. Queremos llamarlo registro de renderizadores de entidad de libro. Éste de aquí mismo, no registrado. Más entidades de bloque, punto pedestal y luego la entidad de roca pedestal Renoir colon, colon nuevo. También queremos llamar a lainstancia de punto de mapa de capasde render de bloque instancia de punto de mapa de capas que ponga bloque o bloques punto pedestal. Y luego establece la capa renderizadora para que te corten que tienes. Y eso debería ser en realidad todas las cosas que necesitamos. Ahora por supuesto también necesitamos los expedientes adyacentes, pero esos deberían ser bastante autoexplicativos, ¿verdad? Entonces esos no deberían estar demasiado locos. Pero una vez más, en el estado de bloque está Jason en la carpeta Estados bloque, derecho, Empecemos agregando el estado de bloque archivo JSON para el pedestal real. Se van, esto es sólo un Bloc normal declara archivo Jason. Nada loco pasando aquí también ha agregado la traducción. Tenemos un bloque aunque es este nombre pedestal. Entonces sólo vamos a sumar esto. En este punto, esto debería ser más o menos rutinario, no debería ser nada loco por aquí. Ahora, este va a ser el archivo exportado, así que va a haber pedestal adyacente por aquí. Y aquí. Por supuesto que una vez más necesitamos cambiar esto a Minecraft bloque de colon barra de piedra lisa. Porque de lo contrario no va a encontrar una piedra lisa. Entonces esa es una de las cosas que hay que cambiar del archivo json exportado y luego el archivo JSON del elemento también. Más o menos lo mismo que hemos visto muchas veces antes. Esto se refiere de nuevo al archivo JSON del modelo de bloque y luego no se necesita textura. Entonces esas son en realidad todas las cosas que necesitamos. Bloquear estados, traducción, bloque, un modelo de elemento, archivo JSON, y eso debería ser. Entonces esto debería ser todo lo que necesitamos. Ahora. Entrémonos al juego y veamos si funciona. Muy bien, por eso nos encontramos en Minecraft y como se puede ver, se ha agregado el pedestal. Entonces vamos a ponerlo abajo y vamos a tratar de hacer clic derecho con el calcio de error crudo. Y ahí vas. Está sentado. Y también podemos sumar un poco más por aquí. Y se puede ver básicamente todos son sólo cosa arriba y abajo y registrándose aquí. Para que pueda hacer clic derecho y sacarlos de ella de nuevo. Y puedo hacer clic derecho y ponerlos. Y se puede ver que siempre estoy perdiendo uno o calcio básicamente. Y entonces también puedo sacarlo. Entonces exactamente cómo esperaríamos que funcionara. En realidad funciona, y eso es bastante genial. Y este es un ejemplo de un renderizador de entidades de bloque de clientes. Pero como he dicho, el código está todo disponible en el repositorio de GitHub en individual igual de bien. Pero eso sería todo por esta conferencia aquí mismo. Espero que te haya parecido útil esto y aprendas algo nuevo y te veré en la próxima conferencia. Entonces, sí. 121. (1.18.2) Capas de botín en estructuras personalizadas: Muy bien, bienvenidos de vuelta el curso de tela para un ATP. En esta conferencia, vamos a estar viendo cómo puedes agregar cofres de botín personalizados a tus estructuras personalizadas. Entonces esto es algo con lo que en realidad algunas personas lucharon, pesar de que la estructura personalizada de suelo telepático aquí tenía esto bastante bien explicado por aquí. Pero algunas personas aún necesitaban algunos ejemplos, por lo que los vamos a aplicar con ese ejemplo. Sólo veamos qué tenemos que hacer. Eso lo que tenemos que hacer es que podamos engendrar un cofre aquí mismo. Y de nuevo lo nace con este comando particular. Entonces poner bloque en la posición que estamos de pie, un cofre de Minecraft, ignoran. Por lo que va a enfrentar la misma dirección en la que estamos investigando. Y luego la mesa de botín nos vamos a poner a pecho simples bungees. Entonces sólo vamos a hacer esto. Y ya se puede ver que el fideicomiso ha generado. Ahora, si lo abro, correcto, y entonces vamos a entrar y salvar esto. Entonces si viven, éste es el Davidson. Si he ordenado ahora guardar esta estructura, entonces cada estructura tendría este contenido particular de este cofre. Ese es uno de los temas que algunas personas han enfrentado porque lo que hay que hacer es cuando realmente lo engendras. Así que vamos a dividirlo de nuevo, aquí mismo con una vez más, la mesa de botín, simple mazmorra. También puedes agregar tus propias mesas Lu y también puedes hacer diferentes mesas de ruta aquí, pero asegúrate de tener básicamente una mesa que sea específicamente para el ajedrez. Y luego una vez que hayas mostrado el cofre, no abras el cofre. Puedes abrir el cofre porque en cuanto abres el cofre, solidificas lo que hay dentro de él. Quieres que esto no se abra después de tragarlo, y luego quieres guardar tu estructura personalizada. Pero ahora vamos a salvar la estructura. Y ahora podemos reemplazar los datos de la NVT que ya tenemos. Y entonces este cofre en particular va a tener siempre diferente carga en él cuando la estructura se engendra en el mundo. Ahora vamos a inteligente y cambiemos el archivo MPT, ¿verdad? Por lo que el expediente de la NVT está por supuesto una vez más bajo la caja fuerte. Ahora esta debería ser la, otro día, otra estructura, si recuerdo correctamente, ahí vas, el ratón de cuenta. Vamos a copiar esto. Vamos a la carpeta Data, estructuras del curso MC, y vamos a pegarla aquí, cuenta mhos MVT, vamos a anularla. Eso está bien. Y ahora esto es todo lo que tenemos que hacer. Ahora hagamos un mundo nuevo y veamos si funciona. Muy bien, así que nos encontramos en Minecraft de nuevo. Así que vamos a volar al primer recuento, mi casa aquí mismo que ha generado y creo que hay otra en esta dirección. Bueno, antes que nada, encontraremos el cofre dentro de aquí. Y si hago clic derecho en él, se puede ver que esta es la carga particular. Por lo que tenemos armadura de caballo de hierro y tres carne podrida. Así que vamos a guardar eso en nuestro cerebro y vamos a ver. De acuerdo, entonces había una armadura de caballo y tres carne podrida, y veamos si podemos encontrar otra. Otro cuenta mi casa, sea o no este también es el caso. Muy bien, entonces finalmente vamos, finalmente encontré otro ratón de cuenta en realidad sería bastante difícil encontrar esos. Recuerda, hubo tres, carne podrida y una armadura de caballo, y podemos ver que esto es completamente diferente. Ahora tenemos disco de música. Todavía tenemos una armadura de caballo pero no carne podrida. Pero se puede ver cada estructura individual tiene bucle diferente dentro de ellos. Entonces eso es más o menos lo fácil que es agregar algún cofre de botín personalizado, tus estructuras personalizadas, ¿verdad? Pero eso ya sería por esta conferencia aquí mismo. Espero que te haya parecido útil esto y aprendan algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 122. (1.18.2) ACTUALIZA A 1.19: Muy bien, bienvenidos de nuevo al curso de tela para 118. Y en esta conferencia vamos a estar actualizando nuestro proyecto a 119. Ahora bien, este en realidad va a ser un proceso bastante sencillo, todas las cosas consideradas. Por suerte, los cambios entre 11819 y tela no son tan locos. Así que empecemos. En primer lugar, vamos a empezar con el archivo adyacente mod fabric, donde tenemos que cambiar estos depende o aquí. Ahora queremos cambiar esos dos. Cargadora de tela siendo 14.6. Quiero cambiar la versión de Minecraft para ser la línea ondulada aquí, tilda 1.19. Por supuesto, eso debería estar bien. En nuestro curso MC mezclando archivo Tracer, queremos cambiar el Java, java 17, y luego podemos seguir hasta el archivo de compilación Gradle, donde antes que nada, queremos cambiar la versión Looom de tela aquí a 12 . Y luego por supuesto, también queríamos cambiar la implementación del labio gecko por aquí. Se tiene que actualizar la fuerza de equilibrio. Entonces esto sería tejido uno a las 22.1. Y luego en el archivo de propiedades mayor, realidad es aquí donde tenemos que cambiar la mayoría de estas cosas. Queremos cambiar la versión micro a 1 novena, mappings de hilados o 119, construir un cargador de tela. La versión inferior aquí es 14.6. Podemos entonces por supuesto que también es cambiar nuestra propia versión mod aquí. Y entonces esto va a ser 55.11.19. Y eso debería ser más o menos todas las cosas que necesitamos cambiar por aquí. Y luego podemos cargar los cambios de Gradle. Ahora, una vez más, esto podría tardar desde unos segundos hasta tal vez incluso dos minutos, tres minutos, dependiendo de lo rápido que sea su computadora, dependiendo de lo rápida que sea su conexión a Internet, todo eso locura. Dejemos que esto pase y seamos pacientes. Y luego veremos una vez que esto haya conseguido como una construccion exitosa, bien, aquí estamos 32 segundos. Si entonces vas, por ejemplo, a tu clase mod principal y algunas de las clases están marcadas tasas rojas en lo que el inicializador podría, por ejemplo, ser Margaret, no te preocupes, solo espera un segundo hasta que todo se haya construido y luego debería arreglarse en teoría. Entonces esto es más o menos todo lo que tenemos que hacer. Ahora, claro, vienen los cambios de código, que son, yo no diría numerosos necesariamente, pero hay bastantes de ellos. Entonces, primero que nada empecemos en más alto de nuestras clases. Entonces la primera en la que necesitamos cambiar algunas cosas es, creo que no es la clase pedestal, debería ser el bloque rápido. Ahora curiosamente, lo que en realidad necesitamos cambiar aquí es el texto de aquí. Entonces la clase de textos literales ya no existe, pero afortunadamente, es muy fácil cambiar esto. Sólo tenemos que llamar al texto punto literal. Y eso es más o menos todo lo que tenemos que hacer una vez más aquí, texto punto literal, y ahora tenemos un error en las importaciones. Arreglas esto, sólo podemos presionar control alt y O. Y eso debería arreglar eso también. Ahora se puede ver que la pantalla Aleatoria tampoco está funcionando. Ahora, ¿por qué podría ser eso? Bueno, la razón es que la clase aleatoria también ha cambiado. Actualmente estamos usando Java util random. Simplemente eliminemos esta importación. Y si luego importamos la clase aleatoria de nuevo, se puede ver que en realidad quiere importar red Minecraft, hermosa matemática aleatoria, aleatoria. En realidad tenemos una nueva clase aleatoria. Esto ahora por supuesto tiene alguna funcionalidad diferente a la misma. Por lo que en realidad tenemos que hacer lo siguiente en el doble. Entonces aquí en nuestro próximo doble, simplemente no vamos a pasar nada en este caso. Y esto también debe ser en ese caso. Ahí vas. Eso debería estar bien. Entonces si tienes un método donde aleatorio es un parámetro, esa es probablemente la razón por la que no está funcionando. Si todavía está usando la clase Java util de aleatorio, es un poco, no es la mejor convención de nomenclatura aquí al nombrarla igual que la Java util uno, pero eso va a estar bien. Pero esa es la clase aleatoria ahí y ese es el bloque rápido y eso debería estar bien. Ahora, uno de los grandes cambios va a ser en nuestras cosas de gama alta. Entonces éste debería estar realmente bien. Más entidades de bloque deberían estar bien. Por supuesto que puedes pasar por él. Aquí. Sólo tenemos un texto. Una vez más, esto va a ser textos que literal y luego Alt, Control y O, y luego no habrá más errores presentes. Entonces eso es todo genial. Se puede ver la mayoría de estas cosas en realidad va a estar bastante bien. La clase más bloques también es correcta. Eso es genial. La ciencia también es buena. Por lo que los bloques están todos hechos. Algunos cambios han ocurrido en los comandos. Vamos a ver esto en un momento. El método de desregistro en realidad también ha cambiado, pero eso está bien. Sólo vamos a cambiar los textos que literales por el momento. Y luego una vez más Control Alt O. Y luego para esto en casa mando, lo mismo. Vamos a decir, texto literal hace día y luego Control Alt O otra vez. Y ahí vamos. Por el momento se cambian los comandos. Y lo que es muy importante aquí también es que todo por supuesto está una vez más disponible para ti en la descripción a continuación en el repositorio de GitHub e individual igual de bien. Ahora los conflictos de mod no deberían cambiar porque esos son básicamente nuevos. Selecciona clases personalizadas más o menos los efectos, no cambian los Encantamientos, no cambian las entidades. Entonces algo ha cambiado en el labio gecko y esos son los nombres de estos métodos particulares. Entonces lo que podemos hacer es que sólo podemos hacer lo siguiente. Podemos simplemente seleccionar esto. Así que sólo voy a copiar el nombre por aquí. Voy a ir a mi cuenta pequeño paquete de prensa Control, Shift R y pegar esto en. Y quiero cambiar esto en todos los pozos en todas partes que estamos básicamente surge y este nombre aquí cambia a recurso modelo. En resumen, escribimos esto correctamente ahí obtendrás más recurso. Sólo vamos a reemplazar a todos. Y entonces esto se va a arreglar en todas nuestras clases de modelos personalizados. ¿ Cómo sé que este es el cambio? Bueno, si sólo el botón central del ratón, haga clic en la masa modal GO animada por aquí, básicamente podemos ver las diferentes cosas son, esto es en realidad en el proveedor del modelo. Creo que van recursos modelo, recursos de textura. Y el otro son los resorts de animación. Entonces eso es más o menos lo que cambia también. Así que una vez más, vamos a hacer lo mismo, Control Shift R en el paquete de calendario. Ahora vamos a cambiar la ubicación de la textura a recurso de textura. Todo esto está bien. Pero solo reemplacemos todo el ego. Eso va a estar bien. Y luego la ubicación del archivo de animación también lo mismo. Ir a reemplazar esto por el recurso de animación lo pone, lo reemplazó. Ahora ya no deben estar presentes más errores en ninguno de nuestros archivos de modelo. Esto también está bien y se puede ver esto también todo cambiado, pero también todos siguen funcionando. Entonces tipo de exactamente cómo lo querrías a las entidades reales. No hay cambios en las entidades. Aquí hay un cambio. ¿ Qué es esto? Este es el fin, ser controlado por escritores. Entonces, en realidad echemos un vistazo a lo que es esto. Bueno, no estoy 100% seguro por qué el escrito aquí ya no tiene la puede ser controlada por el escritor. Pero honestamente, simplemente eliminemos la anulación de agregar y esperemos que aún funcione. Esa probablemente va a ser la mejor idea aquí. Y luego cuando se trata del resto aquí, todo debería seguir funcionando totalmente bien. Por lo que también se hacen las entidades. Los hechos también deberían estar bien en este caso, eso es genial. fluidos también están totalmente bien. Y luego venimos al artículo. El artículo es el primero. Somos bastantes cambios sucedieron, pero tampoco tan locos. Aunque la mayoría de los cambios en el ítem ocurrieron en la tableta de datos y la varilla de espiga. Porque una vez más, tenemos algunos textos, tan fácilmente textos tan fácilmente que literal aquí mismo Control Alt O, y luego lo mismo en el ítem de varilla de espiga aquí tenemos unos textos traducibles, así esto va a ser textos traducibles. Y entonces aquí también, tenemos en lugar de un nuevo textos traducibles, tenemos textos traducibles y luego mismo aquí, textos traducibles. Entonces aquí una vez más tenemos textos literales de textos, datos literal Control, Alt O, y luego no habrá más errores presentes. Aparte de eso, el resto de los artículos están bien. Podría haber algo en la clase de más artículos. No hay nada en la clase de más artículos. Entonces todo aquí funciona también. El mezclador debe estar bien excepto por estos mixin característica estructural, en realidad podemos eliminar esto aquí mismo. Y entonces también muy importante, eliminar esto del curso MC o raza mixta en también, eso ya no es necesario. Ahora las pinturas tienen extraña la pintura? Sí, en realidad las pinturas han cambiado. Es una locura, lo sé, pero ahora es el caso. Ya no se llama el motivo de la pintura. Ahora se llama la pintura, una variante. Pero lo que podemos hacer es que básicamente podemos seleccionar esta pulsación Control R y luego cambiar esto a variante de pintura y luego simplemente decir Reemplazar todo, y luego debería estar bien. Y entonces aquí queremos cambiar esto a una pintura, una variante, y luego debería funcionar también. Las pociones no han cambiado, y creo que las recetas tampoco han cambiado. Entonces todo aquí sigue funcionando. Genial. Las pantallas están bien, los sonidos están bien, y luego tú hasta ahora en Utah realmente hay quién cambia. Uno de ellos es el modificador de mesa de botín. Entonces esos han cambiado un poco. Por lo que ahora ya no usamos el evento de devolución de llamada de carga de la tabla de botín. Ahora estamos usando la tabla de botín eventos datos modificar ese registro, pero este es el cambio que tenemos que hacer aquí. Y entonces el cambio aquí es que ya no usamos el constructor de piscinas lascivo de tela. Ahora estamos usando el constructor de datos del pool de botín de la piscina. Y luego aquí estamos usando botín pool data builder y luego creando un nuevo edificio aquí mismo. Esto va a llamar al método apply y esto lo va a llamar el método pool. Y luego sólo podemos copiar sobre la primera línea aquí y luego simplemente reemplazar a este Diego y luego mismo aquí. Esto se aplica y luego la piscina de ancho se acaba de llamar Pool. Una vez más con funciones llamadas Aplicar y esta se llama, bueno, ahora esto debería funcionar totalmente bien. Una vez más, las importaciones, sólo vamos a presionar Control Alt O, y eso debería estar bien. Continuemos hacia el Registro Modelo es donde realmente tenemos un tema con el evento por aquí. Ahora el evento en realidad, solo podemos importar esto de nuevo, pero se puede ver entonces nuestros métodos de registro ya no funcionan. Entonces el método de registro ha cambiado un poco. Así que sólo voy a copiar los nuevos parámetros del método de registro. Por lo que ahora tenemos tres parámetros. Como se puede ver, el despachador es justo ahora el servidor comando source despacher. Entonces esto es todo lo que tenemos que hacer una vez más, por supuesto, esto está disponible para ti en el repositorio de GitHub e individual igual de bien. Entonces puedes básicamente, bueno, somos fácilmente echar un vistazo a eso ahí. Así que vamos a copiar sobre los parámetros una vez más por aquí. Tú vas en ellos. Estamos tomando éste y simplemente cambiándolo. Y ahora pista de aterrizaje normal estar presente, Control Alt O. Y luego los registros mod también están bien. Pero luego hay algunos cambios locos en los pobladores de aquí. Ahora, el cambio aquí abajo en realidad va a ser que en lugar de un punto intereses tipo accesor, solo estamos haciendo un nuevo punto, nuevos intereses por aquí. Para que puedan ver que sólo estamos creando esto. Además ya no necesitamos llamar al método setup of poise. Y luego aquí en el registro profesiones, mientras queremos hacer es que realmente queremos llamar al padrón al constructor de profesión aldeano que crea. Ese ID con un nuevo identificador como ver en nuestro curso MC mod mod ID y el nombre. Y luego llamando a la estación de trabajo pasando en el tipo. También tenemos que cambiar esto en un momento. Y entonces también queremos llamar a los eventos de sonido de corteza, esa entidad trabajo Amara, que construyen, posando con paréntesis y se van y eso debe ser más o menos lo que tenemos que hacer aquí. Para el tipo de punto de intereses, queremos cambiar esto a un registro E de tipo, punto de intereses tipo. Ahí vas. Y luego aquí, en lugar de pasar esto, queremos ver una clave de registro, clave registro punto de datos de registro punto de intereses para escribir una clave con un nuevo identificador. Una vez más, por supuesto MC, curso Mod modelo ID. Y entonces la explosión o punto fueron importantes para eso. El blastoporo aquí es el mismo que este nombre aquí mismo o el punto de yeso. Ahora también queremos decir Control Alt O para deshacerse de las importaciones. Y luego en nuestra clase mod curso MC, queríamos eliminar la llamada de configuración de poise y eso debería estar bien. Ahora los pobladores deberían trabajar también. Y ahora por último pero no menos importante, por supuesto, Generación Mundial, ¿qué ha cambiado aquí? Bueno, en realidad no demasiado loco. En el generador de retoños, una vez más tenemos la clase aleatoria diferente. Entonces si acabamos de quitar la importación aleatoria e importarla de nuevo, entonces aquí todo debería funcionar bien. Entonces eso es genial. Nada ha cambiado en las otras clases de largometraje. Y entonces los cambios están justo en la clase gen porque ahora tenemos una forma diferente de seleccionarlo. Entonces el selector es en realidad ahora tienen incluir por clave todo otro encontrado en N. Así que hay un poco de diferencia aquí, pero podemos simplemente decir esto y luego es, por ejemplo, digamos claves de bioma punto aviones. Y entonces aquí deberíamos poder decir incluir por bioma clave, claves dot selva por ejemplo. Por lo que esto ahora debería funcionar también. Aquí pasa lo mismo, ¿verdad? Los aviones, digamos llaves de bioma, planos para las flores de aquí, y luego para el árbol, lo mismo, cargan aquí. Teclas de bioma planos de punto. Y eso debería estar bien. La ración de origen no cambió y el origen moderno del mundo también. Lo mismo. Ahora las estructuras, han cambiado de nuevo porque claro, por eso no podemos tener cosas bonitas por así decirlo. Pero eso va a estar bien, no hay preocupaciones ahí. Así que en realidad empecemos con las estructuras del cielo por aquí. Estos chicos estructuras, sólo voy a volver a copiar el contenido sobre esto y sólo vamos a mirar brevemente esto. Por lo que ahora tenemos un códec. ¿ Qué hace el códec? Lo más simple de explicar esto ya que básicamente es una forma de leer una clase a partir de un archivo JSON que es más o menos la forma más fácil de echar un vistazo a esto. Ahora, una vez más, esto va a estar disponible, y esto también lo hizo por suelo telepático una vez más. Por lo que básicamente podemos agradecerles por actualizar esto básicamente muy, muy rápido. Y recomiendo encarecidamente echar un vistazo los gruñidos alopáticos, hacer una pausa para una vez más y echar un vistazo a todos los nuevos comentarios que ahí se agregan que probablemente deberían ayudarte también. Ahora el mod estructuras uno se ve así. Ahora en realidad podrían ser un tema más aquí. Ahora, esto debería estar todo bien. Y luego estructuras íntimas, básicamente una de las siguientes. Por lo que ahora queremos un tipo de estructura por aquí. Entonces vamos a añadir esto. Por lo que queremos esto, este es un método de registro. El método de registro, se ve así. El curso MOD o esto es MC es igual a MOD Diego. Y luego simplemente eliminando todos los insumos que ya no están funcionando y eso debería estar bastante bien. Se puede ver que los cambios de código no son tan locos, pero también hay cambios Jason que podemos, creo abordar ya porque esto debería ser todo lo que necesitamos para cambiar aquí. Sí. Básicamente podemos entrar en los archivos adyacentes y echar un vistazo a esos también. Entonces este va a ser el, por supuesto, los rasgos del curso MC y los archivos gen mundial. Lo primero que hacemos es que necesitamos cambiar el nombre de esta carpeta en particular característica estructural configurada ahora se acaba de llamar estructura. Estructura. Ahora el contenido de esto también ha cambiado un poco. Entonces echemos un vistazo a esto. Pero antes que nada, queremos eliminar el conflicto por aquí para que sólo tenga el pool de almacenamiento y el tamaño en línea. Y luego también queremos sumar la distancia máxima desde el centro. Por lo que éste de aquí mismo, también quieres sumar tres cosas más. Y eso va a ser básicamente reemplazamos el ruido sumado con las estructuras superficiales altura absoluta. Ahora en realidad podemos definir también dentro del archivo JSON, comenzando a mapa de altura éste de aquí mismo. Ahora tenemos que hacer lo mismo por todos los archivos adyacentes. Y lo importante es que para la única casa adyacente, en realidad queríamos cambiar esta de aquí arriba para hacer rompecabezas, eso es muy importante. Después eliminar los conflictos una vez más, AMA en línea esta distancia desde centro por aquí por debajo del tamaño. Y ahora queremos sumar cuatro cosas diferentes, cambiando el ruido adepto. Y ese va a ser el hackeo de expansión de Estados Unidos aquí también. Eso es muy importante de esto básicamente se necesita para cuando se utiliza el rompecabezas aquí mismo. Lo mismo aquí. Sólo cambiando esto. Vete, no te olvides de añadir la coma por aquí. Ellos lo son. Ahí vas. Vamos a reemplazar el ruido sumado por aquí. Y luego por supuesto una vez más, la distancia máxima desde el centro. Y eso debería estar bien también. Entonces por último pero no menos importante, la plataforma de almacenamiento también o plataforma cambiando el tipo a rompecabezas, deshacerse de la configuración por aquí, distancia desde el centro, y luego colocando el anuncio arriba ruido justo aquí . Ahí vas. Y eso debería ser más o menos todo lo que tenemos que hacer en el rastro estructurado de nosotros. Ahora las estructuras de plomo deberían funcionar totalmente bien. Y creo que mirando esto, esto debería ser todo como enormes cambios. Hay un cambio más que es muy molesto, y eso es en realidad con los archivos recientes aquí mismo. Hay un cambio para la puerta. Entonces tenemos una puerta en flor de cerezo por aquí y esta de aquí mismo. Y también cambiaron. Por lo que tanto el archivo JSON Estados bloque, así como los archivos JSON del modelo de bloque para las puertas cambiaron. Teníamos cuatro de ellos, dos para abajo, dos para la parte superior. Y ahora hay en realidad cuatro para cada uno. Entonces hay cuatro inferiores y para los de arriba. Entonces lo que podemos hacer es que podamos ir a las bibliotecas externas hasta el final es este de aquí mismo, micro proyectos netos, etcétera y así sucesivamente. Bajo los activos Minecraft, podemos en primer lugar ir a los estados de bloque y copiar sobre la puerta de acacia, en este caso R1. Así que hagamos eso. Ahí vas. Volvamos a bajar de nuevo y vamos al bloque de modelos. Y se puede ver aquí puerta de acacia, de repente hay ocho de ellos. En realidad es una locura. No sé por qué lo cambiaron, pero eso está bien. Así que copie los más también. Y luego podemos cambiarlos uno por uno. Entonces este de aquí, la puerta de acacia, básicamente, todo lo que sólo tenemos que hacer es que sólo necesitamos cambiar un micrófono por aquí a curso MST, Reemplazar todo, y luego seleccionar acacia y cambiar este la flor de subrayado cereza. Reemplaza todos. Ahí vas. Y luego podemos eliminar aquí la puerta de flor de cerezo. Pulse Turno F6 una vez más para cambiar el nombre de la puerta de subrayado flor de cerezo. Y entonces el bloque establece que uno se cambia, pero por supuesto entonces viene lo real y ese es el archivo modelo. Ahora lo que podemos hacer es hacer clic en la carpeta del blog, presionar Shift Control R, y luego cambiar no flor de cerezo, sino en realidad acacia a flor de cerezo. Se puede decir que reemplazó todo. Sí, por favor. Y entonces podemos hacer lo mismo. Vuelve a bloquear, Control Shift R, y luego queremos cambiar un curso de Minecraft MC. Ahora tenemos que tener mucho cuidado no solo reemplazar todo porque va a reemplazar también a los padres. Y no queremos eso. Sólo queremos cambiar el fondo y la parte superior. Se puede ver fondo. Puedo reemplazar top. Reemplazar. Ahora tenemos un padre no. Abajo. Sí. Arriba. Sí. Una vez más, padre no. Abajo. Sí, arriba. Sí. Por favor, asegúrate de hacer esto correctamente. De lo contrario, tendrá un error ahí o no se va a mostrar correctamente. Pero por favor tenga cuidado al reemplazarlo así, arriba y luego abajo y arriba de nuevo. Y entonces ahora sólo tenemos padres, así que ahora estamos terminados. Y ahora sólo tenemos que cambiar los nombres aquí. Una vez más, Shift F6 para renombrarlos, y luego cambiar siempre la acacia a flor de cerezo. Y entonces creo que deberíamos estar bien por aquí. Después de que hayamos hecho esto. Ahora como se puede ver, hay un pequeño bucle tedioso. Ojalá no hayas añadido como 20 puertas diferentes. De lo contrario. Quiero decir, lo siento. Es lo que es. Probablemente va a ser sólo una tarde muy aburrida para ti luego renombrar todo esto porque mi Dios es esto es esta molesta, pero es lo que es. Las puertas han cambiado y eso va a estar bien. Pero ahora podemos quitar los archivos de la puerta vieja Jason. Y con esto, finalmente estamos terminados. Por ahora. Abramos el juego y veamos si funciona. O tenemos otra garrapata aleatoria por aquí. Esto es por supuesto una vez más por lo aleatorio, correcto, acaba de quitar la importación Alt y Enter en esto, y entonces todo debería funcionar bien. Veamos, y continuemos. Veamos si hay alguna otra flechas. Podría haber otra garrapata programada una vez más, el mismo error aquí, no se preocupe en absoluto. Vamos a quitar esto Alton entrar al azar, y luego vamos a seguir adelante y ahora creo que deberíamos estar bien. Muy bien, así que la tela ha comenzado. Así que vamos a entrar y ver si podemos crear un mundo nuevo. Y esto se ve muy bien. Así que si llegamos a éste, eso va a estar bien. Y hagamos un mundo nuevo y veamos. Muy bien, así que aquí estamos en Minecraft una vez más. Entonces, primero que nada echemos un vistazo y ahí lo tenemos. Todavía todo está disponible. Así que vamos a echar un vistazo a si algunas de estas cosas aún funcionan de la manera que esperaríamos que lo hicieran. Consigamos una vara de espiga. Vamos a conseguir una tableta de datos por aquí. Veamos si todavía podemos encontrar algunos minerales. Y ahí lo tenemos. Hemos encontrado algunos minerales y se ha guardado en la tableta de datos. Entonces eso parece estar funcionando bien. Engendremos a las entidades. También todavía están bien. Parecen estar respondiendo bastante bien. Entonces echemos un vistazo al recalc y el bláster. Eso siempre es algo que es un poco interesante, ¿verdad? Entidades D-block si aún trabajan. Vamos a conseguir algo fresco. Vamos a conseguir un hacha de púas por aquí. Y luego por último pero no menos importante, vamos a conseguir un lingote de calcio de preocupación y veamos si esto también funciona. Y en efecto todavía funciona. Encontré conejo. Creo que tienes un poco de tema por aquí. Muy bien, ahí tienes. El Oracle puede escoger x también funciona. Por lo que esto también funciona aún bien. Entonces echemos un vistazo a si podemos localizar un bioma de links y y-naught. Y veamos si eso nos da algunas cosas. Por lo que deberíamos averiguar que no es el correcto. Queremos ir más con el espectador. Ahí vas. Podemos encontrar algunos de los árboles por aquí. Y tal vez también podamos encontrar algunas de nuestras flores. Y en efecto podemos, ahí lo tenemos. Por lo que solo algunas de nuestras flores, curiosamente, interesantes resisten a esto como modelo de venture. Eventual más. Ahí vas. Y luego tenemos rosas rosadas. Así que todo aquí parece seguir funcionando bastante exactamente como esperarías que lo hiciera. En realidad también localicemos una estructura solo para que tengamos esto. Por lo que este debe ser curso MC. Veamos, contando casa y hay un conde Mao's disponible y ahí la tenemos. Entonces todo sigue funcionando totalmente bien incluso con nuestro bucle personalizado aquí, que es exactamente lo que quieres ver. Entonces sí, eso es más o menos lo fácil que puede ser actualizar la tela a 119. Muy bien, y esto prácticamente concluye el curso. Muchas gracias por ver. Espero que te pareciera útil esto y aprenderás algo nuevo si lo hicieras, agradecería mucho una opinión tuya. De lo contrario, espero verte en posibles conferencias futuras ahora, ya no hay nada planeado actualmente, pero quién sabe, podría haber una o dos cosas extra que podrían surgir. De lo contrario, espero verte en cualquier otro lugar, tal vez en futuros cursos también. Entonces, sí.