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í.