Transcripciones
1. Habilidades en la Habilidades: Hola, soy Nico me pilló
en Estudiante de Maestría para informática y un
ávido jugador de Minecraft. Podría conocerme
de mis tutoriales de
canal de YouTube por Cotton joe, donde estoy haciendo tutoriales de
modelado de microondas. Bueno ahora vamos a ir
aún más grande porque esta es mi clase de modelado Minecraft
118 con forja. Aquí aprenderás todo lo
que necesitas hacer para hacer un impresionante y sorprendente mod de
Minecraft con la API
matutina de Minecraft más utilizada, forge. Los principiantes absolutos
pueden empezar por
pasar por la introducción del proveedor
Java, que realmente te
va a ayudar a entender algunos de
los fundamentos. Al principio,
aprenderemos algunos conceptos simples como agregar un elemento, agregar bloques, recetas,
e incluso herramientas personalizadas. Después seguiremos
mirando modelos de bloques personalizados, cultivos
personalizados, y tantas otras características geniales e
interesantes. Al final, incluso
abordaremos temas avanzados
como entidades de bloque y generación
mundial. Entonces, ¿a qué esperas? Date de alta a esta clase ahora, y quién sabe tal vez tu MOD 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 Java: 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 el
tipo particular de tipo de datos de
A, 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 Bitcoin, algo así. Eso definitivamente
no se debe guardar en un flotador porque eso podría ser muy
fácil obtener error de redondeo. Entonces 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 es no como un solo
punto en el espacio, tiene como un poco
de 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. Por lo que 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 almacenar desde
nueve cuatrillones negativos hasta cuatrillones positivos
nueve cuadrillones, lo cual es bonito, 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 puede
ser verdadero 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 carácter y caracteres especiales, coma
regular. 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. Y 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 quería atravesar aquí, pero los tipos de datos , de
lo contrario, espero que esto te fuera útil y aprendas algo nuevo y
te veré en el 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 helloworld 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 en realidad ejecuto esto
correctamente, Ahí tienes. Está bien, así que corre
esto Hola estudiantes, 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 una vez más sistema y
puedo empezar a escribir esto y se puede ver que
esto es algo así como tiene especie de la 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 un sistema fuera de línea de impresión, se
puede ver lo rápido
que a veces funciona. Sin embargo, no se preocupe. 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 enloquecer aún más. Por lo que una vez más,
System.out, línea de impresión. Una vez más, solo auto
completándolo 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. 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 en realidad 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 equivale a un nuevo. Y luego una vez más
escáner con una S grande con una S mayúscula dentro
de los paréntesis. Entonces vamos a
hacer
sistema de paréntesis . Y 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. Esto es básicamente importado. Entonces eso no son preocupaciones en absoluto. 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 línea de impresión de puntos, escriba su 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 que. Siguiente. Ahí lo tienes. De acuerdo, Así que a continuación, como se puede ver, tiene que ser escrito
así para que lo suficiente para 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 para el, para
probar esto básicamente, así que 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 podrás ver que tu nombre de usuario es verdadero. 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 las cosas dependiendo de
cuál sea la entrada es. 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 no no se se enfrentes cuando los llegas.: 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 que básicamente como
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. Entonces 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ías
simplemente no notar 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 funcione a
la primera vez ejecutándolo. Entonces por favor, en primer lugar, siempre se mantuvo tranquilo
cuando se obtiene un error. No es 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 personaje u otra
línea 11, en el personaje ocho. Entonces esto en realidad es
realmente jodidamente cool. Por lo que podemos encontrar de inmediato en
dónde está esta flecha. Se puede decir, Vale, he
hecho un error tipográfico ahí o me olvidé de 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
les hablé es hace, 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 a esto se le
llamaría el seguimiento de la pila. Entonces una pila traza en términos como
laicos solo 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 código de salida uno, o a veces
también podría decir terminado con 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, obtuve un error y tu
post-proceso terminado con código 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. Yo
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í. Tan solo 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? Y 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. Vamos sólo algo que
quería darte, que puede ser muy
importante, ¿verdad? Pero eso 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 errores. Si recibes errores 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) Integras y métodos de arte y matemáticas: O volveré a la introducción de Java aquí para el curso de modelado 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 justo 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 por n Lo que voy a hacer
es en realidad voy
a dejar que todo esto correcto? 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. Una vez más va a
seleccionar este control C y luego Control V justo aquí. 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? Bueno, 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 resto 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. Entonces deberíamos ver al final aquí un pop-out de 100 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 ya 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. Al igual que 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. 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 la mañana 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. Bueno, por ejemplo,
vamos a hacer un nuevo booleano aquí. Por ejemplo, le gustan las conferencias. Conferencias, se aseguraron de que
esto esté escrito 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 la Q y a. Así que podría, por
ejemplo, tomar 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 esto también es un más grande 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 a 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 consideraban
esto, 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 como si fueran 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. Eso es muy importante. Y aquí por supuesto,
esto es falso. A medida que por supuesto 98
no es 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í. Aunque. 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 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, ya que la 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. Donde devuelve
verdadero 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 puede pensar en ello así. Cuando teníamos una calificación más, tomamos un
entero a la izquierda, más un entero a la derecha
y devolvemos 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 más o menos el mismo. Acabas de poner, por ejemplo aquí un entero y un entero, y devuelves un booleano. Eso es, 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 un booleano, que en realidad debería tener
sentido es que sólo
hay alguna vez una respuesta correcta
en este caso, ¿verdad? Si o bien 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 aprendas
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. Por lo que terminaron
los núcleos y la 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 se
puede pensar es que cuando se tiene uno de
esos que devuelve un booleano, se
puede por supuesto, después
encadenarlos juntos. Entonces también se puede decir, por ejemplo, terminar hacer
pregunta, ¿no? Entonces puedes ver que debido a que 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 la mañana 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,
veamos, tenemos que escribir un programa que evalúe esos valores
de esos dos exámenes. Y básicamente dice: Oye, has colado 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 cuando 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 como otra cosa. 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 la declaración 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
especie de supercarga esto agregando una
LLC o 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, ¿verdad? Porque lo demás
sucede realmente 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 uno de examen pasado. Y por supuesto
estamos consiguiendo esto porque en este caso el
examen 1 es más grande que, mayor 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 pasando
este Examen Final 2, 0, ¿verdad? 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? sólo puedas poner
este ahí dentro. Básicamente si esto es falso, entonces lo contrario y luego
poner otra
declaración if es 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 entonces el último
siempre va a ser de lo contrario 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. Ahora 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 2. 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 hasta
repositorio o un justo igual de bien. Pero echa un vistazo a
los de los recursos. Y recomiendo encarecidamente jugar un poco con
esto, sólo leer algunos números
al compararlos, hacer algunas declaraciones if, simplemente hacer un
montón de cosas geniales. Con esto, 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. Entonces 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í vas. 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 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 usuario número
de entrada 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
frase longitud de punto. 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. ¿ Por qué no? Y lo primero
va a ser gritar. Entonces eso va a significar
que todo aquí, me voy a convertir en
mayúsculas. ¿Cómo hacemos esto? Bueno, podemos hacer sentencia dat
a mayúsculas aquí mismo. 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 muy medio, eso también es sólo dar salida a la
frase una vez más. Añadamos también un
comentario, ¿no? Entonces 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í, bueno, sólo
deberíamos conseguir la
cadena minúscula también, ¿verdad? Entonces si solo apagamos 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 x es
0 o x más es igual a 1. 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
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 sólo un momento. Vamos a decir índice de punto de
frase de, podemos ver que hay un par de diferentes tipos
de índice de aquí, pero queremos esta cadena 1. En realidad no
importa por cierto, cuál elijas
aquí 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? Aha, 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 termina. Hay algunos otros lugares
donde tenemos que usar esto. Pero si empezamos a contar a 0, se
puede ver que es 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 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 sí es muy interesante, cuando realmente pensamos en esto. Y bueno que si
vamos en realidad somos, somos, no somos,
esto no es correcto. Donde estamos 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. Es, 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, Escribo y eso
sería cierto en este caso. Y entonces también podemos, puedes adivinar 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 que pasa si tenemos un, una cuerda y
solo vamos a llamar a esta
S por el momento, y sólo va a ser
una cadena 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 su, por qué molestarse, eso está totalmente bien. Y se van, esto es
en realidad ¿dónde es verdad? Es cierto. Por supuesto
que es cierto. Perdón. Ahí tienes, ¿verdad? Por supuesto que 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 aquí
también. Hermosa. ¿ Y al revés? ¿ Cuándo pensamos en los gastos generales de
índice? ¿ Y un cierto personaje
en cierta posición? 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 sólo hagamos
una cosa más. Y esa va a
ser la subcadena. Interesante subcadena.
¿ Qué hace eso? Bueno, hagamos sistema
fuera de línea de impresión, y digamos solo 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ño 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 junto al, trabaja a través de ella y ve
si no puedes arreglarla. Pero eso sería
más o menos por las cuerdas y estas clases de método de
cuerdas. Espero que te haya parecido
útil esto y
aprendas algo nuevo si hiciste nuestro muchísimo
aprecio una crítica de ti. De lo contrario, te veré en la próxima conferencia sin embargo. Sí.
16. (Java) Casting: O doy la bienvenida de nuevo a la introducción de Java aquí
para el modelado de Minecraft. 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. Entonces, 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 un 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 sólo. 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 entonces un entero
llamado regalo para 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 dos. Entonces 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. 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í vas. 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. Ah, lo tengo. 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 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 de 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) Arenas de Java: 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 viendo, ya
sabes, 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 lucho con es, 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 cuerdas E3, ¿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, 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, ya sabes, cambiar múltiples cosas
al mismo tiempo, pero luego todas cambian
al mismo número y es todo tipo
de solo metido la pata. 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 un 100 por ciento
de lista, ¿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 un
área de cuerdas de respuestas. Y sólo vamos a
echar un vistazo lo que eso implica básicamente. Entonces, ¿cómo hacemos una matriz? Bueno, solo tecleamos
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? 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 así. Y yo 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, sistema fuera de línea de impresión, y entonces
sólo podemos decir preguntas, sin preguntas, ahí tienes. Y entonces por ejemplo, tres años ahora 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 quizá 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í. Pero eso es en realidad
lo que hace falta. 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 las respuestas aquí. 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 un 0. Eso está totalmente bien. Todo lo que podemos hacer es
ahora, bueno, bien, entonces podemos simplemente reasignar esto para que ella
así podamos tomar esto. Yo sólo voy a tomar esto. En realidad, voy a
escribirlo esas preguntas. Una vez más, el corchete 0 es igual, por ejemplo, ¿qué edad tiene Ian? Msc, Gregor, justo en 2020. Eso es sólo
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 datos, ¿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í. Y 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í. Entonces 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 corchete que 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, este es el índice tres. Yo quiero la pregunta
con índice tres. Está bien, bastante justo. Pero eso
está fuera de límites porque esta zona 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 igual que
dame sacarlos, ponlos en un orden aleatorio. No va a funcionar porque
definitivamente hay que aprender estas cosas. Este tampoco es el enfoque
correcto, blanco. 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 obtienen flechas todos los días. Entonces nunca te sientas mal
por eso en absoluto. Y sí, así que esa es una especie
de idea general de las zonas 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, ya
sabes, 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 nos vemos en
la próxima conferencia. Entonces, sí.
19. (Java) bucles de bucles: 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 bucles. Lo que vamos a
necesitar para esta conferencia son ambas de estas matrices de
cadenas que hemos hecho previamente para las preguntas y
las respuestas de todos modos. 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. Por lo que 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. Pero, ¿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. Lo que se
está comprobando 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. Todos están de acuerdo, sí. Pero tan pronto como es un 100100 no
es menor que un 100. En realidad es igual a un 100. Por lo tanto, esto ya no es verdad
básicamente. Por lo tanto, esto
ya no se ejecuta por un 100. Y 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. Hazlo ahora te voy
a decir, bueno, salida todas las
preguntas y respuestas y solo vas a
ocupar sistema fuera de línea de impresión. Ahora 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 preguntas longitud
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, bueno, cualquier índice que
quieras y cualquier índice que tome
este entero. Otra
cosa realmente loca es porque en
realidad estamos mirando la
longitud aquí, ¿no? 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 Fe. 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 sé, sé muy bien
cuál es ese el caso. Sólo vamos a escribir
para eso puedo decir cuerdas preguntas de Polonia Occidental. Y la forma de leer esto es para 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. En realidad 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. Pero 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? Pero entonces sólo
vamos a decir, Hey, ¿la persona
quiere seguir usando? Queremos continuar. Y entonces 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 la palabra clave real
lo contrario nos vamos a romper. Este es un ejemplo aquí de la palabra clave Continuar y
la ruptura. La palabra clave continue básicamente ignora todo lo que
viene después dentro del bucle y salta de
nuevo a la parte superior
del bucle donde la
palabra clave break sale 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, esto es
por supuesto un bucle sin fin, ¿verdad? Entonces, para
que mientras escriba, sí, esto va a continuar y en
cuanto escriba cualquier otra cosa, se va a salir de ella. Entonces esa es una especie de la idea
de este while loop aquí. En realidad echemos un
vistazo a esto para que pueda teclear. Sí. Y puedo teclear, sí.
Y podría teclear. Sí. Y entonces voy a cometer
un error aquí y un OH, no, De repente
el código se detiene. 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 while loop y tienes un montón de
Continuar y se rompe ahí. 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. Por lo que 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 a lo mejor 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. Por lo que todas las preguntas,
respuestas justo en inscribir. Por lo que 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 astutos. 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 lo que pasa aquí. Entonces vamos a escribir estática
pública, nula. 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 de 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 adentro. 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 realmente 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 todas 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 en los objetos se explicó: O doy la bienvenida 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é es pasando y para
entender el lenguaje hablar con
gente que conoce programación y cuando
sigo junto con esto, así que sobre todo en
la parte
de Minecraft de esta conferencia o este curso, eres va 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. Entonces 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 en las clases
puede heredar funcionalidad, que serían métodos,
variables de otras clases. Y 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. Bueno, 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. Se trata de 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 básicamente definen un
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 una especie de
la idea general, campos o atributos ya que
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 lo vamos a ver por supuesto, también en vivo 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. Pero 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 están relacionados
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, vamos a hacer 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 hemos creado un objeto. 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. Ahí hay, se puede ver esos son dos objetos diferentes o dos instancias diferentes
de la clase Perro. 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? ¿ Cuál sería ya
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á todo para
esta conferencia aquí mismo. Espero que hayan encontrado esto útil
y las neuronas sean las nuevas. Y nos vemos 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 público de cadena. 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, alguien
como un vacío público. Y luego lo haremos por ejemplo, que podamos hacer de 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 con él? Bueno, podemos hacer lo siguiente.
Se podría decir perro, ¿verdad? Logo. 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, pensé en ti como que
deberías 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? Realmente 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? Pero 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í. 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 en realidad
crea un nuevo objeto. Y entonces podemos hacer
sistema fuera 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
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, está bien, 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 Benji dot, WAF o racy dot. Todos deberían 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
échale un vistazo a eso y entonces, bueno, solo saltaremos justo dentro. 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, de acuerdo,
entonces, ¿cómo vamos a usar esto? O cómo podremos no
hacer que algunos campos cambien o como modificables
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, no
es realmente 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í en
la palabra clave protegida también funciona o clases
que se extienden a partir de esto. Entonces, básicamente, los ácidos 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á
enloquecido 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 tener edad a la edad, edad. Y ahora aquí está lo muy
interesante. Por supuesto que esto no funciona. 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
se llame solo 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 perro a 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
cambiarlo porque ahora tenemos el mismo tema
una vez más tasa por lo que los perros, tu multiplicador y
de repente equivale a diez. Podemos simplemente cambiar esto
y es como si eso no fuera 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 cuando es una variable
final, entonces 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
lo siguiente, ¿verdad? 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, ¿verdad? Donde podemos usar el multiplicador
aquí que vamos a devolver la variable de edad
tiempos el doctor aquí, doctor
humano,
multiplicador del año humano ahí mismo. 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. Esa 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 el modelado de 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 poner mucho más claro. Y una vez más,
puedo mucho solo aconsejarte que pruebes
un montón de cosas. Basta con encender la inteligencia. Haz un montón de clases, y sólo prueba
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, ¿no? 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 tengo alrededor de
lo mismo Aquí. Yo lo olvido. Ya veo. Yo 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 del
argumento de que alguien
diga, Sabes qué, realmente
quiero una clase de
gato también porque no soy una
persona de perro, 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. Y entonces podrías ser como,
bueno, yo también necesito
envejecer que el getter
y luego el lobo, tal vez el bebé y Mimi
Chao y llegas a un punto en el que estás
copiando sobre mucho código y por lo general
tabbing sobre 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 y 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, y 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 b-a, esta clase de Perro, todo
aquí se está poniendo. No obstante, queremos
asegurarnos de que todos, que cada clase que en realidad hereda de la
clase Animal también funcione. 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 así. 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. Entonces en realidad podemos
poner en PI como lo puedes ver en realidad
ya por solo decir, tomemos todos
los parámetros aquí y los pongamos en año. Y ahora este super ahora está llamando al
constructor Animal aquí mismo. Entonces esto es realmente
perfecto en este caso. Entonces algo más,
tal vez por ejemplo, el, tanto el conseguir edad como
el cumpleaños
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 ajustarme, hacer
esto 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 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? Entonces gato nuevo 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 había como 12 años de edad o
algo así. Y entonces simplemente podemos
llamar, por ejemplo, bigotes punto y se puede ver
puedo llamar a todo envejecer. 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, comunicar, pero 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, pero no podemos hacer esto. Y otra cosa realmente
interesante es que esto es definir
la clase animal. No obstante, todavía puedo
decir algo así como bigotes, sonido adámico, ¿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 mix sound 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 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 acuesta la lentitud, aquí
tenemos algo
diferente. Y lo que luego
verás si en realidad llamo, por ejemplo Benji
dot hacer sonido. Y entonces también voy a
Gracie, no hagas sonido. ¿ Qué pasará ahora? Bueno, bastante interesante. Miau, 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 Europa 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? Perro es tanto el perro
como el animal son suficientes. 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. Vamos a salvar a Jenny dot PNG. Jenny, tal vez Guinea sea 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, rabia, animales frescos. 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 se
salvan
como animales, ¿no? Si quiero recuperar
esos, animales, punto conseguir uno, por
ejemplo, hacer sonido. Entonces les hace
su trabajo, ¿verdad? 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, digamos, 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 se mueva. Entonces eso es 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 entonces solo 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 3: juego de Trivia con clases: 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 y
realmente probar esto. Y supongo que
te veré en la solución.
30. Solución 3: juego de Trivia con clases: 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 hacerlo. Y luego lo mismo con
la tasa de juego trivia. 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 este es el donuts justo aquí donde sólo tenemos
un nuevo ArrayList y luego agregamos un montón de esos triviales ahí mismo a
esta 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 agrega, 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 infinito while
loop justo aquí, justo 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 casi
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 de cheques pueden ser una montura máxima de sobrecalentamiento,
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 intentar 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 tiene edad suficiente 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 maneras en 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 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 (Java): 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: 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. Entonces eso es bastante cool en realidad, esto también se usa en la
programación de lujo mucho o modelado
forzada, sobre todo porque
cuando el proveedor, cuando tienes 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 al
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, realmente 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: 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í. Nosotros 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, eso 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 de (Minecraft Instalación y configuración y GitHub: Muy bien, Bienvenido a
la porción de microbios para el curso de forja 118. Y en esta conferencia vamos a descargar todo y
configurar el entorno de desarrollo para que pueda iniciar el modelo de
microbios. Bueno independientemente de
si
ha visto o no la introducción de
Java, vamos a necesitar
descargar el JDK 17 esta vez. Porque, porque
Minecraft 118 y arriba probablemente iba a usar listo cueva y adolescente aquí mismo. Por lo que una vez más, he
vinculado adoptarlo aquí. Simplemente descargues
el último lanzamiento, asegurándote de que estés en
tamarin es 17 justo aquí. Si estás en
uno diferente, debería, en teoría, detectar tu sistema
operativo y todo eso. De lo contrario,
todavía puedes ir siempre a las otras versiones y luego elegir tu sistema operativo y tu arquitectura, y
deberías estar bien. Recomiendo en Windows solo
descargues el MSI y luego
básicamente instalas esto en tu PC como cualquier otro programa. Una cosa que recomiendo encarecidamente
es decir, hey, sí, queremos que la variable
Java home se establezca aquí mismo, porque eso
solo va
a ahorrar muchos problemas
más abajo de la línea. Porque cuando la
variable de inicio Java se establece una vez, básicamente
son sólo
hace nuestra vida un
poco más fácil después de
que eso se instala, también
necesitamos un Entorno de
Desarrollo Integrado IDE y vamos para
usar idea IntelliJ. Recomiendo encarecidamente usar esto
también porque de lo contrario podría
haber algunas diferencias en
cualquiera de las bandas que tienen que
presionar como atajos. También estamos donde
encuentras ciertas cosas dentro de tu entorno de
desarrollo. Elegirás la versión
comunitaria porque
es gratuita y construida
sobre código abierto. Entonces es perfecto para nosotros. No tendrás que pagar
nada por esto. Es absolutamente gratis. Simplemente descarga esto
y una vez más, instala cualquier otro
programa en tu PC antes de que abriremos hasta
hoy por primera vez, ahora
tenemos que
descargar micro Forge, en este caso para un
microbio 1800s uno. Entonces si estás viendo
esto en el futuro, quizá ya
estemos a ciento,
ochocientos dos
o incluso versión superior. ¿ Quién sabe? Lo que definitivamente será más alto es esta versión aquí
mismo, ahora mismo estamos en 39.5
ahora, eso está totalmente bien. Lo que vamos a hacer es que
vamos a descargar el NDK. Pero antes de hacer esto,
un
aviso muy importante aquí desde el futuro. Por favor, utilice ciento
ochocientos uno al iniciar el curso. Recomiendo encarecidamente esto. Si no haces esto
y usas 1800s dos, entonces algunas cosas no
funcionarán como las etiquetas, el elemento avanzado que
básicamente vamos a usar con las etiquetas así como con
la generación mundial. Ahora, una vez que llegue a ella, quiero llegar a ella muy pronto. Pero ojalá en
el futuro al final del curso, iba a
haber una
sección que es de 1820, si en realidad sí lo ves. Así que solo echa un vistazo a
todas las conferencias. Y si ves una
sección al final Eso es como 1182 actualizaciones, entonces puedes entrar ahí y en realidad pasar por todo
el curso. Y luego cada vez ahí
donde hay un cierto, un tema que
no funciona como etiquetas. Serán las etiquetas conferencia y todas las conferencias de
generación del mundo. Entonces básicamente puedes
saltarte por encima de todo lo demás, ir al final del curso, hacerlo, y luego
continuar de regreso. Recomiendo encarecidamente la mejor
opción es quedarme con uno 1800s por el momento y luego solo pasar por todo
el curso una vez, luego cambiarlo a
182 también será una conferencia que voy a hacer en el futuro al
final del curso. Por lo que no se preocupe ahí. Vamos
sólo una idea muy inteligente. De lo contrario, por supuesto que
eres libre
de elegirlo, pero por favor ten en cuenta que algunas cosas no funcionan igual en 1800
como lo hacen en 181. Sólo quería decir eso. Ahora, volvamos a
configurar todo. En el futuro. Probablemente tendrás
dos ventanas aquí, una de las que es la
más reciente y luego recomendada, siempre elige la compilación
recomendada actualmente, que aún no se ha actualizado a
una versión suficiente. Para que básicamente digan, Hey, esta es la versión recomendada, eso va a estar bien,
pero siempre
va a ser el M-Cdk que queremos. Y luego aquí sólo tenemos que
esperar cinco segundos hasta que podamos descargar
el archivo zip. Y luego hacemos clic en
el botón Skip en la parte superior y luego se descarga el firewall
zip. Ya lo he preparado, así que tengo mi
archivo zip aquí mismo. Entonces voy a hacer clic derecho
y luego extraer para forjar aquí un nombre loco. Y también voy a
renombrar esto por supuesto, uno 1800s, ellos hace. Entonces podemos eliminar el archivo
zip aquí mismo. Este es el contenido de la carpeta
del proyecto o que
vas a tener. Y lo que podemos hacer es que
podamos eliminar todos esos,
los créditos, el
bloqueo de cambio, la licencia, y el Redmi porque
hay específicos para forjar eran en realidad
o yo personalmente, voy a tener mi propio
archivo de licencia y todo eso en apenas un poco
sobre después de que eso se configura, ahora
podemos iniciar la inteligencia
por primera vez. Ahora la ventana con la que
serás recibido probablemente te parecerá un
poco diferente. No obstante, lo que definitivamente
tendrás son tres botones, El botón Nuevo Proyecto, el botón Abrir, y se
obtienen desde el botón VCS. Queremos hacer click en el botón Abrir y queremos navegar
a este directorio. Así que también puedo simplemente copiarlo, ponerlo aquí, y luego
elegir esta carpeta aquí mismo, donde las carpetas fuente dentro de
esta de aquí dicen bien, vamos a
decir que confiamos en el proyecto, entonces se abrirá una nueva ventana. Ahora las cosas comenzarán a
suceder en segundo plano. Podrías recibir errores, tal vez
te pongas
algo rojo aquí. No te preocupes por eso.
Vamos a arreglar todos ellos paso a paso, lo mismo con una advertencia
aquí se puede ver rojo, esta advertencia aquí mismo. Eso está todo bien. Sólo deja que esto pase. O vamos a conseguir construido fallido o una construcción exitosa. Cualquiera de ellos en este momento
está totalmente bien para nosotros. Muy bien, mira eso. En realidad tengo una construcción exitosa aquí,
eso está totalmente bien. Como dije, si
te falló un proyecto de ley, vamos a pasar por esto y ver qué podemos cambiar
básicamente. Hay algunos pasos
que debemos
tomar básicamente independientemente
de lo que esté sucediendo. Entonces lo que queremos
hacer es el número uno, quieres ir a Archivo y
luego a la estructura del proyecto, queremos asegurarnos de
que en el
SDK del proyecto aquí mismo diga 17. Por lo que básicamente queremos elegir el JDK que
acabamos de instalar. Igual con el proyecto de
lenguaje. Esto debería ser 17. Vamos a golpear
aplicar y decir, está bien, también
vamos a ir a configuración para construir implementación de
ejecución, herramientas
integradas Gradle,
y asegurarnos de que diga SDK del proyecto aquí
mismo con 17. Esos pasos son de
suma importancia. Por favor, asegúrate de que
todo aquí sea correcto. Después de que eso se hace, hay una modificación más
que tenemos que hacer. Ya ves si abro la carpeta
java aquí mismo, puedes ver que todo
aquí es una especie de extendido. Si la inteligencia está abierta
por primera vez, podría parecer
algo así para usted simplemente ir
a la marcha aquí. asegura de que tanto los paquetes
aplanados
como los
paquetes intermedios compactos estén apagados. Y entonces se va a
quedar exactamente igual aquí como lo hace
para mí en este momento. Todo aquí ha corrido
correctamente, Eso es genial. Entonces lo que vamos a hacer
es que vamos a abrir la terminal aquí y
vamos a poner en punto slash Gradle w Gen Intel
J corre ahí mismo. Y luego vamos a
golpear Enter y simplemente dejarlo pasar por
esto básicamente solo descarga un montón de
cosas más y solo aseguramos de que todo se haga
básicamente correctamente. Y luego vamos a construir con éxito. Si tienes una primera
píldora exitosa, esto podría no
siempre ser necesario. No obstante, es genial
hacer esto sin embargo. Y ahora vamos a
cambiar algunas cosas. Pero antes que nada,
vamos a abrir el archivo DOD Gradle incorporado. Y luego aquí ves que hay una versión de grupo y
una base de nombres de archivo. Pero la versión, bueno, vamos a poner en
algo así como 0.01. Y entonces por lo general lo que
es aconsejable es poner algo en eso dice la versión
micro también. Entonces voy a decir
mi versión de 0.01 y luego guión 100,801 porque por
supuesto estamos en 181 ahora, el grupo aquí es el mismo que los nombres de nuestra estructura de
paquetes. Así que para mí eso va a ser
neto y por supuesto Joe Mc. Para ti, esto sería
neto o calmaría tu nombre. Y entonces por ejemplo, también
podrías elegir curso MC, o si tienes otro modelo, también
podrías por supuesto
elegir una melodía diferente. Aquí solo tomamos nuestra idea de
modelo también, y eso
resume prácticamente todo lo que necesitamos aquí. Realmente no hace falta
cambiar tanto. Lo que no podemos cambiar el suyo
aquí mismo se puede ver el modo de ejemplo. Dice aquí, sólo podemos seleccionar esta prensa Control R y luego
cambiar esto a curso MC. Se puede ver que
aparecerá una nueva ventana en la parte superior. Y luego podemos básicamente poner ejemplo Mater en el
curso mc superior aquí y luego solo decir reemplazar todo eso básicamente todas partes donde
dice ejemplo mod en este archivo
reemplazará con curso de EMC. Y lo que podemos hacer
entonces es que podemos cargar los mayores cambios presionando al pequeño elefante en la esquina
superior derecha como viste. Y entonces
básicamente va a correr otra vez. Esto no debe tomar
tanto como la primera vez que vayan Bien exitosos en nueve
segundos, eso es genial. Y luego nos vamos a cambiar algunas cosas más y cambiar algunas cosas más que haremos
en la clase mod ejemplo. Porque lo que pasa
aquí es que, bueno básicamente no
tenemos un modo de ejemplo. Lo que tenemos es
que tenemos cuerda neta de algodón, curso
MC o neto tu
nombre, curso MC. Así que lo que vamos a hacer es en
la parte superior aquí en el paquete, vamos a decir net out
y Joe dot MC curso. Por supuesto esto está marcado con un subrayado rojo y
vamos a pasar el puntero sobre esto y decir
Move to package net Cotton joe MC curso
voy a decir que sí. Y luego se puede ver una nueva estructura de
paquetes
aquí surgirá. Por lo que ahora podemos eliminar
el resto que está vacío. Entonces queremos
cambiar el nombre de esta clase. Entonces lo que podemos hacer es que podamos hacer
clic en él, presionar Shift F6, y luego vamos a nombrar a esto
el curso MC mod day ago. Ahora, es muy importante
es que esta clase,
la clase de simulacro de curso MC, se referirá posteriormente como especie de la clase principal
o su clase mod principal. Entonces si alguna vez digo que
esto es lo que quiero decir, entonces venimos al MOD ID. El ID es algo
que es muy importante. Así que por favor escuchen atentamente. El ID de MOD solo puede contener caracteres en
minúsculas. El ID de formato es básicamente un
identificador único para tu MOD. Y va a venir en
muchas ocasiones en el futuro. En este muy top
aquí en el AdMob, se
puede ver que
tenemos una cuerda aquí. Entonces lo que vamos a hacer
es que vamos a seleccionar toda
la cadena con
las comillas. Vamos a hacer clic derecho. Vamos a ir a re-factorizar. Vamos a decir
introducir constante. Voy a llamar a esto
el ID de subrayado mod. En realidad voy
a es copiar esto a la parte superior aquí. Este va a ser usado muchas veces en el futuro. Y esto es para el curso US MC. Recomiendo encarecidamente
quedarme con esto y poner lo
mismo aquí. Este es un curso MC muy importante todo escrito en
minúsculas por completo. Esto aquí también tiene que coincidir
en la carpeta recursos, meta nth modo Stato Mo. Y se puede ver aquí mod ID, esto también tiene que coincidir. Esto es increíblemente importante,
muy importante aquí. Mostrar nombre,
digamos por ejemplo, el curso moderno de Minecraft mod. Algo como esto ofrece
¿qué tal hilera de algodón? Esos no son todos necesarios, pero esto es solo un Idealmente, no necesariamente
tienes que poner esto. Vamos también, permítanme
cambiar la licencia al MIT por si acaso y el ego. Entonces esta es la idea general de básicamente configurar
todo. Tendrás que cambiar esta estrella
íntima Tom o archivo. Y aquí arriba eso es
muy importante. Y por lo general eso debería resolver casi todo lo
que tienes. Una vez más, asegúrate revisar la
estructura del proyecto en la configuración. Y luego después de que hayas
cambiado todo eso, corre, la barra de puntos Gradle,
Jen inteligente corre. Y luego después de que hayas hecho eso, estamos más o menos configurados. Esto es más o menos todo
lo que tenemos que hacer para la configuración. O ahora podemos hacer es ir
a la parte superior derecha a la pestaña Gradle aquí, ampliar las tareas y el ferrocarril de forja corre y luego hacer doble clic en
él, ejecutar un cliente. Veamos si Minecraft
comienza por primera vez. Ese es el paso más importante. Básicamente, lo que estoy muy seguro de
que esto va a funcionar bien. Ahí vas. Ya
se ha abierto la ventana y sólo
veamos probablemente va a
escuchar el sonido muy pronto. Y ahí estamos. De acuerdo, Déjame antes que nada, apague
inmediatamente la música y el volumen un
poco. Hace ellos. En nuestros modos, se puede ver el modelo de curso moderno microbio. Hay
versión del curso MC en este momento 0 porque no lo hemos definido correctamente en el archivo HTML
mos dot. Pero eso es más o menos
todo lo que necesitas hacer. Si llegas a este punto
y Minecraft ha abierto. Bueno, bienvenidos a forjar mañana. Va a ser un viaje genial
e impresionante, estoy seguro de ello. Y lo siguiente
que vamos a hacer es que vamos a configurar el repositorio de GitHub
para este proyecto. Recomiendo encarecidamente no
saltarse
el paso ya que el repositorio de GitHub me
ayudará a ayudarte en las preguntas y respuestas Por ejemplo, si solo me
proporcionas tu
repositorio de GitHub
podrás ayudarte mucho más rápido que básicamente si sólo
dices, Oye, tengo esta flecha. Por lo que sólo hace que todas nuestras
vidas sean un poco más fáciles. Por lo que recomiendo encarecidamente también configurar un repositorio de GitHub. Pasaremos por los
pasos en este momento. Lo que necesitarás para
eso es una cuenta de GitHub, pero esta es completamente gratuita y
recomiendo encarecidamente hacer esto. Esta es una herramienta que es utilizada por, quiero decir, casi todos los programadores. Hay algunos sitios web diferentes, pero GitHub en sí mismo es de gran reputación y solo
recomiendo encarecidamente usarlo también. Entonces después de haber hecho
una cuenta ahí, lo que podemos hacer en
inteligente es que podemos ir
al VCS aquí arriba y podemos
decir compartir proyecto en GitHub. Y luego se puede ver
que voy a llamar a esto el curso de forja el 18. Eso está bien. Yo personalmente voy a
hacer esto privado. Si quieres compartirlo, por
supuesto no puedes
hacerlo privado. Y ahora si hago clic en
el botón Compartir, se
puede ver, hey,
cuenta está vacía. Vamos a añadir
una cuenta nueva. Y lo que voy a decir es que
entraré a través de GitHub. Puedo hacer clic en esto y luego
esta ventana aquí se abrirá, simplemente di autorizar GitHub. Y porque ya estoy conectado
a GitHub aquí mismo, esto ya ha
autorizado y se puede ver silla por github.com
slash coulomb joule. Ahora diremos Compartir
y luego se abrirán un montón de cosas
nuevas aquí se
pueden ver Agregar Archivos,
muebles, comprometerse. Vamos a decir, claro
que está totalmente bien. Y luego puedes
ver que en realidad se comparte en GitHub y eso es en realidad todo
lo que necesitas hacer. Ahora puedo hacer clic en
esto y debería abrir el repositorio de GitHub. Y ahí está. Este repositorio de GitHub
estará disponible para ti también. Por cierto, esto
es muy importante. Tendré cada conferencia separada en diferentes
ramas para que
básicamente puedas ver
y comparar muy fácilmente con
lo que has escrito. También tendré
gists individuales para cada conferencia. Entonces no se preocupe. Todo el código estará disponible en alguna forma que te va a ser
muy útil si ahora haces un cambio aquí. Entonces, por ejemplo,
voy a decir algo así como comentario muy importante. Verás que el archivo donde ocurre
el cambio,
se vuelve azul. Y entonces lo que tengo que
hacer es que tengo que ir a esta pestaña commit aquí mismo, habrá que seleccionar todos
los cambios que
quiero cometer. Entonces digo añadido elemento
importante. Entonces esto es sólo un nombre
de lo que pasó. Y voy a hacer clic en Commitar. Ahora por lo general
puede que también te pongas, oye, tengo como 63 advertencias. ¿ Estás seguro de que quieres comprometerte? Por lo general sí quieres comprometerte. Ahora esto acaba de pasar,
fue muy importante, es que sólo porque
hayamos comprometido algo no
significa que
todavía esté en línea, porque para hacerlo en línea,
en realidad hay que empujarlo. Entonces en la parte superior aquí, la flecha verde que
apunta a la parte superior derecha, tenemos que hacer click en esto. Entonces se puede ver agregado
el comentario importante. Podemos ver los
cambios básicamente, quién, quién hizo esos
cambios y todo eso. Y después podemos simplemente
hacer clic en el botón pulsador. Y entonces dice empujó a uno
comprometerse al maestro de origen. Entonces si vuelvo a abrir esto
y recargo este lado, se
puede ver añadido comentario
importante. No quiero que esto
se devuelva en
un GitHub ni obtenga un
tutorial aquí mismo. Pero por el momento,
eso es más o menos. Eso es más o menos
todo lo que necesitas. Y ahora puedes embarcarte en el viaje loco y fresco de Minecraft
moderno con 4241801. Pero 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.
39. (Conceptos básicos de (Minecraft: Muy bien, bienvenido de nuevo
al cuarto curso para 118. En esta breve conferencia, vamos a estar cambiando nuestros mappings para que sean mappings
de pergamino. Ahora, sólo un poco
de explicación aquí. La idea es que si usamos
las mappings normales
proporcionadas al fusionar el servidor
oficial vaya al archivo Gradle acumulación de RI. Ver aquí tengo los
mapeos oficiales para 180 uno. Y si bien esto está totalmente bien, lo que sí sucede es que todos
los métodos no
tienen parámetros de mapa. Esto significa es que cada método que podríamos anular
o algo así, el nombre del parámetro
siempre va a ser algunos, como P subrayan algunos números y luego subrayan
un o lo que sea. Y esto es realmente
jodidamente, molesto, sobre todo si tienes
métodos que podrían tener 56, 57 parámetros. Y todos tienen
estos nombres extraños ya que son fremitus. Por eso recomiendo encarecidamente
ir con pergamino. Ahora tengo dos enlaces
en los recursos. Uno es el repositorio bibliotecario GitHub
aquí desde pergamino, y otro es el repositorio
de pergamino. Y lo que encontrarás
es que actualmente no existe
la versión 118 X. Por lo que no se encuentra que
no sea estrictamente cierto hay una instantánea
nocturna. Ahora, una instantánea nocturna
en este caso significa
que definitivamente
aún no es un lanzamiento completo. Es, uh, funciona y ya
se puede trabajar con él, pero no es muy
recomendable, sabes, Aún no está hecho, por así decirlo ahora, todavía lo
usaremos. Y lo que diré es que
estaré actualizando esta conferencia. O a medida que avanzamos
por el caballo, podría tirar una o dos guías de actualización
de pergamino en su general, generalmente actualizarlo
prácticamente sólo está cambiando. Algo que
te mostraré en tan solo un momento. Ahora lo que podemos hacer es en
el bibliotecario aquí lo puedes ver básicamente dice
todo lo que necesitas hacer. Entonces es muy sencillo. Por ejemplo,
lo primero que tenemos
que hacer es añadir
esto aquí mismo. Por lo que el pergamino del repositorio de pergamino
Maven. Déjame copiar esto. Acude al
curso de forraje aquí mismo. Y luego en la parte superior, debajo de esto,
queremos pegar eso en. Ya puedes ver ahora tenemos
el pergamino ahí. Y luego queremos
revisar el segundo. Y ese va
a ser el bibliotecario sin embargo, el teorema del camino de clase. Por lo que una vez más copió
Control C y luego péguelo por debajo
del Gradle aquí. Entonces aquí mismo en
las dependencias, entonces queremos tomar el
plug-in justo aquí, y esto tiene que estar
exactamente por debajo de esto. Entonces aquí mismo, justo
muy importante. No lo pegues aquí, pero por debajo de la red
Minecraft Gradle, lo contrario no funcionará. Muy importante. Y luego por último pero no menos importante, es
necesario cambiar los mappings. De hecho copiaré eso
de la otra pantalla que
tengo aquí porque ya tengo la versión nocturna
básicamente hecha. Sólo veamos que hace. Entonces esta sería la versión nocturna del 13 de
diciembre, instantánea
nocturna en este caso, como dije, si salen
versiones más nuevas, vincularé aquí
en algún lugar o
tendré futuras conferencias o
cambio esta conferencia. Y vamos a, sólo
a ver, vamos a hacer esto, sin preocupaciones en absoluto. Y en general, esto ahora debería estar bien si tenemos
esas cuatro cosas. Entonces el maven, la dependencia de
ruta de clase aquí, luego el plugin y cambiando el
vidente de mapeo, estarás bien. Entonces lo que podemos hacer ahora es cargar los cambios del Grial. Ahora esto en realidad
no debería tardar demasiado. Una vez más,
depende de tu PC, depende de la velocidad de
conexión a Internet que tengas. Hay un par de factores
que podrían, estoy metido en esto, pero una vez más, no debería ser más de tal vez un minuto o dos. Pero seamos pacientes y dejemos que esto pase, ¿verdad? Entonces como puedes ver,
construir exitoso en 55 segundos, eso es genial. Y bueno ahora
básicamente está hecho. Ya tenemos ahora estamos usando
los mapeos de pergamino. Y eso va a ser genial. Esto va a ser mucho mejor. Recomiendo encarecidamente
hacer esto también. Realmente sólo cambia
los nombres de los parámetros. Entonces hay mapeados ahora es casi
todo lo que hace, los métodos
y los nombres de las clases y todo eso debería permanecer
completamente igual. Pero eso ya es para
esta conferencia aquí mismo. Espero que esto te
resulte útil en lo nuevo, y te veré en
la próxima conferencia. Entonces, sí.
40. (Conceptos básicos de (Minecraft crea un artículo personalizado: O volveré al curso de
forraje por 118. En esta conferencia,
vamos a estar agregando nuestro primer
artículo de cliente a la mente por ahora, esto va a ser algo muy interesante
que vamos a hacer. Y lo que haremos es que
en realidad añadiremos dos artículos. Vamos a sumar
uno,
básicamente vamos a pasar por cada paso. Y luego
te mostraré inmediatamente después de que hayamos visto
el artículo en juego. O puedes añadir un
segundo porque a veces es un poco
confuso para la gente. Espera, ¿cómo
añado ahora una segunda? ¿ Tengo que volver a pasar por
cada paso? Y no, hay algunos atajos que básicamente
puedes tomar. Bueno,
lo primero que
haremos y esto es muy importante es en nuestro curso MC MOD
o nuestra clase de mod principal, vamos a seleccionar
esto aquí mismo. Entonces todo, incluido el bus de eventos GetMethod
con los paréntesis, y vamos a
hacer clic derecho en este re-factor y luego introducir una variable. Y luego vamos
a decir reemplazar las tres ocurrencias. Y vamos a llamar a
esto el Bus de Eventos. Así que basta con hacer doble
clic en el autobús de eventos. Y entonces vamos a estar bien. También lo haremos es básicamente
eliminaremos todo aquí
excepto el método de configuración. No queremos los eventos del
registro, no
queremos la
clasificación del servidor, nada de eso. ¿ Necesitamos? Y luego tendremos que leer las cosas
aquí
para luego poder eliminar
ambos también, para que nuestro constructor básicamente se fue con
solo el bus de eventos. Eres el oyente aquí mismo, el fondo del
bus de eventos regístrate aquí, y el método de configuración, porque este es un
método que
definitivamente tendrá que usar en el futuro. Hay otro
método que lo hará, que tendrá que sumar en
una futura conferencia también. Pero vamos a hacer eso
una vez que realmente tengamos dos. Por lo que ahora a añadir el artículo. lo que en nuestro paquete del curso MC, vamos a
hacer clic derecho en nuevo paquete, que se llama ítem. Entonces en lugar de ahí
vamos a hacer clic de nuevo con el botón derecho nueva clase Java llamada
la clase de elementos mod. Ahora la
clase de elementos de modo va a seguir una especie de esquema o una plantilla determinada que seguirán muchas
clases diferentes. Y eso va a
ser lo siguiente. Por lo que tendremos un registro
diferido. Entonces sólo voy
a escribir esto fuera de ellos y ver qué es esto. Esta va a ser una final estática
pública, el tercer registro, muy
importante, F2, el nuestro. Pero este de aquí de microformas
netas
registra dos veces comprueba si escribes esto correctamente
porque ha habido algunas personas que lo han
escrito mal, y entonces eso por supuesto lleva
a que no funcione puedes escribirlo y luego simplemente presiona Tab para autocompletar. Y luego necesitamos estos
corchetes angulares si lo escribes en el primero y el segundo para generar automáticamente. Y entonces necesitamos artículo aquí. Muy importante que tengamos
neto Minecraft artículos del mundo. Tomamos éste una vez más, autocompletar y
luego inmediatamente importará la clase aquí arriba. A esto se le llama
ítems todo en gorras, muy importante así como
este es un campo final, por lo tanto
se tiene que escribir en gorras. Eso es solo una
convención Java en este caso, esto será igual a
un registro diferente. Una vez más, asegurándose de que lo
escribes correctamente, puedes auto completado con
una pestaña cuando realmente veas la congestión
ahí que crean. Y entonces una vez más, podemos
simplemente autocompletarlo en el paréntesis luego
generaremos. Entonces podemos guardar registros de
forja que artículos en mi modelo de curso
MC, ese ID de modelo, y luego terminarlo todo
con un punto y coma. Por lo que se puede ver que
ya estamos usando el ID del modelo. A continuación te presentamos el registro diferente. En los términos más simples,
el registro diferido. Se puede pensar en esto como
sólo una lista de todos sus artículos que usted
con su átomo MOD. Es por ello que necesitamos suministrar la melodía para que forja sepa, vale, todos estos elementos son de este ID de modelo,
de este modo. Esa es la idea general. Por supuesto que es un poco
más complicado que esto. Pero solo para tu comprensión
general, puedes pensar en esto
como una lista de todos tus ítems y
básicamente tenemos que
registrarnos ahí cuando tienes
un registro diferido básicamente para cada cosa que ha forjado registros aquí, puedo echar un vistazo a esto. Por todas esas cosas. Básicamente podemos tener otra clase y
otro registro diferido. Y cada vez que tengamos
un registro diferente, lo que vamos a tener
es que vamos a tener un vacío público estático o el método de registro
con un Bus de Eventos. Bus de Eventos como su perímetro. Vamos a decir artículos
dot registrar bus de eventos. Ahora bien, si en algún momento
algo aquí podría ser rojo. Entonces, por ejemplo, es posible que el artículo aquí se ponga rojo. Lo que pasa es que
simplemente haces clic en él y presionas Alt y Enter
para importar la clase, asegurándote de que eliges ítem mundial de microondas
neto aquí, y luego todo debería funcionar. Asegúrese de que las
importaciones que esté en lo correcto. Eso también es muy importante. Y ahora tenemos el
método de registro y necesitamos volver a
llamar a esto en nuestra clase mod curso
MC, nuestra clase mod principal dentro
del constructor justo aquí, tenemos que decir mas ítems dot registrarse con el Bus de Eventos. Por lo que tenemos que pasar
en este bus de eventos al
método de registro aquí mismo. Y entonces también
se registrará el propio registro
diferente . Entonces tenemos que registrar, bueno, nuestras listas, por así decirlo, de todos nuestros artículos. Y ahora ¿cómo hacemos, cómo
estamos empezando a agregar un artículo? Bueno, necesitamos un objeto de Registro
final estático público. Una vez más con los
corchetes angulosos de tipo item. Y este va a ser el lingote de subrayado
cobalto. Ahora puedes ver una vez más, tengo algo
que está marcado en el objeto Registro
rojo. Yo sólo
puedo dar click en él. Y entra, y luego
importará la clase correcta
que vamos a necesitar. Y esto va a ser igual a
dos ítems punto registro. El primer parámetro
va a ser una cadena. Y este autobús, o como pronto
verás, nombre genera automáticamente, no
tienes que
teclear esto. Muy importante para Walt
underscore lingote es el nombre. Esto sigue las mismas
reglas que el mod ID. Sólo
letras minúsculas, guiones bajos o guiones y números,
nada más. Y se puede ver
después de que he agregado lo
común ahora dice nombre. Una vez más, esto
genera automáticamente, esto lo hace el IDE, esto lo hace inteligente. No tienes que
teclear esto. Y el segundo parámetro
va a ser un proveedor. Por lo que tenemos paréntesis abiertos y
cerrados, voluntad por esta flecha,
y luego un nuevo elemento. Tan nuevo artículo con las
otras cosas aquí dentro. Por lo que las nuevas propiedades del elemento se pueden ver dentro del constructor
del ítem, solo
voy a autocompletar
esto y luego decir la pestaña de puntos. Y luego necesitamos
abastecer en una ficha. Entonces esta es la
mortalidad creativa que se necesita. Y se puede ver donde es
sólo la ficha miscelánea. Simplemente vamos a
hacer doble clic en esto y luego vamos
a estar bien con ello. Podemos ver que esto es ahora todo lo
que necesitamos para
registrar el ítem. El artículo
ya estaría en Juego. Por supuesto, aún no
tiene textura, y tampoco
tiene funcionalidad. No vamos a
agregar funcionalidad en esta conferencia aquí mismo, pero en las siguientes conferencias por supuesto
van a ver, básicamente
se puede agregar eso. Ahora, una cosa importante es que las propiedades de
este elemento aquí
en realidad es un panel constructor, por lo que se puede abofetear
en un punto
después, después de la pestaña, se puede
ver que también puedo llamar a algunas otras cosas como
Reparación de centinela, resistencia al
fuego, tal vez
resto, cosas como esta. Entonces hay algunas cosas geniales que básicamente puedo llamar aquí, y cambió el artículo
de esa manera también. Nos vamos a apegar
por el momento a sólo tener la pestaña y sólo usar la pestaña miscelánea para esto, y eso
van a ser cinco. Ahora. Bueno, ¿qué significa? Bueno, aún no
tiene textura. ¿ Cómo vamos a definir eso? No se preocupe en absoluto. Ahora viene la estructura de carpetas, que es muy importante. Por lo tanto, asegúrate de que cuidas y mires
esto muy de cerca. Aquí hay algún
error ortográfico. En realidad se va a tener que
hacerlo para que algo
no funcione. En lugar de la carpeta de recursos, vamos a hacer clic con el botón derecho en
nuevo directorio llamado activos. Y luego dentro de ahí
vamos a hacer clic derecho nuevo directorio llamado curso MC. Este tiene que ser tu
MOD ID, exactamente. Muy importante. Dentro de ahí, vamos a hacer un nuevo
directorio, viejos modelos. También vamos a hacer un nuevo
directorio llamado lang LNG. También vamos a hacer
un nuevo directorio dentro
del curso MOOC
sobre texturas frías. Y una vez más, tenga en cuenta que estos tienen que ser
escritos correctamente. Entonces la carpeta de modelos, vamos a hacer un nuevo
directorio llamado ítem. Y luego dentro de la carpeta de
modelos, de nuevo, vamos a hacer un nuevo
directorio llamado bloque. Ahora, lo que puedo hacer es porque vamos
a necesitar ambos. Puedo seleccionarlos ambos y luego
arrastrarlos a la carpeta de texturas
mientras mantiene el control, lo que duplicará
esas carpetas. Y porque, porque básicamente
necesito el bloque y la carpeta de elementos dentro de
la carpeta de texturas también. Ahora empecemos en la parte superior
con la carpeta de longitud. En la carpeta de longitud,
se van a ubicar las traducciones . Entonces vamos a hacer
clic derecho en nuevo archivo. Y este va a ser el
EN subrayarnos db.json. Muy importante
que añadas el punto Jason, lo contrario no
se reconocerá adecuadamente. Eso es muy importante.
También E y subrayarnos como para que también se
escriban correctamente, pulsa Enter y luego aparecerá
el archivo. Aparecerá esta ventana. Si tienes un repositorio de GitHub, si no tienes eso,
entonces no verás esto. Eso está totalmente bien. Si sí tienes un repositorio de
GitHub, básicamente
quieres decir add, porque luego lo agrega
al repositorio de GitHub para
tu próximo commit básicamente, y el EN nos subrayan
archivo JSON se construirá de la siguiente manera. Voy a empezar
con un corchete rizado, que de inmediato va a generar el segundo corchete
rizado para nosotros. Aquí queremos
traducir el artículo. Entonces el tema es que
sólo vamos a escribir esto. Elemento dot AMC curso dot
o ball, guión bajo, lingote, colon y
luego Inglés Antiguo. Entonces la idea general
es que este es el nombre localizado desconocido
del ítem porque
éste de aquí, correcto. El lingote de subrayado cobalto es el nombre que
le hemos dado a este ítem. Es un artículo, y lo
es, este es nuestro Motet. Todo esto debería tener sentido
lógico, ¿verdad? No debería ser como, ¿por qué
está pasando eso aquí? No, no, esto debería tener sentido. Este es el, um, nombre localizado. ¿ Por qué siquiera tenemos esto? ¿ Por qué necesitamos definir esto en una especie de archivo JSON? Bueno, hay
diferentes idiomas. Y si quieres
traducir para cada uno de esos idiomas que tener el, um, nombre localizado y luego un nombre localizado aquí hacen
que eso tenga mucho sentido. En realidad. Por eso tenemos
que hacerlo así. Una vez más, se asegura
de que los nombres de las carpetas estén destrozados y también el
nombre de un archivo aquí. De lo contrario, esto se ve bien. Entonces pasemos al
archivo de modelo de ítem. Y el modelo de artículo
es, bien interesante. Voy a escribir esto fuera. Entonces lo que vamos a hacer es
en la carpeta de ítem de modelos, haga clic derecho en nuevo archivo llamado el guión bajo cobalto punto de
lingote JSON. El nombre de este archivo tiene que
coincidir exactamente con el nombre
dado aquí mismo. Esto también es muy importante
y luego termina con el JSON. Ahora, como dije,
voy a escribir esto una vez. Vamos a hacer esto
bastante rápido y luego voy a
explicar cada parte del mismo. Entonces vamos a
tener un padre
aquí mismo , colon, barra de ítem, texturas de munición
generadas, caída abierta, corchete
rizado, capa 0. Todo un curso MC, artículo
caído, corte
o guión bajo perno. Podría estar diciendo lo que está pasando aquí la
FREC. No se preocupe. Vamos a
pasar por esto. El padre aquí determina cómo se
muestra
esta textura en particular en tu mano. Y también en tridimensional. Adam generado
básicamente solo
es, va a hacer que la textura se extruya un poco para
que tenga una especie de look 3D. Y eso va a
ser básicamente. Entonces así es como se muestra cualquier elemento
normal. Entonces tenemos que definir
todas las texturas. Y esto tiene que ser
texturas muy importantes. Asegúrese de que
todo esto esté escrito correctamente. Capa 0, también importante. Y entonces esto de aquí
está básicamente define el directorio donde se encuentra la
textura. Por lo que esto va a ver
la carpeta Assets del curso MC. lo que activos Curso MC dentro
de la carpeta de texturas, aquí mismo bajo ítem barra cobalto inglés punto PNG, so item. Y entonces no tenemos
nada ahí dentro. Voy a copiar sobre
el extra ahora mismo, burbujeado en Git dot PNG. Y van, y esto
es básicamente ahora la textura que
mostrará en el juego. Uno. Detalle muy importante aquí para las texturas es que tenga en cuenta el
archivo de créditos aquí mismo. Por lo que todas las texturas se hacen
por nano ataque y
se distribuyen bajo
esta licencia aquí mismo. Entonces si quieres usar esos en un repositorio público
de algún tipo, entonces por favor sigue la licencia, solo agrega este archivo a tu
proyecto o a tu repositorio, y entonces
vas a estar bien. Yo sólo quería mencionar esto
es bastante importante sin embargo. Puedes usar las texturas. Sólo ten eso en cuenta ahora mismo para un artículo con realmente
hecho todo, hemos registrado el artículo. Hemos agregado una traducción, hemos agregado el
archivo JSON modelo de ítem y la textura por ahora, primera vez podemos
ver por obras, por cierto, cualquiera de esas flechas rojas que podrías ser conseguir
están totalmente bien. Esto a veces puede suceder
después de que básicamente
agregaste arreglo por primera vez, pero
esto está totalmente bien. Deberías poder ignorar
esto siempre y cuando siga adelante y el Minecraft
en realidad comience, esto no debería ser preocupación. Y esto también sólo sucedió una vez o frente a él, Minecraft. Entonces vamos a ver, vamos
a la pestaña miscelánea y vamos al fondo. Y ahí está.
El lingote cobalto ha sido
agregado con éxito al juego. Eso es un bastante cool Todas
las cosas consideradas, ¿verdad? Y para que solo lo hayas visto, agreguemos la pepita también. Entonces la idea básica
aquí es que
no necesitamos una segunda clase
más artículos. Aquí es a veces donde
la gente se confunde un poco. Lo único que
tenemos que hacer es copiar sobre este objeto de
registro. Voy a hacer Control
C después
de seleccionarlo todo y luego Control
V, péguelo aquí. Entonces solo tenemos que
renombrar esto a pepita y luego renombrar también
la sinagoga. Para cada ítem
que registre
tendrá asociado un objeto de registro. Esa es la idea general. Y por supuesto
también tiene nombre. Entonces necesitamos un nuevo modelo de
ítem, JSON, aunque primero
vamos a entrar en nuestro oído y
subrayarnos el archivo JSON aquí. Y lo que haremos es simplemente
duplicaremos esta línea
presionando Control D, luego agregando una coma aquí. Y luego una vez más,
vamos a renombrar esto a pepita. Esta pepita también. Y ahora en nuestros modelos de ítem, lo que podemos hacer es simplemente
tomar este archivo JSON y
podemos arrastrarlo a la misma
carpeta mientras sostiene Control, y luego lo duplicaremos. Y entonces podemos cambiar el
nombre aquí, navegar también. Entonces dentro de aquí, por supuesto, también cambiando esta pepita. Y luego copiaré sobre
la textura del artículo una vez más. Y ese es básicamente el proceso
de agregar un segundo elemento. Entonces esto es básicamente siempre
lo que vas a hacer. Van a
haber algunas diferencias, sobre todo cuando se trata de
los archivos de modelo. A lo mejor se ven un
poco diferentes. Pero en general, esto es casi siempre por lo
que vas a tener que
pasar en un objeto de registro en la traducción a la E Y subrayarnos archivo JSON
en un ítem modelo JSON. Y luego la textura, eso es más o menos
todo lo que hay a ella. Ellos sólo por el bien de la
finalización, vamos a ver
si funciona o si soy tan Minecraft. Como se puede ver, el cobalto también se ha agregado
con éxito. El juego, sin embargo,
como puedes ver, en realidad
es un bastante sencillo una vez
que sabes cómo se hace. Y esto es solo una cosa
con la que solo
tienes que
familiarizarte solo
tienes que
familiarizartey simplemente rutinarte
básicamente agregando artículos. Y se va a convertir
básicamente en segunda
naturaleza para ti, ¿verdad? Pero eso ya será
para esta conferencia aquí mismo. Espero que te haya parecido útil esto
y hayas aprendido algo nuevo. Todo el código está por cierto, disponible para ti en el repositorio de GitHub o un
individuo igual de bien, que básicamente nunca tienes que escribir todo tú mismo. También puedes copiar algunas
cosas por encima si eso es más propicio para el aprendizaje
para tu idea en particular. De lo contrario, nos vemos en
la próxima conferencia. Entonces, sí.
41. (Conceptos básicos de (Minecraft Crea un bloque personalizado: Muy bien, bienvenido
de nuevo el cuarto curso para 118. Y en esta conferencia, vamos a estar agregando bloques
personalizados a Minecraft. Los bloques personalizados están
un poco más involucrados. Pero debido a que hemos visto básicamente una parte
de cómo agregar artículos, los bloques son similares,
pero como dije, un poco más involucrados
como un poquito diferente, pero no demasiado. Por lo que en nuestro paquete de cursos MC, vamos a hacer clic derecho en
nuevo paquete llamado libro. Y dentro de ahí
vamos a hacer clic derecho nueva clase Java llamada
la clase de bloqueos de modo. Ahora esta clase
será un poco diferente,
pero antes que nada, tendremos el registro diferido
final estático público de tipo de bloque, asegurándonos de que elegimos net Minecraft nivel mundial bloque. Muy importante, no la unicidad
OpenJDK jurada eterna, sino el bloque de nivel, bloque que es muy importante. Y entonces decimos
bloques es igual
al tercer punto de registro
crear registros, esa caja con nuestro modelo de
curso MC que MID. Y si se trata de un registro
diferente, también necesitaremos
un público que sea un
método de registro de llamadas nula con el Event Bus. Bus de Eventos. Y esto llamaremos Box dot registrarse
con el bus de eventos. Y antes de que lo
olvidemos, inmediatamente lo llamaremos en nuestro curso MC
clase mod aquí mismo, mod blocks dot registrarse con
el bus de eventos. Ahí vas. Por lo que ahora se registra el
registro diferido. Y ahora lo que
realmente necesitamos
es hacer dos métodos de ayuda. Voy a escribir todo y luego
te
explicaré después de haber hecho esto, el código para ti está disponible en el repositorio de GitHub o un
individuo igual de bien. No tienes que
teclear todo aquí. Básicamente puedes
copiarlo también. Entonces cuando tengo una estática privada
y luego soporte de ángulo T se extiende bloque vacío. En realidad hagamos
este ítem, lo siento, hagamos de este registro
objeto de artículos. Entonces el nombre del método
es el bloque de registro Atum, que va a tener un parámetro de nombre de
cadena y un objeto de registro de tipo T, que va
a ser el bloque. Entonces ese es el segundo parámetro. Y esto va a
devolver más artículos,
artículos que se registran
con el nombre. Y luego un proveedor de
un nuevo artículo de libro con la pestaña de bloques dot-dot-dot
New Item Properties. Y pongamos en
la pestaña creativa, MRTK por el momento. Pero en realidad vamos a
cambiar esto. Entonces uno de los temas aquí es que ahora básicamente estamos
hardcoding, vale, esto siempre va a estar
en la pestaña miscelánea, realidad
agregará
un tercer parámetro, que va a ser el modo
reactivo tabulador, tabulador. Y luego vamos
a colocar esto justo aquí que
básicamente podemos significar, Hey, vamos a hacer más ficha la creativa
específica. Y entonces solo formatearé esto un poco
diferente. Ahí vas. Y luego tendremos
otro método que es una estática privada. Una vez más, el corchete angular
T extiende un bloque, que también devolverá un objeto de registro
esta vez del tipo T, el método de bloque de registro. Y esto tomará en una cadena, vamos a nombrar es proveedor tipo T, y luego un bloque llamado Brock, y luego ocho y luego
un tercer parámetro, vez más, siendo ésta la pestaña de modo
creativo. Tab. Ahora éste
hará lo siguiente. En primer lugar
hará un objeto de registro de tipo T o a devolver, que es igual a
bloques de registro de punto, el nombre con el bloque. Entonces se enfriará en el método de elemento de bloque de
registro con el nombre a
devolver y la pestaña. Y entonces aquí vamos
a regresar para regresar. Ahora esos métodos se ven
absolutamente locos. No obstante, en
realidad no están tan locos. Entonces estos son solo algunos métodos de
ayuda para nosotros porque cuando registramos
un bloque como este, ¿verdad? Cuando solo llamamos a
bloques que se registran, lo que pasa
es que crea el bloque, pero no crea
un elemento para el bloque. Y esto es una especie de
problema porque necesitamos elementos de
bloque para
cada uno de nuestros bloques. Ahora, hacerlo así, en mi mente tiene mucho sentido. Si alguna vez nos topamos con un bloque que no necesita un
elemento de bloque, que lo haremos, simplemente
haremos
otro método que
no llame a este método de elemento de
bloque de registro. Y entonces básicamente
estaremos bien. Querido es eso ¿qué significa
esto, por ejemplo? Bueno, significa que T es solo un genérico y solo
significa que lo que sea que se ponga en la T aquí tiene que
ser extendiendo la clase de bloque. Básicamente siempre vamos a usar la clase de bloque de todos modos, porque eso es todo lo
que realmente
vamos a necesitar en este caso. Pero sí, eso sólo se asegura de que este sea el tipo correcto. Tirar del método de elemento del
blog de registro también
debe tener sentido. Esto básicamente sólo
registra el ítem que está asociado a este bloque aquí que básicamente estamos creando un Tiene el mismo nombre básicamente, y eso debería ser
más o menos todo
que necesitas saber va a poner esto en la
pestaña que pasamos aquí. Entonces todo debería estar bien. Vamos a ver esto en
acción y vamos a ver. Entonces hagamos un
objeto de Registro final estático público de tipo bloque. Será el bloque de
subrayado cobalto, que va a ser igual
para registrar bloque con una vez más al
nombre bloque cobalto, doble subrayado Block
fueron importantes este año, genera automáticamente el
nombre de la placa 2, por así decirlo. Y luego un proveedor
de un nuevo bloque. Y esto va a tomar en
bloque propiedades de comportamiento, ese material.me. Y luego si pongo un punto, se
puede ver que hay algunas propiedades más que
podemos agregar dos bloques aquí. Cuáles son las
que quiero agregar las propiedades de fuerza. Entonces este básicamente es el tiempo que se tarda en romper este bloque. Y entonces también muy
importante que
llamamos requiere
herramienta correcta para gotas, que básicamente hará
exactamente lo que quería. Además, esto no es
copiar estas cosas. Oh, lo siento mucho. El ego. Y entonces el tercer
parámetro va a ser el punto tab mode creativo. Hagamos una vez más
miscelánea. Pero éste hace exactamente
lo que dice en la lata requiere herramienta
correcta para gotas porque tenemos que definir herramientas de
TI más adelante,
básicamente para que el
bloque de cobalto realmente se caiga por sí mismo. Esto es algo que
veremos en una conferencia posterior. En realidad el bloque cae, esos se hacen con mesas
Lou, conocedores. Llegaremos a esto. Pero esto una vez más
es el bloque y el elemento de bloque asociado
registrado con esto. Te recomiendo encarecidamente
también solo
jugar con algunas de
las propiedades que puedes agregar aquí puedes ver
hay algunas aquí que básicamente
puedes agregar. Por lo general, veremos a algunos de ellos pasando por las conferencias. Pero ahora veamos los archivos JSON porque esos son muy interesantes porque realmente
necesitamos, en la
carpeta del curso MC justo aquí, necesitamos agregar un nuevo
directorio o estados de bloque. También hay muy importante
que esté escrito correctamente. Y voy una vez más
un tipo esto fuera. Entonces vamos a hacer un
nuevo archivo aquí llamado el
bloque de subrayado cobalto dot-dot-dot Jason,
una vez más, asegurarnos de que esto esté escrito correctamente y tenga
el JSON final. Entonces este es el nombre
que necesita tener. Y luego voy
a teclear esto. Entonces R1 segundos
corchetes rizados, varianza, colon, corchete
anticipado,
comillas vacías, corchete rizado de
colon. Y luego modelar colon, curso MC, bloque de
colon, pestañas,
cobalto, bloque de subrayado. ¿ Qué está pasando aquí? Bueno, el estado de bloque
básicamente define diferentes variantes
del mismo bloque. En nuestro caso aquí no tenemos ninguna varianza porque esto sólo
va a
ser un bloque normal. Y esto aquí mismo
apunta ahora a un modelo de bloques JSON. Por lo que en nuestros modelos roto
archivo busca un archivo de subrayado cobalto
Block JSON. Por lo que vamos a hacer clic derecho
en este nuevo archivo, cobalto subrayado blog.js. Y esto en realidad
se parece
al modelo de artículos que
hemos visto antes. Corchetes rizados,
padre, caído, bloque, cubo de
barra, todas las
texturas de coma caídas. Sólo registro. Todo colon, curso
MC, bloque de colon,
cobalto, bloque de subrayado. El modelo de bloques
determina cómo
se ve el bloque dentro del mundo.
¿ Qué significa eso? Bueno, mientras que los
estados de bloque apuntan a simios con modelo de bloque
particular, el modelo de bloque determina
las texturas de ese bloque y luego básicamente se refiere a esta
textura aquí mismo. Y también necesitamos un
modelo de artículo para nuestros bloques. Esto es muy importante. Ah, esto en realidad
va a ser un nuevo subrayado de cobalto blog.js. Esto sin embargo, se ve un
poco diferente. Esto va a tener corchetes
rizados y luego padre caído MC curso todo en Brock slash
cobalto underscore block. Por lo que esto luego se refiere de nuevo a este modelo de bloques
y hace que aparezca una
especie de manera 3D que los bloques aparecen dentro del inventario t0. Copiemos sobre la textura del bloque
cobalto aquí
mismo en el portador del libro. Y luego también vamos a
añadir la traducción. También muy importante. Vamos a copiar estos. Y luego vamos a llamar
a esto el bloque MC curso bloque de cobalto. Y esto es por supuesto
una cuadra que hace. Ahora eso es todo lo que necesitamos para especie de
fuerza recapitular una vez más, necesitamos crear
el objeto de registro para ese bloque en particular aquí. Entonces necesitamos un archivo JSON de
Estados de bloque,
un archivo JSON de modelo a granel,
un archivo JSON
modelo de ítem y la textura. Esta es una idea general. Y después de que hayamos visto
si funciona o no, también veremos un
segundo bloque B agregado simplemente básicamente para que
tengas otro ejemplo. Pero por ahora, veamos si
funciona o
nos encontramos en mente para ello. Como puedes ver, se ha agregado el
bloque cobol, así que pongámoslo
abajo y se vayan, sí se ve bastante increíble, y todo funciona bien. Entonces si hay algún problema
con este bloque, ¿no? Entonces si faltan algunas
texturas, básicamente
podemos ir a través una lista de chequeo que puedes comprobar. Entonces si el bloque solo no
tiene una textura dentro
del inventario, es el modelo de artículo
Jason, eso tiene la culpa. La textura no
funciona en el mundo, pero sí funciona
en el inventario. Tiene que ser el bloque Estados
Jason, eso es culpa. Y si no funciona en
ninguno de ellos, bueno,
entonces o bien es el
modelo de bloque JSON o todos ellos. Entonces esa es una
lista de comprobación general por la que puedes pasar y básicamente revisar. Pero ahora, solo por, ya
sabes que
tienes otro ejemplo, agreguemos otro bloque, ¿no? Entonces, una vez más,
esto en realidad sí implica sólo una gran cantidad
de copias aquí. Entonces vamos a copiar esto,
lo voy a pegar. Este va a ser el cobalto o bloque y luego
este va a ser el subrayado cobalto
o en lugar de metal, esto va a ser no. Y esto va a ser más que cinco fuerza,
sólo fuerza, ¿verdad? Eso va a estar bien.
Ahora el resto aquí está bien. Esto ahora ha
registrado el bloque. Nosotros por supuesto ahora
necesitamos el libro dice
Reason trajo modelo Jason
y el artículo viejo Jason. Solo copiemos esto
arrastrándolo a
la misma carpeta
mientras mantenemos el control y
cambiemos el nombre aquí para bloquear, a cobalto o tema aquí. Esto ahora apunta a un modelo de bloques Jason en la carpeta aquí mismo, eso se llama
subrayado cobalto o punto JSON. Vamos a
crear eso también en el año de nombre para la
textura a la que apunta,
que vamos a sumar
en tan solo un momento. Añadamos también la
traducción de inmediato. Pero qué OR, y por
supuesto el nombre aquí que
subrayará el ego. También copia sobre el modelo de cobalto o
ítem y cámbialo. O y luego subrayado
o aquí también. Y entonces sólo necesitamos
la textura para ello. Yo también voy a copiar
esto. Y ahí lo tienes. Ahora se hace el siguiente bloque. Y sí, una vez más, esta es sólo la forma normal
de hacerlo. Simplemente tendrás que pasar por esto en la próxima conferencia. Básicamente, vas a tener una tarea en agregar
dos bloques propios. Esto básicamente
va a roca
bloque de cobalto y al
cobol o bloque de estado profundo también. Entonces eso es algo que básicamente hay
que tener en cuenta. Aparte de eso, sólo
veamos si la búsqueda de terminación, si también se ha agregado o no el
bloque o. Muy bien, encontramos esos
atrás y microvesículas. Ver el cobalto o bloque también se
ha
agregado con éxito al juego. Por lo que todo funciona
en grande aquí. De hecho eso es lo
fácil que es agregar un segundo bloque también, ¿verdad? Como
dije anteriormente, en la próxima conferencia se van a incluir
algunas asignaciones. Te recomiendo encarecidamente que pases por esto porque puede ser
muy, muy positivo y solo
una muy buena idea
básicamente va a hacer esos solo para que te des un
poquito de sensación. Una vez más, todo el código para las conferencias
aquí está disponible en el repositorio de GitHub o en
un individuo igual de bien. Pero eso sería todo para
esta conferencia aquí mismo. Espero que esto te resulte útil
cuando aprendas algo nuevo y te veré
en la próxima conferencia. Ah, sí.
42. Asignación 5: bloque y artículo: O vendré aquí a
la primera asignación para el cuarto curso en
la sección de Minecraft. Y como
ya he dicho, aquí, básicamente
harás
dos bloques y un artículo. Esto en realidad
no debería ser demasiado loco. Por lo que ojalá encuentres la asignación en algún lugar
escrito. Entonces básicamente
tienes la asignación como pregunta escrita también. Y la idea es que
tendrás que añadir el bloque de cobol de roca así
como el
cobalto o bloque de pizarra profunda. Ahora, las texturas para esos
bloques están disponibles. Lo mismo con el artículo. Por favor, ten en cuenta el archivo de
créditos aquí mismo para las texturas seguir
una licencia en particular. Entonces si quieres usarlos en un repositorio público
o algo así, y por favor ten en cuenta que los
acreedores presentan, como dije. Y para el artículo, vas a agregar el elemento de cobalto
crudo básicamente, y eso sería más
o menos todo. Otros no deberían
estar demasiado locos para ti. Esperemos que si has visto
las pocas conferencias anteriores de lo que debería ser justa,
bastante fácil de hacer. Bueno, buena suerte y diviértete
en la asignación. Entonces, sí.
43. Solución 5: bloque y artículo: Muy bien, echemos un vistazo a la solución para la
primera asignación aquí. Y por supuesto, ojalá
fuera bastante sencillo. Acabas de agregar los dos objetos
del registro para los dos bloqueos que
queríamos agregar. Lo mismo con el artículo
aquí, el cobalto crudo. Y entonces sólo necesitábamos los
bloques, estos archivos JSON, que simplemente apuntan a dos archivos JSON
modelo de bloque diferentes, que a su vez apuntan
básicamente las texturas aquí. Y entonces la traducción
que debería ser en este punto ojalá
se convierta en rutina. Y entonces solo necesitábamos las cuencas
del modelo del artículo también. Y esto también incluye
el cobalto de roca, que luego sólo apunta
a una textura aquí mismo. El general, ojalá
esto se hiciera fácilmente. Y eso es más o menos
todo lo que necesitas
hacer para tener esto en tu juego. Y vamos a estar usando básicamente el cobalto crudo y todas las demás cosas
también en el futuro. Ah, definitivamente es una buena idea tener esto también
en tu juego. Todo el código está por supuesto, también disponible en el repositorio de
GitHub o en, en, en un individuo
igual de bien. Y nos vemos en
la próxima conferencia. Entonces, sí.
44. (Conceptos creativos de (Minecraft Pasta creativa personalizada: Muy bien, bienvenido de nuevo
al curso de forraje por 118. En esta conferencia,
vamos a estar agregando nuestra propia tableta de
modos creativos personalizados al juego. Este es en realidad un
proceso bastante fácil y sencillo. Por lo que en nuestro paquete de artículos, vamos a hacer clic con el botón derecho en
nueva clase Java llamada el
modo creativo del modelo, pestañas, o pestaña. Esto va a
implementar lo siguiente. Esto va a tener una lectura final estática
pública pestaña
Mode llamada pestaña de subrayado del
cuerpo, que es igual a una nueva. Y puedes ver a Norris solo
la pestaña del modo creativo. Y si presionamos la tecla tabulador, generará el, generará una
clase anónima para nosotros. En realidad
tendremos que entrar a esto con un punto y coma aquí mismo. Y luego en lugar de
devolver null aquí, y pasaremos a churn
es una nueva pila de ítems. Más artículos dot cobalto,
lingote, dot get. Y luego dentro de aquí, vamos a añadir una cuerda. Esta etiqueta aquí genera
automáticamente una vez más. Y esta sólo va a
ser la pestaña del modelo del curso. Cualquiera que sea el artículo que pongas aquí, también cualquier bloque que
pongas aquí va a ser la imagen de visualización
para la pestaña real, y esto es necesario
para la traducción. Entonces en realidad voy
a copiar esto más. Y vamos a ir a
nuestro E y subrayarnos archivo
JSON hasta el
fondo aquí. Y sólo vamos a añadir el,
añadir el punto grupo de ítem punto
CourseMatch tab colon. Y vamos a llamar a
esto el curso MC. No. Eso está bien. Ahora esto es un atípica en
los términos de traducción aquí tenemos un gran G para la G mayúscula para
el grupo de ítems. Y luego por supuesto mod
tab con idea más externa. Pero eso es más o menos todo lo
que necesitamos hacer para añadirlo. Ahora agreguemos también nuestros
artículos y nuestros bloques a ella. En lugar de decir modo creativo, toca aquí vamos
a decir más creativo,
más pestaña, punto Ficha de curso. Simplemente voy a copiar esto sobre
seleccionado presiona Control C, y luego Control
V para pegarlo aquí y hacer
lo mismo aquí mismo. Básicamente en todas partes donde
tienes la pestaña miscelánea. Ahora vamos a poner
en la pestaña Curso. Y ahora todos nuestros artículos
y nuestros bloques
estarán en los cuatro pasos aunque. A ver si funciona, o nos
encontramos de
vuelta en Minecraft. Y una muy buena señal
es que tenemos una segunda página aquí
en puede ver MC cores MOD y todo está aquí exactamente como
esperarías que vaya. Eso es perfecto. Y justo
todo funcionando exactamente como te gustaría escribirlo que ya
es para esta
conferencia aquí mismo. Espero que esto te
resulte útil en yurtas de lo nuevo, si hizo nuestra muy
apreciada revisión de ti. De lo contrario, los veré en
la próxima conferencia. Entonces, sí.
45. (Conceptos básicos de (Minecraft: Muy bien, Bienvenido de nuevo
ese curso de forraje para 180. Y en esta conferencia, vamos a estar agregando recetas
personalizadas a Minecraft, o las recetas personalizadas se
hacen a través de archivos adyacentes. No se hacen en
la carpeta de activos, sino más bien en una carpeta nueva. Por lo que en los recursos haga clic derecho en
nuevo directorio llamado datos o datos dentro
de su curso MC, y luego dentro
de sus recetas. Ahora lo que es muy
importante es una vez más, este directorio tiene
que estar completo, escrito completamente correctamente, de
lo contrario no funcionará. Y básicamente voy a mostrar un
ejemplo de cada año de receta. Como dije, estos están en formato
JSON una vez más. Y lo que podemos hacer en realidad es que podemos ir a las bibliotecas
externas aquí abajo. Podemos ampliar esto. Y luego encontrarás
algún lugar aquí abajo, ya
sabes, bajando. Pero finito Minecraft
nueve extra 180, uno o lo que sea la versión
actual. Si expandes esto y
entras en la carpeta de datos, verás Minecraft y luego todos los archivos JSON
que están en Minecraft. Entonces, por ejemplo,
podemos echar un
vistazo a cada uno de esos archivos JSON. Estas son básicamente todas
las recetas de vainilla como pagar. ¿Cómo
funciona esto? Se puede ver el carbón por
voladura fresca o interesante, pero hay, ya se puede ver hay diferentes
tipos de recetas. ¿ Cómo funciona el compositor,
cómo se hace el combustor? Se puede ver esto. Ves O tag, interesante. De acuerdo, estamos usando etiquetas aquí. tiempo de cocinero podría estar deshilachado. Tenemos cosas como la galleta. Por lo que básicamente puedes encontrar
ejemplos de cosas aquí. Recomiendo encarecidamente
pasar por esto, entrar aquí. Si alguna vez tienes
una receta que
básicamente quieres recrear, solo
puedes encontrarla. Entonces se puede decir, por ejemplo, para el bloque óseo aquí, ¿no? Oh, eso es como una
cosa de verdad que quiero hacer. Básicamente puedes presionar el
control C para copiarlo. Vuelve a tus carpetas, entra aquí, controla
V para pegarlo. Y entonces por ejemplo,
podría decir que bloquean cobalto de lingotes a donde van
y luego voy a abrir esto y luego puedes ver ahora puedo por supuesto cambiarlo. Y las ideas generales que bueno, tienes diferentes
tipos de aquí, ¿no? En este caso tenemos
una receta de forma. El patrón está lleno.
¿ Cuál es el patrón? Será el padre son tres
cadenas de longitud tres. Por lo que esto representa
la rejilla de artesanía. Esta es la ranura superior izquierda y luego la ranura superior derecha
y así sucesivamente y así sucesivamente. Por lo que esto no debería ser
demasiado loco para entenderlo. Podemos poner llaves aquí. Por lo que se puede ver que
este símbolo hashtag básicamente representa un tazón
nuevo artículo en este caso, bueno, vamos a cambiar esto
a nuestros artículos de cliente. Entonces vamos a
decir MC curso colon o compró lingote de subrayado. Y luego el resultado aquí, por
supuesto va a
ser MC curso colon o bloque de subrayado negrita. Pero todo esto en realidad
debería tener
sentido en este momento y no
debería estar demasiado loco. Pero esta es una receta con forma, como dije, porque
tiene una forma particular. Ahora lo que también funcionaría
es algo así. Entonces
tendrías que facturar las dos primeras filas o
las dos filas inferiores en
el banco de manualidades. Por lo que no siempre
tienen que ser de longitud tres o tres cuerdas. También hay obras. Entonces algo como esto, que sería el
barco, por ejemplo, también
funcionaría porque
se puede poner el barco en la parte superior o
también en la parte inferior. Entonces eso es muy importante. Y en realidad
copiaré sobre todo estar disponible para ti en
el repositorio de GitHub o un individuo igual de bien. Se puede ver en primer lugar
, esta es
una receta sin forma
porque
básicamente podemos poner el ingrediente en
cualquier lugar en el banco de
manualidades. Y esto es básicamente
un bloque de cobalto, ¿verdad? Y luego vamos a conseguir
lingotes robot y luego nueve de ellos. Entonces, básicamente, esto es lo mismo que éste
justo a cambio, ¿verdad? Entonces a la inversa sin embargo, puedes recuperar los nueve
lingotes de un bloque. Y luego tenemos
estos dos que son los lingotes o la fundición. Para que veas que puedo oler el cobalto o en
un lingote aquí. Lo mismo con esto, pero
vamos a fundir o volar será bastante autoexplicativo, todas
las cosas consideradas. Y luego justo como ejemplo, también
puedes usar,
Vamos a múltiples claves. Esta es la forma
en que los usas. Y también puedes usar artículos de
Minecraft ya sea como resultado o como un
artículo de artesanía que funciona totalmente bien. Al igual que no hay problema
con esto en absoluto. Entonces esto es
una especie de idea general, fin de
año, Bueno, en no del
todo la siguiente conferencia, pero la conferencia después de
eso, si no me equivoco, vas a estar haciendo
tus propias recetas personalizadas y básicamente tener algunas
ideas de lo que haces. Pero todos son bastante
sencillos. A pesar de que, en general, Eso
es todo. Muy importante. En realidad las bibliotecas externas
recomiendan mucho pasar por esto porque también
está la carpeta Activos donde todos los estados de bloqueo, el Lang, las texturas también
están termina aquí mismo, las texturas están aquí. Por lo que básicamente puedes echar
un vistazo a todo, también a los archivos
del modelo. Por lo que recomiendo encarecidamente ir por las
bibliotecas externas aquí porque esto es
justo lo mejor que puedes como nunca mirar. Si no lo sabes,
Hey, ¿cómo puedo hacer una receta que sea exactamente
como x en vainilla? Tan solo entra aquí,
échale un vistazo. Muy fácil, Sin preocupaciones en absoluto. Pero este es un proceso muy
sencillo. Pero por el momento, veamos si funciona o por qué nos encontramos de
vuelta en Minecraft. Entonces probemos primero el
cobalto interior y van y
bloquean cobalto y veamos, puedo recuperar los nueve
lingotes también. Y lo que encontrarás
también es que lo hará automáticamente como esas, como recetas en el libro de
recetas también. Entonces eso es realmente bonito. Y vamos a ver si
también podemos oler el cobalto o, y por supuesto que podemos,
eso está totalmente bien. Eso también funciona. A pesar de
que todo aquí funcionando muy bien. Y también sólo por el
bien de la discusión, ¿por qué no tratar de hacer que la pila de
diamantes aquí, el ego 64 diamantes
funcionando también. Bonito envoltorio, eso
ya sería para esta
conferencia aquí mismo. Espero que te haya parecido útil
e ignorancia de lo nuevo. Una vez más, todos los
archivos JSON están disponibles en el repositorio de GitHub
o donde un individuo igual de bien. Y te veré en la
próxima conferencia sin embargo. Sí.
46. (Conceptos básicos de (Minecraft: Muy bien, bienvenido de nuevo
al cuarto curso para 118. En esta conferencia, vamos
a estar echando un vistazo a agregar
tablas de rutas personalizadas a Minecraft. O una mesa suelta básicamente define lo que un
gotas de un bloque. Esta es también una de las
razones por las que agregamos las requiere
herramientas correctas para gotas aquí, esto todo ahí. Porque si no tenemos eso, entonces básicamente cualquier herramienta con la que pudieras este bloque dejaría caer la mesa de Lu real o las gotas de roca, por así decirlo. 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
llamado tablas de subrayado de botín. Una vez más, asegúrate de
que esté escrito correctamente. Entonces dentro de ahí un nuevo
directorio llamado bloques. Y entonces realmente voy a copiar sobre la tabla de botín para el bloque de
cobalto es ver esto. Entonces así es como se ve. Es de tipo block. Hay una alberca y luego
básicamente tienes una
entradas diferentes en esta alberca. Podemos ver esta varilla una vez
ahí está la entrada aquí, una entrada de tipo artículo. Y entonces básicamente dejamos caer un bloque de cobalto o todo esto a veces
puede llegar a ser un
poco confuso, sobre todo cuando ahora voy a
copiar sobre la mesa de botín para el cobalto o
bloqueado por curso que funciona un
poco diferente. Veremos que esto es
más complicado de
lo que sería al principio impar. Pero claro que lo que tenemos
es que sólo tenemos una entrada. De lo que se trata es de una
entrada alternativa, por así decirlo. Y la idea aquí es que, bueno, o se va a
soltar esto y va,
va a caer esto si se cumple
la condición aquí, lo que significa que el encantamiento en nuestra herramienta tiene que
ser toque de seda. Y luego deja caer el
cobalto o de otro modo, caerá entre 25 Ra. Esa es la idea general aquí. Y se puede ver
que también aplica un bono cuando se trata de
los encantamientos de la fortuna también. Eso es algo que también se hace en este caso
con una función. Recomiendo encarecidamente una vez más, bajando a la unidad de bibliotecas
externas, cliente de
microondas extra one 1801, en lugar de la carpeta de datos, también
encontrarás que
la carpeta de tablas aludidas. Y luego dentro de ahí puedes echar un vistazo a todos los bucles, mesas de todos los bloques de
vainilla. Recomiendo muy bien. No puedo recomendar lo suficiente para
bajar aquí y sólo
echar un vistazo a esto. También te daré a otros recursos que
son realmente importantes. Uno de ellos siendo la entrada de la tabla
luge Wiki aquí desde el micro fan y wiki porque
aquí verás en realidad todas las cosas
diferentes, todas las cosas diferentes que puedes básicamente poner en. Se puede ver que aquí hay
un montón de cosas, recomiendo
encarecidamente
echarle un vistazo a esto, básicamente cómo funciona. Y luego hay
otro y eso va a ser desalineado punto GitHub
IO tabla de botín. Y este es un generador de
mesa de luge. Tan solo asegúrate de que estás
en 118 en la parte superior justo aquí. Y luego cuando tengas eso, básicamente
puedes cambiar
todas las cosas de aquí. Se puede decir, Hey, quiero
algunas funciones específicas. Se puede ver que estas son todas
las funciones, ¿no? Les vas a preguntar condiciones
específicas como una oportunidad aleatoria. Puedes ser como, Oye,
me pregunto si el, si la entidad es
asesinada por un jugador, todo eso, todo
eso, todo eso. Entonces hay una cantidad loca de cosas que
básicamente puedes agregar aquí. Recomiendo encarecidamente estar
abierto a la experimentación, probar un montón de cosas. Esto es lo mejor que
puedes hacer para las tablas de bucle. Y estoy seguro de que en ese
punto entonces lograrás
conseguir algo realmente mesa
Lu que es exactamente lo que
querrías que fuera. Pero esto en realidad
no es todo lo que tenemos que
hacer porque realmente
tendremos que añadir algo más. Y eso es una vez más
en nuestra carpeta de datos, haga clic con el botón derecho en nuevo directorio
llamado Minecraft, el juego que podría
haber oído hablar de él. Y dentro de ahí
necesitamos agregar un nuevo directorio, etiquetas viejas. Y luego dentro de ahí, necesitamos agregar un nuevo
directorio llamado bloques. Y luego dentro de ahí, necesitamos agregar un nuevo
directorio llamado minable. Ahora bien, ¿por qué necesitamos esto? Bueno, necesitamos definir cuáles son
nuestros bloques, nuestro ancho mental. Y para eso en realidad
vamos a bajar a la carpeta de datos, Minecraft, huevos, bloques, y luego veremos las
mandíbulas justo aquí. Lo que voy a hacer es
simplemente seleccionarlos todos, presionar el control C para copiarlos. Entonces entraré aquí, presiona Control V para pegarlo. Ten todos esos archivos JSON con todos los bloques de
vainilla aquí. Lo que puedo hacer es
solo, solo voy a seleccionar también todo esto y simplemente deshacerme de él o de
todos esos archivos JSON. Pero estas son etiquetas. Ahora etiquetas por el momento básicamente
puedes pensar en ellas como una colección de diferentes bloques o elementos que tienen alguna
funcionalidad similar a ellos. Pasaremos por qué bloques están en una conferencia posterior también. Pero por el
momento, lo que
haremos es solo sumar
por todos los bloques que
tenemos al Pic X Jason. Por lo que este sería MC curso
colon cobalto subrayado block. Y entonces solo
duplicaré esto cuatro veces. Esto es entonces una pared de bloque de
cobol de roca o y luego también la pizarra del IEP. Pero muy importante
es que
sólo se pueden definir bloques que
existen dentro de su MOD. Aunque si no tuviera el cobalto de capa profunda
o si añadí aquí, entonces obtendré un
error cuando traté de
unirme a un mundo que es
muy importante. Y luego hay tres cosas
más que necesito. Y esos son, bueno, el nivel de herramienta que necesito
para este nivel diferente. Entonces básicamente puedo
buscar esto. Por lo que puedes ver bonito diamante 200 necesita
hierro para necesitar herramienta de piedra. Una vez más, sólo copiaré
los tres de esos más. Muy recomendable hacer lo mismo. Estos son por supuesto, también
todos disponibles para ti en el repositorio de GitHub o un
individuo igual de bien. Y entonces sólo voy a hacer esto y sólo vamos a
decir esto y luego la herramienta de piedra también
acaba de deshacerme de. Y así por ejemplo,
digamos, ya sabes qué, creo que el cobol y
es herramientas de hierro al menos. Entonces lo que vamos a hacer
es que voy a decir MSE curso colon o
bolt underscore block. Y luego te das cuenta,
¿sabes qué? Tomemos esos, copiarlos,
ponerlos aquí. Eso es un poco más fácil. Se van. Por lo que sólo podremos minar
los que tengan
al menos una herramienta de hierro. Y arriba, Esa es la idea. Por lo que herramienta de hierro y arriba, vamos a poder minar esos ahora, cada nuevo bloque que agreguemos, tendrás que
añadir a estas etiquetas. Probablemente no estaré haciendo
eso en mientras avanzamos. Definitivamente
no lo voy a mostrar porque en este punto, ya sabes, si lo has visto una vez, probablemente
deberías
ser muy
fácil de añadirlos tú mismo. Debe ser bastante
sencillo, pero eso debe ser todo lo
que tienes que hacer. Y ahora después de haber
agregado las etiquetas y las tablas de laúd,
Veamos si funciona. O encontramos dice en Minecraft. Entonces vamos a ver si puedo minar esto y ellos van las gotas de bloque. Y aquí deberíamos conseguir algo
crudo para Walt y lo hicimos. Para que todo
funcione totalmente bien. También probemos esto con
un pico de piedra y
ya se puede ver que
lleva bastante tiempo, por lo que probablemente no funcione. Y se puede ver que no hace lo
mismo con el diamante aX. Se tarda tanto en
incluso como empieza a ver la animación de ruptura ni siquiera
vale la pena intentarlo. Por supuesto que no
va a funcionar, justo ahí ya lo estaría para esta conferencia aquí mismo. Espero que
esto te resulte útil en cuanto nuevo, una vez más, todos los archivos JSON
están disponibles en el repositorio de GitHub o en
un individuo igual de bien. Y nos vemos en
la próxima conferencia. Entonces, sí.
47. ASSIGNMENT 6: cuadras de presentación y loot: Muy bien, bienvenido de nuevo a
la segunda asignación aquí para el curso para 118. Y en esta asignación,
se supone que debes agregar algunas mesas sueltas
y algunas recetas. Por lo que las recetas que se
supone que debes agregar es la número 1. El receta de las pepitas. Para eso puedo poner un lingote
y sacar nueve pepitas. Y luego por supuesto el
reverso una vez más, donde básicamente puedo
poner unas nueve pepitas en el banco de manualidades y
luego sacar un lingote. Eso es el número uno. número dos es, también
debes agregar las recetas para el pozo de pizarra
profunda, o para fundir así como el cobalto crudo o para fundir. Y luego también poder
elaborar el bloque de cobalto crudo a él y luego de él de
nuevo, básicamente también. Y luego una cosa más
es que debes agregar una receta que contenga
al menos dos artículos de vainilla. Tan similar a la pila de
diamantes de otra estrella. Con eso lo hemos hecho aquí, sólo tiene que contener dos artículos de
Minecraft aquí. Y luego el resto básicamente
puedes llenar como quieras. Puede resultar en
cualquier cosa que te
gustaría solo ser
creativa que son, y sólo probar un montón
de cosas fuera, ¿verdad? Así que buena suerte y
diviértete con la asignación. Entonces, sí.
48. SOLUCIÓN 6: retarte y matillas: Muy bien, Bienvenido a esta
solución para esta asignación. Y por supuesto, agregar
las tablas de luge, Empecemos con esas
habría sido bastante
sencillo. Año básicamente acabamos de tomar la mesa de botín de bloque de cobalto y reemplazarla por
el bloque cobol de fila. Entonces lo mismo va para la mesa de cobalto de
pizarra profunda o botín, donde en lugar de
cobalto o cae las profundidades tardío cobalto o cobalto de
fila aquí
todavía debería caer normalmente. Entonces esas son las mesas de laúd. Y luego cuando se
trata de las recetas, se
puede ver que hay bastantes. Ahora en general, esos también deberían ser bastante
simples, ¿verdad? Lo último
del cobalto de pizarra profunda o
será bastante sencillo,
es lo mismo que el normal,
solo, ya sabes, con el estado
profundo ahí dentro. Y casi lo mismo
va para el resto de la misma. Todo ello debe ser
bastante autoexplicativo. Todas las cosas consideradas.
En todo caso, no
queda claro o tienes
alguna pregunta, por supuesto, siempre
puedes sentirte libre de usar la Q y a que se proporciona. Y responderé las
preguntas mejor de mi capacidad. Pero de lo contrario esto
sería todo para esta asignación aquí mismo. Espero que te haya parecido útil esto
y líderes de lo nuevo. Te veré en la próxima
conferencia sin embargo. Sí.
49. (Conceptos básicos de (Minecraft: Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta conferencia,
vamos a estar agregando un
elemento avanzado personalizado a Minecraft. Ahora lo que yo lo llamo un ítem
avanzado es básicamente un ítem que tiene su propia
clase asociada a él. Esto no siempre significa que
sea necesariamente loco avanzado, pero básicamente tienes
la capacidad de agregar mucho más funcionalidad
a este ítem. Entonces, solo veamos
cómo hacer esto. En nuestro paquete de artículos. Vamos a hacer clic derecho
nuevo paquete llamado Custom. Y luego dentro de
ahí no haría un clic derecho nueva clase Java
llamada el elemento de varilla dowsing. Te recomiendo encarecidamente terminar cada elemento personalizado con la palabra item para que
sepas lo que es. Esto extenderá la clase de
ítem aquí mismo, se colocará sobre este create,
constructor coincidente super. Y entonces básicamente echaremos
un vistazo a lo que podemos hacer. Entonces si hacemos
clic en el botón medio del ratón en la clase de ítem, en realidad
podremos ver todos
los diferentes métodos que
podríamos ser capaces de anular. Y se puede ver que
hay muchos métodos que podemos anular aquí, lo cual es realmente genial. Y hay incluso en
la parte de atrás aquí, fraguo elemento que
también podemos hacer clic en
el botón central del ratón, y hay aún más métodos
que podemos anular. También puedes ver los
métodos que podemos anular si
escribimos anulación aquí. Y luego puedes ver
básicamente todos
los diferentes métodos que
son posibles para anular. Y esto son muchos métodos
como se puede decir claramente. Entonces realmente mucho de esto
se reduce a una vez más, probar un montón de cosas, probar un montón de cosas. Y una vez más
probando un montón de cosas, estando abierto a la experimentación, probablemente lo mejor que básicamente te
puedo decir. Ahora vamos a hacer
un artículo de varilla de dowsing. Y quiero hacer con
esto es lo siguiente. Quiero poder hacer
clic derecho con este
ítem en un bloque. Y entonces básicamente se
extenderá hacia abajo en el suelo. Básicamente
echa un vistazo a cada bloque que está por debajo del bloque en el
que acabamos de hacer clic. Y si encuentra un bloque
valioso, entonces imprimirá las coordenadas.
Eso es todo lo que quiero hacer. Esta ya es
una idea bastante interesante. Todo lo que vamos a ver el método de
clic derecho al
hacer clic derecho en bloques porque hay
dos métodos diferentes para hacer clic derecho en Nanoblock y, y hacer clic derecho en
el aire por así decirlo. Por lo que sólo podemos poner en uso, y se puede ver este
uso aquí mismo. Este es el que se
llamaría. Este método se
llamaría si solo hacemos clic derecho en el aire para que esto sea lo que
quisieras. El método US on
aquí es el método que se llama al hacer clic con el
botón derecho en un bloque en particular. Pero este es el que
vamos a anular aquí y ver que tiene
un uso en el contexto. Y lo que vamos a hacer es
que sólo vamos a, bueno, voy a poner la
funcionalidad en y voy a
tratar de explicar mejor a
medida que avanza. Entonces vamos a tener una declaración if donde
vamos a preguntar básicamente el contexto p
que consigue un nivel. Entonces vamos a conseguir el mundo. El nivel aquí,
vamos a decir es del lado del cliente. Entonces en esta rara, rara instancia, realmente
queremos hacer
todo en el cliente en este caso porque en realidad
es un poco
más interesante para nosotros. Entonces vamos a decir
bloqueo Pausa, posición. Clicked es igual a
los contextos dot, get position, DIA, get
clicked, pause here. Y el módulo
va a importar esto presionando Alt y Enter. Entonces queremos al jugador. El jugador va
a ser contextos, dot-dot-dot jugador que vas. Y luego una vez más
haga clic en jugador y luego importe esto con
Alton también. Y luego por último pero no
menos importante, tendremos un booleano que se
va a encontrar libro, que aquí es igual a falso. Y luego queremos un bucle for. Entonces solo voy a poner este for-loop y
luego vamos
a ver lo que
básicamente hace esto. Pero vamos a empezar aquí. Voy a decir que más
igual posición clicó eso, get y i plus. Y entonces lo que quiero hacer
es básicamente que quiero conseguir el bloque que está por debajo la manzana que
acabo de mirar. Entonces bloque abajo, que es
igual al punto de contexto p, una vez más obtener nivel, no obtener bloqueo, fecha en
la posición particular, que es la posición
clicada punto abajo, por cuánto
estoy contando exactamente. Y entonces sólo estamos
sacando el bloque de eso e importando el bloque presionando Alt
y Enter una vez más. Ahora, lo que
quiero entonces es que quiero dar
salida a las coordenadas
y también tengo que revisar, vale, es este bloque,
ya sabes, algo valioso. Entonces para eso vamos a
hacer dos métodos de ayuda. Ahora en realidad
voy a copiar sobre la salida de las
coordenadas, ¿no? Este es el método de salida aquí. Entonces podemos ver que solo estamos
sacando el nombre del bloque y luego sacando
las coordenadas del mismo. Entonces eso es todo lo que
realmente estamos haciendo aquí. Y entonces también queremos
un booleano privado, viejo es valioso candado, que apenas toma
en una cuadra aquí. Y luego sólo devolveremos un verdadero si este es un libro valioso, lo que vamos a hacer es
que vamos a devolver
bloque igual a bloques de puntos
sondeo o por ejemplo, o LOC es igual, se bloquea o, o. Y entonces vamos a duplicar este va a tener
otra naranja aquí. Formatea esto un
poco diferente. Aplicar esto. Sí, y entonces
también pondremos diamante o y tal vez sólo
mineral de hierro aquí también. Y bloque de
hierro pero hierro o hace. Por lo que estos son los cuatro
bloques valiosos por el momento. Si quieres más, por supuesto
puedes agregar más en una conferencia posterior. También vamos a
ver una forma más robusta de hacer esto con etiquetas. Pero por el momento,
esto va a estar bien. Entonces lo que vamos
a decir es que vamos a decir si es valioso, caminar una cuadra abajo. Vamos a dar salida a las
coordenadas en la posición clicada que abajo con yo aquí,
sin embargo, porque esta es la posición
real en la que acabamos hacer clic con el jugador
y el bloque de abajo. Entonces estableceremos el
bloque encontrado para que sea cierto. Y luego
saldremos del
bucle for aquí porque
encontramos una cuadra. Y ya no
necesitamos hacer básicamente ninguna comprobación porque
sólo queremos dar salida al
primer bloque que encontramos. Y luego una vez que terminemos
con el for-loop aquí, vamos a decir,
si no encontramos bloques. Por lo que esto significa que no se ha encontrado ningún
bloque. Vamos a decir datos de
jugador y mensaje con un nuevo componente de texto
traducible. Elemento, MC curso dowsing, punto de
varilla sin valor de subrayado. Y luego después de los paréntesis, el segundo parámetro
va a ser player dot get UUID hace un año. Entonces esta es, por supuesto, una forma
de emitir un mensaje en el chat. Ahora, este es un componente de
texto traducible, así que tenemos que tomar esto
aquí mismo y añadirlo a la ONU
subrayarnos archivo JSON. Entonces sólo vamos a
agregar esto y sólo decir que no hay objetos de valor fuera. Te recomendaré usar componentes
traducibles
en todas partes que puedas, básicamente haciendo que tu marca un
poco más robusta u otros
países hablantes también. Entonces básicamente cuando
tienes otro lenguaje que solo hace que sea un poco más agradable leer
y usar en este momento. ¿ Cuál es el resto? ¿ Qué está pasando aquí?
Bueno, en primer lugar, nos aseguramos de que
estamos en el cliente. Este no suele ser el caso. Por lo general queremos estar en el
servidor, pero en este caso, porque solo estamos
generando algo En el cliente está bien
porque este uso en en en realidad
será todo dos veces
en el servidor y los que el cliente entonces sólo
hará dos variables aquí. Entonces la posición en la que hiciste
clic y luego el jugador. Y luego vamos a ir
desde el fondo del mundo hasta la
posición real en la que hicimos clic. Esto va a ser y. y, y vamos a empezar
cuando hayamos llegado a esto. Ahora lo que realmente tendremos que hacer es
realmente que tendremos que cambiar este pequeño pedacito
aquí en el estado de bloque. Porque si pongo un
número negativo aquí en el siguiente, por supuesto
iríamos por
encima de todo de repente. Por lo que realmente puedo
entrar en esto también. A ver. Vamos a ir
a la posición descendente a, en esta distancia. Ahora el verdadero problema es, por supuesto que esa es la distancia
aquí es negativa. Y claro que sólo
subiremos en lugar de bajar. Y en realidad queremos sumar un 64 a esto porque por supuesto, en lugar de que 0 sea el
límite del mundo, ahora
es negativo 64. Es por ello que básicamente
necesitamos también esto arriba por un 64 año y luego el resto
debería funcionar totalmente bien, porque el primer bloque al que literalmente
vamos a echar un
vistazo es el propio bloque
que acabamos de hizo clic. Y luego a medida que me convierta en uno, entonces vamos a bajar
uno y así sucesivamente y así sucesivamente hasta todo el camino a
0 cuando lleguemos a esto. Pero entonces lo que pasa
es que entonces podemos continuar. Por debajo de eso. Por eso agregamos un 64 aquí. Entonces en general, esto debe ser
todo lo que necesitamos hacer. Vamos a la clase More Items y vamos a crear los ítems. Nosotros sólo vamos a copiar esto, hacer de esto la varilla de dowsing. Y luego aquí la
misma varilla de dowsing. Ahora en lugar de un nuevo artículo, se
trata de un nuevo artículo de varilla de dowsing. Esto es sumamente importante
que hagas esto. Tenga en cuenta que este tiene que
ser un nuevo artículo de varilla de dowsing. De lo contrario, por supuesto
no obtendrá esta funcionalidad. Muy cuidado con. Añadamos la
traducción también. Entonces hay una varilla de dowsing, y luego aquí
es una varilla de dowsing. Copiemos
aquí el modelo de artículo de
Inglaterra para la varilla de dowsing. Y cambia el nombre
aquí, varilla de dowsing. Y luego también copiaremos sobre la textura de la varilla de dowsing en
la carpeta de artículos aquí mismo. Dowsing varilla hace. Y ahora esto debería ser todo lo que
vamos a necesitar. Aunque. A ver si funciona. Muy bien, nos encontramos en Minecraft y como puedes ver, el dowsing o se ha
añadido al juego. Vamos a ver si hago clic derecho. Bueno, eso es una
gran cosa para ver. Tu, esto por supuesto no es del
todo lo que teníamos en mente. No se pueden ver objetos de valor encontrados
que funcionen totalmente bien. Esto solo es la
salida real es por supuesto, se
haría un
poco más agradable de leer, pero sin preocupaciones en absoluto. Podemos ver la
posición real de la misma. Y bueno, quiero decir, eso es
absolutamente perfecto. Esto parece estar
funcionando totalmente bien. Y todo está bien. Ahora
en realidad hay dos cosas que también debemos agregar, y eso está en las propiedades
del artículo, también
debo agregar la
durabilidad aquí mismo. Y esto sería,
digamos por ejemplo, 16, para que podamos usarlo 16 veces. Y entonces
también debemos asegurarnos de que realmente
dañemos los artículos. Por lo que esto se va a hacer
fuera de la declaración if. Vamos a decir
contextos P, punto-punto, conseguir artículo en la mano
que duelen y se rompan. Por uno. Vamos a decir contextos P,
punto-punto, conseguir jugador. Entonces vamos a decir hacer un paréntesis donde
ponemos en jugador aquí, luego una, una flecha, y luego decimos
jugador dot broadcast, break event con la capa
dot get used item hand. Por lo que esto básicamente
sumará o restará una durabilidad cada vez
que utilicemos este artículo. Y entonces esto básicamente
sólo se asegura de que tengamos algo de durabilidad. Son algo
que
tampoco podemos apilar la varilla de dowsing, que por supuesto sí tiene mucho
sentido. Vamos también entonces
sólo por el bien del argumento en este, lugar de hacer el getName, hagamos solo como elemento y luego obtenemos el nombre del registro y
luego pongamos eso en una cadena. Esto también debería funcionar. Esto creo entonces debería
generar colon Minecraft, y luego lo que sea que sea
el bloque real, que está totalmente bien también. Esos son sólo algunos
ajustes aquí. Todo el código está
por supuesto disponible para ti en un repositorio de GitHub e
individual igual de bien. Pero esto sería todo para
esta conferencia aquí mismo. Espero que esto te haya
parecido útil en euros de lo nuevo, y te veré en
la próxima conferencia. Entonces, sí.
50. (Conceptos básicos de (Minecraft: Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta conferencia,
vamos a estar agregando un
bloque avanzado personalizado a Minecraft. Similar al artículo avanzado. Y bloque avanzado necesita
su propia clase separada. Por lo que en el paquete de bloque, haga clic derecho en nuevo
paquete llamado personalizado. Algo así
vamos a hacer clic derecho nueva clase Java llamada
el bloque SPD. Y el bloque de espíritu
tendrá la siguiente
funcionalidad. Si salimos,
vamos a
conseguir que se nos aplique un efecto. Y esos son los efectos de velocidad de
movimiento básicamente
van
a ser más rápidos. Ahora esto extiende
la clase de bloque, asegurándonos de que elegimos un
bloque de nivel mundial de Minecraft neto. Muy importante. Y luego pasamos el cursor sobre este constructor
credo
que coincide super. Y si el parámetro
aquí está sin mapear, podemos hacer es que
solo podemos hacer click en él, presionar Shift F6, y luego
elegir Propiedades aquí, solo para que se vea
un poco más bonito. Y entonces el método
que queremos anular es el método paso a paso. Entonces solo vamos
a escribir eso y luego presionar la Tab dos.
Completa esto. Y una vez más,
podemos hacer clic derecho en la clase de bloque y
podemos ver, bueno, muchos métodos diferentes
que podemos anular, probablemente incluso
más que en el elemento. Y esto por supuesto
no es así porque también
hay una
interfaz I4 cada bloque que tiene
aún más métodos que puedes anular esto. Se puede ver esto
es una locura y un montón de métodos que recomiendo mucho. Una vez más, sólo estando
abierto a la experimentación. Se puede ver si empecé a
escribir anulación aquí. Ahí está el método estadounidense que se utiliza para
hacer clic derecho o bloquear. Hay métodos como agregar efecto de aterrizaje
en los efectos de ejecución. Esto es algo loco. Bloque de cosecha puede cosechar bloque. Eso es como para un artículo
en particular, Lienzo cosecha el bloque. Tenemos una cantidad loca de cosas como
claramente se puede decir todo. Ahí está el método de destruir, Ahí está el método de texto de pluma
Hover, y luego algunos de ellos
que están en desuso aquí. Ahora, por lo general cuando
tienes un método en desuso
como por ejemplo, el onRemove o el método US. El método estadounidense es un
gran ejemplo de esto, no siempre, necesariamente significa que no debes usarlo. Lo que eso significa es que no
debes llamar a este método incluyendo
el super cool. Pero eso es algo
a tener en cuenta aquí. Pero para nosotros, sólo nos
interesa el método paso a paso. Y lo que queremos comprobar aquí
es básicamente No estamos en el cliente o que
habrá que escribir es signo de exclamación P
nivel es cliente-lado. Ahora este signo de exclamación
aquí es sumamente importante. De acuerdo, No lo hagas sin esto porque sin
el signo de exclamación, estamos revisando un extranjero, los clientes que
queremos estar en el servidor. Tenemos que negar
esto muy importante. Entonces queremos
comprobar si la entidad que ha
pisado esto es instancia
de una entidad viviente. Esto simplemente significa que podemos
lanzarlo sin un tema. Entonces podemos decir entidad viviente. Y entidad es igual
a E entidad punto cast. Y entonces con mayor frecuencia
sugerirá ya entidad viviente. Entonces esto es genial. Y entonces lo que podemos hacer es
si es una entidad viviente, podemos llamar a punto efecto add. Y aquí sólo
queríamos
llamar básicamente a una nueva instancia de efecto mob. Aquí pasamos en una mafia efectos
que lo que queramos, en este caso es velocidad de
movimiento. Y entonces el segundo parámetro aquí va a ser la longitud. Entonces este es el momento
que tiene este efecto. Si ponemos un 200, esto serían 200 garrapatas. Entonces divida esto por 20 para obtener la cantidad de tiempo
en segundos básicos. Y también puedes agregar
un tercer parámetro, y ese será el amplificador. Entonces esto básicamente es
un amplificador aditivo, lo que significa que si no
tienes nada aquí dentro, va a ser, ya sabes, uno, esto va a ser sp2, esto va a ser sp3
y así sucesivamente y así sucesivamente. Entonces esa es la idea
general aquí. Pongamos un a solo para
que podamos ver esto también. Y bueno, eso es
casi todo lo que necesitamos hacer en el ámbito de la funcionalidad para
la rápida fuerza de bloque. Ahora todavía tenemos
que registrarlo. Sólo vamos a copiar
sobre el cobol de sueño profundo o aquí y
vamos a llamar a esto el bloque de subrayado SPD. Y luego
el nombre lo mismo, bloque de subrayado
rápido. Entonces muy importante. Una vez más, este es un bloqueo rápido en esta
ocasión y no un bloqueo normal. El otro material con el que
realmente estoy contento, ahora solo llega
a los archivos JSON que voy a copiar. Todos esos están disponibles
para ti, por supuesto, en el repositorio de GitHub o en
un individuo igual de bien. Ver esto es solo un modelo de bloque
normal. Jason. Entonces vamos a copiar
sobre este de
aquí y digamos ET
subrayado bloque. Y entonces el nombre
va a ser rápido bloque como copia sobre el modelo de
bloque también. Una vez más, a algún modelo de bloque
normal que, eso apunta a una textura. Y el modelo de artículo
tampoco posee nada loco o espectacular. Es solo un modelo de artículo normal
como lo hemos visto para muchos otros bloques que simplemente
apuntan al modelo de bloques. último pero no menos importante, por supuesto, vamos también a añadir
textura y el ego. Ahora hemos agregado todo lo
que necesitamos agregar. Aunque, Veamos si funciona. O ofensas de vuelta y
las migrañas pueden ver que la SVD se rompió se ha
agregado a los juegos. Vamos a ponerlo abajo. Y lo que es muy
importante es
que, si bien esta flecha
apunta a esta dirección, siempre
apuntará
a esta dirección sin importar cómo la coloque hacia abajo. Simplemente tendremos eso en mente. Porque esta textura
básicamente
siempre va a apuntar
en la misma dirección. Vamos a ver
en una conferencia posterior cómo esto puede cambiar. Vayamos a la escuela aquí y ya
puedes ver que ya tengo velocidad para aplicarme
mientras estoy ahí. Haré que esto me
aplique constantemente. Pero entonces en cuanto me voy, puedes ver ahora yo también
tengo velocidad. Esto podría ser un bloque realmente
fresco, por ejemplo, para cualquier tipo de mapa de
aventura o como mapa
parkour posiblemente goma que ya
sería para
esta conferencia aquí mismo. Espero que esto le resulte útil
en cuanto a la nueva fuerza. Una vez más, todo el código
está disponible para ti en el repositorio de GitHub o en un
individuo igual de bien. Te veré en
la próxima conferencia. Entonces, sí.
51. (Conceptos básicos de (Minecraft: Muy bien, bienvenido de nuevo
al curso de forraje por 118. En esta conferencia,
vamos a estar agregando un elemento de combustible personalizado
a Minecraft. Agregar un artículo de combustible personalizado es en realidad bastante
sencillo. No obstante, en realidad necesitamos hacer una nueva
clase para esto. Entonces en nuestro
paquete personalizado justo aquí, haga clic derecho en nueva clase Java
llamada el elemento de la astilla de carbón. Y esto va a
extender la clase de ítem. Vamos a pasar el cursor sobre este crear,
constructor que coincida super. Y entonces realmente
lo único que tenemos que hacer es anular
un método en particular. Y eso es D conseguir tiempo de quemadura. Aquí mismo. Simplemente haremos doble clic en esto
y luego regresaremos cualquiera que sea el tiempo que este artículo
real tarda en quemarse. Ahora para nuestros propósitos, vamos a hacer por un 100. Una vez más, este es
el tiempo que lleva, así que eso es muy importante. Y por ejemplo, el carbón
tiene un tiempo de quemadura de 1600, por lo que esto es exactamente 1 cuarto, bueno
como las úlceras frías. Ahora vamos a nuestra clase de
más artículos y vamos a copiar
sobre la varilla de dowsing. Esta va a ser la astilla de subrayado de
carbón. Y el mismo año carbón
subrayan astilla, asegurándonos de que no
tengamos ninguna durabilidad en esto. Eso es muy importante. Y que estamos creando un nuevo carbón un
artículo de astilla aquí mismo. Aparte de eso, eso es
todo lo que tenemos que hacer. Por supuesto que todavía
necesitamos un modelo de artículo. Solo copiemos sobre
el modelo de artículo
del lingote cobalto y lo
llamaremos la astilla de subrayado de carbón. Y luego cambiando también
este año. Enfriar, Vamos a subrayar hígado. No olvides añadir la
traducción también. Vamos a subrayar astilla. Peor nombrar esta
la fuerza hepática OLS. Y luego por último pero no menos importante, ya que también copia sobre
el artículo también. Aquí mismo en nuestra carpeta de
artículos para la intro, la
carpeta de elementos de texturas que hace. Y eso es en realidad todo lo
que necesitábamos hacer. Entonces vamos a ver si funciona o
remisiones de vuelta en Minecraft. Y sólo veamos la
costa del esposo agregó. Y por supuesto que
funciona totalmente bien. Y se puede ver que
el fuego básicamente disminuye bien, con bastante rapidez. Todas las cosas consideradas, deberían
ser básicamente 20 segundos
que haya quemaduras, por lo que debería ser suficiente
para exactamente dos artículos. El olía completamente,
básicamente exactamente 1 cuarta parte de lo que el elemento núcleo real
es que somos capaces de fundir. Entonces yo diría que eso es bastante guay. Está bien, y eso es en realidad
lo fácil que puede ser agregar el
artículo de combustible personalizado a Minecraft. Y sí, tristemente, lo que
tendrás que hacer es siempre
tendrás que hacer
una nueva clase personalizada aquí, lo que también puedes hacer
en teoría es que puedes hacer una clase anónima
en los más ítems aquí. Pero solo sugiero hacerlo así porque
esto es
mucho más fácil de hacer. Seamos honestos, porque esto no es demasiado loco para hacerlo. Y también debería estar bien. Siempre puedes
hacer un nuevo paquete disfrazado de artículos
de combustible, y luego simplemente poner todos tus artículos ahí si realmente te gusta
molesto con esto, con estas clases, Eso también
debería ser posible. De lo contrario esto sería 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 sin embargo. Sí.
52. (Conceptos básicos de minúsculos): Muy bien, bienvenidos de nuevo a
la Sala del Curso de forraje 118. Y en esta conferencia
vamos a añadir un artículo alimenticio personalizado a Minecraft. Para agregar un artículo alimenticio personalizado
en realidad no es tan difícil. Básicamente solo necesitas
un nuevo artículo normal. Por lo que sólo necesitamos un nuevo artículo aquí. Y esto va
a ser un nabo. Y por supuesto lo mismo
va aquí, nabo. Y entonces cuando tenemos que
hacer es llamar al método
de comida punto justo aquí y pasar
algunas propiedades alimenticias. Ahora en lugar de agregar esas propiedades de
comida en línea, lo que vamos a hacer
es hacer una nueva clase y el paquete de ítems haga clic con el botón derecho en nueva clase Java
llamada el modo maderas. Y luego ahí dentro,
básicamente puedes crear este alimento. El ejemplo de vainilla
sería la clase de la comida. Entonces presione turno dos veces
y ponga los alimentos aquí. Asegúrate de
marcar aquí los elementos
no incluidos del proyecto. Y luego podemos abrir
esto y se van, ahora
tienes básicamente acceso a todas
las propiedades alimenticias
que Bonilla también ofrece para que básicamente
puedas saber qué
debes agregar ahí. Entonces vamos a agregar aquí nuestra
propia propiedad de comida, así que haremos una estática pública. Final, las buenas propiedades
subirán. Y entonces esto es
igual a un nuevo alimento de las fiestas que constructor. Y vamos a
sumar nutrición. Pero este es el número de AF cumple básicamente que
te restaure. El modo de saturación es básicamente lo que
sucede en segundo plano. Y luego solo para
que lo hayas visto, también
puedes agregar un
efecto aquí como puedes ver si solo podemos usar aquí un proveedor de una nueva instancia de
efecto mob de, por ejemplo, los efectos móviles, esa velocidad de movimiento o
digamos 200 garrapatas otra vez. Y entonces también pasas en una probabilidad
con qué frecuencia sucede esto. Entonces si tú, por ejemplo,
dices, ¿sabes qué? En realidad sólo quiero que
suceda el 10 por ciento del tiempo. Después pones en el punto 1 f. Entonces al final,
siempre necesitas terminar con un punto construido aquí y el ego. Y eso es básicamente
el nabo hecho. Y ahora este año se
llamará aquí mismo. Sólo vamos a decir
mod de alimentos que aparecen. Y ellos hace, eso es
todo lo que tenemos que
hacer para agregar el artículo alimenticio personalizado. Ahora por supuesto, todavía
necesitamos tanto la textura como el ítem
modelo JSON file ls. Ahora olvídate, y la
traducción aquí también. El nabo es, por supuesto, un verbo. Y este va a ser
el modelo de artículo de nabo es un modelo de artículo normal como hemos
visto mucho tiempo ahora, que simplemente apunta a esta
singular textura aquí. Y bueno, después de haber
agregado todo eso, Vamos a ver si funciona u
ofensiva de nuevo en Minecraft. Entonces, solo comamos el nabo. Como se puede ver, se
ha agregado y se ha rellenado exactamente
una barra de hambre. Entonces la idea es que por supuesto, si pones en dos, eso llenaría dos mitades, es
decir, un lago,
una pierna de pollo, uno básicamente cumple
bar justo ahí. ¿ Verdad? Entonces así de fácil puede ser agregar comida personalizada a Minecraft. ¿ Verdad? Y eso preocuparía poco por
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í.
53. (Conceptos básicos de minúsculos) consejos herramientas personalizados: Muy bien, bienvenido de nuevo
el curso de forraje para 118. Y en esta conferencia
vamos a estar agregando un consejo de herramienta personalizado a Minecraft. ¿ Y para qué es una herramienta personalizada? Bueno, es exactamente
eso que se
ve cuando se pasa el cursor sobre
un artículo en particular. Pero antes que nada,
lo que vamos a hacer es que lo vamos a agregar
al artículo de varilla de dowsing porque
normalmente necesitamos una clase de
artículo personalizada para esto. No obstante, también
veremos cómo podemos
hacerlo y básicamente sumado
a los bloques también, porque eso es
algo que mucha gente ha estado
pidiendo en el pasado. Por lo que quería
demostrar eso también. Entonces vamos a
empezar por anular el
método append Hover Text aquí mismo. Por lo que sólo vamos a escribir
un lápiz Hover Text y luego autocompletarlo
con la tecla Tab. Y entonces ya no
necesitamos esto porque lo que queremos
es que queremos rondar sobre la
varilla de dowsing real y luego va a decir algo como Redshift
para más información. Y luego cuando
mantenemos pulsada Mayús, entonces básicamente podemos ver la Tooltip real.
Pero, ¿cómo hacemos esto? Bueno, vamos a ver si
pantalla eso como cambio hacia abajo, entonces vamos a
hacer una cosa más. Vamos a hacer otra cosa. Y lo único que
vamos a hacer es que vamos a decir tooltip componentes dot add. Vamos a usar un
componente
traducible más nuevo aquí mismo. Y la clave va
a ser tooltip dot, dot, dowsing, underscore round. Acerca de, sólo diga
tooltip, ese turno. Una vez más, muy importante. Estas claves solo sean
consistentes con él. Eso es lo más importante. En este caso. Creo
que eso está bien. Podemos simplemente copiar esto. Y luego aquí abajo sólo
vamos
a decir sin el turno. Ahora, ¿dónde definimos
esta voluntad una vez más, igual que lo hemos hecho aquí mismo, sólo
definimos esto dentro
del archivo yen us JSON. Al igual que hemos hecho aquí arriba. Esto lo definimos en la
ENR score us archivo JSON. Nosotros sólo vamos a hacer
esto en el fondo aquí, éste. Y entonces esto se va a ver algo así como lo siguiente. Entonces el turno uno es el que en realidad aparece
cuando mantienes turno. Y se va a hacer
clic derecho para encontrar objetos de valor. Y sólo vamos a
duplicar la línea presionando Control D y quitando
el turno aquí. Y entonces esto básicamente le pide
al usuario que presione Shift. Y la forma en que podemos
hacer esto es que podemos poner en un
símbolo de párrafo justo aquí, E, lift y Párrafo símbolo r. Y esto hará de esto
un color diferente. Voy a enlazar en los recursos, un gran recurso para básicamente
ver esos códigos de color. Recomiendo
encarecidamente echarle un vistazo a eso. Básicamente, son
los códigos de formato que también puedes usar
cualquier libro de Minecraft. Te
recomiendo encarecidamente echarles un vistazo porque entonces
básicamente puedes colorear en cualquier cosa que
quieras y puedes hacerlo bastante cool,
Todas las cosas consideradas. Pero sí, eso es en realidad todo lo
que necesitamos para el artículo. Pasemos entonces a
las cuadras. Los bloques son un
poco diferentes, pero también son
bastante sencillos. Entonces no lo vamos a hacer
por el bloque rápido, en realidad lo vamos a hacer. Bueno, vamos a anular estos
dos métodos, ¿verdad? Entonces, ¿qué significa eso? Bueno, sólo vamos a
copiarlos primero, y luego vamos a tener
un error porque, bueno, tenemos dos métodos que
coinciden con otros métodos. Pero lo que podemos
hacer es simplemente añadir un nuevo parámetro aquí. Y eso sólo va
a ser una cuerda. Y esa va a ser
la clave de tooltip, entonces
va a pasar lo mismo. Entonces solo voy
a copiar esto
al método de bloque de registro. Y luego podrás ver de nuevo
todas las obras. Porque entonces lo que
vamos a hacer es que también
vamos a pasar esto aquí. Entonces el tooltip, lo van
a pasar por aquí. Y luego aquí, en lugar
de simplemente crear un elemento de bloque normal
después de éste, vamos a hacer
una clase anónima. Y entonces aquí sólo podemos
anexar el texto de desplazamiento. Entonces aquí lo que vamos
a decir es que vamos a decir tooltip dot add. Y entonces sólo vamos a decir un nuevo componente traducible con la clave tooltip que
hemos pasado ahí. Y ahí tienes. Ahora esto sólo se
llamará si realmente agregamos una descripción de herramientas e al final
del bloque aquí. Entonces si no lo agrego, entonces, Sólo va a
crear el bloque sin él. Si sí lo agrego, solo
puedo hacerlo. Entonces, por ejemplo, hagamos el bloque SPD porque eso
no tiene mucho sentido. Entonces podemos decir,
por ejemplo, herramienta, punta, punto, cerraduras o bloque. Realmente no importa. Bloque rápido,
digamos por ejemplo. Y esto
agregará luego una punta de
herramienta específica con el bloque SPD. Sólo tenemos que ahora poner
esto aquí también. Entonces algo así se pone
realmente a exceso de velocidad así. Y esto también se mostrará
luego cuando pasemos el cursor sobre
el bloque SPD. De hecho, eso es
lo fácil que puede ser agregar esto también. Bueno, bloques específicos también. Ahora bien, no vamos a tener la funcionalidad particular
del turno de celebración. También podríamos por supuesto añadir de una manera particular
que también funciona. Pero alguna modificación aquí, verdad con un
poco de conocimiento Java, estoy seguro que las
manejarás también, ¿verdad? Entonces ahora después de que hayamos
sumado ambos, veamos si funcionan o nos
encontramos de
vuelta en Minecraft. Entonces vamos a ver, Ahí tienes. Dowsing más turno
de prensa de más información. Por supuesto funciona ya sea en la pestaña no creativa o
en el inventario real. Y si sostengo Shift
click derecho para encontrar objetos de valor, exactamente como quisiéramos que lo hiciera. Y luego aquí están el bloque SVD. Se pone realmente rápido,
también muestra esto. Entonces eso es realmente
impresionante y eso es casi lo
fácil que es agregar la información de herramientas personalizada
a Minecraft. Está bien, y eso ya
sería para esta conferencia aquí mismo. Espero que te haya parecido útil esto
y hayas aprendido 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í.
54. (Conceptos básicos de (Minecraft: Muy bien, bienvenido de nuevo
al curso de fragua para 118. Y en esta conferencia
vamos a estar agregando etiquetas
personalizadas a Minecraft. Por lo que las etiquetas personalizadas, esas no
son las etiquetas de nombre. Estas son en realidad etiquetas de las que hemos hablado previamente con las etiquetas minables
y las etiquetas de herramienta de aguja. Básicamente, lo que
vamos a hacer es que
ahora vamos a hacer no
sólo nuestra propia etiqueta personalizada, también
vamos a ver
cómo puedes agregar etiquetas al espacio de nombres de forja. Y eso podría ayudar con la
compatibilidad entre tu paquete de curso MOD y otros meses
MC, vamos a
hacer clic derecho en nuevo paquete llamado el
paquete util aquí mismo. Y luego dentro de ahí,
vamos a hacer una nueva clase Java llamada
etiquetas modelo Veeam. Ahora las etiquetas de motor se
van a ver de la siguiente manera. Por lo que esto básicamente se
modela después de las etiquetas de naranja aquí. Por lo que tienen básicamente
dos clases estáticas, cuando bloques clase y
cuando clases de elementos. Y aquí también muy interesante
mirar básicamente algunas de las etiquetas opcionales que ya
tienen predefinidas. Básicamente que también
puedes agregar cosas. Entonces eso es muy bueno. Puedo recomendar encarecidamente
echarle un vistazo a eso. Entonces lo que vamos a
hacer es decir clase estática
pública
llamada bloques. Y luego debajo de ella una clase
estática pública, artículos geniales. Hace y ahora en la
clase de bloques vamos a necesitar un privado estático tags dot opcional llamado
tag of type block. Solo vamos a llamar a
la etiqueta de método con un parámetro de nombre de cadena. Vamos a importar la clase de bloque, asegurándonos de que elegimos
el correcto bloque nivel mundial de
Minecraft,
bloque, por supuesto. Y luego podemos devolver el bloque tags dot read opcional con una nueva ubicación
de
recursos de nuestro curso MC mod, mod ID y el nombre. Eso es todo lo que tenemos que hacer. Y luego
vamos a copiar esto. Y vamos a
llamar al otro, la etiqueta naranja está aquí. Creamos una etiqueta forjada. En lugar de r mod ID. Vamos a pasar en
el espacio de nombres Forge. Y entonces podemos tomar ambos métodos y simplemente
copiarlos
al fondo aquí y simplemente cambiar esto a ítem, Lo mismo
con éste. Y luego en lugar de
etiquetas de bloque, tenemos etiquetas de ítem. El ego, y las clases
se construyen básicamente. Ahora la pregunta es, bueno,
¿qué queremos aquí? Bueno, primero que nada agreguemos nuestra propia etiqueta personalizada que
va a ser una estática pública. Las etiquetas finales son opcionales
con nombre de etiqueta de tipo block. Y este va a
ser el
subrayado de varilla de dowsing valioso, igual a un nuevo para etiquetar. Y luego dowsing guión bajo,
subrayado batalla. Ahora bien, ¿qué hace esto? Bueno por el momento
no hace nada, pero luego podemos referirnos esto y todo lo
que está dentro de esta etiqueta será evaluado de alguna
manera sin embargo. Para agregar cosas a la etiqueta, bajamos a
núcleos MC y luego
vamos a hacer un nuevo
directorio aquí llamado tags. Y luego dentro de ahí,
sólo vamos a hacer un nuevo archivo. En realidad hay este nombre, así que dowsing, varilla
subrayan objetos de valor. Y es muy JSON, muy importante que
los nombres aquí coincidan. Mi vida un poco más fácil. Voy a copiar sobre la, ya
sabes, la forma en que está estructurada
la cosa. Y entonces
también
copiaré en realidad la totalidad
de los contenidos. Esos están todos
disponibles para ti en el repositorio de GitHub e
individual igual de bien. Esto lo hace un
poco más fácil aquí se puede ver
básicamente tengo el cobalto o así como un montón de otros minerales aquí también. Y sigues
siendo como Yeah, pero qué hace esto, ok, ahora tenemos una etiqueta para ello. ¿ Cómo podemos hacer algo con él? Bueno, en el elemento de varilla de dowsing, recuerdas que tenemos este es valioso método de bloque donde
tuvimos que pasar en bloques
manualmente por así decirlo. Y ahora lo que podríamos
hacer es decir más etiquetas que bloqueen,
ese gaussiano o objetos de valor
que contiene bloque. Y esto sólo devolverá si el bloque
que hemos pasado
aquí está contenido en aquí está contenido en la
etiqueta de objetos de valor de varilla de dowsing, y eso es todo. Eso es todo lo que tenemos que hacer. Y ahora podemos expandir esto más
o menos infinitamente. Otros modos podrían expandirse. Esto solo hace que nuestro mod 10 veces mejor en
términos de compatibilidad. Y mientras estamos en la
compatibilidad en los ítems, solo
agreguemos también, final estático
público,
etiquetas, punto-punto, etiqueta con nombre
opcional, ítem
o perno de guiones de subrayado. Y esto es igual
a una etiqueta falsificada. Debajo de lingotes son audaces. Y entonces
sólo vamos a duplicar esto. También voy a
poner las pepitas solo para show básicamente, entonces este sería su vehículo. Ahora, ¿por qué querríamos hacer esto? Bueno, en primer lugar, hay dos distinciones
que necesitamos hacer. Si creamos una
etiqueta opcional aquí mismo en este modo clase de impuestos que no
necesariamente hace nada. Esto sólo nos
permite especificar o hacer
referencia a ciertas
etiquetas que hemos creado como esta
dentro de nuestro código. Esto no siempre es necesario, pero
a veces puede ser necesario. Entonces para nuestros propósitos,
vamos a crear una nueva carpeta en la carpeta de datos
llamada Forge. Y luego dentro de ahí
vamos a crear una nueva carpeta llamada tags. Y luego dentro de ahí, vamos a crear una
nueva carpeta llamada ítems. Y luego dentro de ahí, vamos a crear otra carpeta
nueva, lingotes viejos. Y luego finalmente ahí,
haga clic con el botón derecho en nuevo archivo
llamado cobaltos JSON. Ahora una vez más,
en realidad me limitaré a copiar el contenido de
éste aquí mismo para que tengamos la estructura tributaria básica. Y entonces sólo voy
a decir MC curso, colon o perno
subrayado Inglaterra. Ahora he agregado
mi lingote cobalto, los lingotes cobalto forjado etiqueta. Ahora, lo que el LSAT
escribir así no
nos lleva a ninguna parte. Al igual, ¿por qué haríamos esto? Echemos un vistazo a esto. Si tengo una receta en la que
usé el inglés cobalto, tal vez nuestro 1D u otros modos
que agregan cobalto también, ya
sabes,
para que eso se use también. Pero ahora puedo decir en lugar
de elemento, digo etiqueta, y luego en lugar de esto
digo forja, un nuevo espacio de nombres. Estamos bajo lingotes slash cobalto. Ahora, cualquier cosa que se
agregue a esta etiqueta se puede usar aquí mismo para
elaborar esta receta. Y eso es insanamente poderoso, sobre todo cuando, ya
sabes, tienes un gran
pack mod, ya
sabes, quieres hacerlo más
compatible entre sí. Esto es algo genial,
como realmente genial. Definitivamente piensa en
esto, echa un vistazo a esto. Y sí, esas son más o menos
las dos, bueno, razones medias. Yo diría que tal vez quieras
agregar etiquetas aquí, ¿no? Solo agreguemos una sola cosa
más aquí mismo. Y eso va a ser un público que a evitar llamado
el método de registro. Ya que solo necesitamos
registrar
ambas clases porque
son inicializadores estáticos. Ahí hay algo de onky en EU. Lo son,
sólo vamos a tener un bloque de registro etiquetas con
básicamente nada en él. Eso está bien. Y el nuevo engranaje, y
vamos a llamar a esto las etiquetas de artículo de caballo. Y aquí sólo lo
vamos a llamar bloques, no bloquear etiquetas y ítems, registro de
datos ítem 10. Y que este método de registro simplemente se
llamará aquí mismo. Entonces solo vamos
a decir mas tags dot, cual es el ego, ¿no? Y por supuesto hay un
poco de error tipográfico aquí. Entonces, en realidad, esto
necesita estar bajo la categoría de registros. Ahí vas. Y entonces todo
debería funcionar bien. Entonces ahora veamos Por obras o finanzas o
empaca y Minecraft. Entonces veamos si funciona el cobol
Ingrid. Y ahí tienes. Por supuesto que la
artesanía todavía funciona. Eso es genial. Tomemos la varilla de dowsing y
vamos a ver, ahí tienes. Hasta puedo encontrar cosas muy temprano e incluso puedo encontrar cosas
que antes no pude encontrar,
como el, el oro del
estado profundo o, o la guerra de Redstone profundamente matada. Por lo que la etiqueta real también funciona. Eso es genial, ¿verdad? Una vez más, todo el
código está disponible en el repositorio de GitHub e
individual igual de bien. Pero esto ya será
para esta conferencia aquí mismo. Espero que hayas encontrado esto útil y hayas aprendido algo nuevo. Te veré en
la próxima conferencia. Entonces, sí.
55. (Conceptos básicos de (Minecraft: Muy bien, bienvenido de nuevo
al curso forestal por 118. Y en esta conferencia,
vamos a estar agregando escaleras y
losas
personalizadas a Minecraft. Ahora esto inicia una
pequeña sección, por así decirlo, de unos bloques
no bloqueados como me gusta llamarlos. Esto incluirá, como dije, escaleras y las losas, así
como vallas,
vallas, muros, botones, placas de
presión, la puerta y la trampilla. Entonces va a haber básicamente
las próximas cuatro conferencias. Y bueno, sólo empecemos. Entonces en la clase de Modocs, lo que vamos a hacer es que
sólo vamos a copiar, digamos el
sueño profundo o aquí porque eso es un poco más fácil
para nosotros en este momento. Y luego
vamos a llamar a esto la escalera de subrayado cobalto. Y luego aquí por supuesto también, subraya el
cobalto, los suyos. Ah, entonces copia eso y
haz las losas fuera de él. Entonces losas, en realidad
losa, muy importante, pero escaleras, es Laurel y
con la losa, es singular. Y entonces aquí esto
va a ser un bloque de escaleras, mientras que esto va
a ser un bloque de losa. Y el bloque
realmente toma en un, otro primer parámetro el
cual va a ser un aplicador de bloques dot cobalto, block dot-dot obtiene el estado de bloque predeterminado
o predeterminado. Esta es sólo la cuadra básicamente de la que están hechas las
escaleras. Eso va a estar bien en esto. Hagamos ambos de material metal solo para que tengamos esto. Y luego aparte de
eso, en realidad estoy bastante contento con esto. Ahora lo que pasa con todos
los bloques no bloqueados es que
el registro real? Bueno, ese es un año bastante fácil. Qué es realmente más que yo diría, no
necesariamente molesto, pero se va a poner molesto cuando
lleguemos a
las, ya sabes, las puertas y cosas así porque va a
haber muchos archivos JSON. Vamos a copiar
los archivos JSON ante el IRS y las losas. Entonces lo que primero que nada, nota con sólo abrir
las escaleras de cobalto uno, hay muchas cosas aquí
más de lo que ha habido antes. Entonces lo primero que quiero
decir es que todos
los archivos JSON están
disponibles para ti en el repositorio de GitHub
o en un individuo. No escriba esto. Eso es locura, vale, No
hagas este
peor escenario. Si por alguna razón no
puedes descargar algo para mí, siempre
puedes ir a
los Activos, Minecraft, así que básicamente
bibliotecas externas y ella microondas cliente extra
181 y luego a la, a los estados del microbloque de activos. Y luego solo puedes tomar las
escalinatas freakin Keisha, por ejemplo. Se puede ver que
básicamente son exactamente iguales. Aquí la única diferencia es
el MOD ID y el nombre. Y
te mostraré un truco rápido. Lo que puedes hacer es seleccionar esto y luego presionar Control R. Y aquí, por ejemplo, sólo tienes que
cambiar el lema De. Si tienes un ID de modelo
diferente es Reemplazar Todo y luego
reemplazará a todos ellos. Lo mismo con el nombre de
las escaleras reales, derecha, está seleccionado presione Control R y
luego se puede cambiar. Tienes titanio, por ejemplo, Twitter al titanio y el ego. Entonces eso es algo muy
bueno tener. Te recomiendo encarecidamente hacer eso si realmente quieres
cambiar algo, pero definitivamente no
teclees esto, eso sería una locura. Ahora, ¿qué hacen todos
estos, verdad? Entonces tenemos
variantes particulares aquí, y la varianza se definen
por propiedades de estado de bloque. Ahora bloques ellos propiedades de las que
vamos a hablar en una conferencia posterior
por el momento, solo
pensemos en la idea de que ciertos bloques en el mundo pueden tener propiedades diferentes. De acuerdo, eso no debería
ser demasiado loco. Y luego dependiendo de
esas propiedades, derecha, si las
propiedades de frente Este y la propiedad media es inferior y las
propiedades de forma en nuestra izquierda, entonces vamos a mostrar un particular modelo con una rotación
particular aquí. Y luego bloqueo UV,
simplemente básicamente bloquea la rotación de la textura para que no
gire con el bloque. Eso es solo, ya sabes, no es demasiado importante en este caso. Esos son realmente los
más importantes. Y sí, eso es básicamente entonces apunta a un modelo
diferente. Y lo que verán es que
tenemos las escaleras de cobalto
interior y luego aquí repente
tenemos
las escaleras de cobol afuera y aquí tenemos
justo las escaleras de cobalto. Entonces lo que podría haber adivinado
ya es que
van a haber varios archivos de modelo de
bloque para, bueno, las escaleras
y también las losas. Pero antes de añadirlas, en realidad
agreguemos primero la
traducción, sólo para que no la olvidemos
porque eso a veces
podría suceder. Yo sólo voy a
copiar sobre la orden va a ser la escalera de cobol. Y la losa cobol va
a ser la losa cobol. Y aquí hay blanco y luego puedo copiar sobre
los archivos del modelo JSON. Por lo que los
archivos del modelo de bloque Jason, como dije, todos ellos están
disponibles para ti en el repositorio de GitHub o en
individual igual de bien. Ahora, esos sólo
van a ser cinco. En realidad no es tan malo. Y la cosa al respecto, ellos mismos son en realidad
bastante sencillos. Al igual que si miras esto, por ejemplo,
no hay nada demasiado loco, ¿verdad? Entonces el padre aquí eso es
diferente, eso es losa. Y luego tenemos tres texturas
diferentes. Pero en realidad el OH apunta
al bloque de cobalto
porque por supuesto la losa cobol simplemente
se ve básicamente como
la mitad de un bloque de cobol. Y cuando están encima el uno del otro, lo que se llama bloque. Entonces van y luego lo
mismo con la de arriba. Se ve exactamente igual a
excepción del padre. También echemos un
vistazo a estas escaleras sólo por el bien de finalización. Y rápidamente verás
que de repente, realidad no
es tan loco. Es solo que el padre
es diferente. Y el padre básicamente
sólo determina la forma del bloque real que
se está mostrando. Podría tener escaleras
que son escaleras normales. Cuando agregas escaleras
en un ángulo de 90 grados, sabes que
obtienen una forma diferente. Eso básicamente es literalmente lo que hace aquí el padre. Y las texturas se mantienen iguales. Y se trata de los modelos de artículo. En realidad son bastante aburridos. Todas las cosas consideradas, son
solo modelos de artículo normales. Las escaleras sólo apuntan a las escaleras y la losa sólo apunta de nuevo a
la losa normal. Ahora lo que es realmente
genial es que no necesitamos agregar ninguna textura
porque todas
las texturas que usan las escaleras y
las losas son
el bloque cobol. Por lo que no es necesario
agregar ninguna textura. Y con eso, esto
en realidad está bien, básicamente hecho. Ah, supongo que por el bien de finalización, vamos a ver si funciona o se
refieren en
microfinanzas pueden ver tanto las escaleras
como estos laboratorios se
han agregado
con éxito al juego. Y todo aquí
está funcionando muy bien. Puedo ponerlos bien en la
forma que me gustaría. Entonces, ¿eso no es simplemente genial? De hecho eso es
lo fácil que es agregar esos a Minecraft o donde sea
que ya fuera para
esta conferencia aquí mismo. Espero que fuera útil en
el nuevo, una vez más, todo el código en el archivo
JSON están disponibles en el repositorio GitHub
donde justa un individuo. Y nos vemos en
la próxima conferencia. Entonces, sí.
56. (Conceptos personalizados: Muy bien, bienvenido de nuevo
al curso forestal por 118. En esta conferencia,
vamos a estar agregando un botón personalizado y una
placa de presión a Minecraft, ¿verdad? Por lo que una vez más, los botones y las placas de
presión son en realidad
bastante sencillos, o el registro en sí solo los archivos JSON
que son año loco. Pero solo agreguemos un botón aquí y luego todo el botón de guardar. Este va a ser un bloque de botones de
piedra porque no
hay ningún
bloque de botones de metal en este caso. Y entonces muy importante, lo que también necesitamos una
llamada es que necesitamos
llamar al no colisión
aquí mismo. Pero básicamente podemos
caminar por la cuadra sin ningún tema. Y luego para la
presión del cobalto subrayan tarde. Y aquí, subrayado móvil, presión bajo guión
tardío por supuesto
va a ser un bloque de
placa de presión 0. Y eso de hecho toma en un, otro primer
parámetro, que
va a ser la sensibilidad. Simplemente vamos a
elegir todo. Por botón central del ratón haga clic
en el bloque de la placa de presión. El
método de fuerza de señal aquí es básicamente
responsable de la sensibilidad. Como puedes ver,
aquí
hay un interruptor , todo y turbas. Y una idea general
es que si
realmente quieres tener una sensibilidad
diferente, puedes lograr esto anulando
este método básicamente, y luego cambiando un
montón de cosas aquí. Altamente recomiendo algún
conocimiento de Java definitivamente se requiere para hacer esto y ser, tener algo de trabajo, pero
debería ser viable, ¿verdad? Entonces ahora pasemos
a los archivos JSON. Esto primero de todo realmente agregó la traducción porque
eso va a ser, bueno, lo más fácil va a llevar esto rápidamente
para que puedas ver el botón de cobalto y
la placa de presión cobol y luego los archivos JSON locos. Ahora una vez más, todos esos siguen disponibles para ti en el repositorio o un individuo
igual de bien como siempre. Y esto va a ser una locura. Entonces la placa de presión en realidad, quiero decir, eso es como, santa multa. Escríbelo en sea falso, por lo que poder o no alimentado. Y luego o mostramos
el juego de presión hacia abajo o la placa de presión
normal, hay suficientes. ¿ Y el botón? Bueno, el botón es
un poco más loco. Entonces el botón aquí,
como puedes ver, como una vez más a tres
bloques diferentes propiedades de fecha, y dependiendo de ellos, básicamente
cambiamos, en
primer lugar, a
qué modelo apunta y
también la rotación aquí. Entonces eso es bastante
loco. Pero por suerte, el
botón en realidad sólo tiene tres modelos de
bloque diferentes, mientras que la placa de presión, como hemos visto, sólo tiene dos. Por lo que una vez más trabajar a las cinco. Vamos a copiarlos y sólo vamos a echarles
un vistazo. Pero en general, la placa de presión, como puedes ver, una vez más, solo apunta a la textura
del bloque de cobalto es solo
un padre diferente. Entonces el modelo de bloques Jason está
aquí, No realmente interesante. Lo mismo con todos los botones. No es nada demasiado loco. Entonces esto es algo que
va a ser
una especie de cosa que sucede para la mayoría de los diferentes archivos JSON reales de modelo de
bloques
para los bloques no bloqueados. En realidad no son
tan interesantes. Solo hay muchas de
ellas para que
básicamente puedas definir cualquier cosa
que te gustaría. Y esto
más o menos se extiende también a los archivos JSON modelo de ítem. Esto se puede ver
al inventario general de bloques y esto solo apunta a
la placa de presión normal. Una vez más, no necesitamos agregar ninguna textura es porque todas
las texturas a las que apunta siempre
va a ser el bloque de cobalto. Por lo tanto,
en realidad ya estamos hechos. Una vez más, todo lo que
puedes copiar desde lo esencial. Entonces el GitHub, lo
recomiendo encarecidamente. Y vamos a ver si
funciona o por qué encontramos
sospechoso en micro. Como puedes ver, todo se
ha agregado y
también funciona totalmente
bien. ¿No es genial? Se puede ver todo funcionando exactamente como
esperarías que lo hiciera. Y 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í.
57. (Conceptos básicos de (Minecraft de las Fences y paredes y muros: Muy bien, bienvenido de nuevo
al curso de fragua para 118. Y en esta conferencia
vamos a estar agregando unas vallas personalizadas,
vallas , portones, y
muros a Minecraft. Entonces esto es una vez más, un
ejercicio bastante sencillo. Todas las cosas consideradas. Ahí está, Vamos a entrar en la clase más bloques
y primero
vamos copiar sobre el
botón tres veces aquí. Y esta va a
ser la barda de cobalto. Y entonces esto por supuesto también va a ser
los corrales promotores. Esto va a ser una barda. Mira, esta va a
ser la barda en ocho. Y esto es entonces por supuesto también la barda subrayan portón, que es una barda de ocho cuadras. Y entonces el último
va a ser un muro de fútbol. Pared aquí también. Y este
es, por supuesto, un libro mural. Ahora vamos a quitarnos
la no colisión aquí. Eso estaría bien, no lo mejor si las
cercas de repente
no tuvieran colisión sería como
derrotar el propósito de ellas. Y el resto va a
estar totalmente bien aquí. Ahora una vez más, los
archivos JSON están donde está. Primero que nada, la
traducción sólo para que tengamos entonces ya no necesitamos preocuparnos por esto. Sólo voy a
copiarlo para
la barda de cobalto despar ventiladores meten aquí en la pared de cobalto. Y luego agreguemos el bloque s3 no está lejos
ya que todos esos están, por
supuesto, una vez más,
disponibles para ti en el repositorio de GitHub o un
individuo igual de bien. Y verás que esto en realidad es un
poco diferente. Entonces, en primer lugar, echemos
un vistazo a la puerta de la valla. Una vez más, tiene
tres bloques diferentes. Se perimetros o propiedades
boxy, y sólo apunta a
diferentes modelos de bloques. Nada nuevo que no hayamos visto
ya en las dos
últimas conferencias. Pero la barda sin embargo
y la pared. Esos son diferentes porque
esos son multiparte. Ahora multiparte. La idea general es que, bueno, como se puede ver
eso aquí mismo, ¿no? Y la primera multiparte que
hemos aplicado este modelo. Y este modelo siempre se aplicará si esto es sentado. Ahora bien, cuando una propiedad
Roxy en particular es cierta, en este caso, si
algo es cierto, entonces aplicamos una,
otra propiedad. Tú eres otra modelo aquí. Y en este caso
va a ser el lado que sabes
que si pones por
sí mismo el poste de
la barda y luego añades un poste de barda al norte. En realidad agregamos el
sitio después. Pero esto es una cosa genial muy
frecuente que así es como funciona. Y esta es en realidad una
forma muy directa de hacerlo. Aunque. Esto definitivamente es un
poco diferente. Te recomendaré solo
echarle un vistazo, echándole un vistazo a esto. En realidad no debería ser demasiado loco entender
todas las cosas consideradas. Simplemente agregamos diferentes
modelos dependiendo de si algo
es o no básicamente un vecino. Básicamente la idea. Ahora esto tiene, sin embargo, también lo agregado que, bueno, va a haber
muchos archivos de Jason ahora. Entonces, solo copiemos
a todos ellos porque esto va
a ser una locura. Tenemos estos todos ellos. Basta con copiarlos más de
11 de ellos en total. Ahora, sólo vamos a echarles un
vistazo muy breve porque honestamente
todos son muy aburridos. Básicamente, siempre va
a ser el padre el
que sea diferente. Se puede ver claramente todo
el tiempo llevamos el punto a la misma
textura aquí mismo. Se puede ver que sólo va a ser el padre que sea diferente. Y básicamente lo mismo
va para todos los demás. Siempre apuntamos
a la misma textura es solo el padre
que es diferente. Podría sólo una vez más,
recomiendo encarecidamente si
hay algún interés en
otros archivos JSON. Basta con bajar a las bibliotecas
externas, unidad, cliente de microondas, dinero
extra TIN, y sólo echar un vistazo a
todo el rastro y rápido aquí mismo en la carpeta de activos
Minecraft, puedes ver todo el
archivos JSON de modelo de bloque. Verías todo eso,
el bloque dice archivos JSON. Entonces todo está básicamente
disponible para ti aquí también. Esto recomiendo encarecidamente copiar cosas y no escribir
todo, sobre todo si tienes múltiples paredes y cosas así. Eso sería una
locura, ¿verdad? También vamos a conseguir el modelo de
tres artículos Jason sintió sobre n.
esos no son todos demasiado locos porque tenemos algún inventario de cerca de cobalto
y fresco inventario de pared. Esos son básicamente
se hace referencia aquí. Y entonces ésta es sólo la puerta
normal de la valla de cobalto. Y una vez más, debido a que
todas las texturas usan la textura de bloque de pies, no
necesitamos
agregar ninguna textura. Ahora, en realidad hay una cosa más que sí
necesitamos agregar
para que las vallas y
un vals funcionen correctamente. Y eso van a ser etiquetas. Por lo que dentro de las etiquetas de Minecraft, etiqueta de
bloques o carpeta de bloques, quiero crear un nuevo archivo
llamado las vallas dot JSON. Una vez más,
solo voy a copiar la estructura que estás acabada. Y esto va
a ser MC curso, booleano, barda de
subrayado cobalto. Entonces me voy a llevar
esto y lo voy a arrastrar aquí mientras
sostengo Control. Y voy a
llamar a esto muros. Y este va a
ser el muro de cobalto. Si no tengo esto,
entonces las cercas y las paredes no se
conectarán entre sí. Pero eso también es muy importante. Sí necesitamos esto. Pero si hemos agregado
eso y el resto, entonces veamos si funciona. O si estaba en un asic migrante y ver que todo se
ha agregado con éxito y todo
se ve jodidamente genial. Puedes ponerlo abajo
El uno al lado del otro. Exactamente cómo lo que
esperaríamos. Por lo que hace, todo funcionando bien donde sea que ya sea 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í.
58. (Conceptos básicos de (Minecraft: Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta conferencia,
vamos a estar agregando una puerta y
trampilla personalizada a Minecraft. Entonces vamos a abrir la clase de buzón y sólo vamos a conseguir
el muro de cobalto. Y en lugar de cobalto, esto en realidad
va a ser Sherry underscore blossom
underscore door. Igual por supuesto en el nombre. Entonces en este caso realmente vamos a tener
un material diferente, bueno, otro
aquí porque no
estaremos haciendo
puertas con cobalto, sino con la madera que
vamos a sumar en una futura conferencia. Y lo que es muy importante
aquí es que agregue el carbón sin oclusión
y también que estamos haciendo el material lo
haría porque si hacemos el material metal que esta puerta funcionará
como una puerta de hierro. Si hacemos esto lo haría, entonces
podemos abrirlo haciendo clic derecho. Lo mismo va para la flor de
cerezo subrayan trampilla. Sólo voy a copiar
el nombre aquí y añadir la trampa
aquí en el frente. Y esto es entonces un bloque de puerta
trampa. Yo estoy aquí asegurándome de que
este material que lo haría y luego agregando la
no oclusión también. En la oclusión se
necesita frío aquí porque tenemos valores
alfa en la textura
real. Y debido a
esos valores alfa, en realidad también necesitamos
entrar en nuestra clase mod del curso MC. Y dentro de ahí necesitamos
crear un nuevo método. Por lo que vamos a hacer
un nuevo vacío privado llamado el cliente ese
método up con un
conjunto final de clientes FML de eventos o evento. Y luego dentro de aquí,
vamos a llamar a los tipos de render
de bloques de ítem, ese dicho render más adelante. Para los bloques de modo,
punto, flor de cerezo, dor punto obtener con el tipo de render que
adulto, duplicar la línea. Y entonces aquí se asegura de
que se pongan las trampillas. Ahora esto no se llama
todavía porque lo que
necesitamos hacer es decir Event Bus,
agregar oyente, este colon, configuración de líneas de
colon. Entonces después de que esto se haya hecho, ahora se llama aquí a los clientes FML reales que tienen método, el método y luego estas tribus
render se están
configurando correctamente antes de agregar
todos los archivos JSON locos, primero que nada, agregue
la traducción aquí. Bastante sencillo,
nada demasiado loco. Y ahora pasemos
a los archivos JSON. Entonces, en primer lugar, por supuesto, el bloque Estados Jason. Entonces esto sería sólo la puerta y la trampilla a la que vas. Entonces una vez más, por supuesto, hay bastante locos. En realidad, la puerta tiene cuatro
propiedades de estado de bloque diferentes como se puede ver. Por lo que una vez más, todos
los archivos adyacentes y
todo el código está disponible para usted en el repositorio de GitHub o un
individuo igual de bien. Te recomiendo copiar esos más cuando se trata de
los modelos de bloque. Bueno, estamos en
una golosina
porque van a ser
siete de ellos otra vez. Entonces eso va a
ser bastante loco. Ahora bien, estos son un
poco diferentes, como diminuto un poco más complicados
pero tampoco del todo tan malos. Por lo que se puede ver una vez más, eso difiere más como el padre. Ahora porque las puertas son de
dos bloques de parter, por así decirlo, tenemos una textura
superior y una inferior. Se puede ver una puerta
de
cerezo en flor y un fondo de puerta en
flor de cerezo. Y entonces la bisagra aquí
se puede ver que sólo es un padre
diferente. Pero en general, una vez más, esto les echa un vistazo, sólo pasa por ellos un poco. Ya sabes, cómo se ven, no
están demasiado locos en general. El artículo y los modelos
también son un poco interesantes. El trampilla debe ser
solo un modelo de artículo normal. Pero podemos ver esto. Esto solo apunta a la cuenca del modelo de bloque a
lo largo de este año, la puerta en realidad apunta a
una textura de artículo específica. ¿ La puerta realmente tiene una textura específica
para el artículo también. Entonces vamos a, en primer lugar, una copia de la
textura del artículo por aquí. Y entonces por supuesto también necesitamos las tres texturas diferentes en flor de
cerezo. Por lo que esto podría ser
el fondo de la
puerta, la parte superior de la puerta y las texturas de
trampilla. Ahora, eso es en realidad
todo lo que tenemos que hacer. Muy importante es esta configuración
del cliente aquí, que vamos a necesitar en
las futuras conferencias también. Pero cada vez que tenemos un bloque
que no llena la totalidad del espacio estatal del bloque de
rayos X, por así decirlo, entonces básicamente
necesitamos agregar esto también. Entonces eso es muy importante. De lo contrario,
veamos si funciona. O si sospecho y los
microRNA pueden ver tanto la puerta de cerezo como la flor de cerezo atrapada o se han agregado al juego. Y puedo hacer clic derecho
y abrirlos. ¿ Quién dice yo con cualquier otra puerta a base de
madera o trampilla? Entonces eso es bastante guay. Caucho, eso ya sería para esta conferencia aquí mismo. Espero que esto te
resulte útil y alerta lo Nuevo. Y nos vemos en la
próxima conferencia. Entonces, sí.
59. (todo sobre las herramientas) crear un nuevo conjunto de herramientas: Muy bien, bienvenido de nuevo
al cuarto curso para 118. Y en esta conferencia
vamos a estar agregando un conjunto de herramientas personalizado a Minecraft. Por lo que esto incluirá la espada, el piquete, la pala, el hacha, y el todo. En realidad vamos a
crear una nueva clase personalizada y el paquete de artículos o
los niveles modernos. Porque lo que necesitamos
definir es un nivel personalizado. Por suerte, la forja nos
lo hace muy fácil. Podemos decir simplemente final estático
público forjado aquí llamado cobalto, que es igual a
un nuevo forjado aquí. Y entonces sólo necesitamos
pasar muchos parámetros. El nivel reduce la velocidad, el bono de ataque y
el bono de daño de etiqueta,
el valor del presidente. Entonces necesitamos
pasar las etiquetas de bloque. Dot necesita herramientas de hierro, y luego solo un
proveedor de un gradiente. Y vamos a
decir ingrediente de más artículos, punto, punto get. Y voy a explicar ahora mismo. Entonces, ¿qué está pasando aquí? Esto es una locura, en realidad no
es tan loco. Lo primero es, por
supuesto, un nivel. Este es sólo el nivel que básicamente este ítem aquí
representa este nivel. Entonces en realidad podemos
entrar en esto y
se puede ver que hay un
montón de cosas aquí. Y el nivel
básicamente representa, se
puede ver aquí mismo, básicamente representa
la idea de, hey,
¿ son estas herramientas de piedra, herramientas hierro, o herramientas de diamante? Ese es básicamente
el nivel general, la idea general
del nivel aquí. Y tenemos el número de usuarios. Entonces esto es sólo cuántos
usos tiene este artículo. A pesar de que, la
Durabilidad, básicamente, la velocidad debe ser
bastante autoexplicativa. Solo está la velocidad
del artículo real. El bono de daño de ataque es
solo un bonus para atacar. Esto se pone, pongamos esto
en realidad a 3 y el valor Chairman
es sólo canal. Estas son las etiquetas de bloque. Eres yo no estoy un
100 por ciento seguro, pero creo que
esto es una vez más, estrecha a lo este
desgarro forjado real o este nivel de herramientas
básicamente puede mío aquí. Y entonces el
último, el proveedor del ingrediente aquí, es básicamente solo el
ingrediente que puedes usar para reparar los artículos
de este ancho de nivel. Entonces ahora que tenemos esto, podemos ir a la clase más
ítems y puedo empezar a básicamente
tomar el turno aparecer. Sólo tomemos esta y hagamos de ésta la espada de
subrayado cobalto también aquí. subrayado de cobalto almacenado. Deshacernos del año completo. Eso es algo importante. Y esto va
a ser un artículo de mesa. El primer parámetro va
a ser más lágrimas punto cobalto. El segundo parámetro es el modificador de daño de
ataque. Y el tercer
parámetro va a ser el modificador de velocidad de ataque. Y luego vienen las
propiedades reales las cuales
van a estar bien. Y vamos a duplicar esto cinco veces y luego sólo
conseguir las otras. Entonces vamos a tener el
piqueta de pared o perno grande
X aquí también. Se trata de un artículo de piquetas. Y tenemos el viaje
viajará aquí también. Y este es un artículo de pala. Va a ser el robot actúa. Y el cobalto actúa aquí también. Por supuesto, Item. Y luego último y
sin duda menos el cobalto OMS. Pero claro que tenemos que meter todo
el asunto aquí, que es el cobalto OMS
y todo un artículo, ¿no? Por lo que usualmente puedes por supuesto cambiar estos números,
¿verdad? Se pueden retocar. Entonces por ejemplo,
los caseros
no tienen modificadores adicionales aquí. El ACS podría tener, ya
sabes, éste, pero por lo tanto como tal vez
un negativo ser modificador o simplemente como
decir un modificador 0 aquí. Y el resto
va a estar bien. Entonces esto es algo con lo que definitivamente
tienes que
jugar por ahí
recomiendo encarecidamente solo jugar, estar abierto a la experimentación
con los números aquí. Porque eso es solo equilibrar
básicamente el modelo. Y en general eso es más
o menos el, ya
sabes, el registro hecho. Ahora sólo necesitamos la, ya sabes, la traducción aquí, pero
solo agreguemos la traducción. Yo sólo voy a
copiar esto más. Esto debería ser bastante
autoexplicativo, ¿verdad? Al igual que hemos visto un millón de veces, ya podría hablar. Y entonces los modelos de artículo tienen una cosa en particular que es un poco
diferente con ellos, que te mostraré cuando los vuelva a
copiar, todo esto está
disponible para ti en el repositorio de GitHub o
individual igual de bien. Se puede ver que el padre
aquí es artículo slash mano. Esto es muy
importante, de lo contrario, el extra no
se mostrará en 3D en vistas de tercera persona. Entonces eso es muy
importante que tengas aquí
el artículo padre de mano. Y de lo contrario ahora podemos copiar
sobre las texturas también. Los cinco
también, van. Y eso es más o menos
todo lo que necesitamos hacer para agregar las
herramientas personalizadas a Minecraft. Entonces, veamos si funciona. Muy bien, nos encontramos de
nuevo en las microfinanzas y vemos que todas las herramientas
se han agregado con éxito. Entonces vamos a ver si
realmente puedo mis cosas con ella. Entonces este año, por supuesto, no
funcionará en este
caso porque lo hemos definido como nivel uno. Entonces esto debería funcionar. No obstante, veamos un go. Esto funciona totalmente bien. Entonces esa es una buena
señal, claro. El ave también debe funcionar. Definitivamente
no hay muy rápido, pero eso está totalmente
bien por supuesto. Y luego hacer clic derecho
aquí también funciona con este clic derecho. El despojo de los troncos
debe funcionar bien definido, igual con el pathing. Todo aquí
realmente va a ser sólo cinco por la velocidad por
supuesto se define aquí. Entonces esto sería, quieres
aumentar la velocidad de este sin desgarro real
y el nivel aquí, puedes hacerlo así. Y entonces lo que también puedes
hacer es en el forjado aquí, si presionas en el nivel
aquí y luego presionas Control H y ves las lágrimas
del propio Minecraft. Y básicamente puedes echar un
vistazo a todos los valores
de vainilla
de las herramientas aquí. Para eso,
básicamente puedes cambiar esos hacia arriba y copiar algunos de
ellos, ¿verdad? Pero ya lo serían
para esta conferencia aquí mismo. Espero que esto te
resulte útil y se aprenda de nuevo y te veré
en la próxima conferencia. Entonces, sí.
60. (Todo sobre las herramientas) hacer una multiherramientas (Paxel): Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta conferencia,
vamos a estar agregando un
elemento personalizado de Paxil a Minecraft. Eso es exactamente correcto. Vamos a añadir una especie
de testamento multiherramienta a Minecraft. Y para eso necesitamos
una nueva clase y el paquete personalizado que
va a ser el artículo Paxil, que va a extender
el artículo excavador aquí mismo. Y esto va a implementar
la venerable interfaz. Simplemente pasemos el cursor sobre él y creemos constructor que
coincida con super. Ahora en realidad tendremos
que cambiar un
poco esto porque no
necesitamos ninguno de esos. Porque estos dos parámetros
en realidad van justo aquí. Deberíamos hacer
algo así. Y entonces la etiquetada para los bloques en realidad
va a
desaparecer porque
vamos a agregar eso
a nuestras etiquetas de modelo en este momento. Entonces la forma en que
estamos haciendo esto es vamos a ir a
nuestra clase de impuestos de motor. Entonces sólo vamos a copiar los objetos de valor
de la varilla de dowsing. Y aquí
vamos a hacer de este el subrayado Paxil minable. Y entonces el nombre de
esto va a ser la minable barra Paxil. Y esto ahora será
referenciado aquí mismo. Por lo que las etiquetas mod, bloques oscuros. Y así,
todo debería estar totalmente bien, ¿verdad? Y ahora esta clase debe
hacerse por completo. Y lo grandioso es que
debido a que aquí hemos definido
estas etiquetas, bueno lo que podemos hacer
es ahora podemos ir a nuestra
carpeta de datos de C corps, a las etiquetas, a los bloques, y luego hacer clic derecho nuevo
directorio llamado minable. Y luego dentro de ahí
vamos a hacer un nuevo expediente llamado
Paxil, ese JSON. Y entonces lo que vamos a
hacer es que sólo voy a copiar este sobre por
el bien de la discusión sólo para que tengamos la estructura
básica de la etiqueta. Y se podría decir que es, bueno, ¿ahora tenemos que
entrar en el artículo de pico y sólo hay que
añadir todo eso. Saber, lo que podemos hacer es que también
podemos agregar etiquetas a las etiquetas. Pero lo que tenemos
que hacer es decir hashtag Minecraft. Entonces este es el espacio de nombres de
la etiqueta que queremos agregar. Y luego barra minable, barra minable, pick
X, por ejemplo. Y entonces sólo
vamos a copiar esto. Vamos a hacer la ACS, añadir comas aquí y luego
poner en pala aquí. Por lo que nuestro Paxil va
a poder sacar todo lo
que un pico puede, un axón y una pala. Y lo más grande aquí es que porque lo hemos agregado de tal manera que estamos
haciendo referencia a las otras etiquetas. Si un modo diferente agrega
cosas a estas etiquetas, bueno, el elemento Paxil también
funcionará para esos bloques. Entonces eso es lo realmente genial. Ahora, ¿cómo creamos
el artículo real de Paxil? Bueno, muy fácil. Simplemente vamos
a copiar el cobalto OMS y vamos a
llamar a esto el cobalto Paxil o lo que empaca
capa también. Y entonces esto sólo
va a ser un artículo de Axl. Y eso es todo. Ahí
vas. Paxil está hecho. De hecho eso es lo fácil que es. En realidad no es tan loco. Entonces por supuesto necesitas
saber básicamente que puedes usar diferentes etiquetas en tus
propias etiquetas y cosas así. Pero en general, esto es
bastante sencillo. Hay un particular, bueno, esa es una limitación
que
tiene el ítem de packs y no tiene funcionalidad de
clic derecho. Ahora podrías agregar la funcionalidad de
clic derecho. Si hacemos clic en el
elemento de la excavadora y
presionamos Control H, podríamos, por ejemplo,
entrar en todo el elemento. Y se puede ver aquí los EU en el
uso de clic derecho en método. Y podrías anular esto, y podrías poner cosas
diferentes ahí dentro. Se podría decir, hey,
hagamos un defecto, acción
entera, así
sucesivamente y así sucesivamente. Y luego haz lo
mismo para el, por ejemplo, si te colas, entonces podrías hacer clic con el botón derecho
y luego hace el camino, ya
sabes, alguien así,
y luego haciendo clic derecho. Y también podrías agregar
el clic derecho con la funcionalidad AKS. No vamos a hacer eso en
este ejemplo aquí mismo. Esto sólo va
a ser un artículo Paxil,
un artículo de múltiples herramientas que básicamente
será mina L2, múltiples
tipos diferentes de paseos. Añadamos también la
traducción aquí. Esto debería, por supuesto,
no ser demasiado loco. Es sólo el cobalto
Paxil por supuesto. Y luego lo mismo para el
modelo de artículo, nada demasiado loco. Simplemente va a ser
el cobol Paxil el que apunta al
cobalto Paxil extra, que por supuesto también tengo. Se trata de una a, B, a,
una textura fresca que
veremos en juego en tan solo un momento. Y bueno, eso es en realidad
todo lo que necesitamos para agregar el
elemento de barra contraria al juego. Entonces, veamos si funciona. O inferencias atrás
y los migrantes pueden ver ha agregado
el elemento de barra inclinada contraria y se ve absolutamente
Genial. Entonces vamos a ver. Ahí vas. Puedo usarlo como pala, exactamente como esperarías. A ver si puedo extraer
esos bloques también. Podrían tomar un
poco más de tiempo, pero en general, todavía
puedo
minarlos perfectamente bien. Y entonces realmente
encontremos algo. Pero éste debería
funcionar ahora porque una vez más, el nivel de cobalto
no es lo suficientemente alto. Pero si sólo
cavamos un poquito, deberíamos poder
encontrar piedra aquí. Y luego piedra
debería poder poder mía también y
debería conseguir adoquines. Ahí vas. Tengo
algo de adoquín. Entonces como puedes ver,
todo trabajando aquí. Totalmente bien. Artículo Axl, absolutamente. Increíble, ¿verdad? 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í.
61. (todo sobre las herramientas) armas que aplica efectos: O volveré al curso de
forraje por 180. Y en esta conferencia
vamos a estar agregando una herramienta que agrega un efecto al
mapa que está siendo golpeado. ¿ Qué
significa eso realmente? Bueno, solo pasemos por esto y veamos qué significa esto realmente
en el paquete personalizado. Haga clic derecho en nueva clase Java, o este va a ser el elemento espada de
levitación. Y esto extenderá
el objeto de la espada se colocará sobre este
constructor credo que coincida super. Y entonces lo que haremos es anular el método enemigo herido. Y lo único que
tenemos que hacer aquí es decir p
atacante punto add effect,
nueva instancia de efecto mob, efectos
mob, no levitación, digamos por 200 garrapatas. Y luego el, después de los primeros paréntesis P atacante como la fuente de básicamente
el ataque aquí. Y eso es
más o menos todo lo que
necesitamos hacer por las
ideas que
vamos a agregar una que en realidad
va a ser blanco aquí o hace un día, el objetivo en Effect. Y luego aquí P atacante. Entonces la idea es que
cuando lastimemos a un enemigo, entonces vamos a
sumar los efectos de levitación a ese enemigo cuando lo golpeemos
con este tipo en particular. Eso es algo que
mucha gente ha pedido un previamente. Pero por eso lo muestro. En realidad es
muy, muy sencillo hacer esto. Ahora, por supuesto necesitarás usar esta clase aquí mismo. Por ejemplo, aquí
para nuestro tipo de cobol, entonces
podemos decir levitación
ordenar artículo aquí. Y ahora cada vez que
golpeamos a una entidad o un animal con el ítem de ordenar
cobalto, debería conseguir levitación
durante diez segundos. Eso sería realmente gracioso, pero vamos a ver si funciona. O tu farmacéutico de
vuelta en Minecraft. Entonces vamos a ver si golpeo
al animal que tenían ido, se
pone levitación y se debería conseguir eso
por diez segundos. A pesar de que sólo van a
estar flotando en la orina. Entonces en algún momento van
a bajar de nuevo a la Tierra. Y eso realmente dará como
resultado el moribundo también. Entonces eso es algo gracioso. Se trata de un fresco efectos de la espada de
levitación podría no ser básicamente el más
interesante, pero hay un montón de ideas, diferentes efectos que básicamente
puedes agregar en hit con tu
arma personalizada, ¿verdad? Pero eso ya sería
para esta conferencia aquí mismo. Espero que esto te
resulte útil y aprenda de nuevo y te veré
en la próxima conferencia. Entonces, sí.
62. (todo sobre las herramientas) crear un nuevo conjunto de armadura: O doy la bienvenida de nuevo al curso de
forraje para 118. En esta conferencia,
vamos a estar agregando un conjunto de armaduras personalizadas a Minecraft. Muy similar a las
herramientas personalizadas para el conjunto de armaduras, en realidad
necesitamos
hacer una nueva clase. Esto va a estar
en nuestro paquete de artículos. Haga clic derecho en nueva clase
Java llamada los materiales de armadura modo. Y esto implementará la interfaz de material de armadura y va a ser una enumeración. Lo que vamos a hacer es hacer clic en el botón central del ratón en
esto y luego presionar Control H para llegar a los materiales de
armadura aquí mismo. Y lo que voy a hacer es básicamente dar clic en
la parte superior aquí, justo al primer corchete, ir a la parte inferior, mantener pulsada Mayús y luego dar
clic en la parte inferior y luego presionar el control C
para copiar todo, y luego Control
V para pegarlo en. Ahora vamos a
deshacernos de ese de aquí. Y luego sobre todo, lo único que
tenemos que hacer es cambiar el nombre
del constructor aquí. Y eso va a estar bien. Ahora lo único que no
tenemos es que no
tendremos aquí mapeados
los nombres de los parámetros. Ahora puedes mapearlos tú mismo. Básicamente, puedes hacer clic en Shift F6 y luego
cambiarle el nombre a nombre. Y entonces se puede pasar
continuamente, pero en realidad no se necesita
necesariamente. En realidad copiaré sobre el constructor porque
en realidad tengo esto preparado de la manera mapeada. Materiales que hace. Y ahí tienes. Entonces lo único que
no funciona es esto porque en lugar de ser
un valor cargado perezoso, sólo
vamos a hacer de
este un año perezoso. Y entonces todo
aquí debería funcionar bien, pero el resto
debería estar bien. Esto por supuesto, todo
disponible para ti en el repositorio de GitHub o un
individuo igual de bien. Entonces no se preocupe ahí. Y bueno, ¿qué hace esto? Bueno, en primer lugar, podemos ver todos los valores de
vainilla aquí mismo. Y porque esto es una enumeración, es bastante genial porque
esto no está avanzado. Ya sabes, incluso nosotros podemos definir múltiples valores diferentes aquí. Digamos
que, por ejemplo, nuestro cobalto va a ser
una especie de a nivel del oro. Pero digamos que sabes
qué, va a tener un poco más de durabilidad es, digamos algo así como 13. A lo mejor la interoperabilidad
va a ser un poco menos, pero no demasiado menos, como tal vez como 21, algo así. El eclipse de meta en está bien. A lo mejor hasta va a tener como un poquito de dureza. No sé, como 0.5, sin resistencia
a golpes aunque. Y los ingredientes con los
que repararlo va a ser más artículos dot, dot get. Y luego el resto ya
no necesitamos. Esto va a ser cobalto. Y entonces el nombre
aquí por supuesto, también tiene que ser cobalto. Y estos valores
aquí son interesantes porque estos valores se puede ver ese es el tercer parámetro, es un array entero que
se llama protecciones de ranura. Ahora las protecciones lentas son
básicamente las protecciones de cada pieza de armadura diferente. Esto comienza en la parte inferior. Entonces estas son las botas, leggings, placa de pecho
y luego el casco. Eso es muy importante.
Y a lo mejor queremos cambiar un poco esto,
tal vez algo así. A lo mejor el Talmud es en realidad
un poco más fuerte. El plato del pecho
también y el ego. Pero una vez más, cuando se
trata de los números, jugar con ellos, estar
abiertos a la experimentación. Si realmente quieres
equilibrar tu modo, va a ser,
vas
a tener que jugar
con esto de cualquier manera. Entonces no se preocupe
ahí, hay, sin embargo, una modificación más
que tenemos que hacer, y eso está en el
método getName justo aquí. Porque lo que queremos
volver aquí es MC curso mod, mod a, D
plus colon más este nombre. Esto es muy importante
que hagas esto. De lo contrario la textura no
funcionará de la manera en que la vamos
a configurar. Entonces no se preocupe ahí. Pero aparte de eso, cuantos más materiales de
armadura se haga, si alguna vez quieres agregar
otro material de armadura, lo que necesitas hacer
es básicamente necesitas tener todos
estos frascos también. Y básicamente luego
separarlos con una coma. Entonces, solo llamemos a este cobalto dos por el bien de la discusión, puedes ver,
siempre y cuando se llamen manera diferente, Eso
va a estar bien. Todos están separados
con una coma. Y luego esto termina
con un punto y coma. Eso es muy importante. Sólo
quería mencionar esto también porque algunas personas se han
confundido con esto. En realidad no debería
ser tan loco. Es solo un
conocimiento muy básico de Java en este caso. Pero sea cual sea el caso, Vayamos a la clase Más
Ítems ahora. Y vamos a crear nuestros artículos
o armaduras. Solo tomemos el eje aquí
y solo hagamos esto
al casco cobalto y
luego casquemos aquí también. Elemento de subrayado. Y este va a ser el artículo de
armadura, muy importante. El primer parámetro
va a ser los
materiales de armadura modo, cobalto. Y entonces el nodo tiene
tres parámetros. Tomado. Uno de ser ranura de equipo. Ranura de equipo en
este caso tenía un gol. Y luego las propiedades del artículo nos
permiten solo copiar esto tres veces y luego vamos
a conseguir aquí la placa del pecho. Este plato. Y entonces
lo único que necesitamos
cambiar es la ranura del
equipo aquí. Eso es muy importante
que cambiemos esto. De lo contrario, nos vamos
a encontrar algunos temas. ¿ Para qué leggings? Leggings aquí también. Y luego por último pero no
menos importante, las botas. Y luego botas aquí también. Extraño este dos piernas y luego este equipo ranura para comer. Y con eso, en realidad se suman todos
los cuatro ítems. Eso es lo fácil que puede ser. Ahora lo que queremos hacer es por
supuesto, en primer lugar,
antes de añadir los archivos JSON, sólo
agreguemos la traducción. Esto debería ser en
este punto trivial. Es solo que, acabo de copiarlo para ser bastante autoexplicativo. Y cuando se trata
de los modelos de artículos, ¿
serán solo modelos de
artículos normales también. Porque por supuesto,
dentro del inventario, bueno, simplemente se ven
como artículos normales. No obstante, hay una cosa
interesante. Entonces, antes que nada,
puedes ver solo apunta a una textura aquí. Y
eso va a estar bien. Copiemos todas
las texturas sobre. Pero entonces la pregunta es, bueno, ¿cómo conseguimos esto,
la armadura 3D? Bueno, dentro de nuestra carpeta
Texturas, haga clic con el botón derecho en nuevo
directorio llamado modelos, y en lugar de su nuevo
directorio llamado armadura. Y esta es la
ortografía americana que es muy importante. Entonces ustedes gente
del Reino Unido, lo siento, pero sólo va a ser, entonces vamos a copiar sobre
estos dos PNG bien aquí. Esta va a ser la capa de subrayado
cobalto
1 y la capa de subrayado fresco 2. Esto es muy importante. Por favor, preste atención aquí. Entonces cuando definimos el
más material de armadura, este nombre aquí mismo, cobalto tiene que coincidir con este nombre aquí mismo como
exactamente lo mismo. Y luego subrayado capa, subrayado uno
básicamente va a ser la representación 3D. Se ve así. Puedes
cambiarlo un poco, pero no demasiado. Y esto va a ser se
puede ver la placa del pecho, el casco, un
poco de las otras cosas. Y entonces aquí mayormente, creo que los leggings
y las botas, esto tiene que coincidir exactamente. No puede haber ningún espacio ahí dentro, sin paréntesis 1 porque lo
copiaste
desde algún lugar. Exactamente así.
Ten en cuenta esto, que esto está en el nombre de
carpeta correcto correctamente, y tienen todos
los nombres correctos. Muy importante. Si alguna vez te estás preguntando dónde las otras texturas o
puedes bajar a bibliotecas
externas
ese microclima extra 118 uno en la carpeta de
texturas, y luego en la armadura de modelos, te básicamente tienen acceso
a todos los de vainilla y puedes cambiarlos
en teoría si quieres. Entonces eso es realmente jodidamente genial. Pero eso es en realidad todo lo
que necesitamos agregar. Entonces, veamos si funciona. Muy bien, nos encontramos de
vuelta en mindfulness. Se puede ver todo
aquí se ha agregado
al juego y se ve
frecuente, increíble. Ah, esto en realidad es lo fácil que
puede ser agregar la armadura. Se pueden ver valores de
armadura tempranos
así como incluso un poco
de dureza ahí dentro. Eso es realmente genial, igual que lo hemos definido
en nuestros materiales de armadura. Eso es bastante jodidamente genial. Y hace volar a los cerdos, ¿verdad? Pero eso ya será
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í.
63. (todo sobre las herramientas) efecto armor: Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta conferencia
vamos a estar agregando un efecto de armadura completa personalizado. Ahora, ¿qué significa eso? Bueno, la idea es que si
llevamos todos nuestros conjuntos de armaduras, así que todos los materiales de
armadura cobalto conjunto aquí. Entonces lo que queremos
es añadir un efecto personalizado o simplemente normal, básicamente poción
con el jugador. De la forma en que hacemos esto es que en realidad
voy a copiar sobre la clase que
vamos a necesitar. Esto está disponible para usted en el repositorio de GitHub o en un
individuo igual de bien. De acuerdo, así que esta es
toda la clase y en general, sólo
vamos a pasar y te
explicaré a medida que voy. Entonces lo primero que
tenemos es por supuesto, un mapa. Por lo que este mapa mapea en material de
armadura a una instancia de efecto de
modo determinado. Ahora el número uno cosa muy
importante es que esta instancia que
estamos usando en
este mapa en realidad
nunca se usa por sí misma. Simplemente le estamos quitando
los valores. Para que veas que si me pongo el material de armadura cobalto, me voy a
aplicar un efecto suerte con
un amplificador de uno. Entonces esto significa que
en realidad estoy recibiendo el candado 2 y luego por supuesto
también 200 garrapatas. Por lo que esto sería por 10 segundos. Ahora actualmente, esto solo funciona
con materiales de armadura mod, por lo que solo tus personalizados
y no con los de vainilla. Esa es una
limitación muy importante aquí. Ahora, ¿cómo funciona bien esto en garrapata de
armadura se llama
este método aquí. Estamos anulando esto
y esto se llama cada vez que una
pieza de armadura en particular, en este caso el artículo de armadura de
modo, está dentro de tus ranuras de armadura. Entonces esto se llama, vamos a asegurarnos de
que estamos en el servidor, y luego estamos evaluando
si
el jugador tiene o no un traje
completo de armadura. Este es un
método personalizado que escribí. No es nada
demasiado loco aquí. Básicamente solo estamos
consiguiendo el blindaje de las ranuras del 0 al tres, pero todos los antebrazos
son ranuras y luego simplemente comprobando si no
están vacías o no. Entonces si ninguno de ellos está vacío, entonces vamos a conseguir un verdadero sobre esto y
luego vamos a seguir
evaluando los efectos de armadura. Para eso, básicamente estamos
pasando por la totalidad
del mapa aquí del
material a afectar mapa. Y sólo asegurándome de que hey, ¿el jugador tiene
la armadura correcta en cuatro, básicamente un efecto. Y vamos a ir seguros de que
vamos a asegurarnos. Y éste de aquí. Entonces éste sólo dice, oye, ¿ es el material de
todas esas armaduras, básicamente el mismo
material que éste. Y si ese es el caso, bueno, entonces podemos seguir aún más allá
agregando básicamente estos satisfactorios. Nos estamos asegurando de
que el jugador no tenga ya el
efecto. De lo contrario, básicamente
estarías aplicando el hecho cada tick, que podría ser un
poco demasiado a menudo. Por lo que acabo de añadir este
cheque de cordura básicamente aquí. Entonces también estamos una
vez más solo comprobando si la armadura está
encendida y si ese es el caso, entonces vamos
a añadir el efecto. Entonces vamos a hacer
una nueva instancia de efecto
de la instancia de efecto
real aquí, obtener iteración de efecto
puede amplificador, como dije, este pequeño
efecto aquí mismo, esta instancia nunca ha usado
cuando nosotros definido aquí, esto sólo se usa como plantilla
para que básicamente podamos poner
también en la duración
y el amplificador también. Sí, eso es más o menos
todo lo que hay a ello. No debería ser demasiado loco. Ya sabes, si surge la
pregunta, estás bien, ¿cómo
hiciste esto? ¿ Cómo hiciste eso? Bueno, es justo al final
del día en conocimiento de Java que necesitas y probablemente un poco de
conocimiento de Minecraft también. Y cómo podemos usar esta clase. Ahora vamos en nuestros artículos mod, personalmente
prefiero usar el casco cobalto para hacer aquí
un artículo de armadura MOD. Y lo que es muy importante
es que solo necesitas
hacer uno de tus sets aquí. Entonces un elemento en tu set, el artículo de armadura modo. Como dije, usualmente
prefiero el casco. El juego de ajedrez también podría tener
sentido, o las botas, lo que quieras,
pero solo una de ellas necesita ser un artículo
más de armadura. Y si ese es el caso, entonces ya podemos
ver si
funciona o no o si firmas
como en Minecraft. Entonces vamos a ver, ya
tengo todo puesto
excepto el casco y vamos a ponerlo y ahí está. Tengo suerte para ahora
por diez segundos. Y si me quito alguno de
esos objetos de armadura, cuanto se desgasta el efecto, no
se va a renovar. Como puedes ver, ahí tienes. Y entonces no
importa básicamente cuál cuando tengo puesto y cuál
cuando no he leído. Es, de verdad básicamente está
revisando cada una de las otras piezas y te van de
suerte una vez más, ¿verdad? Ciertamente hay algunas
limitaciones con esta clase, pero esto
esperemos que sea una introducción genial
para esto para ti. Se puede, por supuesto,
siempre cambiar todo el código está disponible en el repositorio de GitHub o en un individuo igual de bien. Y esto ya sería para esta conferencia aquí mismo.
Espero que esto te resulte útil. Y en cuanto a lo nuevo, te
veré en la próxima
conferencia aunque. Sí.
64. (todo sobre las herramientas) Arma hilado de cabala mano: O volveré a
los núcleos forrajeros por 118. En esta conferencia,
vamos a estar agregando armadura de caballo
personalizada a Minecraft. Para la
armadura de caballo personalizada es en realidad un
proceso bastante sencillo. No obstante, hay
una cosita que hay que tener en cuenta. Bueno, vamos a copiar por encima de
las botas de cobalto aquí mismo. Y vamos a hacerlos sólo cobalto subrayado caballo armadura de
subrayado. Y lo mismo aquí, Cobalt subrayan armadura de
caballo subrayado. Y esto va a ser un artículo de armadura de
caballo, ¿verdad? Este. Y entonces lo que queremos
es el primer parámetro, digamos algo así como 12. Y el segundo parámetro
va a ser una cadena para Bolt. Ahora la cuerda aquí es muy
importante porque esto es define el nombre de la textura de armadura de
caballo. Entonces, primero que nada agreguemos de nuevo
la traducción. Vamos a subrayar armadura de subrayado de
caballo. Por
armadura de caballo cobalto, claro. El ego y luego un modelo de artículo. Yo sólo voy a copiar
el lingote aquí, y sólo voy a llamar
a esto la armadura de subrayado de caballo
cobalto. Y luego lo vamos a
cambiar aquí también. Peor, peor armadura de subrayado. Y luego agreguemos el, digamos modelo de artículo aburrido, como en, esto es solo
un artículo normal. Y agreguemos aquí la textura aburrida
del artículo. Tan aburrido también, esta es solo la
textura normal, sin embargo. ¿ Y la textura 3D? Bueno, eso
en realidad va a la carpeta de activos, pero a Minecraft para una nueva carpeta en la
carpeta de activos llamada Minecraft. Y luego dentro de
ahí necesitamos texturas. Y entonces en lugar de la
urna, necesitamos Entidad. Y luego dentro de
ahí, necesitamos caballo. Y luego dentro de
ahí necesitamos armaduras. Una vez más, la ortografía
americana. Y luego voy
a copiar esto más. Se puede ver
armadura de subrayado de caballo, subrayado cobalto. Este es exactamente el nombre
que le estamos dando aquí. Entonces si hacemos clic en
el botón central del ratón en el artículo de armadura del caballo, se
puede ver que básicamente se necesita exactamente esto aquí mismo. Por lo que se necesitan detectores, entidad ,
caballo, armadura, subrayado de caballo, subrayado donde sea que el
identificador es que ponemos aquí. Y punto PNG, básicamente, esto es lo que apunta
a 43, la armadura. Y eso es básicamente todo lo
que realmente necesitas
tener en cuenta para
la armadura del caballo. Que lo otro que podría ser
interesante es que si podemos echar un vistazo a
esto, que por ejemplo, hierro como cinco protección el oro tiene siete y el diamante
tiene 11 con 12. Esto en realidad sería un
poco mejor que armadura de caballo de
diamante, pero
eso está totalmente bien. Por supuesto puedes cambiar
esto de la manera que quieras. Pero vamos a ver si funciona. O un hornos de vuelta en Minecraft y como la
suerte lo tendría, ya
tenemos un
caballo domesticado aquí mismo. Démosle
la armadura fría de caballo. Y ahí está. Sí se ve muy similar
al diamante, pero sí se ve todavía
un poco diferente. Aunque. Eso en realidad es
realmente impresionante y así de fácil es agregar armadura de
caballo personalizada a Minecraft. Escribir 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í.
65. (Todo sobre las herramientas) Enchante personalizado: Muy bien, bienvenido de nuevo
al curso por 118. Y en esta conferencia
vamos a estar echando un vistazo a cómo puedes agregar encantamientos personalizados
a Minecraft. Por lo que los Encantamientos en
y de sí mismos son en realidad bastante
sencillos de agregar. Es difícil es la funcionalidad
real de los Encantamientos. Pero en el paquete del curso MC, haga clic con el botón derecho en nuevo
paquete llamado el paquete
encantamiento justo aquí. Entonces dentro de ahí
vamos a necesitar dos nuevas clases. uno de ellos se le llama la clase de minutos encantar
mod. Y el otro
va a ser nuestro real y de presidente
que vamos a hacer. Y ese va a ser el romperelámpagos en Shenzhen. También está la clase con la que
vamos a empezar. Esto va a extender la clase
de encantamiento aquí mismo. Y luego pasemos el cursor sobre el constructor
correcto
que coincida super aquí. Entonces esto muy importante que
cambiemos la
diapositiva del equipo aquí a tres puntos en lugar de ser
el área real aquí. Y entonces lo que también puedo
recomendar encarecidamente es dar click
en esto
y presidente y el presionante Control
H para básicamente poder ver todos los
encantamientos de vainilla que tienes. Entonces, por ejemplo, hay, quiero decir, hay tantas cosas
diferentes, ¿no? Las espinas de Presidente,
sólo echen un vistazo a esto. Ya puedes ver, Oye,
¿cómo funciona esto? Pero, ¿cómo se
puede hacer esto básicamente? Y básicamente puedes
echarles un
vistazo a todos ellos aquí. Altamente, recomiendo mucho
echar un vistazo a esto, porque esto realmente
es un gran recurso para ver aquí la posible
funcionalidad. Y para nuestro presidente, lo que vamos a hacer es que en primer lugar
vamos a
anular el método de nivel GetMax. Y vamos a
regresar a2 porque aquí, esto básicamente determina
cuántos libros se generan. Porque los libros, los
libros en realidad se generan automáticamente para nuestro encantamiento es realmente genial. Y esto básicamente determina
cuántos niveles hay. Ahora, queremos sobrescribir
el método do post ataque, que básicamente se llama después de un tiempo el ataque a una entidad. Y sólo vamos
a pasar por esto. Entonces voy a tratar de explicar. Entonces vamos a decir que
no P nivel atacante no es del lado del cliente. Entonces básicamente asegurándonos de
que estamos en el servidor. Tenga en cuenta el signo de
exclamación en la parte frontal que
niega el lado del cliente. Muy importante que queremos
estar en el servidor para esto, queremos decir nivel de servidor, que es igual a, vamos a
llamarlo mundo, eso está bien. Entonces un poco acostumbrado a
llamar al mundo nivelado. Y sí, atacó nivel de
punto pero lanzó al nivel del servidor en realidad no al nivel del cliente,
nivel del servidor. Hace y luego
terminaron así. Y luego vamos a hacer
una capa de servidor para jugador, que va a
igualar al punto del atacante P cast al
jugador del servidor. Exactamente. Y luego vamos a tener
una posición cool pass block, que es igual
al punto objetivo, get. En realidad sólo está bloqueado. Posición. Ahí vas. Eso es lo que es. También vamos a importar la clase de publicaciones de
blog. Entonces dentro de aquí, se puede
ver que obtenemos el nivel P, que básicamente está consiguiendo
un nivel aquí, ¿verdad? Entonces vamos a conseguir el
nivel de los Encantamientos. Entonces vamos a decir que si el nivel
P es igual a uno, esto significa que no
vamos a cambiar un rayo. Pero la idea es que queremos
llamar a la entidad tipo dot-dot-dot rayo
engendrado en el mundo. Posición del jugador Nl, tipo de
desove móvil , tipo de punto activado. Y luego cierto y luego cierto. Entonces esta es básicamente una forma que podrías engendrar
un perno de aligeramiento. Muy sencillo. Y lo más grande
es que esto no
sólo es una manera de pequeño rayo
rayo, vas literalmente
engendrado todo que quieras con él, a,
b y Ax, murciélago pequeño, un área, hecho Nube , al parecer,
un conjunto de armaduras, lo que realmente quieras. Pero por el momento,
vamos a mantenerlo así. Ahora sólo
vamos a copiar esto,
hacer este nivel dos, y luego vamos a sólo pequeños a los revestimientos. Esa es en realidad toda la
funcionalidad que necesitamos. Si quieres una
funcionalidad particular para
tu encantamiento, solo
es cuestión de aprender más
Java y solo
probar un montón de cosas. Estar abierto a la experimentación. Echa un vistazo a
la, los encantamientos lunula,
muy recomendable. Básicamente no se puede hacer
nada mejor que eso. Por ahora, todavía necesitamos agregar cosas a nuestra clase de
encantamientos mod. Y esto va
a tener algo que ustedes han visto
antes y es un registro
postergado final estático
público de tipo Enchantments. Esta vez vamos a encantamientos. Y esto es igual a d registro
diferente que crean o registran que
encantan MC curso mod,
mod ID, y si se trata de
un registro diferente. También se vierte un método público de
registro de vacío estático con un bus de eventos oculares o bus de
eventos como su perímetro. Simplemente vamos a llamar a
los Encantamientos que se registran con el bus de eventos. Y su
método de registro es por supuesto, se llame aquí en
este momento bajo la ley, los simulacros de bloques se registra, vamos a decir
mod logros dot registrarse con el bus de eventos. Ahí vas. Y ahora esto está registrado. Ahora lo que vamos a
necesitar es que sólo vamos a hacer básicamente lo siguiente en realidad va
a ser muy sencillo. Simplemente necesitamos un objeto
de Registro público
estático de tipo encantamiento, por supuesto, que va a ser el delantero de subrayado
relámpago, que es igual a
encantamientos iniciar registro relámpago
subrayado delantero. Entonces en un proveedor de nuevo rayo golpe o
encantamiento con la rareza, vamos a hacer
poco común aunque? Poco frecuente, sí. Por rareza y la categoría
Encantamientos es arma que la
ranura del equipo va a ser no alimentación, pero sólo vamos a
hacer este equipo Slashdot sobre mano mala. Sí, ahí tienes. Y eso es en realidad. Eso es todo lo que tenemos que
hacer para registrar este encantamiento. Esta es la funcionalidad, este es el registro realizado. Ahora lo que sí necesitamos
añadir aún es que la traducción en lugar de la e y
subrayarnos archivo adyacente, estamos acostumbrados a, ya sabes, voy a poner esto en
el fondo aquí. Vamos a copiar esto más. Esto no es nada demasiado loco. Esto es sólo el básicamente encantamiento
McQs, relámpago Stryker. Entonces este nombre,
por supuesto, una vez más tiene que coincidir con este
nombre aquí mismo. Y entonces esto es sólo
encantamiento Vermont ID. Y sólo necesitarás de
éste a pesar de haya múltiples niveles
diferentes, esto se traducirá para
cada uno de esos niveles, ¿verdad? Entonces después de haber
agregado todo eso, Veamos si funciona o por qué funcionamos de nuevo
en microfinanzas podemos ver el rayo o se ha agregado
con éxito al
juego, los Encantamientos. Entonces, solo agregémoslo a nuestra espada de diamante
aquí en este caso, y solo usemos los
que es el número uno. Entonces si usamos el número dos, no
es darse cuenta de voluntad, pero es algo diferente. Entonces ahí tienes. De hecho, eso es lo
fácil que es agregar un cliente canalizado
a Minecraft. Y eso ya será
para esta conferencia aquí mismo. Espero que esto te
resulte útil en la orina. Entonces lo nuevo, y nos
vemos en la próxima conferencia. Entonces sí.
66. (intermedio) Propiedades BlockState Propiedades: Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta conferencia
vamos a estar hablando de bloque de propiedad
estatal. Entonces block dicen que las propiedades son
algo muy interesante. Y básicamente estamos, en
primer lugar, vamos a cubrir una especie
de la teoría detrás de ella. Y para eso vamos a
sacar las diapositivas de PowerPoint. Echemos un vistazo a
la distinción entre bloques y estados de bloque. Entonces bloque, se puede pensar en eso como una especie de patrón único. La idea es que para nosotros en nuestra clase más bloques o para los bloques Rindler
en la clase de bloques, tenemos diferentes campos
para un bloques en particular. Ahora esos se crean una vez que recuerdas son finales estáticos
públicos, por lo que se asignan una vez. Siempre sólo existe un campo para un bloque
en particular. Por lo que puedes pensar en ellos
como un patrón de singleton. Si bien los estados de bloque son las instancias que están dentro
del mundo o del nivel, los estados de bloque guardan
una posición de bloque, las propiedades de bloque, esas serían la fuerza
del bloque. Ya sabes cómo, cuánto tiempo
se tarda en romper cosas así,
que Básicamente asignamos
en la clase de buzón y luego también las propiedades de
estado de bloque. Entonces esos son los tres grandes. Por supuesto que hay mucho
más de lo que hay detrás de ahí. Esos serían los tres grandes. Y se puede pensar
en ello así. Los estados de bloque son salvados
por el mundo y sólo
pueden ser
cambiados por el mundo o el nivel. , por ejemplo, hacer
bloqueador solar nivel que poner
en algunos parámetros. Esa es la idea general. Tienes un bloque que
es un solo patrón es solo la idea de
un bloque por así decirlo. Porque si digo
Redstone o block, eres como, Vale,
sé cómo se ve Redstone o block, pero si entonces tengo tres Redstone
o bloques
diferentes en el mundo, todos
son diferentes, pero todos
son del mismo tipo. Esa es una especie de idea. Entonces se
puede pensar en un bloque como una clase y el estado de
bloque sería el objeto que se
crea a partir de él, digamos en términos de lenguaje de programación,
por así decirlo, ¿verdad? Entonces, ¿qué son propiedades block
sit ahora? Bueno, el pequeño titular aquí, o cómo almacenar datos en bloques no es un 100
por ciento correcto, pero es una especie de la idea
de una especie de lo mismo. Entonces en la
clase de un bloqueador de calcio en este caso, la pregunta general
podría ser, bueno, ¿por qué no acabo de
poner un booleano ahí y luego
va a funcionar bien, una vez más, piensa en esto. Cuando estamos creando un bloque, escribe el, esta clase
aquí se crea una vez. Entonces si tendrías solo
un booleano ahí para todos los bloques de ese tipo, será
lo mismo. Y entonces por supuesto, no tiene sentido porque
si
este Redstone o bloque
está encendido o no está encendido, no tiene nada que ver con el
como a dos cuadras de él. Correcto. Y eso, por supuesto,
no tiene sentido. Entonces ahí es donde
entra la separación y ahí es
donde dice el bloque, las propiedades necesitan ser usadas. Podemos ver aquí tenemos una propiedad
booleana llamada lit. Y lo que es muy
importante es que
definamos esto en la clase de bloque. Y entonces siempre,
siempre tenemos que llamar al método de definición de estado de
bloque aquí y básicamente agregar las
propiedades al constructor. Eso es muy importante
es que en general, las propiedades nunca pueden ser nulas. Por lo que siempre tienen
un valor por encima, pueden tener múltiples propiedades
diferentes. Y estas propiedades
pueden luego ser referidas en el
bloque Estados
archivo JSON para básicamente referirse a diferentes modelos que ya hemos
visto esto, ¿verdad? Hemos visto las escaleras dentro
de las puertas, todo eso. Básicamente tienen un montón de bloques diferentes,
las propiedades, y luego el final
dependiendo de sus valores, luego
se refieren a un modelo de bloques
diferente. Y él fue básicamente
un ejemplo, ¿verdad? Esto sería, LET es igual a falso y esto está encendido,
es igual a verdadero. Cambiar el estado del bloque. Bueno, ¿cómo se hace eso? Bueno, en realidad
se hace muy fácilmente. Sólo necesitamos un nivel aquí. Por lo que necesitamos una
variable de nivel en alguna parte, establecer bloque en una posición
particular. Después obtenemos el estado actual. Establecemos el valor de lit exactamente lo que hay dentro
de aquí, ¿verdad? En este caso cierto. Y entonces los tres son solo una, básicamente una bandera
que determina el comportamiento de actualización de la configuración
real del bloque. Por lo general, esto se hace
en en el servidor. Entonces si solo estás haciendo esto en el cliente
no va a funcionar. Básicamente, siempre asegúrate que estás en un hilo de servidor cuando estás cambiando el estado de
bloque era por supuesto, si el cliente pudiera simplemente
cambiar estados de Bach, o eso podría llevar a algún
interesante temas que dicen, y sí, esa es
más o menos la idea, ¿verdad? Sucede en una posición
particular aquí. El segundo parámetro
es el nuevo estado en esa posición de bloque. Y luego tercer
parámetro, como dije, cambia el comportamiento de
actualización. Básicamente vamos a
pasar con 3 4 Amin, básicamente la totalidad de este curso porque
tres básicamente solo actualiza a todos los
vecinos y actualiza la forma en que se ve y
eso va estar bien. Entonces por el momento, no
me preocuparía
demasiado por esto si realmente
necesitas algo más, entonces en ese punto espero
que seas lo suficientemente avanzado como para básicamente descifrar esto
en los tuyos también, ¿verdad? Pero eso
sería más o menos por la teoría aquí. Entonces vamos a entrar en
inteligencia y pulsemos la tecla Mayús dos veces
y pongamos una piedra o bloque rojo. En realidad vamos a
echar un vistazo a esta clase. Y como pueden ver,
casi exactamente lo que teníamos aquí, una propiedad booleana llamada lit En la parte inferior, tenemos el método de
definición de estado de bloque credo justo aquí, que se llama. Entonces ambos son básicamente
las cosas importantes. Ahora la razón por la que he elegido el Redstone o bloque
aquí es porque este es el ejemplo más fácil de una propiedad de estado de bloque
único. Y no tiene
demasiadas otras cosas aquí dentro. Pero hay, por supuesto,
algunas otras cosas. Ataque aquí sería si
solo haces clic izquierdo en el bloque, entonces empieza a buscar
el método Interact, que básicamente está justo aquí. Y esto es muy interesante. Entonces si la propiedad de labio es falsa, entonces la estamos configurando en true. Y se puede ver que este es exactamente
el ajuste de verdad que tuvimos en la
presentación de PowerPoint también. Ponemos el blog en una posición
particular. El estado que estamos estableciendo
el valor de LET lo verdadero, y entonces la bandera aquí es tres. Entonces creo que si
pasamos por encima de esto, se
puede ver que las
banderas a nivel mundial son las siguientes. Uno es una actualización de bloque, dos lo enviarán al
cliente para evitará que el bloque se vuelva a renderizar
y cosas así. Y básicamente puedes agregarlas. Pero si ponemos un tres, entonces lo que va a
pasar es que
ambos causará una actualización de bloque y enviará los cambios
al cliente porque ponemos 1 más 2. Esa es la idea básica. Si
necesitas algo más y son básicamente
solo echa un
vistazo a esto por el momento. No vamos a
preocuparnos demasiado por ello. Bueno, todo esto está
bien y bien bien, todos
podemos echar un vistazo a esto, pero seamos honestos, queremos
hacer algo nosotros mismos, y esto es exactamente
lo que vamos a hacer. Crearemos aquí una nueva clase. Por lo que en nuestro paquete personalizado, haga clic derecho en nueva clase Java. Y esta va a ser
la lámpara cobalto negra. Y esto extenderá
la clase de bloque. Por supuesto, aquí mismo, importa esta imagen
que hemos elegido, que hemos elegido la
correcta sobre o, el constructor de pantalla
coincidiendo super. Y si este ruido nos hace, entonces podemos simplemente dar click en él, presionar Shift F6, y simplemente
elegir Propiedades aquí. Ahí vas. Muy bien, ahora
necesitamos, por supuesto, una cuadra, digamos propiedad. Ahora voy a
hacer de esto unapropiedad booleana final
estáticapública propiedad booleana final
estática llamada clicked, que es igual a la
propiedad booleana dot create. Y eso es todo. Y normatividad, has creado una propiedad ID de bloques personalizados. Eso es todo lo que tenemos que hacer. Y por supuesto todavía
necesitamos
anular el método Create block
set definition. Y luego básicamente lo llaman
P builder dot add, clicado. Ahí vas. Si tienes múltiples
bloques, las propiedades, solo
puedes agregarlos básicamente
separándolos con una coma. Por supuesto, agregar clicked dos veces aquí no tiene
mucho sentido, pero si tenías varios, puedes simplemente
separarlos con una coma y agregar tantos
como quieras
con el código add aquí. Ahora lo que queremos es que queremos poder
hacer clic derecho este bloque y luego básicamente se
enciende y se apaga. Sólo vamos a tomar aquí
el método de Estados Unidos. Vamos a anular eso. Entonces déjame hacer esto
un poco diferente. Y luego por supuesto, porque
esto está en desuso, puedes ver que no
deberíamos llamar a esto. Simplemente vamos a
devolver el
resultado de interacción que el éxito,
eso va a estar bien. Ahora la pregunta es, vale,
¿qué vamos a hacer? Bueno, vamos a decir
si el nivel P es del lado del cliente. Entonces básicamente
asegurándonos de que tengamos el, esto es muy importante
que tengamos el signo de
exclamación al frente, básicamente negando esto, ¿verdad? Por lo que queremos estar en el
servidor, no en el cliente. Y voy a decir p-hat iguala
interacción mano en mano. Nosotros sólo vamos a
llamar de esta siempre, Esa es la idea básica. Y esto es muy importante. Por lo que signo de exclamación,
tenga en cuenta esto porque he
visto esto varias veces. El pueblo ha olvidado
el signo de exclamación donde queremos estar en el
servidor, no en el cliente. Y luego vamos a decir que el estado actual
booleano es igual al estado en el que
nos han pasado. Entonces este sería el estado de bloque
real que acabamos de hacer clic derecho. Y voy a decir
obtener un valor de clicked. Y entonces lo que vamos a
hacer es que sólo vamos a decir nivel set block que parece que hemos visto en esta posición en
particular que hemos hecho clic derecho
con un estado en el que hemos hecho clic derecho y
configurando el valor de clicado al estado actual, negado los primeros paréntesis, orientando, poniendo en tres, que son las banderas. Y, y eso es en realidad
todo lo que tenemos que
hacer para que esta lámpara cambie. Bueno, es estado bloqueado. Y vamos a ver cómo básicamente
podemos representar esto o cómo vamos
a poder ver esto en tan solo un momento. Pero sí, eso es más o menos
todo lo que necesitamos hacer. Se puede ver todo aquí dentro. Esto no debería ser demasiado
loco a estas alturas. Sí, Así que en realidad vamos a
registrar el bloque también. Entonces en nuestra clase más bloques, solo
voy a
copiar sobre la trampilla en
flor de cerezo y
esta va a ser la lámpara de subrayado
cobalto porque es lo mismo
aquí, lámpara Cobalt. Y esto ahora es un bloque de lámpara de
cobalto, que
definitivamente va a tomar no madera. Tomemos un tomemos un metal y luego ninguna oclusión tampoco
es el caso. Ahora lo que en realidad vamos añadir es algo
muy interesante. No seamos estrictamente necesarios, pero quería mostrar esto. Básicamente lo que quiero es que si la propiedad click es cierta, entonces lo que quiero es que
esto se encienda ahí. ¿ Cómo hacemos esto? Bueno, se puede ver aquí tenemos
este nivel de lago, que es una
función a Int de estado de bloque. ¿ Qué significa eso? Bueno, básicamente toma en un estado aquí y luego lo
tenemos similar a un. puedes ver esto es similar a un proveedor y luego
solo necesitamos devolverlo para que
podamos poner en 15, por ejemplo. Independientemente del estado, se
puede ver que
sólo va a devolver 15. Eso no es exactamente
lo que tenía en mente. Lo que tenía en mente es que
vamos a decir punto estatal, conseguir un valor de
lámpara cobalto punto negro clicked. Entonces básicamente estamos
obteniendo el valor y luego vamos a
usar el operador ternario. Si esto es cierto,
vamos a devolver 15, que es Nivel de luz Max, y luego de lo contrario
vamos a devolver 0. Esa es la idea general aquí, es sólo un, algo
que añadir básicamente. Y también entonces tú,
ahora ya sabes, oye, así es como puedes
muy fácilmente solo añadir un nivel de luz ahí a
una cuadra si quieres. Y ahora por supuesto,
a los archivos JSON. Entonces, antes que
nada agreguemos realmente la traducción sólo porque eso va a ser un
poco más rápido. Yo sólo voy a copiar
por encima de la barda aquí. La lámpara de cobalto. Van sobre lámpara. Y entonces también copiaré
sobre los estados de bloque. Esos son por supuesto,
todos disponibles para ti en el repositorio de GitHub o
individual igual de bien. Y aquí tienes. Entonces haga clic en esta igual a
falsa lámpara de cohorte apagado. Entonces vamos a apuntar a este modelo, ellos han
hecho clic es cierto. Entonces vamos a apuntar a la
lámpara de subrayado cobalto en modelo de bloque. Entonces vamos a copiar ambos modelos de
sangre también. No deberían estar demasiado locos, ¿verdad? No, claro que no. En realidad no están demasiado locos. Y mira, acabamos de
apuntar a la lámpara de cobalto apagada y luego en la
otra, ¿puedes adivinar? Sí, en general, cordero encendido. Entonces es muy
sencillo, en realidad. Las texturas que les estamos
señalando con el
modelo de ítem, ya sabes, solo va a estar
apuntando al off, Vamos en realidad apuntando
al unimodal. Bueno en realidad, ya sabes qué, hagamos este punto
al modelo porque eso es un poco más bonito en este caso. Y luego por supuesto,
sólo copia sobre las texturas como hemos
visto varias veces. Ahora. Van y bueno, eso es más o menos todo lo
que necesitamos hacer, ¿verdad? La mayor parte del levantamiento pesado aquí hecho por la propiedad booleana, y el resto es, bueno, debería ser bastante
autoexplicativo. Entonces, veamos si funciona. O nos encontramos de
vuelta en Minecraft. Como se puede ver, el
cobol M ha sido un abajo no solicitado
y ahí está. Empezó en la posición on. Entonces básicamente empieza con una propiedad booleana t siendo
verdad, eso está totalmente bien. Por supuesto, ahí
no hay preocupaciones. Y lo que
en realidad puedes ver, como pongamos a tiempo en noche aquí y veamos
si hago clic con el botón derecho en él. Ahora, en realidad podemos ver que la luz es lo que se
enciende y apaga. Entonces eso es realmente frecuente, genial. Pero eso de hecho es lo
fácil que puede ser también. Pero en solo para que lo tengamos, si tal vez quieres una propiedad por defecto
diferente, lo que podemos hacer es que podemos llamar a
esto en el constructor, este punto registrar estado predeterminado. Y entonces podemos decir este estado de bloque por defecto de
punto, nuestro valor establecido de voluntad
clicked a false. Y con eso, básicamente
lo que vamos a hacer es que estamos estableciendo que
esto sea falso. Por lo que la propiedad clip
ahora será falsa por defecto. Pero esa es una especie de la idea
general para un, otra cosa interesante
es que, por ejemplo, si entramos en la propiedad
booleana, por lo que el botón del ratón del medio
clic, se puede ver esta es una propiedad de tipo Booleano. Si presiono Control H aquí, ya
ves que también son propiedades
enteras así
como propiedades enum. Una de las más grandes es
la propiedad de dirección. Por lo que también puedes usar propiedades de
enteros y todas las
demás también. Y si realmente echamos un
vistazo a la propiedad booleana que
crea, por ejemplo, podemos hacer esto, pero
entonces también podemos echar un vistazo, por ejemplo, al estado de bloque. Creo que está bloqueado. Tres propiedades. Ir bloque, decir
propiedades que clase tiene básicamente todos los bloques de
vainilla, las propiedades definidas
aquí, podemos ver, por ejemplo, algunas
propiedades de enteros, edades, max, edades. Tenemos algún nivel de
caldero de nivel, condensador
de nivel de abatimiento. Entonces con básicamente
algunos ejemplos aquí, recomiendo encarecidamente echar
un vistazo a esto si
quieres hacer de tus propios bloques
personalizados una propiedad. De lo contrario esto ya
sería para esta conferencia aquí mismo. Espero que haya encontrado esto
útil en cuanto a lo nuevo, y los veré en
la próxima conferencia. Entonces, sí.
67. (Intermedio) cómo funciona los datos de NBT: Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta conferencia,
vamos a estar echando un vistazo los datos
NVT o como ahora se le llama, etiquetas
compuestas,
básicamente harán etiquetas MVT. Entonces, ¿qué son esos? Bueno, básicamente es una
forma de guardar datos en, por ejemplo, pilas de elementos. Ahora, la primera
pregunta que viene a la mente son las pilas de
artículos de aguas residuales. Bueno, así como los estados de Bloque son las representaciones de un
bloque dentro de un mundo, pilas de artículos
similares son representaciones de artículos
dentro de tu inventario. Entonces si tienes dos espadas de diamante
diferentes, bueno ambos son el
objeto, espada de diamante, pero ambos son artículos
diferentes, pilas, Esa es una idea general. Y para esto, lo que
vamos a hacer es que vamos a salvar el resultado que tuvimos
de la última varilla de dowsing. Haga clic derecho en un pozo
en, en datos NVT. Y lo que vamos a
hacer es hacer un nuevo artículo para esto. Por lo que en nuestro paquete personalizado, haga clic derecho en nueva clase Java
llamada el elemento de la tableta de datos. Y esto extenderá
elemento por supuesto, sobre todo esto crear
constructor coincidente super. Y entonces lo que
vamos a hacer es que sólo vamos a añadir un montón de cosas. Entonces, en primer lugar, realmente no
necesitamos
agregar nada para poder agregar datos
NVT a esto. Podemos agregar datos NVT a cualquier
pila de artículos diferente que queramos. Esto es más o menos así. Lo que vamos a hacer sin embargo, es que vamos a tener
las siguientes cosas. Entonces número uno, en realidad
quiero que los datos
de la NVT se muestren como una descripción de herramientas. Vamos a hacer es vamos a
decir anexar Hover Text. Y lo que voy a hacer es básicamente decir, Hey, si la pila real
aquí, correcto, tiene etiquetas. Entonces este es el método que
comprueba si o no, sabes, datos o
ataque de la NVT están presentes aquí. Entonces vamos a decir que las
naranjas son sólo una cuerda. Y vamos a leer
esto de la pila. Dot se etiqueta, así que esto obtiene la etiqueta NVT o
la etiqueta compuesta. Entonces puedes ver que hay diferentes tipos de
métodos que básicamente
podemos conseguir esto
unos get's diferentes. También hay algunos puestos. Bueno, lo que vamos a
hacer es que vamos a conseguir una cadena con la siguiente clave, MC course dot last
underscore o. Y luego sólo vamos
a agregar esto a la descripción de herramientas. Entonces P tooltip componentes, dot add new text
component o un All right, así que hemos visto ahora dos
de los tres importantes,
bueno, los métodos de etiqueta básicamente
tiene etiqueta y luego se etiqueta. Y entonces
básicamente puedes obtener cualquier etiqueta a través de un año clave en particular. Y también lo haremos es que
vamos a hacer esta extremidad. Entonces vamos a
tener básicamente el destello encantado en este artículo si
hay una cárcel de etiqueta. Entonces vamos a decir que es papel de aluminio y sólo vamos
a devolver la pila, no como etiqueta, pero eso es
casi todo. Tan pronto como tenga un
componente de etiqueta p en esta pila, entonces va a
empezar a especie de glitter como si estuviera encantado. Y entonces también anularemos aquí mismo
el método estadounidense. Y lo que vamos a hacer es que
vamos a decir lo siguiente. Vamos a decir que si el
jugador no consigue artículo en la mano, usó mano que tiene etiquetas. Entonces, una vez más, si tenemos una etiqueta, entonces sólo vamos a
hacer es vamos a decir getItems jugador en y usó la mano esa etiqueta. Entonces esta es la tercera
a una nueva etiqueta compuesta. Porque si
solo estamos configurando esto una nueva etiqueta compuesta que no tiene nada
asociado con ella, entonces simplemente va
a borrar básicamente la etiqueta y el hashtag ahora
será falso. Entonces, básicamente si
solo hacemos clic con
el botón derecho en la
tableta de datos del ítem D en el aire, entonces solo se va a borrar todos los datos
que hay ahí. Esa es la idea básica aquí. Y bueno, eso es más o menos
todo lo que hay a ello, ¿verdad? Tenemos el hashtag, tenemos la etiqueta git, y tenemos el ataque set. Esos son prácticamente todos
los tres grandes métodos en los que necesitamos pensar. Y ahora en realidad vamos
a hacer es vamos a, por
supuesto, cambios de
en la barra de dowsing. Pero para esto,
vamos a necesitar una clase de ayudante util en
nuestro paquete de YouTube. Haga clic derecho en nueva clase Java
llamada util de inventario. En realidad voy
a copiar sobre
ambos métodos porque sólo
va a hacer esto un
poco más fácil. Entonces puedes ver que es justo,
simplemente básicamente como un método booleano y
un método entero. Y el
método booleano solo dice:
Oye, ¿el jugador, este jugador tiene este artículo en
algún lugar de su inventario? Y entonces el otro simplemente dice
básicamente: Oye, tiene el, ¿dónde está el índice del
ítem que estamos pasando? Pero esa es básicamente
la idea general aquí. Y lo que vamos a hacer es
en nuestro solo artículo Dao, ahora
vamos a cambiar esto. Uno de los núcleos está,
por supuesto, disponible para ti en el repositorio de GitHub o en un
individuo igual de bien. Pero voy a copiar sobre
el método principal aquí, que va a ser el
anuncio en BT a la tableta de datos. Ahora, como pueden ver, en realidad
vamos a necesitar definir la pestaña de
datos más ítem también. Entonces no se preocupe ahí.
Nosotros sólo vamos a hacer es sólo de inmediato
es registrar esto. Entonces tableta de datos. Y luego aquí datos
subrayan tableta. Y esto es por supuesto,
un elemento de tableta de datos que hace con sólo las propiedades
normales. Y luego. Todo aquí
debería funcionar bien. Esto no debería ser demasiado loco. En este punto, hemos
registrado tantos artículos. Registrar un artículo debe
ser casi de segunda naturaleza. Ahora, ¿qué estamos haciendo aquí? Bueno, básicamente estamos obteniendo el artículo del inventario del
jugador. Pero al obtener el
primer índice entero, estamos obteniendo la
primera instancia de este ítem en el inventario. Eso es muy importante. Entonces así es básicamente
como va a funcionar. Voy a mostrar, por supuesto, en la manifestación
apenas un momento. Y luego vamos
a crear una nueva etiqueta aquí, así que datos NVT. Y entonces sólo
vamos a poner una cuerda con esta llave. Muy importante que
esta clave sea correcta, porque ésta tiene que ser
exactamente la misma por, cuando estamos leyendo
esto básicamente. Y luego simplemente ponemos, bueno, básicamente las mismas cosas
que ponemos aquí mismo. Entonces sólo vamos
a imprimir el nombre y básicamente la posición
en donde lo encontramos. Y luego aquí
solo estamos configurando la etiqueta de la tableta de datos a datos MVT. Y luego dentro de
aquí, básicamente justo después de encontrarlo, lo que vamos a hacer es que
vamos a decir a lo siguiente, vamos a decir si inventario util dot tiene stack de jugadores y inventario con el jugador y cuantos más artículos obtengan
los datos tablet dot. Si ese es el caso, entonces lo que queremos hacer
es añadir datos
NVT aquí con el jugador, la posición haga clic abajo debajo de I, y luego bloquear abajo también. Ahí vas. Eso es más o menos.
Ahora bien, esto por supuesto, no
es Importante para los datos de la
NVT en general. Esta es básicamente la
forma en que lo estamos agregando. Entonces esto realmente es como la parte principal de
los datos NVT aquí, en este caso, hacer una
nueva etiqueta compuesta y luego establecer la tachuela en esa pila de elementos en
particular. Esa es más o menos
la idea básica. Ahora por el
sake de la finalización, por supuesto, también
agreguemos aquí la
traducción. Esta va a ser la tableta de subrayado de
datos. Tableta de datos aquí. Muy bonito. Y luego también agrega el modelo de ítem justo ahí para que puedas
verlo apunta a los datos subrayado de
la
tableta de subrayado off, extra curioso y de textura off. ¿ Habrá también una
textura propia? Sí, lo hay. Pero eso es algo que
vamos a ver en la próxima conferencia. En realidad. Sólo vamos
a copiar esto. Y eso debería ser más o menos todo lo que necesitamos hacer
para agregar bien la tableta de datos
y algunos datos de entidad personalizados. Entonces, veamos si funciona. O farsas atrás y microvesículas ver la tabla de datos se
ha agregado al juego. Ahora en realidad
vamos a tener que cambiar el apilamiento máximo aquí
en tan solo un momento, pero eso es por supuesto que va
a ser una solución muy fácil. Y vamos a ver si
puedo encontrar objetos de valor. Entonces deberíamos ver el
primero que una tableta. Ahí vas. Por lo que ahora podemos ver Found Minecraft cobre o en exactamente la posición que
teníamos ahí también. Entonces todo funciona. Si
ahora hago clic derecho con él. Ahora se ha suprimido. Y lo
que es muy importante es que si encuentro otro, se
puede ver que
lo anula para el primero. Esto es básicamente lo que dije, pero lo va a
anular y no ponerle este siguiente. Podrías por supuesto
hacer otro bien, inventario método habitual que es como un hallazgo
sin datos NVT. Y luego lo vas a
agregar al siguiente. Eso también funcionaría,
por supuesto, totalmente bien. Pero por el momento,
esto es bastante bueno. Ahora arreglemos realmente
el apilamiento de esto. Entonces ahora puedes ver que ya
no se apilan. Ahí hay uno de ellos
tenía datos de la NVT al respecto. Pero puedes ver, aquí solo puedo conseguir unos
nuevos y los
puedo apilar, que es por supuesto que
no es exactamente lo que queremos. Entonces, solo arreglémoslo rápidamente. Pero esto es por supuesto una solución
muy fácil, ¿verdad? En las propiedades del artículo, sólo
vamos a agregar el
impuesto al método aquí mismo, y sólo vamos
a poner un 1. Entonces eso debería ser bastante
autoexplicativo aquí. Y con eso, básicamente se hace
toda la tableta de datos. Y esto ya sería
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 sin embargo. Sí.
68. (intermedio) propiedades de elementos: O volveré al curso de
forraje por 118. En esta conferencia,
vamos a estar agregando una propiedad de elemento personalizado
a nuestra tableta de datos. Ahora, algunos de ustedes podrían decir, Espera ¿Qué demonios es una propiedad de modelo de artículo personalizado
o una propiedad de artículo? Nunca he oído hablar de eso. Bueno, básicamente es muy similar a una propiedad de estado de
bloque. No obstante, nos permite 0 a un
archivo JSON de modelo de ítem diferente si la propiedad
cambiará su valor. Entonces lo que podemos hacer
es cambiar la textura del ítem de la tableta de
datos si, ya
sabes, si
tenemos, por ejemplo, en datos BT en él. Lo que vamos a hacer es
que vamos a hacer una nueva clase en el paquete util llamado las propiedades del elemento mod. Y luego vamos a hacer
un vacío público estático llamado add custom item
properties method. Y luego vamos a
hacer lo siguiente. En primer lugar,
vamos a presionar turno dos veces y vamos a poner en las propiedades del artículo y luego asegurarnos de que el
tick aquí está marcado básicamente la casilla incluye artículos
no producto. Y luego
vamos a entrar en esta clase y se puede ver que esta es básicamente la clase de propiedades
del ítem. Y si bajamos, se
puede ver esto, por ejemplo, el cuenco que tiene el poste y las
propiedades del elemento tirante las cuales se utilizan para cambiar la textura dentro del
inventario del tazón. Entonces esto es realmente jodidamente genial. Y esta es, bueno, una de esas cosas que si
no lo sabes, es muy difícil
pensar en esto. Pero una vez que lo sepamos, una vez que hayas visto cómo
funciona, en realidad va a ser
bastante sencillo. Entonces vamos a decir propiedades de
ítem que registran los
ítems de modo, tableta de datos, dot get, y luego una
nueva ubicación de recursos llamada MC curso mod, mod ID, y luego sucesivamente. Entonces este es sólo el nombre del, de la propiedad básicamente. Y entonces lo que necesitamos es que
necesitamos un método loco Well. Y entonces lo que vamos a hacer
es que sólo vamos a poner paréntesis y luego API. Y se puede ver
que básicamente sólo una vez que todo generó para nosotros
la función de propiedad del elemento. Entonces solo vamos
a presionar la tecla Tab y entonces esto está bien. Ahora esta
función de propiedad de elemento devuelve un flotador y esto básicamente es entonces el valor que toma la propiedad
del elemento. Lo que vamos a
ver es que vamos a decir P stack dot hashtag, western mark one, f colon 0, F. Y básicamente estamos usando
el operador ternario. Una vez más,
devolverá uno si ataque está realmente presente y 0 si el ataque no está presente. Bueno entonces eso es más o menos
todo lo que necesitamos hacer. Tendré que llamar a esto
en nuestra configuración de cliente. Esto es muy importante,
eso se llama el método
directo aquí propiedades
del elemento,
más propiedades del elemento que agregan propiedades del elemento
personalizadas.
Y eso es más o menos. Por cada artículo adicional. Simplemente agregamos una nueva llamada de
registro aquí. Y entonces eso va a
ser más o
menos todo lo que necesitamos hacer. Ahora, ¿dónde
usamos esto aquí? Bueno, usamos esto dentro
del modelo de artículo. Entonces lo que vamos a
hacer es antes que nada, básicamente
vamos a
tener un nuevo modelo. Entonces la tableta de datos aquí mismo, en realidad
voy
a copiar esto más. Por lo que voy a
arrastrarlo a la misma carpeta mientras sostengo Control. Voy a llamar a esto
la tableta de datos encendida. Simplemente voy a cambiar esto a tableta de
datos en aquí mismo, no demasiado pronto, sino en el ego. Y luego voy a copiar sobre la otra tableta de datos
o los contenidos aquí. Sólo vamos a abrir esto. Ahora tenemos un guión bajo de
tableta de datos en solo normal basado en archivo. Y esto, voy a copiar
sobre los contenidos y
voy a explicar en bien
cómo funciona esto básicamente. Entonces por defecto, esta es la
textura que elige, la tableta de datos apagada. Ahora hay una anulación aquí. Esto es básicamente una lista de diferentes anulaciones
que tiene un predicado. Y el predicado es básicamente se puede pensar en esto como un, si esto es cierto, entonces sólo
vamos
a sobrescribirlo con
este modelo aquí. Y el predicado es, oye, núcleos
MC en la
propiedad del artículo tiene que ser uno. Y luego lo vamos
a anular con esta de aquí, que es la tableta de datos del ítem del
curso MOOC en la que acabamos de hacer aquí, que luego básicamente apunta
al contexto de la talento de datos. Eso es más o menos
todo
lo que hay es esto no debería
ser demasiado confuso, esto no debería ser demasiado loco. Básicamente lo estamos haciendo de
una manera muy similar ya que el bloque dice que las propiedades son solo
un poco diferentes. Y sí, eso es
más o menos todo lo que hay a ello. Por lo que sólo voy a agregar
la otra tableta de datos sobre textura también. Y luego lo que básicamente estamos listos para echar un vistazo a esto. Una vez más, recomiendo encarecidamente solo estar abierto a
la experimentación, jugar
un poco con esto porque las propiedades del artículo son realmente realmente
friking y eso me encanta mucho. En realidad es bastante
fácil hacer esto. Por lo que recomiendo
encarecidamente echarle un vistazo a esto. Pero por el bien de la finalización,
veamos si funciona. Muy bien, nos encontramos de
vuelta en Minecraft. Entonces veamos, intentemos
encontrar algunos objetos de valor. Y luego en cuanto lo
encontremos, ahí está. Y entonces la textura real también
ha cambiado. Entonces esto en realidad es
realmente genial, y puedo hacer clic con el botón derecho para, eliminaremos los datos de nuevo y luego la textura vuelve a cambiar. Entonces esto en realidad es lo
fácil que es, bueno, básicamente cambiar la
textura de esto y simplemente algo así como
pequeño, ¿verdad? Cambiar la textura
en la tableta es solo un
efecto tan fresco que seguro, Es como, ¿va a
hacer saber todo un mod? Pero si le agregas
algo como esto a tu MOD sólo va a ser tan frecuente
enfriador, ¿verdad? Y eso ya es todo para
esta conferencia aquí mismo. Todo el código
en los archivos JSON están por supuesto
disponibles para usted en el repositorio de GitHub y
un individuo igual de bien. Y te veré en la
próxima conferencia sin embargo. Sí.
69. Asignación 7: BlockStates y NBT: Muy bien, Bienvenidos
a este ejercicio aquí para el curso de fragua. Y lo que
básicamente se supone que debes
hacer aquí es que haremos uno como alguna propiedad de estado de bloque y
luego un ejemplo de datos de NVT. Básicamente, tu, tu
creatividad es justa, puedes hacer lo que quieras. Básicamente solo sé creativo. No te vuelvas demasiado loco, ¿verdad? No pienses que
voy a hacer una cosa loca con
seis datos diferentes de la NVT. Ah, muy lento, muy fácil, ¿verdad? A lo mejor hacer otra propiedad
booleana, tal vez hacer una propiedad entera, lo que sea que haya, esto a
algo que es realmente genial, pero también no demasiado loco. No te vayas demasiado
por la borda con esto. Tan solo piensa en esto y luego manejarás esta asignación. No hay solución real
para esto porque, bueno, básicamente puedes hacer
lo que quieras aquí dentro, cual podría ser un
poco demasiado grande, pero estoy seguro que
te las arreglarás, pero estoy muy interesado
en ver con qué se puede
llegar y sí.
70. (intermedio) recortes personalizados: Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta conferencia
vamos a estar agregando un cultivo personalizado a Minecraft. Por lo que el cultivo personalizado es en realidad un
proceso bastante sencillo. Todas las cosas consideradas,
hay por supuesto, algunas cosas muy especiales
que aún no hemos visto, pero en general, va
a estar totalmente bien. Entonces, en primer lugar, necesitamos un pase personalizado en
nuestro paquete personalizado, haga clic derecho en nueva clase Java
llamada el nabo Rob block. Y bueno, aquí tenemos dos posibilidades
diferentes. Podemos o extenderlo
desde el bloque de cultivo o, y esto va
a ser más fácil primero, en realidad
vamos
a extender esto desde el bloque de raíz de remolacha. Ahora, la razón de
esto va a ser evidente en tan solo un momento. En primer lugar, si el
parámetro tu ruido, cambias F6 y
luego cambias el nombre a propiedades y
botón central del ratón haz clic en el bloqueo de carretera del
talón aquí. Cualquiera verá que tiene una propiedad
entera llamada edad. Ahora esta propiedad entera
va de 0 a tres, que es exactamente
el mismo número de edades o valores de edad que tiene
nuestro bloque también. Es por ello que
básicamente podemos tomar casi la totalidad de esto. Solo necesitamos anular el buen método de ID de semilla
aquí mismo en nuestra propia clase. Y el resto básicamente puede
quedarse exactamente como está. Ahora si tienes una
edad diferente en tu cultivo acostumbrado, echa un
vistazo al bloque de cultivos. Se puede ver que la suerte de la
cosecha en realidad tiene una persona de
siete años en este caso. Si quieres
cambiar esto, también, solo
puedes cambiarlo usando un diferente cada año o
puedes definir tu propia edad si, sabes que 12357 y 15 o 25 no
son ninguno de los
agentes que quieres. Simplemente puedes hacer tu
propia propiedad entera. Esto ya lo hemos visto anteriormente. Entonces esto no debería ser demasiado loco. El único que podría
estar un poco loco es esta forma por edad aquí mismo. Así que en realidad puedo
alejar un poco y luego simplemente desplazarse y seguir
desplazándose y desplazándose. Esto está muy mal
formateado en mi mente. Simplemente no me gusta esto, que todo está en una línea. La idea general es que
básicamente sólo tenemos una caja en el nivel salvaje
de ese cuadro cambia. El cuadro es el contorno negro que tiene un bloque al
pasar el cursor sobre él. Y el esquema cambia por la edad del cultivo real aquí. Y entonces lo mismo va para
básicamente el bloque de raíz de remolacha. Se puede ver en la 0a edad
, son 246 y un ocho. Y básicamente puedes cambiar
los de voluntad también. Entonces eso es algo
que también puedes hacer. Todo esto no debería
ser demasiado loco. Todas las cosas consideradas. Ya sabes, si tienes un cultivo
completamente personalizado que quieres implementar con una edad diferente y todo eso,
estoy seguro que te las
arreglarás porque mayor parte de esto no es demasiado loco. Solo asegúrate de saber,
tú, anulas el método de edad
GetMax. Básicamente basta con echar un
vistazo a la raíz de remolacha. Aquí, echa un vistazo
al bloque de cultivos aquí. Echa un vistazo a los
cambios que hicieron de uno a otro
y luego al resto. Seguro que te las
arreglarás y te descifrarás. Y en realidad necesitamos anular el ID de semilla por el momento, lo que vamos a hacer es sólo
vamos a hacer esto un, hacer de esto un error. Por lo que no olvido esto. Este es solo un pequeño
consejo rápido aquí porque tal vez
quiero olvidar
cambiar esto y luego vas a tener que volver
a pasar por él. Entonces, no hagamos esto. Y entonces agreguemos un, bueno el cultivo aquí
en nuestra clase box. Entonces esto va a ser un justo
copiando aquí la trampilla. Y vamos a llamar a esto
el cultivo de subrayado de nabo. Ahora lo que es muy
interesante es que, por
supuesto esto
también va a ser el cultivo de subrayado de nabo. Ahora esto no es bloque de registro, esto es block dot register. Y la razón por la que estamos llamando a bloques o registrarnos en lugar de hacer el método de
bloque de registro es porque en realidad
no querríamos un elemento de bloque asociado a esta prop
en particular aquí. Lo que queremos es que queremos
hacer una semilla más adelante. Entonces vamos a decir bloque de cultivo de
nabo. Y entonces esto en realidad
va a ser material de, pero vamos a
decir copia y mono, digamos bloques punto trigo, tu
celda que en realidad, vamos a hacer raíz de remolacha, raíces de
remolacha, van
y el resto es bien. Creo que la única
otra cosa que queremos es que no hagamos
colisión también. Entonces, sin colisión, sin oclusión. Longitud 2 que
realmente no deberíamos necesitar aquí. Y luego el resto se
debe copiar de las raíces de remolacha de todos modos, así que no se preocupe ahí. Entonces este es el
bloque realmente hecho y aún necesitamos el artículo. Ahora este artículo, como dije, va a ser sólo las semillas. Por lo que sólo vamos a escoger la tableta de datos y sólo
vamos a decir turno IP underscore semillas. Y entonces el nombre
aquí por supuesto
también aparecía subrayan las semillas. Y este va a ser un
artículo, nombre, elemento de bloque. Eso es interesante, sí. Asegurándose de que esto realmente
se apile a más de uno. Y entonces sólo
vamos a cambiar el nombre aquí también. Entonces este orden, y luego el primer parámetro
va a ser bloques de modo
bloque
dot urllib crop. No obstante, Vamos a cambiar un poco el
formato. Es decir, esto
va a estar bien. Esto va a
ser bueno en la lectura. Pero vamos
a necesitar hacer de este un artículo
llamado elemento de bloque
porque en realidad
queremos tomar el
turno de nombre de semillas en lugar del BlockName
de la basura de nabo. Ahora qué podemos hacer
en la clase ya que
podemos devolver más artículos, nabo
dot, semillas.rb,
aquí mismo. Y entonces la clase
realmente lo ha hecho, como dije, si tienes alguna edad
diferente en particular y
cosas así, echa un
vistazo a la clase de cultivo, un
vistazo a la clase de bloque de
remolacha. Te recomiendo encarecidamente esto debe ser básicamente todo
lo que realmente necesitas hacer. Y en el
curso MC mod a class, también
necesitamos agregar el cultivo de nabo a la capa de render
específica. Entonces, solo duplicemos
esto con Control D. Y luego pongamos a su vez
un cultivo aquí mismo. Y eso también se hace. Y entonces los archivos JSON
son todo lo que quedó. Ahora, en realidad hagamos primero
la traducción porque hay un poco de tendencia a olvidar esto. Entonces hagámosle subir el recorte de
subrayado. Y entonces este va a ser
el cultivo de nabo aquí mismo. Y entonces lo que vamos a hacer es que sólo vamos a agregar también, esto en realidad van a ser
las semillas, van a ser semillas. Y entonces el cultivo
realmente se sumará aquí mismo. Por lo que se va a dar
vuelta, subrayan cosecha. Vuelve, Rob. Entonces podrías querer esta
traducción también, solo para que la tengas
cuando tengas la, ¿qué estoy mirando
modelo que básicamente muestra cuál es el nombre real de las casillas que
estás mirando. Esto a veces puede
ayudar allí también. Con la traducción básica. Copiemos sobre el bloque Estados Jason y yo lo explicaremos. Por supuesto, se puede ver
esto no es nada demasiado loco, nada que
no hayamos visto ya. Básicamente tenemos
cuatro edades diferentes, 0 a tres, y solo estamos apuntando a diferentes archivos JSON de modelo de
bloque. Entonces esto es básicamente todo lo
que hay a ello. Esto no debería ser
nada completamente nuevo. Nosotros sólo vamos a copiar
esos también. Esos son por supuesto,
todos disponibles para ti en el repositorio de GitHub o un
individuo igual de bien. Y ya verás que esto
es ahora solo cultivo aquí. Y luego las texturas
también apuntan a recortar. Y luego solo señalamos
diferentes modelos de bloques. Simplemente señalamos
diferentes texturas de bloque. Entonces eso es más o menos
todo lo que hay a ello. Y también luego
copiemos las semillas aquí. También sólo apunta a una textura. No hay nada de locos en ello. Bueno, esto en realidad
no es tan loco. Todas las cosas consideradas. Vamos a conseguir la
textura de Aedes y luego vamos a conseguir unas texturas de plomo
para los bloques también. Apenas 0 a 3 años. Y entonces una cosa más muy
interesante va a ser, bueno, la mesa de botín. Ahora, ¿cómo funciona la mesa de Lu? Bueno, para eso,
sólo vamos a
bajar a las bibliotecas externas. Una vez más, la
carpeta de datos aquí mismo, cliente de microondas
derecho y extra 1181 a los bloques de laúd tablas. Y entonces sólo vamos
a decir, por ejemplo, las raíces de remolacha. Simplemente vamos a abrir
esto y se puede ver que esto es un poco más
complicado en este momento. Pero lo que podemos hacer es
simplemente seleccionar todo el control C, o también podemos seleccionar
el archivo JSON Control C. Y luego simplemente subir aquí a nuestro curso MC Lou tablas bloques
Control V para pegarlo. Y entonces sólo
vamos a decir si Eve aparece subrayado crop, y entonces sólo tenemos que cambiar
un montón de cosas aquí. Ahora es muy importante
como puedes ver, que en realidad estamos
buscando un bloque, digamos, propiedad, vejez, y tiene
que ser tres. Y entonces esta es
la condición bajo la
cual cae la paliza real. Eso es muy importante. Entonces esto va a
ser MC curso nabo que vamos
a cambiar esto. Y entonces esto es por supuesto que
va a ser MC curso. Sube las semillas de subrayado. Ahora muy importante, tenemos que cambiar este bloque
también, ¿verdad? Porque este ahora va a ser el curso MC Olin nabo cultivo. Porque estamos revisando
la propiedad de edad y el
cultivo de nabo ya no el
beat, batir raíces bloquean básicamente. Y luego pasa
lo mismo aquí abajo, asegurándonos de que cambiemos esto por otra vez el término cultivo. Y luego aquí hay
algunas
semillas adicionales donde podría caer. Sólo vamos a
copiar esto también. Asegúrese de que tanto
el ID de modo como los nombres de los elementos
y bloques haya cambiado. Es muy fácil mirar
por encima del MOD ID aquí. Entonces sí, este, por supuesto archivo también
está disponible para ti, así que no te preocupes ahí, pero eso es en realidad todo lo que
tenemos que hacer para agregar
el cultivo personalizado. Entonces, veamos si funciona. O si Francis espalda
y microvesículas ven los asientos de nabo se han agregado
con éxito a
los juegos. A ver. También los puedo plantar. Ese es un muy buen comienzo. Y vamos a usar
algo de harina de hueso sobre ellos y se van Así que están
cultivando lácteos es y
vamos a cambiar violentos. Mira, hasta puedo conseguir algunos
nabos y algunos asientos atrás. Entonces esto es exactamente
lo que queremos C, y vamos a ver si también
crecen cuando básicamente el tiempo se hace
un poco más rápido aquí. Por lo que los tics aleatorios sean solo como 2 mil y ahí
están creciendo también. Entonces todo funcionando de manera asombrosa. Por supuesto cuando
los rompo en creativo, por
eso cambié
a la supervivencia. Entonces si vamos a sobrevivir, ahí tienes, Tiene
unos nabos bonitos aquí. Y ahí vamos. Y ahora podemos convertirnos en el
jardinero de nuestros sueños, ¿verdad? Y eso ya 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í.
71. (Intermedio) añadir artículos al Composter: Muy bien, bienvenido de nuevo
al curso de forraje por 118. En esta muy corta conferencia, les
mostraré cómo pueden agregar sus artículos al composter. Por lo que básicamente puedes
hacerlos compostables, muy, muy fáciles en el
método de configuración que tienes. Esperemos que esto sea con el parámetro de conjunto común
de eventos FML. Lo que vas a hacer es
que vas a decir event dot y q factible. Y luego vas a
poner entre paréntesis,
una flecha, y los corchetes
rizados. Y dentro de esto, queremos llamar a
composter loc dot dot, poner más artículos que semillas de
nabo que obtienen, por ejemplo, 0.5, creo, es el número correcto. Después duplica esto
con Control D, y luego
lo vamos a poner en un nabo aquí también. Voy a poner en 65. Por lo que en realidad podemos
echar un vistazo
al mapa cómico aquí mismo. Y estos son básicamente
los cambios que tenemos. Entonces se puede ver que tres, por lo que el ligando básicamente ver
aquí típico 3.5 papa VDD. Supongo que las semillas
son en realidad menos, así que en realidad son tres. Cambiemos esto a tres. Eso también está totalmente bien. 0.3. Ahí lo tienes. Eso es más o menos. Eso es todo lo que necesitabas
hacer para agregarlos
al composter aunque por bien de
finalización,
veamos si funciona. Ah, bueno si amigos, Hay un Minecraft
y ahí tienes. El compositor, ambos trabajando exactamente como
lo esperarías. Y ahora tenemos una comida de hueso, o 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í.
72. (intermedio) Flor: O doy la bienvenida de nuevo al
cuarto curso para 118. Y en esta conferencia
vamos a estar agregando una flor personalizada a Minecraft. Wiling una flor personalizada
es en realidad bastante fácil. Entonces en nuestra clase de bloques modelo, vamos a hacer es
sólo vamos a copiar la flor de cerezo, una puerta trampa. Y esto van a ser
las filas de subrayado rosa. Y por supuesto para el nombre
también, filas de subrayado rosa. Ahora esto va a
ser un bloque de flores, que en realidad toma
tres parámetros diferentes. El primero es
una mafia efectos o efectos que digamos
ceguera por ejemplo. Y entonces la duración del efecto, que popular para venir
y salir es
en realidad en segundos esta vez en
lugar de garrapatas. No sé por qué
parece muy inconsistente, pero es lo que es
y el mapeo real, lo que vamos a
hacer es no vamos a necesitar nada de esto. Y luego vamos a
copiar de bloques a ese
león dandy aquí para que
básicamente tengamos todas
las propiedades que vamos a necesitar. Entonces las propiedades que
vamos a necesitar son básicamente ninguna colisión
en extremo seborreico. Además, creo que
el material de plan básicamente
te consigue la no oclusión. Entonces este de aquí, necesitamos ambos, OK, sin oclusión y sin colisión. Pero al copiar las propiedades de la cualquier línea donde básicamente
ya tienen eso aquí. Lo que también vamos
a necesitar hacer por la flor está en
nuestro método de configuración, necesitamos llamar a esto para
la rosa aquí mismo. Por lo que necesitamos establecer la
capa del renderizador correctamente y luego, bueno, básicamente está justo
fuera de los archivos JSON. Esos son por supuesto,
todos disponibles para ti en el repositorio de GitHub o un
individuo igual de bien. Él Bloque afirma que Jason es
sólo un Bloque normal estados. Jason también agrega la
traducción aquí, para
no olvidar esto, las filas de
subrayado rosa. Y luego rosa rosa
aquí mismo. Ahí vas. Y luego agreguemos también el modelo de
registro. pasa nada realmente
interesante. Tenemos un patrón de cruz esta vez y una
textura cruzada también. Se puede ver esta vez
el padre es la cruz aquí y luego las
texturas también se cruzan. Eso es realmente lo más
interesante en este caso. Y el modelo de ítem en realidad también
es bastante interesante porque
éste apunta a una, bueno, la misma textura de bloque a la
que apunta
el bloque, porque si bien es básicamente porque si bien es básicamentelo mismo que
tienes en tu mano, que también se ve como
en el mundo básicamente, solo
vamos a
copiar esto también. Entonces van y eso
es en realidad todo lo
que necesitamos para
una flor personalizada. Entonces ahora veamos si
funciona o
los encontramos de vuelta en micro. Como puedes ver,
la rosa rosa ha sido
agregada con éxito al juego. ¿ Y no se ve
simplemente hermoso? Entonces así de
fácil puede ser agregar una flor personalizada a
Minecraft, ¿verdad? Y entonces ya es 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 sin embargo. Sí.
73. (intermedio) trazas de flores personalizadas: Muy bien, bienvenido de nuevo al curso de
forraje a través del 118. Y en esta conferencia
vamos a estar agregando un
plan de política personalizado a Minecraft. Por lo que después de haber agregado
en la flor personalizada, ahora también vamos
a hacer una parte que variará
de esta flor. Y la forma en que
vamos a hacer esto, sólo
vamos a copiar
esto y vamos a decir parte, rosa rosa. Y lo más
importante aquí es que éste en realidad no llama al método de bloque de
registro, pero esto vuelve a llamar a bloques que se registran aquí mismo. Entonces lo que vamos a hacer
es que sólo vamos a quitarle el
grifo de alivio al final. Y luego también vamos
a hacer de esta la parte que subraya rosa rosa. Y esto ahora es un
bloque de macetas para esto solamente. Esto realmente va a necesitar tres
parámetros diferentes también. El primero es un nulo, el segundo es mod blocks, rosa
oscuro, rosa,
lo mismo sin un get. Y entonces esto sólo se va
a llevar el
león dandy auditoria ya que está copiando
las propiedades. Ahora bien, se podría decir, bueno, esto ya es, no del todo, porque lo que todavía tenemos
que hacer es que todavía necesitamos una especie
de agregarlo con una lista de posibles
flores de pozo, simplemente esencialmente. Entonces una vez que el método de configuración, lo que vamos a hacer es que
vamos a decir bloques, esa parte de flor, ese elenco. Y luego vamos
a lanzar esto a un bloque de macetas aquí mismo. Y entonces podemos hacer es entonces
podemos llamar al método add. Voy a decir modo de bloque, bloques punto, filas, punto getId. Entonces el
segundo se acaba de mapear bloques punto-producto, rosa, rosa. Entonces esta es la forma de
agregarlo básicamente que puedes hacer clic derecho con tus filas aquí
y luego
vas a sacar este bloque de él. Ahora esto sigue siendo
un bloque normal, por lo que todavía necesitamos un
bloque Estados Jason, modelo de
bloque Jason y un archivo de traducción
para la rosa de tubería. Sólo voy a
copiar esto. El estado de bloque es en realidad
solo un bloque normal, dice Jason año, el modelo
es un poco diferente, pero no demasiado loco. Hagamos en primer lugar esto
en realidad. Entonces hagámoslo en
Gross son filas épicas. Ahora esta traducción sólo
es necesaria si tienes algo como,
¿qué estoy mirando? El modo que básicamente
puedes, ya sabes, que lo que básicamente estás
mirando cuál es el nombre
del bloque real
que estás mirando. Ahora este año, este
modelo de bloque que puedes ver es en realidad
socios de subrayado de flor a través. Y luego especificamos
el anterior. Ahora también es importante
después de añadir esto, no
necesitamos ninguna otra textura. Lo que haremos falta
es que también necesitamos
tener la rosa pública aquí en la
capa de render recortada. De lo contrario, también
vamos a tener un poco de una pantalla que emitirá allí. De lo contrario,
eso es todo lo que tenemos que hacer, aunque puedes ver
que en realidad es bastante sencillo, pero aún así, hay algunas
cosas interesantes, sobre todo con esto, con el casting de
la flor real olla. Después de que hayamos agregado esto,
veamos si funciona. O hornos de nuevo en micro. Entonces, solo
bajemos la parte y ahí vas. Tenemos las filas de tinta en maceta, que está funcionando totalmente bien. Pero esto es exactamente
lo que querrías. En lugar de solo como un rápido
aparte aquí al final, si alguien se pregunta, ya
sabes, oh, ¿cómo podemos hacer la mesa de
LU para esto? Una vez más, llega, tenemos ejemplos de vainilla de esto bajan a las bibliotecas
externas, hasta el
cliente de microondas neto extra 181. Y luego en las
mesas de bucle simplemente puedes buscar todas
las plantas en maceta. Se puede, por ejemplo,
echar un vistazo a esto y luego básicamente simplemente reemplazar este allium
aquí mismo por uno propio. Entonces simplemente copiado sobre Control C, Control V, y luego cambia esto. De hecho eso es lo
fácil que puede ser. Por lo que siempre tienes todos
los ejemplos de vainilla
básicamente a tu alcance. Muy recomendable
mirar esos también. Si alguna vez estás
confundido o quieres algo que ya está en vainilla, básicamente
simplemente replicado. A menudo es muy fácil de seguir, pero de lo contrario esto sería 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í.
74. (intermedio) sonidos personalizados: Muy bien, bienvenido de nuevo
al curso por 118. Y en esta conferencia,
vamos a estar agregando sonidos personalizados
a Minecraft. O
los sonidos personalizados son en realidad, bueno, yo diría bastante sencillo, todas
las cosas consideradas. Ahora, lo que
vamos a hacer es que necesitamos, claro que
los registremos. Por lo que en nuestro paquete del curso MC, haga clic derecho en nuevo
paquete llamado sonido. Y luego dentro de su
nueva clase Java para pueblos, hace ahora esta
clase de sonidos de modo va a tener un registro
diferido final estático público de tipo evento sonoro llamado eventos de subrayado de
sonido, que va a ser
igual para diferir registro que cree o registre
que suene eventos, MC curso MOD, pero modificado. Ahora si se trata de un registro
diferente, hay un método de registro de
vacío estático público con un bus de eventos, bus eventos
cool o su parámetro, y luego eventos sonoros que se registran pasando en el
perímetro de autobús de eventos. Entonces este método
aquí se
llama por supuesto justo debajo de los tratamientos
modernos. Entonces sonidos mod, no evento sonoro, pero registro
bus de eventos. Ahí lo tienes. Ahora, ¿cómo se vieron los eventos
sonoros? Bueno, en realidad son
bastante simples. Estático público Registro
objeto de tipo, evento de
sonido,
dowsing, subrayado, guión varilla encontrado bajo puntaje o va a ser
el nombre de las horas. Y para esto,
en realidad vamos a crear un método personalizado. Bueno, déjame hacer
esto por un segundo aquí. Y voy a
hacer un nuevo método de Registro estático privado. Objeto de tipo evento encontrado
registraría eventos de sonido. Y aquí sólo necesitamos
pasar un nombre de cadena. Y entonces lo que vamos a
hacer es que vamos a hacer una ubicación de recursos. ¿ Qué DNI? El nuevo recurso ubicación, MC curso MOT, mot ID y el nombre como el nombre del
parámetro aquí. Y luego vamos a devolver eventos de
sonido que se
registren con el nombre, y luego un proveedor
de un nuevo evento de sonido. Y aquí sólo tenemos que
pasarle la ubicación de recursos. Este es el
método de ayuda y esto
en realidad va a hacer
nuestras vidas mucho más fáciles. Aquí vamos a llamar a
este guión bajo dosificación. Guión bajo puntaje o el nombre aquí
va a ser muy relevante en tan solo un momento. Entonces este nombre aquí
en realidad va a ser el nombre de algo que nosotros, bueno, básicamente declaramos
en un archivo JSON separado. Por lo que ahora el sonido ha
sido registrado. Ahora, en primer lugar, necesitamos, por
supuesto, es algún
tipo de archivo de sonido. Ahora esto va en los activos en tu carpeta de curso MC
o tu ID básicamente. Pero necesitamos dos cosas. Número uno, necesitamos un nuevo
archivo llamado Sonidos datos JSON, sonidos
muy importantes dot JSON. Y se presenta así. Tenemos
corchetes rizados y luego
básicamente declaramos sonidos
diferentes. Entonces voy a copiar sobre la
declaración del sonido. Y lo que encontrarás es
que este nombre de
aquí es exactamente el
mismo que este nombre de aquí. Entonces esos dos tienen que igualar. Los subtítulos son básicamente lo que verás dentro de todo lo que declaras dentro de
tu oído y subrayamos archivo
JSON cuando
tienes subtítulos activados. Entonces esto es algo
que solo puedes agregar al archivo JSON de emRS
curios. También puedes llamar a esto
algo así como sonidos dot M, cuerpo
C, donde sea
algo como esto. No voy a agregar
la traducción aquí porque por el momento
no es tan relevante y
también es solo una cosa
que copias. No debería ser demasiado loco con lío con la
traducción por un tiempo. Ahora bien, esto debería ser
bastante sencillo. Y lo que es muy
interesante es que esto suena aquí, esta
es una lista, ¿verdad? Porque tenemos estos
corchetes sin embargo, este año apunta al subrayado
dowsing,
un guión bajo encontrado debajo de la
escuela o lo haremos ahora, ¿dónde se encuentra este archivo? Bueno, definitivamente bajo el espacio de nombres del curso
EMT, pero donde exactamente bien, en la carpeta del
curso de activos se ejecuta MC. Nuevamente, haga clic con el botón derecho en Nuevos
sonidos de acordes Y luego dentro de ahí necesitamos un archivo OGG con ese nombre. Entonces voy a copiar
esto por encima de ellos hace. Y es muy importante
que este nombre aquí coincida exactamente con este nombre. Es, tiene que ser un archivo OGG. Esto es muy importante
y tiene que estar bajo el sonido mono, el tipo de
sonido o el espacio sonoro. Tiene que ser un archivo OGG mono. De lo contrario podrías encontrarte con
algunos temas, muy importantes. Y no puedes simplemente
tomar un archivo MP3 y cambiar el nombre del final del mismo. Mp3 tiene que ser
convertido correctamente a un archivo OGG. Entonces eso es muy importante. Ahora todo lo que encontrarás es porque esta es una lista que en
teoría podrías tener múltiples
entradas aquí. Entonces puedes ver ahora
podría tener otro aquí
dentro y entonces
elegiría básicamente uno de esos. Entonces eso es muy importante. Nos vamos a quedar con
uno por el momento, pero existe la oportunidad básicamente aquí de
sumar varios. Ahora la pregunta es, ¿cómo llamamos realmente a esto o ventana? Vamos a llamar a esto, bueno,
vamos a llamar a esto, por
supuesto, en el elemento de varilla de
dowsing, básicamente cuando hayamos encontrado un valioso o aquí,
queremos jugar esto. ¿ Y cómo jugamos esto? Bueno, vamos a decir los
contextos punto a nivel de compuerta. Por lo que necesitamos el nivel
cuando digo tocar sonido. Y luego vamos
a conseguir al jugador, vamos a hacer clic
en la posición. Vamos a conseguir sonidos modernos. Esa varilla dowsing out o que consigue fuente de sonido
va a ser, digamos bloques, eso
va a estar bien. Y luego Volumen 1, f, y pitch uno también. Y esto es realmente lo
fácil que puede ser agregar un sonido o llamar a un sonido
rico. Solo necesitas el nivel
y luego reproducir sonido genial. Pero hay diferentes formas en
que puedes tocar sonidos. Creo que podría
haber visto esta tasa como si
tuviera un nivel, podría obtener nivel. Se puede ver que
puedo tocar sonido. Incluso puedo tocar sonido local, que luego
sería un sonido local. Por lo que recomiendo encarecidamente solo jugar un
poco
con esto y ver cuál de esas básicamente
funciona mejor. También puedes hacerlo en
el propio jugador. Por lo que también puedes hacer
sonido de reproductor. Puedes ver ahí
vas, sin embargo. Solo recomiendo encarecidamente
jugar un
poco
con esto y ver y cuál podría ser la mejor idea
para ti para este fin. Sí, pero esto es
en realidad todo lo
que necesitamos hacer para
agregar sonidos personalizados. Entonces, veamos si funciona. O hago granjas como microondas
y me aseguro de que tu volumen se encienda solo para que estés seguro de
que puedes oírlo. Y vamos a ver, ahí está. N Lo hemos escuchado. Anillo, anillo, anillo. Entonces todo
funcionando totalmente bien. Y ahora lo que
también puedes ver es cuando bajé los bloques porque lo
hemos hecho sonar bloques
de fuente. Y C Ahora
ya no lo podemos oír en cuanto vuelvo a dar vuelta las cuadras sobre su espalda. Pero eso en realidad es realmente genial. Déjame
bajar un poco el volumen otra vez. Y va a estar muy tranquilo. A lo mejor, para que sea tan silencioso que ni siquiera
puedes oírlo. Pero sí, en realidad eso es
lo fácil que puede ser
agregar sonidos personalizados a
Minecraft, ¿verdad? Eso es realmente
lo fácil que es y creo que realmente es
bastante sencillo. Ahora una cosa que
probablemente esté en tu mente, sí, pero quiero que mi bloque personalizado también
tenga sonidos personalizados. Bueno, por suerte, eso es
exactamente lo que vamos a ver en la próxima conferencia. Pero 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. Entonces, sí.
75. (intermedio) sondos personalizados para bloques: Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta conferencia
vamos a estar agregando un tipo de sonido personalizado. Minecraft. Ahora es tipo de sonido
básicamente incluye cinco sonidos diferentes y representa sonido para
un bloque en particular. Pero hay un sonido de ruptura es
sonido de paso, colocando sonido, un
sonido hit, y un sonido completo. Y vamos a sumar
los cinco de esos. Ahora, voy a copiar sobre
el registro básico. ¿ Definitivamente esto
no es tan interesante. En primer lugar,
eso es realmente gracioso que este no sea
el nombre correcto, pero eso es,
por supuesto totalmente bien. Van a registrar
eventos sonoros en este caso. Y se puede ver
que básicamente
tenemos lámpara cobalto rotura lámpara
cobalto paso, Vamos a golpear y caer. Entonces esos son los
eventos sonoros, los individuales, los necesitamos y eso también
será necesario es que
necesitamos un tipo de sonido forja personalizado. Entonces también voy a copiar
este otro y se puede
ver más o menos es
sólo los sonidos del cobol. Y esto es entonces igual
a una nueva
métrica tipo de sonido va a hacer sonidos de
cordero compañero de trabajo para
estudiarlo, Es un poco más claro a qué se refiere básicamente
esto. Y aquí dentro,
básicamente necesitamos
pasar en el modo
sonidos y
no necesitamos hacer conseguir porque el sonido forraje aquí
en realidad una vez un proveedor. Entonces esto va a
estar totalmente bien. Entonces básicamente queremos
usar esto en lugar
del tipo de sonido solo para
estar seguros porque esto es, tiene algo que ver
con la carga y básicamente registrar cosas. Ahora mismo esos
cinco eventos de Sonido, en realidad todavía tenemos que
registrar estos sonidos. Archivo Json aquí mismo. Ahora,
volveré a copiar esto, pero no se preocupe. Todo esto, por supuesto, está
disponible para ti en el repositorio de GitHub o en un
individuo igual de bien. Y puedes ver básicamente
tenemos el paso de ruptura de la lámpara cobalto, por favor golpea y cae, que básicamente una vez que obtienes
los subtítulos aquí y luego refieres a un archivo de
sonido en particular. Una vez más, tienen que ser OGG, esto es muy importante, y también tienen que ser mono. Esto es increíblemente
importante una vez más, lo contrario, podría haber
algunos problemas con los archivos. Y además no puedes simplemente cambiar el nombre un archivo MP3 a
básicamente un archivo OGG, tiene
que ser convertido correctamente. Así que asegúrate de que todas
esas cosas sean el caso. Y por supuesto, en
nuestro ejemplo aquí, puedes por supuesto
solo usar los que yo suministre, sin embargo. Vamos a copiar
los de aquí mismo. Se van, cinco de ellos. Y eso debería ser
más o menos Así que los sonidos
están registrados. Eso está todo bien, pero ¿cómo
agregamos ahora esto a un bloque? Bueno, como en realidad
bastante sencillo, pero en nuestro caso queremos
agregar esto a la lámpara aquí. Entonces solo vamos a agregar una nueva
propiedad de comportamiento de bloque y eso va a ser sonar el ego y ya
sugiere esto. Entonces esto va a ser mod
sonidos dot para lo que suena, y eso es todo. Todo lo que necesitamos hacer. Y ahora la lámpara de cobalto
debería tener todos
los sonidos asociados a
este tipo de sonido aquí mismo, que son los cinco de estos. Aunque, quiero decir, suena como muy anticlimático, pero
eso es más o menos. Entonces, veamos si funciona. O nos encontramos de vuelta en Minecraft y un ya aquí. Funciona totalmente bien. Entonces vamos a pisarlo. Eso es exactamente correcto.
Y vamos a romperlo. Eso es exactamente correcto. Ahora, lo único que
he encontrado y eso es
muy interesante es que el sonido cayendo por cualquier razón
no funciona del todo. O sí funcionó ahí. A ver. Ahora bien,
no funcionó del todo. No soy un 100 por ciento seguro. El sonido que cae,
Es a veces no parece querer funcionar. Honestamente no estoy un 100 por ciento seguro de por qué
ese podría ser el caso. Pero los grandes,
el sonido de ruptura, el sonido de colocación, esos son los grandes,
el sonido de golpeteo, creo que también puedo ir aquí y luego aquí se
puede escuchar
así como el sonido y colocar
sonido, cosas así. Ésas son realmente las grandes. Aunque. Eso es bastante guay, justo ahí ya lo estaría 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í.
76. (intermedio) Discos musicales personalizados: Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta conferencia
vamos a estar agregando un
disco musical personalizado a Minecraft. Entonces para concluir básicamente nuestra aventura en
los eventos sonoros, ahora también vamos a
agregar un disco musical personalizado. Ahora, esto es una vez más, más o menos sólo en evento de
sonido normal aquí mismo. Simplemente vamos a copiar esto y en realidad
voy a poner esto por encima de los
tipos de sonido reales por si acaso. A veces puede estar
un poco separado. Aquí va a
ser la pelea de bar, y luego el evento de sonido en
sí también se va a llamar rol de subrayado VAR. Ahí lo tienes. Y entonces por supuesto, se hace el evento
sonoro. Por supuesto que todavía tenemos que añadir esto a los sustantivos
punto-punto Jason. Por lo que una vez más,
copiaré esto más. Todo esto está disponible para
ti también, por supuesto. Y verás que solo
es Bárbara. Ah, este es sólo el mismo nombre
que le hemos dado aquí mismo. Y entonces esto apunta a
una pelea de bar bien, nombre, archivo
llamado en la
carpeta Sonidos aquí mismo, que tiene que ser ODD una vez más. Y esta vez es cada vez más
importante que sea mono porque de lo contrario se
escuchará en todo
el servidor. Esto es muy importante
y se puede ver también
tenemos esta corriente verdadera
aquí porque el, bueno, en primer lugar, la longitud
del archivo es cierta longitud. Y el número dos es por
supuesto un arroyo que debería tener sentido. Vamos a copiar esta pelea de
subrayado overbar en. Ahí. Te vas más o menos. Ahora para el disco real, ¿verdad? Tenemos que entrar en
nuestra clase más ítems y crear un nuevo elemento aquí, solo
tomemos la tableta de datos
y vamos a copiar esto. Y ese va a ser el récord de
subrayado de peleas
de VAR . Digamos ahora por el nombre real que voy a
llamar a esto deep are underscore pelea y música underscore disco solo apilando 21 está
realmente bien aquí, y este es un ítem discográfico. Ahora esto toma en un parámetro
entero como su primer parámetro. Y entonces el segundo
parámetro va a ser un modo suena barra de puntos, pelea. Se puede ver que el primer parámetro
entero es el valor del comparador. Básicamente, bueno, lo que sale cuando la fuerza de la señal sale cuando se
pone un comparador junto a la jukebox cuando se
pone este registro. Ahora este es un
ítem normal, sin
embargo, tiene una especialidad,
por así decirlo. Y eso va a ser, bueno, cuando se trata de la
traducción que necesitamos para la traducción
es una cosa siguiente. Y eso va
a ser exactamente esto. Entonces el disco musical Barbaro accede
al nombre del mismo, ¿verdad? Y entonces también necesitamos que
DESC así para su descripción. Y esto suele contener con lo que los artistas básicamente hicieron esto y luego el
nombre de la canción. También he incluido CC Zero para que básicamente signifique que esto
está bajo dominio público, por lo que eres libre de usar esto. Simplemente recomiendo encarecidamente
siempre acreditar al artista por esto porque eso es justo lo
correcto para hacer. Pero este también es un artículo normal, así que aún necesitamos un modelo de ítem y solo voy
a copiar esto de nuevo. Esto no es nada demasiado loco. Simplemente apunta a una textura normal
del artículo justo aquí, que por supuesto
también va a ser algo bastante
sencillo. Entonces, solo, vamos a
copiar esto también. Se van y eso es
más o menos todo lo que tenemos que hacer. Entonces eso es más o menos para
agregar el registro personalizado aquí. Entonces supongo que sólo
oigamos si funciona. Está bien, Nosotros granjas
como un microondas podemos ver la barra Brahms música, Esto se ha agregado, así que
vamos a ponerlo en la jukebox y ahí está. Y ahora que lo que es
muy importante es que cuando vuelo lejos, se
puede escuchar que se pone alambre y silencioso hasta que
ya no se pueda escuchar. Y si me acerco, se va a poner más fuerte otra vez. Entonces esto es perfecto. Y lo hace es más o menos
exactamente lo que queremos. Esta es una de las razones, o básicamente hay que
poder tener este archivo
OGG y mono. De lo contrario en realidad se
escuchará en todo el
servidor cuando
juegues esto para asegurarte de
que está en mortal, he cometido el mismo
error antes. Entonces básicamente, eso es
básicamente
lo fácil que es agregar un
disco musical personalizado, Minecraft, ¿verdad? Eso ya es para esta
conferencia aquí mismo. Espero que esto te haya parecido
útil en la orina. Entonces lo nuevo, si lo hizo nuestro muchísimo aprecio
una crítica de ustedes. De lo contrario, los
veo en la próxima conferencia. Entonces, sí.
77. (intermedio) modelos de bloques personalizados en Minecraft con BlockBench: Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta conferencia
vamos a estar agregando un
modelo de bloque 3D personalizado a Minecraft. Pero eso es algo bastante
emocionante, ¿verdad? Agregando un
bloque 3D personalizado, el Minecraft, básicamente eso
no es bloque entero, sino simplemente una
forma diferente básicamente. Y hay muchas partes
móviles a esto. Entonces, antes que nada, lo que vas a necesitar
es que vas a necesitar un programa llamado banco de bloques. Ahora, ya tengo esto
abierto y también ya tengo
preparado nuestro bloque personalizado aquí mismo. Y puedes ver que es, ya sabes, definitivamente
es personalizado como definitivamente
puedes
decir eso al respecto. Y la
idea general es que, bueno, vamos a exportar
esto como sólo una cuadra. Entonces lo que puedes hacer es básicamente cuando haces un nuevo archivo aquí, solo
puedes hacer un modelo de ítem de Java
blocks dash. Incluso puedes especificar
el tamaño de la textura, solo un nombre nuevo, y pueden hacer cosas con él. Ahora esto no va
a ser una conferencia sobre banco de bloques en sí. Si hay muchos
intereses para ello, podría agregar uno aquí también, pero por el momento, no
va a ser uno. Básicamente, podrías
simplemente agregar cubos aquí. Puedes moverlos, ¿verdad? Básicamente construyendo Minecraft. Bueno, solo que no en
Minecraft, por así decirlo. Simplemente puedes construir
algo a partir de bloques y luego
vamos a agregar eso como un bloque personalizado y vas a
ser lo vas a hacer sin embargo es
básicamente vamos a descartar esto. Ya no necesitamos eso. Esto de aquí, lo que vamos a hacer es
ir a File Export y luego Export
block sludge item model. Y esto nos llevará
a exportar básicamente esto. Vamos a salvar esto. Entonces ya tengo eso guardado, pero
eso va a estar bien. Y esto se va a
guardar en un archivo JSON. Ahora abriré este archivo JSON
aquí mismo en inteligente. Y puedes ver que se ve
un poco así. Entonces esto es mucha suavidad que
nos mueve un poco confuso. No estoy seguro de lo que esto significa. Bueno, los elementos aquí
que listan básicamente solo definen los objetos 3D que
están dentro de nuestro bloque. Y entonces aquí la
textura que es como más importante se define
básicamente aquí mismo. Ahora bien, sí necesitamos cambiar esto. Por lo general este es el caso, así que MC curso colon y luego voy
a poner realmente esto debajo de Máquinas slash
compró un blaster. Y entonces lo mismo va
para este de aquí. Y luego voy a API sobre la textura real también. Entonces déjenme hacer rápidamente la
textura primero y luego podemos hablar de lo que hace
este archivo JSON. Hacer un nuevo directorio
aquí llamado máquinas. Entonces dentro de ahí
vamos a tener el subrayado cobalto
blaster dot PNG que vas. Y luego a dónde va
este archivo JSON? Bueno, esto es sólo una normal. Bmi no es normal, pero es solo un archivo de modelo de
bloque. Eso es un modelo de bloque, Jason. Ellos hace. Y ahí lo tienes. Y eso es literalmente
todo lo que realmente necesitas para que funcione el modelo de
bloques personalizado. Ahora, hay algunas cosas
interesantes que
puedes definir aquí. Entonces, por ejemplo, tienes esta
pantalla y aquí puedes, por ejemplo, definir cómo
se ve esto en 3D? ¿ Cómo se vería si
un zombi lo sostiene en tercera persona y puedes hacer respiración en
primera persona, la persona de
Lester
justo en la cabeza, lo cual es un poco gracioso. Y luego hay en
el suelo, ya sabes, tal vez eso es demasiado grande o
que tal vez eso es demasiado pequeño para que puedas cambiar
todo eso también. Y esto es todo parte
del archivo JSON real que
estabas exportando aquí. Entonces puedes ver esto es exactamente aquí
mismo, esa pantalla, esto está todo definido, así que todo funciona
absolutamente genial. Ahora vamos a necesitar
un modelo de artículo también. Ahora esto por supuesto sólo se refiere nuevo al modelo de bloques aquí. Sólo vamos a
decir bláster cobalto, ahí mismo y
luego aquí también. O yeso que hace. Ahora esto en realidad todo
ya va a funcionar. Ahora, también necesitamos un
bloques personalizados Estados, Grayson. Ahora, una vez más,
sólo voy a elegir el bloque uno y
vamos a copiar esto de nuevo. Y esto sólo
va a apuntar
al archivo JSON que
acabamos de hacer que hemos
exportado aquí. Definitivamente vamos a
echar un vistazo a este en tan solo un momento otra vez, porque lo que definitivamente
tenemos que
cambiar tal vez una o
dos cosas ahí. Pero por el momento,
lo que vamos a hacer es hacer un nuevo bloque. Vamos a
registrar un nuevo bloque. Nos vamos a llevar aquí la
rosa rosa porque los otros tienen el registro de
bloques. Queremos por supuesto
hacer un artículo también. Entonces este va a ser el bláster de subrayado
cobalto. Entonces aquí también, Walt
subraya bláster. Esto es por el
momento va a ser un bloque normal porque podría
hacer esto
con un bloque normal no, o es lo que sea. Y esto no va
a copiar nada. Esto va a ser arriba. Y entonces digamos algo así
como material, metal. Y eso es en realidad por el momento, todo lo que necesitamos. Ahora veremos dos
limitaciones muy aparentes con esto. Básicamente vamos en juego, pero por el momento, esto
es más o menos lo que necesitamos. Ahora lo que también
necesitamos, sin embargo, es la capa de render real aquí. Entonces pongamos esto de
inmediato para el lanzador cobol que vas, y eso debería estar bien. Ahora, todavía vamos a ver un par de
limitaciones con esto. Pero entonces por suerte,
también vamos a ver
cómo arreglarlas. Entonces por primera vez en esta conferencia, Vamos a
ver si funciona. O me encuentro
en microRNAs se puede ver que se
ha agregado el lanzador cobol. No agregamos la traducción, pero eso es por supuesto
algo para arreglar fácilmente. Ahora si lo pongo abajo, se
puede ver que, bueno, primer lugar,
vamos a tener un problema con el transparente. Entonces eso es algo
que fácilmente podemos arreglar tu y entonces también te
darás cuenta de que estamos ante todo, lo
puse abajo, pero siempre
se ve en la misma dirección. Entonces eso es un poco molesto. Y entonces también las
fronteras aquí son, bueno, no del todo lo
que deberían ser. Ahora, definitivamente
no son lo que deberían ser. Entonces eso definitivamente es
algo a lo que echar un vistazo. Bueno, por suerte, podemos arreglar en realidad los tres
de esos temas. Entonces vamos a abordarlos uno por uno. El primero y más fácil
es por supuesto, porque el vero-through, bueno, sólo
necesitamos la
no oclusión justo aquí en las propiedades de bloque, propiedades de comportamiento de
bloque. Y si eso es
genial, entonces eso se va a arreglar de inmediato. Ahora a los otros dos. Bueno, para que la
rotación sea correcta, en realidad
vamos a necesitar que un cliente nos bloquee para esto. Por lo que vamos a hacer una clase de bloque
personalizada llamada el cobalto último bloque. Y esto va a extender la
clase de bloque normal en este momento. Solo vamos a crear
constructor que coincida con Super Si las propiedades aquí no, haces clic en él, Shift F6, y luego lo
cambias a propiedades. Y vamos a necesitar
una propiedad personalizada. Ahora esto no es necesariamente
una propiedad personalizada, va a ser una propiedad
de esto va a ser una propiedad de
dirección final estática pública o frente, que es igual a propiedades de
estado de bloque. Ese frente horizontal
como muy importante aquí. Y entonces
lo vamos a hacer es que
básicamente vamos a registrar
el predeterminado aquí. Por lo que este perplejo getState
definición punto, punto. Un valor de enfrentar va
a ser dirección que Norte. Entonces van, esta va a ser la dirección por defecto
que va a enfrentar. Y entonces queremos
tres métodos que en realidad
voy a cuatro métodos los
cuales voy a copiar. Aquí no hay nada demasiado loco. Entonces verá,
por supuesto, en primer lugar, el método de definición de estado de bloque
decretado, donde lo hemos visto
previamente, sólo
agregamos la
propiedad de phasing al constructor. Esto no debería ser
nada nuevo para ti. Ahora, esos tres definitivamente se
conocen y eso en realidad también se agregó la anulación a los
dos solo
para que los tengamos. A pesar de que, el buen estado para colocación básicamente sólo una vez más se asegura de que bien, la
colocación particular sea correcta. Y en este caso, en realidad
estamos queremos la colocación opuesta
de la forma en que estoy mirando. Yo estoy mirando hacia el norte. Yo quiero que la cuadra
esté frente a mí. Por lo que tiene que estar mirando hacia el sur. Entonces esa es la idea general
de lo que todo esto hace. Y entonces estos básicamente
simplemente giraron y espejaron para estar bien en
el frente correcto. Ahora que como en realidad
todo lo que necesitamos en esta clase justo aquí por
el momento al menos. Y en nuestra clase más bloques, asegúrate de que
ahora por supuesto creaste la nueva explosión de cobalto o bloque justo aquí y
ya no solo un bloque normal.
Eso es muy importante. Eso es a veces lo que la gente echa de menos cuando hacen
una nueva clase de bloque. Sabes que no funciona tan bien si no lo
has creado. Entonces eso es un hecho muy
importante. Por supuesto, también necesitamos
cambiar nuestros, nuestros Estados de bloque. Jason aquí y yo ya lo hemos
preparado. Ahora esto no es nada demasiado loco. Lo que esto básicamente sólo hace
es básicamente sólo dice, oye, si estamos enfrentando en
una dirección diferente, sólo
vamos a
rotarlo en el eje y 9080 o 270 grados. Pero esto es más o menos
todo lo que esto hace realmente, el modelo
seguirá siendo el mismo. Simplemente vamos a rotar todo
el bloque básicamente. Esto por supuesto, también
todo disponible para ti en el repositorio de GitHub o un
individuo igual de bien. Y esto debería haber
arreglado ahora el problema rotatorio. Y por supuesto también
el, ya sabes, básicamente el
tema de ver a través aunque, por segunda vez, esta
conferencia, veamos si funciona. Está bien, Así que en primer lugar, se
puede ver una vez más, el pozo real que se
ve a través se ha ido. Y luego si lo coloco
así, ahí tienes. Ahora me enfrenta, igual que esperaríamos. Entonces es sólo el
cuadro limitador que ahora es el tema. Y bueno, como la suerte lo tendría o supongo que como suerte no lo
tendría. Esto también es el, no necesariamente diría
lo más complejo, pero puede ponerse muy molesto. Pero vamos a ver, Sólo para
que no lo olvide, en realidad
voy a añadir la
traducción aquí en este momento, cobol 100 marcador blaster. Porque de lo contrario,
en realidad voy a olvidar esto. Entonces ahí tienes, cobol blaster, y eso debería estar bien. Ahora vamos a necesitar ajustar el
bloqueo de carretera de explosión de cobol una vez más. la clase que eres, pero lo que realmente
vamos a necesitar es que vamos a necesitar cosas
de banco de bloques una vez más. Entonces vamos a reabrir el punchier de bloques. Y lo que ves es que tengo todos mis cubos bajo el
grupo llamado formas de voxel. Ahora esto es muy importante. En realidad necesito esto bajo
el grupo de formas voxel. De lo contrario no
funcionará muy importante aquí. Lo siguiente, lo que
necesito es que necesito un plugin específico a un 100 plugins que puedes ir bajo disponibles y quieres
buscar más utils. Ahora, ya tengo
esto instalado. Se ve así de
JDK 22 y el clima. Ahora bien, esto es muy
importante porque
se puede ver explotando formas de voxel. Esto es exactamente lo
que quiero exportar aquí. Nosotros queremos ir a
la forma voxel. Quiero seleccionar esto para que todo
aquí esté seleccionado. Ve a Exportar archivos, y luego puedes ver
exportar forma voxel. Ahora quiero exportar
esto como un mapeo MOOC. Por lo que mappings oficiales
aquí en este caso. Y luego quiero decir que confirme. Ahora quiero llamar a esto el guión bajo forma de
voxel n. ahora podrías ser como,
Espera, ¿por qué es n? Bueno, vamos a
tener que exportar esto para cada
orientación diferente. Entonces vamos a tener que
rotar esto 90 grados. exportan de nuevo,
giran 90 grados, exportan de nuevo,
giran 90 grados, exportan de nuevo. Y
luego terminamos. Necesitamos cuatro
voxels diferentes, formas. Todavía tengo que encontrar una
mejor manera de hacer esto. Si encuentras una mejor manera de
hacer esto, por favor sí dímelo. De verdad quiero saber porque en este punto
se está volviendo muy bien, es muy molesto porque
vamos a tener que hacer esto varias veces. Pero te mostraré cómo el Firefox va
a ser un archivo Java. Y básicamente puedes, vas a tener este año. Ahora lo primero
que
harás es que básicamente
limpiarás esto. Entonces si tienes estos
ceros son usuarios o
simplemente redondearlos hacia arriba o redondearlos hacia abajo para básicamente
el entero más cercano. Este año es básicamente un punto cero y luego
seguido de 14 ceros. Y luego un tres está como bien, eso va a
ser un 0 por supuesto. Entonces básicamente queremos
limpiar esto para que se vea bonito y ordenado
que solo haya introducido aquí. Y entonces
básicamente podemos usarlo. Y lo que vamos a hacer
es dentro de la clase básicamente
van a
hacer una nueva estática privada. Forma voxel
final estático privado, hold shape underscore n, que es igual exactamente a
todo este jazz justo aquí. Vamos a copiar esto y
Control V para pegarlo. Voy a importar
la forma de voxel. Vamos a
importar el arroyo. Importar las formas voxel. En realidad esto sólo son formas. Ahí vas. Ahí hay formas. Y entonces el ojo
funciones booleanas también diferentes. Esto en realidad es el
booleano arriba que hace. Ahora esto va a funcionar.
Entonces los mappings reales probablemente no estén actualizados todavía, bastante para banco de bloques, pero eso está bien porque
esto es básicamente lo necesitamos aquí y
bueno, esto es genial, pero ahora solo
tenemos la forma para la dirección hacia el norte
porque por supuesto la forma sería diferente si bloqueaban se enfrentaba a
una dirección diferente. Pero tenemos que hacer es
básicamente tenemos que
seleccionar una vez más las formas de voxel. Muy importante es
que el punto de pivote donde puedes centrarlo, pero puedes ver que ahora
no está del todo centrado, como si estuviera centrado, pero entonces tiene estos
raros valores decimales. Asegúrese de que esto
es como establecido en un punto que es También enteros. Porque si no lo es, entonces te vas a
tropezar con algunos temas. Y lo que vamos a hacer es
que vamos a rotar esto 90 grados, justo de esta manera. Y ahora verás que eso en realidad no se alinea del todo. Ahora eso está bien. Lo que tienes que hacer
es usar estas flechas para moverlo. Y entonces
básicamente se puede recentrar. Ahora esto no va
a ser en C. Ahora, lo que pasó aquí es que
básicamente
entré accidentalmente al número y luego solo
va a
mover cada cubo. Esto es algo que es muy extraño y tiene que
ver con banco de bloques. Simplemente no estoy absolutamente seguro de que puedas ver si
uso las flechas, entonces va a estar bien
que básicamente las mueva
como grupo juntos. Si cambio los números ahí dentro y
en realidad los va a
mover de alguna manera de manera individual. Simplemente no estoy un 100 por ciento
seguro de por qué este es el caso. Esto es sólo la locura
con banco de bloques. Tristemente, realmente no hay ningún otro programa en este momento que esté familiarizado con eso, ya
sabes,
¿hace esto bastante bien? Entonces sólo vamos a
tener que atenernos a esto. Y entonces se puede ver, bueno, ahora
hemos girado esto y ahora la cuadra está orientada hacia el poniente. Por lo que ahora tenemos que
volver a exportar forma de voxel. Y entonces este es
el subrayado Vox W. Y esto es muy
importante, ¿verdad? Asegúrese de que lo exporta debajo de la alfombra, nombre
correcto, derecho. He visto a mucha gente. Es como si no funciona bien, si has confundido
Oriente con Occidente, puede pasar bajo el diamante es noreste, suroeste, ¿verdad? Así que asegúrese de que
siga eso a menos que en realidad sólo gire
de nuevo aquí. Y puedes ver que tenemos que
moverlo una vez más, asegurándonos de que aquí
usamos esas flechas. Y en realidad está en la dirección
diferente. Ahí vas. Y entonces esto sería Sur. Entonces esto es exportar un subrayado en
forma de voxel S. Y luego una vez más afortunadamente. Y entonces básicamente
ya terminamos aquí. Entonces de esta manera uno y luego de esta
manera, no, yo una vez más, accidentalmente hice clic
en el número real, asegúrate de que no lo hagas. Si lo haces, solo puedes
presionar Control Z para básicamente retroceder paso.
No se preocupe ahí. Y luego vamos
a exportar esto otra vez, exportar voxel forma caja o forma subrayado E Esta vez o este. Y luego sólo para tenerlo de vuelta, la
posición original justo aquí, 0, y entonces esto
va a ser 13. En realidad. Ahí vas. Voy a ahorrar esto una vez
más sólo para que tenga esto de vuelta en este puesto para que también esté disponible para ustedes. Y ahora tengo los cuatro archivos
Java también. Entonces, sólo vamos a
traerlos por aquí. Ahí vas. Entonces, una vez más,
saquemos ese tipo de imperfecciones de
ahí. Ya sabes, esos sólo
a veces suceden porque los errores de coma flotante, simplemente es lo que es. Pero esto no está tan mal. Es simplemente básicamente
simplemente eliminar todos
estos errores de redondeo de puntos de carga. Y entonces vamos
a estar totalmente bien. Entonces esto va
a ser un 0 otra vez. Déjame 14 aquí
y 13 justo aquí. Guarda esto, guarda esto, y luego vamos
a seguir con E. Pero lo que voy a hacer
es sólo voy a copiar esto o veces y voy a tener
ovejas E, S, forma w. Y luego de supuesto,
asegurándonos de que elegimos los correctos básicamente
para trabajar allá arriba. Entonces esto era E, es E y entonces sólo vamos
a cambiar esto por formas. Y luego estos dos
booleanos arriba hace un año. Y esto va a ser S, y esto va a ser S también. Eso es genial. Una vez más, esto son solo
formas y luego booleano arriba. Yo sólo voy a copiar esto
sobre un control C control V. Y luego por último pero no menos importante, la orientación oeste de forma de voxel. Una vez más, booleano
arriba, hace día booleano. Si estás planeando tener bloques con muchas formas
complejas de caminar a través o tal vez esto va a
ser un determinado a partir de él. Yo muy recomendable
no enloquecer con ello. Y si tienes como
demente como locas detalladas formas de voxel para no construirlas como completamente. Por lo general como esto es
sólo cuadras, ¿verdad? Esto es solo bloques normales. Si tuvieras algo
así de
repente y luego lo
rotas así, pero de repente esto ya no
es un bloque real. Yo soy como si no fuera
una cuadra recta. Si tienes muchos de esos
diferentes estados de bloque que siguieron perfectamente al
bloque, lo que puede pasar es que, bueno, básicamente puede bajarse del juego bastante significativamente
porque por supuesto, las formas voxel determinaron
básicamente la colisión con el
jugador y las entidades. Y eso en realidad requiere mucho
poder de procesamiento y esas cosas. Por lo que recomiendo encarecidamente
no ir con formas de voxel
locas de UW por si
acaso, ¿verdad? Entonces esto es sólo debería estar bien. Pero yo sólo quería básicamente
cautela en contra de esto. Y lo que realmente
voy a hacer básicamente entonces lo que vamos a
hacer aquí es que lo vamos a anular el método de buena
forma aquí mismo. Y en realidad voy a
copiar todos los contenidos. Esto no es nada demasiado loco. Es solo una
declaración de cambio que puedes ver que obtiene el valor de
la propiedad de enfrente. Y si es sur y
vamos a devolver la forma Sur, norte y vamos a devolver
la forma al norte de ellos, Suroeste,
Oeste, Este. Nada demasiado loco aquí debería
ser bastante autoexplicativo. Y eso es más o menos
todo lo que necesitamos hacer. Ahora ya has visto que esto
es bastante complicado. Como dije, si
tienes muchos blogs
diferentes con adultos
diferentes formas de voxels, bueno, simplemente es lo que es. Si en realidad sí tienes
una mejor manera de hacer esto, por favor sí dímelo
en las cosas de preguntas y respuestas, estoy muy abierta a tener una
posibilidad diferente de agregarlas. Ahora si
cambiáramos algo, sí, tendríamos que volver a exportar todas las formas
de voxel. Entonces lo es, puede ser un
poco tedioso, pero cualquiera que sea el caso, ahora por fin lo
hemos hecho. Entonces la última vez que esta conferencia, veamos si funciona
o si, por ejemplo, vuelta en Minecraft y
vamos a sentarlo y hace las
formas voxel funcionan perfectamente. Vamos a ver,
debería funcionar perfectamente en cada dirección diferente
que vayan también es una de las cosas importantes
por las que
definitivamente debes eliminar
las imperfecciones porque de
lo contrario lo simplemente estar apagado por sólo el
poquito más pequeño, más pequeño. Y eso es realmente molesto. Y también en realidad probablemente va a
ser como mejor si
es un entero, pesar de
que creo que sí se convierte de nuevo a un flotador de
todos modos, pero, ya sabes, es solo, hace los cálculos generales
un poco más rápido. Pero sí, así es
más o menos como puedes agregar un modelo 3D personalizado Minecraft. Una cosa más que solo
voy a quitar aquí es el padre justo aquí porque
en realidad no tenemos un azul, no necesitamos a esos
padres realmente aunque. Sólo vamos a quitar eso. Ellos lo son. Entonces eso
debería estar bien también. Pero por lo demás, esto es
más o menos cómo se puede agregar. En general. Es, bueno, puede
ser muy complejo, sobre todo si tienes
esas formas de voxel locas, pero por lo demás, es algo bastante
sencillo. Todas las cosas consideradas,
dependiendo cuántos modelos de bloques
3D personalizados diferentes que desee. Pero ahora estás equipado con los conocimientos para básicamente,
vamos a sumar esos. Entonces espero que esto te resulte útil y aprendas
algo nuevo. Y te veré en la
próxima conferencia, sin embargo. Sí.
78. (Intermedio) Modelos de elementos personalizados con BlockBench: Muy bien, bienvenido de nuevo
al curso de fragua para 118. Y en esta conferencia
vamos a estar agregando un modelo de ítem personalizado, Minecraft. La última vez hemos visto
un modelo de bloque personalizado. Ahora está en el modelo de artículo. Entonces, en primer lugar,
vamos a crear
aquí un nuevo elemento y una copia sobre la tableta de
datos una vez más. Y este va a ser el personal de subrayado de
cobalto. Y luego para el nombre por
supuesto también, personal de subrayado
cobalto. Y este va a ser artículo
normal en este caso. Y luego las pilas a uno en realidad
va a estar totalmente bien en este caso. Y
agreguemos inmediatamente la traducción. De lo contrario, lo volveré a
olvidar. Entonces esto por supuesto,
ahora queremos morir. Y luego todo el personal justo aquí. Y una vez más abrimos banca de
look aquí mismo para
ver al personal de
cobalto realmente genial aquí mismo. Y puedes ver acabo de
preparar esto ya con algunos extras viejos de vainilla así
como una textura personalizada también. Y recomiendo encarecidamente ir a exhibir aquí mismo para ver básicamente cómo se va a ver dentro
de la mano del jugador. Tercera persona derecha,
tercera persona izquierda. Tenemos a la primera persona, primera persona izquierda, sin cabeza. Eso realmente no
tiene sentido en absoluto cómo se ve en el suelo, realidad realmente así. Y entonces el marco también
es realmente genial en la interfaz de usuario. También muy agradable. Entonces definitivamente puedes
cambiar esto y hacer,
¿ gustaría cualquier
pantalla que quisieras? Recomiendo encarecidamente
jugar con esto. Y una vez que estés contento
con tu artículo personalizado, básicamente
vas al bloque
File Export. Cualquiera de los modelos
lo exportará como un archivo JSON. Y después de sustituir porque ya
tengo uno. Y luego vamos a
copiar ese archivo. Y luego vamos a
copiar ese archivo en
la carpeta de ítems de modelos
justo aquí para ambos empleados. Y hay algunas cosas
que tenemos que hacer. Por lo que se puede ver que
las texturas aquí vienen sin espacios de nombres,
por lo que necesitamos agregar esto. Así Minecraft todo y bloquear latigazos. Y luego haz lo mismo por
aquí, aquí y aquí. Entonces podemos simplemente poner lo mismo ahí para el bloque cobol, pero esto tiene que ser, por supuesto, caballo
MC, eso es
muy importante aquí. De lo contrario, eso es todo. Si tienes todas las texturas
relevantes aquí, prácticamente
es
exactamente lo que necesitas. Solo necesitas esto como
modelo de artículo y no necesitas ningún otro modelo de artículo
para ello en absoluto. Entonces eso es lo que quiero decir, eso ya es más
o menos. Es nosotros quiero decir,
supongo que solo veamos si
funciona sobre las finanzas de
nuevo en Minecraft, como puedes ver, el
personal frío se ha agregado
al juego y se ve
frecuente, increíble. Entonces básicamente puedes
cambiarlo por aquí. Y se ve muy bien en
primera persona y en tercera persona. Me gusta especialmente
la cola de oro, básicamente como todo el bloque que está ahí en forma diminuta. No lo sé. Me gusta mucho
el aspecto que tiene, así que sí, eso es más o menos
lo fácil que es agregar un modelo de artículo personalizado
a Minecraft, ¿verdad? Una vez más, la confección
del modelo por supuesto es, pues ¿qué es difícil? Solo tienes que jugar con block venture poco. Te acostumbrarás a
esto bastante bien rápido. Siento que este es un programa muy fácil de
conseguir una espera y sí, goma que
ya sería para esta conferencia aquí mismo. Espero que esto te resulte útil y hayas aprendido
algo nuevo. Te veré en la
próxima conferencia. Entonces, sí.
79. (intermedio) Arcos personalizados: O volveré al curso de
forraje por 118. En esta conferencia,
vamos a estar agregando un Botha Minecraft personalizado. Por lo que un cliente era en realidad
bastante sencillo. Entrémonos a nuestra clase de
más artículos y solo
copiemos sobre
el personal de cobalto. Y este va a ser
el viejo arco de subrayado. Y luego lo mismo aquí
y el nombre arco cobalto. Y entonces este
va a ser un elemento 0. Ahora las pilas desservidas 2, 1, 0 van a hacer es realmente
vamos a sentar la durabilidad a,
digamos 500. Va a haber
un poquito
mejor que el arco normal. Y para el cliente, en realidad
necesitamos volver a configurar las propiedades del artículo
personalizado. Entonces en nuestra clase de propiedades de ítem, Vamos a hacer una llamada nula estática
privada, hacer todo el método que
toma en un elemento, parámetro de
elemento justo aquí. Así que vamos a trabajar la clase de ítem
también y asegurarnos de que elegimos neto Minecraft
world item, item. Y luego vamos al botón
medio del ratón haga clic en la
clase de propiedades del ítem justo aquí. Básicamente vas
y vamos a elegir básicamente estos dos,
bueno llama al registro, al arco y
al registro con
el bot básicamente cuando
un Cabibbo para ellos. Por lo tanto, seleccione y presione el control C para copiar el control V para pegar. Y solo necesitamos ítem propiedades dot add delante
del registro aquí. Y luego vamos a
cambiar los artículos que se
inclinan al artículo que
es el parámetro aquí. Entonces aquí, ahí vas. Y ahora básicamente podemos
hacer tantos como queramos. Simplemente llamamos hacer arco con más artículos para qué
tazón que se pone. Y luego si tienes
múltiples pelotas, solo
llamas a esto
varias veces. Y entonces lo harán, vamos a añadir las propiedades específicas
del elemento todo y tirando a este artículo. Y para eso básicamente
necesitamos unos modelos de ítem específicos, bueno, específicos. Primero que nada
en la traducción aquí mismo, sólo para
que la tengamos. Bueno, subrayado arco y arco
cobalto aquí también. Y luego cuando se trata de
los modelos de ítem, nuestra copia esos sobre todo aquí
por supuesto está disponible para ti en el repositorio de GitHub o
un individuo igual de bien. Se puede ver que en realidad
necesitamos cuatro de ellos. Entonces el tazón de cobalto, ya
hemos visto esto antes
con propiedades del ítem son este el modelo por defecto
que toma, ¿verdad? Entonces es solo esta textura
real aquí. Y luego si anula
básicamente si tirando como uno. Entonces si estamos jalando actualmente, entonces estamos empezando
a conseguir este modelo. Entonces tirando de 0, entonces si el poste
está alrededor del 65 por ciento hecho, entonces cambiaremos
a tirar de uno. Y si se
hace 90 por ciento y
vamos a cambiar a dispuestos a. Y sí, esa es, quiero decir, esa es más o menos
la idea general. Algo interesante aquí es
que en la votación de uno, el padre en realidad va
a ser el propio bot de cobalto. Por lo que puedes ver McQs artículo
cobalto bot es el padre. Y luego sólo apunta a
unas texturas diferentes otra vez. Pero eso es realmente
todo lo que hay a ello. Nada demasiado loco. Por lo que ahora también podemos agregar
las texturas aquí. Eso van a ser
cuatro de ellos también. Ellos atrás, y eso es en realidad todo lo que realmente necesitamos hacer. El gran cosa es una vez más, la adición real de
las propiedades del elemento. Ahora porque ya hemos visto
esto con la tableta de datos, esto no debería ser demasiado loco o demasiado confuso
para ustedes esperemos. Y eso es más o menos
todo lo que realmente necesitamos hacer para agregar un rol personalizado. Ah, veamos si funciona. O fronesis espalda
y microlensing. Ver el bot se ha agregado
con éxito al juego. Y como puedes ver,
si lo disparo, entonces la textura cambia también para que todo
funcione perfectamente, correcto, En realidad eso es
lo fácil que puede ser agregar un
tablero personalizado a Minecraft. Y esto ya lo es 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í.
80. (intermedio): Muy bien, bienvenido
de nuevo el cuarto curso para 118. Y en esta conferencia,
vamos a estar agregando comandos personalizados
a Minecraft. Escribe comandos personalizados, o algo muy interesante de hecho. Ahora empezaremos
a, a medida que avancemos. Entonces esta es una de las
conferencias donde empezamos a copiar sobre el código. Aunque una vez más, todo
en el código está disponible en el repositorio de GitHub y
un individuo igual de bien. Entonces no te preocupes ahí, deberías poder
encontrar eso. No se preocupe. Por lo que en nuestro paquete del curso MC, haga clic derecho en nuevo paquete
llamado el comando. Y luego vamos
a crear de inmediato otro llamado evento. Y vamos a echar
un vistazo al evento uno en tan solo un momento. En primer lugar, vamos a
echar un vistazo al Comando 1, y vamos a
copiar más de dos clases. En realidad voy a copiar sobre las clases en su totalidad. Entonces este es el comando home set
y el comando de regreso a casa, y voy a explicar. Por lo que comando básicamente se
crea con este despachador. Entonces estamos haciendo
despachador de punto registrador y luego tenemos algunos literales de
Comandante. ¿ Qué significa esto home set, qué estamos haciendo aquí
y luego ejecuta? Bueno, esto significa que
básicamente lo que necesitamos poner en la consola
es slash home set. Después se ejecuta el comando. Entonces este es el
comando real, 0 entonces establecido. Esa es la idea general. Si echamos un
vistazo a Homer churn, podemos ver su casa luego regresar. Por lo que para casa, set, dijo
su hogar, su
regreso a casa es turno Homero. Esto no debería ser demasiado loco. Esto debería ser bastante
sencillo. En efecto, construir tus
propios comandos personalizados es algo muy complejo. Entonces yo diría que
esto es algo donde si tienes algo muy particular que quieres hacer con tu mando, vas a tener que
juzgar y error
mucho a través de esto. Lo que recomiendo encarecidamente esta clase de
comandos aquí mismo, botón del ratón
medio haga clic en
esto y verás todos los comandos de vainilla que
están disponibles para ti. Entonces este es el mejor
recurso realmente, para ver cuáles son los tipos
de comandos que hay. Y recomiendo
encarecidamente echarle un vistazo a esos. Y te lo diré de antemano, van a ser
realmente complicados, ¿verdad? Incluso algo así como
el comando kill, ese es probablemente uno de los
más fáciles de echar un vistazo. Pero entonces si te metes en algo
como el comando glúteo, quiero decir, mira esto, ¿verdad? Al igual que esto, se trata de tantas
cosas que hay aquí. Y es tan complicado que
puedes ver incluso aquí, ¿no? Esto es por cierto, el registro
real del despachador de mando. Entonces puedes ver,
entonces es como botín de
slash y luego
está bien, ¿qué haces? Tener herramienta de pescado puede
tener como de alguien, hay tantas cosas
diferentes pesar de que requiere aquí. Entonces puedes preguntar, Hey, esta es la persona que está
tratando de discriminar, tener el nivel adecuado de
permiso, no y así sucesivamente. Muy recomendable. Echa un
vistazo a esto con mayor detalle. Si tienes algo que particularmente
quieres. En nuestro caso, sólo vamos a
hacer es vamos a guardar algunos datos en los
datos persistentes del jugador aquí. Básicamente, cuando estamos configurando la posición de casa, sólo
estamos diciendo, Hey, esto puso las tres coordenadas x, y, y z en un área
dentro de los datos persistentes. El dato es sólo una
etiqueta compuesta aquí en el jugador. Y solo voy a poner
esto bajo MC curso MOD composite. Eso es más
o menos. Y luego vamos a mandar
un éxito con set home en una posición particular en la
que acabamos de fijarlo. Cuando se trata del comando de
regreso a casa es un poco más complicado, pero no realmente demasiado. Tenemos un tiene home
pause Boolean, que básicamente solo dice, hey es la longitud de esta matriz
getInt aquí, no 0. Porque si es
0, entonces lo sabemos, vale, aún no tenemos
una posición. No es 0, entonces lo sabemos, vale, tenemos una posición de casa que básicamente
se está estableciendo. Y luego nos limitamos a
teletransportar al jugador a esa posición aquí mismo. Y básicamente diciendo:
Hey jugador, regresa a casa. Y aquí estamos enviando un fracaso sin posición de casa se
ha establecido. Y eso es más o menos todo lo
que realmente necesitamos
hacer aquí para los dos comandos. Se puede ver que
básicamente estoy llamando a este comando aquí mismo
con la fuente de Git. Se necesita en una pila de
fuente de comandos. Y lo que es muy importante
es que arroja una excepción de sintaxis de comando, porque se puede ver get
player o exception. Entonces eso es algo
importante aquí, ¿verdad? Entonces esto es básicamente todo lo que necesitamos en cuanto a los comandos. Ahora lo que vamos a
necesitar es una clase de eventos. Entonces vamos a hacer clic derecho
en el paquete de eventos que hemos creado eventos mod. Y en realidad
hablaremos de eventos un poco más de detalle
en una conferencia posterior. Pero los eventos son básicamente
algo que realmente
podrías crear
todo un curso alrededor. Eso es como diez
horas de duración también. Pero no vamos a
entrar en demasiados detalles. Simplemente vamos a decir
arriba de la clase add mod, asegurándonos de que
éste esté seleccionado. Y luego vamos a
eliminar los paréntesis, ese suscriptor de bus de eventos. Y luego queremos poner entre
paréntesis con una ID MOD, que es por supuesto
MC curso MOD. Y entonces queríamos a los métodos. Voy a copiar los dos más, pero también voy a
explicar, por supuesto, fue muy importante es que
sobre ellos tienen que ser públicos,
estáticos, nulos, escribir el nombre en realidad no
es lo que importa. Lo que importa es el
parámetro aquí. Entonces este es el evento de
comandos de registro y este es el evento de jugador que clon tiene que ser vacío estático
público, y tienen que tener la
anotación en evento de suscripción. Esto es muy importante. No olvides esto, de
lo contrario no funcionará. Es muy importante. El propio método de registro de
comandos, será bastante
autoexplicativo. Tu proyección de un
nuevo en casa
sale y un nuevo comando de regreso a
casa, luego simplemente
registrarlo en este evento. Este evento es, por cierto, también utilizado en el manejador
interno de fragua. Entonces esto debería ser
justo aquí donde básicamente
se están estableciendo los comandos forrajeros. Se puede ver que este es
el comando forraje con todo el montón de cosas. Por lo que podemos ver que
básicamente lo hace el TPS, la entidad de pista genera. Dimensiones y el comando
mode list. Esos son algunos comandos que son particulares para forjar
en ese caso. Y también puedes ver
el
evento de comandos de registro aquí mismo es
muy interesante. Entonces, en primer lugar,
dice que el evento es despedido en el autobús de eventos de
forja de Minecraft. Entonces voy a explicar muy brevemente qué
demonios está pasando. Bueno, tenemos diferentes eventos. Si realmente hago clic en este evento y luego presiono Control H, puedes ver estos son
todos los eventos que están disponibles
para nosotros en Forge. E incluso podemos expandir esto y luego
vamos a tener aún más porque hay eventos
que derivan de eventos, que derivan de eventos
y así sucesivamente y así sucesivamente. Por lo que puedes ver
esto son muchos eventos. Este, lo que digo
como probablemente podrías hacer un curso de diez horas con todos
los eventos mismos. No vamos a hacer eso. Como dije, esto era sólo, ya
sabes, para tenerlo en cuenta. Y la idea es que algunos eventos son despedidos por Minecraft fragua, algunos eventos son
despedidos por bus de eventos. Vamos a mantenerlo en
eso por el momento. Ahí no pasa nada demasiado
loco. Vamos a ver
un ejemplo de esto en una conferencia posterior también. Por lo pronto,
sólo vamos a decir, vale, los eventos bastante locos, pero también bastante cool pueden
ser muy interesantes. Ahora, ¿cuál es el
segundo evento aquí? Bueno, básicamente cuando
un personaje muere, lo que queremos es
poner los datos persistentes
del jugador que
acaba de morir y copiarlo al
nuevo jugador básicamente. Entonces esto es sólo para asegurarse de
que, bueno, después de la muerte, los datos se queden ahí
y se mantenga persistente. Esa es la idea general aquí. Pero por lo demás eso es más
o menos todo lo que estamos haciendo en esta clase de eventos de
modo. Ahora no necesitamos
llamarlo a ningún lado con esto agregar más suscriptor de
bus de eventos aquí. Esto básicamente ya se ha llamado un todo método que tiene en evento de suscripción arriba básicamente
se mete, luego se enfría también. Tan curiosamente, eso
es en realidad todo lo que
realmente necesitamos para agregar el
comando, como dije, todo el código está
disponible para ti en
un repositorio de GitHub y un
individuo igual de bien. Muy recomendable
echarle un vistazo. Recomiendo encarecidamente solo
jugar con él, estar abierto a la experimentación. Y por el bien de finalización, vamos a recibirlo funciona. Está bien,
nos encuentra de vuelta en Minecraft, así que empecemos a
escribir slash en casa. Y ahí tienes. Ya lo estamos
haciendo sugerir. Tratemos de regresar a casa en primer lugar, lo cual no
debería funcionar, ¿verdad? No se ha
establecido ninguna posición de domicilio. Eso está totalmente bien. Ahora sentémonos en casa. Establecido en posición establecida
en esta ubicación. A ver, sólo para asegurarnos, sí, eso suena
bien, eso es bastante bueno. Ahora vamos a
otro sitio aquí. Y a menos que digamos, Ohm, regrese, hemos
regresado a casa. Eso es realmente bueno. Ahora acabemos de
caer desde una altura alta. A ver. Esto
me va a matar y luego voy
a responder y luego
voy a decir, volver también funciona totalmente bien. Y entonces también
salgamos de este
mundo, salvemos y renunciemos. Y luego
reingresemos al mundo. Y luego veamos
si esto sigue funcionando. Y debería,
por supuesto, porque lo que lo hemos guardado en
los datos persistentes y el compuesto y los BTE para las entidades
básicamente se guardan en esto. Entonces, solo volemos una vez más y luego digamos regreso a casa. Y por supuesto todavía funciona. Por lo que todos los casos
básicamente están hechos y
todo funciona aquí. Esto es bastante guay. Eso es casi lo fácil
que puede ser agregar un comando. Una vez más, si tienes algo muy
particular en mente, solo
tendrás que
jugar con esto. Yo solo ayudaré en circunstancias
limitadas. Entonces si tú, por ejemplo, dices Hey, quiero mandar eso hace
XYZ y sólo cosas locas. Probablemente no solo haga
todo el mando por usted. Simplemente tendrás que probar un montón de cosas,
jugar con él. Y estoy seguro de que puedes
conseguir que el comando funcione si realmente
trabajas en ello, ¿verdad? Pero eso 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í.
81. (intermedio) lácticas para Spawning: Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta conferencia
vamos a echar un
vistazo a cómo se pueden generar partículas personalizadas
en el mundo. Entonces en particular,
vamos a echar un
vistazo a esto para el bloque rápido, o básicamente vamos a
agregar un método en particular. Y eso se llama el método de
tick animado aquí mismo. Y entonces realmente
voy a copiar sobre el contenido de esto. Esto va a ser bastante autoexplicativo en
tan solo un momento sin embargo, básicamente
tenemos una oportunidad. Y luego vamos a
decir, Hey, sólo queremos el flotador aleatorio cada vez. Y hay
ideas generales que tenemos. Tenemos tiempos de oportunidad para engendrar partículas y cada
vez que
en realidad debería ser del 65 por ciento aquí. Entonces porque básicamente estamos
comprobando si el
menor que el siguiente flotador y un flotador va
a estar entre 01. Entonces esa es la idea general. Y así es básicamente como puedes engendrar
una partícula, ¿verdad? Entonces necesitas un nivel
y esto necesita estar en el cliente esta vez
eso es muy importante. Y este método enemigo a tic sólo
se llama al cliente. Entonces eso es perfecto para nosotros. Y solo decimos agregar partícula, el tipo de partícula que
queremos agregar, la posición, derecha, x, y, y z, y luego la velocidad
en dirección x, la velocidad en dirección y, y la velocidad en
la z dirección. Y cuando los tipos de partículas, puedes ver que hay
un montón
de cosas aquí que
básicamente puedes desovar. En este caso, sólo
vamos a tomar el humo. En realidad se ve un poco cool y va a funcionar
totalmente bien para nosotros. Y puedes ver también tengo la velocidad del viento básicamente
tengo, ya sabes, un poco de
aleatoriedad ahí
también para que se vea un poco desigual y es realmente genial en realidad se va a ver
realmente jodidamente impresionante. Y sí, en realidad eso es más
o menos lo fácil que es. Por lo que solo necesitas un nivel y necesitas
estar en el cliente. Ahora, una vez más, esto no es para partículas
personalizadas en
y por sí mismas. Esto es
justo ahora como
en realidad puedes generar
partículas particulares en algún lugar, en todas partes donde
tengas acceso a una
variable de nivel y básicamente comprueba
que estás en el cliente, deberías poder para engendrar
las partículas también. Entonces esto es
más o menos lo fácil que es. Entonces por el bien de finalización,
veamos si funciona. De acuerdo, fantaseamos
en Minecraft, así que vamos a
bajar el bloque SPD y ahí tienes. El humo ya está
subiendo de él. Entonces todo está funcionando
totalmente bien. Se puede ver. Y por supuesto esto es
algo que puedes ajustar. Se puede ajustar la velocidad
que surge en ajuste parejo donde se engendra en
relación al bloque. En todo eso es básicamente
sólo capaz de ser cambiado. Y
por supuesto también se puede cambiar el tipo de las partículas. Pero eso es bastante
cool sin embargo. Está bien, y esto ya
es para esta breve 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í.
82. (intermedio) Advancements personalizados: O volveré al curso de
forraje por 118. Y en esta conferencia
vamos a estar agregando avances
personalizados
a Minecraft. Por lo que agregar avances
ocurre únicamente en archivos JSON. Por lo que esto en la carpeta de datos, en la carpeta del curso MC. Y sólo voy a copiar sobre mis 20 avances que ya se
han preparado aquí. Y te mostraré un gran
recurso que puedes usar para básicamente leer bien tus propios
avances con bastante facilidad. Y se puede ver así
tenemos dos de ellos, MC curso Jason y
una varilla de dowsing JSON. Ahora, lo primero que
notarás es que hay una pantalla. Este es sólo el ítem o mientras bloquea en este bloque
en algún caso, eso es básicamente ser, siendo mostrado como el
ícono de este avance. Ahora pues tienes un título, descripción
todo debería tener sentido. Se puede elegir el marco si se
muestra o no en un brindis. Entonces esto es si muestra
o no en la esquina superior derecha de la pantalla si un
análisis es para chatear. Y entonces éste en particular
tiene un fondo que es muy peculiar
porque en realidad apunta a texturas de núcleos MC,
loc, 0,
subrayado de bola Block PNG, pero a toda la estructura de
carpetas like aquí. Y la razón
es porque éste no tiene padre. Y si fueras avance
no tiene un padre, entonces básicamente crea una nueva pestaña en la ventana de
avance. Esto es muy importante si
cambias al
modo de dowsing primero, segundo, puedes ver que el padre
aquí es núcleos
MC, núcleos MC, y no
tiene antecedentes. Entonces eso es muy peculiar, fueron muy interesantes
en este caso. Entonces la idea es que esto, si eliges un fondo,
si no tienes un padre, entonces necesitas un fondo
porque ese va a ser el fondo de
tu pestaña básicamente, entonces el criterio es
realmente cosa interesante. Ahora no vamos a crear ningún criterio personalizado porque
eso es mucho más complicado. Simplemente vamos a usar
el cambio de inventario. Entonces básicamente, en cuanto tenga al
menos una
Inglaterra cobalto en mi inventario, este avance me
será dado. Y luego para la varilla de
dowsing, básicamente, solo
necesito una varilla de dowsing y entonces también tendré
este avance. Eso es más o menos todo lo que realmente
hay a ello. Entonces por el bien de la finalización, solo
veamos si funciona. O nos encuentra de vuelta
y Minecraft. Entonces vamos a ver si me
consigo un lingote de cobol. Van MC curso mod. Y también puedo ver el
poder yace en los cobaltos. Eso es bastante guay. Y ahora también debería poder
encontrar esto aquí mismo. Podemos ver MC curso
mod como el avance. Entonces el nombre de tu avance aquí siempre va a ser el primer avance que
tienes básicamente sin
aparente en C, también
tenemos el fondo como cobalto bloquea tu y entonces se puede ver la
segunda, varilla de dowsing. Si no funciona, no le gustas a la
varilla. Bueno, eso es por
lo menos lo que me han dicho. Y si solo consigo esto
y puedes ver también estoy consiguiendo el
avance de la varilla de dowsing ahí mismo. Entonces eso es bastante guay. Todas las cosas consideradas. Y eso en realidad es
lo fácil que es añadirlos básicamente. Bueno a Minecraft ahora mismo, como mencioné, una vez más, un gran recurso aquí es
Miss viejo GitHub IO una vez más para el avance de generador,
muy recomendable. Básicamente puedes
echar un vistazo a todos los requisitos
que existen. Podemos verle una vez más,
aquí están las condiciones. Entonces básicamente podemos cambiar
esto por cosas diferentes. Digamos, por ejemplo, que una vez más
hemos cambiado en
el inventario. Y entonces básicamente puedes agregarle diferentes condiciones. Se pueden ver ranuras de jugador, artículos. Hay un montón de
cosas que puedes agregar. Recomendamos encarecidamente
jugar con esto o echar un vistazo a ya sea el
avance de la vainilla. También posibilidad de ir en GitHub y buscar avance desde
diferentes modos. Eso también funciona totalmente bien. Pero hay muchas opciones
para que básicamente compres, pero eso ya es todo para
esta conferencia aquí mismo. Espero que te haya parecido
útil esto y seguro de nuevo de los archivos JSON están
por supuesto disponibles en
el repositorio de GitHub o un individuo solo, bueno, y te veré en
la próxima conferencia. Entonces, sí.
83. (intermedio) Pinturas personalizadas: Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta conferencia
vamos a estar agregando pinturas personalizadas
a Minecraft. Para agregar motivos de
pintura personalizados es en realidad un proceso bastante
sencillo. En primer lugar, en el paquete del curso
MC, haga clic derecho en nuevo paquete
llamado pintura. Y dentro de ahí
vamos a crear una nueva clase llamada la clase de pinturas
modernas. Ahora la clase más pinturas
tendrá, en primer lugar, un registro público estático, final
diferido de tipo, motivo o pintura
subrayan motivos, cual va a ser igual
a registro diferido que crea o agregar registros, que los tipos de pintura son mi modelo de curso MC,
ese modelo ID. Y una vez más, ya
sea 80 tercer registro, también
hay un método público de registro de vacío
estático con un ojo
Event Bus, Event Bus ácidos perímetro, y luego pintar motivos que registran pasando
en el autobús de eventos. El método de registro
es cuando está frío, estás por debajo del modelo
suena así que más pinturas registran y luego pasan en el autobús de eventos justo
ahí. Eso es genial. Y ahora sólo necesitamos
registrar las pinturas. Y eso
se va a hacer haciendo público estático
objeto final Registro de tipo motivo. Esto se va a
llamar planta, y esto es igual a
motivos de pintura, registro oscuro. Se va a planear el nombre. Y el segundo parámetro es
un proveedor de nuevo motivo. Y los parámetros
van a ser 16. 16, y voy a
explicar cuáles son esos. Por lo que los parámetros del motivo, puedo hacer clic en
el botón central del ratón y se puede ver este es el ancho
y esta es la altura. Entonces el primer parámetro
es el ancho, el segundo es la altura. Esto se da en
píxeles básicamente, pero así es lo grande
que es tu pintura. Y sólo por el bien de la finalización, en realidad
vamos a
hacer tres pinturas aquí. También vamos a
tener al vagabundo, va a ser la maravilla. Y ésta
va a ser puesta de sol. Ese es probablemente mi
favorito por cierto, pero lo vamos a ver en
tan solo un momento. Cada puesta de sol que hace. Y esto también es puesta de sol. Y esta es la fila de una es de 32 de alto y la
sensible es de 32 de ancho. Ahora la pregunta es, bueno,
¿dónde están las pinturas se suponía que debían estar inscritas
en nuestro paquete de cursos MC, inserto de la carpeta de texturas. Sólo vamos a tener una
nueva carpeta llamada pintura. Y en realidad voy
a copiar esto porque los contenidos ya
están ahí dentro. Esa es la planta,
la puesta de sol y la maravilla
Son todos esos disponibles. No obstante, voy a querer
que dirijan atención a los créditos porque las pinturas también se
hacen por platino G7. Tan solo asegúrate de que si
vas a usar los de
un repositorio público o lo que sea en el
Curtis aquí
también y sigue la licencia eso es básicamente
todo lo que hay para ello. De lo contrario,
básicamente eres libre de usarlos. Y esto es en realidad
todo lo que necesitamos hacer, siempre y cuando los nombres de aquí mismo coincidan con los nombres de
la pintura real. Fotos aquí mismo, las imágenes. Eso es todo lo que
hay a ello. Entonces supongo que vamos
a ver si funciona. O un farmacéutico en Minecraft. Entonces, sentémonos
en el cuadro y veamos,
oh, ahí estamos. Esto es puesta de sol. Me
gusta mucho esto y es, creo la maravilla. Y vamos a ver si nos
podemos planear también. Está bien, ahí vamos. las tres pinturas
que hemos agregado. Y sí, eso es básicamente todo. Básicamente agregas las pinturas a la
rotación de pintura aquí mismo. Entonces esa es la idea
general, ¿verdad? De hecho, eso es lo
fácil que es agregar pinturas
personalizadas a Minecraft. Y esto ya es 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) Modificadores de botín global: Muy bien, Bienvenidos al curso de
fragua para 118. Y en esta conferencia, vamos a estar echando un
vistazo a los modificadores globales de Luder. La primera pregunta
que podría surgir es
¿cuáles son nuestros modificadores globales de botín? Bueno, son una forma
para que cambiemos, perdamos tablas de, por ejemplo, tablas de Lu de
vainilla, le
agregamos cosas, o incluso en teoría, le
restamos cosas. Para que pudieras llevarte un poco
y agregar cosas. Recomiendo encarecidamente no entrar demasiado profundo con
restar cosas. ¿ Esto podría romper
el modo en compatibilidad. Es posible que tu modelo no juegue
bien con otros mods, y eso por lo general no es
algo que te gustaría. Ahora lo que vamos a hacer
es en nuestro paquete de eventos, vamos a hacer clic derecho en
nuevo paquete llamado glute. Y en lugar de ahí, todos
nuestros modificadores de pozo irán. Esas son básicamente clases. Ahora los
copiaré y te
explicaré a medida que
pasemos por las clases. Por lo que este es el número uno
es la varilla de dowsing en modificador de adición de
iglú y las semillas de nabo de modificador de adición de
pasto. Ahora por suerte, las
clases deberían ser casi autoexplicativas
de lo que están haciendo. Pero básicamente vamos
a añadir una varilla de dowsing en el pecho de estructura
iglú y una semilla de nabo dentro
de la hierba. Cuando rompemos latón,
tenemos una oportunidad en este caso, realidad
tenemos una probabilidad del 100
por ciento de agregar los asientos de nabo al
laúd que se está cayendo. Pero lo que es todo este
calvario primero que nada, ambos se ven muy parecidos. Por lo que la única diferencia aquí está actualmente en el método
do apply. Entonces para nuestros propósitos, sólo
vamos a echar
un vistazo al giro de asientos desde modificador de
edición de hierba. Y bueno, sólo voy a
explicar rápidamente la idea general. Vemos que la clase se extiende desde la clase modificadora lútea. Vamos a entrar en ella con el botón
central del ratón haciendo clic. O también puedes presionar Control, click izquierdo sobre él para
básicamente entrar ahí. Y básicamente
puedes ver que aquí tenemos una cosa en particular
que es el método do apply, que es básicamente
el importante. Por suerte, también tenemos
algunos buenos comentarios aquí. Podemos ver aplica el modificador
al botín generado. Y luego básicamente
puedes agregarle cosas. Entonces esto es realmente genial. Por lo que el laúd generado es
solo una lista de impuestos por artículos, esto es lo que caería
si no harías nada, y luego devuelves las gotas de botín
modificadas. Entonces esto es lo
realmente genial, pero por eso si
volvemos aquí, se
puede ver en el método
do apply,
pero agrego puede ver en el método
do apply, una nueva
pila de elementos de mi edición. Entonces este es el ítem
que quiero agregar a esta lista y luego devolver
la lista con mi ítem agregado, y luego mi ítem
acaba de agregarse a esa lista de botín que
literalmente está a punto de caer. Entonces esto es realmente
genial, ¿verdad? Si acabamos de hacer esto, entonces no cambiaríamos nada y no se añadiría
carga adicional. Si hiciéramos esto. No obstante, correcto, entonces se agregaría mi
adición. Ahora lo que también podríamos hacer, y recomiendo encarecidamente
no hacer esto, un genuinamente significan esto. Después léelo, laúd. Y entonces sólo podemos despejar toda
la lista de cosas
que estamos a punto ser agregadas y simplemente
soltar nuestro propio botín. Muy recomendable no hacer esto, sobre todo no exagerar esto. Porque una vez más,
podrías romper tu compatibilidad con
tu MOD y otros modos. Si se basan en bloques específicos, dejando caer cosas específicas, entonces podrías solo arruinar tu oportunidad de que tu
mamá se meta alguna vez en un particular más Peck
solo estará al tanto de esto.
Ten eso en cuenta. Déjame tener una clase de
serializador aquí, que es básicamente
una cosa loca. Serializador modificador de botín global. Bueno, sólo tenemos un método de
lectura y escritura, que básicamente la idea
general
es que lee cosas de un archivo JSON. Y se puede ver
lo que básicamente hace
es que obtiene el valor
del registro de ítems. Entonces básicamente estamos pasando por nuestros artículos de registro de testamento
y vamos a decir como, vale, tenemos un, algo en el archivo JSON se
define bajo la adición. Eso lo vamos a ver en un momento. Vamos a
decir, vale, dame esto y luego dame
el valor de esto. Entonces básicamente solo consigue el
elemento que se asocia con la adición que hemos
definido en el archivo JSON. Y entonces sólo
vamos a hacer una nueva modificación
adicional aquí mismo. Y lo estamos devolviendo
para el método de lectura. Y el método de escritura es
exactamente lo contrario, básicamente solo haciendo
el archivo JSON real. Ahora esto no se hace realmente, pero aún tenemos que hacer esto. Entonces sólo ten eso en cuenta. Y eso es básicamente todo lo que
los modificadores adicionales, esto casi siempre debería ser bastante boilerplate
en y por sí mismo. Es decir, si tienes
20 adiciones, bueno, y vas a tener
20 artículos diferentes aquí. Y probablemente
vas a pasar 20 artículos diferentes al
constructor, cosas así. Pero eso es solo conocimiento
normal de Java que no debería estar demasiado loco. Todas las cosas consideradas. Ahora cuando tengas esto,
entonces también
necesitarás otra clase en
el paquete de eventos. Así que haga clic derecho en nueva clase
Java llamada los eventos de bus de eventos
mod. Y dentro de ahí, en
primer lugar, voy a
renombrar esto por más eventos de bus de eventos. Ahí vas. Y luego ahí dentro, primero que nada, vamos
a necesitar está en la parte superior, vamos a necesitar
esta cosa exacta. Necesitamos una vez más
el anuncio model.py suscriptor de
bus de eventos con la melodía del curso
Armada DMC. Y entonces ahora necesitamos especificar
el bus para que sea el multi-bus, muy importante la última
vez con los comandos, hemos visto que, bueno, o por defecto, este es
básicamente el bus forraje. Ahora este es el modo
bus entrará en los eventos con un
poco más de detalle en una conferencia posterior. Pero por el momento, sólo
voy a copiar sobre el
método básico que necesitamos. Y ese es el método de serializadores
modificadores de registro. El nombre del método
realmente no importa. Es solo importante
que sea estático, público y tenga una anotación de
evento de suscripción aquí arriba. Y entonces básicamente
el evento aquí es el evento de registro que ADD registra
modificadores globales de botín, serializadores. Y aquí solo decimos, Hey, solo registra todos
nuestros serializadores. Y puedes ver que registramos el serializador configurando
el nombre del registro. Y este nombre
aquí mismo será entonces el nombre del archivo adyacente que básicamente lee. Ahora, ¿a dónde van nuestros archivos JSON? Necesitamos uno para cada uno de los diferentes modificadores
que tenemos. Y entonces también
necesitamos uno para forraje, básicamente esa forja sabe, bien, ¿qué modificadores tenemos realidad en
nuestra carpeta de datos? Forja, haga clic en nuevo directorio llamado modificadores de
guión bajo glúteo. Y entonces realmente voy
a copiar el archivo JSON. A esto se le llama subrayado
Global, modificadores de
subrayado y
adyacente muy importante. Esto tiene que ser
escrito correctamente. Y entonces aquí dentro tenemos que
definir todas nuestras entradas. Pero puedes ver
núcleos MC término semillas de hierba y luego MC curso
dowsing rod e iglú, que también es los mismos nombres que está aquí con nuestro mod ID. Entonces esas son básicamente
las entradas ahí. Y luego en nuestra carpeta de datos, carpeta curso
MC, nuevo directorio llamado botín de
subrayado modificadores. Y voy a copiar de nuevo
los dos archivos JSON. Todos estos están disponibles
para ti, por supuesto, en el repositorio de GitHub en
un individuo igual de bien. puede ver que tienen el nombre exactamente como hemos definido aquí. Esto sería un adyacente, el extremo adyacente básicamente. Y se puede ver que
hay algunas condiciones. Ahora, en general, los archivos
modificadores del laúd son ambos, son interesantes
en sí mismos, ¿verdad? Por lo que hay que definir aquí una condición
particular. Pero en este caso tenemos un ID de tabla de
botín y diremos que
el ID de tabla Lu es cofres de Minecraft,
cofre de águila. Por lo que básicamente el cofre de iglú está
cargando actualmente, por así decirlo. Entonces estamos llamando al modificador de pecho
iglú. Y entonces estamos haciendo
el método do apply, mismo ancho por ejemplo, del quemador
procede del pasto justo aquí. Entonces si los pastos se rompen, puede ver que este es
un padecimiento diferente, block say property, y
entonces solo estamos revisando, hey, si
es o no, esto es un agarre. Ok. Y ahora si un
bloque de pasto está básicamente roto, entonces llamamos al método
do apply. Justo antes de dejar caer
el lascivo generado, le
agregamos nuestra alusión personalizada, nuestra adición que se
lee desde aquí mismo. Y luego regresamos
eso con básicamente, mientras que esta cosa que es
realmente genial es que puedes ver también
puedo usar la getrandom de
punto de contexto para
básicamente asegurarme de que, ya
sabes, algo
no siempre caer. Esto. En este caso, esto
básicamente sólo se suma 95% del tiempo, el 5% del tiempo. En realidad no se agrega. Entonces esto también es
algo bastante cool, pero también
cosas Java muy básicas, básico, ¿verdad? Y eso es en realidad todo lo
que realmente necesitas. A veces los,
siento que los, en general, los modificadores globales
son un poco torpes, yo diría
que no son que haya mucha rareza. Ya sabes, tienes
que definirlos aquí y tendrás que
definirlos aquí. Y tienes un definido aquí y tienes que
dividirlos aquí. Al igual que hay muchas
cosas que tienes que hacer. No lo sé. Es a veces
es un poco raro, pero en general, estoy seguro de
que se las arreglará. También voy a enlazar en los
recursos va a ser los modificadores de bucle global o
la forja Docs justo aquí. Entonces básicamente, aquí hay un
poquito de resumen también, que en el que básicamente puedes echar otro vistazo a
cómo podrían funcionar esos. Puede ser útil
a veces, ya sabes, lo
haré, simplemente lo vincularé
básicamente también, o fantasías en Minecraft. Entonces vamos a ver si
rompo la hierba aquí, siempre
se debe
dejar caer una semilla de nabo. Y ahí estamos. Básicamente, tenemos una probabilidad del 100
por ciento de agregar una semilla de nabo a la tabla de botín
real. Y sólo por el bien de la finalización, también
echemos un
vistazo al Águila. Muy bien, aquí dentro
podemos ver que también hay una varilla de dowsing en ajedrez
legal. Eso es bastante guay, ¿verdad? Una cosa más que
es muy importante. También tenemos que añadir un tipo en
los archivos JSON justo aquí, donde nos da una adición
en 118. De lo contrario no funcionará. Esto es simplemente
el su espacio de nombres, por lo que su ID MOD, y luego el nombre del archivo
real también. Entonces no debería haber
nada loco aquí mismo, cierto, eso ya será 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í.
85. (intermedio) Fluids personalizados: Muy bien, Bienvenidos al
cuarto curso para 118. Y en esta conferencia
vamos a estar echando un vistazo a los fluidos personalizados. Para fluidos personalizados tenemos una restricción mayor o digamos limitación
que hay. Y eso va a ser
básicamente que la física
del fluido que vas a hacer va
a ser la misma física que el agua. Y entonces también no sólo eso, sino también sólo vas
a tener los mismos artículos agua en básicamente cuando te
sumerjas y cosas así. Pero esa es una limitación
que actualmente está bien, no es fácil ir por ahí. Así que ten cuidado con esto. Y también copiaré
sobre la mayor parte del código. Una vez más, todo
está disponible para ti en el repositorio de GitHub o en un
individuo igual de bien. Pasaremos sin embargo y explicaremos luego el paquete del curso
MC, haga clic derecho en nuevo paquete
llamado fluido de lo que son. Copiaré sobre la clase de
fluidos de modo en su totalidad. Deberíamos conseguir una flecha de una
aquí mismo en los más artículos, aún
necesitamos hacer un,
un artículo de cubo de miel. Pero en hacer eso muy fácilmente. Entonces en la clase más artículos ahora, sólo voy a copiar
sobre el tazón,
el balde de subrayado de miel. Y esto es por supuesto
un en el bajo, en el cubo de subrayado. Y entonces este es un artículo de cubo. Y el primer parámetro
siendo modelado fluidos que un fluido IV. Ahí vas. Y eso es básicamente
entonces lo que necesitamos. De hecho agreguemos inmediatamente la traducción y
cosas así, sólo para que la tengamos, que no la olvidemos. Entonces un balde de subrayado de miel y el cubo que hace y
luego un modelo de artículo, porque por supuesto esto
sigue en artículo normal aunque. Eso no cambia nada. Entonces cubeta de miel, van solo
apunta a una textura normal. Y entonces sólo vamos
a añadir la textura
también, el ego. Entonces eso es bastante bonito. Entonces ahora volvamos a echar un
vistazo a los fluidos. En lo primero que tenemos es tres ubicación de recursos. Entonces esa es la ubicación del
recurso de agua, el flujo y la superposición. ¿ Por qué estamos usando esos? ¿ Verdad? ¿ Por qué estamos usando las ubicaciones de
agua o recursos de Manila? Bueno, porque son grises y básicamente podemos colorearlos. Entonces tenemos este color de punto
aquí mismo en las propiedades, y esto básicamente
nos permite colorear nuestro fluido. Entonces por eso estamos usando
esos porque
ya están grises y se
ven totalmente bien. Tener un registro diferente
así como un método de registro. Como se puede ver, que este método de registro
por supuesto tiene que ser llamado. Llamemos a esto también. Por lo que va a
haber el modo fluidos dot registrarse con el bus de
eventos justo aquí. Esto es algo
que ya hemos visto varias veces ahora. Y luego tenemos dos fluidos
diferentes. Uno de ellos es un
fluido que fluye esa fuente, y el otro es un fluido que fluye
forjado. Ese fluido fluyendo. Esto es increíblemente importante. He visto esto varias
veces que la gente acaba de copiarlo
y se olvidó de cambiar esto. Ten en cuenta que uno
de ellos tiene que ser fuente y uno de ellos
tiene que estar fluyendo. Muy importante. Entonces necesitamos un cuarto
fluido propiedades. Estas son básicamente las
propiedades sin embargo, cómo se está mostrando esto
y cosas así. Verán muchas de
las superposiciones amarillas aquí y dice, oye, podemos reemplazar esto
por esto aquí mismo. Y luego incluso dice que un, incluso
podemos hacer esto más fácil simplemente llamándolo así. No hagas esto. Tenemos que utilizar a los
proveedores correctamente aquí. De lo contrario, no se va a
cargar en el orden adecuado. Entonces sí tenemos que
usar a los proveedores. Esto es muy importante. La mayoría de las cosas,
densidad, luminosidad, viscosidad, Esos son Bueno, sólo forjar valores que son realmente
no hacen nada. Pendiente, definir distancia
y disminución de nivel. Esos sí, sin embargo, hacen algo. Pero recomiendo encarecidamente
simplemente
jugar con los
números una vez más, cuando se trata del color. Es muy extraño porque
en lugar de ir como
esperarías que un
valor hexadecimal vaya en RGBA. En realidad es un RGB, así que ese es el color básicamente. Pero esto debería ser
bastante sencillo. Simplemente encuentra un recolector de color en línea y luego básicamente puedes
definir el color aquí mismo. También necesitamos un
bloque líquido aquí mismo. Entonces yo bloque de miel, es decir, bueno, un bloque en particular. En este caso, podemos ver que se trata un nuevo bloque líquido y pasamos
en el fluido ahí mismo. Pero esa es la idea
general aquí. Nada demasiado loco. A veces pienso que los
fluidos y la forja son Will. Podría ser un
poco más fácil porque hay una cosa más
que necesitamos agregar. En realidad esto un par de
cosas que necesitamos agregar. Entonces en nuestra clase mod curso MC, en el método de configuración del cliente, realidad queríamos establecer
la capa de renderizado aquí, y eso va a ser
para el modelo fluidos papá, y luego básicamente el bloque. Y eso va a ser
translúcido. En realidad. Nosotros queremos hacer lo
mismo por lo lúcido y por la miel que fluye, entonces
básicamente vamos a hacer esto transparente para que
podamos ver a través de él. Y esto básicamente
nos permite usar el
valor Alpha aquí mismo. Entonces piénsalo así. Y entonces también
necesitamos añadir una etiqueta. Y esta etiqueta es cifrar
creditiblemente importante saber que en realidad
actúa como un fluido. Por lo que en la carpeta de
datos de Minecraft, etiquetas, haga clic con el botón derecho en nuevo
directorio llamado fluidos. Y dentro de ahí un nuevo
archivo llamado Water dot JSON. Y ahora los contenidos
van a quedar así. Vamos a tener
el líquido de subrayado de miel y
fluyendo ahí dentro. Esos son los nombres
del mundo, ya sea la fuente o el
que fluye. Eso es muy importante. Y entonces
básicamente deberíamos estar hechos. Y luego tienes tu fluido
personalizado agregado a Minecraft y se va
a registrar correctamente. Entonces sí, eso es
casi todo lo que necesitamos. Entonces vamos a ver por obras o si me pidieron de vuelta
y micro Tennessee, el cubo de miel se ha agregado al juego y
vamos a ponerlo abajo. Ahí estamos, la miel también
está ahí dentro. Y ahora se puede ver que las partículas son partículas
normales de agua. Y cuando entro en ello, se puede ver que el tipo
de superposición también es azul esto son solo dos de esas limitaciones
que mencioné. Es justo como va a ser. A veces esa es justamente la
forma en que se desmorona la galleta. Pero aún así, sin embargo, se ha
agregado fluido
personalizado a los microbios. Entonces eso es bastante
guay y 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í.
86. (intermedio): Muy bien, bienvenido de nuevo
al curso de forraje por 118. En esta conferencia,
vamos a estar haciendo una mirada tentativa a eventos que ya hemos visto eventos en conferencias anteriores. Contamos con los
eventos de bus de eventos modo, y también tenemos la clase de eventos de
motor. Entonces si dos clases, hemos visto el evento de
comandos de registro, el evento de clon de jugadores, así
como el evento de
registro para los serializadores
modificadores globales aludidos. Y yo sólo quería dar un breve espectáculo de lo que esto
en realidad es como eventos. Entonces, en primer lugar, si
no tenemos evento o
también puedes cambiar dos veces y
simplemente poner en evento aquí. Y luego incluir artículos
no producto. Y entonces podemos tomar
este aquí mismo de microformas
net evento fue EPI. Y puedo hacer lo siguiente. Puedo dar click en esto
y presionar Control H. Y ya te he
mostrado estos, pero lo volveremos a mostrar. Pero podemos expandir todo, y estos son todos
los eventos que forjan
anuncios en los que
básicamente podemos engancharnos y luego hacer cosas cuando
este evento se dispara. Aquí hay cosas realmente
geniales. El primero que
quiero mencionar es que no debes decir, quiero usar este
evento para hacer esto. No es así como funciona. Lo que debes hacer
es decir, quiero que pase x. Yo quiero poder tomar
otro descanso y se dirigió n entidad oculta con ella
y debería prender fuego. De acuerdo, Entonces piénsalo. Bueno, puedo cambiar cosas en la clase de artículo
para el ladrillo inferior. Ahora realmente eso está un poco
codificado, ¿verdad? Tienes que cambiar
el código fuente de Minecraft, realmente
no funciona. ¿ Hay algún evento para
ello? No lo sé. Al igual que hay como
un evento de daños, todo
evento de daños vivos. Mira eso. Eso podría ser útil. Se puede, se puede hacer doble
clic en esto y luego suele tener una muy buena
descripción para los eventos. Podemos ver evento de
daños vivos se despide justo antes de que Daños
se apliquen a entidad. Por lo que este evento se
despide cada vez. Justo antes de una entidad, una entidad de mano viva está lastimada. Esta es la cosa, ¿verdad? Este evento se despide
siempre que una entidad se daña en la entidad viviente realmente duele o termina en
capa realmente lastimada. Aunque
sugiero encarecidamente echar un
vistazo a los eventos que están
en la jerarquía de clases justo aquí es que en
realidad es simplemente increíblemente útil solo estar familiarizado
con algunos de esos eventos, sobre todo cuando se
llega a las entidades. Hay tantos
de ellos que puedes ver eventos de Entidad y
solo pueden abrirlos eventos vivos
y luego mirar esto. Ahí hay eventos de jugadores. Hay tantos eventos de
jugadores diferentes en los que
puedes engancharte y
hacer cosas con él. Es bastante loco. Bueno, hay una cosa
interesante y esa es la clasificación de autobuses del pozo. Entonces si hago el botón del medio del ratón
click en este autobús de aquí mismo, se
puede ver que hay un
bus de forja y hay un autobús MOD. Ahora bien, lo esencial general es esto. Hay algunos eventos
que son despedidos por Forge, en algunos eventos que
son despedidos por un mod. Esta es la idea general en la
que hay que pensar. No complices esto en exceso. Sí, hay por supuesto,
mucho más en ello. Se puede ver que ya hemos
visto esto antes, donde tenemos, ya lo hemos
visto antes. Bueno, esto es exactamente
justo aquí, ¿verdad? Se puede ver que este es
el bus de eventos MOD, pero esta es exactamente
la idea, ¿no? Tienes el Bus de Eventos de Mode
y el bus de eventos de forja. Y cuanto más bus de eventos en
este caso, por ejemplo, siempre
se utiliza para los
diferentes registros aquí. Y se puede ver aquí cuando
hacemos microforms dot event bus, este es entonces el
otro bus de eventos. Entonces éste es el
para los eventos de fragua. No me
preocuparía demasiado por esto. En general, por lo general se puede ver de
qué son los eventos. Cuando usted, por ejemplo,
diga el registro, registro eventos, si yo botón
medio del ratón, haga clic en esto y luego vaya al registro
cuando por ejemplo, puede ver esto ahora implementa
el modo IE Bus Event. Por lo que puedo presionar
Control H en esto y realidad
puedo ver todos los
eventos que son de ahí. Entonces esto debería ser
básicamente todos ellos. En teoría, podría haber un par más, pero
no lo creo. Creo que siempre
tienen que implementar esto. Entonces eso es más o menos
todo lo que hay a ello. Por lo general deberías poder
contar y lo que vamos sólo
por el bien de la discusión, lo que realmente voy a copiar es un método esto es por supuesto todo disponible para ti y ese es el conjunto entidad en llamas cuando se golpea. Y eso va a ser
dentro de otro descanso. Pero solo quería
mostrarte aquí en un ejemplo, puedes ver que estamos eligiendo
el evento de daños vivos. Y este evento tiene un
par de suaves, ¿verdad? Ya hemos visto esto. Bueno, tenemos la
fuente dañada y también tenemos, por ejemplo, tenemos la cantidad y también la entidad viviente. Entonces básicamente todos los que
estamos consiguiendo aquí, y esto es bastante genial porque básicamente
podemos conseguir
la fuente de daño. Podemos decir, Hey, sólo dame la
fuente directa, es decir, el jugador. Y entonces también podemos decir conseguir la entidad
viviente que fue atropellada. Y entonces solo estamos
prendiendo fuego a esto. Pero esto es realmente genial. Por lo que esto significa que podemos agregar funcionalidad
adicional a, por ejemplo, artículos de vainilla. Ahora una vez más, no exageres. No seas, no te vuelvas loco
Cu2, ¿verdad? Ser como un bien. Entonces cuando golpee algo
con otra estrella, el mundo entero
va a explotar. O sea, sería
bastante guay honestamente, pero simplemente no trates de calzador en eventos donde no encajan. Por ejemplo, si
estás diciendo, oh, entonces podría reemplazar esto
por mi artículo personalizado. Y yo dije: Sí, claro,
como si todavía lo pudieras decir. Se pueden ver artículos mod. Por ejemplo, dowsing, rod dot get. Y eso también funcionará. Ahora si golpeo algo
con una barra de dowsing, bien, prendería fuego
algo. Pero entonces yo también estaría como, ¿Por qué
querrías hacer esto? No tienes que hacer esto
en tus artículos personalizados. Tienes acceso
al código fuente. Podría meterme en
la barra de dowsing, ¿verdad? A anular un método aquí. Ahí está el
método enemigo herido por ejemplo. Y yo podría
hacerlo justo aquí, igual que hemos visto con
el tipo de levitación, ¿no? Entonces con la
espada de levitación, si se hace, hemos anulado el tercer método
enemigo y
añadido un efecto. O en teoría también podrías
hacer esto aquí mismo, ¿verdad? Yo sólo podría decir, Hey,
tomemos el, ya sabes, si esto es un artículo de clasificación de
levitación, entonces bam,
vamos, incendiémoslo
o hagamos levitar a la
entidad viviente que fue golpeada. Por supuesto que puedo hacer esto, pero si tienes acceso
al código fuente, no
hay razón por la que lo
harías en un evento. Espero que fuera una especie de introducción
general a los acontecimientos. Los eventos pueden ser casi imposibles de dominar porque
hay tantos de ellos. Y sólo tendrás que ver si por tu
cosa particular que quieres hacer, hay un evento
y si lo hay,
genial, pruébalo. Abierto a la experimentación. Puedo simplemente casi lo que
voy a decir para el
resto del curso, porque es muy importante sólo
probar un montón de cosas. Siempre tienes control Z. Esto es lo genial
de la programación. Siempre puedes volver atrás
y decir: ¿Sabes qué? No, esto no fue una buena idea o, oh Dios mío, esta
funcionalidad es increíble. No esperaba que esto pasara. Entonces eso es realmente genial. Pero sólo por el bien de la finalización, en realidad
estamos viendo, bueno, ¿realmente funciona esto?
A ver si lo hace. O si soy dice un Minecraft, así que tengo otro
descanso y vamos a ver si golpeo a
una entidad con ella. Ahí vas. Se
prenden fuego y aquí se
están restando ladrillos unos a otros. Entonces eso es insanely
cool. Como se puede ver. Simplemente funciona. Y
es, ya sabes, eso es lo genial e interesante los eventos personalizados de pared o engancharse a eventos
básicamente pueden ser correctos, y eso ya sería 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í.
87. (intermedio) actualizar las formas de formaciones de Forge: Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta breve conferencia
vamos a actualizar fragua así
como actualizar
los mappings. lo que en el transcurso de
algún tiempo, ya sabes, saldrán
nuevas versiones forjadas. Por lo que se puede ver aquí mismo
en la página de descargas, tenemos 39 y 0.8
en este punto, y estamos usando,
creo, 39.05. Pero vamos a revisar
esto en tan solo un momento, pero podemos actualizarlo a la
última versión aquí mismo. Y entonces lo mismo va
para el pergamino. En realidad tenemos una
versión terminada en este punto, que es 20, 21, 12, y 19. Entonces eso es realmente genial. Lo que podemos hacer es básicamente que
podemos navegar al
archivo build.gradle aquí mismo. Y se puede ver que estamos usando 0.5. Por lo que ahora sólo podemos poner un 0.8. No tenemos que
descargar nada. De nuevo, básicamente se
va a hacer por nosotros de forma automática. Y entonces podemos cambiar
esto por ser el 2021, 12, y 19, y luego
la versión C aquí, y luego 180, uno por supuesto. Y luego para nuestra
versión, quiero decir, en este punto estamos
bastante lejos enol, así que eso es todo esto como
0.1.5, Eso está bien. Y entonces vamos a guardar esto. Y entonces solo podemos golpear la carga que
cambia Gradle aquí mismo, y luego solo dejaremos que
esto pase por mí. Apenas tardaron tres segundos, pero eso es por
supuesto porque ya lo hice y todas
las cosas ya
descargadas antes. Entonces para ti, probablemente
tomará alrededor de un minuto o dos balbuceando eso y entonces todo debería
estar bien actualizar, actualizado y debería estar bien. Aquí no debe haber errores. Lo que podría pasar es que
si
inicias el juego, una vez más
obtendrás muchas flechas o más bien un montón de
advertencias diciendo como, Oye,
esto no funciona, esto no funciona, pero nada de preocupaciones. Vamos a seguir
adelante con esto para que veas que todo está funcionando siempre
y cuando no te estés poniendo bien, quiero decir, construir falló o
mientras no estés consiguiendo microondas no funcione
en absoluto, debería estar bien. Y se puede ver
aquí mismo, por ejemplo, que el microbio
ya está empezando. Y entonces deberíamos estar bien. Aquí estamos. Ahí vamos con
micrófono 3908, todo funcionando
en Gran Bretaña. Eso es en realidad todo
lo que quería mostrarles para esta conferencia aquí mismo. Te recomiendo encarecidamente cuando
tengas disponible una nueva versión. Es decir, si estás
viendo esto en el futuro, por supuesto que lo estás, entonces básicamente
esta versión
aquí mismo probablemente no va a
ser la más actualizada. Y entonces esta versión para Forge definitivamente no va a
ser la más actualizada. Es por ello que he enlazado las páginas para pergamino y las páginas para la
descarga una vez más, solo para que
básicamente puedas llevar las que estén donde las versiones reales que
vas a necesitar, dondequiera que fuera eso para
esta conferencia aquí mismo, espero que hayan encontrado esto útil y aprendido algo nuevo. Te veré en
la próxima conferencia. Entonces, sí.
88. (Avanzado) entidad en bloque personalizado: Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta conferencia
vamos a estar echando un vistazo a una
cuadra. Entidades. Para las entidades de bloque en
general son bloques que tienen una
funcionalidad particular asociada a ella. Tan datos extra por así decirlo. Y esto podría, por ejemplo, incluir una GUI y
cosas así. Ahora antes de saltar a
programar algo, realidad
quería, bueno, básicamente pasar por un
poco de la teoría. Para eso
vamos a romper
la herramienta de pozo que se utiliza con mayor frecuencia y
ese es por supuesto, nuestro punto aquí mismo. Entonces, solo empecemos. Entonces la idea general es que
tengamos un par de cosas. El número 1 es que tenemos
una clase de bloque. Ahora ya lo hemos hecho. Tenemos un, bueno el bláster
cobol para nosotros. Ahora para nosotros es que va
a ser botón azul. Bajo el fondo azul. No se ve tan bien, así que lo tenemos, léelo aquí mismo. Pero las ideas generales, tenemos una
clase de bloque y eso tiene una referencia a una clase de entidad
bloqueada. Hay
clase de entidad de bloque que por supuesto
vamos a crear
en tan solo un momento. Y esto contiene datos y funcionalidad para
un bloque en particular. Esa es la idea general. En esta
clase de entidad de bloque se crea. Podemos tener un inventario en él, y ese
luego se puede crear un menú. Ahora la clase de menú es muy interesante porque
la clase de menú, ¿no? puede ver que es una especie
de separado, ¿verdad? Tenemos una pantalla
y una clase de menú. Ahora lo que es muy importante es que la clase de menú
puede, por ejemplo, valores
sincronizados
para la entidad a un servidor y cliente. Eso va a
ser muy importante, sobre todo en la próxima conferencia. Por lo que recomiendo encarecidamente
echar un
vistazo a esta conferencia y a
la siguiente conferencia, especie de al mismo tiempo, porque vamos a tener una entidad de bloque funcional al
final de esta
conferencia sobre bueno, Vamos a hacerlo alrededor
de mil millones de veces mejor en la próxima conferencia
y apenas más robusto. Entonces eso es sólo algo
a tener en cuenta. En la clase de menú también tiene
ranuras para el inventario. Entonces se puede ver que esto básicamente visualiza
esto de una manera que tenemos estos
rectángulos morados aquí que son especie de correlación con
las ranuras justo aquí. Y lo que es muy
importante es que el menú donde
están esas ranuras es completamente independiente
de esta imagen aquí mismo. Porque lo que hay que
tener en cuenta es que cuando miramos la clase de
pantalla, ¿no? Este cliente solamente, esto es
literalmente sólo esta imagen. No puedo enfatizar más esto. Básicamente esto, la clase de pantalla es más o menos sólo esta imagen. Entonces, independientemente de
cuál sea esta imagen, las ranuras podrían estar en cualquier lugar
donde queramos que lo hagan. Por lo que en realidad definimos su posición dentro
de la clase de menú. Aunque en lugar de esto, ya
sabes, el año
GUI, podría tener una
foto de mi cara, podría tener una
foto de mi perro. Podrías poner ahí todo lo
que quieras. La funcionalidad
seguiría funcionando. Entonces eso es muy, muy importante. Ahora también muestra
cosas como el progreso. Entonces esta
flecha de progreso justo aquí, o cuánto combustible
queda en la ranura de combustible. Básicamente, eso es algo
que se puede hacer con los valores del sincronizador que la clase de menú básicamente
sincronizadores para nosotros. Esa es la
visión general de esto. Y a veces esto puede
ser un poco confuso. También diré esto, Bueno, las entidades de
bloque son definitivamente
un tema avanzado. Por lo que hemos llegado a los temas
avanzados en este punto. Y en este punto también
es algo así como si no
sabes tanto Java, justo en este punto,
es muy bueno. Va a ser muy difícil
ayudarte con algo no básicamente voy
a asumir que ya sabes, al
menos
conocimiento intermedio de Java básicamente. Entonces no voy a decir, Hey, este es un método estático. Ya sabes lo que es un
método estático, cosas así. Yo sólo voy a asumir
que usted sabe todo eso. Por lo tanto, ten en cuenta eso. Número uno. Número dos, también
estaré cubriendo mucho
del código que está todo
disponible para ti, incluyendo esta hoja de trampas también
está disponible para ti en el
repositorio de GitHub individualista
y para descarga. Entonces no se preocupe ahí. Pero pasemos de
nuevo
a ti inteligente y veamos
qué podemos ver. Entonces el número 1, lo que necesitamos
es que necesitamos una nueva clase. Necesitamos un nuevo paquete
en R, bloque paquete, haga clic derecho nuevo
paquete llamado entidad. Este es ahora el paquete de
entidad de bloque. Y ahí necesitamos dos clases. Uno de ellos va a ser el bláster
cobalto Volokh entidad. Y entonces el
segundo se va a hacer clic derecho Nueva clase JAR llamada las entidades de lodo roca. Ahí vas. Por lo que se necesitan esas dos clases. Y para las
entidades de bloque, bueno, inmediato
podemos llenar esto con
al menos un poco, y eso va a ser
una final estática pública, el tercer registro. Ya hemos visto esto, por supuesto, el tipo de entidad de
bloque, y luego una
vez más corchetes angulares con
un signo de interrogación en él. Y luego bloquear entidades de
subrayado, que es igual a un registro
diferente que crea registros, entidades de bloque de
puntos. Modelo de curso Mc, ese modelo ID. Y entonces por supuesto, mientras que
un registro existe un método de
registro de vacío estático público con un bus de eventos o bus de eventos, que enfría las entidades de bloque que se registran y pasan
en el bus de eventos. Y de inmediato
ya podemos ir a nuestra clase mod curso MC y simplemente ponerlo aquí para que
podamos decir modo
bloque, bloquear entidades se registren con
el bus de eventos que hace. Y tendremos que hacer
esto una vez más antes de que termine la conferencia,
pero no se preocupe en absoluto. Todavía no vamos
a definir lo real. Entidad porque antes que
nada necesitamos hacer esta clase. Voy a creer que podemos hacer que
esta clase casi en su totalidad excepto por una cosa, pero eso
va a estar bien. Entonces esto va a ver
con lo siguiente. Esto va a extender la entidad de bloque e
implementa el proveedor de menús. Esperemos sobre esto,
implementemos los métodos. Por lo que esto implementará el método
get display name y el método Create menu. Entonces una cosa que haré
es que a propósito, bueno que esto tenga
una flecha aquí mismo, porque no quiero olvidar
agregar aquí el menú Crear. Eso es algo
importante a veces. O sea, no soy
que me olvide esto, pero es muy importante
que realmente hagamos esto porque hay un montón de partes
móviles a esto en, ya
sabes, no hacer una de esas partes
básicamente hacerlo para que la
entidad de bloque no funcione. Y aquí sólo podemos devolver un nuevo componente
de textos de cuatro voltios último término. Entonces este sólo va a ser
el nombre para mostrar básicamente. Después pasa el cursor sobre este
constructor creed que coincide super. Y esto también
va a estar bien. No obstante, lo que
vamos a hacer aquí es que vamos a eliminar el primer parámetro y entonces
por supuesto obtendrás un, bueno, un error aquí mismo,
pero sin preocupaciones en absoluto. Porque lo que podemos
hacer es ahora podemos definir esto en nuestras entidades de bloque de
modo. Y la forma en que definimos esto, en realidad voy a
escribir esto, podría no público objeto de Registro
final estático. Será bastante autoexplicativo del tipo
de entidad de bloque, este tipo de entidad de libro
bláster cobalto. Bueno, el bláster cobalto, y eso va a ser igual
a bloquear entidades que registren con el nombre cobalto
underscore blaster, Eso va a estar bien. Y luego un proveedor de la
siguiente entidad de bloque tipo dot-dot-dot constructor
de cobalto blaster block entity colon, colon nuevo. Se puede ver que luego una coma, entonces tenemos que hacer bloques, punto, blaster, dot get. Después de la tercera, después del primer paréntesis
pato-facturado, luego pasar un nulo. Entonces así es como se
ve más o menos aquí. Por lo que los bloques que
pasamos aquí son básicamente los bloques que se
asocian a esta entidad de libro. Esa es la idea general. Entonces en lugar de tener
el parámetro aquí, lo que podemos hacer es decir entidades de bloque, ese bloque dot cobalto
blaster dot get. Ahora se podría pensar, bueno, ¿no es eso una referencia circular? En realidad no lo es. Yo sí. No estoy muy seguro de que me guste. Es muy loco. Al igual que hay muchas
cosas circulares, por así decirlo, en las entidades de
bloque. Entonces no se preocupe. En ahora empezaremos a
copiar cosas. Lo primero que
vamos a copiar son básicamente los dos
campos que tenemos. Y esos campos están en el manejador de pila de
elementos llamado manejador de elementos de tamaño cuatro. Y esta también es
una clase anónima se
puede ver porque tenemos que
poner los contenidos cambiados aquí
donde básicamente cambiamos. Porque de lo contrario lo haremos,
vamos a tener algunos problemas con la carga y el ahorro de
básicamente el inventario. Y entonces tenemos un optativo
perezoso de esto, y necesitamos éste
por la capacidad. Nosotros vamos a copiar
este también. Entonces este va a ser el método de capacidad de
Git. Y yo sólo voy a
poner esto aquí abajo. Por lo que obtienen método de capacidad. Puedes verlo
básicamente dice: Oye, si conoces a alguien o algo pregunta sobre
esta entidad de bloque, no
tiene la capacidad de
manejador de ítems, entonces solo vamos a
devolver el manejador de ítems perezoso . Entonces bien, éste de aquí. Y sólo vamos a
decir, Claro, toma esto. Ahora por supuesto, como se
puede ver claramente, el manejador de elementos perezoso
en este momento no se ha establecido.
¿ Cómo lo configuramos? De lo que lo pusimos en
el método onload. Entonces lo que vamos a hacer es que
en realidad voy a
copiar sobre la cabina el método onload y el método
invalidar caps. Podrían ver onload debería ser bastante
autoexplicativo, ¿verdad? Cuando se carga esta entidad de bloque, solo
vamos a establecer
el manejador de elementos perezoso un opcional perezoso de nuestro manejador de
artículos real aquí mismo. Entonces esa es la idea general. Y cuando invalidamos las tapas, así que esto sucede cuando el servidor apaga cosas como esas. Entonces solo estamos invalidando
los manejadores de elementos perezosos para que no tengamos ninguna fuga de
recursos, cosas así. Bueno entonces entra la pregunta, ¿cómo guardamos los datos? Bueno, guardamos los datos haciendo, anulando dos métodos. Ese es el ahorro adicional
y el método de carga. Entonces se puede ver
que básicamente me estoy llevando el manejador de ítems NMC, dándose cuenta de eso a la NVT. Entonces esto básicamente hace todo
el levantamiento pesado por nosotros. Se guarda todas las ranuras. Lo que hay en esas ranuras son
muchos artículos están en esas ranuras. Entonces todo eso está hecho
por nosotros bellamente y sólo necesitamos esos
dos métodos aquí mismo. Lo que es muy importante
es que sí necesitamos, una vez más, anular esto
en la clase anónima. De lo contrario, tendremos
algunos problemas con el guardado de los datos porque no se llama al método de guardar adicional por cualquier
motivo. Cada vez que simplemente salimos del mundo por la razón que
sea sólo se llama a una actualización. No estoy seguro de esto, pero sólo asegúrate de
que esto se haga. Y luego por último pero no menos importante, para los métodos no estáticos, también
tendré
el método de gotas. Y este básicamente
solo hace un
contenedor simple aquí, consigue todos los
artículos del
manejador de artículos y luego solo dice: Oye, solo deja caer todo
tu contenido en esta posición en este nivel. Y entonces vamos a estar bien. Esto se va a llamar cuando destruyamos el bloque real. Entonces todo el contenido se
derrama de la, de este bloque real, ¿verdad? Entonces si usted, por ejemplo, el cofre
destructor, y por supuesto todo el
contenido del cofre caerá al suelo. Y eso es por supuesto
lo que también queremos en nuestro cohete justo en antes de
seguir haciendo cosas aquí, realidad
vamos
a cambiar al vidrio cobalto o bloque, porque ahora el bloque
será cambió también. Y esto va a
ser muy interesante porque en lugar
de extenderse desde la clase de bloque es esto se
va a estar extendiendo desde el
bloque de entidad base son importantes. Y luego se puede ver que de
inmediato se tiene que implementar el nuevo método de entidad de
bloque. Eso es por supuesto que
no se preocupe en absoluto, porque sólo podemos
implementar esto. Y esto va a ser
muy fácil para nosotros porque lo que podemos hacer es en lugar
de devolver nulo, vamos a devolver una nueva entidad de bloque de
cobalto y pasar en la EPA tiene
y el estado p aquí mismo. Y eso es más o menos todo lo
que necesitamos hacer para esto. Ahora, hay un par de cosas
más que
tenemos que hacer, ¿verdad? Por supuesto puedes ver la
mayor parte de las cosas es para la
forma real del bloque. Pero lo que
tienes entonces es que necesitamos hacerlo, y esto es increíblemente
importante, ¿verdad? Tenemos que anular el método getter render shape justo aquí. Y tenemos que devolver la forma de
render un modelo. Porque si no hacemos esto, entonces nuestro modelo va a
ser invisible porque eso es solo el valor predeterminado
del bloque de entidad base. No estoy seguro de por qué
ese es el caso de esto. Probablemente va a ser
alguna razón para ello. Entonces, por favor,
asegúrate de anular esto. De lo contrario tu bloque
será invisible. Y eso por supuesto
no es del todo lo que
queremos en que voy a anular a otros métodos y en realidad voy
a copiar esos más. Este va a ser
el método OnRemove. Esto es exactamente lo que dije, justo cuando llamamos al método de
gotas aquí mismo. Bueno, esto sólo se asegura, oye, cuando eliminemos este bloque, todo el contenido de la entidad de bloque
caerá al piso. Pero esto es genial y este es solo un método realmente bonito
y no demasiado loco también. Y el método estadounidense bien es un poco similar en el sentido de que cuando
hacemos clic con el botón derecho en este candado, simplemente
queremos que la entidad
real abra su inventario o abra
su GUI básicamente, ¿verdad? Aquí se pueden ver
ganchos de red que abren Gui. Entonces básicamente
solo queremos abrir la GUI y asegurarnos de que, ya
sabes, esté una especie
de sincronizado a través del servidor y el cliente. Por eso los
ganchos de red básicamente hace todo el
levantamiento pesado ahí por nosotros. Hay una
cosa más que queremos, y es que queremos
el método ticker o queremos un método tick para poder acceder en la entidad de bloque cobalto blaster. Y un método de tick básicamente
es solo un método que se llama cada tick para una
entidad de bloque en particular en este caso. Y eso nos permitirá agregarle funcionalidad
cool. Y básicamente haremos
manualidades personalizadas, por así decirlo. Y para eso necesitamos anular el método getter
ticker. Voy a copiar esto otra vez y vamos a obtener un
simple error aquí, pero podemos arreglarlo muy fácilmente. Podemos ver que este es
básicamente el, bueno, obtengo el método de ticker
y luego llamamos
al ayudante de creación ticker y regresamos a eso con
el tipo de entidad rock, vamos a pasar en el blaster
global modo de bloque, bloque entidad año. Y entonces aquí podemos ver
queremos pasar en el cobol blaster block
entity tick método, que aún no se ha creado. Pero vamos a
crear esto ahora mismo. Entonces esos van a ser todos
estos métodos estáticos. Esos son cuatro métodos. Yo sólo voy a
copiarlos para que podamos ver qué está
pasando aquí, ¿verdad? Esto es locura, No se preocupe. Vamos a pasar por esto. Entonces el método tick es el único
método que no es personalizado. Por lo que estos tres métodos
son completamente personalizados. Yo mismo los hice. El método de tick que es
en sí mismo va a ser el mismo para
cada entidad de bloque. Siempre vas a tener acceso al nivel de la posición, al estado, y a la propia entidad de
bloque. Y puedes ver que acabo de
hacer algunos métodos de ayuda, básicamente crear el
artículo simplemente se estrellará. En los artículos se va a
extraer un artículo de 0. Vamos a
extraerlo de la Ranura 1. Y entonces sólo
vamos a poner un, un artículo en la ranura tres. Para que veas que aquí también
vamos a poner lingotes de cobalto. Simplemente vamos a hacer esto
continuamente. Por supuesto, el
método de artículo artesanal solo se llama cuando
ambos tenemos una receta y no hemos alcanzado
el límite de pila. Echemos un
vistazo al límite de pila porque eso es un
poco más fácil. Básicamente
solo diremos, oye, si el recuento de las pilas
reales aquí es más pequeño que el tamaño de pila
GetMax, vamos a estar bien. Por lo que mientras no
hayamos llegado a 64 artículos en la ranura de salida, podemos elaborar continuamente artículos que deberían ser
bastante autoexplicativos. El tiene método de receta. Bueno, eso solo comprueba que
tenemos en la ranura 0 llamada astilla y que tenemos en la primera ranura o la
pendiente con índice uno, tenemos cobalto crudo. Si tenemos
los dos ahí dentro, entonces esto es cierto. Esto esperemos que sea cierto y entonces estaremos
elaborando el artículo. Diré esto, esta es una forma
muy cruda de hacer esto. Esto es realmente sólo para mostrarte una vez ¿cómo funcionará la artesanía real y
cosas como esta? Te recomiendo encarecidamente que puedas implementar esto y puedes echar un vistazo a esto
y puedes decir, bueno, esto es realmente
jodidamente cool y es pero muy recomendable. Siguiente conferencia, vamos a
hacer una receta personalizada, Jason. Y entonces podemos básicamente, bien definir las
recetas de elaboración dentro de los archivos JSON, que es mucho mejor que
codificarlas de esta manera. Definitivamente no es una buena
idea para hacer esto, ¿verdad? Esto es sólo una muy mala idea. Es muy torpe, no es bueno, es, está codificado duro. Muchas cosas pueden salir mal. Por lo que recomiendo encarecidamente,
si bien esto es sólo para mostrar una vez aquí, es una forma muy cruda de hacer las cosas y solo
quería dejar eso claro. Ahora lo que pasa es que esto se hace más
o menos excepto, por supuesto, el método de
menú Create justo aquí. Y lo mismo con el bloque. El bloque también se hace para que
podamos cerrar el bloque, podemos aún más acercar éste. Vamos a mantener abierta
un poco la clase de entidad de
bloque porque por supuesto ahora necesitamos agregar
en la pantalla. Por lo que en nuestro paquete de cursos MC. Haga clic derecho
en nuevo paquete llamado pantalla. Y dentro de ahí
vamos a hacer dos nuevas, en realidad tres nuevas clases,
cobalto, menú pilastra. Y luego vamos a hacer
la pantalla pilastra de pared. Y vamos a
hacer que la clase de
tipos de menú de modo también. Y luego cualquier paquete de pantalla, también
necesitamos otro
paquete llamado slot. Y en lugar de ahí, en
realidad voy a copiar
a última estrella hecha va a
ser el modo que vas a tragar
y la ranura de resultado de modo. Les explicaré esos en un
momento en que realmente los
vamos a usar. Pero recomiendo encarecidamente
también copiarlos. Todo esto, por supuesto, está
disponible para ti una vez más, repositorio de
GitHub y un
individuo igual de bien. No te preocupes ahí, bien, vamos a
empezar con el menú
o el menú bláster cobalto. Y voy a hacerlo, esto
va a extender el menú contenedor abstracto. Muy importante. Ahí vas. Voy a
implementar los métodos todavía válidos aquí mismo. Y luego también crearemos un
constructor que coincida con super. Ahora lo que voy a hacer es
realmente sólo copiar la totalidad de
los contenidos de esta clase. Altamente
te recomiendo hacer lo mismo. Y lo explicaremos a
medida que avancemos. Entonces tendremos una
flecha aquí mismo. Podremos arreglar eso en tan solo un momento, sin
preocupaciones en absoluto. Por lo que se puede ver que aquí tenemos dos constructores diferentes, lo cual en realidad es muy
importante porque uno de los constructores se
le llamará en los menús mod y al otro constructor se
llamará en la entidad de bloque. Ahora en realidad podemos hacer esto de
inmediato. Entonces pasemos
a la entidad del blog. Y luego aquí en el método de menú
Crear, vamos a crear un menú de yeso
nuevo o perno cuando un pase el inventario ID
contenedor. Y entonces el último es éste. Ahí vas. Y eso es más o menos todo lo
que necesitamos para pasar. Pero ahora la clase de
entidad de bloque está completamente hecha y ya
terminamos con esto. Ahora echemos otro
vistazo al menú aquí. Entonces el menú, como ya
he
mencionado anteriormente en la
hoja de tramposos en la teoría, básicamente, Esto es
responsable de las ranuras
donde están, donde están
dispuestas, cosas así. Y se puede ver esto aquí mismo. Para que podamos tener, básicamente
sumamos el inventario, agregamos la barra caliente del jugador. Entonces esos son solo
dos métodos que he creado rápidamente
porque esto aquí mismo. Por lo que los bucles for
suelen ser como dentro
del constructor real. Eso es sólo, quiero decir,
es sólo que me
parece una muy mala no está tan
bien codificada básicamente. Entonces hay otra cosa que es muy
interesante y esa es la pila de movimiento rápido aquí mismo. Este método lo hace DZ 07, 08 el crédito va a
ellos por hacer esto. Básicamente quiero decir esto,
esto es para el turno de clic de cosas dentro de este inventario. No te preocupes por este método
en absoluto. No lo mires. Simplemente di
muchas gracias por el
para el 07 que puedan
esto en realidad es una locura. Yo sólo el método por el que pudimos
pasar pasé media
hora para explicar esto. Simplemente no es necesario. Realmente no me gusta este método, pero claro que se tiene
que hacer de alguna manera. Y así es como
va a ser. También
tienen que estar ahí los campos estáticos. Eso es muy importante.
Y aquí en el TE, recuento
de ranuras de inventario, básicamente
tenemos que poner el recuento de
ranuras real más. Bueno, t0 inventario un archivo
ahora es un inventario B. Por lo que antes se
nombraba entidad de teselas, ahora se llama entidad de bloque. Pero todo aquí aún
debería funcionar totalmente bien. Y puedes ver estamos agregando
cuatro ranuras como puedes ver. Entonces básicamente estamos preguntando, Hey, ¿tenemos capacidad de
manejador de ítems? Y si ese es el
caso, entonces
agreguemos algunas tragamonedas geniales aquí. Se puede ver que tengo una
ranura de combustible en una ranura de resultado. Yo he hecho esas
clases porque bueno, quiero decir eso sólo tiene mucho
sentido. Básicamente, tener una ranura donde sólo se
puede insertar combustible y luego ABR resultados
ranura donde
en realidad no se puede insertar nada. Básicamente, sólo la
propia máquina puede insertar cosas en ella. Y básicamente los he tomado de
las tragamonedas reales. Para que puedas teclear, pueden poner en turno dos veces
y luego poner en ranura. Y luego si hago esto, entonces podrás ver el inventario
mundial de minecraft netos de slop. Y si presiono Control H, se pueden
ver todos
los diferentes pozo, ranuras que están disponibles
aquí, por ejemplo. Y entonces básicamente tenemos la
ranura de resultados del horno, como se puede ver. Sólo echemos un
vistazo a este. Y bueno, quiero decir, básicamente
tomé la mayoría de las cosas aquí son el lote de
resultados, ¿verdad? ¿ Qué es muy importante? Es solo que este
lugar del 1 de mayo tiene que ser falso. Y luego lo mismo para la ranura de combustible. Básicamente solo, bueno
preguntar el horno abstracto,
Hey, ¿esta pila es un combustible? Y si lo es, entonces
sólo vamos a decir, claro, estás
a punto de colocarlo ahí dentro. Más o menos todo lo que
había a ello. Es decir, eso es algo que
hay a ello. Esto estas dos ranuras
recomiendan encarecidamente usarlas porque son sólo un
poco más agradables de usar básicamente. Pero aparte de eso, creo que la mayor parte
del resto es, bueno, no demasiado loco. Simplemente tenemos una referencia
a la entidad de bloque, una referencia al nivel. El método todavía válido
básicamente sólo comprueba si el jugador
puede acceder o no a este menú. Entonces esto sería si
estás en un carrito de mina, haces clic con el botón derecho en un horno o algo así
y estabas demasiado
lejos y de repente se cierra
la GUI real. Creo que esto es lo que
básicamente facilita eso. Y así vamos a entrar en la clase
más menús ahora, y vamos a añadir nuestras
cosas allí también. De hecho ahora voy
a copiar esto porque hemos visto
esto muchas veces. Se trata de un
registro diferido de tipo de menú, una vez más de signo de interrogación. Y luego cuando
definimos el tipo de menú, necesitamos un método de tipo de
menú de registro aquí que solo tenga aquí una
fábrica de contenedores de tipo T. Y simplemente estamos
registrando esto. Normalmente, esto no
sería demasiado loco. Todas las cosas consideradas
altamente recomendables. Una vez más, todo por
supuesto disponible, no
tienes que teclear
esto tú mismo. Repositorio Github e
individual igual de bien. Ahora en el curso MC
mod constructor, vamos a llamar a
los modernos tipos de menú dot registrarse con el bus de eventos. Y entonces todo aquí
está registrado también. Eso es genial. Y entonces básicamente
no tenemos que volver a mirar este nunca más, al
menos por el momento. Ahora éste también se
hace no más errores. Entonces todo es genial. Ahora una cosa que la gente
podría preguntar es, bueno, ¿qué hace esta exposición, cuál es esta posición y aquí? Bueno, para eso,
en realidad voy a copiar sobre la textura que vamos
a usar en tan solo un momento. Esto va a ir en activos, MC texturas gruesas,
y luego bajo Gui. Entonces voy a copiar esto más. Terminamos. Este es el cobol volado
GUI y voy a abrir esto. Ya hemos visto esto
por supuesto. Una idea general es que,
bueno, 850, ¿verdad? Entonces nosotros 18 y 50. Por qué este píxel de
aquí es 0000. Si vamos 18 a la derecha, derecha, x 18, así 18 a la
derecha y 50 abajo, terminamos exactamente aquí. Entonces esta es la idea general. Tendrás que
contar esto en píxeles. Aunque si utilizas Photoshop
o paint.net o GIMP, entonces generalmente tendrás una herramienta Select que podrás usar. Y entonces
básicamente puedes seleccionar esto y ver qué tan grande es esto. Tendrás que contarlo en
píxeles simplemente no es otra manera. A veces es un
poco torpe, pero así
es como va a ser. Y el resto debe
ser bastante autoexplicativo. Pero el resto es tu 66
y luego abajo 16 que otro es 50 abajo y 66
x y así sucesivamente y así sucesivamente. Entonces así es básicamente como se presenta
esto, ¿verdad? Y entonces hagamos que la
pantalla dure pero no menos importante. Y una vez más, sí, en realidad
copiaremos esto. Ahora. Esta es en realidad la, creo que la que es, bueno la menos complicada. Este es el flujo
contenedor abstracto de tipo, viejo menú Glassdoor. Entonces eso es muy
importante que pongas aquí
la clase correcta, el menú maestro cobalto, porque entonces
tendremos acceso a esto también en esta clase. Entonces eso es muy importante. Se puede ver que tengo la ubicación de
recursos de la textura bajo
texturas GUI cobalto, underscore blaster,
underscore GUI PNG, la cosa que
acabamos de ver antes. Y este año, como se puede ver, básicamente
se
rinde aquí. Y luego usamos
este método de doblete bajo este método puede
ser muy complicado. Y en realidad vamos a entrar en detalle más sobre este método en la próxima conferencia
cuando estamos agregando las barras de progreso y esas cosas, es entonces en realidad
tenemos que pensar, vale, cómo haríamos configurando
esto, ¿verdad? ¿Cuál es la x? ¿ Cuál es el porqué? ¿Cuál
es el offset aquí? ¿ Cuál es el ancho de eso? Vamos a resolver
esto la próxima conferencia. Como dije, por el momento,
esto aquí sólo se asegura de
que toda la imagen, así que todo esto, correcto, sin las cosas
a la derecha aquí, se exhiba básicamente
en el jugador. Ahora lo que aún tenemos que hacer
en la clase mod curso MC, también muy importante y
declinado método de configuración, pantallas de
menú, modo de registro de puntos, tipos de
menú que cobol
blaster, menu dot get. Después un bláster cobalto
pantalla colon, colon nuevo. Ahora esto
no debería arrojar errores porque la pantalla de plasma frío es de tipo cobalto
blaster menu, ¿verdad? Por lo que la pantalla de contenedores de
tipo cobol blaster menu. Entonces todo lo que deberíamos estar bien
aquí y creerlo o no, eso debería ser. Ahora, como ya he dicho, esto es bastante correcto? Y esta ni siquiera es la forma
final, por así decirlo. Esto ni siquiera es lo
completo por el momento,
pero por el momento, esto es todo lo que necesitamos agregar. Entonces veamos si
funciona o si
rebota y Minecraft. Entonces vamos a ver,
Vamos a bajar el
lanzador cobol y vamos a
hacer clic derecho en él y ver. De acuerdo, así que esto es realmente bueno. Se puede ver que por supuesto, la GUI se ha abierto ahora. Todas estas ranuras aquí funcionan. Ahora vamos a ver si puedo tomar rock humilde y colocarlo aquí. No puedo colocar un año
y puedo colocarlo aquí. Eso es exactamente lo que quiero. Puedo colocar aquí arriba, puedo tomar mi curso de hígado y colocarlo aquí mismo
porque es un combustible. Y tan pronto como ponga la bodega de
roca en la parte superior aquí, deberíamos poder ver que se
están haciendo lingotes de cobalto. Y ahí tienes,
básicamente cada garrapata. Entonces básicamente vamos a hacer 20 lingotes de cobalto cada segundo. Y entonces si pongo más
aquí no va a funcionar. Se
ha alcanzado el límite de la pila. Por lo tanto, ya no hacemos
manualidades, pero yo sacaré la mitad de ellos. Se puede ver que la otra mitad básicamente se está creando. Ahora una cosa podemos
comprobar, básicamente, si salvo al mundo
y vuelvo a ello, entonces deberíamos haber
guardado los datos. Pero esto es muy
importante, por supuesto, es una de las cosas
donde necesitábamos el guardar datos
adicionales y
el método de lectura. Entonces vamos a ver si eso funciona
o no, pero estoy bastante
seguro de que sí. Ahora, vamos
a ver que todos nuestros artículos siguen aquí. Y luego
pasa lo mismo cuando destruyo esto, se
puede ver todo el
contenido caer aquí mismo. Entonces todo está funcionando
exactamente como queremos que lo haga. Pero esto definitivamente es una, bueno, definitivamente una conferencia avanzada, como se puede decir claramente. Es, es. En primer lugar, lleva mucho tiempo y
hay muchas cosas que necesitas para
poder conseguir aquí mismo. Pero en general, esto es
algo realmente genial, y las entidades de azulejo son simplemente cosas
increíbles que puedo recomendar. Esta es una de las
únicas veces en mirar el
código de vainilla no es tan útil porque en forraje
tenemos que hacerlo una manera un poco de
rotonda para básicamente registrar nuestras cosas. Pero puedo
recomendar encarecidamente echar un vistazo a los repositorios de GitHub mods
populares o hacen sus entidades de bloque,
cosas así. Es muy recomendable que
porque siempre hay, se
puede, número 1, obtener algo de
inspiración de eso. Y número dos, si de
verdad estás atascado, generalmente tienes esto también. Por supuesto tienes este repositorio de
GitHub también. Todo el código aquí,
si copia todo sobre, esto debería funcionar a pesar de que
hay muchas
partes, claro, ¿verdad? Tenemos toda la
pantalla, el menú, el bloque tiene que cambiar un
poco suave así. Entonces definitivamente hay
mucho en esto, pero en general, es realmente genial. Por lo que recomiendo encarecidamente después de que termines esto ir inmediatamente
a la siguiente
conferencia y especie de mirarlos como una
doble conferencia, así decirlo, por muy
recomendable hacer eso. De lo contrario, estamos listos para
esta conferencia aquí mismo. Espero sinceramente que esto te
resulte útil. Si algo no está claro, siéntete libre de hacer preguntas
en la Q y a proporcionados Voy a tratar de responderlas
mejor de mi capacidad. De lo contrario,
agradecería mucho una crítica para mu y te veré en la
próxima conferencia. Entonces, sí.
89. (Avanzado) crear tipos de recetas personalizadas: Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta conferencia,
vamos
a estar echando un
vistazo a cómo puedes agregar serialización de recetas
personalizadas
a tu entidad de bloque. Entonces la idea general es
que vamos a agregar la posibilidad de
hacer archivos JSON, archivos JSON
personalizados que puedas leer y que básicamente tengan,
bueno, las recetas para
tus entidades de bloque. Por lo que una vez más, voy a
copiar más de muchas de las cosas en esta
conferencia, pero no se preocupe, Todo está
disponible para ti en el repositorio de GitHub y
un individuo igual de bien, recomiendo
encarecidamente tomar
un mira esos. Y lo primero
que vamos a hacer es que vamos a
hacer la receta. Por lo que en nuestro paquete del curso MC, haga clic derecho en nuevo
paquete llamado receta. Y luego dentro de ahí o copia sobre las explosiones de cobalto o clase de
receta así como
la clase de recetas modelo. Y echaremos un vistazo a esos. Entonces ninguno de ellos debería
tener un error en ellos? Yo creo. Entonces. Ambos
deben funcionar de inmediato. Y sólo vamos a
pasar, vamos a empezar con la receta de explosión fría. Se puede ver que tenemos
tres campos aquí mismo, un id de ubicación de recursos
y los ítems toman salida y un no analista
de ítems de receta. Y también puedes ver
que implementa la interfaz de la receta con
el contenedor de símbolos aquí. Ahora debe ser bastante autoexplicativo
que la salida sea solo el resultado que
vas a obtener de la receta real. El ID va a ser, bueno, la ubicación de recursos en la que se encuentra
este archivo jason real. El artículo de la receta va a ser una lista de ingredientes o de artículos que se utilizan para
elaborar el artículo en particular. Ahora saltaremos el método de
partidos por un segundo porque este
va a ser el método más
importante en toda esta clase. Por lo que vamos a
pasar por
los otros para ensamblar similar al elemento get result
solo te da la salida. Puede artesanar dimensiones. Simplemente vamos a volver verdad porque no
tenemos dimensiones. No estamos en una cuadrícula de tres por tres
o algo así. La idea, una vez más, es
solo el id de ubicación de recursos Y tenemos un
serializador y un tipo. Ahora, esas son en realidad clases
estáticas dentro del
cobalto plus o vaso de receta. Y se puede ver el tipo
simplemente tiene una instancia y es solo una idea
Jacobo volando, y luego similar
en el serializador, también
tenemos una instancia
y el ID aquí mismo. Es muy importante que
éste y éste,
pero este básicamente un
tipo aquí determina cuál tiene que ser el nombre de tu tipo
en tu archivo JSON. Pero veremos esto
en tan solo un momento. Ahora, los ceros, tiene
algunos métodos más. Vamos a, primero que nada
vamos hasta el fondo aquí. Y se puede ver eso también, sobre todo estos
dos métodos que básicamente devuelven la clase
del serializador de recetas. Y eso es cosa loca
preguntada de clase. Um, no estoy cien
por ciento seguro
de lo que
está pasando lo loco aquí. Sólo vamos a necesitar esto. Entonces de lo contrario no podemos
devolver la clase correctamente si no tenemos
esta cosa de envoltura loca. Como dije,
no estoy un 100 por ciento seguro de qué se trata. Simplemente lo vamos
a dejar como está, y sólo vamos a estar
bien con que estemos aquí. Ahora la idea, por supuesto
es sólo una vez más, el ID real aquí mismo,
la ocasión de recurso, el nombre del registro es sólo
la instancia en sí, donde básicamente
regresamos la instancia misma. Y luego tenemos los
tres métodos de Jason, de red y a red. Ahora esos son
increíblemente importantes. El método from JSON
determina básicamente cómo
se ordena básicamente el Jason. Por lo que podemos ver que estamos
al principio haciendo
un conjunto de artículos llamado salida. Y básicamente estamos
leyendo eso en de un miembro llamado
salida en el archivo JSON. Una vez más veremos el archivo
JSON en tan solo un momento, pero eso es algo que
vamos a leer. Y luego vamos a
leer en los ingredientes, que va a ser una lista. Aquí hacemos una lista no nula. Y luego básicamente poner todos los ingredientes
en esta lista. Y luego creando una nueva receta de
explosión de cobol desde la red. Y los dos métodos de red también
son interesantes. En lugar de usar
el objeto JSON, realidad
vamos a
tener un búfer de
byte amigable o por buffer. Y esto es básicamente
solo para que la red pueda comunicar al
cliente y al servidor. Lo que es importante aquí es
que cuando estamos escribiendo cosas a la red y
leyendo cosas de la red, tiene
que coincidir exactamente. ¿ Qué significa eso? Bueno, se puede ver
que cuando estamos escribiendo cosas, en primer lugar, estamos escribiendo el tamaño
de la lista de ingredientes. Entonces estamos escribiendo
cada ingrediente. Y luego al final, estamos leyendo la pila de artículos del resultado
de las recetas, ¿de acuerdo? Y así es exactamente
como lo leemos. En primer lugar estamos leyendo el tamaño justo aquí con read int. Entonces estamos leyendo
los ingredientes. Y luego al
final estamos leyendo aquí la
salida. Esto es muy importante
que esto tenga que coincidir. De lo contrario obtendrás un error, no en el
entorno de desarrollo, sino cuando estás en el servidor, como cuando tratas de conectarte básicamente
a un mundo normal fuera
del desarrollo ambiente, vas a conseguir un
error y no
va a funcionar para
asegurarte de que esto coincida si quieres
ir por alguna otra cosa. Porque por supuesto, una vez más,
empezamos a jugar. Ahora es una especie de tiempo de conocimiento
Java serio. Si quieres
cambiar esto, correcto, si fueras a, por ejemplo,
digamos, Oye, en realidad tengo, no sólo dos entradas
tendrán como cuatro entradas cambiarán
el tamaño aquí, ¿verdad? Para hacer un montón de cosas, en realidad
tengo
diferentes tipos de salida que quería
dependiendo de ciertas cosas. Bueno, o haces
una nueva receta para ello. O si quieres tener todo
esto en una sola receta, también
puedes hacer una lista
de salidas en teoría, elegir entre ellas al azar,
cosas así. Todo se trata ahora realmente de tener una comprensión muy
sólida porque sólo
va a ser muy difícil de lo contrario hacer cosas
realmente personalizadas. Ahora mismo llegaremos
al método de coincidencias, que es como dije, el
más importante porque esto básicamente determina
la funcionalidad o esta la implementación de
cómo es tu receta evaluado. Por lo tanto, ¿qué hay dentro
del contenedor coincide con
una receta en particular? ¿ Cómo funciona esto? Bueno, en primer lugar, estamos
preguntando si los ítems de la 0th receta, así que el primer elemento de nuestra lista de
recetas que estamos leyendo desde
el archivo adyacente, es que sí que coincide con
el artículo dentro
del contenedor con
índice 1, y índice 1? Pues recuerda porque el índice 0 en realidad
es hora, vas a ranura. Por ello tenemos que
tomar el índice uno aquí. Y luego si eso coincide,
entonces sólo estamos regresando si el
otro coincide o no también. Y entonces esto por supuesto
volvería cierto. De lo contrario devolvería
falso. Esto es muy importante. Esta es básicamente la pieza
dura de tu, de tu año de receta personalizada. Y una vez más, si tienes cosas
más complicadas, si tienes más, si
tienes más ingredientes, si tienes más ranuras, solo
necesitas
agregarle cosas, cambiar cosas en ella, básicamente
cambiarlo continuamente. Una vez más, Java conocimiento,
conocimiento, terminología. Seguiré diciendo esto. La investigación, sobre todo en este
momento en la sección avanzada, básicamente
estamos terminados. Entonces esto es, esto se tiene que
hacer y sí, esta es la idea general. Entonces toda la lógica de elaboración, la lógica de coincidencia entra aquí,
y esa es en realidad la explosión
fría o clase de receta. Y luego echemos un
vistazo a las recetas de modo. Podemos ver que aquí tenemos
un registro diferente de serializadores de recetas. Y luego solo un serializador de
recetas para el
yeso cobol ahí mismo. Y entonces también nos estamos
asegurando de que registramos un tipo cuando llamamos a
este método de registro. lo que este
método de registro, por supuesto, tiene que llamarse una
vez más en nuestra
clase mod curso MC justo aquí para el modo recetas dot
registrarse con el bus de eventos. Y una vez que eso se hace sobre
estas clases están realmente bien y ya podríamos
leer en los archivos JSON. Pero claro que ahora no
tendremos ninguno, no
estamos haciendo nada, ¿verdad? Por lo que realmente necesitamos
cambiar la entidad de cobalto más tres bloques ahora para que podamos cerrar esto e ir a
la entidad aquí mismo. Y en realidad vamos a hacer algunos cambios importantes aquí mismo. Entonces lo que voy a hacer es
realmente copiar sobre todas las diferentes cosas que
vamos a necesitar. Y vamos a
empezar por arriba. Porque lo que
necesitamos es que vamos
a necesitar algunos datos de contenedor. Entonces copiaré esto más. Voy a hacer algo así y luego vamos
a copiar esto aquí. Por lo que se puede ver que tenemos algunos contenedor final
protegidos llamados
datos. Y entonces tenemos también para
campos que son el progreso, el progreso máximo, el tiempo de combustible, y el tiempo máximo de combustible. Y antes que nada,
asignemos esto dentro
del constructor, también
copiaremos esto sobre todo aquí está
por supuesto, una vez más, disponible para ti en el repositorio de GitHub o un
individual igual de bien. Y se puede ver que
los datos del contenedor también
son en este caso un método anónimo con anular el GET el conjunto
y el método GetCount. Y siempre estamos
devolviendo el progreso, el tiempo máximo de combustible de progreso
y el tiempo máximo de combustible aquí mismo. Porque esos cuatro campos
diferentes que queremos realmente
sincronizar a través del menú. Es por ello que se llama
los datos del contenedor. El menú contenedor
básicamente sincronizará esos cuatro campos para nosotros a través del cliente y el
servidor para que ambos
tengan el mismo valor. Porque claro, por
ejemplo, Southern, algo así como el progreso
y el progreso de Ymax. Bueno, si tienes ambos, de repente
podemos
mostrar una flecha de progreso. Si tenemos el tiempo de combustible
y el tiempo máximo de campo, de repente podemos mostrar
cuánto combustible queda dentro de tu inventario,
cosas así. Y por eso es tan increíblemente importante
tener esto. Y esto en realidad es bastante sencillo de usar una vez que
sepas usarlo. Entonces lo que vamos a
hacer es que vamos a
entrar en los ingresos del vidrio cobalto. Sólo vamos a
sumar los datos aquí. Entonces este dato, ahora esto por supuesto va
a arrojar un error, ¿verdad? Entonces tenemos que
entrar al
menú del bláster y solo podemos decir:
Vale, vamos a
cambiar algunas cosas aquí. Y lo que estamos cambiando no es el primer constructor,
sino el segundo. Vamos a agregar los datos de
contenedor o datos aquí. Y entonces éste
arrojará un error. Y vamos a decir que
no se preocupe en absoluto. Porque lo que podemos
hacer es que podemos hacer un nuevo
dato de contenedor simple con longitud 4. Porque una vez más,
por supuesto esta es la longitud cuatro. Y entonces sólo vamos a
hacer es también
vamos a hacer un
campo privado para esto. Vamos a estar usando esto
en dos métodos más tarde o realidad creo que tres
métodos datos, ¿verdad? Y entonces sólo vamos
a decir por debajo de este nivel, cuando sólo
vas a decir que estos
datos de punto son iguales a los datos. Bueno, básicamente
asignando esto y ahora la forma en que lo
vamos a hacer, que esto también sincronice es que vamos
a decir agregar ranura de datos. Por lo que las ranuras en realidad ranuras de datos. Y luego vamos a pasar
los datos aquí mismo. Pero eso es literalmente. Todo lo que necesitamos hacer. Ahora
esto se está sincronizando. Y luego vamos a conseguir cuatro
nuevos métodos en los que nuestro El
está elaborando método que tiene método de
combustible que obtiene progreso
escalado, y se escala,
progresarás. Ahora, esto es solo un
montón de matemáticas básicamente en segundo plano
está asegurándose de que bueno, vale, cuánto progreso
tenemos, nuestro máximo, máximo progreso tenemos cuál es el ancho de la
flecha en este caso, correcto, que queremos exhibir. Y entonces sólo estamos
asegurándonos de que
todo esto se calcule correctamente. Eso es básicamente todo lo
que hace esto. Aunque. No debes
preocuparte demasiado por esto. Seguro que
podrás averiguarlo si
le echas un vistazo un rato
a nada ahí. Eso en realidad son todas las
cosas que tenemos que hacer en el menú aquí. Ahora en realidad sí necesitamos hacer muchas más cosas en
la entidad de bloque 4. Estamos pasando a la pantalla. Por lo que volveré a copiar
sobre un montón de cosas. Número uno, necesitamos agregar cosas
a los métodos de guardar y cargar. Porque lo que queremos hacer es que
queremos guardar el progreso el filtro Minimax
con leerlo. Entonces cargándolo. Ahora esto es en realidad,
vamos a hacer nb t entonces y VT. VT y
NVT, no hay preocupaciones ahí. Entonces van. Entonces esto es, bueno, cosas que definitivamente queremos hacer. Porque claro cuando
cargamos del mundo, como cuando salvamos
un mundo, ¿no? Y luego cuando vuelvas
a unirte, bueno, queremos que el
tiempo de combustible sea el mismo, que el progreso sea el
mismo, cosas así. Es por ello que lo guardamos y
luego lo leemos de nuevo. Entonces esta es básicamente
la idea general aquí. Entonces lo que vamos a hacer es que
básicamente soy todo
incluido el método de tic. Yo voy a, bueno,
me refiero a copiar. Entonces esto va a
ser mucho código, pero vamos a
pasar método por método. Ahora bien, no creo que debamos conseguir flechas
ahora no lo hacemos. Entonces el número uno, tenemos un método no estático y ese es el método consume
menos. Se puede ver que
básicamente estoy revisando, hey, ¿tengo algo
dentro de nuestra ranura de combustible? Porque una vez más,
recuerda la ranura 0, ¿verdad? ¿ Cómo es la ranura de combustible para nosotros? Entonces si eso no está vacío, entonces le vamos a sacar
el tiempo de quemadura. Lo estamos extrayendo. Entonces vamos a extraer
exactamente uno de esos artículos. Vamos a utilizar la fundición tipo
receta. Porque, bueno, para fundir básicamente
se suministran todos los tiempos de quemado ,
guardándolo aquí. Y entonces también estamos ahorrando
el tiempo máximo de combustible también. Y si eso se hace, entonces
podemos encontrar un método de tick. Ahora es toda nuestra lógica. Ahora, ¿qué es toda
esta locura? Bueno, en primer lugar, estamos preguntando, ¿esta entidad del libro
consume pocos? Este es un método personalizado
que he hecho aquí mismo. Y eso es básicamente
comprueba si
el tiempo de combustible está o no por
encima de 0 es por supuesto, si el tiempo de combustible está por encima de 0, entonces sabemos que
todavía nos
queda algo de tiempo donde el combustible está
marcando. Está bien, bastante justo. Entonces mientras ese sea el caso, entonces lo que vamos a hacer
es que vamos a disminuir el tiempo de combustible que
queda ahí dentro, ¿verdad? Entonces básicamente
vamos a disminuir la llama que se está mostrando y también cuánto
tiempo le queda básicamente. Y una vez más, tenemos el método de
receta tiene el cual ahora
ha cambiado. Se puede ver este de aquí es ahora el método tiene receta. Y esto funciona un
poco diferente. Entonces básicamente ahora estamos
consiguiendo la receta o el tipo de
receta hobo blaster con un inventario. Entonces aquí solo estamos haciendo inventario de
símbolos que podemos fácilmente o más fácilmente básicamente pasa porque
esto es por supuesto de tipo, inventario
simple o
contenedor simple más bien top, solo
estamos pasando todo
esto y nos estamos asegurando, hey, hace esto, esto es en realidad, está presente es un partido para el inventario
que hemos pasado. Entonces nuestra cosa GUI
que está ahí, hace que coincida con cualquier
receta que sea de tipo receta de explosión de cobalto que es básicamente lo que
este aquí rastrea. Si está presente, entonces
vamos a conseguir un verdadero aquí. Y luego buscamos otras
dos cosas. Puede insertar cantidad
en la ranura de salida y puede insertar elemento
en la ranura de salida. Esos son sólo dos muy
fáciles de entender. Los métodos básicamente están
diciendo, Hey, consigue el tercer ítem. Si es lo mismo el elemento de salida,
vamos a decir, bien, o si está vacío, también
vamos a estar bien porque entonces sólo podemos
poner la salida. Y entonces también este que
básicamente ya hemos visto, correcto, puede insertar cantidad
en la ranura de salida, básicamente solo cheques, ¿sigue siendo
el tamaño Max Stack? ¿ Es esto más grande que
el conteo real? ¿ Es? Si de repente
el conteo llega exactamente al tamaño Max Stack, ya no
podemos insertar. Entonces toda esta expresión booleana
entera
se vuelve falsa. Pero si tiene receta es cierta, vamos a entrar en este calvario
agujero y todo
este audio. Bueno, como muchas
cosas que puedes ver
tiene combustible y ranura de combustible
se pregunta en primer lugar, correcto, así que si hay algún
combustible en la ranura de combustible, será bastante
autoexplicativo. Y luego si no estamos consumiendo combustible de lo que tenemos que
consumir combustible primero. Y también pondremos
el cambio aquí mismo. Porque una vez más,
tenemos que establecer cambiado, lo contrario los datos no te
salvarán. Eso es muy importante.
Es por ello que tenemos el conjunto cambiado tres
veces en este método, lo contrario
no funcionará correctamente. Y entonces aquí, si
estamos consumiendo combustible, así que esto una vez más,
es sólo chequeando, hey, ¿realmente estamos
consumiendo combustible? Si lo estamos, vamos, entonces podemos incrementar el avance del
artículo que se está elaborando. Una vez más, cada
tick que estamos incrementando el progreso
que estamos vendiendo cambia. Porque una vez más, el
préstamo del cambio tiene que ser el caso
porque cada vez que aumentamos el progreso, queríamos
volver a guardar el progreso . Entonces eso es muy importante. Entonces. Tan pronto como el progreso esté por encima del
progreso máximo aquí mismo, entonces vamos
a elaborar el artículo. Entonces esto es muy similar. Una vez más, justo ahora estamos comprobando es el
progreso finalmente ahí. Y si lo es, entonces
vamos a elaborar el artículo. Y se puede ver que la elaboración
del artículo es muy similar. Todavía tenemos el partido aquí. Estamos viendo ¿está presente? Si lo es, más va a
hacer con lo siguiente. Vamos a extraer
el artículo del punto uno. Vamos a extraer
el Adam de la ranura dos, y vamos a ajustar
la pila en la ranura 3 a los resultados reales que hemos
leído de la receta. Y luego aumentarlo
básicamente por uno en este caso. Entonces en este caso también
la que está codificada. Podría, por supuesto, también agregar en su variable de
recuento de recetas personalizadas. Y entonces podrías o llevarte esa ahí o
algo así. Por lo que esto también funcionaría. Y luego también nota aquí que fueron recientemente los
avances aquí mismo, que recientemente avanzaron a 0. Porque de lo contrario
por supuesto sólo
continuaremos después
de una y otra vez, que por supuesto no
queremos. Y también somos recientemente el
progreso si no tenemos alguna receta presente simplemente
por el hecho de que,
bueno, una vez más, si
sacamos la receta y entonces todo el progreso se
quedaría ahí. Eso no es exactamente lo que queremos. Y también poniendo el cambio
ahí también, ¿verdad? Entonces es bastante. Te recomiendo encarecidamente
pasar por esto en tu
propio tiempo también. Echando un vistazo a esto, el método de tic
aquí es definitivamente, siento que personalmente es un método muy bien hecho
en este caso, ¿verdad? Es muy, mucho código limpio. Es decir, al menos tan alto
como lo he conseguido para ser casi lee como se puede leer
una tasa de texto es como Ok. Ya que receta en esta
entidad tiene combustible y sal combustible y
no está consumiendo combustible. Este,
incluso podrías estar cambiando la nota aquí también y luego tener un no está consumiendo
campos de así. Entonces es un poco más fácil de leer, pero esta es una buena idea y un buen ejemplo
en realidad de cómo básicamente se
puede
configurar algo y que es capaz de
leer fue por supuesto, todos esos cosas, ¿verdad? Podría poner todo esto aquí
en lugar del método
tiene receta, podría poner este,
podría poner esto aquí mismo,
esta expresión booleana. Puedo poner eso aquí mismo. En lugar de tener la cantidad de inserción de
lata en la ranura de salida,
podría poner eso ahí. Pero el tema es que si
le echas un vistazo a
esto, te va a llevar al menos como unos buenos cinco segundos estar como, ¿cómo hace esto? De acuerdo, vamos a sacar
el artículo de la ranura 3 y asegurarnos de
que sea exactamente mismo que el exterior y o
asegurarnos de que el artículo sea alcantarillado
vacío básicamente comprobando si podemos o no ahora insertar en la ranura de salida, ¿de acuerdo? Pero se puede ver que simplemente tiene mucho más
sentido
describirlo en un método muy bien llamado en lugar de simplemente
ponerlo ahí. Entonces eso es sólo un lado rápido para una especie de un poco de cosas de
programación limpias, cosas código
limpio,
pero eso es
más o menos toda la entidad de
bloque hecha. Por lo que esto ahora funcionaría. Ahora lo último
que tenemos que hacer es añadir cosas
a la pantalla. Ahora, esto también voy
a copiar y voy a explicar, esto va a ser,
bueno, aguanta conmigo aquí. Para que veas,
básicamente estoy preguntando el menú, Hey, nuestra recrafting, este es el método que
teníamos aquí, ¿verdad? Y entonces tiene pocos método debe ser bastante
autoexplicativo. Estos son los métodos
básicamente obteniendo de los datos y luego solo
asegurándose de que hey, ¿ está
aumentando el progreso de la artesanía o es más de 0? Y entonces aquí el combustible
no es más de 0 también. Pero esa es la idea
general aquí. Y luego una vez que la calidad
blitz justo aquí, y luego nos estamos metiendo en
algunas cosas locas porque ahora de repente tenemos algunos
valores locos Bueno aquí tenemos x plus 8422, el offset. ¿ Qué es, qué es toda
esta locura? De acuerdo, vamos a
pasar por esta pieza por pieza. Por lo que tenemos un valor x y un y. Ahora el valor x y el y determinaron dónde
empiezas a dibujar algo. Entonces, ¿qué
significa eso? ¿A qué te refieres con donde empezamos a
dibujar algo? Bueno, x e y en este caso, básicamente siempre ser
la esquina superior izquierda de la GUI. Ve aquí mismo. Y luego si pensamos en esto, pero 84 a la derecha y 22 abajo, vamos a ir
84 a la derecha y 22 abajo y luego
terminamos aquí mismo. Ahora sólo
lo sé por el momento. Una vez más, tienes que
tomar photoshop, Paint.NET y
asegurarte de que te alinees. Esto básicamente
contará los píxeles. No hay otra forma de evitarlo, pero empezamos a dibujar aquí mismo. De acuerdo, ¿qué se
supone que vamos a dibujar? Bueno, se supone que debemos
dibujar esta flecha. Está bien, eso es interesante.
¿ Cómo dibujamos esto? Bueno, en primer lugar,
el offset ahora es ¿qué estamos queriendo dibujar? Entonces queremos dibujar empezando
aquí apenas, ¿de acuerdo? lo hemos hecho.
¿ Cuál es el offset? El desplazamiento que puedes ver es un 17614 para un 176 es
en realidad justo aquí, y 14 está justo aquí, sin embargo. Ahora como que se
junta, ¿verdad? Queremos dibujar esta
flecha a partir de aquí. De acuerdo, eso tiene sentido. Ahora, lo que son los
dos últimos valores para los dos
últimos valores es la altura y el ancho de la imagen que
queremos dibujar. Otra
cosa realmente genial entra, porque estamos tomando el progreso de la
escala aquí mismo. Lo que pasa es que a
medida que esto aumenta el, aumentamos el ancho de esta
flecha que se está dibujando. Entonces eso es lo
realmente genial. Entonces si yo solo pudiera poner
también en 2006 y entonces toda la zona
estaría siempre presente. Pero debido a que
lo estamos sincronizando con el progreso de la escala aquí, aumenta
el ancho que
se está mostrando. Esa es la idea general. Recomiendo encarecidamente una vez más, jugando con los números
aquí, porque de lo contrario, los viejos de sangre son muy complicados de
entender realmente en algún momento, todavía
tengo que jugar
con ellos un poco. Simplemente es lo que es. Y luego para el combustible, admito que
básicamente acabo de tomar
las cosas de combustible
del horno real porque tienes que sumar el progreso de campo máximo aquí y luego restar tu báscula
progresar tres veces, una vez por la altura, lo cual
debería tener sentido, ¿verdad? Porque ahora básicamente estamos
restando la altura aquí, básicamente
estamos diciendo que estamos, estamos empezando aquí
y luego restando ahí
abajo, cosas así. Es sólo locura. Simplemente recomiendo muy bien. Una vez más, echando un vistazo aquí, definitivamente
puedes echar un
vistazo a ejemplos de vainilla de esto. De lo contrario, se
trata solo de experimentación. Por lo que aún necesitamos una receta. Entonces en nuestra carpeta de datos, recetas del curso
MC, voy a copiar sobre
el pico cobol del bláster cobalto. Y se puede ver
lo que esto hace es básicamente tenemos
dos ingredientes, son tipo es MC curso
cobol plástico, y tenemos el pico dorado
y el cobalto en buena. Y tenemos que poner,
en este orden, y entonces la salida
va a ser un cerdos cobalto. Entonces eso en realidad sí
suena bastante guay. Y como dije, ahora
puedes hacer tantas recetas diferentes
como quieras. Una de las limitaciones, digamos con
esto es que Bueno, siempre va a
tomar el mismo tiempo. Bueno, podrías,
por supuesto también hacer es agregar el progreso máximo
al archivo JSON. Solo tienes que cambiar un poco el
serializador y luego básicamente agregar esto
también. Todo esto funciona. Esto es sólo
cuestión de básicamente, bueno ajustar un poco
las cosas y cambiar algunas
cosas alrededor. Pero ahora veamos si funciona
o nos encuentra en Minecraft. Entonces, primero que nada pongamos
el cristal cobalto real o hacia abajo y todo
parece estar funcionando. Todavía podemos poner algunos dentro. Veamos ahora el oro pick X en la parte superior y luego una
Inglaterra cobalto en la parte inferior. Y ahí vamos. Se ha iniciado el avance. Ahora hemos creado un
hacha de pick que es realmente genial. Y lo que
podrán ver es que si meto otro, no pasará nada
porque claro, vamos a recoger ejes no se apilar. Por lo tanto, tengo que
sacar esto y
sólo entonces vamos a volver a fabricar. Se puede ver que el combustible es, vamos constantemente bajando. Por lo que constantemente está
asumiendo el combustible. Y lo que
también podrán
ver es que si yo, por ejemplo, ahora salgo del mundo
otra vez y vuelvo a entrar, verán
que el
combustible en realidad
se ha mantenido el mismo nivel
tal como lo haría con, por ejemplo, un bloque o un
horno o algo así. Entonces eso es bastante guay. Para que pueda echarle un vistazo
y ahí va. Un combustible progresará
es lo mismo. Y una vez más, ahora
puedo simplemente poner esto porque
todavía nos queda combustible y todavía
vamos a poder fabricar esos el tiempo que queramos. Y los hígados del curso también
seguirían funcionando por cierto, todo aquí funcionando exactamente
como quisiéramos que lo hiciera. Y ahora esto, hay que admitir que es bastante
genial, ¿no? Por lo que una vez más, esto empieza
a ponerse muy avanzado. Por lo que recomiendo encarecidamente, una vez más,
tomarnos nuestro tiempo con esto ,
los dos métodos, correcto, con la entidad de bloque y la serialización de la receta del cliente
aquí es bastante. Pero también aparte de
algunas otras cosas, esta es probablemente una de las cosas
más complejas
que realmente podemos hacer. Es decir, la generación mundial, en realidad
diría, es probablemente un poco
más complicada sólo porque a veces
puede ser así. Pero en general, creo que
esto es realmente genial. Tienes un
ejemplo realmente bueno aquí mismo. Lee todo el código una
vez más disponible para ti en el repositorio de GitHub y
un individuo igual de bien. Así que sólo échale un vistazo, se
copia, juega un poco con los
números. Y ojalá entonces
puedas
solo tener una idea de cómo funciona todo
esto, ¿verdad? 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. Entonces, sí.
90. (Avanzado) madera personalizada: Muy bien, bienvenido de nuevo
al curso de forraje por 118. En esta conferencia,
vamos a estar agregando madera
personalizada a Minecraft. Entonces, a pesar de que este
es un tema avanzado, definitivamente va a ser
un poco más fácil que las entidades de bloque y la serialización de la receta del
cliente. Entonces pensé que básicamente
vamos a sumar una o dos conferencias
poco más fáciles aquí antes de saltar la generación mundial
porque eso
va a ser un todo,
otra bestia. Entonces para nuestra costumbre lo haría, necesitamos una clase de
bloque personalizado en realidad, por lo que en nuestro
paquete personalizado haga clic derecho nueva clase Java llamada
el mod lambda girará bloque de Hitler, un nombre largo, pero esto lo que va a ser
y esto va a extender la clase de bloque de
pilares girados. Y sólo vamos a pasar el rato
sobre este constructor concreto coincidente súper nos molesta. Podemos simplemente hacer clic en
él, presionar Shift F6, y luego cuyas propiedades
aquí para el nombre. Y voy a copiar sobre los tres métodos que
necesitamos anular. Es decir, el
método es inflamable se devuelve verdadero. Obtienen necesidades de inflamabilidad para devolver cinco y se
esparcen el fuego. También necesita devolver cinco. Ahora, ¿por qué estamos haciendo esto? Bueno, porque todos los
bloques de pilares
girados que tenemos, básicamente
vamos
a ser la madera,
la tira lo haría el
tronco y el tronco de tira. Todos esos están bien, deberían ser inflamables. No obstante, por defecto no
lo son. No estoy un 100 por ciento
seguro de por qué es ese el caso. Y también podríamos hacer clases
anónimas
para cada uno de ellos, pero eso sólo
va a desbaratar la totalidad de nuestra clase de
más bloques. Entonces para estos, elijo básicamente,
bueno, lo que esto en una
clase de bloque o ambos los tablones. Y luego más tarde en una
conferencia posterior, las hojas, realidad
vamos a hacer
esto en clases anónimas. Pero vamos a ver
esto en tan solo un
momento en que nuestra clase de bloques de motor, Vamos, ordenemos copiar
sobre el lanzador cobol. Y vamos a
hacer de esto el registro de
subrayado de flor de cerezo subrayado. Y luego lo mismo, lee tu registro de
subrayado de flor de cerezo. Y luego se trata de un bloque de pilar
girado MOD o más inflamable
girado. Ellos atrás, éste en realidad copiará no un
material sino un bloque. Entonces esto va a
ser bloques punto OK, subrayado, así que
log que vas. Y entonces
realmente tendremos oclusión aquí y el resto
va a estar bien. Entonces esto es
más o menos lo que necesitamos. Y luego necesitamos copiar esto cuatro veces para que aquí
tengamos cinco
instancias diferentes. El segundo va
a ser la flor de cerezo iría y luego lo haría
aquí en el nombre también, Es muy importante
que cambies los nombres. Y entonces aquí simplemente copiamos
básicamente de la madera de roble en lugar
de la glog. Esto realmente no debería hacer
tanta diferencia, pero yo solo soy, ya sabes, todavía
me gusta hacer esto. Entonces tenemos la tira
subrayada tronco de flor de cerezo. Por lo que esta va a ser la tira bajo cerradura de botón del interruptor. Y luego aquí, esto por supuesto
también se va a copiar
del guión. Ok, debería aplaudir el ego. Y entonces esto va a ser el estricto subrayado flor de
cerezo, subrayan la madera. Y este también es el por supuesto, despojado de Cerezo Blossom, lo
harían hace. Y luego por último pero no
menos importante aquí copia de la madera de roble despojado. Ahora éste de aquí son solo tablones de flor de
cerezo. Ahora es importante que sean
tablones en liberal. Y este es cual
bloque puede ser? Bueno, si no hay ningún bloque
normal en realidad. Y entonces lo que
vamos a hacer es simplemente formatear esto un
poco diferente. Y esto se va
a por supuesto, tomar los aviones bloques de tablones. Y luego después del segundo
parámetro, en realidad, lo que hacen las mujeres es
querer poner un corchete rizado y
luego simplemente golpear enter. Sólo voy a
copiarlo otra vez. Entonces esos son solo
los tres métodos que vamos a
necesitar un escaneable, conseguir inflamabilidad
y propagación del fuego. Y ver que los números aquí, somos un
poco diferentes. Entonces esta es también una de las razones por las que no
podemos usar este bloque. Esta fue otra que
vamos a ver en tan solo un momento. Esa es la idea general. Y entonces todos nuestros bloques
están realmente registrados. Entonces eso es bastante guay. Todas las cosas consideradas, correcto, vamos a agregar un método
más al bloque de pilar girado inflamable
MOD. Y ese va a ser
éste de aquí. Entonces sólo voy
a llevar esto. Esto es por supuesto, todo
disponible para ti en el repositorio de GitHub y
un individuo igual de bien. Y esta es la buena herramienta, método de estado
modificado. Entonces básicamente la idea
es que estamos comprobando si se
hizo clic derecho o no con un hacha. Si lo fue, entonces lo que vamos a hacer es que básicamente
vamos a decir, oye, si esto es un tronco de cerezo en flor, vamos a convertir
esto en un blog de striptease. De lo contrario, si es una pérdida lo haría, entonces lo vamos a convertir en madera de cerezo
en flor. Esa es la idea general aquí. Y entonces solo nos estamos
asegurando de que el eje se mantenga igual en este
momento, no
podemos, no solo vamos a hacer
el estado de bloque predeterminado entonces también
enviaremos el acceso
real también. Esa es la idea general aquí. Si tienes muchos
registros diferentes, entonces en teoría
también tendrías que añadir siempre
estas declaraciones if. También puedes hacerlo
como en el elemento ACS. Entonces si realmente milimoles
por click en este accidente, puedes ver que hay una cuadra
para bloquear mapa aquí mismo. Te recomiendo encarecidamente que hagas algo
como esto también. Si tienes una
cantidad loca de diferentes bloques, troncos y básicamente
te gustaría haber despojado Eso tiene mucho sentido. De lo contrario, esto va a
ser totalmente viable en este
momento a la
parte favorita de todos de los archivos JSON. Esos son una vez más, por supuesto, todos disponibles para ti en el repositorio del laboratorio o un
individuo igual de bien. Yo sólo voy a
copiarlos. Ahora, en general,
no son tan interesantes. Por supuesto, para todos los bloques de filtro
girados, tenemos un eje aquí
como se puede ver. Y luego básicamente
solo apunta a diferentes modelos y
gira el bloque alrededor. Eso es todo lo que hay a ello. En realidad es todo lo
interesante ahí mismo. Y añadamos también la
traducción porque lo contrario
posiblemente la olvidaré, que por supuesto
no queremos aquí mismo. Simplemente voy a agregar estos troncos, tablones harían las
variantes de script también. Los modelos para los
bloques son, bueno, un poco, mientras que,
hay algunos más, no
son tantos. Tenemos la madera, la palabra normal, los
despojados también. Entonces vamos a copiar esos más también en
la carpeta de bloques. Siete de ellos en total. Básicamente sólo
tienen padres diferentes, pero siempre tienen
las mismas texturas. Entonces el final, esto es solo la parte superior del bloque
real para el registro. Y entonces los lados es simplemente
básicamente la corteza a su alrededor. Para los modelos de artículos, solo
tenemos cinco modelos de
artículos, por supuesto. Son y son como
las cosas más básicas de la historia. Por lo que simplemente todos se ven
como este estado todos solo
apuntan el archivo de modelo de
bloque normal. Y luego por supuesto, por
último pero no menos importante, las texturas
también. Ahí lo tienes. Esas son también cinco texturas. Y luego después de que hemos
agregado todo esto, hay una
cosa más interesante que queremos agregar. Y eso va a ser si etiquetas en la carpeta de Minecraft, etiquetas, bloques, y luego solo
copiaré esto. Estos son los troncos y
los troncos que se queman. Veremos realmente
que tendríamos que añadir otro aquí. Como se puede ver que
esto en realidad apunta a la etiqueta de troncos de
flor de cerezo curso. Y queremos agregar una
etiqueta personalizada aquí mismo también. Por lo que este va
a ser los blogs de
flor de cerezo también
copian esto más. En este punto, hemos visto
esto un montón de veces. Y solo quiero agregar básicamente todos nuestros registros ahí dentro. Esta es la palabra y variantes
descriptivas también. Si lo agregas a los
troncos de esa quemadura, eso básicamente
te permitirá colocar esto dentro de la ranura de combustible del horno
también para que básicamente
puedan quemarse. Y esa es la idea
general aquí. Y en los troncos cuando lo
necesitamos para si posteriormente
agregamos las hojas, entonces el arrendamiento no se descompondrá cuando estén cerca de
cualquiera de estos bloques, y eso es más o menos
todo lo que necesitamos hacer. Entonces, veamos si funciona. O en Francia como un microondas puede ver toda la madera se ha agregado
con éxito
al juego y se ve absolutamente increíble. Para que puedas ver, puedo
ponerlo abajo y
sólo veamos estas variantes
también. Ahí lo tienes. Y, y también los troncos, más bien los tablones, supongo. Entonces si hago clic con el botón derecho en
estos, entonces puedes ver que también puedo obtener
la varianza de tira. Entonces todo está
funcionando exactamente cómo
pensarías que terminaría
como se pretende, ¿verdad? 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í.
91. (Avanzado) Sign personalizada: Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta conferencia
vamos a estar agregando letreros
personalizados a Minecraft. Para el signo personalizado es, bueno, tiene algunas peculiaridades
en él que, pero sólo vamos
a básicamente tomó, echar un vistazo en este momento. Entonces para los letreros personalizados, pero vamos a necesitar
es vamos a necesitar, primer lugar, una entidad de bloque de
signos. Por lo que en nuestro paquete de entidad, haga clic derecho en nueva
clase Java llamada la entidad de bloque de signo de
modo. Y esto se extenderá. La entidad de bloque de signos colocará sobre este super de coincidencia de
constructor de crear, y luego anularemos
el método getter. Entonces aquí podemos poner
algo aún. Entonces solo voy
a hacer un error aquí para que tengamos esto. Entonces vamos a necesitar
los bloques para esto. Vamos a necesitar
dos cuadras por aquí. Además, hay que crear clases de bloque
personalizadas. Esto a veces puede ser
realmente molesto para el signo. No estoy seguro de por qué
es así de bien, complejo de hacer, pero es
justo como va a ser. Esto va a ser un bloque de
letreros de pie. Por lo que Mott de pie
lóbulo lateral extiende este. Simplemente vamos a
dejar esto tal como está. Y aquí en realidad
solo queremos anular una cosa
y ese va a ser el nuevo método de entidad de bloque. Entonces aquí lo que vamos a
hacer es hacer una nueva entidad de bloque de signo de modo con la posición y el
estado y el estado que hace. Eso va a estar bien.
Y luego vamos a hacer otra clase que es el bloque MOD ALL IN,
que extiende el bloque de
letreros de pared. Hace también crean
constructor coincidente super. También copiaremos
sobre este método. Una vez más, por supuesto, todo el código estará
disponible para ti en el repositorio de GitHub y
un individuo igual de bien. Porque ahora realmente voy a
hacer un pecado cardinal y voy a copiar sobre lo que
necesitamos en la clase de bloques de barro. Y ya verás necesitaremos una clase mod Wood Types
también porque como ya he dicho, no sé por qué, pero
es absolutamente una locura, pero sin preocupaciones vamos a
pasar por esto. Entonces mod haría tipos, y esto va a
tener uno campos estáticos. Tan público tipo estático
o flor de cerezo. Y esto es igual a tipearía. Esa tasa. Jerez subrayado flor. El ego. Eso es todo lo que necesitamos
poner aquí y luego aquí. Y luego en los bloques de lodo, esto también debería funcionar. Por lo que ahora funcionan los bloques. Entonces ahora lo que podemos hacer en
las entidades de bloque de modo, en realidad
puedo copiar esto más. Esto es más o menos
exactamente lo mismo que esto. Como puedes ver, solo tenemos la entidad de bloque de signo mod año
siguiente a la entidad de bloqueador solar. Si tienes múltiples signos
diferentes, lo que tienes que hacer
es no tienes que cambiar estos bloques. Solo tienes que agregar
para considerar dos bloques aquí y puedes agregar
tantos como quieras. Entonces básicamente solo
agrega más bloques aquí y entonces debería, en teoría trabajar igual
con éste. Entonces ahora aquí
solo vamos a decir entidades de bloque
mod,
entidad dot get. Y entonces eso debería estar
bien también para otro
cliente firmando básicamente qué nuevo
tipo de madera a nuevos bloques aquí. Y lo que verán es
que estos bloques que se registran en lugar del método de bloque de
registro, porque tenemos que tener un ítem separado para que esto
vaya a ser los ítems de signo. En realidad también copiaré
esto una vez más, todo esto está
disponible para ti en el repositorio de GitHub y un
interauricular igual de bien. Esto va a ser
esto aquí mismo. Así que vamos a quitarnos la durabilidad y sólo
vamos a apilar a 16 como cualquier
otra línea sería. Además, puedes ver que el elemento de
signo aquí realmente requiere que pongas
el seno y el letrero de
pared también. Entonces eso es otra cosa
importante aquí mismo. Y aparte de
eso, también tenemos una cosa más fueron un par de cosas más dentro
del curso MC, masa. Por lo que en la parte inferior aquí, necesitamos llamar teclearía
importante class dot register, mode haría tipos
dot Cherry Blossom. Necesitamos registrar este método de configuración
inclinado. Y luego en el método de configuración
normal, necesitamos hacer dos cosas. Entonces el número uno es el renderizador de entidad de
bloque. Renders renderizadores muy
importantes. Modo de registro, bloquear entidades. Ahora firma bloque entidad dot get, y luego el renderizador de signos
aquí, colon, colon nuevo. Entonces debajo de esto queremos llamar hojas dot add teclearía, mod, mod teclearía estrella, cerezo, van. Y eso debe ser finalmente todo lo que necesitamos en
términos del código. Por supuesto todavía
necesitamos los archivos JSON. Y cuando se trata de
los días, y para nosotros, en realidad
necesitábamos los archivos JSON para los estados de bloque también para
asegurarnos de que tienes eso. Y entonces lo mismo
va para la traducción. Entonces, solo agreguemos esto. Tenemos la traducción
para el letrero. Y luego solo agreguemos
los modelos de bloque también. Los Pilares son en realidad
una especie de interesante. Entonces en realidad sólo hay
un modelo de bloque porque ambos apuntan
al mismo porque este modelo de bloque sólo
tiene partículas definidas, estas son las partículas que
se van a ver en cuando destruyes el signo real. Si bien el modelo de
elemento de signo de flor de cerezo se ve así. Entonces es simplemente apunta a un
elemento la textura es por supuesto, una vez más en el elemento la
textura va a ser, bueno lo mismo y tenemos el mismo artículo para dos bloques
diferentes. En este caso,
vamos a tener un
signo normal de flor de cerezo aquí mismo. Esa es la textura del artículo. Ahí vas. Y eso son todas las cosas
que vamos a necesitar. Entonces una vez más, todo esto está
por supuesto disponible para ti
porque una vez más, es ejercicio muy circular
y puede ser un poco molesto. Entonces encontré que los signos eran algo desconcertantes en
su complejidad. O lo que básicamente se puede hacer
al final con él. En realidad vas a
necesitar una textura más. Y eso va a ser real como textura de cereza
en el fondo. Y esto tiene que estar bajo el espacio de nombres de
Minecraft otra vez, así que activos, texturas de Minecraft. Entonces en lugar de
la carpeta entidad, vamos a
necesitar carpeta signos. Y luego dentro de ahí
el cerezo en flor PNG. Y ahora después de haber
agregado todo esto, Veamos si funciona. O en Francia como micro lente, vemos que se ha agregado el bloque. Ahora no tenemos la traducción
correcta, pero eso es por supuesto
muy fácil de arreglar. Vamos a ponerlo abajo y
podemos escribir algo. Entonces por ejemplo,
realmente buena palabra, caballo y hecho y
se queda ahí. Y también
lo podemos poner en una pared aquí. Como puedes ver, todo funciona bien, exactamente como lo esperarías. Y también acabo de arreglar
la traducción aquí. Entonces ahora todo
debería funcionar para el expediente que ya lo tiene
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í.
92. (Genero mundo) crear un árbol personalizado: Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta conferencia
vamos a estar agregando un árbol personalizado al árbol micro acostumbrado.
Bueno, espera un segundo. Ya hemos agregado la costumbre escribiría en nuestra clase de bloques
modelo, podemos ver que hay algunos
tablones tendrían los troncos, pero casi todo lo que ya
tenemos. Bueno, ¿qué no tenemos? No tenemos un árbol
y no tenemos hojas. De acuerdo, entonces lo que
vamos a hacer es que vamos a copiar sobre la flor de
cerezo una tabla una vez. Y entonces también
voy a copiar sobre el guión lo haría aquí mismo. Vamos a necesitar uno
para las hojas de
subrayado en flor de cerezo y luego va aquí en el nombre también. Por supuesto, hace que esto
va a ser un bloque de hojas. Se van y luego esto se
va a copiar las hojas de roble. Y la inflamabilidad de
esto en realidad va a ser de 60 y la propagación del fuego
va a ser de 30. Porque las hojas son
increíblemente inflamables. Y ahora echemos un vistazo al árbol
de Cherry Blossom
en la parte inferior aquí. Entonces esto es muestreo. Y luego lo mismo con el
nombre por supuesto también, cambiando eso a flor de
cerezo subrayan el ardiente. Este va a ser un bloque de
árboles que
arrojará un error porque necesitamos darle,
como pueden ver, un cultivador de árboles abstracto y esa clase que vamos a
crear en este momento. Y eso va a entrar en
nuestro paquete del curso MC, haga clic derecho en nuevo
paquete llamado mundo. Y hemos empezado
a aventurarnos en la generación mundial dentro de su nuevo paquete llamado comedero. Y luego dentro de ahí
vamos a hacer otro paquete llamado árbol. Y ahí pondré
el árbol crecer en esta nueva clase Java llamada el cultivador de árboles en flor de
cerezo, que extenderá
el árbol abstracto. Crow se colocará sobre
este Métodos de Implementación porque necesitamos implementar el método de entidad get configure. Y quiero decir que eso es
más o menos todo lo que necesitamos hacer. Ahora
volveré a
hacer deliberadamente un error
aquí mismo para que no me olvide pasarlo en este método porque aún no hemos creado la
característica configurada que necesitamos. Pero lo que podemos hacer
es que ya podemos hacer una nueva fila de
árboles de cerezo en flor para que aquí todo esté bien y la
clase más bloques se haga más o menos. Ahora tanto para el arbolito
como las hojas que necesitamos dentro de la
clase de curso MC en el método cliente, voy a copiar sobre
la explosión o recortar aquí y vamos
a decir hojas y también
vamos a dicen el
ardiente que hace que ambos tenemos las hojas
y el arbolado en
recorte de capa de render, claro. Y luego primero
que nada seguiremos terminando los
bloques aquí mismo. Entonces solo vamos a copiar sobre la hoja y la etapa de
bloques de arvejas Jason. Ahora esos están por supuesto
todos disponibles para ti en el repositorio de GitHub y
un individuo igual de bien. Pero se puede ver en realidad
los estados de bloque, muy aburridos, apenas normales estados de
Bloque básicamente. Y luego cuando se trata
de la alquilación, más
o menos lo mismo. Hojas y pequeñas
hojas aquí también. Entonces por supuesto, atractivo
y un desconcertado. Ahí lo tienes. También hay
que bloquear los archivos JSON de modelo. Por supuesto, las hojas una
vez más siendo bastante aburridas, mientras que el ardiente es un
poco más interesante, tiene un padre cruzado y una
textura cruzada a la que apunta. Práctico todo lo que hay a ello. El modelo de artículo también es un
poco más interesante, al
menos para el arbolito. Una vez más, el arbolito, como puedes ver ahora
busca un extra en la carpeta de bloques en lugar
de la carpeta de elementos, pero las hojas son solo archivos JSON modales de
elemento normal como los
has visto
muchas veces ahora para diferentes
bloques básicamente. Y luego vamos a copiar por encima de las texturas aquí
también, sólo tenlas. Y entonces esto
sería más o menos todos los archivos JSON que
tenemos que hacer y ahora podemos
continuar en nuestro paquete mundial. A pesar de que la razón por la que tenemos un mundo paquetes porque los
árboles cuando los engendras, son como una especie de intersección
muy extraña de estar un poco
ya en generación mundial. Entonces, cuando el árbol engendra
del árbol, es un poco de generación
mundial. Así es como
va a ser. Por lo que en el
paquete de características esta vez, haga clic con el botón derecho en nueva clase
Java llamada el mod configurado entre sí. Y este va
a ser nuestro pozo, son mejores amigos por así decirlo. Como inhibidor,
vamos a tener definido
el árbol real. Ahora copiaré sobre la definición
real
del árbol y te
explicaré a medida que avancemos. Entonces puedes ver que esto es
un montón de cosas, ¿verdad? Lo número uno que quiero decir es cuando se trata de
la generación mundial, puede
ser muy complicado. De acuerdo, Así que hay un montón
de partes móviles en todo
el asunto de
la generación mundial. Trataré de explicar todo lo
mejor de mi capacidad. No obstante, si quieres
algo que es muy, muy, muy particular, como quieres tu
gusto, no sé, como el tuyo para engendrar exactamente
a los 35 y quieres
exactamente estos muchos. Va a haber un montón de cosas que tienes que
ajustar, pero sin preocupaciones. Seguro que vamos a
pasar por esto. O ahora, el
cerezo en flor justo aquí. Se puede ver que estamos llamando
característica utils dot register, read registers, basicamente
esta característica configurada. Y luego estamos pasando en
un árbol de características configurado. Por lo que una característica configurada de
tipo Configuración de árbol. Estamos pasando en la configuración del
árbol con un constructor aquí. Y entonces
entra la pregunta, ¿cuáles son todas esas cosas diferentes? Bueno, piensa en esto. Bueno, un bloque dicen
proveedor simple. El primero es
el proveedor de registros, lo que significa que básicamente
tenemos que proporcionar un registro específico que sea el tronco
real de ese árbol. ¿ Cómo se coloca ese triunfo? Bueno, estamos imprimiendo un nuevo placer de tronco
recto. Si me
botón medio del ratón, haga clic en esto, puede ver esto se extiende
el baúl colocar su clase. Y si presiono
Control H en esto, considera diferentes clases de placer
troncal, lo que significa que en teoría, también
podrías crear las tuyas propias. Esto por supuesto, una
vez más, es algo que
definitivamente es más complicado,
más complejo aquí. Entonces por supuesto, todo funcionando. Podrías, por supuesto, hacerlo. No obstante, ahí. Ahora solo estamos, en este punto, ni
siquiera se trata de, oh, tienes que tener
conocimiento de Java en este punto. Vamos un poco de Java intermedio a avanzado. El hacer
placers de tronco primo y
placers de follaje personalizados básicamente involucra
muchas matemáticas también. Por lo tanto, ten eso en cuenta. Entonces el segundo
estado de bloque proporcionado aquí mismo, el tercer parámetro
son las hojas, y esas se colocan, pero dependiendo de los
placeres del follaje, una vez más, botón
medio del ratón haga clic en
el follaje placer y se puede ver que hay diferentes
tipos de placers de follaje. Así es justo como
el pozo real, las hojas se colocan hacia abajo. Y eso es más o menos
todo lo que hay a ello. Y bueno, entonces la última aquí es
el tamaño de la entidad de dos capas. ¿ Qué es esto? Bueno, no estoy
cien por ciento seguro. Por lo que esto básicamente limita
dónde se puede colocar esto. Esa es la idea general. Año sin embargo, algunas cosas
en la totalidad del, digamos generaciones
todavía me eluden también. Entonces no se preocupe ahí. Sea cual sea el caso
, esta es ahora la característica que tiene que
ser devuelta aquí mismo en el Árbol de Cerezo Blossom
los cultivadores iban a decir mod configure característica
cada flor tres, y eso debería
más o menos que sea. Ahora por loco que suene, eso debería ser, eso está hecho. Y ahora el árbol ya
engendraría de un árbol. Son importantes,
No va a engendrar en el mundo todavía. Simplemente vamos a hacer en esta conferencia que engendra
del Arranque para que
podamos harina de hueso ID o un crece a partir de un
ardiente natural. Entonces yo diría, vamos a ver Por obras, o nos encontramos
en microvesículas. Ver los plantones en
flor de cerezo han sido bien añadidos al juego. Entonces vamos a ver sólo si puedo
engendrarlos con un árbol. Y ahí está, si la harina de hueso en ella funciona. Ahora las preguntas reales,
creo que esto está un
poco colocado un poco de cerca. Y también si escuchas exactamente, En realidad
tienes que cambiar
el material por un segundo. Esto sigue usando el material yo
creo que el tablón. Entonces eso por supuesto no está del todo bien. Hagamos lo siguiente. Hagamos una regla de juego, velocidad de garrapata
aleatoria, y solo
aumentemos. Y veamos si esto
crece por sí mismo. Pero parece que el arbolito no
está creciendo por sí solo. Esto probablemente tiene que ver con el material real que
es eso como copiar de. Entonces, solo arreglémoslo rápidamente. Cualquier supervisión aquí mismo, como se puede ver, bloquear propiedades de
comportamiento, copiar bloques despojados, OK. No, Esto tiene que ser arveja de roble. Entonces toma todas las
propiedades del arbolado de roble. Y lo único que necesita
es éste de
aquí, tics aleatorios. De lo contrario no se
va a tomar al azar. Entonces van y, bueno, si hemos agregado esto que
solo por el sake de la finalización, veamos si crece o
si termina de nuevo en Minecraft. Y veamos si podemos
liberar la velocidad de la garrapata. A ver, el que
crece, vamos. Por lo que todo funcionando exactamente
como lo esperarías a los árboles creciendo de
forma natural como bien correr. Y lo que es muy importante
es que la última conferencia o dos conferencias hace
cuando agregamos los troncos, correcto, estos de aquí,
los troncos de flor de cerezo, era muy importante
que añadiéramos a las etiquetas de bloque también. Entonces las etiquetas para los
troncos aquí mismo, y básicamente estamos haciendo referencia a
los troncos de flor de cerezo, que es una etiqueta que tenemos
en nuestro curso MC, Oda. Y aquí mismo los bloques de flor de
cerezo, muy importante que
esto esté aquí, porque si no tienes eso, entonces las hojas se descompondrán
automáticamente. Aunque estén
al lado de la bitácora. El registro necesita estar en esa etiqueta. De lo contrario no
funcionará en la etiqueta logs. Muy importante. Pero de lo contrario 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. Ah, sí.
93. (Generación de árboles personalizados: Muy bien, bienvenido de nuevo
al curso de forraje por 118. Y en esta conferencia
vamos a estar agregando generación de árboles
personalizados
a Minecraft. Por lo que hemos agregado el
árbol desde el arbolito. Ahora la pregunta
es cómo la FREC, ¿vamos a
meterla en el mundo? Bueno, en realidad, no tan loco. En primer lugar, vamos
a entrar en nuestra
clase de características
configuradas mod está aquí mismo. Vamos a necesitar una
nueva función configurada. Ahora lo que es muy importante
es lo siguiente. En realidad podemos echar un vistazo a algunos ejemplos de
regeneración en vainilla. Altamente, recomiendo
encarecidamente echarle un vistazo a esto. Pero lo que podemos hacer, por
ejemplo, en la clase de entidad, podemos entrar en la clase de entidad y podemos echar un
vistazo a todas las características. Y las características que
no son tan interesantes. Lo interesante
es, por ejemplo, dónde está la característica de árbol utilizada que nuestro
botón central del ratón haga clic en esto, entonces se puede ver que se usa
en la clase de características del árbol. Muy interesante. Y se puede ver ahí,
hay un montón de lugares básicamente donde se ha utilizado
esto. Por ejemplo, vamos sólo a
ir aquí a la OK, y se puede ver que este es
un registro de utils de características. Se ve muy similar a
lo que hemos hecho aquí mismo. Y esto es más o menos
exactamente lo que hemos hecho. Por lo que este tiene un
método especializado aquí en este caso, o todas las características
que utiliza. Pero qué, esto es exactamente
lo que tenemos aquí. Ahora, ¿podemos usar esto? ¿ Dónde está este uso ahora? Bueno, yo soy, si hago clic en medio
del ratón una vez más, puede ver esto se usa,
por ejemplo, en las colocaciones del
árbol. Y esta es la AUC comprobada. Esto es exactamente lo que necesitamos básicamente
implementar ahora. Bueno, si entro en
esto aquí mismo, lo que se puede ver es que
esto es de repente colocó característica que es
fascinante, ¿no? Algo que se ha hecho
es que lo ha sido, la generación
mundial se ha separado un poco que ahora
has colocado características y
configurado características. Y se puede ver que
esta característica de lugar en este caso realmente utiliza
las características del árbol OK, filtrar por suerte, supervivencia, y luego el arrendo de roble. Pero, ¿qué significa eso exactamente? Aquí la idea general es que básicamente revisar esta característica de
lugar sólo
se puede colocar en bloques particulares donde el arvejo de roble también
podría sobrevivir. Esto es
realmente frecuente, cosa
genial que hacer. Y entonces dónde se usa esto? Bueno, esto se usa una vez más en los rasgos vegetales aquí mismo. Por lo que este es muy largo
en este caso. Pero esto es sólo en teoría. Se puede ver que esto es de
repente otra característica
configurada. Por ejemplo, en realidad
tomemos uno que no sea demasiado largo aquí.
Todos son bastante largos. Tomemos los árboles de prados
y luego puedo
botón medio del ratón dar clic en
esto y luego
tienes otra característica policial. Entonces básicamente de donde
vamos
es ir de los árboles en específico,
vamos a pasar de la característica
configurada a
una función de lugar para configurar la
entidad a una entidad colocada. Porque colocé la
característica tiene que ser, tiene que estar en el mundo, ¿no? No puede ser, no se puede tener
no estar en el mundo. Básicamente, he hecho esto
un poco diferente. He recortado esta característica de lugar y básicamente solo lo hice que pasemos de esta característica
configurada
para otra característica configurada, luego yendo a la función de lugar, eso no es un 100 por ciento correcto, pero es casi correcto. Por lo que en las características
configuradas MOD, una vez más copiaré esto y te explicaré lo que
he hecho básicamente. Por lo que se puede ver que
este es el árbol de
cerezo comprobado. Y se puede ver que
lo que hace es también filtra por un
bloqueo de supervivencia. Se puede ver la idea general es sólo que esta característica
configurada ahora, bueno, va a tomar, ya sabes, tiene un 10 por ciento de
probabilidad de tomar este lugar característica
e intento y un 90 porcentaje de probabilidad de
tomar este lugar característica obviamente siempre va
a ser la misma característica. Entonces esto sólo un
poco de un hackeo. Probablemente no sea la forma
más limpia de hacer esto,
pero esta es la forma en que lo
encontré sin tener que agregar otra característica de lugar que una función de configuración y otra función de lugar
y así sucesivamente y así sucesivamente, porque sí tiende a
complicarse mucho. No obstante, siempre puedes seguir la plantilla de vainilla,
también muy recomendable. Tienes que estar echando un vistazo
en la generación mundial. Tienes que echar un
vistazo a las clases, ¿verdad? También pueden entrar en el
paquete del ratón medio, haga clic en esto y se pueden
ver todas
las características de aquí. Podemos ir a la colocación, podemos entrar en el paquete de
colocación. Se pueden ver todas las
colocaciones aquí mismo. Podemos entrar en la generación
a los rasgos vegetales. Una vez más, en las características, podemos ir a las colocaciones. Ahí está esto también debe estar
en la colocación es correcta. Tenemos todo esto a tu
disposición. Tienes que estar echando
un vistazo a esto es ahora la generación del mundo
realmente se complica
a los
ricos en ciertos puntos. Y sólo hay que, bueno, echar un
vistazo a los ejemplos de
vainilla. Este es probablemente uno de los mejores recursos que
tienes y está bien ahí, sea cual sea el caso, ahora
tenemos la función
configurada. Todavía necesitamos una
característica de lugar sin embargo, solapando el paquete de características haga clic con el botón derecho en nueva clase
Java llamada los menos comedores modales
y agregue eso ahí. Vamos a hacer una nueva, colocados unos a otros por un
tiempo exactamente lo que
tenemos y eso va a
estar siguiendo una una vez más, vamos a copiar sobre todo el
código está disponible para ti en
el repositorio de GitHub y
un individuo igual de bien. O esto no es tan complicado. Se puede ver llamamos a una
colocación utils dot register y luego la flor de
cerezo colocada, y luego estamos tomando
el árbol checado. Entonces esta es la
característica configurada que devolverá ya sea esta característica de lugar o
esta característica de lugar, ¿verdad? Por lo que el filtro por bloqueo de supervivencia. Eso es exactamente correcto. Eso es exactamente lo que
queremos. Por lo que sólo tendremos, tendremos árboles que engendran donde se podría colocar
el
árbol de cerezo en flor. Esa es la idea general aquí. Y luego estamos haciendo de
esto una característica de lugar agregando la colocación del árbol de
decoración vegetal. Y entonces solo estamos
agregando conteo extra. Entonces esto es justo el
número de árboles que engendrarán. Pero si no me equivoco,
lo que esto significa es que esto significa que en promedio un árbol por
trozo debe desovar con una probabilidad
del 10 por ciento de tener dos esporas más. Creo que así funciona. No estoy un 100 por ciento seguro, pero también
puedes echar un vistazo al método de colocación
del árbol aquí
mismo y ver que esto toma en modificador de
colocación un lugar
modificando o este caso. Podemos entonces ir en el
modificador de colocación y podemos ver, bueno, está bien, esto no
revela nada. Bueno, vamos a presionar Control H.
Y de repente podemos ver un montón de modificadores de
colocación diferentes. Incluso hay filtros de colocación, que me parecen realmente geniales. Entonces puedes tener cosas
como filtros de rareza, que básicamente en promedio
cada uno de estos muchos trozos, creo que así es como funciona. Y luego se puede tener
la colocación repetida. Algunos recuentos basados en ruido. Increíblemente cool, simplemente
absolutamente frecuente, increíble. Aquí hay un montón de cosas. Una vez más, el abierto a experimentación
intenta, sin, echar un
vistazo al código de vainilla, cómo se usan las clases, solo recomiendo encarecidamente
hacer eso. Ahora Se
ha creado la característica colocada, pero de alguna manera necesitamos
generarla Exactamente. Entonces en nuestro paquete mundial, haga clic derecho en nuevo
paquete llamado Jen. Entonces esto forma entonces
el paquete mundial. Sé realmente hablado inteligente. Y luego ahí dentro
vamos a hacer una nueva clase Java llamada la generación de árboles moderna. Y entonces esto se
verá como sigue. 1 segundo, copiaré aquí
todo el método, pero voy a explicar todo. Entonces este es el evento de
carga del bioma. Bueno, vamos a llamar a
esto en un momento. Pero lo que puedes
ver es que
en realidad no es tan
complicado, ¿verdad? Por lo que esto engendra el árbol real. ¿ De acuerdo? Lo que vamos a hacer
es que sólo vamos a conseguir la clave de recursos de este bioma en particular que estamos cargando actualmente, ¿verdad? Y entonces sólo
vamos a asegurarnos, hey, es este bioma sí, hacer los tipos de este
bioma contienen placas, pero básicamente en todos los diferentes
tipos de aviones bioma, estoy como, Sí, vamos a añadir el cerezo colocado
característica justo ahí. Entonces estas dos llamadas, ¿verdad? Por lo que conseguir la base de listas, las características del lugar
del
proveedor para la decoración vegetal
aquí es el primer paso, y luego el segundo paso es simplemente agregar nuestra
característica colocada ahí dentro. Este derecho, esto,
estos dos agujeros aquí, estos en realidad agregan
la característica de lugar al bioma en particular. Este año, por supuesto
solo filtra. En este punto, esto no debería
ser demasiado loco para ti. Si lo tienes, eres como, bueno, en realidad
quiero que mi árbol
engendra en un bioma diferente. Solo tienes que filtrar de
manera diferente, ¿verdad? Por lo que solo puedes quitarte
esta declaración if. Podrías simplemente
cambiarlo un poco. No debería estar demasiado loco. Todas las cosas consideradas. Y lo que vamos a hacer
es, así que en nuestro ejemplo, sólo engendrará
en el bioma de las llanuras o en diferentes planos
biomas básicamente. Pero, ¿dónde llamamos a esto ahora? Bueno, en el
paquete mundial haga clic derecho nueva clase Java llamada
los eventos mundiales modernos. Y luego dentro de ahí
lo que vamos a hacer es que primero
vamos a
añadir el modo add. Y luego diremos punto ID de
suscriptor bus evento es igual a MC
core Smart Touch ID. Entonces vamos a tener
un vacío público estático. Sería evento de carga de bioma
con un evento final de carga de bioma,
evento fresco. Y esto tendrá muy
importante un evento de suscripción en la parte superior aquí para
esta anotación. Y luego vamos a decir generación de árboles
modelo en nuestros árboles de enero y
vamos a pasar en el evento. Y ahora se podría decir,
esto no puede ser. Es sin embargo, todo lo
que necesitamos hacer. Ahora, por supuesto, las cosas muy particulares bastante
complicadas, ¿verdad? Por lo que tienes diferentes utils de
colocación, diferentes cosas de colocación de árboles con otra función configurada. A pesar de que hay mucho en esto. No obstante, cuando
realmente lo piensas, en realidad no es tan loco.
Todas las cosas consideradas. Como dije, si quieres un filtrado
diferente básicamente o quieres que tus árboles engendren
un biomas diferentes, solo
tienes que filtrar de
manera diferente aquí. Es decir, básicamente tienes
el evento de carga del bioma. Por lo que deberías tener, ya sabes, tienes la ubicación de
recursos del iamb básicamente
disponible para ti. Entonces, en teoría, deberías poder cambiar fácilmente
el filtrado aquí. Entonces cuando entramos en
Minecraft en tan solo un segundo, recuerda crear un nuevo
mundo porque nos hemos metido con la generación mundial por si
acaso, ya sabes, aún debería funcionar en el viejo mundo si nosotros
teletransportarse lo suficientemente lejos, pero aún así por si acaso, vamos a crear un
mundo nuevo y
veamos si se genera el árbol. O un farmacéutico, un
Minecraft, y ahí va, ya
estamos desoviendo en
un bioma de aviones de girasol. Entonces ahí tienes. Los árboles están desovando y bueno, que es más o menos muéstralos. Sí, está funcionando más o menos exactamente como
esperarías que lo hiciera. Por lo que sólo están desovando
en tipos de aviones, biomas como en realidad
vuelan
por ahí porque la colocación
parecía un poco rara, pero en realidad no debería ser. Entonces puedes ver, o
simplemente están creciendo felizmente en, bueno, los lugares que
pueden, pueden crecer. Entonces esos podrían estar un poco demasiado cerca el uno del
otro, pero ¿quién sabe? Es decir, a estas alturas,
es bastante guay. Y una vez más, una cosa
muy importante. Siempre tendrás que
jugar con los números cuando se trata de
la generación mundial. Porque tal vez eres
como no, no, esto es demasiados árboles. Ya sabes, solo tienes que
jugar con el conteo ellos, pero en general, los árboles engendran. Entonces una cosa en particular con la que
puedo decir cuando se
trata básicamente de
la generación aquí, qué podrías hacer si
, por ejemplo, quieres que tu árbol
sea increíblemente raro, podrías hacerlo 0 y
luego tienen algo así como una probabilidad del
0.1% de que otro árbol
desove algo así. Pero por supuesto, ya sabes, solo
puedes jugar con
esto también es muy recomendable. Una vez más, sólo echando
un vistazo a, bueno, las diferentes tres generaciones
de vainilla, ¿verdad? Esto siempre es algo que sólo puedes
echar un vistazo. No puedo recalcar esto lo suficiente. Tienes disponible,
todas las cosas de vainilla. Basta con echar un vistazo a eso y
esperemos que puedas crear la
generación de árboles de tus sueños. Pero eso será todo para
esta conferencia aquí mismo. Espero que hayan encontrado esta
útil neuronas de lo nuevo. Si lo hicieras, te
agradecería mucho que te hicieras una crítica. De lo contrario, los
veo en la próxima conferencia. Entonces, sí.
94. (Generación de flores personalizada: Muy bien, bienvenido de nuevo
al curso de forraje por 118. En esta conferencia, vamos
a estar echando un vistazo la generación de flores de la generación de
harina es en realidad, bueno, otra parte de la generación
mundial va
a ser muy interesante. Así que vamos a entrar en nuestra clase de entidad
configurada. Y aquí, una vez más,
voy a copiar, pero todo como siempre
está disponible para ti en el repositorio y un
individuo también se ajusta. Entonces no se preocupe ahí. Pero lo que vamos a hacer es
que sólo vamos a copiar sobre las filas de tinta. Cada fila justo aquí. puede ver que en realidad
es bastante largo. A ver si podría hacer
algo así. Ahora. Bueno, ahí tienes. Entonces algo así. Vea estamos usando
la flor de la característica una vez más para hacer una función
Configurar, esta vez de
configuración de parches aleatorios con algunos intentos, algunos spread aquí mismo. Entonces lo que puedes
ver es básicamente, bueno si solo
entro a la flor, así millimoles por
click en esto y luego botón
medio del ratón
haga clic una vez más. Podemos, por ejemplo, ver que aquí
tenemos algún defecto de harina. Podemos ver ¿qué es
esto? Por lo que esta sería una
lista ponderada al azar para parche de hierba. Bueno, vamos, realmente no podemos
ver lo que está pasando aquí, pero podemos ver qué está
pasando aquí. Una configuración de parche aleatorio, 96 spread 6, 2. Y luego tenemos este bloque
simple loco loco configurado aquí y
ver que hacemos una configuración de bloques simple. Y luego dentro de aquí,
un proveedor de ruido y mira esta locura, ¿
verdad? Mira a este loco. Entonces básicamente solo tenemos diferentes bloques
que engendramos ahí. La idea de la
configuración del parche aleatorio es en realidad generalmente que le agregues múltiples flores
diferentes. Bueno, en nuestro caso, en realidad
solo le estoy agregando una flor. Entonces sabes qué, en realidad
voy a reducir los intentos aquí para
digamos 32 por si acaso. Y no como muchos de ellos básicamente
serán dueños. Hagamos algo como esto. Eso va a estar
bien. Ahora esta sigue siendo una característica configurada, y por supuesto necesitamos hacer una característica policial a partir de esto. Entonces, una vez más, sólo
vamos a volver a la clase de entidad echando
un vistazo a la flor, Vamos sólo a ir
al valor predeterminado aquí. Dónde se llama ahora esto, por
supuesto, en la colocación
vegetal. Entonces tomemos el, nuestro cálido aquí y entonces podemos ver básicamente esta
es una línea como 71. En realidad, en realidad son 70. Ahí lo tienes. Y entonces básicamente podemos ver que ponemos en gravedad una vez cada x justo aquí
en colocación cuadrada,
spread, mapa de altura,
y luego filtro de bioma. Entonces lo que suelo hacer para
básicamente preparar esto, solo copio todo y luego solo veo lo
que necesito poner ahí. Bueno, lo que tengo es que tengo las siguientes características en nuestro modo
colocado, básicamente
podemos agregar
esto aquí mismo. Entonces va a haber
la rosa rosa colocada. Por lo que puedes ver también tengo
esto y lo único que
no tengo de la colocación
es el filtro de rareza. Bueno, sólo por el bien
de la discusión, esto también. Entonces, solo agreguemos el filtro
derivado. Voy a copiar esto más. Voy a poner esto aquí. Porque lo genial de
lo colocado es que en el lugar uno, ve este punto-punto. Esto significa que podemos poner tantos modificadores de colocación como quisiéramos dentro de aquí, esto es lo realmente genial de las
cosas del lugar. Pero cuando tienes una característica
configurada y haces punto colocado, puedes poner tantos modificadores de
colocación diferentes como te gustaría, lo cual es realmente genial. Y ahora tenemos esta
característica colocada para la flor, pero cómo vamos
a engendrarla en nuestro paquete Jenna haga clic derecho nueva clase llamada la
flor modo, generación de flores. Entonces una vez más,
en realidad voy a copiar el, voy a copiar sobre el
método justo aquí. Pero esto es más o menos exactamente lo mismo que la generación de árboles. Porque por supuesto,
las flores también son decoración
vegetal y sólo
estamos agregando una vez más en el lugar rosa rosa justo ahí. Eso debería ser bastante
autoexplicativo. Todas las cosas consideradas
fueron una vez más, sólo haciéndolo en aviones. Y vayamos a los eventos mundiales
MOD. Y solo llamemos a
esto, no importa en este
caso en qué orden los
llamemos porque ambos son el mismo
paso de generación aquí mismo. Tan pronto como estemos
básicamente en los remos, verás que porque este es un paso de
generación diferente, tendrá que realmente, ya
sabes, defender el
orden aquí mismo. Pero esto es en realidad. Esto es todo lo que
necesitamos para la rosa rosa. Una vez más,
recomiendo encarecidamente echar un
vistazo a todos los ejemplos de vainilla. Hay tantos de ellos. Basta con echarles un vistazo. Más cosas felices,
prueba un montón de cosas. Pruebe un montón de
valores especialmente. Y luego sólo a ver lo que
básicamente pasa ahí. Pero por el bien de la finalización, veamos si funciona, ¿no? Y además no olvides crear un nuevo mundo para esto
porque por supuesto, una vez más, nos hemos metido
con la generación mundial. Entonces veamos si podemos encontrar
nuestras flores o ofensas en un avión es mi casa y
lo están, ya lo son. Hemos encontrado o rosas rosas
desovando en el bioma de las llanuras. Aquí hay un par de más. Y vamos a ver, hay
aún más ahí. Encontremos un poco más. Son un poco
más raras de lo que esperaba con 32, pero eso por supuesto está
totalmente bien. Una vez más, solo puedes
ajustar los números. Creo que aquí también hay tres
unos. Sí, ahí están también. Eso es bastante guay. Entonces eso en realidad es
realmente impresionante y es más o menos cómo funciona la generación de
flores. Una vez más, recomiendo encarecidamente, echándole un vistazo a todas las cosas
de vainilla. Y solo tendrás que
jugar con
los números hasta que se lo pongas bien a una generación
que te gustaría. Pero de lo contrario esto
sería 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 sin embargo. Sí.
95. (Generación de minerales personalizados: Muy bien, bienvenido de nuevo
al curso de fragua para 118. Y en esta conferencia
vamos a estar agregando personalizado o generación a Minecraft por lo que
todos habéis estado esperando. Yo bueno, creo que sí Al
menos la ordenación es una de ellas básicamente siempre la más solicita un tema de muchos de ellos, básicamente los que
definitivamente voy a estar haciendo
básicamente. Y mientras, ¿cómo
hacemos esto o generación, a
dónde vamos? Bueno, en primer lugar,
configuró función nuevamente, y aquí dentro copiaré más dos cosas y luego te
explicaré por supuesto también. Pero el número 1,
necesitamos una lista o
configuración de un estado de bloque
objetivo. Ahora lo que el FREC es esto, bueno, necesitamos esto porque si tenemos un orden
o configuración en particular, en realidad necesita estos minerales
porque necesitamos saber, vale, en
qué estado de roca
debe colocarse, piedra, en la que los bloques se
debe colocar
en un sueño profundo. Entonces esto es básicamente por lo
que necesitamos esta lista aquí mismo, tan básicamente tan simple como esa. Y luego tenemos la
función configurada, su robot. O ahora por supuesto necesitamos
seguir haciendo de esto una característica
colocada. Pero esto ya como
una, algo interesante
y este es el tamaño. Entonces estos deberían ser los lados de la
vena promedio si no me equivoco. Así que ten eso en mente aquí mismo. Y también podemos echar un vistazo
al pozo o característica aquí mismo. Entonces botón del ratón medio haga clic en esto y luego ratón
medio, botón del ratón medio
haga clic en esto y luego podrás
ver esto se utiliza todo
en las características del orden. Pero sólo echemos
un vistazo, por ejemplo, a algo que es
más interesante, el o Redstone por ejemplo. Entonces todo Redstone está
configurado con una nueva lista aquí
mismo de mineral de redstone y Redstone salta tarde
o bien, lo suficientemente justo. Y ahora la pregunta
es, ¿dónde está este uso? Bueno, esto usado en
la colocación de pedidos. Para que se pueda ver el mineral de redstone. Y lo que también
encontrarás es que
hay dos colocaciones diferentes para el mismo o incluso tienes, o diamante o diamante
grande o pájaro diamante. Por lo que es muy importante que solo puedas agregar
múltiples para el mismo o como diferentes características de lugar que tengan diferentes funcionalidades
asociadas a ellas. Por lo que estamos mirando a 41 y 42. Entonces, sólo vamos a entrar aquí. Podemos ver que se trata de una común o colocación, común
o colocación. Y luego incluso hay un método
raro o de colocación que básicamente llaman. Vamos a ver algo
así en un momento. Pero se puede ver que esto como una colocación de rango con este uniforme y un
triángulo como se puede ver. Por lo que hay diferentes tipos de colocación básicamente
para el rango de altura. Y entonces básicamente
solo dices, vale, de qué rango a qué
rango debería el alcance. Y esa es
más o menos la idea ahí. Por lo que es bastante genial y
una vez más puedes simplemente copiar cosas, probar un montón de cosas, y luego ver lo común o la colocación de solo botón central
del ratón. Haga clic en esto. puede ver que es solo
un método privado. Lo que realmente tenemos que hacer
es que realmente tenemos que copiar sobre los tres métodos donde al menos eso es
lo que voy a hacer. Voy a copiar sobre todos esos métodos, haga clic derecho en copiar. Y luego vamos a entrar
a la clase de
entidad y
voy a hacer una clase de modo personalizado o de
colocación. Y luego sólo
vamos a copiar sobre los métodos aquí dentro y
vamos a hacer que todos sean públicos para que
básicamente podamos usarlos para
nuestros propios minerales porque, bueno, sólo están haciendo de nuestras
vidas un minúsculo un poco más fácil, no un 100 por ciento,
pero sólo un poquito. Y luego después de que hayamos
copiado eso, bueno, ahora
podemos usar la función
Configurar para hacer una función de lugar. Entonces en nuestras características colocadas modelo, lo que vamos a
hacer es que sólo vamos a copiar esto y
voy a explicar por supuesto
otra vez. Entonces ahí lo tienes. Tenemos un cobalto o colocado, que una vez más
vamos a registrar con el cobalto o colocar aquí. Y entonces sólo vamos a
tomar el cobalto o que
tenemos encontrar aquí mismo,
la función Configurar. Y vamos a hacer que se coloque con lo común o colocación. Este año deberían ser las venas promedio por tronco
tal y como lo entiendo ahora mismo. Y lo que podrías
estar diciendo: Espera, ¿cómo lo llevas
al 80 negativo? Bueno, con un triángulo,
pero ¿cómo funciona eso? Bueno, lo que
pudo haber visto como pudo haber visto este cuadro, que especie de demuestra a qué alturas engendra ahora el
naranja. Y la idea es que
cuando se hace un triángulo aquí, el punto inferior va
a estar en 80 negativo y el punto en la parte superior
va a estar en 80. Y entonces el
triángulo va a llegar a un punto en básicamente 0. Entonces, en teoría, lo que
debería pasar es que la mayoría de cobalto o
debe engendrar
a, a 0 y luego debe llegar cada
vez menos y menos y menos. Entonces el, ya sabes,
básicamente va a ser compensado aquí. Entonces esto es básicamente un punto de hacer la colocación de hortensias
y el botón central del ratón. Haga clic en esto y en
realidad se puede ver que
también hay agregar aquí.gov y luego una
diferente proveedores de altura. Ahora echa un vistazo
al hipervisor. Entonces voy a presionar Control H. Y ahí está el sesgo al fondo, muy sesgado a la altura
trapezoide inferior, altura lista ponderada
uniforme y
altura constante. Funcionalidad absolutamente increíble que tienes. Puedes hacer tu desove de maneras muy particulares
si quieres que recomienden mucho
echarle un vistazo a esto, muy recomendable jugar
con esta amina básicamente como hasta que tengas tus remos exactamente como
tú quieres que lo hagan. Ahora lo voy a hacer es realmente
voy a copiar la
generación de árboles por aquí. Entonces lo voy a arrastrar
al mismo paquete mientras
mantengo el control. Y vamos a renombrar
esto mañana o generación. Simplemente vamos
a renombrar esto
también , generar ors aquí. Y entonces en lugar de la decoración
vegetal, ahora se
trata de ors subterráneos. Y en realidad también
vamos a sacar esto de la declaración if porque r ors, digamos sólo por
el bien del argumento, en realidad
queremos en todas partes, pero vamos a decir cobalto
o colocado, y que es todo. Ahora la ración de origen
aquí está prácticamente hecha. Ahora esto lo va a
colocar en cada bio. Ahora esto no debe
colocarlo en el inferior o en el final porque la característica de cobalto o
configure tiene una lista aquí mismo de piedra
reemplazable y de estado profundo reemplazable y no de
ni de rack inferior ni
en piedra reemplazable. Y ni siquiera creo que necesariamente
existan. Otro naufragio existe
como prueba de regla, otro o reemplazable también, lo que el resto no
creo que exista ahí. Entonces eso es algo
a tener en cuenta. Entonces las cosas de la piedra final
no existen, ¿verdad? Y ahora este método sólo tiene
que llamarse aquí mismo. Ahora lo que es muy importante
es que tiene que
llamarse por encima de los otros dos. Porque si realmente echamos un
vistazo al paso
de generación justo aquí, se
puede ver que los ors subterráneos ocurren antes de la decoración
vegetal. Por lo que básicamente comienza desde
arriba hacia abajo. Este orden tiene que estar
bien, básicamente mantenido. Y aquí ni siquiera
necesitamos los tipos y en realidad ni siquiera necesitamos la llave porque
sólo vamos a ser como,
Sí, Sólo quería en cada
bioma que va a estar bien. Entonces quiero decir, eso es más
o menos todo que necesitamos hacer
por nuestro cliente. O una vez más,
jugar con los números. Echa un vistazo al código de
vainilla y echa
un vistazo a los
valores de vainilla. Recomiendo muy bien. No puedo recalcar esto lo suficiente. Solo tienes que
jugar con eso y jugar un poco con
los números. Y ahora veamos, después de haber creado un nuevo mundo, por cierto, si nuestro cobol
o su lugar en el mundo. O si respuestas en Minecraft
y como puedes ver, algunas o aquí, ya
generaron perfectamente bien. Eso fue sólo un Eco. Hay un poco
de una vena más grande. Yo en realidad tenía ocho
de ellos, sin embargo. Todo aquí
funcionando a la perfección. Y esto ya concluirá
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í.
96. Exportar tu Mod: Muy bien, bienvenido de nuevo
al curso de forraje para equipo ganador y
esta muy corta conferencia, solo te
mostraré rápidamente cómo puedes exportar tu modelo como un archivo JAR. Entonces vamos a abrir la
terminal y pongamos en barra de
puntos, Gradle w build. Y eso es más o menos todo lo
que necesitas hacer. Entra. Y entonces básicamente
crea el, bueno, el archivo JAR. Lo que tienes que hacer entonces es
que tienes que ir a tu carpeta Build, haz clic con el botón derecho Abrir en Explorer. Entonces en una
ventana de explorador se abrirá y solo
mostraré esto rápidamente. Entonces construir. Y luego en la
carpeta libs aquí mismo, curso
MC, esta es la versión definida dentro de tu archivo
build.gradle. Este es básicamente el
nombre que tomará, y luego puedes tomar esto, ponerlo en la carpeta de tu modelo, puedes ponerlo en un subido para maldecir forraje,
cosas así. Y entonces todo
aquí debería funcionar. Genial. Sí, eso prácticamente ya lo
es para esta conferencia
aquí y después. Entonces si estás viendo
esto en el futuro, deberías tener
otra sección aquí con temas adicionales
que sumaré
voluntad en las próximas
semanas y meses básicamente con
cosas diferentes como barcos, Definitivamente voy a querer
seguir agregando cosas así. Así que mantente atento a
eso si estás viendo esto bastante temprano a cuando el curso realmente
salió y probablemente nada
estará ahí todavía. Bueno, no se preocupe. Definitivamente
se agregarán nuevas conferencias. Por lo que espero que esto te resulte útil y aprendas
algo nuevo. Y ojalá te vea en las próximas conferencias
también. Entonces, sí.
97. (temas adicionales) Actualización de forja (1.18.1): Muy bien, bienvenidos a esta
conferencia donde vamos a actualizar forge a la versión
más reciente. Hemos actualizado forjado antes
en una conferencia previa. Pero sí tiene sentido si
vas a añadir un montón de cosas que haremos en las próximas conferencias para
básicamente actualizar forjar de nuevo. Y por lo general
también es bueno simplemente
mantener tu MOD
básicamente actualizado. No suelen
haber muchos cambios, pero sigue siendo bueno
tener en cuenta. Para esto. Por supuesto, tenemos que cambiar
la dependencia real aquí
mismo en nuestras facturas DOD
Gradle expediente ahora a qué? Para tener que cambiar este bienestar
que sólo vamos a abrir el micro ford.net. Y una nota muy importante
del futuro aquí mismo, recomiendo encarecidamente usar una versión 1181 para los temas
adicionales. bien la mayor parte de esto seguirá
funcionando si actualizas a uno 1800s a la generación mundial y algunas de las
cosas fiscales no funcionarán. Recomiendo encarecidamente
aquí realmente actualizando todavía a una
versión 181, uno 1800s. Y la actualización y todos
los cambios serán cubiertos
en una conferencia posterior. Esto va a llevar
un poco de tiempo porque en realidad hay
algunos cambios significativos. Entonces es lo que es, pero la mayoría de las cosas funcionarán. Es sólo generación mundial
e impuesto, como dije, por favor actualícese a todavía a uno 1800s y luego entrará
1182, esperemos unas semanas cuando todo se haya
resuelto entonces ojalá yo podrán realizar una sección adicional
donde voy a través del proceso de actualización así como cada uno de los
cambios individuales también. Así que tenlo en cuenta, por favor. Muchas gracias. Y
luego asegurándose de que estemos en la última versión y se
puede ver descarga más reciente, Esto va a ser 39079. Y hasta podemos echar un vistazo, por ejemplo, el registro de
cambios aquí. Podemos ver algunos de los cambios que han
ocurrido entre versiones. Bastantes en realidad, porque todavía estamos bastante atrasados en la versión real del
curso. A lo mejor te has actualizado en el
camino también. Eso también podría ser
algo que se podría hacer. Pero por el momento, básicamente
vamos a
actualizar ahora a un 3979. Y si estás viendo
esto en el futuro, lo cual es muy
probable que tal vez tu versión va a ser
un poco más alta ahí arriba. Totalmente bien. Entonces
solo te actualizas a esa. Por lo general no debería haber demasiadas discrepancias
entre ellos. Así que una vez más, esta es la versión que
vamos a actualizar dos, y luego solo carga
el cambio de chica, Gradle cambia aquí en
la esquina superior derecha, básicamente haciendo clic en el
pequeño elefante es que no aparece
y siempre se abre a la pestaña Gradle y luego haga clic en este botón aquí mismo,
hace lo mismo. Y como de costumbre, debería tardar aproximadamente un minuto o dos como máximo. Por lo general, si no debería
haber demasiadas cosas, probablemente en realidad va a ser muy rápido para mí porque ya
he hecho esto. Por supuesto. Si lo has
hecho anteriormente a la misma versión de la
que ya ha descargado todas
estas cosas. Pero entonces podría ir
un poco más rápido, pero no debería tomar
demasiado tiempo. Así que esperemos un segundo. Una vez más, si te estás
poniendo rojo aquí, siempre y cuando sea
sólo info y advierta, no te preocupes en absoluto. Es solo error que
es una especie de problema. Y luego por supuesto, al final
del día, si hay una edificación fracasada, Eso tampoco va a ser bueno. Pero si hay un éxito
construido, casi
se puede pasar por alto
cualquier cosa. Eso está escrito aquí,
eso es en rojo. Aquí estamos construidos con éxito
en dos minutos, 31 segundos. Como dije, a veces
toma un poco más de tiempo, a veces no lleva demasiado tiempo. Ahora nos hemos saltado
muchas versiones, por lo que probablemente había mucho
que básicamente actualizar allí. Pero aparte de eso,
eso es
más o menos todo lo que tenemos que
hacer para actualizarlo. Ahora, normalmente cuando lo
has actualizado, si no hay demasiados cambios, todo debería funcionar. Yo creo que aquí
todo debería funcionar. Entonces sólo vamos
a dejarlo correr y ver si estamos
recibiendo algún error. Podría haber terminado uno, no
estoy 100% seguro. No creo que
haya nada de qué
preocuparse en este momento. Pero claro que aquí el caso
sería simplemente ejecutarlo, ver si tal vez hay
una flecha, tal vez, no
sé algo en los
alimentos, por ejemplo, cambio. Lo harías, por supuesto que
entonces lo verías y luego podrías simplemente
cambiarlo ahí también. Pero en este caso, no creo que nada haya cambiado
drásticamente. Para que una vez que todo se
ha descargado aquí, se
puede ver que vuelve a descargar los activos, básicamente descargando
algunos de los recursos una
vez, una vez más ,
básicamente, para que
todo esté hasta-
fecha. Porque por supuesto que hemos
actualizado la primera carrera después que hayas actualizado también podría tomar un poco de tiempo,
pero no te preocupas. Ya se puede ver que el cliente de
ejecución está en realidad pasando por la tarea
ahora se está ejecutando básicamente. Se puede ver que estamos
pasando por algunas cosas. Aquí mismo. Dice normal. Y luego en la otra pantalla, la ventana del microbio
ya está empezando aquí. Sólo vamos a darle la vuelta a esto y
todo
debería estar funcionando bien. Por lo que debería estar viendo la pantalla
del menú en tan solo un momento. Y ahí estamos. Sí, ahí estamos. Ahí vas. Entonces todo
sigue funcionando muy bien. Mods, curso MC todavía
está aquí. Entonces todo está funcionando
muy bien y no se preocupe en absoluto que hayamos actualizado
la nueva versión forraje. Y ahora podemos
básicamente pasar por las conferencias adicionales que van a ser muy,
muy interesantes. Entonces hay un buen número de temas
interesantes que básicamente
vamos a
discutir en las próximas conferencias. Algunos de los cuales definitivamente son como personalmente mis favoritos. Hay algunas cosas realmente, realmente malditas geniales aquí, pero eso sería más o menos para esta conferencia aquí mismo. Uno muy corto solo
para actualizar básicamente. Y luego podemos pasar por
el resto de las conferencias. Espero que hayas encontrado esto útil y aprendas algo nuevo. Y te veré en
la próxima conferencia.
98. (temas adicionales) agregando gota XP a los bloques: Muy bien, bienvenidos de nuevo
al curso de forja para 118. Y luego esta conferencia,
vamos a estar echando un
vistazo a cómo puedes agregar gotas experimentadas
a tus o bloques. Ahora, se podría recordar
que hay algunos
bloques específicos o como Esmeralda, por
ejemplo, que
cuando la mía experimentó realmente
cae después de extraerla. Se supone que, por ejemplo, tener el
cobalto crudo en nuestro caso, caer y luego después de que lo
olías, obtendrías la experiencia. Ahora bien, este es en realidad un proceso bastante
sencillo. Entonces lo que podemos hacer es
simplemente presionar la tecla Mayús dos veces y
buscar el o bloque, asegurándonos de que marcamos
esta casilla aquí mismo. Y luego vamos
a revisar éste. Y se puede ver que
podemos simplemente para el bloque tiene en un
uniforme int aquí mismo. Y este va a ser el rango de
experiencias
que va a caer. Aunque. En realidad es tan fácil como
ir a tu, por ejemplo, vamos a elegir el cobalto o aunque no
debería tener, esto es solo un ejemplo. Vamos a cambiar este
bloque a o bloquear, asegurándonos de que
escribo esto correctamente. Ahí vas. Voy a presionar la tecla Tab para autocompletar. Y ahora nada debería cambiar. Esto todavía debería funcionar, pero tenemos que agregar un
segundo parámetro aquí. Y eso va a ser un trabajo
uniforme que podrías ver. Y luego vamos a
decir, por ejemplo, algo así como dos
o, o, y luego va a ser una distribución uniforme
entre 24. También podemos pasar el puntero
sobre la oferta. Creo que esto debería, en
realidad no nos ofrece ninguna idea de cómo funciona esto, desgraciado, pero eso está bien. Creo que
ambos son inclusivos. Y también podemos por supuesto comprobar si un botón central del ratón
haga clic en esto de nuevo, y luego el
botón central del ratón haga clic en esto. Puedo ver, por ejemplo,
en la Esmeralda o deberíamos poder ver que lo que están
dando ahí es, por
ejemplo, aquí
entre 37 y lo mismo va para la esmeralda de sueño profundo. Y entonces creo que
hay algo más. Entonces por ejemplo, en
el diamante o sí, claro que
también sería el caso. Este también se pone entre 37. Por lo que ahí básicamente puedes
elegir lo que quieres hacer. Así que vamos a hacer 37 también. ¿ Por qué no? Y eso es más o menos
todo lo que necesitas hacer. Y ahora la experiencia
bajará después de esto, básicamente se extrae este bloque. Ten cuidado por supuesto, que si haces esto
en non o bloques. Entonces si yo fuera a hacer esto en
las escaleras por ejemplo, y por supuesto recuperando
la cuadra real. Quiero decir, las escaleras
serían realmente un poco duras, pero quizá
escojamos otra. Ese es un mal ejemplo. En realidad, ya sabes, cualquier otro bloque que sea sólo
un bloque que
digamos los tablones, por ejemplo, si hiciera esto en nuestra
cuadra y
devolvería cierto número
de experiencia ahí, puedo acaba de ponerlo abajo de nuevo, obtener más experiencia, ponerlo nuevo, obtener
más experiencia. Entonces esto definitivamente solo
debe usarse para, o bloques, o cuatro bloques
que no se caigan. Esa es la idea general. Pero porque esto es
todo lo que tenemos que
hacer por el bien de finalización,
vamos a ver si funciona. O nos encontramos de vuelta en Minecraft y solo
cosechemos algunos de los pedidos. Y como se puede
ver, ahí va. En realidad estoy obteniendo
experiencia al minarlos. Como dije, este
ejemplo es por supuesto, un poco no demasiado bueno, claro en este caso
porque cuando realmente
olíamos abajo el cobalto o
volveríamos a experimentar. Pero tal vez eso es realmente
algo que quieres agregar. Quién sabe. Pero como se puede ver, esto
es lo fácil que puede ser
agregar las
gotas personalizadas con experiencia a su cliente o eso ya es todo para
esta conferencia están aquí mismo. Espero que hayas encontrado esto útil y hayas aprendido
algo nuevo. Te veré en
la próxima conferencia.
99. (temas adicionales) agregando una pantalla de menú personalizado: O doy la bienvenida de nuevo al curso de
forraje para 118. Y en esta conferencia
vamos a estar agregando una pantalla de menú personalizada
a Minecraft. Ahora, es muy importante
que esta conferencia y la próxima conferencia sean una especie
de parte uno y segunda parte. Porque en la próxima conferencia en realidad
vamos a
sumar conflictos a Minecraft. Y cuando agregas una pantalla de menú
personalizada, definitivamente 1, 1000% tiene
que tenerla configurable. De lo contrario, básicamente
tu MOD está inmediatamente lista negra por cualquier paquete de
mapas en absoluto. Porque obviamente un pack de
marcas suele tener
su propia pantalla de menú y
quieres esto configurable. Vamos a pasar por
esto sin embargo. Y primero que nada
comencemos con la pantalla del menú. En esta conferencia,
solo vamos a reemplazar los lados giratorios de la montaña, por así decirlo, en la pantalla
del menú nuestra propia
pantalla de menú, solo una imagen. Y para eso vamos a
entrar en nuestro paquete util, haga clic con el botón derecho en nueva clase Java. Y esta va a ser la pantalla de título
de la empresa. Ahí vas. Y voy a estar copiando sobre
todo el código aquí, pero todo aquí
está, por supuesto, una vez más disponible para ti en el repositorio de GitHub e
individual igual de bien. Y solo echaremos un
vistazo a lo que es todo esto. Número uno, tenemos esta ubicación de recursos de
pantalla de inicio es exactamente nuestra
pantalla de menú de algodón personalizada que vamos a básicamente bien imponer allí
o dibujar en la pantalla del menú. Y luego también tenemos una ubicación de
recursos para el logotipo de Microsoft ya que esto
tiene que ser dibujado bien, algo así por encima de la pantalla. Es un poco raro, pero
básicamente voy a explicar en
el método render aquí. Entonces, el método render,
vamos a pasar por unas cuantas cosas. En primer lugar,
vamos a llamar al super en la pantalla normal de marea. Lo que entonces sucede
es que son completamente normales se dibuja la pantalla de
marea. Entonces necesitamos este
ancho y alto entero. Solo necesitamos esto para
nuestra pantalla de título personalizada. Permítanme dibujar nuestra pantalla de título
personalizada, básicamente por encima de la pantalla
normal de marea. Y luego vamos a
dibujar también el logotipo de Microsoft. Eso es muy importante. Entonces aquí acabamos de
renderizar el menú principal. Esto es solo de Forge para que todo salga bien aquí. Déjame dibujar la cuerda. Esta
es la cadena de derechos de autor en la esquina inferior derecha. Esto es muy importante. No elimines esto. Esto es más o menos muy importante que esto
realmente tenga que estar ahí. De lo contrario, no estoy 100% seguro,
pero podrías estar cometiendo una especie de fraude de derechos de autor
si no tienes esto. Por lo que deberíamos tener
esto definitivamente esto. Los widgets aquí son
solo los fondos para cada uno de los botones
en el menú principal. También podemos echar un vistazo al método de pantalla de título personalizado de
dibujo. Para que puedas ver que realmente
no es tan loco. Básicamente solo estamos
habilitando un ajuste de textura, el tipo de como un
poco de material habilitante. Y estamos poniendo la textura
real a la pantalla de presentación aquí y
luego la estamos dibujando. Entonces la sangre básicamente dibuja esta textura que hemos establecido
en el sistema Render. Y luego después de eso se hace, luego
dibujamos el logotipo de Minecraft. Entonces al ajustar la textura
al logotipo de Microsoft, estamos entonces en el siguiente blanqueador básicamente dibujando
la microflora. Esa es la idea general. Y este es solo código tomado de la clase normal de
pantalla Tidal misma. Entonces esto no es nada
demasiado loco. Eso es más o menos
todo lo que hay a ella. Honestamente, realmente no debería
haber esa locura de las cosas. Si quieres una pantalla de título completamente
increíblemente personalizada con cosas como completamente
locas, entonces solo tienes que ir y
trabajar a través
de algunas de esas cosas. Por lo general, lo que la mayoría de la
gente solo quiere es reemplazar la imagen de fondo y eso es exactamente lo que
vamos a mostrar aquí. Ahora esto va en
la GUI de texturas, menú de
fondo o en
la carpeta de fondo. Y entonces se va a
llamar Copan menu dot re pack. Y eso es exactamente
lo que vamos a conseguir
realmente esto en la GUI y luego hacer clic derecho nuevo directorio llamado background. Entonces solo voy a
copiar sobre la imagen, que por supuesto
también está disponible para ti si quieres probar esto. Y no vamos a
echar a perder cómo se ve, sólo que ahora no,
pero va a parecer
realmente genial. Podría decírtelo. Entonces, ¿qué hacemos después de eso? Bueno, ahora necesitamos configurar de alguna manera esta pantalla de título
y vamos a hacer esto en la clase de eventos. Entonces en la clase de eventos de modo, vamos a copiar sobre un método que es
muy, muy sencillo. Esto tampoco es demasiado loco, pero por supuesto
también está disponible para ti. Vamos a usar el evento
abierto en pantalla como se puede ver. Y vamos a comprobar si la pantalla que
actualmente estamos tratando de abrir es la pantalla de título y en
realidad aún no es nuestra pantalla de título de
cuenta. Entonces sólo vamos a
reemplazarlo o vamos a hacer una nueva pantalla de título de algodón
y enviársela. Esto es más o menos
todo lo que hay a ella. Este es todo el
código que necesitamos. Entonces esto quizás sea un
poco más complicado, pero en general ojalá algo
comprensible lo que está sucediendo aquí en una especie
de visión general. Y entonces este método y este evento en realidad deberían
ser muy simples. Esto no es nada loco. Y sí, eso es más
o menos lo
que necesitamos para esta
conferencia aquí mismo. Entonces supongo que
veamos si funciona. Pero el sol es
por supuesto importante
ver a Minecraft arrancando. Así que veamos si nuestra pantalla de
azulejos personalizados está funcionando. Estoy muy seguro de
que lo hará. Y ahí estamos, la
pantalla de título personalizada está funcionando exactamente como
esperarías que lo hiciera. Todavía tenemos el aviso
de copyright. Incluso tenemos las cosas de forja
en la esquina inferior izquierda. Tenemos el Minecraft, básicamente todo aquí, que es exactamente lo que quieres. Todos los botones siguen
funcionando totalmente bien. Así que todo funciona increíble. Y no voy a decir
nada de nada, pero esto podría ser
sólo un poco de
un spoiler de escabullida, lo que podría venir antes. Pero de todos modos, esto es realmente
genial y me gusta mucho la imagen de fondo que se
hizo por tu fila. El, por supuesto va a estar vinculado en el expediente de
créditos también. Entonces esto es realmente
alucinante impresionante. Pero eso es en realidad
lo fácil que es agregar el
grito de título personalizado, como dije, recomiendo
encarecidamente ver
la próxima conferencia inmediatamente después para ver cómo podemos
agregar algunos personalizados sin fijar. Porque sumar el conflicto
para hacer esto bien, básicamente configurable
es increíblemente importante. Yo solo, no puedo
exagerar esto realmente. Por favor añada aquí el conflicto. De lo contrario, es
básicamente tu marr nunca va a ser utilizado
por ninguna marca nunca. Pero sea cual sea el
caso, esto
es todo por esta conferencia aquí mismo. Espero que hayas encontrado esto útil y aprendas algo nuevo. Si lo hiciste, te
agradezco mucho una reseña de ti. De lo contrario,
te veré en la próxima conferencia.
100. (temas adicionales) añadiendo configs básicos a medida: Muy bien, bienvenidos de nuevo
al curso de forraje para 118. Y en esta conferencia
vamos a estar agregando conflictos
personalizados a Minecraft. Ahora bien, este no es sólo un tema
muy importante para la pantalla o la pantalla de título
personalizada que hemos implementado
en la última conferencia. Pero también es un tema
muy importante y también muy solicitado. Entonces, antes que nada, tenemos que
pensar en dos cosas, y eso es lo común
y los conflictos con los clientes. También hay conflictos del servidor, pero por el momento, nos vamos a
preocupar por el conflicto común y el cliente aunque, cuando pensamos en nuestra pantalla de título
personalizada, dónde existe esto ya que esto existe tanto en el
servidor como en el cliente, o sólo en el cliente. Entonces la
respuesta obvia es por supuesto, que esto
solo existe en el cliente. Para quienes han dicho, claro que sólo está
en el cliente. Eso es muy bueno para
quienes han dicho,
bueno, está en ambos. Bueno, pensemos en esto. ¿ El servidor, si
estamos ejecutando un servidor,
el servidor se preocupa por la pantalla
del menú de
opciones multijugador para un solo jugador. Ahora claro que no lo hace. Incluso podemos ver
esto si hacemos clic en
el botón central del
ratón en la pantalla de título aquí, podemos ver esto es
sólo en este cliente. Esto significa que básicamente
esta clase solo
se ejecuta en el
hilo del cliente, en ningún otro lugar. Por lo tanto, para básicamente
encender o apagar nuestra pantalla de
título personalizada, vamos a necesitar
implementar conflictos de clientes. Y luego también voy a mostrar uno o dos ejemplos de
algunos conflictos comunes. Esos serían
conflictos que son tanto para el cliente como para el servidor. Ahora en ese caso, común es
algo interesante porque a veces los conflictos comunes
básicamente son tanto
para el cliente
como para el servidor. Y luego también hay
solo conflictos de servidor. Pero los vamos a
dejar fuera por el momento después de que hayamos visto cómo se puede sumar el cliente y los conflictos
comunes. Básicamente puede agregar los conflictos
del servidor también. Tenga en cuenta también que no puede configurarlo o no puede hacer configurable cada pieza
determinada de código. Por ejemplo, algunas de
las cosas que
realmente no son tan fácilmente
configurables es, por
ejemplo, la durabilidad
aquí de la varilla de espiga. A modo de ejemplo, se puede imaginar por qué
solo podemos reemplazar esto un número configurable
que no funciona del todo. Entonces podría haber
algunas soluciones alternativas, pero normalmente cuando
estás registrando cosas, por lo que en este momento estamos grabando
el método de registro. En todas partes donde se está
registrando algo. Por lo general, no
quieres cambiar esos números. Es muy difícil
decir a veces dónde puedes
y no puedes hacerlo. Simplemente recomiendo encarecidamente si
realmente quieres probar algunas cosas ahí, pruébalo, ver si funciona
o no. Porque a veces
pueden ser un desajuste
del servidor y del cliente si
el cliente tiene un conflicto
diferente, diferente al servidor. Y por lo tanto esto podría
ponerse un poco raro. Así que solo tenlo en cuenta. No necesariamente se puede configurar todo en nuestro paquete de cursos
MC. Vamos a hacer clic derecho en
nuevo paquete llamado el paquete conflicto. Y entonces en realidad copiaré más de dos de las clases
que vamos a necesitar. Y en realidad voy
a pasar por todo el código está
por supuesto disponible para ti en el repositorio de GitHub en un individuo igual de bien. Entonces no se preocupe en absoluto. Y esto tampoco es tan loco. Empecemos con los
conflictos del cliente aquí mismo. Podemos ver que lo que
vas a necesitar es un constructor de especificaciones de conflicto, que es igual
a nuevo constructor. Y entonces este conflicto
spec aquí mismo. Y luego puedes ver
que estás en la lista son básicamente todos nuestros valores de configuración
estática. Se puede ver que es un genérico, por lo que sólo vamos a
poner en un tipo de datos
diferentes, diferentes
básicamente, que son en estos casos lo que queremos
configurarlo o configurar. Y luego se puede ver en este bloque
estático de aquí mismo, solo tener un constructor para empujar, es justo lo que está escrito en
la parte superior del archivo de conflicto. Y entonces esto se está poniendo para ver, en primer lugar, un común. Entonces esto es si se reemplazará
o no la pantalla de
título predeterminada . Y entonces vamos
a definir esto. Este es solo el nombre
de la variable, por así decirlo, y este es el valor
predeterminado en este caso. Y luego mirando los conflictos
comunes aquí, se
puede ver que aquí
realmente vamos a hacer configurables las
venas por trozo y el tamaño de las venas del cobalto. O esto es muy interesante
porque esto
también es algo que a veces
podría ser configurable. O quieres que esto sea configurable, lo cual
es muy interesante. Entonces lo que vamos a
hacer es antes que nada, vamos a usar
los conflictos de los clientes, pero tenemos que, por supuesto,
también registrarlos. Entonces, ¿cómo registramos aquellos
en nuestra clase mod curso MC, en realidad solo necesitamos agregarlo
a las cosas. Y esto va a ser después de esto. Lo que vamos a hacer
es que vamos a decir, vamos a conseguir el mod
cargando en text dot, conseguir esa configuración de registro. Vamos a decir datos de la configuracion
del motor. Se pueden ver tipos ya ahí. Vamos a elegir el tipo de
cliente para el primero. Vamos a decir MC. Conflictos de clientes que spec. Y entonces el nombre del archivo
aquí sólo va a ser, debería
ser tu
MOD id, cliente de guión. Y entonces muy
importante que Tamil, este tiene que ser un archivo HTML de punto. De lo contrario no
va a funcionar. Entonces podemos duplicar esto
presionando Control D. Y voy a cambiar esto
a lo común aquí mismo. Y luego vamos a
cambiar esto
al curso MC, conflictos comunes. Y entonces muy importante que
cambiemos este nombre también. Ya se puede ver
tenemos ambos, bueno, en fijos registrados y
eso es en realidad todo lo que
necesitamos hacer para registrar
estos conflictos. Entonces eso es todo lo que hay a ella. Ahora, ¿cómo los usamos? Bueno, es bastante
sencillo. Tenemos este campo justo aquí. Así que vamos a entrar en nuestro código. En realidad no es la pantalla del título de la
columna. En realidad queríamos hacer
esto en la clase de eventos MOD aquí
mismo en esta declaración if, básicamente queríamos decir conflictos de cliente de curso
MC, esa
pantalla de título personalizado dot get. Y entonces va a terminar con esto. Entonces esto tiene que ser cierto, y todo esto también
tiene que ser cierto. Y entonces nuestra
pantalla de título va a ser reemplazada solo por el sake de
finalización, también
vamos a
usar inmediatamente la vena para cosas del tronco. Entonces esto va a
ser en el mundo. El primero va a estar en el lugar características que hace. Esto va a ser las
venas por tronco. Entonces esto va a ser curso MC, conflictos
comunes dot
Paine per chunk dot get. Acabo de leer. Sí, eso está bien. Y luego el
otro debe estar en las características configuradas. Así que este va a ser el,
este de aquí mismo. Este es el tamaño de la vena
para esto sería el curso MC conflictos comunes tamaño de
vena que consigue, lo que vamos a hacer en realidad es que vamos a dejar que esto se ejecute una vez para que los
archivos aquí generen, por lo que entonces los archivos fijos reales regeneran y luego
vamos a cambiar los valores
dentro de ellos. Pero vamos a ejecutar
esto una vez y
luego veamos que se generan los
archivos de conflicto. En primer lugar, se puede
ver que Minecraft
se ha cargado y la pantalla del título sigue ahí porque por supuesto el valor predeterminado aquí era cierto. Y lo más importante, ahora
hemos generado los archivos de configuración. Están bajo la
config de carpeta R1 y ahí vas. Curso Mc cliente y curso
MC común. Si los abrimos, se puede ver que básicamente estamos
obteniendo exactamente esto. Ves conflictos
para MC core smart, y luego si la pantalla de
título predeterminada será reemplazada. Cambiamos esto a falso
ahora y salvándolo. Y luego aquí, vamos solo, vamos a volver absolutamente locos en esto solo
para que tengamos esto. Así que vamos. Así que por ahora sólo vamos a hacer muchas venas por trozo, un montón de tamaño de venas, sólo para que en realidad podamos
ver que esto va a funcionar y esto va a
afectar a la generación mundial. Y sí, eso es
más o menos todo lo que
tenemos que hacer para cambiar
los conflictos. Estos son entonces por supuesto
también disponibles para los usuarios, para los jugadores,
y luego pueden cambiarlos como quieran. Así que definitivamente asegúrate de
tener los comentarios adecuados aquí. Va a haber
éste justo aquí. Como se puede ver, esto es lo que
se ha escrito como comentario ahí. Entonces eso es más o menos
todo lo que necesitas hacer. Así que ahora después de haber cambiado
los conflictos, veamos si, por ejemplo, en primer lugar,
la pantalla del título ha cambiado y luego también la
generación mundial. De acuerdo, para que como
se puede ver el número uno, la pantalla de título real ha cambiado de nuevo a la pantalla
normal de marea. Pero esto es muy interesante. Ahora vamos a generar en realidad
un nuevo mundo aquí y ver si o no Entonces en
la hora de generación mundial, cobalto o se va a
mostrar todos de una manera más
formas que antes. O si responde en Minecraft. Y como pueden ver, no
tuve que bajar muy lejos para encontrar una abundancia
de la o, de la derecha. Se puede ver que no sólo las venas reales son
masivas, hay muchas de ellas. Como se puede ver,
se trata de dos venas diferentes, tres venas diferentes como
justo al lado del otro. Y luego se puede ver que
sólo sigue y sigue. De hecho puedo volver a ir al modo
espectador. Y vas a ver que
hay muchas de esas venas. Entonces puedes ver claramente
que a pesar de que esto
definitivamente no es algo que necesariamente
quieras tener, pero definitivamente es
configurable. Y esto es más o menos
exactamente lo que
esperaríamos de esos o
conflictos para luego hacer. Así que eso es realmente genial. Pero hay otro método que podríamos ser capaces de
llamar y que es el definido en una
lista definida pero definiendo el rango, que también es bastante
interesante. Entonces éste básicamente aquí
entonces hace lo siguiente. También se puede definir un valor
mínimo y un máximo. Por lo que esto también podría ser
muy interesante e importante para ti decir
básicamente, ya sabes, tal vez el número de
venas por tronco y el tamaño de las venas se debe
mantener en ciertos valores. O tal vez, ya sabes,
algunos valores que querías hacer
configurables
en realidad podrían romperse si
no están entre ciertos números. Así que ten en cuenta eso también, que también se puede hacer eso. Pero por el momento,
vamos a mantener esto indefinido. Sólo quería mostrarte esto. También siempre me puede
gustar cada vez, solo aconsejarte que juegues
con esto un poco. Mira lo que
básicamente puedes cambiar, qué tipos de cosas podrían
funcionar y cuáles no. Entonces hay muchas
cosas que podrían funcionar y podrían no. Así que ten en cuenta eso. Pero de lo contrario, así es más o
menos cómo se pueden agregar
conflictos personalizados a Minecraft. Y lo más importante,
cómo puedes configurarlo o entrar en conflicto, hacer un conflicto para tu pantalla de título
personalizada, porque esto es
extremadamente importante. Si tienes una pantalla de título
personalizada que lo hagas para que
puedas apagarla porque de lo contrario nunca
serás utilizada para NMR peg nunca
increíblemente importante. Entonces, por favor, ten esto en cuenta. De lo contrario, esto va a
ser por esta conferencia aquí mismo. Espero que te haya parecido útil esto y aprendas algo nuevo. Si lo hizo más de mucho
aprecio opinión de usted. De lo contrario, te veré
en la próxima conferencia.
101. (temas adicionales) agregando bloques transparentes: O doy la bienvenida de nuevo al curso de
forja para 180. Y en esta conferencia
vamos a estar agregando un bloque transparente
a Minecraft, este comercio por
demanda popular ya que algunas personas tuvieron algunas luchas por agregar un bloque transparente
a Minecraft. No obstante, en realidad
no es tan loco si conoces los dos o tres ajustes
muy importantes
que debes hacer. Entonces en nuestra clase de bloques de modo, sólo
vamos
a ir al fondo aquí. Sólo voy a copiar
sobre el muestreo. Ahora hay algunas cosas que
necesitamos cambiar aquí. Esto se va a llamar
la ventana de invierno. Y esto es por supuesto, también la ventana de invierno. Entonces, en primer lugar, en un bulto
completamente normal aquí, y luego esto va
a ser un bloque de vidrio. Esto es muy importante que se
trata de un bloque de vidrio. Esto solo requerirá las
propiedades reales de comportamiento de bloque aquí mismo. Y entonces lo que vamos a
hacer es que vamos a copiar del bloque de vidrio
también de las propiedades. Usted entra en el bloque de vidrio, clic en el botón
central del ratón y luego el botón central del ratón haga clic de nuevo en el bloque de vidrio
abstracto. Podemos ver ese número uno, lo que necesitamos es
el tragaluz propagado hacia abajo y también el brillo de la forma.
Obtenemos forma visual. En realidad no estoy 100% seguro de
lo que esto necesariamente anochecer. Sólo sé que todos ellos
son básicamente importantes para llegar a tener un trabajo de bloque
transparente. Es por eso que sólo vamos
a usar el bloque de vidrio. Esto es básicamente
también un bloque de vidrio, por lo que no se preocupe allí. Ahora, lo que también necesitamos en nuestro MC para la clase inteligente en
la configuración del cliente, solo
vamos a copiar
sobre la capa de render aquí. Y esto va a conseguir la capa de renderizador de ventana de
invierno, y esta vez translúcida. Por lo que va a tener
la
misma capa de render que el fluido de bloque de miel, que también es
por supuesto translúcido. Esto es muy importante, lo contrario
en realidad no funcionará. Y luego, por supuesto,
todas las cosas de acciones como solo el bloque
Estados Jason aquí. Apenas un escenario normal de caminata Jason, lo mismo con la traducción. Todo eso es
más o menos solo estándar. La única diferencia
aquí es entonces, por
supuesto, una vez que
hemos añadido esto, la ventana de invierno aquí, los archivos del modelo,
todas las mismas cosas, por lo que son sólo archivos de modelo normales. También podríamos simplemente copiar los otros archivos normales del modelo y
ver esto
apunta a una textura. Y luego lo mismo más o menos
con el archivo de modelo de artículo. Y esos, por supuesto, también están disponibles si
quieres copiarlos. Pero como se puede ver,
hay archivos normales, nada de locos en ellos. o menos la
varianza más fácil de esos archivos. Y entonces lo que
por supuesto es importante para la textura que también
voy a copiar. Y vas a ver
esto, esto de aquí mismo. Entonces todo el tipo
de bloques internos, esos son los que tienen un valor alfa que es
un poco transparente. Entonces esto es por supuesto muy
importante que si tienes un PNG que querías usar y algunos de tus píxeles reales tienen que tener valores Alfa
que puedas mirar a través. De lo contrario,
claro que no funciona del todo. De lo contrario, el ver-through
no va a funcionar correctamente. Así que ten en cuenta eso. Pero por lo demás eso es
en realidad todo lo que tenemos que
hacer pasando por todo. o menos lo más
importante es lo translúcido. Al igual que tenemos valores Alpha
en nuestro archivo PNG real. Y luego también que estamos utilizando el bloque de vidrio, que
es muy importante. Supongo que ver por el
sake de finalización, vamos a ver si funciona. Muy bien, Somos financieros en Minecraft y como se puede ver, la ventana de invierno se ha agregado
con éxito al juego. Y como también se puede ver, puedo mirar a través de él. No se preocupe en absoluto aunque
todo funciona solo bien. Quiero decir, eso es lo
fácil que es agregar un
bloque transparente personalizado marca Minecraft que ya lo es para
esta conferencia aquí mismo. Espero que te haya parecido útil esto y aprendas algo nuevo. Y te veré en
la próxima conferencia.
102. (temas adicionales) agregando elementos animados: Muy bien, bienvenidos de nuevo
al curso de forraje para 118. Y en esta conferencia,
vamos a estar agregando un elemento animado a Minecraft. Así que esto podría ser como, Wow, eso es algo realmente genial. Y podría ser, se podría decir, bueno, esto probablemente va
a ser muy complicado. En realidad es bastante
sencillo. Pero vamos a ver un elemento
animado personalizado en esta conferencia. Y luego te mostraré un ejemplo
de vainilla de un bloque animado. Y luego si quieres un bloque
animado básicamente, entonces puedo
recomendar encarecidamente echar un
vistazo a ese ejemplo de vainilla. En la clase de artículos mod, vamos a agregar un nuevo elemento. Así que vamos a copiar sobre la bola de
cobalto aquí mismo. Y este va a ser
el polvo de subrayado mágico. Y luego mismo aquí
en el nombre. Este va a ser el polvo de subrayado
mágico. Y este va a ser un artículo
normal,
curiosamente. Y sólo vamos a
hacerlo para que
básicamente no tenga otras
propiedades de artículo aquí en absoluto. Sólo vamos a tener el artículo normal,
completamente vainilla. Nada loco por esto. Y en realidad vamos a añadir la traducción antes
de entrar en el, en las otras cosas reales. Por lo que el otro elemento
modelo archivos adyacentes. Entonces va
a haber la magia del polvo y este va a ser el polvo mágico también. Ahora, podría estar diciendo, Bueno, esto probablemente va a ser una consulta complicada loca es un objeto complicado
modelo Jason archivo aquí. Sólo vamos a copiarlo. Por supuesto, todo lo
disponible para ti en el repositorio de GitHub en
individual igual de bien. Y se puede ver que es un
archivo JSON completamente normal para el modelo de artículo. O vas a estar como,
espera, ¿dónde está? ¿ Dónde está la animación? La animación está todo en la textura, así
como en el metaarchivo
MC. Aha. Vamos a copiar los más, que por supuesto
también están disponibles. Y luego se puede ver
que tenemos el número uno, La textura real
así como un metaarchivo MSE. Y si echamos un
vistazo a la textura, en realidad
es múltiples texturas
diferentes. Por lo que se puede ver que
estas son de hecho seis texturas diferentes
para el mismo, bueno, es el mismo ítem. Al final, sal a básicamente 16 veces
sin embargo muchas texturas que tengas tiempos 16. Entonces esa es la idea. Entonces es 16 por, en este caso, 96 es un tamaño aquí, y el metaarchivo MC determina cómo
realmente pasa por esto. Se puede ver que esto
es una animación. Puede cambiar el tiempo de fotograma para básicamente cambiar qué
tan rápido es la animación. Y luego aquí básicamente
se puede decir qué marcos se van a
colocar en qué orden. interpolación simplemente
significa que cuando un fotograma cambia a otro es cambiar va a ser discreto. Entonces va a cambiar de una imagen y
luego en la siguiente, digamos segundo,
ver otra imagen. ¿ Dónde va a
transitar a través de ellos? Esa es la idea general de la
interpolación en este caso. Pero eso es en realidad lo fácil que es agregar un, un elemento animado. Y entonces esto de inmediato se
va a animar
siempre y cuando tengas aquí el archivo
MC Mehta. Lo que es muy importante
es que esta metáfora MC tenga que ser escrita
exactamente así, incluyendo el punto PNG aquí. Por favor, asegúrate de que esto
esté escrito correctamente. Y como la lista de verificación doble y
triple, es increíblemente
importante que este sea el mismo nombre que
el archivo de textura, incluyendo el final luego punto MC Mehta. Por favor revise esto. Entonces cuando se trata del libro, podemos ir a las
bibliotecas externas, claro, una vez más al cliente extra 1801 o cualquiera que sea su
versión, activos, Minecraft,
texturas, Bullock. Y luego una cosa a echar un
vistazo es el bloque magma. Por lo que éste también tiene un archivo
MC Mehta y
se puede ver que
en realidad hay tres texturas
diferentes por las que ID, pasa por. Eso, como se puede ver aquí, con el tiempo de marco de ocho, pasa por los tres
de esos marcos y luego cambia la
textura aquí también, lo mismo con el otro portal. se pueda ver el
portal más
bajo en realidad tiene muchas
texturas diferentes como se puede ver, pasa por, Bueno, quiero decir, al parecer
pasa por todo. No estoy 100% seguro de cómo la
animación aquí está vacía. No estoy muy seguro de
cómo funciona eso, pero eso también es
otro ejemplo. Yo personalmente recomiendo
el ejemplo de magma. Y creo que es
casi todo
el tipo de ejemplos como
realmente locos aquí, repitiendo bloque de comando. Pero hay algunas cosas
aquí todavía ahí. Pero el macrobloque
es probablemente el más fácil de seguir y debería ser. Quiero decir,
es como si fuera bastante sensato, bastante sencillo,
todas las cosas consideradas. Es más o menos
exactamente lo
mismo que el del polvo mágico. Pero sí, eso es más o menos todo lo que
queremos echar un vistazo. Y ahora supongo que por el sake de
finalización,
veamos si funciona. O nos encontramos
en Minecraft. Entonces veremos ahí
el polvo mágico se
ha
agregado con éxito al juego. Y como pueden ver, mientras lo
estoy sosteniendo en mi mano, vamos a escogerlo
Southern solo tenemos uno. Se puede ver que es una animación lenta pero seguramente
e incluso puedo tirarla al suelo. Y se puede ver
que incluso lo son, la textura real también
está animada. Entonces eso es en realidad
lo fácil que es. Y como ya he dicho,
básicamente puedes cambiar la
velocidad de la animación cambiando el tiempo de fotograma
dentro del archivo MC Mehta. Eso es lo fácil que puede ser. 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.
103. (temas adicionales) añadiendo efectos personalizados: Muy bien, bienvenidos de nuevo
al curso de forraje para 118. Y en esta conferencia,
vamos a estar echando un
vistazo a cómo
se puede agregar un
efecto personalizado a Minecraft. Ahora, la adición
del efecto cliente
realmente viene bien, más o menos, gracias a un estudiante que ha
agregado su propio efecto. Y he cooptado por su efecto e hice
una conferencia fuera de él. Por lo que por supuesto sabes en quién
estás pensando mucho. Y es un efecto congelado. En realidad es
realmente interesante. Entonces se va a congelar a
una entidad en su lugar. Y sólo vamos
a ver cómo funciona esto. En realidad es más
sencillo de lo que podrías pensar en nuestro paquete de cursos
MC. Haga clic derecho en nuevo
paquete llamado efecto. Entonces en lugar de
ahí, vamos a necesitar dos nuevas clases. Uno de ellos es la clase de efectos
modelo. Y entonces el otro
va a ser el efecto congelado. La clase de efecto congelado es donde se encuentra
toda la funcionalidad. Simplemente copiaré
sobre la clase como,
como siempre, por supuesto, todo lo disponible para ti en el repositorio de GitHub e
individual igual de bien, ¿listo? Por lo que aquí se puede ver el efecto de
congelación en acción. Es bastante sencillo. Todas las cosas consideradas, hemos anulado el método apply
effects tick, que básicamente
se llama cada tick cuando una determinada entidad
tenga este efecto en él. Y luego también tenemos el efecto de
duración tick. Es cierto, porque si
no tenemos esto mientras, entonces básicamente esto nunca
sería frío. Entonces esto es lo que necesitamos. Aquí. Básicamente se puede ver que se refiere a todos comprobando
si
estamos o no en el servidor. Si lo estamos, entonces estamos tomando
las coordenadas XYZ de esta entidad en particular que
tiene este efecto en la mortalidad, informándole a la entidad, y estableciendo también el movimiento
Delta en 0. Entonces esto es necesario para
el jugador básicamente, y esto es necesario para, bueno, animales o cualquier NPC básicamente. Entonces cualquier entidad no jugador, simplemente por el hecho de que el
movimiento Delta es, bueno, lo que básicamente mueve
al animal real y se teletransportan a, no solo la primera
fila dos
lo hace no funciona. Entonces estas son las dos
cosas que necesitamos. Y si sumamos esos dos, entonces la mafia real, o en este caso entidad o el jugador se va
a congelar en su lugar. Realmente genial,
como realmente una idea genial. Y me gusta mucho. Entonces, ¿cómo lo hacemos básicamente, la pregunta es,
¿cómo lo registramos? Bueno, ya lo has visto antes. Final estático público,
¿qué necesitamos? Por supuesto, un registro diferido, esta vez de efecto turba. Esto se va a llamar los efectos de subrayado de
MLB. Y esto es por supuesto igual a lo que es un registro
diferente que crean registros
dot mlb efectos. Y luego por supuesto nuestro núcleo MC, inteligente pero no ID. Y como cada vez, como hemos visto un tercer
registro, ¿qué necesitamos? Necesitamos un
vacío estático público o
método de registro con un bus de eventos ojo,
bus de eventos entero. Y luego estamos llamando a
los efectos de la MLB o registramos y pasamos
en el bus de eventos. Nada demasiado nuevo aquí. Esto es más o menos como cada vez que hemos visto
los efectos aquí. Y entonces esto será llamado una vez más,
claro aquí mismo. Así que acaba de soplar nuestras recetas mod. Vamos a decir efectos de mafia que se
registran y luego pasan
en el autobús de eventos. Y ahí vas,
Todo está registrado. Sólo necesito un
objeto de registro aquí. Entonces vamos a decir
estático público, objeto de registro final. Por supuesto de tipo de efecto mafia. En este caso, se va a
enfriar congelar y es igual a efecto
mafia inicia registrar
el nombre congelado aquí. Y entonces vamos a necesitar un proveedor de un
nuevo efecto de congelación. Como se puede ver, mob Categoría de
efectos nocivos. Y luego simplemente
básicamente cualquier número. Este es un, creo,
un identificador único. Echa un vistazo a esto. Esto es en realidad
este es el color. Ahí vas. Este es el color. Eso es lo que es. Pero este es el
color de yo creo, la porción que
se asociaría con ella. Ahora no vamos a sumar la
parte en esta conferencia. En realidad vamos
a sumar la porción en la próxima conferencia. Pero después de haber añadido esto, el efecto de congelación está en
realidad en el juego. Ahora, esto es todo lo que
tenemos que hacer para agregar esto. Sé que es bastante loco, pero eso es todo lo que tenemos que hacer. Entonces supongo ver si funciona o nos encontramos de
vuelta en Minecraft. Entonces veamos, vamos a
darme el efecto. Vamos dev. Y luego se puede ver estos efecto de congelación está
ahí a menos que lo añada. Y ahora en realidad no puedo moverme. Se puede ver que es una
especie de nerviosiego. Y lo he añadido durante
treinta segundos en este caso. Así que no puedo realmente puedo
volar un poquito, pero si trato de moverme, se
puede ver que es
muy, muy lento. En este caso. Sé si estoy en el
suelo y trato de
moverme, estoy presionando la tecla W. Funciona como muy, muy lentamente. E incluso, ya sabes,
ir por aquí es, puedes ver que definitivamente está congelado conocer algo así en su lugar. Ahora todavía puedo
romper bloques que un banco de ojos, pero eso sí funciona. Y también has visto que la textura real no
estaba ahí. Vamos a añadir
esta textura también. En realidad es bastante
sencillo, pero eso es bastante genial. Todas las cosas consideradas. La textura va a
la carpeta de texturas. Y aquí necesitamos un nuevo directorio llamado efectos de subrayado mafia. Y entonces la
textura real tiene que ser el mismo nombre que el
nombre aquí mismo. Entonces en los efectos de la MLB, este nombre tiene que ser este nombre. Y ahora en lugar de una textura
no, no descripta, se
mostrará
esta textura y bueno, quiero decir, básicamente
va a funcionar. Ahora, como dije en
la próxima conferencia, inmediatamente
vamos
a sumar una porción para esto porque sí tiene
sentido en mi mente
tener una porción. Eso es lo que básicamente
puedes usar entonces también. Por el momento,
esto es
más o menos para esta
conferencia aquí mismo. Ojalá te haya encontrado esto útil
y amarillos y el debido. Y te veré en
la próxima conferencia.
104. (temas adicionales) añadiendo pociones personalizadas: O doy la bienvenida de nuevo al curso de
forraje para 118. Y en esta conferencia
vamos a estar agregando una poción de cliente, incluyendo una
receta de escoba personalizada a Minecraft. Ahora, la porción real
es muy fácil de agregar. La Receta de elaboración,
sin embargo, es, bueno, digamos que es un poco desconcertante por qué funciona como funciona, pero no se preocupe,
vamos a superar esto. Bueno, en primer lugar, en
el paquete del curso MC, haga clic con el botón derecho en nuevo paquete
llamado porción. Y luego dentro de ahí, vamos a hacer una nueva
clase Java facultad mod océanos. Y esto va a
parecer extrañamente similar a lo que básicamente muchas otras clases que
hemos visto antes. Un registro público estático final
diferido de tipo océano en esta ocasión. Y va a ser
porciones por supuesto, va a ser igual
al registro diferido que crean registros, los océanos
oscuros van. Y por supuesto MC, curso de identificación
moderada o leve. Y luego se necesita el método de
registro vacío estático público como siempre, con el ojo Event
Bus, Event Bus. Y luego vamos a
hacer pociones dot registrarse con el,
el autobús del evento. Y luego llamemos a esto en el
constructor del curso MC aquí mismo, pociones
mod, hace se
registran y luego pasan
en el bus de eventos. Y entonces solo necesitamos
crear la poción. Entonces va a haber un objeto público de Registro
estático por
supuesto, de tipo océano. Vete. Y esta va a ser la poción de subrayado
congelado es igual a las pociones
que se registran. Esta es la poción de
subrayado friso, nuevo, el nombre aquí. Y entonces esto está requiriendo un
proveedor de una nueva porción. Esto va a necesitar una
nueva instancia de efecto mafia. Ahí vas, de nuestros efectos. Entonces mod efectos dark freeze, el que hemos agregado
última conferencia. Sólo voy a hacer diez
segundos con cabildeo. Básicamente amplificador es 0 aquí. Así que este va a ser el
número de tiempo posterior en tics, y este va a
ser el amplificador. Entonces si estamos poniendo un 0 aquí, y esto va a
ser un nivel uno. Esto va a estar volando
congelado en el nivel uno. Y eso es en realidad
todo lo que tenemos que
hacer para sumar la porción real. Ahora para la receta de elaboración de cerveza, en realidad
vamos
a hacer una nueva clase. Ahora esto es muy interesante
porque en realidad hay una clase que se llama
la receta de elaboración de cerveza, creo que sí, de micro forja. Para que puedan ver que esta
es una receta de elaboración de cerveza que implementa esta interfaz de recetas
arruiné. Y esto funciona y
podemos usarlo de nuevo. Lo que es realmente interesante
es que para la entrada, realidad no
mira lo que la, digamos cuál es la
porción real es que
hay que ponerla, pero ya sabes cómo puedes poner
un cierto ingrediente en la parte superior del soporte de elaboración de
cerveza real, y luego en la parte inferior tienes tres ranuras para
diferentes porciones. Y por lo general cómo
funciona ya que se necesita una poción incómoda para hacer esto y un específico otros
posts para hacer esto. Y al usar esta receta de elaboración de
cerveza, simplemente no
importa cómo sea la entrada. No lo hace, no comprueba si
es o no la porción real. Por lo tanto, esta clase cervecera
es prácticamente completamente inútil y no
necesita ser utilizada. Ahora he encontrado una pared, una alternativa que he llamado la mejor receta de elaboración de
cerveza. Ahora vamos a
copiar esto. Esto está en realidad en
el paquete util. Y el no exactamente lo mismo, pero el nombre es diferente. La clase es exactamente
la misma que de este repositorio de GitHub aquí
mismo de porciones
adicionales luego por siniestro. Por lo que esto está bajo la licencia de tres
GPL. Así que ten en cuenta de eso cuando
estés usando esta clase. Solo diciendo, Pero en
general, quiero decir, es más o menos,
no hay otra forma de hacer esto realmente cuando estoy
pensando en ello. Así que he pasado por esto
y estamos como, De acuerdo, siempre
va a lucir
exactamente igual más o menos. Y esta es solo la mejor
manera de hacer esta clase realmente. Y luego podemos usar esto mejor
en la elaboración de los costos de la receta. Para agregar realmente la receta, solo
necesitamos agregar una receta. Por lo que esto de inmediato va a funcionar para la poción de barra, la porción normal y
la porción persistente. Entonces eso es realmente genial. Ahora cuando agregamos esas recetas de
porciones en el método de configuración en nuestra configuración
común de FML aquí mismo. Cuando queremos
hacer es que quieras
decir elaboración de recetas de registro, éste de aquí mismo, agrega receta. Y entonces sólo
vamos a hacer una nueva, mejor receta de elaboración de cerveza. Ahí vas. Y entonces
tenemos la pasión, qué porción queremos. Entonces esto va a estar empujando a
empezar incómodo en este caso. Entonces el ingrediente real. Por lo que esto va a ser un artículo. Entonces vamos a decir más
artículos que lingote de cobalto, digamos que esto va a ser la ira cobalto, ¿verdad? Ahí. Van, dot get y
luego mod porciones. Porque por supuesto
el resultado real o la salida debe
ser la poción congelada. Y van ahora poniendo en posiciones incómodas
en el fondo y un lingote de
cobalto ya que el gradiente nos
va a dar una poción congelada. Eso es todo lo que tenemos que hacer. Eso es en realidad lo fácil que es. Ahora para las pociones, también
necesitamos agregar
alguna traducción. Esto es muy importante en realidad. Son pocas las cosas
que necesitamos agregar. En primer lugar, tenemos que
sumar esos tres aquí. Por lo que este va a ser el, se puede ver que esta es poción de congelación de efecto de
porción, poción para el chapoteo y
la porción persistente. Increíblemente importante. Esto está en realidad bajo
el espacio de nombres de Minecraft. No estoy 100% seguro
por qué ese es el caso. Quiero decir, estoy como 80% seguro
por qué ese es el caso. La idea es que cuando
realmente estás registrando una porción, cuando estás haciendo una nueva
poción, por así decirlo. Entonces lo que pasa es que
esto acaba de sumar a la. La
lista real de porciones en Minecraft y luego esta está bajo el registrado bajo el espacio de nombres de
Minecraft. No estoy 100% seguro si eso es algo malo o algo bueno. Quiero decir, podría ser algo malo por el
momento sin embargo. Vamos a mantenerlo así. Si hay algún
conflicto en el futuro, también los
vamos a resolver. Ahí no se preocupe. Pero esa es básicamente
la idea de los océanos. Y ahora también necesitamos el efecto. El efecto se ve así. Vamos a sumar esto
en la parte inferior. Este efecto dot M
C corps freeze, y esto es sólo congelación de código. Estas son las traducciones que
son increíblemente importantes. Ahora también lo que es
interesante para el ítem, para los artículos de poción que obtienes generados automáticamente. Y no necesitamos hacer
nada por ellos en absoluto. Entonces esto es más o menos
todo lo que tenemos que hacer. El color de la porción real se toma de los
efectos mod aquí mismo. Entonces este color aquí mismo es básicamente lo que se
va a utilizar. No estoy 100%
seguro de qué es esto. Podría ser sólo de un color hexadecimal. No estoy seguro.
También podría ser otra cosa, pero esto va a estar bien. Esto es solo jugar
con esto también. Si quieres. Algunos otros colores son
por el momento, esto es más o menos todo
lo que necesitamos para la costumbre, tanto la porción personalizada
como la receta aquí para ser agregada. Entonces supongo que
veamos si funciona. O nos encontramos
en Minecraft. Así que veamos, solo
agreguemos las porciones de aqua y luego un lingote de cobalto y
debería comenzar a elaborar cerveza. Y en efecto lo hace,
comienza a elaborar cerveza. Y entonces tan pronto
como esto lo haya hecho, las pociones incómodas deben
convertirse en porciones congeladas. Así que consigamos algunas ovejas solo para ver si en
realidad se van a congelar
o no básicamente al final. Veamos. Aquí, casi terminamos, y luego
tendremos algunas pociones. Vámonos. Por lo que tenemos
una poción congelada y otro movimiento de congelación y una
porción de congelación persistente también. Así que todo funciona
exactamente como se lo esperarías a una oveja o se suicida. Eso es increíble. Vaya, eso es realmente gracioso. Veamos. Y ahí vas. Y luego se puede ver
que ya no se pueden mover. Incluso puedo golpearlos y no
pueden moverse porque la porción de
congelación literalmente los está congelando en su lugar. También podemos probar
lo mismo por algunos zombis, cual es realmente divertido porque básicamente
intentaron perseguirte y luego, oh, bueno, quiero decir, creo que
estoy en paz, así que ahí vas. Vamos a copiar esto y luego
vamos a cambiar a la supervivencia y luego
voy a tratar de conseguirlos. Y ahí vas. Entonces
el pequeño zombi bebé, como se puede ver, que
dejó de moverse. En realidad, consigamos algunas porciones de
congelación más poses de
salpicaduras aquí. Sólo para que puedas volver a
mostrar esto. Una vez más, sólo
vamos a cambiar y voy a
congelarlos. Congelar. Y congelar también. Oh
no, me congelé. Eso no está bien. Podemos ver que, por supuesto
a veces también puede suceder, pero es realmente genial. Y sí, eso es realmente
lo fácil que es
agregar no solo porciones personalizadas, sino también
recetas de porciones personalizadas a mi oficio. Tiene siempre todos los
trimestres, por supuesto, disponibles para ti en
el repositorio de GitHub o un individuo también
se ajusta. Pero esto va a ser por
esta conferencia de 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) agregando entidades personalizadas con Geckolib: Muy bien, bienvenidos de nuevo
al curso de forraje para 118. Y en esta conferencia, vamos a estar agregando una entidad
personalizada o mafia personalizada al juego. Este va a ser el
inicio de una, digamos, pocas
series de partes de conferencias donde
básicamente vamos a agregar más
funcionalidad a nuestra entidad. Vamos a
pasar, en primer lugar, agregar una entidad normal
al juego que agregar
algunas animaciones. Entonces en la siguiente
conferencia después de eso, vamos a hacer de ella una mesa. Vamos a sumar
diferente varianza de esa entidad en particular. Y luego al final, también
vamos a sumar una entidad que
va a ser escribible. Entonces todas esas cosas nos van a esperar
básicamente en
las próximas conferencias. Ahora, lo que voy a decir es que cada entidad que vamos a agregar, vamos a agregar dos entidades y ambas van a
usar las bibliotecas API de gecko lip. A pesar de que no es estrictamente
necesario, esto, sugiere una turba normal
sin animaciones adicionales. Todavía recomiendo
básicamente siempre solo usar la biblioteca glicolípidos
para agregar las entidades. Porque, definitivamente lo
hace mucho más fácil de muchas maneras. Básicamente, solo lo
hace más fácil. Y así, antes
que nada vamos a poner el labio gecko. Para esto. Básicamente vamos a copiar
este sobrescribir aquí. Entonces esta es la, como se puede ver en GitHub, la guía de
instalación gecko lib wiki. Básicamente estoy,
voy a copiar esto. Y luego vamos a
volver a aquí, entrar en nuestro archivo construido del
DOD Gradle. Y esto, el primero que lo
hemos copiado iba a
ir a los repositorios aquí
mismo. Por lo que sólo va a
agregarlo justo ahí. Y luego el otro,
éste de aquí mismo. En este caso,
dejaré esto
ya debería ser la versión
más reciente aquí, 3011 en este sitio. No estoy seguro si esto se actualiza mientras cada vez que sale una
nueva versión, pero ojalá esto solo vaya por debajo de un
Minecraft aquí mismo. Entonces esto debería ser
todo lo que necesitamos. Y ahora podemos cargar
los cambios de Gradle. Y básicamente
va a descargar la versión glicolípidos y
va a implementarla que básicamente podamos
usar el labio gecko EPI en nuestro mod también. Y después de esto es, una vez más, podría tardar un minuto, podría tardar treinta segundos. Depende de muchos factores. Básicamente, se puede
ver en realidad fue bastante rápido año 21 segundos. Eso es bastante bonito. Entonces la pregunta es, bueno, ¿de dónde sacamos
nuestras entidades? Bueno, para nuestras entidades, vamos a utilizar bancada de bloques. Block bench es un programa con el que puedes
hacer modelos genéricos. Tampoco se podía hacer
modelos de bloques. Ya lo hemos visto, pero
también podemos hacer entidades. Ahora lo importante
es que tengas los plugins de archivos bajo y tienes los
gecko lip Animations, Animation utils aquí mismo. Entonces vamos a necesitar
este plugin en particular. De lo contrario no
va a funcionar. Así que
asegúrate de instalar esto. Básicamente ir a disponible,
luego búscalo. Ahora no lo voy a conseguir
porque ya está instalado. Puedes ver instalar esto
y luego deberías tener la posibilidad de agregar el
modelo animado de labios gecko aquí mismo. Ahora ya tengo
algunas cosas preparadas, así que tenemos un mapache
y un tigre. Primero vamos a usar
los mapaches. Sólo voy a abrirla y
puedes ver, ahí vas. El mapache ya
hecho aquí mismo. Y bueno, quiero decir, básicamente, este mapache también está animado
, por lo que en realidad tenemos tres
animaciones aquí mismo. Vamos a echar un
vistazo a las animaciones en la próxima conferencia un poco más de detalle
por el momento, lo que vamos a hacer es
sólo vamos a exportar esto. Lo que vamos a
hacer es una vez que hayamos hecho una, una entidad personalizada. Entonces para utilizar el modelo real
mapache en nuestro proyecto y nuestro MOD, hay
que exportar esto. Entonces vamos a ir a File Export y luego Exportar gecko lip model. Si esto no aparece, puedes hacer clic en Convertir
proyecto y
asegurarte de elegir básicamente el modelo animado de labios
Kekule. Si este no es ya el, ya el formato actual, entonces debería aparecer la exportación real
aquí. Podemos entonces usar esto y
luego guardar esto bajo el archivo mapache GO dot JSON. Sólo voy a reemplazar. Esto va a estar bien. Y ahora he exportado
el modelo en realidad, y ya podemos usar esto
dentro de nuestro basado en el juego. También tengo la textura, tengo esto realmente separado. También puedes en
teoría guardar esto
del archivo real del
banco de bloques también. Pero vamos a estar bien. Como dije, las animaciones
que sólo vamos
a ignorar por completo
por el momento. Los vamos a utilizar
en la próxima conferencia. Volvamos a cambiar a IntelliJ. Y lo que vamos a hacer es que inmediatamente vamos a hacer una nueva carpeta en el curso de la carpeta de
activos MC. Y luego aquí vamos
a hacer la carpeta geo. Y esto va a conseguir
el archivo GeoJSON mapache. Se van. Así es básicamente
como se ve. Puede que haya un errate por aquí
en alguna parte, eso va a estar bien. Creo que como
sea que se llame en este expediente, realidad, no importa. Y entonces también
vamos a necesitar es, en realidad también
vamos a necesitar conseguir el archivo de textura. Por supuesto. El archivo de textura realmente va
a las texturas por supuesto. Y luego en lugar de la
entidad se retiró aquí mismo, entidad, luego el
nombre de la entidad. En nuestro caso, esto va a ser y luego voy a copiar sobre la
textura real aquí mismo. Ahí vas. Esto sólo va a ser
la textura mapache. Voy a básicamente
apuntar a aquellos en apenas un momento en que realmente
estamos implementando la entidad por ahora, esas son las principales cosas
que definitivamente necesitamos. El archivo geo aquí mismo, el GeoJSON y la textura. Entonces también podría haber
una carpeta de animaciones, que básicamente contiene entonces
las animaciones que
vamos a utilizar en la siguiente conferencia. Ahora, vamos a
hacer un nuevo paquete aquí
mismo, entidad. Dentro de ahí. Vamos a crear
una nueva clase Java. El modo en t Los tipos
de entidad de modo van a tener una final estática pública,
el tercer registro de
tipo, tipo de entidad,
y luego una vez más, y luego una vez más, los corchetes angulares con un signo de
interrogación dentro de ellos. Va a haber los tipos de subrayado de
entidad va a ser igual al tercer
registro dot crear registros, esa entidad, entidades
en realidad hace y después curso MSC
inteligente ese mercado. Y si se trata de un registro
diferente, por
supuesto hay un método de registro vacío
estático público. Entonces I Event Pass viejo autobús de
eventos aquí mismo. Y luego vamos a
llamar a los tipos de entidades que se registran pasando
en el bus de eventos. Entonces inmediatamente
vamos a ir justo aquí debajo de las porciones más. Y vamos a decir
más tipos de entidades, no inscribirse pasando
en el bus de eventos. Y luego tenemos esta
clase registrada también. Ahora aquí
siempre vamos a tener algunos objetos de registro de
nuestras diferentes entidades. Pero antes de que
básicamente vamos a continuar con esto, vamos a hacer que la
entidad misma clase. Una vez más en el paquete de
entidad, haga clic con el botón derecho en nuevo
paquete cliente Una vez más, voy a llamar a
esto el paquete personalizado. Y entonces en lugar de que
van a hacer una nueva clase de Java, y esta va a ser
la entidad mapache. Ahora cuando se trata de
la entidad mapache, esto va a ser
muy interesante porque hay
muchas cosas pasando. También copiaré
muchas de estas cosas. Todo esto está disponible para ti en el repositorio de GitHub y
un individuo igual de bien. Entonces no se preocupe en absoluto. Lo que vamos a hacer
es que vamos a hacer que esto se extienda por los animales. Así extiende animal
y también implementa el ojo
interfaz animable en este caso. Ahora, sólo vamos
a pasar el cursor sobre esto, la adición de esos diferentes
métodos aquí mismo. Y voy a pasar el cursor
sobre este constructor de cuadrícula emparejando super también. Y si esos nombres te molestan, solo
puedes hacer click en él, Shift F6, y luego debería sugerir algo un
poco más bonito aquí. Esto se va a mantener nulo, en este caso, la descendencia roja. Por lo que esta sólo va a ser la mafia elegible
para conseguir hijos. No necesitamos esto
en este momento. Los controladores son para las cosas de animación así
como para la fábrica de animación. Y vamos a sumar
la fábrica de animación de inmediato porque esto es
literalmente sólo una línea. Como se puede ver. Sólo hay una fábrica privada de
animación. Fábrica de animación. Y entonces solo
estamos pasando esto. Entonces básicamente puede
devolver esto aquí mismo. Los controladores, no
vamos a devolver nada
por el momento. En primer lugar, lo que
vamos a hacer es que vamos a echar un vistazo a las otras cosas que
necesitamos para la entidad. Porque hay al
menos un conjunto de métodos que vamos
a necesitar y que son los atributos establecidos. Esto es algo que
es increíblemente importante. En realidad. Si no tenemos esto, entonces en realidad no va a funcionar. Sólo vamos a hacer lo
siguiente que van. Básicamente estamos estableciendo
algunos atributos básicos aquí. El máximo de salud, el daño, la velocidad de ataque de
la velocidad de movimiento. Ya sabes, por supuesto
puedes jugar con esto sin embargo te gustaría no
cambiarlos básicamente de
cualquier manera ,
si quisieras. Pero esto es muy
importante que
tengamos esto porque de lo contrario la entidad real no
va a tener ningún atributo. Y por supuesto eso no es
exactamente lo que queremos aquí. Desde luego queríamos
tener algunos atributos. También hay algunos otros
métodos que podemos anular. Bueno, separemos
esto un poco. Entonces esto va a ser todo lo
de la animación. Esto de aquí mismo es
todo para animaciones. Y hay algunas otras cosas que voy a copiar por aquí, pero esos son sólo algunos
sonidos como se puede ver. Ahí está, simplemente
abrámoslo todo. Ahí vas. Entonces
hay un sonido de paso. Acabo de recoger
algunos sonidos aquí. Hay un gato recto
suena igual de ambiental. Delfín herido es cuando se
lastima, a menudo sonido sordo. ¿ Por qué no? Por el momento, no
tengo ningún sonido de mapache, pero por supuesto que
tampoco deberían importar. Pero estos son básicamente los
sonidos que puedes definir. Y sí, por supuesto, también
podrías decir sonidos
mod y luego usar uno
de tus sonidos de modo también. Por supuesto, puedes agregar sonidos
personalizados o tus
entidades también. Eso es bastante guay. Todas las cosas consideradas. Quiero decir, eso
concluye más o menos el trozo de esto. Lo último que también
queremos es que
queremos el método de registro de metas, y ese es un método que también
podemos anular. Ahora creo que
vamos a tener dos cosas, exactamente dos cosas
que van a ser un comentado
por el momento. Porque esos son para cuando vamos a
hacer este T-Mobile. Por el momento,
no vamos a hacer la mesa de mapache
porque
básicamente quiero pasar por esto
paso a paso, las metas. Esta es básicamente la
IA de esta entidad. Esto es muy, este puede
ser un tema muy complejo. Por lo que hay muchas
metas diferentes que podemos sumar. Entonces lo que podemos hacer, por ejemplo, es que podemos hacer clic en
el botón central del ratón en un gol y se puede ver que esto
amplía la clase de meta. Si ahora hago click en esto
y presiono Control H, Estas son todas las metas
y ahora puedo ampliarlas. Y se puede ver que
hay muchas metas diferentes. Se puede ver. Y por supuesto en teoría, incluso
puedes escribir tus
propios objetivos también. Entonces realmente hay
muchas cosas aquí. Y una vez más, esta
es una de esas cosas en las que solo vas a tener que jugar un poco
con esto. Mira las entidades de vainilla y mira cómo están usando los objetivos. El concepto general es que cuanto menor sea
la prioridad, como cuanto menor sea el número de
prioridad, mayor
es realmente en la lista. Uno sería la prioridad
más alta y seis es la prioridad más baja. Pero si tiene que elegir
entre uno o dos objetivos, básicamente echa un
vistazo a las prioridades. Entonces esa es la idea general aquí. Así que asegurándose de que esto esté básicamente siempre
configurado correctamente. Y entonces como dije, sólo se
puede ir al
animal, por ejemplo, medio más punk click
en esta prensa Control H. Se puede ver todos
los animales. Pero por ejemplo, podríamos
echar un vistazo al zorro aquí. Y se puede ver que
aquí hay
muchas cosas diferentes que en realidad no nos interesa
realmente por el momento. Solo queremos ver
los objetivos reales. Se puede ver que
sólo somos sus metas, pero ya se puede ver aquí
hay bastantes metas
diferentes. Este objetivo de la lámpara, hay un objetivo objetivo de
huevo de tortuga, Hay un objetivo de pez objetivo. Conseguimos algunos selectores de objetivos donde sumamos unos ciertos
goles aquí, la panícula, la meta de la raza, evitar ir metas de entidad. Por lo que se trata de un objetivo que evita a cierta entidad en
una distancia específica. Entonces hay tantas
cosas que puedes hacer. Ahora. También se puede ver que la
mayoría de ellos son específicos para el zorro es
en lugar de la clase zorro, digamos por ejemplo, el objetivo del sueño para el botón
central del ratón. Haga clic en esto. Verás que el objetivo del sueño está en realidad en el objetivo de comportamiento del zorro
y en realidad está dentro de la clase box. Algunas veces algunos de
estos objetivos están en realidad dentro de sus respectivas entidades
reales. Y esta es también la razón por la
que, por ejemplo, el zorro, tiene como 1600 líneas de código. Aquí hay muchas cosas. Quiero decir, diría probablemente lo más complicado en términos de entidades personalizadas
para la vida en general, solo es lo que es. Muy recomendable. Hay que pasar por algunas
de las entidades de vainilla y simplemente jugar con ella y
luego ver lo que se puede ver, como dije, botón central
del ratón haga clic en este control cada
año sobre la meta, y entonces deberías
poder ver todos los objetivos disponibles. Y entonces en el peor de los casos, también
puedes copiar algunos
de ellos si
necesariamente los necesitas. Entonces se hace la clase de
entidad de recuerdo real aquí. Entonces vamos a registrarlo en
la clase más entidades. En realidad también voy a
copiar esto más. Como siempre, todo lo
disponible para ti en el repositorio
individual de GitHub igual de bien. Ahora este error
se produce porque
esto debe ser protegido. Así que vamos a hacer
esto público aquí mismo. Y entonces la flecha
debe desaparecer. Entonces no hay preocupaciones ahí en absoluto. Y se puede ver que hay un objeto de
registro de tipo entidad. Entonces vamos a poner la clase
que acabamos de hacer aquí, el mapache registrándose
bajo el nombre de mapache. Y entonces vamos a
decir que el constructor
de tipo entidad de la entidad discográfica lo sabía. Esta es una criatura en este caso, este tamaño es en realidad el tamaño de la
caja de montón de esta entidad. Y el magnético lo construye bajo la ubicación del recurso
o más Id bajo el, una vez más, el espacio de nombres
mapache. Y eso es más o menos el registro se
hace aquí mismo. Y ahora todavía
tenemos que hacerlo bien, quiero decir, básicamente agregar esto en unos
pocos lugares diferentes. El primer lugar que queremos
agregar esto es en realidad en nuestros eventos y esto va a ser en los eventos de bus de eventos mod. Curiosamente, porque aquí
mismo queremos sumar un nuevo evento como el vacío estático
público. Y esta es la entidad. Evento de atributo, solo
voy a llamar a eso
y luego vamos a decir atributo de entidad. Este es el
evento de creación, cita evento. Cuando vamos a hacer es sólo
vamos a
llamar a la pestaña Evento put, mod tipos de entidad ese
mapache, que GET. Entonces la entidad mapache,
establecer atributo de entidad. Y luego solo
vamos a agregar el evento add subscribe justo aquí. Muy importante que añadamos esto. Y ahora esto básicamente
sumará los atributos que
hemos definido
aquí mismo a cada mapache que
existe en nuestro mundo. Esa es la idea. Ahí. No obstante, hay algunas cosas
más para el mapache, para la entidad en general. Para la entidad, también vamos a necesitar un renderizador y un modelo. Entonces en el
paquete de entidad se ejecuta de nuevo, haga clic derecho en nuevo paquete
y vamos a
llamar a esto el cliente en realidad, por el renderizador
y el modelo para ambos ser cliente solo
si no me equivoco, vamos a decir Mapache. Este va a ser el renderizador. Entonces vamos a hacer
el otro también. Este va a ser el mapache. Este va a ser el modelo. Ahí vas. No hay preocupaciones ahí en absoluto. El, ¿cuál es más fácil? El modelo va a ser
un poco más fácil. Pero esto va a ampliar el Modelo Geo animado de entidad de
registro de tipo que vas. Y luego vamos a pasar el cursor sobre esto, Implementar Métodos. Por lo que necesitamos implementar
estos tres métodos. Ahora bien, esto es en realidad
bastante sencillo. Voy a copiar sobre
la única cosa aquí. Entonces esto sólo va a estar siguiendo una nueva ubicación de
recursos. Y esto está apuntando exactamente
al GEO y luego mapache
que AOTA Jason, este exactamente este archivo
trazador aquí mismo, que básicamente tenemos. Y luego vamos a
también acaba de copiar esto más. En realidad no estoy 100%
seguro de lo que va a pasar si no
tengo este archivo, no
estoy muy seguro. Y por la textura, tenemos esto aquí mismo. Entonces texturas, entidad mapache
y luego el mapache, un PNG. Ahora éste no estoy en porcentaje seguro porque en realidad
no he probado esto sin
el archivo de animación todavía. Pero creo que
va a estar bien. Vamos a ver si
nos estamos quedando choque, entonces vas a arreglar eso en un momento sin preocupaciones ahí. Pero este es el archivo del
modelo real y luego también
necesitamos el render. Por supuesto, el renderizador, en este caso, en realidad debería
ser un poco más fácil. Por lo que esto va a extender la entidad renderizadora de la GU, entidad
mapache. Una vez más nota ninguno de
modelo de registro sino de entidad mapache, pero simplemente pasa el cursor sobre esto. Y si construimos
nuestro emparejamiento un super, Ahora lo que tenemos que hacer aquí
es que necesitamos deshacernos de este proveedor de modelos y luego en
realidad solo hacer un nuevo modelo mapache aquí mismo. También voy a hacer que este
arranque ese o radio 0.3. Creo que eso va a estar bien. Y entonces va a ser impresionante que
voy a hacer es que me vaya. Solo queríamos sobrescribir método de tipo
render aquí mismo. Entonces esto lo escala también. Y luego también lo que queremos
hacer es conseguir ubicación de textura. Entonces vamos a elegir
la misma ubicación de textura. Aquí. Sólo vamos a
ir también proporcionar, y eso debería ser
más o menos todo lo que tenemos que hacer. Entonces el, tanto el modelo el renderizador en realidad
bastante sencillo. Todas las cosas consideradas. No hay
tantas cosas aquí. Como se puede ver en
los modelos de vainilla. En realidad hay mucho más
ahí porque por supuesto, los modelos de vainilla en realidad
todo el modelo se guarda en la clase más que en
esta geometría, Jason. Así que eso es lo realmente genial. Entonces solo tenemos que básicamente agregaremos
el renderador correctamente. Entonces, ¿cómo vamos a hacer una cuba? Vamos a hacer eso yendo
a nuestra clase de foso de curso MC. Y luego dentro de la
configuración del cliente, muy importante. Vamos a decir que
entidad nos rinde, nos
rendirá éste aquí mismo. Modo de registro, tipos de entidad. Vamos a decir que el
mapache no se pone. Esto es igual
al colon mapache, hacer colon, colon nuevo. Y eso debería ser eso. Eso es más
o menos lo que tenemos que
hacer en ese frente también. Ahora también vamos a
tener que añadir un nuevo ítem. Y eso va
a ser, por supuesto, el huevo de desove, el
esperma y el óvulo. En realidad copiaré éste durante esta vez como siempre, por
supuesto, el
código real está disponible para ti. Esto no es demasiado loco. Se puede ver este cuello de botella
de mapache frío. Esto es de tipo elemento para el artículo
hispano en realidad. Y estos son los colores
básicamente que tiene el Reino Unido. Y eso es
más o menos todo lo
que hay que hacer allí. Entonces. Por supuesto, debido a que este es
en realidad un elemento normal, también
queremos agregar
la traducción aquí, la carpeta lang en
subrayar el archivo JSON. Así que vamos a añadir
esto aquí también. Ahí están los mapaches engendran por ejemplo. Y en realidad también
necesitamos un archivo de modelo de artículo. Sé que esto es bastante
loco, pero es cierto. O esto tampoco es demasiado loco. Por lo que podemos ver que es como la
plantilla de elemento padre desova huevo. Entonces esto va a ser
coloreado con estos dos
colores aquí mismo. Entonces eso es todo lo que
hay a ella. Entonces el artículo
también debería funcionar totalmente bien. Y bueno, si no me equivoco, creo que debería haber llegado a todo lo
que necesitaba. Necesitaba añadir aquí. Si no, entonces
definitivamente vamos a ver que no funciona, pero
eso va a estar bien. Y vamos a
ver también qué se puede
hacer con una flecha. Pero por el momento, creo que esto es todo lo que necesitamos. Entonces veamos por obras o lo que nos
encontramos en Minecraft. Y como se puede ver,
el mapache AG se
ha
agregado con éxito al juego. Y ahora veamos si hago clic derecho
si desova el mapache. Y ahí está. En todo su esplendor,
se está moviendo. Ahora, por supuesto, como hemos dicho, no tiene animaciones particulares interesantes
en este momento. Y en realidad creo que
el cuadro delimitador real, si presiono F3, ser, ser un poco demasiado pequeño. Por lo que podríamos ser capaces de agregarle un poco más de
caja limitadora. Por el momento, esto
es realmente genial y sí, es necesario lo
fácil que es ahora. Oh, en realidad va a
fluir debido a
la llaga de cobalto flotante. Eso es algo gracioso, pero sí, eso es más fácil
agregar una mafia a Microsoft. Sólo por el bien de la discusión, sólo
vamos a hacer
esto un poco más grande. Digamos algo así como 0.8
y tal vez la altura fue seis. Eso va a estar bien. que vamos a
estar bien con nosotros. Y eso es en realidad todas
las cosas que necesitas. Entonces para recapitular una vez más, vamos a necesitar la clase de entidad mapache
personalizada. Por supuesto, muy importante. La fábrica real aquí, no
lo hace falta todavía, pero
ya hemos añadido esto porque ¿por qué no? Simplemente tiene sentido
en este caso. Y entonces los objetivos y los atributos fueron un aquí
muy importante. Y luego la otra
cosa es Ritchie mucho. No necesariamente, no
es necesario. Es sólo agradable tener
y a base de mar. Entonces necesitábamos agregar
esto y registrado correctamente en la clase de
tipos de entidad de modo aquí mismo. Necesitábamos un renderizador y
un archivo de modelo para esto, el archivo modelo apunta
hasta el archivo del modelo. Por lo que esto apunta al
GeoJSON así como
al extra real
y a las animaciones. Y luego la caída de renta también
apunta a la textura. También determina el tamaño
real de la sombra y hace un nuevo modelo. Esta es la idea general de
cómo trabajan juntos esos. También necesitábamos
asignarle los atributos. Esto es increíblemente importante porque si no haces esto, entonces creo que el juego realmente se bloquea cuando no
haces esto y tratas de
engendrar a las entidades reales,
eso es realmente importante. Entonces también agregamos aquí mismo el EKG de
desova. Y luego en nuestro modo de curso MC, aquí
mismo,
registramos el renderer. Y esas son todas las
cosas que necesitábamos hacer. El archivo geo, por supuesto, y la textura real aquí también
son muy importantes. Pero aparte de eso,
eso es
más o menos todo lo que necesitas para una mafia personalizada, bueno, muy simple. Todavía hecho con
labio gecko, como dije. Y luego siguiente conferencia, inmediatamente
vamos a
saltar y echar un
vistazo a las
animaciones muy cool que hay ahí, que básicamente están
disponibles para nosotros. Porque eso es algo que es realmente poderoso y
en realidad es bastante
sencillo de usar. Definitivamente
comparado con las animaciones de vainilla, porque esas son esas, no
quieres
usar las básicamente. Bueno, sea cual sea el caso, esto ya lo es entonces para
esta conferencia aquí mismo, espero que te haya parecido útil esto y aprendas algo nuevo. Te veré en
la próxima conferencia.
106. (temas adicionales) agregando animaciones de entidades con Geckolib y Geckolib: Muy bien, bienvenidos de nuevo
al curso de forraje para 118. Y en esta conferencia vamos a
estar agregando algunas animaciones a nuestra entidad personalizada que
hemos agregado la última conferencia. Y para eso estamos en primer lugar, vamos a
entrar en lo que vamos a abrir bancada de bloques una vez más. Ahora este mapache y el archivo de modelo de pellizco de bloque
real debe ser proporcionado a usted, aunque es
descargable desde la última conferencia o
en esta conferencia, definitivamente
deberíamos
ser descargables. Y el,
básicamente
lo vamos a abrir y luego ir al grifo
animado aquí mismo. Ahora, ya deberíamos tener aquí
las tres de esas
animaciones. Y
básicamente voy a
mostrar rápidamente la idea general
de una animación. Sólo por el bien de la discusión, sólo
vamos
a hacer uno nuevo. Por lo que vamos a hacer clic en
el botón pequeño plus. Y entonces puedes hacer una nueva animación aquí puedes ver esto. Ahora. Esto suele ser lo que quieres
llamar a esta animación mapaches
oscuros. Entonces este es el nombre del ítem. Y luego sean cuales sean
las animaciones, sólo
vamos a llamar a esta prueba por el
bien de la discusión. Y entonces puedes saber qué
puedes hacer este bucle. Puedes, como puedes ver, hacer muchas otras cosas aquí. Sólo vamos a confirmar,
¿voy a estar bien con nosotros? ¿ Ahora para esta animación? Una vez que puedes entonces
básicamente hacer es que tengas una línea de tiempo en
la parte inferior aquí. Y yo puedo, selecciona
ciertas partes del cuerpo. Por ejemplo, puedo seleccionar
el cuerpo y de
repente se puede ver aquí abajo, obtengo la posibilidad
de agregar fotogramas clave. Si alguna vez has editado un video, esto es muy similar a esto. Por ejemplo, podría decir, está bien, quiero enmarcar
la posición, así que voy a
hacer clic en el plus aquí. Entonces se puede ver que en esta posición en
el código de tiempo 0, ahora
tengo un fotograma clave para
esta parte en particular. Entonces este cuerpo, no va
a ser fotograma clave justo aquí. Entonces si entonces muevo el
tiempo, digamos,
digamos 0.52 frames
dondequiera que esté esto. Haga clic en este Plus de nuevo. Ya se puede ver en
el momento de 0.52, ahora tengo un segundo fotograma clave. Y si lo he hecho, por
ejemplo, fueran a cambiar, o bien
puedo cambiarlo
aquí en esta posición. Entonces podría, por ejemplo, decir tal vez en el
cuerpo real para subir dos, yo o bien puedo hacerlo o también puedo hacerlo dentro de
la cosa real. Y se puede ver
que a la izquierda, la posición real
allí cambia también. Y fue realmente genial es que
haya algunos métodos de flexibilización. Por lo que se puede ver estos básicamente
representan cómo va esto. Porque si ahora vuelvo a poner esta diapositiva y
pongo este botón de reproducción, se
puede ver que esto sube. Esto es muy rápido. Así que tal vez vas a
ser como, ya sabes qué, hagamos una pausa esto y vamos
a mover esto para que me guste Esto va a
ser un poco más lento. Y entonces se puede ver esto, ¿verdad? Para que lo veas moviéndose hacia arriba. Y luego se restablece, por supuesto, porque se trata de una
animación en bucle en este caso. Básicamente se restablece aquí con
las cosas fáciles que puedes. Hay ciertas cosas. Puedes hacer pasos. Se puede hacer algún tipo de
flexibilización como esta donde es ir despacio y
luego va más rápido. Incluso puedes hacerlo así
donde es como muy rápido
al principio y luego se
ralentiza o alivia dentro y fuera. Se puede ver que hay
muchos tipos diferentes. Esto es incluso como algún tipo de aspecto algo así como un
poco de aleatoriedad, especie de rebotar hacia arriba y
hacia abajo, lo cual es realmente genial. Entonces hay un montón de cosas que en realidad
podrías hacer aquí. También hay algunas cosas
realmente geniales que puedes agregar aquí. Ahora no estoy 100%
seguro de cómo
todos pueden acceder a los comandos reales. Pero si yo, por ejemplo,
entro en el marco inactivo aquí, así que he hecho clic en este Idle. Ahora estoy en la animación
ociosa real y hago clic en la cola real, y hago clic en la rotación. Se puede ver que
tengo Matemáticas dot pecado. Entonces esta es sólo la curva sinusoidal. Básicamente aquí donde u dot n m el tiempo es solo
el código de tiempo
que estamos multiplicando eso por 150 y luego multiplicando
el resultado por 225. Y esto básicamente resulta en que
la
cola va a girar
básicamente
alrededor de una manera muy, digamos, previsible porque la curva sinusoidal
por supuesto va así, ¿verdad? Entonces esto es sólo una
cosa general de matemáticas. Eso es realmente genial. Creo que en la página web sí
tienen realmente la suma de los métodos que están disponibles aquí,
básicamente para ver. Pero eso es algo realmente genial. Y sea cual sea el caso, volvamos a nuestras pruebas de
animación con nuestro cuerpo aquí. Entonces podemos ver ahora nuestro cuerpo, se está moviendo hacia arriba y hacia abajo. Y esto es bastante genial. Ahora, por supuesto, cuando
estás agregando animaciones, esto está haciendo que se vean
realmente bonitas y realmente buenas. Todo eso. Mucho tiempo, va a ser, ya
sabes, obviamente
consume mucho tiempo. Así que sólo vas
a necesitar probar un montón de cosas. ¿ Ves eso? Ojalá vaya a funcionar
y entonces va a estar bien. Pero también tener una animación
a pie. Para que puedas ver aquí esta
es la animación a pie. Entonces también tenemos una animación
sentada, pero esto en realidad
no hace nada. Es sólo que básicamente los
cuerpos enteros se inclinan un poco. Y básicamente el mapache
está sentado aquí entonces
la nación insular, ya
hemos visto esto,
pero básicamente sólo la cabeza y el cuerpo subiendo
y bajando, muy ligeramente. Se puede ver esto. Se trata de un movimiento muy ligero hacia
arriba y hacia abajo. Y luego la cola
básicamente moviéndose un
poco de ida y
vuelta sólo para que tenga un
poco de movimiento. Para que puedas ver eso. Simplemente incluso este pequeño pedacito de movimiento
ocioso es suficiente para dar una ilusión muy agradable de que
esto realmente esté vivo. Y así, como se puede ver, en realidad no implica tanto de ajustes que necesitas. Cosas que son muy, muy duras o algo así como la animación
caminando, corriendo animaciones,
especialmente para cuadrúpedos. Entonces para los animales con cuatro patas, eso es increíblemente duro, hay algunos recursos
que realmente he encontrado. Si realmente te
interesa esto, los
vincularé
también en los recursos. Son increíblemente cool. Entonces hay básicamente, es realmente
una mirada anatómica de cómo, cómo, cómo básicamente
cuadrúpedos Los animales
caminan y cómo esto se hace
básicamente en la animación. Entonces, animales de cuatro patas es un, bueno algo en animación
que es muy duro. Así que va a ser algo
bastante. Pero debido a que es Minecraft, estás trabajando con un
poco de bloque que animal. Probablemente tengas un
poco más de margen aquí, sea cual sea el caso, si
esto realmente te interesa, te recomiendo encarecidamente
revisarlos también, si eso es algo
que te pueda interesar. Pero sea cual sea el caso, básicamente
terminamos con
las animaciones de voluntad general. En realidad voy a
eliminar la prueba aquí de nuevo. Y entonces el resto
va a estar bien. Lo que voy a hacer es
una vez que se haga, básicamente
puedo hacer clic en una pulsación Control S para guardar esto
o también puedo ir, creo a la animación aquí. Y entonces puedo decir animaciones de
exportación. Y creo que eso ya
debería hacerlo. O podemos hacer guardar
todas las animaciones. Vamos a guardar esto bajo realmente
mapache escrito correctamente, no animación adyacente y sólo
vamos a reemplazar esto. Eso está bien. Y luego
volvamos a la inteligencia. En nuestro curso de activos MC, vamos a hacer un nuevo
directorio llamado animaciones. ¿ Son animaciones? Sí, son animaciones. Y entonces lo que voy a
hacer es que también voy a copiar sobre la
animación real. Entonces la idea general que hay
es que esto va a ser las animaciones
mapache correctamente escritas. Ahí vas. Entonces esto es básicamente todos
los datos que allí se necesitan. No necesitamos entrar en esto. Esto está bien. Ahora lo importante es que
por supuesto ahora necesitamos
especificar estas animaciones en el registro real en una entidad. Apertura de la entidad mapache. Lo que vamos a
hacer es que vamos a agregar ante todo, el controlador así como
los métodos predicados. Así que voy a copiar sobre
el método GET producto. Esto se va a explicar
en un momento. Para que como pueden ver, aún no
tenemos la sesión, así que solo vamos a eliminar
esto por el momento. Y en el controlador se
va a mirar de la siguiente manera. Por lo que sólo vamos
a tener punto de datos Agregar controlador de animación con un nuevo controlador de animación, controlador de
código. Y luego estamos pasando aquí
este método predicado. Eso es más o menos
todo lo que hay. Y luego asegurándose de que todo esto
esté escrito correctamente. Entonces estos nombres aquí mismo, la
mitad del partido a los nombres que están dentro de la animación. Esta de aquí
es la animación. Se puede ver esto realmente
escrito, ¿correcto? Incorrectamente. No represento saber
por qué, pero ahí vas. Sólo vamos a
cambiar esto rápidamente. Ahí vas. Y entonces es un 100%
correcto porque entonces el mapache está escrito
así y luego aquí también, por lo que todo debería
estar funcionando bien. Se puede ver que la animación de
paseo se enfría cuando el punto del evento se está moviendo. Recomiendo encarecidamente.
Echa un vistazo al evento de animación para
algunas cosas en particular. Puedes, por ejemplo,
ver que aquí hay algunas cosas que
puedes echarle un vistazo, incluso
algunos datos adicionales. Entonces eso también es
realmente interesante. Pero en general el se está
moviendo es probablemente el que aquí es más
importante. Y luego algunas de
las otras cosas que solo
tendrás que
jugar con esto también. Por lo que recomiendo encarecidamente
solo estar abierto a la experimentación con esto
y probar muchas cosas. Esto es
lo mejor que puedo, básicamente sólo seguro que
esta es una idea muy inteligente. Ahora, se podría decir, bueno, quiero decir, ¿qué más necesitamos? Eso es en realidad todo lo que
necesitamos porque ya hemos configurado la animación en
realidad en el medio. Entonces aquí mismo,
ya lo hemos configurado. Animaciones reclutan datos de
animación Jason, porque este Jason ya
está aquí. Y ahora tenemos básicamente
como predicado, este es el tipo de
cerebro de las animaciones. Esto básicamente determina qué animación se está
reproduciendo actualmente. Y bueno, quiero decir, eso es, eso es más o menos todo lo
que necesitamos para esto. Como dije, si tienes
algunas ideas realmente geniales, animaciones
realmente locas, todo
se reduce a usar banco de bloques, probando muchas cosas ahí. Como dije, tengo muchos recursos en animación
por ahí también. Por lo que espero que eso te ayude. Pero por el momento, supongo, vamos a ver si funciona. Nos encontramos de
vuelta en Minecraft. Así que veamos, vamos a engendrar unos mapaches y
veamos, ahí tienes. Ya funciona totalmente bien. E incluso la animación caminando, echemos un vistazo a éste. Cuando empiece
a caminar, vamos a ver. Bueno, es un poco difícil de ver a veces cuando eso
se está alejando. Pero creo que se está trabajando para que sus piernas se estén
moviendo mientras el paseo, sí. A veces la velocidad de movimiento y la animación no
coinciden del todo. Esto es por supuesto
algo que
solo tienes que modificar y cambiará como hasta
que básicamente funcione. Pero se puede ver que la animación ociosa
real
funciona totalmente bien. Y luego la
animación a pie también funciona. Todo funcionando muy bien aquí. Aquí una nueva porción de nitrógeno. Por el bien de la discusión. Ahí vas. Quiero decir, eso es
honestamente realmente genial. Y eso es realmente
lo fácil que puede ser agregar algunas animaciones viejas, quiero decir, básicas
con labio gecko a tus entidades de Minecraft, ¿verdad? Pero eso ya será
por esta conferencia aquí mismo. Espero que te haya parecido útil esto y aprendas
algo de lo nuevo. Y te veré en
la próxima conferencia. Entonces, sí.
107. (temas adicionales) agregando variantes corporativas: Muy bien, bienvenidos de nuevo
al curso de forja para 118. Y en esta conferencia
vamos a estar agregando una varianza de clientes a nuestra
entidad mapache ya existente. ¿Cuál es nuestra varianza? Bueno, es posible que
sepas, por ejemplo, que los caballos pueden tener red de
diferentes colores o simplemente en general, extras de
diferentes colores. Y eso se hace vía varianza. Ahora vamos a añadir dos de esas variantes a nuestro mapache. Y la forma en que esto funciona es básicamente sólo tenemos
una textura diferente. Así que sólo voy a copiar
esos. Ahí vas. Tenemos un mapache oscuro
y un mapache rojo. Esas son las tres
variantes diferentes que tenemos. Mapache, mapache oscuro
y un registro rojo. ¿ Y cómo ahora vamos
a implementar esto? Bueno, en realidad es bastante sencillo, todas
las cosas consideradas. Entonces esto es algo que vas
a tener que hacer básicamente, si quieres que todos
tus animales tengan variantes
diferentes en todas tus entidades para
tener diferente varianza, entonces estás va a necesitar una, bueno, en primer lugar,
una variante de enum, y luego vamos a
elegir básicamente dependiendo de esta enum, una ubicación de recurso diferente. En nuestro paquete de entidades, vamos a hacer clic derecho en nuevo
paquete llamado variante. Entonces dentro de ahí,
voy a meter, esta va a ser
la variante mapache. Esto se va a
cambiar a una enum. Y entonces
en realidad voy a copiar esto porque
lo real, el contenido de esto
debe ser siempre el mismo. Lo único que
debe cambiar aquí
son estos básicamente sus valores de enumeración. Esa es la idea general. Cuando tienes una variante
diferente, simplemente
cambias el nombre de esto
y luego
renombres todas las cosas
aquí también, ¿verdad? Entonces si esto fuera a ser llamado, quiero decir, ahora en realidad
cambiaría el nombre también,
pero sea cual sea el caso, así que acaba de cambiar el nombre por todas partes y entonces
estarías totalmente bien. Todo este
método estático que vamos a necesitar, vamos a necesitar este flujo de error
final. Todo esto
va a ser necesario. Lo único que es básicamente grueso de costumbre aquí es que el nombre de esto y
luego también el nombre de tu varianza individual. ¿ Dónde usamos esto o dónde
empezamos a usar esto? Bueno, vamos a usar esto
en el renderizador mapache. Y la forma en que
vamos a hacer esto es una vez más,
voy a copiar esto más, pero todo el código está
por supuesto disponible para ti en el repositorio de GitHub e
individual igual de bien. Y esto es en realidad, podría parecer un
poco complicado, pero en realidad es
bastante sencillo. Por lo que ahora mismo vamos
a importar esto. Ahí vas. Y luego vamos a tener un mapa. Se puede ver que esta es una
ubicación por mapa variante. Este es solo un mapa que asigna una variante de registro específica
a una ubicación de recurso. Eso es todo lo que hace. Aunque estamos diciendo, hey, si
tenemos la variante
mapache predeterminada, entonces esta es la textura a la
que quieres señalar. Si tenemos una variante oscura, entonces queríamos
apuntar a esta textura. Y si tenemos la variante roja, entonces vamos a
viajar a esta textura. Se ve un poco
más complicado, pero cuando se piensa en ello, en realidad es todo lo que
realmente hace. Y si tienes
múltiples entradas, si tienes más entradas aquí, ya
sabes, solo agregas
más entradas aquí. Ahora claro,
vamos a ver aquí una advertencia porque ya hemos
agregado esta real, en este caso clave aquí. Pero sí, eso es todo
lo que realmente necesitas hacer. Entonces si tienes más,
solo agrega más. Lo mismo aquí. Si tienes
más, solo agregas más, asegurándote de que
aumentes las ideas aquí, eso también es muy importante. Bueno, entonces en lugar
de solo hacer esto, lo que vamos a hacer es que
sólo vamos a decir, Ok, um, bueno solo queremos devolver la ubicación bivariante dot get, y luego tenemos a la
entidad mapache disponible aquí. Pero bueno, la
entidad discográfica en este momento, aún no tiene
variante, ¿verdad? Eso no es ningún problema en absoluto. Porque ahora mismo vamos a sumar básicamente esas variantes. Así que sólo vamos a mantener esta flecha aquí por
el momento. No, no se preocupa básicamente. Y luego vamos a sumar todas
las cosas que necesitamos
para la varianza. Así que una vez más, va a haber mucho copiado
porque una vez más, mucho de este código
siempre va a ser el mismo. Casi siempre va a ser lo mismo. Se va
a quedar igual. Va a ser muy similar. Sólo
hay que cambiar los detalles, pero haré todo lo posible para
pasar y explicar
todo lo que necesito. Entonces, antes que nada,
vamos a necesitar un accesor de datos de entidad. Entonces este es el tipo de
identificador de datos de variante. Esto es básicamente un
sincronizar datos de entidad. Entonces es de tipo entero. Esa es la idea general. Por lo general me gusta
poner esto en lo más alto
de la clase porque es sólo un poco más legible pesar de que esto también
pertenece a la varianza. Quiero mantener
esto en lo más alto de la clase y luego el resto va a ir por debajo de esta
varianza comenta aquí. Vale, ¿cuáles son las cosas
que vamos a necesitar? Bueno, lo primero que
vamos a necesitar es vamos a necesitar un método
set variant. Entonces ahí vas con
una variante récord. Y luego podemos establecer
los datos
de entidad de tipo date data
ID type variant, que es exactamente estos datos
sincronizados que hemos creado aquí arriba. Y luego lo vamos a
poner en la identificación. Y luego usando una
operación aquí, no
necesitamos
entrar en los detalles. Esto es más o menos lo que hace
el caballo también. Por lo que la mayor parte
de esto se toma del caballo también. Si en realidad cambiamos turno de
prensa dos veces
y vamos a ir al, creo que es el caballo
abstracto el que tiene esto, pero no
estoy 100% seguro. Creo que es
el caballo absoluto. Esto tiene el ID. Bueno, echemos un
vistazo al caballo de lo que tal vez es en realidad el
caballo todavía tipo de identificación de datos. Podemos ver que esto
se ve muy parecido. Y luego si hacemos clic en el
botón central del ratón sobre esto. Se puede ver, por
ejemplo, aquí mismo, establecer a variante que
acabamos de establecer la variante y luego aquí
establecer variante y marcas. Por lo que se puede ver
que aquí básicamente también hace algunas cosas interesantes
con
un poco de cambio. Así que no nos
preocupemos demasiado por ello. Digamos que
sólo vamos a necesitar esto. Y si tenemos esto
en la morgue, va a estar totalmente bien. Si tenemos un conjunto de variante, por supuesto también
queremos una variante get, pero queríamos dos
diferentes que queremos. Uno donde sacamos la
variante mapache y otra donde
realmente sacamos el
entero de esto. Y eso es más o menos
también lo que vamos a necesitar o el,
éste de aquí mismo. Por lo que sólo podemos decir ahora
instancia dot get variant. Y entonces éste ya
no tiene flechas. Y ahora tenemos que hacer lo
mismo en el modelo. Lo que puedo hacer es que
sólo puedo copiar esto aquí. Y sólo vamos a
decir aquí mismo, este va a ser
el renderizador mapache eso, y entonces sólo
vamos a agregar esto. Bueno, debería tener
el punto ahí dentro. Ahí vas. Y luego esto
se llama objeto en su lugar. Eso está totalmente bien. Y luego terminamos con la varianza real tanto en
el renderizador como en el modelo. Esos son los dos únicos lugares donde se necesita cambiar esto. De lo contrario el resto
va a
suceder todo en la clase de entidad. ¿ Qué más necesitamos
para la entidad? Bueno, una vez que el mundo
salva, Por supuesto, todavía
tenemos que salvar de
alguna manera esto. Entonces, por lo tanto vamos
a necesitar algunos datos de NVT. Así que todo esto
se va a guardar aquí mismo, leer datos guardados adicionales, y luego también agregar datos
guardados adicionales aquí mismo. Por lo que esos dos son muy importantes. Y luego por último pero no menos importante, básicamente creo
que son los datos de sincronización definir. Esto es increíblemente importante
porque esto siempre va a ser necesario si
tienes algún tipo de entidad, accesor de
datos, una barba, el tipo de identificación de datos, o sea lo es, supongamos que vamos a ver
una sesión también. Por lo que un
accesor de datos sentado de tipo Boolean. Esto también es lo que
vamos a tener que añadir en este
método define datos de sincronización es muy importante. Esto es definitivamente
lo que vamos a necesitar. Y luego por último pero no menos importante, básicamente
lo último que necesitamos es el método de desove finalizado. Y esto es muy interesante. Ahora la razón por la que necesitamos
esto
es porque esto se llama básicamente
cuando usamos el, bueno, quiero decir, cuando esto
en realidad esta entidad se engendra y esto
finaliza el deporte. Así que literalmente
vamos a decir, Hey, sólo dame un valor aleatorio
de esta variante mapache. Y entonces vamos a
ponerlo exactamente en esa varianza. Eso es todo
lo que estamos haciendo aquí. Y con eso, básicamente
la variante está completa. Y se puede ver que en general, es más o menos esto, estos métodos, todos
van a ser casi siempre los mismos. Si tienes un nombre de enumeración
diferente, el nombre cambia aquí. Aparte de eso,
probablemente sea más o menos siempre
va a ser lo mismo. Siempre debería estar ahí. Siempre debe ser lo mismo. En general, esto es más o menos
todo eso. Ahí está Twitter. No es tan complicado. Solo necesitas saber dónde exactamente necesitas
hacer esos cambios, por
supuesto, en el
renderador y en el modelo real también. Apenas esos dos cambios, solo agregando el mapa en
el renderizador también. Entonces este mapa
aquí mismo, pero en general, creo que esto debería
ser bastante autoexplicativo, todas las cosas consideradas,
nada aquí es dos, diría fuera de los
límites de la mayor parte de esto. Por lo que esto debería ser
bastante sencillo. Y ahora supongo, bueno, quiero decir, solo
veamos si funciona. O nos encontramos de
vuelta en Minecraft. Entonces engendremos algunos mapaches y veamos si se suman las
varianzas. Y ahí vas. Oh no, tenemos una variante que es no tiene
textura, pero no se preocupe, Eso debería ser
solo un error tipográfico en el real tirando de la ubicación real del
recurso. Se puede ver que el rojo
funciona totalmente bien. Solo veamos de qué se
trata esto y vamos a arreglar eso. Como sospechaba aquí mismo, hay un error tipográfico. No te preocupes en absoluto. Sólo vamos a arreglar esto. Entonces la C estaba desaparecida
una vez más, con eso ,
básicamente
todo, ahora estaría
funcionando totalmente bien. Y eso es realmente
lo fácil que es agregar alguna varianza personalizada
a tu costumbre, bien a tu entidad personalizada. Pero eso ya sería
por esta conferencia aquí mismo. Espero que te haya parecido útil esto y aprendas algo nuevo. Si lo hiciera,
agradecería mucho una revisión de usted. De lo contrario, te veré
en la próxima conferencia.
108. (temas adicionales): Muy bien, bienvenidos de nuevo
al curso de forja para 118. Y en esta conferencia
vamos a estar agregando una característica de habilidad de equipo
a nuestra entidad personalizada, básicamente haciendo
posible que podamos domar nuestro mapache. Y esto es una vez más, una de esas cosas
que en realidad es bastante sencillo una vez que lo
hemos implementado. Y se llega a ver qué
métodos tenemos que anular aquí en la clase Entidad
mapache personalizada. Ahora lo primero
que tenemos que hacer es que tengas que subir aquí y realmente cambiar
esto a animal amable. Entonces esto va a ser animal
alcanzable. Ahí vas. Entonces sólo
vamos a tomar esto, voy a
seleccionarlo, presionar Control C, Control V para pegarlo aquí
mismo y aquí
mismo también. Yo creo que
esos deberían ser todos
los lugares donde hay que hacer
esto. Entonces, por supuesto,
una vez más copiaré sobre
la mayor parte de esto. Todo esto es por supuesto, una
vez más disponible para ti en el repositorio de GitHub en un
individuo igual de bien. Esta va a ser
la habilidad de equipo. Esto va a ir
al fondo aquí, y podemos ver todas las
cosas y vamos a
pasar por cada uno de los
métodos uno por uno. Se puede ver en primer lugar, tenemos este accesor de
datos sentado. Una vez más,
en realidad voy a mover eso también para
que tengamos estamos diciendo
a los datos en la parte superior aquí, entonces lo que es muy importante es
porque tenemos otra de esas entradas de
datos sincronizar. Necesitamos agregar esto a
los datos de sincronización definidos. Esto es muy importante
que hagamos esto. Entonces vamos a tener que decir
estos datos de entidad estrella, definir, esto está sentado y entonces el valor predeterminado
va a ser falso. Por lo que esto es increíblemente
importante y que esto también se agrega aquí, lo contrario, esto no funcionará. Entonces esa es una de las
cosas que tenemos que hacer. Ahora la razón por la
que realmente necesitamos esta cosa en particular,
el accesorio aquí, es por el hecho de que lo contrario el predicado para
la animación no funciona. Porque en teoría, si
en realidad entro
al animal de mesa y
creo que ahí está, el orden booleano de
sentarse ya está ahí, así que esto ya existe, que
significa que por qué
alguna vez necesitaríamos otro
accesorio aquí, otro tipo de datos aquí, bueno, en realidad no
sincroniza este booleano aquí, creo que solo está
disponible en el servidor. No estoy 100% seguro, pero
creo que esto solo está
disponible en el servidor. Pero por supuesto, en el
caso de gecko lip, eso en realidad sólo
funciona en el cliente, lo que significa que hay
un desajuste entre este booleano aquí mismo o
el servidor y el cliente. Por lo tanto, necesitamos el real
sincronizar los datos aquí. Por eso tenemos esto. Y entonces también podemos ahora
descomentar estas dos cosas. Ahora bien, esto es muy importante que tu sentada cuando se ordene meta, tiene una prioridad menor en
ésta o una prioridad mayor, supongo que tiene que
ser un número menor. Entonces básicamente todos
los demás
miran al azar a su alrededor a
metas al azar para caminar, cosas así. Eso es muy importante
porque si esto tiene una prioridad
menor que por ejemplo, el gol de paseo aleatorio, entonces el mapache en este caso, aunque se le ordene sentarse, sólo
se levantará
y caminando y luego sentarse de nuevo
y luego seguir caminando. Así que en realidad no
lo que quieres que haga. Entonces entonces también podemos
agregar de inmediato la animación aquí. Esta es la animación sentada. Entonces si esto está sentado, entonces sólo vamos
a llamar básicamente a la animación que
sentado mapache, nada demasiado loco, debería
ser bastante autoexplicativo. Y con eso, se hace la
animación. Y ahora en realidad podemos
echar un vistazo a todas
las diferentes cosas para la
alcanzabilidad que necesitamos. Para lo primero es
básicamente el gran método aquí, ese es el método de interacción de la mafia, pero este es el método que se llama cuando un
jugador hace clic derecho. Entonces esta fregona, he
hecho un artículo aquí, por lo que este es el artículo para domar. Acabo de elegir una manzana. Podrías, por
ejemplo, reemplazar esto. También puedes agregar varios
artículos si lo deseas. Por supuesto, aplica Java normal. Tú lo eres, así que no te preocupas. Ahí. Básicamente
vamos a revisar, hey, es el artículo con el que hemos hecho
clic derecho, en realidad el artículo para domar. Y si este animal aún no
se alcanza, entonces vamos a entrar
aquí, del lado del cliente, sólo
vamos a consumir,
así que vamos a hacer haga clic derecho, pero
no pasa nada. No obstante, en el servidor que están, vamos a entrar y
haciendo algunas cosas. En primer lugar, si la habilidad
aquí es inestabilidad. Entonces la idea aquí es que
si este no es el caso, lo que significa que si no estamos
en motor creativo que estamos encogiendo o disminuyendo
la pila de artículos por uno. Y si estamos en modo
creativo de ellos, no lo
estamos haciendo. Eso es todo lo que hay a ella. Aquí en equipo de animales
es sólo un, ya sabes, un evento que básicamente es
despedido cuando este
animal es domesticado. Y luego una vez más,
sólo nos estamos asegurando de que
no estemos en el cliente básicamente. Creo que esto es
básicamente redundante, pero sólo vamos a
mantenerlo porque no hay preocupaciones ahí. Y luego vamos a
decir, antes que nada, vamos a llamar al método ETA. Este
jugador en particular dentro de un va a recomputar el camino
para la navegación. Entonces vamos a fijar los
objetivos para conocer esta fila. Este sería básicamente el
objetivo agresivo. Entonces vamos a
llamar al evento
entidad de transmisiones con bytes siete. Por lo que este es un evento
particular aquí. Se puede ver, ya que
un paquete particular a todos los jugadores de ese evento, es, es bastante locura. Este es básicamente el evento
que necesitamos enviar cuando se ha alcanzado
un determinado animal. Creo que esto es el
responsable de desovar los Corazones cuando
en realidad consigas el equipo, entonces inmediatamente estamos
poniendo sentado a verdad. Y en realidad podemos echar un
vistazo al set sentado aquí. Entonces se puede ver que no
sólo estamos estableciendo los datos de la entidad llevando a lo que estamos
pasando aquí? También estamos llamando al conjunto
ordenó sentarse método, que era básicamente establece
este orden para sentarse en el animal de mesa aquí también a
lo que estamos pasando. Entonces la idea es que
necesitamos que ambos se establezcan correctamente. Y luego tuvimos esto, sí, esa es básicamente la idea
general aquí. Y entonces aquí esta esta, una vez que estábamos ya
hemos domesticado a este animal. Y una vez más, estamos en el, en el servidor
asegurándonos de que usamos solo la mano principal porque
si no tenemos esto, entonces básicamente
nunca estamos siendo capaces de conseguir que el animal real se sienta porque esto es llamado
para ambas manos. Esto es muy importante.
Esto se llama dos veces, una por cada mano
del jugador. Así que ten cuidado con esto. Esto también, por supuesto,
luego se llama dos veces, uno para el cliente y
otro para el lado del servidor. Entonces en total se
llama cuatro veces. Así que ten en cuenta eso. Y este de aquí, es por eso que necesitamos la mano de
interacción aquí. De lo contrario esto
se llamaría dos veces. Y luego por supuesto, si
alternan algo dos veces, bueno, simplemente vuelve a
su posición original. Por lo tanto, el
animal real nunca se sentaría. Entonces eso es muy importante aquí. Aquí.
Básicamente estamos haciendo un pase cuando el elemento para
domar se usa de nuevo, a pesar de que
básicamente ya tiene nombre. Pero eso es todo lo que
hay
para el método de interacción de la mafia. Esta es básicamente la
pieza central de esto, por supuesto, donde realmente lo estamos
poniendo a ser domesticados. Y tenemos el set, el método de ajuste,
nada demasiado loco. También tenemos el método set T. ¿ Dónde está este frío? Permítanme realmente echar
un vistazo a esto. Esto es frío. En realidad no 100% seguro creo
que esto es frío. También podría llamarse a través de algunas de estas
cosas aquí mismo, pero
básicamente estamos cambiando algunos de los atributos aquí si
este animal es domesticado. Entonces esto es algo normal
que básicamente puede suceder. Y entonces también necesitamos simplemente, no
creo que tengamos que
anular esto necesariamente,
pero lo he sobrescrito en cuanto menos está el equipo donde básicamente este es el equipo al que pertenece este
animal. Entonces tenemos el
último pero no menos importante, el método booleano
puede ser lixiviado. He puesto esto en falso. Ahora. Algo que es un error
actualmente en gecko lip. No sé si esto
sigue siendo algo en este momento, pero este ha sido un
tema desde hace algún tiempo, es cuando esto es cierto y
en realidad atan esta lesión, una entidad de labio gecko, entonces el plomo real es, es invisible.
Todavía está ahí. Funciona, pero es invisible. No sé si todavía
hay una solución. Voy a revisar esto en
una fecha posterior también. Pero si o bien es fijo o si no está fijo
y probablemente vamos a tener un fijo para
eso en tal vez ya sea conferencias
posteriores o en algún
momento en el futuro también. Pero eso es
más o menos todo lo que necesitamos para la habilidad del equipo. puede ver que definitivamente se pone un poco más complicado aquí. No es sólo como, Oh, vamos a conseguir una enum
ahí, una especie de variante. Bofetea unas cuantas cosas ahí dentro
y luego terminamos. Ahora, la habilidad de equipo es un
poco más complicada, pero todas las cosas
consideradas no fueron. Bueno, no es tan loco. La capacidad sentada es realmente lo que podría ser más difícil en algunas circunstancias porque todas
las piezas tienen
que ser correctas. Tenemos que estar
enfriándolo de la manera correcta, en los momentos correctos. Y ahora es muy importante
una vez más, es el objetivo. Esta es
la mayoría de las veces lo que me
ha pasado. Por qué básicamente dejan sentarse o cuando les
ordenas que se senten. Y de repente
el animal acaba de
subir e ir a otro lugar
y luego se sienta de nuevo. Pero esta fue una de las cosas. Después de haber agregado todo esto, ahora
vamos
a poder ver no sólo la animación sentada, sino también cómo
domesticar al animal. Entonces veamos si funciona o por qué nos encontramos de
vuelta en Minecraft. Entonces veamos si puedo
domar el mapache. Y ahí vas,
mejores amigos para siempre. Ahora está sentado. Ahora lo que suelo
hacer para hacerlo básicamente se
asegura de que se quede
en el mismo lugar. Es sólo que voy a no encerrarlo en bulbo básicamente
hacer un poco de una cueva aquí para
que yo sepa bien, si definitivamente se ha movido, si está fuera de la
cueva básicamente. Y así por el momento, esto se ve totalmente bien, como en realidad
parece estar sentado ahí. Y también se puede ver
la animación sentada, por cierto, vamos a
echar un vistazo al CEO. Y luego si vuelvo a hacer clic con el botón derecho, entonces el mapache debería
empezar a caminar de nuevo o simplemente usar otras metas básicamente para hacer lo que quiera hacer. Básicamente pasear por ahí, o
cuando quiera hacerlo. Ahí vas. Ahora está
corriendo otra vez. Entonces van y sí,
eso es lo que quiero decir, se
puede ver que
en realidad es más rápido debido al aumento
de velocidad que tiene,
ha ganado
a través de la domesticación. Esto es algo que ha
sucedido en el domado. Vamos a echar
un vistazo a eso
en apenas un momento otra vez. Pero sí, eso es lo que quiero decir,
eso es más o menos todo lo que realmente necesitábamos hacer. Y ahora tienes un
mapache de Equipos Eso es
realmente genial. Una vez más, la
velocidad de movimiento aquí mismo es básicamente la razón por la
que es tan maldita rápida. Básicamente
lo estamos configurando a 0.5, creo. Veamos en realidad cuál sería el
movimiento, 0.3. Entonces casi estamos duplicando
la velocidad de movimiento. Esto es por supuesto algo como cualquier otro momento cuando se
trata de los atributos, valores de ciertos
atributos en este caso, o ciertas variables, solo
tienes que
jugar con ellos. Tendrás que cambiarlos probablemente muchas veces de cualquier manera, simplemente por si realmente
quieres
desenterrar y asegurarte de que tu
mod esté correctamente balanceado, vas a tener que
cambiar los números. Quiero decir, muchas veces esta es una de esas
cosas donde una vez más, solo juega
con los números. Pruebe un montón de cosas, estar abiertos a la experimentación. Y luego mientras quiero decir, nada básicamente
se interpone en tu camino. Pero eso ya es entonces
para esta conferencia aquí mismo, espero que te haya parecido útil esto y aprendas algo nuevo. Y te veré en
la próxima conferencia.
109. (temas adicionales): O doy la bienvenida de nuevo al curso de
forja para cuando 18. Y en esta conferencia,
vamos a estar agregando una
entidad de transporte personalizada a Minecraft. Entonces después de haber pasado
con la entidad mapache, ahora
vamos a
sumar las entidades tigres. Entonces por supuesto, una vez más tener un modelo de bancada de blog para
esto. Ahí vas. Esto es por supuesto también
descarga ambos para ti, pero tenemos básicamente todo
esto ya configurado y todo básicamente va a funcionar muy similar
al mapache. Lo que vamos a tener es que
vamos a tener una nueva clase, primer lugar, y esa
va a ser la entidad tigre. Ahí vas. Ahora hay entidad tigre
va a ser muy interesante. En primer lugar,
una vez más copiaré sobre la totalidad más o
menos de esta clase. Esta va a ser
una clase muy larga, pero la mayor parte de esto va a ser
muy similar al mapache, número uno y número dos, voy a explicar
todo lo mejor que pueda, claro también. Entonces lo que vamos a ver
aquí es que deberíamos conseguir dos. Está bien, eso está bien. Eso está
bien porque esto se llama los tipos de entidad
mod. En realidad, ahí vas. Y entonces eso va a
estar bien también. Entonces una cosa que tenemos aquí es ver más entidades
que van a estar bien. Y luego hay algunas
otras cosas de las que
en realidad podemos deshacernos aquí
también. Y ahí vas. Ahora no más errores
si copias esto del
pastor de GitHub o de las gists, no
habrá más errores presentes para ti. Y todo aquí debería estar bien o
sí, debería estar bien. En primer lugar, lo que
tenemos una vez más es algunas de las cosas de las sesiones. Para que puedas ver que está
sentado, sentado. E incluso aquí tenemos
la sesión y cuando hacemos clic derecho en la interacción de la
mafia aquí, se
puede ver esta vez
si nos estamos agachando, entonces en realidad queremos
poner el humo para estar sentado por causa de supuesto que también
queríamos hacerlo como legible. Es por eso que tenemos esta interfaz
de jugador manejable aquí mismo. Y eso va a ser
lo interesante. Entonces si en realidad hago click en
esto y presiono Control H, entonces deberíamos
poder ver, ahí vas. Tengo el
caballo abstracto por ejemplo. La mayor parte de esto se toma de las clases de caballo abstracto y de
la entidad caballo. No puedo recalcar esto lo suficiente. Echa un vistazo a todos
los ejemplos de vainilla. Aquí tienes tantos ejemplos de
vainilla. Una vez que entiendas
la estructura básica de esta clase de como
una clase de entidad, entonces echar un vistazo a
las clases
de entidad de en vainilla es bastante
sencillo. Entonces como dije, la
mayoría de estas cosas son las
mismas que en el mapache. Tenemos los controles registrados, el predicado para
las animaciones. Tenemos los
datos asíncronos, el sentado, y luego también tenemos
estos selectores de spray. Entonces eso es muy interesante. Entonces el selector de spray aquí
es para el selector objetivo, para el objetivo aleatorio no domesticado, esto es algo que
básicamente se agrega donde
agregué esto del lobo. Entonces si en realidad echamos un
vistazo al lobo aquí mismo, se
puede ver en el lobo
también tiene una presa detectar, presa seleccionada aquí mismo. Y este también tiene
éste aquí mismo. Por lo que se puede ver que básicamente
cazaría diferentes rayos en esta etapa en esta máxima
prioridad en este caso, ya que básicamente queríamos que hiciera todo lo demás
antes de que hiciera esto. Pero esto es sólo una cosa añadida. No tienes que tener
esto necesariamente, pero es algo genial. Se puede ver también
tenemos gol de intento aquí. Esto es en realidad lo que, que el tigre
realmente va a seguir cuando tengas un
nabo en la mano, también
está el elemento de
mesa con él. Entonces si haces clic derecho
con el nabo, entonces tienes una, como
puedes ver aquí mismo, realidad
tenemos un veinticinco
por ciento de posibilidades que debería ser realmente domar
esta entidad n sí, eso es más o menos esto. Y la mayor parte de esto se puede ver en realidad
no es tan loco. Aquí empezamos a escribir. Este es en realidad el jugador
que realmente ha cambiado esto. Por lo que haga clic en esto y
luego llame a este jugador. Y entonces esta va a ser
la mano un poco más legible de lo que podemos ver
jugador dot star escribiendo esto. Básicamente vamos a
empezar a escribir esto. ¿ Y cómo vamos a
poder controlar esto? Bueno, la forma en que
vamos a controlar esto, esto, con este método aquí mismo, puede ser controlado por un escritor. Y entonces aquí
acabamos de regresar y controlar pasajero
es de entidad viviente. Y luego aquí, creo que también
tenemos que regresar. Esto también es bastante importante. Y luego el método de viaje
también se toma del caballo. La mayor parte de las cosas
se han sacado porque lo único que
no vamos a tener es la capacidad de
saltar con un tigre. Esa es la única cosa que no
vamos a tener. Eso es más o menos
todo lo que hay. Una vez más, también, es muy ,
quiero decir, es, es
bastante sencillo. Anibal, solo puedes echar un
vistazo al jugador rideable salto interfaz número uno y número dos también el caballo
abstracto. Como dije, todo esto
está a su disposición en las bibliotecas externas aquí
mismo, ¿verdad? Todo el código de vainilla. No puedo subrayar esto
lo suficiente como, bueno, lo fácil que es
simplemente echar un vistazo a eso y básicamente entonces ser, ya
sabes, conseguir
algo de ahí. Agreguemos esto a los más tipos de
entidades aquí mismo. Sólo voy a
volver a copiar esto. Como siempre permitirse
todo lo disponible en el repositorio de GitHub e
individual igual de bien. Vaya a la entidad aquí mismo. Y entonces
también vamos a hacer
los dos modelos y
renderizamos nuestras clases. Así que voy a decir modelo Tiger. Ahí vas. Y entonces también
vamos a decir que el tigre, renderizador
tigre va también. Y luego una vez más,
sólo vamos a copiar esto. Esto es bastante sencillo y es más o menos miradas, debería parecerse
exactamente como antes. Sólo tenemos que hacer
el modelo también. Ahí vas. El modelo también. Está apuntando una vez más
a la ubicación modal en el geo tigre justo aquí
están la textura y luego la animación
no son nada nuevo aquí mismo. Y luego en el renderizador, más o
menos lo mismo donde solo tenemos los contextos de
renderizado aquí mismo, y luego estamos haciendo un
nuevo modelo aquí mismo. Ahora esto, por supuesto, una
vez más tiene que enfriarse en el
método de configuración del cliente aquí mismo. Entonces vamos a decir
qué entidad tipifica tigre, y luego aquí el
renderizador tigre, ahí vas. Entonces por supuesto, no
olvidemos el evento que
necesitamos llamar y que debería estar aquí
mismo en los atributos. Desde luego queríamos
establecer los atributos aquí a los atributos tigres
que otorgan muy importantes. No olvides esto, y eso
debería ser eso también. Añadamos también el, el nuevo desove exacto aquí. Vamos a duplicar esto
y luego vamos a decir un tigre subrayado
desowners Greg, en tu tigre y
esto corresponden en su Greg y
solo necesitaba conseguir los códigos de color reales porque en realidad los he
preparado de antemano. Por supuesto. Digamos que este
es el código de color para eso. Y entonces el
color más destacado es este, asegurándose de que
cambiemos esto a Tigre. Y entonces esto también está bien. El modelo, bueno, sólo
vamos a copiar
en realidad sobre los mapaches Baunach porque eso
va a ser más fácil porque el contenido de cuál de nuestros no
va a cambiar. Así que sólo vamos a decir que este
es el huevo de desove tigre. Hace y luego sumarlo
aquí al final subrayan también
era archivo adyacente, supongo que mañana. Y luego aquí también,
tigre subrayan desove. Esto es por supuesto
casi todas las cosas que hemos pasado
ya con el mapache. Entonces nada demasiado nuevo debería ser todo bastante
explicativo por sí mismo. También agreguemos la
animación tigre aquí mismo. Ahí vas. Entonces también vamos
a tener el geo. Esto va a estar ahí mismo. Entonces abramos eso y agreguemos también
el modelo de tigre hidroeléctrico. Y luego por último pero no
menos importante en la entidad, vamos a hacer un nuevo
directorio llamado tigre. Y luego en lugar de ahí, vamos a tener
el PNG tigre real. Este es el extra también. Y eso es más o menos todas
las cosas que necesitamos. Como dije, la mayoría de las cosas pasan en la clase de entidad
tigre. Y también, como dije, la
mayor parte de esto se acaba
de tomar de los ejemplos
de vainilla, de algunos
ejemplos familiares donde hemos visto aquí el selector de presas, como dije, es sólo
una cosa interesante. No necesariamente necesitas esto. Esto es sólo algo que
me pareció interesante y
pensé que yo añadiría
esto también al tigre. Entonces quiero decir, es, como ya he dicho,
casi todo lo que necesitamos. Veamos si funciona o
si responde en Minecraft. Y como se puede ver, se ha agregado el
tigre AG. Entonces vamos a ver. Ahí vamos. Por lo que
algunos de los tigres aquí se
suman con éxito en el juego. Y luego tomemos unos nabos. Sierra ahora, deberían estar
siguiéndome una vez que en realidad puse esto y hace
ellos, me están siguiendo. Entonces este es el
objetivo tentador, claro, ¿verdad? Donde esto básicamente significa lo que lo real es que
van a seguir. Y luego si sólo hago clic derecho, se
puede ver que esto no
fue, no tuvo éxito,
no tuvo éxito. Una vez más, debería
ser un veinticinco por ciento de oportunidad y hace ellos, ahora,
en realidad lo tengo aquí y si hago
clic de nuevo, entonces en realidad voy a
pasar y se ve, no se ve muy
extraño, pero es bastante cool y no puedo saltar. Como dije, esto es algo que probablemente
vas a poder agregar
a través de algunos ejemplos
a través del caballo. En realidad debería ser demasiado loco. Y luego si cambio
clic derecho, entonces se puede ver, entonces podemos hacer que este
tigre se sienta también. Y eso también debería
funcionar sólo bien. Vamos a ver que esto
es un ejemplo de una entidad escribible y una
entidad de tabla al mismo tiempo, básicamente tanto al mismo
tiempo como ahí vas. Eso es en realidad lo fácil
que puede ser también. Bueno, pero eso
va a ser por esta conferencia aquí mismo. Espero que te haya parecido útil esto
y aprendas algo nuevo y te veré
en la próxima conferencia.
110. (temas adicionales) agregando un barco personalizado: O doy la bienvenida de nuevo al curso de
forraje para 118. Y en esta conferencia
vamos a estar agregando unos barcos personalizados a Minecraft. Ahora esta es una de esas
cosas parecidas a la señal. Eso parece, quiero decir, debería ser mucho más fácil, pero en realidad es increíblemente
frustrante agregar realmente. Así que una vez más, algunos, quiero decir, mucho de esto
va a ser copiado. Pero una vez que hayas
configurado esto, una vez, deberías poder agregar muy
fácilmente nuevos tipos de embarcaciones a tu MOD y
debería ser casi
ninguna preocupación en absoluto. Así que lo primero
que vamos a hacer es que vamos a
hacer una nueva entidad. Lo primero que
vas a ser como, Espera, ¿necesitamos una entidad? Exactamente. Por eso lo estamos
haciendo básicamente después de las entidades. Esta va a ser
la entidad del barco. Hace, sin embargo, sólo
van a necesitar uno. Y luego una vez más, voy a copiar los
contenidos aquí por aquí. Pero como dije, todo está disponible para ti en
el repositorio de GitHub, un individuo igual de bien. Vamos a añadir esto y no
deberíamos conseguir ninguna, vale, vamos a
conseguir unas flechas, pero eso va a estar bien. Estos se van a vender
en un poquito. Esto va a ser tipos de entidad
mod realidad van en la entidad del barco que
vamos a agregar solo un momento. Ahora, una vez más, vamos a tener un tipo de ID de tipo
de datos interesante ocho, ¿verdad? Entonces vamos,
una vez que puedas tener diferente varianza de
una entidad en particular, esto es más o menos lo
mismo que hicimos aquí con el tipo de ID de datos. Se puede ver que esta es la
variante TI y este es el tipo. Entonces vamos a tener una configuración muy
similar aquí mismo. En este caso,
solo vamos a tener la enum de tipo real dentro de esta clase de entidad
múltiple real. Y se puede ver
tenemos la flor de
cerezo uno con sólo
el nombre Cherry Blossom. Y luego el resto se
hace básicamente una especie de fondo. La idea aquí se
hace básicamente por nosotros aquí mismo. Y honestamente, realmente, realmente, realmente no
necesitamos
mirar todas las otras cosas. Si quieres agregar múltiples al igual que cualquier otra enum, sepárelos por una
coma y luego solo nombrarlos si algo diferente y entonces va a estar bien. Eso es algo que debes
hacer cuando quieras agregar una nueva variante personalizada o
un nuevo tipo de barco personalizado, también
tienes que cambiar el método del artículo de
caída del kit aquí mismo. Se puede ver que esto es
una sentencia switch. Y luego aquí estamos dejando caer
la tabla de flor de cerezo. Y luego si
tienes otro, solo tienes que añadir aquí un nuevo caso y luego solo agrega ese artículo ahí. Bastante tan simple como eso. El conjunto de tipo de tablero get mod, ambos tipos deben ser
bastante autoexplicativos. Leer aditivos adicionales
del método de datos guarda. Sólo estamos ahorrando el tipo
real de este barco. Y entonces aquí sólo estamos
teniendo dos constructores. En realidad necesitamos esos
dos constructores porque éste vamos a estar usando en tan solo un momento
en el tipo de entidad mod. Por lo que en realidad voy a
copiar eso más de 1 segundo. Por supuesto todo a tu
disposición. Y se puede ver,
llamemos a esto el tablero de
subrayado mod. ¿ Qué tal eso? Eso podría
ser un poco mejor. Y entonces se puede ver que
esta es la entidad del barco, y entonces esto también está bien. Esto debería funcionar,
esto debería funcionar. Y entonces este
calentador si
realmente podemos eliminar hace un día. Ahora, la
entidad real del barco sólo va a ser el ítem que es un tema y luego el resto va a funcionar. Se puede ver que esto es
una miscelánea, por
supuesto que es inmune al fuego. El tamaño aquí es de
las otras entidades del barco. Entonces si en realidad echas un
vistazo a la clase de barco, esto es por supuesto,
la clase disponible. Una vez más, echa un vistazo a esto. Si crees que hay
algo más que quieras hacer, si hay algo
especial que quieras hacer, echa un vistazo a eso y entonces deberías estar
bien ahí también. Ahora vamos a necesitar
también un renderer. Este va a ser el renderizador de votos
modelo. Arriba. Ahí vas. Esto en realidad va a ser bastante sencillo,
todas las cosas consideradas. Aquí hay una
cosa interesante. Una vez más, lo copiaré. Pero todo esto está disponible
para usted y no obtenemos errores. Y se puede ver aquí es algo
muy interesante. Lo que tienes aquí son
sus propios recursos. Este va a ser un mapa del tipo de tablero
mod a un par de modelo de barco de ubicación de
recursos. Esto es bastante locura. La idea general aquí
es solo que queremos, esto es casi
exactamente lo mismo. Verías esta ubicación de textura, más o
menos lo que teníamos en
los renderizadores aquí mismo, donde tenemos la
ubicación de textura y luego la variante, eso es más o menos todo así que
lo que tenemos aquí justo en una muy mucho un método más
complicado. Y es lo que es porque esto es lo
que este tiene razón. Por lo que el modelo de barco de
localización de recursos de pares es lo que el modelo con
ubicación meses. Y si hacemos esto en un mapa, diferentes tipos y
luego pares diferentes, y eso básicamente
va a funcionar. Ahora esto en realidad lo suficientemente
interesante, sólo va a hacer lo
siguiente donde básicamente éste parece una locura
alucinante. Esto parece, oh dios mío, lo que está pasando aquí el ****. Literalmente lo que estamos haciendo, estamos pasando por
todos los valores que todos los tipos
que hemos definido para nuestros barcos o barcos personalizados y luego solo haciendo
nuevos pares, ¿verdad? Así que vamos a
pasar por todos ellos, hacer un nuevo mapa para esto
y decir, Hey, vale, ahora vamos a hacer un mapa
con este tipo en particular. Entonces vamos a
pasar, digamos que
tenemos siete tipos diferentes. El primer tipo, y luego solo
vamos a decir cualquiera que sea el nombre. Aquí es donde busca el
modelo. Y luego la ubicación de la
capa modelo. Entonces este es el modelo de barco
real
siempre va a ser el modelo de barco
AUC. Por lo que estos son los modelos de barcos
reales. Se puede ver por esto que no
hacemos un modelo de barco personalizado. Así que todo esto va a
ser el normal. Si realmente quieres modelos de barcos
personalizados, solo
vas a tener que
averiguarlo por tu cuenta. Recomiendo encarecidamente echar un vistazo al
modelo de barco aquí mismo. Esto debería ser, quiero decir, definitivamente algo
que va a ser un buen lugar para empezar básicamente, pero definitivamente va a
ser un poco más complicado. Y luego cuando
hemos creado esto, la idea es que entonces esto
se devuelva básicamente
aquí mismo en el modelo
con método de ubicación, que se puede ver,
estamos comprobando si este
barco es o no de tipo o una instancia de una entidad modelo de
barco mod más bien. Y entonces solo
vamos a devolver el recurso de bola real
con el tipo real. Esto es todo
lo que estamos haciendo aquí. Se ve un poco loco
y es como, wow, esto es una locura absoluta, pero en general
en realidad no es tan loco. Entonces, ¿dónde necesitamos esto? Bueno, por supuesto que vamos
a necesitar esto una vez más en el método de cliente MC aquí es ordinario curso MC MOD y luego en la
configuración del cliente aquí mismo. Entonces vamos a decir que esta es la entidad bolt
y esta va a ser el renderizador de votos mod.
Y ahí vas. Eso ya funciona. Y esa es esa configuración también. Y entonces solo necesitamos
un artículo para esto. Por lo que curiosamente,
todavía vamos a necesitar un
artículo personalizado para esto también. Esto va a ser
un voto MOD Artículo. Y luego en realidad hay
un error tipográfico ahí dentro. Sólo vamos a
arreglar esto rápidamente. Ir artículo. Y una vez más aquí, algunas cosas que
se copiarán. Este es en realidad el
clúster es lo menos. Bueno, quiero decir, no diría necesariamente
interesante, pero la menor locura que
tenemos este método de uso, básicamente sólo haciendo las cosas
que pasa cuando
hacemos clic con el botón derecho. Esto es más o menos quiero decir, es casi uno a uno
del artículo del barco. Podemos ver esto como el artículo del
barco aquí mismo. Y este es el método estadounidense. Se ve
casi exactamente igual. En lugar de hacer una nueva junta directiva, hacemos un nuevo voto mod debe ser bastante
autoexplicativo aquí, y el resto es casi
exactamente lo mismo, más o
menos lo mismo. Entonces ahí vas. Y bueno, después de que
hayamos añadido esto, hagamos también el ítem fuera de esto para que podamos deshacernos
de la última flecha allí. Vamos a copiar sobre
el atardecer mágico. Este va a ser el, ahora éste es en realidad
el barco específico. Entonces este va a ser
el ítem del voto de la cereza. Para cada uno de tus
diferentes tipos de tablas vas a
necesitar diferentes barcos, básicamente elemento de barco cereza, en realidad lo sentimos, este
es el artículo Chevy Bolt. Llamémoslo Sherry. En realidad
tablero de flor de cerezo. Eso es mejor. Ahí vas. Sí, eso les
hace más sentido. Barco de flor de cerezo. Y entonces se trata de
un voto MOD Ítem. Ahora esto realmente toma como su primer parámetro,
el software normal. El segundo parámetro,
como se puede ver, toma en el mod
boat tipo de entidad, tipo entidad, punto árido, impresionante. Este fue uno demasiado
lejos del ego. En realidad hay, ahí vas. Ahora obviamente funciona aquí. Para que puedas ver ahora hemos creado el artículo con viñetas MOD aquí. Y entonces esto
también debería funcionar en la entidad justo aquí donde vamos
a volver ahí mismo. Ahora, todas las flechas
deberían irse. Ahora sólo tenemos que
agregar los archivos JSON. Entonces esta sería la traducción ante todo, por supuesto, para el ítem, esto
va a estar aquí mismo, así que sólo vamos
a copiar esto. Este va a ser el barco de subrayado de
cereza flor subrayado. Y luego por supuesto, lo mismo aquí. Barco de flor de cerezo. Ahora hay otra
cosa, por supuesto, el modelo de artículo, no
el modelo de artículo. Es sólo un modelo de artículo normal. Nada demasiado loco por esto, pero aún así sólo
vamos a copiarlo sobre n Vamos a
echarle un vistazo. Se puede ver solo puntos a
una textura de elemento específico. Aquí no hay nada loco. Lo mismo con la textura del artículo. Esa es sólo la textura
normal del barco. Realmente texturizado
básicamente un
poco para nuestros personalizados. Por lo que podemos ver que hace es
el tablero de flor de cerezo. Otra la pregunta
es el peso pero mientras que la textura de la entidad ahí, bueno, esto
vuelve a entrar en entidad. Y voy a hacer un nuevo
directorio llamado barco. Y luego dentro de aquí estaba la
flor de puntuación de fondo de cereza, este nombre aquí mismo. ¿ Qué es muy importante? Tiene que ser el
mismo que el nombre suministrado en el tipo de este
nombre tiene que coincidir con este nombre porque eso es
lo que
busca el renderer en cuanto a una textura.
Entonces eso es muy importante. Y así es como se ve. Básicamente una vez más,
simplemente básicamente configuración. Entonces esto es todo de la junta directiva. Y entonces puedes, esta es la textura
básica del barco. Esa es la idea general. Ahora, en teoría,
creo que esto debería ser todas las cosas que
necesitábamos para agregar un barco. Como dije, es
sólo con el letrero. Es bastante loco. Como todas las cosas consideradas. Hay algunos pasos bastante
importantes, como dije, la
mayoría de esto si solo lo
copias y luego
básicamente puedes cambiarlo. Por lo que vas a
necesitar un nuevo artículo personalizado para cada uno de los nuevos tipos de embarcaciones. Nuevo tipo de barco aquí mismo. Entonces esto es algo que
necesitas y luego el resto debería estar bastante bien. Creo que
deberías poder
utilizar este tipo de entidad
para todos ellos. Y eso debería ser
más o menos todo lo que hay que hacer. Pero por el bien de finalización,
veamos si funciona. O si nosotros mismos de vuelta en
Minecraft y se puede ver el barco en flor de cerezo se
ha
agregado con éxito al juego. Ahora vamos a ponerlo abajo. Y ahí está, el tablero de flor de cerezo. Y podemos usarlo en el agua. Todo funcionando totalmente bien, igual que
esperaríamos que fuera. Y luego si en realidad cambio
al modo de supervivencia rápidamente, vamos al modo de sobreviviente
y veamos si esto cae y de hecho cae
un tablero de flor de cerezo, tal como
esperarías que lo hiciera. Entonces ahí vamos, trabajando
todo, sorprendentemente. Y eso es realmente
lo fácil que es. Como dije, hay bastantes pasos por los
que hay que pasar. Pero una vez que los atraviesas, entonces en realidad es
bastante sencillo. Pero eso va a ser por
esta conferencia de aquí mismo. Espero que te haya parecido útil esto y aprendas algo nuevo. Y te veré en la
próxima conferencia aunque. Sí.
111. (temas adicionales) Generación mundial) de entidades: O doy la bienvenida de nuevo al curso de
forja para 100 adolescentes. En esta conferencia,
vamos a estar agregando generación de entidades
personalizadas
a Minecraft, pero hemos creado nuestras entidades ahora también queremos
que engendren en el mundo. Entonces para eso
solo vamos a hacer una nueva clase aquí mismo. Entonces en el paquete de agenda mundial, vamos a hacer una nueva clase de degeneración de
entidad mod. Y una vez más, éste lo copiaré
porque en realidad
básicamente he preparado un poco de una clase aquí
que puedes usar. Entonces esto es, por supuesto
que necesitamos cambiar esto a más de dos tipos van
y luego éste también. Esto no debería ser
preocupación para ti. Deberías poder
simplemente copiar eso. Y se puede ver
toda la clase aquí, tenemos un
método de esporas entidad que
vamos a llamar aquí mismo, básicamente en la
parte inferior aquí. Así iteración de entidad mod
en desove vacío, y luego estamos pasando en
el evento de carga de IM aquí. Y eso debería ser
más o menos lo que necesitamos. Y luego se puede ver que
hay algunos métodos que podemos usar bajo. Por ejemplo, agregue entidad
a todos los biomas de anulación. Tenemos una entidad a todos los
biomas. Neto a nether. No, nether, lo siento, cierto. Así que hay por todas partes
pero la parte inferior, cada robot, el final. Y luego aquí también, todos los biomas
incluyendo y otro. Y por lo general en teoría, si tienes esos métodos, deberías
poder muy fácilmente en otros que más
o menos hacen lo mismo
que quieres hacer. Quiero decir, honestamente, en este punto, algún conocimiento de Java
es por supuesto, mucho algo que
deberías tener en este punto. Y una vez que lo tengas, entonces agregar un poco más aquí no
debería estar demasiado loco, aunque no necesariamente entiendes todo
si eres como, vale, esto lo agrega a todos los biomas, pero al final es como, vale, probablemente
puedas averiguar cómo agregarlos solo al final, por
ejemplo, sólo literalmente
eso, eso es todo ahora mismo. De repente todo
sólo hasta el final biomas, Eso es más o menos
todo lo que hay a ella. Entonces esta clase, como
dije, he usado antes. Y sin embargo aquí acabamos de tener el
ejemplo en este momento de que los
vamos a sumar a básicamente
todos los biomas abrumados, en este caso, tanto el
mapache como el tigre. Entonces después de haberlo
añadido aquí,
Eso es en realidad literalmente
todo lo que tenemos que hacer. Supongo que por el sake de finalización,
veamos si funciona. Se traduce de nuevo en Minecraft. Ahora en teoría,
ni siquiera tenemos que hacer un nuevo mundo para esto
porque las entidades
lo son, como engendran. Quiero decir, yo no
necesariamente diría dinámicamente, pero no detectan de inmediato sobre básicamente el
mundo que se está generando. Entonces veamos si podemos encontrar
alguno de nuestros personalizados. Fue que ya
tigre ahí está. Ya hay un tigre
aquí en el bosque. Hay
otro, otro. Pero eso es lo que quiero decir,
en realidad es lo fácil que puede ser. Uh, viste que eso es
bastante sencillo. Todas las cosas consideradas,
como dije, no cambiarlo es debe
ser totalmente fácil también. Se puede ver que hay
algunos tigres más. Yo sí quiero tal vez podamos encontrar
algunos mapaches también. Tal vez justo rápidamente sobre
esta colina, comando. Algunos mapaches. Están, vámonos. En realidad los encontramos para leer mapaches y dos registros oscuros.
Así que eso es bastante guay. Sí, Entonces así es en realidad
lo más fácil de agregar alguna
generación de entidades personalizada Minecraft que ya lo tiene para
esta conferencia aquí mismo. Como siempre, por supuesto, todo el código está disponible para ti en el repositorio de GitHub e
individual igual de bien. Pero de lo contrario
te veré en la próxima conferencia.
112. (temas adicionales) agregando oficios personalizados a los villagers: O doy la bienvenida de nuevo al curso de
forja para 118. Y en esta conferencia
vamos a estar agregando oficios
personalizados a un aldeano. Entonces esto va a
ser rasgos personalizados para los pobladores
ya existentes,
muy importantes aquí. Por lo que no vamos a estar agregando ningún aldeano
personalizado en este momento. Esto podría suceder en el futuro, pero no contaría con eso
solo necesariamente en este momento. Entonces tenemos que entrar en
nuestra clase de Eventos. Sólo hay un evento aquí.
En la clase más avanzada. Sólo voy a
copiar sobre el método y es muy, muy
sencillo. Esto es todo lo que necesitamos. Para que puedan ver
sólo vamos a usar los oficios aldeanos
de n aquí mismo. Y entonces solo
vamos a decir, hey, si el tipo es específico, una profesión que donde
queremos sumar nuestros rasgos también, entonces solo le agregamos
nuestro oficio. Eso es literalmente
todo lo que estamos haciendo. puede ver que es
muy, muy sencillo. Se puede ver que esta es la
forma en que filtra. Entonces si quieres agregar algo
para otra profesión, solo
tienes que copiar la declaración if y cambió el
profesional aquí mismo. ¿ Algo más que
quieras aquí? Puedes especificar el nivel
aldeano justo aquí cuando hagas
oficios que aún. Y luego pasas por el
pueblo o nivel de palanca aquí, y luego solo agregas cualquier oferta
comerciante que quieras. Entonces el, éste de aquí mismo, por lo que la verdadera esmeralda aquí es lo que pagas.
La oferta comerciante. También puedes poner un artículo de
dos, tres artículos, pilas, y luego esas
serían las dos cosas
que tienes que pagar. En este caso,
tenemos una pila de artículos, la Esmeralda a las esmeraldas. Esto es lo que pagamos,
y luego vamos a conseguir nabos de riqueza para eso. Entonces puedes ver usos de Max, podemos usar esto diez veces. La velocidad es de 50. Creo que esto es
en realidad un poco demasiado alto para las cosas aquí. Entonces creo que esto es
más en el reino de
como
experiencia de un solo dígito por lo general, pero sea cual sea el
caso, quiero decir, todos esos números recomiendan
encarecidamente solo jugar con ellos de
una manera o el otro. Es decir, eso probablemente sea lo
más inteligente de todos modos, pero eso es literalmente
todo lo que necesitas. Simplemente puedes copiar esto en tantas declaraciones if
aquí como quisieras, tantos rasgos como
quieras agregar. Pero eso es literalmente
todo lo que tienes que
hacer es realmente muy fácil,
realmente sencillo. Quiero decir, no puedes hacerlo
más fácil, honestamente, realmente. Quiero decir, supongo que sólo
por el sake de finalización, vamos a ver si funciona o
si nuestras respuestas de vuelta en Minecraft y pueden ver ya tenemos los
nabos aquí mismo, así que sólo puedo ponerme a las esmeraldas y voy a por
mis nabos 12. Eso ya funciona,
nuestra costumbre. Y se puede ver
cuánta experiencia el agricultor real de
nuevo a partir de eso. Y entonces en realidad vamos a
ir a la herramienta Smith y sólo
vamos a conseguir algunas
herramientas aquí para que básicamente
podamos nivelarlo
hasta el nivel tres porque las
necesitamos para el nivel dos,
nivel tres, vamos a conseguir
un poco de hierro lingotes vidente, si también intercambias, lingotes de
hierro la meta. Y entonces esperemos que
esto vaya a funcionar. Vamos por unos lingotes de hierro. Y luego el nivel tres debe
estar a la vuelta de la esquina. Hace ellos en actualización, actualización. Vete y ahora veamos. No tenemos el
Paxil en este caso, por lo que esto no funcionó del todo. Bueno, bastante justo. Supongo que digamos
el otro entonces. Déjame simplemente
actualizarme rápidamente o esta herramienta Smith fue un
poco más cooperativa. Se puede ver el cobalto
Paxil. Ahí vas. Para que podamos conseguir esto y
luego podríamos usarlo. No obstante nos gustaría. Ahí vas. Entonces
como esperaríamos que la herramienta real funcione, funciona, y ahí vas. Fue capaz de ser
negociado aquí a través la herramienta real Smith
y aquí una vez más, los nabos aquí mismo, sólo
podemos conseguir algunos
de ellos y se van. Por lo que el max usa también
funcionando totalmente bien, pero justo cómo esperamos
que realmente se enfríe. Y eso es realmente
lo fácil que es agregar algunos rasgos personalizados a los aldeanos. Como dije, esto es
por supuesto pobladores existentes, pero esto todavía ya agrega bastantes ideas diferentes a tu mod, lo cual
es realmente genial. Así que recomiendo encarecidamente
revisar esto, pero de lo contrario esto
va a ser por esta conferencia aquí mismo. Espero que hayas encontrado esto útil y hayas aprendido
algo nuevo. Nos vemos en
la próxima conferencia.
113. (1.18.2) Actualización de forja a 1.18.2: Muy bien, bienvenidos de nuevo
al curso de forja para 118. Y en esta conferencia
vamos a estar actualizando nuestro proyecto a 118 hasta ahora con
el lanzamiento de 1880s, vienen
algunos cambios, pero afortunadamente nada que
podamos arreglar bastante corteza en realidad. Nada es demasiado loco. La única cosa
curiosamente que
en realidad está completamente
rota o no completamente, pero en mayor grado, ¿el título es graciosamente suficiente? No sé por qué
cambiaron la pantalla del título, pero sea cual sea el caso, solo
vamos a actualizarnos y luego
vas a
ver básicamente los cambios en el archivo
construido del DOD Gradle. Por supuesto que hay
algunos cambios por hacer. Entonces lo que vamos a hacer
es, antes que nada echar un vistazo a cuál es la versión
actual. La versión actual, como
se puede ver, 40012, una vez más, claro para ti, esto en el futuro probablemente va
a ser una versión posterior. Así que sólo vas a tomar
eso en ese momento entonces, y luego vamos a estar bien. Entonces vamos a hacer eso primero. Entonces vamos a ir aquí mismo
a las dependencias 40012. Y entonces esto es solo
para comprobar, doble comprobación 40121, 1000th 2. Eso es correcto. Y entonces
antes de realmente recargar esto, también
queremos conseguir
la versión más nueva de, de labio gecko porque creo que en realidad la antigua
no funciona. Por lo que queríamos en 312
también aquí mismo, acaba de ir a la
instalación que una vez más, y luego estamos
usando eso también. Así que vamos a hacer
este justo aquí que hace. Y eso debería ser más o
menos. Aparte de, por supuesto, los mapeos de
pergaminos, esto es increíblemente importante
para los mapeos de pergaminos. En realidad queremos mapeos de pergaminos muy
específicos y van
a ser los siguientes. Voy a copiarlos y esto va
a estar, por supuesto, una vez más disponible para ti
en el repositorio de GitHub, un individuo igual de bien. ves, básicamente estamos tomando los mapeos de pergaminos de 1800 y luego poniendo sobre eso los mappings oficiales normales de
1880. Si no tienes
esta configuración así, entonces
realmente vas a encontrar
algunos problemas y algunos métodos no
estarán disponibles. Así que por favor ten
en cuenta que si estás usando
imanes personales para usar esto, o si se actualizan a 172, entonces por supuesto también puedes actualizarlo a esa
versión en ese momento. Pero entonces vamos a hacer clic en
el pequeño elefante. Si eso no aparece,
puede abrir la pestaña Gradle y luego presionar la recarga
o cambios de Gradle. Ahora esto una vez más podría
tardar hasta uno o dos minutos. Y debido a que ya
lo he hecho, esto debería ser tomado por mí. Normalmente hay como un par
de segundos. Veamos, Solo sé paciente
y deja que pase. Y luego veremos después de
que consigamos una construcción exitosa, se
construyeron
con éxito en realidad sí
tomó unos buenos dos minutos aquí. Pero una vez más, por supuesto, solo sé paciente y espera
hasta que tengas
éxito una construcción y entonces
vas a estar bien. Pero lo primero que
vamos a hacer es que realmente
vamos a entrar en nuestra clase de mod curso MC
y vamos a hacer una cosa y eso va a ser tirando del gecko
lib dot inicializado. Esto probablemente debería haber
sido agregado de antemano, pero ahora es el
mejor momento que nunca para simplemente agregar. Y entonces vamos
a estar bien aquí. Creo que es a continuación
estrictamente necesario, pero definitivamente se
recomienda, al
menos al menos. Y luego cuáles son los
cambios mientras los cambios ocurrieron principalmente en las etiquetas, luego también los cambios que suceden
en los paquetes mundiales. Vamos a echar un
vistazo a eso en un momento. Y luego también hay
un pequeño cambio en la entidad de bloque con
la receta personalizada. Para antes que nada,
vamos a abordar las etiquetas aquí mismo. Se puede ver que el
impuesto de nombres opcional ya no existe. Pero lo que sí existe
es la clave TAC, y sólo vamos a
reemplazar esto por tachuelas. Haga clic en él, presione Alt e
Intro importar esta clase. Y luego vamos
a cambiar todas
las etiquetas opcionales a tack key. Ahí vas. Y luego en lugar de
crear un opcional aquí, simplemente
hacemos dot create. Se puede ver que sólo estamos
cambiando esto a Crear. Y ahí vas. Eso es más o menos todo lo
que tenemos que hacer ahora, una cosa que aún no
funciona como la vara de dote valiosa
aquí podemos ver, se
puede ver, no podemos sólo
todos los Contiene aquí mismo. Ahora, ¿esto es lo que dirías? Quiero decir, un poco
molesto para ser honesto. Esta es la forma en que esta
configuración se ve realmente extraña. Entonces esto es lo
que necesitas poner ahí. Ver registro bloque de puntos, él titular o garganta. Entonces vamos
a conseguir básicamente la clave de recurso de registro para este bloque que
estamos pasando aquí. Entonces estamos diciendo, de
acuerdo, ¿este tenedor está dentro de los objetos de valor de la
varilla de espiga? Es una locura la forma en que
esto está configurado ahora, no
sé por qué ocurrieron los
cambios. Sólo digo que
esta es básicamente la forma en que tenemos que hacer esto. Y sólo voy a, sólo
vamos a ser capaces de encontrar
con él básicamente. Pero esos son los
cambios aquí mismo. Por lo que se hacen las etiquetas. En realidad, entonces vamos a entrar en
la receta justo aquí. Cualquier receta mod, esta línea de
aquí mismo ya no puede
estar en este método. Lo que realmente queremos hacer
es en el paquete de eventos, en el modo evento eventos pasados, queremos agregar un nuevo evento. Así que sólo vamos
a copiar esto
por el momento aquí. Esto va a ser
registrar los tipos de recetas. Entonces lo que vamos a hacer
es que sólo vamos a tomar este
evento de registro del Registro aquí mismo, y
lo vamos a cambiar de la siguiente manera. Entonces vamos a decir que esto en
realidad no es en global se da cuenta, pero esto es en realidad el serializador de
recetas hace. Entonces esto es lo que necesitamos. Por supuesto esto una vez más
disponible para ti en el repositorio de GitHub en
individual igual de bien. Y luego vamos a
copiar esta línea si tienes varios tipos de
recetas, por
supuesto quería
agregarlos todos aquí, todos los métodos de registro de
puntos de registro, y eso iba a estar bien. Ahora esto funcionará también. Y ahora podemos entrar en la locura que va
a ser la generación mundial. Pero en el cultivador de árboles abstractos, se
puede ver básicamente ahora ya
no queremos que la característica
configurada aquí. Lo que realmente queremos
es un retén, ¿verdad? Entonces vamos a decir Aguanta y entonces esto va a
ser muy interesante. Va a haber signo de
interrogación extiende, extiende la
característica configurada aquí mismo. Y luego vamos a hacer esto
y luego podemos movernos a la clase de
entidad configurada y luego básicamente cambiar esto. En consecuencia. Por lo que esto también va
a ser titular. En este caso de signo de
interrogación se extiende, entonces se configura la función
y luego aquí al final,
agregando el corchete de
ángulo de cierre. Una vez más, por supuesto todo a tu
disposición en
el repositorio de GitHub, un individuo igual de bien. Entonces lo que
vamos a ver es esto configurado ya no
necesitamos incluir el punto. Vamos a reemplazar eso por
una coma y luego eliminar tanto los
paréntesis de apertura como de cierre al final. Esto ya no debería ser
un error. Ahí vas. Y esto también debería estar bien. Ahora, lo que tenemos que hacer
es en realidad ahora podemos pasar de la función de
configuración para configurar característica
a colocar característica. Ahora sí en realidad tenemos que
agregar otra
característica de lugar aquí, y voy a copiar esto una vez
más, todo lo disponible para ti en el repositorio de GitHub en
individual igual de bien. Y se puede ver aquí, básicamente
tenemos esta característica de lugar una
vez más en lugar de este
titular aquí mismo. Y básicamente estamos filtrando por bloqueo de supervivencia del muestreo, igual que estamos haciendo aquí. Simplemente en lugar de
hacer esto en línea, básicamente lo
estamos haciendo
con una característica de place aquí. Y luego estamos usando
la función place en esta lista de
configuración de características aleatorias, igual que estamos haciendo aquí. Entonces es muy, muy similar, sólo un poco
diferente, supongo, cuando se trata de los remeros, esto también debería ser
bastante sencillo. Sólo tenemos que cambiar
esto aquí mismo. En realidad ya no
queríamos llamar a esto. Entonces el real se vacía ya no
es una cosa. Queremos hacer
algo como esto, pero no quieres ni siquiera
devolver algo porque esto en
realidad solo toma esto. Vamos a hacer
algo como esto. Y entonces esto va a
ser el utils de colocación, lo que necesitamos cuando
la colocación utils, eso es sólo cuando está vacío. Y entonces vamos a pasar esto aquí y voy a terminar esto con uno justo ahí. Permítanme simplemente
reformatear rápidamente esto un
poco para que en realidad pueda
ver dónde estamos aquí. Déjame un bloque simple con
una nueva configuración de bloques. Bloquean dicen proveedor de filas. Vamos a pasar el
cursor sobre esto. ¿ Qué queremos? Esto es por supuesto, va
a ser también titular. Sólo tenemos que cambiar
esto a un tenedor que hace, y entonces esto debería funcionar
también. Ahí vas. Una vez más, por supuesto que
siempre puedes simplemente copiarlo. Se puede ver que los cambios
aquí o no tan locos, simplemente
son realmente sintaxis,
igual aquí con el orden. El orden es en realidad
probablemente el más fácil. Sólo tenemos que cambiar
esto y luego cambiar esto a un tenedor también. Hace ellos. Y entonces esto también tiene que ser de configuración de guerra,
muy importante aquí. Ahí vas. Entonces como se puede ver,
más o menos trabajando también. Por lo que estos son los cambios, por
supuesto, los cambios en 0.5. Por lo que tengo que tener lugar
aquí mismo en las últimas características donde todos son titulares
también o no o configuración
sobre titulares. Permítanme copiar sobre
el titular aquí. Ahí vas. Aguanta un ir. Y voy a hacer esto por
cada uno de ellos sólo que ya
lo tengamos
y lo sostengamos aquí también. Ahí vas. Entonces
vamos a hacer click en él, Alt y Enter para importar. Y entonces en lugar de tener
estos, Esto colocado, lo que en realidad queremos es simplemente
quitar el lugar de nuevo, añadiendo aquí una coma. Ahora esto no va a
ser revisado con, esto en realidad va a reaparecer. Y ahora hace, mismo aquí en lugar de lugar, sólo
vamos a hacer una coma y luego hacer
algo como esto. Y entonces mismo aquí
que he colocado, reemplazándolo por una coma
y luego también podemos quitar eso y eso
debería estar funcionando también. Todavía tenemos que ir a las clases de Gen porque
aquí también ha cambiado. Esto ahora es un titular
en lugar de un proveedor. Entonces en lugar de
hacerlo como proveedor, sólo
vamos a
hacerlo así. Por lo que sólo vamos a retirar aquí
al proveedor y luego
eso también debería funcionar. Por lo que esto quita al proveedor,
importa el titular. Y entonces mismo aquí, el último. Eliminar esto como
esto y hace ellos. Y eso debería ser para
la generación mundial. Veamos
regeneración Morrow. Ahí vas. Características de nuevo, no más errores y ahora todo
debería estar funcionando. Entonces por supuesto, una vez más, todo está disponible para
ti en el repositorio de GitHub, un individuo igual de
bien para copiarlo. Y esos deberían ser todo lo
que tenemos que hacer. En realidad
te mostraré lo que está mal con la pantalla del título en tan solo un momento en que realmente nos
metemos en la pantalla del título. Pero ahora en realidad podemos simplemente
iniciarlo, ver si funciona. Hagamos un mundo nuevo también. Y entonces vamos a ver si todo funciona en mil dos. O la pantalla de título personalizada
está realmente desactivada. Vamos a ver
eso en un momento. Pero por el momento,
solo hagamos nuevos mundos. Hagamos una prueba 1234, y veamos si
todo sigue funcionando, si todo sigue desova, pero estoy bastante
seguro de que lo hace, o Francis de vuelta en Minecraft. Así que ya básicamente
localicé aquí el bioma de un avión. Y se puede ver que conseguimos nuestras turbas
personalizadas incluso desove. Tenemos nuestro árbol
desove nuestras flores. Para que todo funcione totalmente bien. Y se puede ver que
sólo vamos a entrar aquí. Podemos conseguir la ruta de la explosión de
cobalto igual que una receta aquí, sólo por el bien de la
discusión, ¿por qué no? Vamos a probarlo porque la receta también debería
estar funcionando totalmente bien. Vamos a ponerlo abajo. Ahí vas con la teoría, vas y sigue
funcionando totalmente bien. Se puede ver que somos pico de
cobalto, está funcionando, está ahí dentro. Y para que como pueden ver, quiero decir, casi
todo sigue funcionando. También podemos echar un vistazo a
la varilla de espiga aquí con la tableta de datos a hace
también todavía funcionando. Por lo que también está funcionando
totalmente bien. Todo debe ser funcional. Y sí, quiero decir,
eso es más o menos. Así que vamos a echar un
vistazo rápido a la pantalla del título. Así que sólo voy a
cambiar el en falso y luego vamos a
echar un vistazo a lo que la pantalla del título y colas. Muy bien, para que como se pueda ver, tanto la pantalla de presentación
como la
información adicional en la esquina inferior izquierda
son algo que no están presentes. No estoy 100% seguro
por qué ese es el caso. Así que creo que el mejor curso
de acción es simplemente mantener sus mosaicos personalizados pantalla predeterminada apagarse básicamente
para que no se reemplace. Y entonces una vez que en realidad
descubrí algo, entonces por supuesto, haré otra breve conferencia sobre básicamente cómo arreglarlo
por el momento,
creo que esto va a ser despedido y no va a ser robot
demasiado disruptivo que prácticamente concluya
esta conferencia aquí mismo. Espero que hayas encontrado esto útil y aprendas algo nuevo. Y te veré en
las próximas conferencias.
114. (1.18.2) Estructuras personalizadas (trabajo a través tutorial): Muy bien, bienvenidos de nuevo
al curso de forja para 118. En esta conferencia, vamos
a estar mirando una
generación de estructura personalizada va muy importante es que la
generación de estructura personalizada aquí es por supuesto va
a ser para 118 a, si tienes un actualizado, mucho aconsejarte que vayas a la última conferencia que tuvimos y donde básicamente actualizamos
a 118 para tenerlo en cuenta,
lo que vamos a hacer en esta conferencia particular
es que vamos a ir a través del
tutorial de estructura por gruñido telepático. Y esto es justo aquí. Tengo esto ya abierto
aquí en segundo plano, y este es probablemente el mejor recurso para
estructuras que haya existido. Quiero decir, como apoyos
a la carrera telepática porque esto es simplemente
absolutamente alucinante. Y podemos ver que aquí hay
diferentes sucursales. Pueden usar el 1800s, forjar una rama de rompecabezas
si estás usando 1, 1000th 2, y si no, puedes usar la
rama 1800s 0, ésta de aquí mismo. Forjar. Definitivamente es un
poco diferente. En 1 1000 2. Lo que ahora podemos hacer es que
en realidad podemos hacer estructuras personalizadas, agregarlas al mundo sin
ningún pedazo de código en absoluto. Solo necesitamos archivos JSON, que es realmente
alucinante impresionante. En esta conferencia, lo que
vamos a hacer es que vamos a pasar por este tutorial de
estructura mod
aquí mismo, todo el código, todos los archivos adyacentes, copiarlos sobre una pieza por pieza, y luego básicamente echa un vistazo a lo que
necesitas cambiar. ¿ Qué puedes entonces,
qué tienes que hacer entonces? Y la idea general de sumar las dos estructuras que aquí se
agregan como ejemplo. Y luego en las
siguientes conferencias, vamos a hacer una
estructura de una sola pieza nosotros mismos. Y luego también vamos
a hacer una estructura de rompecabezas, que en realidad es mucho
más fácil de lo que cabría esperar. En realidad no todo es demasiado loco. Creo que sí, claro, si tienes algo
en solitario costumbre, claro que va a ser un
poco más complicado. Pero por el
momento, sólo
vayamos aquí y
veamos qué tenemos que hacer. Así que vamos a ir en
fuente principal y
tenemos que
abrir realmente ambas carpetas. Así que sólo voy
al ratón central, haga clic en el Java y luego
en los recursos también. Vamos en primer
lugar, empezar con el código. Se puede ver Ahí está la clase
principal la que tenemos, esto es lo que yo
llamaría las estructuras mod. Y luego en estas carpetas
estructuras, en el
paquete de estructuras, tenemos la clase de estructuras cielo. Pero esto es
lo primero que vamos a hacer. Básicamente vamos a reorganizar esto un poco, pero vamos a empezar
con las estructuras mod. Este de aquí mismo y
entre va a hacer éste, y luego vamos a hacer esto 1. En primer lugar, necesitamos una clase de estructuras
mod. Bueno, eso se hace fácilmente en
el paquete mundial en realidad. Entonces vamos a entrar aquí nuevo paquete llamado estructura. Entonces en lugar de todos
van a hacer una nueva clase llamada las rupturas de los modelos. Ahí vas. Ahora está escrito
correctamente hace ellos en esta clase lo que
vamos a hacer es que sólo
voy a copiar sobre
los contenidos aquí. Esto es en realidad, vamos a copiar
en realidad sobre todo. Eso va a estar bien. Voy a renombrar
aquí otra vez. Entonces cuando digo estructuras modernas, se
asegurarán de que
el nombre aquí sea correcto. Y entonces también podemos eliminar
esto y esto. Ahí vas. Y solo reformatea
esto un poco. Esto es por supuesto que
ahora va a ser el montura de curso MC en AdMob ID. Y luego porque me
gusta hacer esto, vamos a hacer es
que vamos a hacer una, porque me gusta hacer esto. Vamos a hacerlo público método de registro vacío
estático con un I de n plus Event Pass. Y luego llamaremos a la estructura del registro diferido. También
se podría llamar directamente en el, la clase principal en
el constructor, pero no vamos a hacer
eso en esta clase. Vamos a sumar
en tan solo un momento. Entonces en el curso MC
mod aquí mismo, sólo
vamos a bajar, digamos aquí mismo para
modelar estructuras que registren y luego pasar en la tarifa del autobús del evento
vas, ¿verdad? Y ahora en realidad
lo hemos hecho aquí mismo y
luego éste también. Se puede ver que
esto es literalmente lo único que
necesitamos agregar. Y entonces aquí tenemos
las estructuras del cielo uno, sólo
vamos a copiar
sobre todo el asunto. Una vez más, este es
el paquete de estructura. Haga clic derecho en nueva
clase Java llamada Sky structures, no, pecado aquí. Lo que solo queremos
hacer es que no
quisiéramos decir administrador de registros, asegurándonos de que elegimos o Apache log log para
J. Muy importante. Y luego decimos
en lugar de lager, decimos aún lager o
log. Ahí vas. Esta no es la casa descabellada. realidad hay estructura de
cielos. Ahí vas en una posición
particular. Y entonces en realidad podemos
echar un vistazo a esta clase, qué es, ¿qué hace? Deshazte de esta importación también. Y luego ahí vas. En general esta clase, se puede ver la característica de estructura de la configuración de
rompecabezas. Ahora, esto es una especie de código
de calderas. Se puede ver que hay muchos comentarios que recomiendo encarecidamente
en su propio tiempo. Atravesar, leer todos
los comentarios. Solo trata de entender un
poco de lo que está diciendo. Las ideas eternas de que
tienes dos métodos diferentes aquí, estos cuentan con camión con
él y piezas decretadas. El generador y el generador de pizza
credo es realmente lo que más
interesante para nosotros realmente. Se puede ver en el futuro baúl, sólo
estamos
revisando básicamente, hey, ¿ este trozo
es el
trozo real donde se coloca esto? En términos generales,
recomiendo encarecidamente ,
como dije, leer
todos los comentarios. Es muy recomendable. Pero luego en el generador de
piezas creativas, puedes ver aquí lo que
básicamente estamos haciendo aquí. Esto es interesante,
¿verdad? Por lo que consigues las coordenadas del tronco
en un post de blog. Entonces esto va a
ser lo que está haciendo. Y luego aquí
básicamente lo estamos colocando 60 cuadras por encima de la tierra superior. Para que puedas ver que
haciéndolo así. Se puede ver en el comentario aquí, vamos a superficie WG se detendrá en la parte superior del agua para que no pongamos accidentalmente nuestra
estructura en el océano. Y entonces esto es básicamente, obtiene la coordenada de la parte superior de la
tierra básicamente, y luego le estamos agregando 60. Entonces esta es una forma de que puedas básicamente cambiar el nivel y. Y entonces
también se puede ver aquí mismo, tenemos para cada uno de los diferentes parámetros
que estamos poniendo aquí,
el, lo que básicamente sucede
aquí. Está muy bien hecho. Sólo puedo
recomendarte si hay cierta cosa compleja
que quieres hacer, lee los
comentarios que aquí se
agregan y luego
vas a estar bien. Ahora bien, esto es en realidad todo
el código que necesitamos. Esto es muy interesante
porque el resto se hace
todo con archivos JSON. Simplemente vamos a
volver básicamente a la GitHub otra vez y vamos
a cerrar todo esto y luego estamos
aquí en los recursos. Entonces lo que necesitamos
es en la carpeta de datos, realidad
vamos
a necesitar abrir muchas cosas aquí. Tenemos que añadir estas
cosas y esto. Si agregamos nuestra
estructura a esta etiqueta, puede ver microbio tiene
algunas etiquetas de
características de estructura configuradas que en el comportamiento. Y entonces esto básicamente
va a agregarlo a un localizador. Nos estructuraremos en
los fotógrafos, aldeanos,
mapa del océano, mapas de monumentos. Esto no es estrictamente necesario. Es sólo una cosa interesante. En realidad no vamos
a implementar este. Sólo vamos a ignorarlo
y sólo nos va a
interesar la carpeta de datos
para nuestra propia costumbre. Este por supuesto, al ser un
tutorial de subrayado de estructura o las horas mod ID
será curso de Mc. Y luego vamos a abrir
las tres carpetas. Y luego se pueden ver las
estructuras aquí están los datos de NVT. Esto es muy interesante. Por lo que los datos de NVT se generan
básicamente dentro del while
en lugar de Minecraft. Por lo que construyes tu estructura, usas ciertos bloques para
generarla por el momento. En esta conferencia,
vamos a tomar estos datos de la NVT y
sólo vamos a copiarlos. Y entonces
en realidad tendremos que cambiar un poquito en los datos de la NVT,
pero no hay preocupaciones ahí. Vamos a ver
eso en tan solo un momento. Por el momento, sólo
vamos a descargar
básicamente
los cuatro de esos. Por lo que sólo vamos
a entrar aquí, abrirlos todos
y luego descargar, descargar, descargar y descargar. Y se puede ver que están bajo estructuras
Data Mart ID
y luego el archivo real. Entonces lo que vamos a
hacer es dentro de nuestra carpeta de datos, curso MC, vamos a hacer un nuevo
directorio llamado estructuras, y luego las agregaré
todas ahí dentro. Sólo voy a
hacerlo así en realidad. Ahí vas. Al igual que
arrastrarlos a esta carpeta. Quiero decir, en este punto debería
ser bastante autoexplicativo. Cómo puedes simplemente agregar
cosas sigue aquí, simplemente arrastrándolas ahí. Y luego tenemos los datos de la NVT aquí mismo. Entonces
eso es realmente bueno. Y esa es la primera parte. Y ahora tenemos que volver a
cambiar aquí mismo. Podemos deshacernos
de todo esto aquí mismo. Ahí vas una hora aquí en las etiquetas mundo gen
bioma tiene una estructura. Entonces esta es una etiqueta realmente genial
que vamos a añadir. Y esto es honestamente realmente alucinante fresco porque
se puede ver en primer lugar,
los biomas del ventilador del cielo aquí. Y luego también está
la única casa JSON. El único JSON casa, si recuerdas de nuevo en nuestras
estructuras que teníamos, solo
teníamos
las estructuras del cielo aquí mismo. No se menciona ninguna casa. Exactamente. Eso es lo que estoy diciendo. En realidad puedes agregar ciertas estructuras sin
tener ningún código en absoluto. Este DJs y sólo oyen casa. Esto básicamente nos va
a permitir hacer eso. Voy a hacer es que sólo
voy a ser dueño de ambos. Entonces lo que hago es que
sólo voy a copiar el nombre aquí porque eso es
como un poco más fácil. Y esto fue una etiqueta en nuestro curso
MC, etiquetas de holdup. Y esto bajo este
inframundo Jen. Y entonces en lugar de aquí, esto va a estar bajo bioma. Y luego una estructura más, un directorio más que se llama como estructura de subrayado. Y después podemos agregar el
archivo aquí, este 1 primero. Y entonces
también vamos a conseguir el segundo, el nombre aquí
también, un nuevo archivo. Ahí tienes, Jason sólo los biomas de
casa y
puedes ver el contenido de los cuales si voy a
copiar este de nuevo. Entonces esta es la
estructura de código Skype y los biomas. Se puede ver este impuesto al bioma
especifica qué biomas, esto realmente comienza en él. Puedes
iniciarlo con tanques de bioma, con un hashtag, o bien puedes especificar un
bioma específico como este. Es realmente alucinante impresionante. Entonces esta es la forma en
que básicamente se puede especificar en qué biomas genera esta estructura en
particular, pero también va a copiar sobre
el contenido de ésta. Se van. Sin esa. Por supuesto, ahí vas.
Y toda la sacarosa también disponible en el repositorio de
GitHub en el, igual de bien.
No te preocupes ahí. No obstante, realmente creo
que es lo mejor si trabajas a través de este
tutorial de estructura conmigo una vez y luego tal vez
incluso una sola vez por tu cuenta, solo para que básicamente
conozcas cada parte individual. Por lo que básicamente se puede decir que esta
etiqueta de bioma de generación mundial tiene estructura, se utiliza para especificar los biomas en los que desove nuestras
estructuras. Pero básicamente podemos
ahora cerrar esto también. Y entonces podemos proceder
al siguiente que
es el gen mundial. Ahí estaba esta carpeta, así que vamos a
cerrar esto también. Y luego se puede
ver que aquí hay cuatro carpetas
diferentes. Una vez más, todo realmente
alucinante interesante. Entonces sólo vamos a
abrir el primero y básicamente
vamos a
lidiar con esto. Podemos ver que aquí tenemos la estructura de código
cielo recaudación de fondos y la única casa adyacente para la característica de
estructura configurada. Una vez más, voy a
copiar el nombre justo aquí y vamos
a echarle un vistazo. Así que los datos son más
ideales underworld todavía y luego configuró
la característica de estructura, vamos a entrar en el corazón. Entonces esto está bajo las etiquetas, tan muy importante que no pones
esto
accidentalmente aquí mismo. Bajo la carpeta de cursos de EMC. En realidad queremos una nueva
carpeta llamada world gen, que luego debería
estar por debajo de tus etiquetas. Así que asegúrate de que
esto sea correcto, no dentro de esta carpeta. Asegúrate de que esto sea,
tienes dos de ellos. Ya ves X Gen. Este tiene tiene cosas de
estructura. Y entonces esta
carpeta mundial gen es en lugar de tu más ID para tu curso
MC lleno de
muy, muy importante que ahí
hay una diferencia. Por favor, asegúrate de que
esto sea correcto. En lugar de esta generación
mundial sigue, en realidad
podemos echar un
vistazo a todos los cuatro diferentes. Las cosas que necesitamos,
hagámoslo así por un momento. Así que solo vamos a decir que esta es la característica de subrayado de
estructura de subrayado configurada. Y entonces sólo vamos
a copiar este de aquí. Vamos a decir que esta es la lista de
procesos o subrayados, y luego vamos a
copiar esta. Este es el conjunto de
subrayado de la estructura. Y luego por último pero no menos importante, también
tenemos la plantilla de
subrayado pool, por
supuesto se asegura de que todos esos estén escritos correctamente. Y luego podemos proceder con la
característica de estructura configurada aquí mismo. Y sólo vamos a entrar una
vez más allá y
vamos a decir éste, este nombre aquí mismo. Voy a hacer
un nuevo archivo de Drazen. Vamos a hacer clic derecho en
nuevo archivo, llámalo así. Ahí vas. Y luego copia sobre
el contenido de esto. Y luego
vamos a ver dónde están
las primeras cosas que
en realidad necesitamos cambiar aquí. Y como se puede
ver, hay muchos comentarios
de nuevo, no se preocupe. Por cierto, estas flechas, puedes ignorarlas en los archivos JSON porque
todavía van a trabajar en. Y así no hay preocupaciones allí sin embargo. Se puede ver básicamente aquí
tenemos algunas anulaciones,
lo que significa que, oye, estos monstruos particulares
podrían desovar en esta estructura, se
puede ver qué turbas pueden desovar con el tiempo
en la estructura. Eso es muy
interesante también aquí, si la verdadera tierra estará
alrededor del fondo de una estructura basada en
las piezas y valor. Eso también es algo
que podrías hacer. Esta de aquí es la etiqueta. Esto necesitamos especificar
esta etiqueta aquí mismo. Esto por supuesto cambia a
nuestro ID de modelo y luego tiene estructuras es lo
mismo y luego este nombre es lo
mismo que esto. Por lo que no necesitamos
cambiar esto el camino a la plantilla pobre archivo JSON, por
supuesto, también necesita
ser curso MC. Esto es adyacente que
vamos a sumar en tan solo un momento bajo el
pool de plantillas justo aquí. Y entonces aquí también
vamos a cambiar este nombre a estructuras de cielo curso MC. Muy importante que
este nombre se pueda ver la clase de estructura base a utilizar para el comportamiento
de la estructura. Por lo que podemos ver en las
estructuras mod aquí mismo, este es el nombre de
las estructuras del cielo y luego esto es de
lo que lo basa. Pero esta es básicamente
la conexión entre este archivo JSON y
esta estructura, principalmente como esta
clase de estructura aquí mismo. Así que ten en
cuenta que también has escrito el
año tipo correctamente cuando se trata de
la casa única JSON, ¿verdad? Sólo vamos a copiar
el nombre otra vez. Vamos a poner esto
en la misma carpeta, un nuevo archivo aquí mismo. Vamos y luego el contenido real del que
una vez más se copió. Ahí vas. Y entonces aquí también
tenemos que cambiar una vez más ya que esto a
curso MC debería tener sentido. Y luego cambiaremos esto
a curso MC también. Esto va a
buscar un archivo JSON en la plantilla
subrayado pool mayor, donde básicamente agregamos esto en un momento
Aparte de eso, el resto puede quedarse. Por ejemplo, se puede ver que
hay alguna ilusión o algunos pillagers y algunos padres
que podrían desovar aquí. Eso es realmente interesante. Vamos a entonces
seguir adelante. Por lo que ahora hemos gestionado la función de estructura configurada y luego podemos
mirar la lista de procesadores. Esto es
algo muy interesante también. En realidad podemos simplemente conseguir esto
basado en el archivo aquí mismo. Sólo vamos a copiarlo
y vamos a
mirarlo dentro de esto. Esta es la lista de procesadores, un nuevo archivo llamado
los guiones
bajos de ratones aleatorios no rompen a Grayson. Y esto es muy interesante. Así que voy a pegar esto. Y se puede ver que esto es una, esto es básicamente una
regla y lo que hace es que reemplaza a cierta cosa. Para que puedas ver el bloque que
buscamos es el ladrillo de piedra. Y esto tiene un 50% de
posibilidades de permitir que el ladrillo de piedra encontrado sea reemplazado por cosas diferentes. Por ejemplo. Y se puede ver
si encontramos una rotura de piedra, entonces hay un 5%
de posibilidades de
reemplazarlo por un OR esmeralda, y luego aquí se puede
ver que hay un 50%
de posibilidades de reemplazarlo realmente por
un ladrillo de piedra infestado. Y luego aquí abajo, se puede ver un par de pizarra profunda
podría ser reemplazada valor
del 10% o una probabilidad del 10% con un estado profundo
Redstone más o menos. Esos son algunos ejemplos muy
interesantes de básicamente una de
esas reglas interesantes, que es realmente
alucinante interesante, que puede hacer que tus estructuras
solo así de más, bueno, quiero decir que más
interesante si entonces puedes reemplazar ciertos bloques
bajo ciertas condiciones, básicamente con una
cierta probabilidad aquí de hacer para ser otros bloques. Eso es realmente genial
y realmente impresionante. Así que eso definitivamente es
algo para jugar con un poco
en tu propio tiempo también. Pero eso también se ha agregado
y vamos a ver dónde se usa
esto en
tan solo un momento para que podamos cerrar esto también. Y luego simplemente
abramos a la estructura establecida en el pool de plantillas. Ambos se puede ver una vez más,
la estructura está configurada. Tenemos dos archivos JSON, uno para cada una de nuestras diferentes estructuras
que una vez más. Así que sólo vamos a leer
esos archivos de Jason también. Lee este. Ahí vas. Y luego voy a copiar
los contenidos aquí. Una vez más, ahí vas. Entonces éste es uno de los, bueno, yo diría que este es uno
de los archivos JSON más fáciles. Yo diría que acaba de cambiar
el nombre aquí mismo. Y entonces esto por supuesto, en este caso la estructura aquí, debería buscar aquí
este archivo JSON
si no me equivoco. Y entonces la colocación aquí
es en realidad muy importante. Entonces la sal aquí, se
puede ver. Asegúrate de que esto sea
único y no coincida con ninguna otra estructura sal. De lo contrario, lo que va
a pasar es que se
van a colocar en
la misma ubicación, que por supuesto es
algo que no queremos. Y se puede ver el soporte de
distancia promedio en trozos. Y luego aquí, esta es la distancia mínima que
separa tu tronco. Entonces éste siempre tiene que
ser más pequeño que éste. Tiene sentido. Y luego aquí
sólo estamos básicamente eligiendo un spread aleatorio. Esto también es aconsejable
para mantenerlo así. Y eso es
más o menos lo que necesitamos. Oreja. Y entonces lo que necesitamos es el
caso normalmente casa también. Vamos a llegar
a esto también, hace
ellos y luego el nombre aquí, así que nuevo archivo y luego solo
copiando sobre los contenidos. Y se puede ver esto es
una vez más cambiar aquí. Hace ellos. Y se puede ver esta sal aquí es
diferente a esta sal. Una vez más,
recomiendo encarecidamente solo si, cuando añadas tu propia estructura
personalizada. Cuando añadamos las estructuras
personalizadas en las siguientes dos conferencias, entonces vas a ver
que también vamos a cambiar la sal.
Muy, muy importante. De lo contrario, este es más menos
un archivo
JSON bastante sencillo. Una vez más, éste apunta a, apuntar a la característica de
estructura configurada aquí mismo. Ahora, lo último que
necesitamos es el pool de plantillas. Entonces estos van a ser los archivos
JSON aquí mismo. Así que voy a cerrar
esto, esto y esto. Se puede ver tenemos
aquí el
único archivo adyacente y tenemos dos
expedientes JSON para la casa. Solo vamos a
usar el ventilador del cielo primero. Esto va a ser justo
aquí dentro de él. Entonces Skype en Jason y
luego voy a copiar esto
también. Ahí vas. Y se podía ver lo que pasa
aquí es que antes que nada, en el nombre aquí
voy a cambiar. Entonces esto no es estrictamente
necesario en realidad, porque creo que
el nombre aquí es es más
o menos es el nombre de
la propia piscina de plantillas. No creo que
esto realmente necesite
cambiarse aquí,
no un 100% seguro, pero también se puede ver que
hay un enlace aquí mismo para el archivo JSON de las
piscinas a plantilla. Recomiendo encarecidamente revisar
esto también. Esto por supuesto está vinculado aquí también, por lo que no hay preocupaciones ahí. Y entonces se puede
ver ¿cuáles son los elementos que estamos buscando? Bueno, estamos buscando octava. Una vez más, el
tutorial de estructura tiene que cambiar a curso
MC, el fan del cielo. Ahora bien esto, como se puede ver, el camino final es recursos estructura de datos
tutorial en nuestros casos curso MC, Es estructuras rundown, casa
izquierda, lado izquierdo MVT. Ahora bien, esto por supuesto
no es del todo correcto. Esto busca fan de
subrayado Sky, NVT, sky fan, y luego
esto está aquí mismo, Skype y MET bajo la ubicación del curso de
EMC. Aquí es donde busca. Y entonces éste
también es muy interesante. Se puede ver que estamos agregando en
el procesador justo aquí, que es el curso MC, piedra
aleatoria, ladrillo. Este es exactamente este archivo
JSON aquí mismo, por lo que en realidad esto no es necesario. Esto es sólo un
bono añadido, por así decirlo. Y se puede ver especifica la lista de procesadores
y luego básicamente aplica al archivo NVT justo aquí al
colocarlo en el mundo. Y luego está ahí. Se puede ver
las listas de procesadores son geniales para aleatorizar bloques y hacer que las estructuras parezcan más naturales. Realmente
alucinante impresionante, Realmente genial, y en general no
demasiado loco para usar. Una vez más, esta es una de
esas cosas donde por supuesto, sumar exactamente lo que
quieres podría ser un
poco complicado. Pero en general, sigue siendo
algo realmente genial básicamente
echar un vistazo y cambiar alrededor y
jugar con, ¿verdad? Entonces este va
a ser el fan del cielo. Y ahora vamos a hacer es
la casa descabellada de estos. Se puede ver que hay una
alberca del sitio y una alberca de almacenamiento. Vamos básicamente
cerca de ambos, sólo
vamos a llegar
a la piscina del sitio primero. Y esto está en una, en una
nueva carpeta de aquí mismo, que se va a llamar Run underscore down
underscore house. Y luego vamos a
tener un nuevo archivo llamado la piscina de puntos bajos, Jason. Y también
tendremos una base hasta ahora que se llama la piscina de subrayado
del sitio, subrayado dot dot js y en realidad citar Poole
guión bajo lateral engañado adyacente. Ahí vas. Este es
el sitio alberca JSON, y luego esta de aquí
es la piscina de inicio Jason, ¿por qué necesitamos dos de ellos? Bueno, la verdadera
casa desmontada Es una estructura de rompecabezas, lo que
significa que tiene dos partes
diferentes de la misma. Tienes un
lado izquierdo, aquí mismo. Vamos a cambiar esto
una vez más a curso MC. Este es el lado izquierdo de la
casa descubierta, que apunta a éste, este dato de la NVT aquí mismo
, casa descubierta
lado izquierdo y la alberca lateral. Se puede ver que en realidad
tenemos una lista de elementos que tiene
diferentes pesos aquí. Y apunta a dos
NVT diferentes por otro básicamente. Y se puede ver que
hay un 50% de posibilidades de desovar la carrera de oro
en lugar de la habitual. Esa es la idea aquí. Y vamos a ver
un ejemplo de esto, la estructura de rompecabezas personalizada
que voy a hacer también. Una vez más, por supuesto, cambiar aquí
el MOD ID, lo cual es muy importante. Y entonces aquí sólo podemos
cambiar la idea de modo. No creo que sea
estrictamente necesario, pero sólo vamos a
hacerlo también, sólo para que lo tengamos. Por lo que se puede ver que aquí hay
muchas partes móviles. No obstante, voy a resumir
una vez más porque en realidad
hay una
cosa más que necesitamos
cambiar porque como
está en este momento, esto en realidad no
va a funcionar al 100%. En realidad, la casa
descubierta sólo va a engendrar un
lado izquierdo y un lado derecho, pues en este dato MPT, se guarda
la monodia equivocada. Vamos a ver cómo podemos
arreglarlo en un momento. Pero antes
que nada, resumimos con todas las cosas
que hemos hecho. Hemos sumado dos estructuras
diferentes. Hemos agregado la estructura del cielo
usando algún código también, principalmente la
clase de estructuras cielo aquí mismo, que se puede utilizar a lo que
en ciertas otras características que no son posibles
agregar a través de sólo la JSON archivos. Principalmente, se puede ver éste aquí
mismo donde especificamos la posición y real de esta estructura en particular y
algunas otras cosas también. Pero lo que también hemos
hecho es que también hemos hecho una estructura puramente
con archivos JSON. Y se puede ver por esa
estructura que necesitábamos. 12345 diferentes archivos de Jason que todos por supuesto tienen que estar en las ubicaciones correctas y todos
están relacionados
entre sí. Pensemos en
esto por un segundo. Por lo que es mejor probablemente comenzar con el
pool de almacenamiento aquí mismo, porque el pool de tiendas
hace referencia al archivo NVT. Este es el
archivo NVT aquí mismo en, bajo su carpeta de datos
mod ID estructuras en VT. Y esto se hace referencia aquí
mismo en la piscina de estrellas. Ahora mientras que el pool de tiendas referencia a su estrella
más referenciada en la clase de
entidad de estructura configurada aquí mismo. Por lo que podemos ver esta es la alberca de tiendas que
se está haciendo referencia. Se puede ver que esta es
la configuración de esta estructura en particular y
esto ha sido referenciado, mientras que también
se hace referencia es el bioma Jason, Este es el bajo el mundo tributario, bioma
Jin tiene estructura. Solo Jason ¿Cómo están los biomas, que básicamente significa rápido en qué biomas puede desovar
esta estructura? Esto explica más o menos
esta persecución y seguido aquí, este archivo JSON se utiliza para
realmente agregar el mundo, básicamente agregando
la estructura al mundo que esta
estructura está configurada. Se puede ver en este comentario aquí básicamente va a escoger
una de esas estructuras. Quiero decir, en este caso sólo
hay una estructura. Podrías en teoría en
múltiples estructuras de un no equivocado ya que este aquí mismo
se refiere como éste. No estoy 100% seguro de eso, pero creo que esto
debería referirse de nuevo a este particular archivo JSON, que por supuesto se refiere a la piscina de la tienda y
también a los biomas. Así es como están
interrelacionados entre sí, justo entonces para el pool del sitio. Pero debido a que esta es una de
esas cosas interesantes, el ciclo una vez más
es porque estamos usando el bloque de rompecabezas. Recomiendo encarecidamente si esto es un poco confuso con
una piscina psiquiátrica para ti. Vamos a ver eso en el, cuando en realidad
hablamos de los rompecabezas en un poco
en las próximas conferencias. Y esto es. Por lo que hay bastantes partes en
movimiento a ella. Una vez más, te
recomiendo encarecidamente que tengas que ver esta conferencia dos veces.
No hay forma de rodearlo. Las estructuras pueden ser
bastante complicadas. No obstante, una vez que los
hayas configurado, una vez sumar más estructuras es en realidad
muy, muy sencillo. Los que todo
aquí está configurado. Recomiendo no cambiar
nada demasiado, es básicamente cambiar
tu ID MOD, ese Ahmad ID a tu modelo ID, y entonces eso debería
ser, ¿verdad? Así que porque esto es básicamente todo lo que necesitamos
por el momento, lo que vamos a hacer es que
vamos a hacer un mundo nuevo, ver si los engendros, y entonces vamos a ver que
necesitamos cambiar una cosa más, que va a ser bastante
sencillo de cambiar. Pero solo veamos si funciona. También ten en cuenta a
la hora de hacer estas estructuras, obtendrás esto
el mundo usando configuraciones
experimentales no es compatible. Simplemente
es lo que es. Simplemente puedes hacer clic en proceder. Es mío. Podría parecer un poco
diferente si te estás uniendo a un mundo
que ya existe. En este caso, esto fue
creando un nuevo mundo. Básicamente
no hay forma de evitarlo. Esto va a aparecer, pero ahí no se preocupe. Básicamente puedes ignorarlo. Sólo di proceder
y ahí vas. Muy bien, entonces nos
encontramos en Minecraft y se puede ver una de estas estructuras ya se suma
con éxito aquí mismo, e incluso hay otra. Podrían estar un
poco demasiado cerca. Pero antes que nada, se puede ver el desove de
la estructura real. También se puede ver algunas
personas ya engendradas son como turbas aquí. Y entonces lo que también es
realmente interesante, se pueden ver los
reemplazos aquí mismo. Se puede ver algunos de los ladrillos han sido reemplazados y se puede ver algunos de ellos también están
infestados. Eso es realmente genial. Entonces hay un 50% de posibilidades, por
supuesto, de
que se inviertan. Y luego algunos de ellos también
son
reemplazados por el Esmeralda OR, y luego se puede
ver algo de esto
también se reemplaza por redstone. Todo, eso es realmente genial. Esta fue la
materia de reemplazo que se hizo. Y se puede ver que
son, están desovando. Entonces el otro, la casa, en realidad
deberíamos encontrarla muy, muy rápido porque
nace como cada pocos, en realidad ya
hay
una casa. Y lo que vas a
encontrar es
que se ve como media
casa, ¿no es así? Sí. Esto parece
media casa
porque en realidad es sólo media casa. Se puede ver. En primer lugar, aquí también hay algunas pistas
útiles. Recomiendo encarecidamente revisar
los que salen también. Pero se puede ver que eres, el bloque de rompecabezas fue en realidad
reemplazar aquí y bueno, el tema es que el
modal real que no coincide. Para que esto funcione,
lo que vamos a hacer es que sólo nos vamos a conseguir algo de distancia
y algo de espacio. Básicamente. En realidad solo
volemos aquí vamos. Esto ojalá
sea suficiente distancia. Y entonces lo que necesitamos,
necesitamos darnos el bloque estructural aquí
mismo, éste. Y luego vamos a ponerlo
abajo y vamos a hacer clic con el botón derecho. Ahora el
nombre de la estructura aquí va a ser estructurado nombre
año va a ser MC curso colon, guión bajo
izquierdo, correr subrayado abajo
guión bajo house guión bajo, lado de subrayado
izquierdo, supongo que entonces no se va a dejar
aquí en la parte delantera derecha. El nombre aquí debe ser
este nombre justo aquí. En realidad, hagamos clic derecho Refactor Rename, copie esto. Eso va a ser un
poco más fácil. Ahí vas. En realidad es eso
y ahora si entro en carga aquí mismo,
debería cargar esto. Y entonces podría volver a hacer carga, y luego en realidad
engendra la casa. Ahora podrás
ver aquí mismo, este es el bloque de rompecabezas. Y se puede ver aquí
realmente busca esta piscina del sitio, que
tenemos que cambiar. Tengo que cambiar esto
a curso MC, digamos hecho. Entonces también queremos la
otra parte de la casa. En realidad queremos la otra
parte de la casa también. Lo que voy a hacer es
que en realidad voy a copiar esto por aquí. Entonces al igual que Control a para seleccionar todo el control C para copiar el
control V para pegarlo en. Y entonces este va
a ser el lado derecho. Cuando una carga, y luego
vamos a cargar de nuevo. Y aquí encuentras el
otro bloque de rompecabezas. Haga clic derecho en éste. Queremos cambiar el nombre aquí a MC curso lado derecho hecho. Quieres cambiar
el nombre aquí a MC curso lado derecho. Hecho. Y entonces lo que
también queremos hacer, sólo para que tengamos todo. Queremos engendrar otra casa. Ese va a ser
el lado derecho, dorado, creo, lado derecho. Así que va a haber razón. Si escribes subrayado
sitio de subrayado, dorado. Ahí vas. Tira de eso y luego
cárguelo. Y ahí vas. Ahora, este es el sitio dorado, sólo va a tener algunas cerraduras
doradas ahí. Y entonces aquí también queremos
cambiar esto a curso MC, así que a nuestro modelo ID, sí, Y entonces
vamos a estar bien. Ahora lo que tenemos que
hacer es que
realmente necesitamos salvar a la NVT aquí. Una vez más, esto es un poco lo que están rehaciendo los FREC.
No te preocupes por eso. Esto básicamente
lo que tenemos que hacer para
que esto funcione correctamente. Una vez que hayamos hecho esto, en
las próximas dos conferencias, vamos a pasar realmente cómo hacer esto
completamente personalizado. Entonces vamos a construir
una estructura personalizada. Vamos a salvar la estructura
personalizada. Y voy a explicar
un poco más de detalle lo que básicamente estamos haciendo aquí. Si no quieres
seguir esto, entonces eso por supuesto también está bien. Pero básicamente hay algunas
cosas muy sencillas que tienes que hacer. Ahora aquí, después de haber
cambiado el bloque de rompecabezas, lo que vamos a hacer
es que vamos a ir aquí al modo seguro. Queremos decir seguro, entonces
se puede ver que ahora
se ha guardado y lo mismo va para los
otros dos son el modo seguro seguro. Aquí también, ve
al modo Guardar seguro, y luego terminamos. Ahora podemos hacer es que podamos
salir de Minecraft. Sólo vamos a
salir de aquí. Y luego los
datos de NVT
se van a almacenar en la
carpeta R1 bajo guardados. Entonces dondequiera que tengas, este fue el que no te olvides revisar mundo y entonces esto
debería estar bajo generado. Y puedes ver los tres datos
de la NVT aquí mismo. En realidad vamos a llevar
esto a aquí mismo. Y vamos a decir
anulación para todos. Por lo que ahora los
datos de NVT aquí han sido sobrescritos con
nuestros IDs MOD en ella. Y si ahora empiezo de
nuevo, hacer un nuevo mundo, entonces lo que vamos a ver
es que en realidad vamos a encontrar la casa
completa como antes, en lugar de la casa
izquierda o la, la otra parte de la casa. Entonces la casa, tenemos este bloque de rompecabezas que en realidad
estaba
buscando la piscina del sitio bajo la
estructura tutorial mod ID, que por supuesto no es correcto. Veamos, en realidad vamos a
crear un nuevo mundo. Aquí. Va a ser la
prueba de estructura. Ensayos de estructura. Eso va a estar bien. Una tasa de mundo. Una vez más, vamos a conseguir el, has cambiado la generación mundial y los ajustes experimentales. Eso va a estar bien. Sólo vamos
a golpear Proced y luego solo vamos a
esperar hasta que termine. Y entonces vamos
a ver si nuestra estructura está completa o no. De acuerdo,
nos encontramos en Minecraft, así que vamos a ver que ahí está, y ya se puede decir que la estructura está completa ahora. Bueno, vamos a entrar
aquí y vamos a ver. Pueden ver si entramos, encontrarás ahí vas. Esta es incluso la variante
dorada de la misma. Este es el lado correcto
para la meta y luego no
deberíamos tener que volar lejos para encontrar otro ejemplo de esto. Entonces esto es increíble
generación mundial parecía increíble. Aunque deberíamos poder encontrar otra casa bastante rápido. Por lo general, no deberían desovar demasiado lejos el uno del otro. Veamos, hay otro, por lo que puedes ver claramente que no
son tan raros, pero por supuesto esto es
algo que también
puedes cambiar muy fácilmente. Así que vamos a entrar aquí. Veamos, ¿esto debería de
esperar que sea éste normal? Esta es
una normal. Ahí vas. No, no hay gol aquí. También tenemos cosas en el
pecho justo aquí, y se puede ver
todo funcionando bien. Esta es la estructura básica siguiendo el
tutorial justo ahí. Y si estás en este punto, entonces agregar nuevas estructuras
es muy sencillo. Entonces básicamente
vamos a ver en las próximas dos conferencias
sobre cómo se pueden
agregar algunas
estructuras personalizadas también. En primer lugar, básicamente una
pieza de estructura, porque una estructura
sólo puede ser de 48 por 48 por 48. Y luego si es
más grande que eso, tienes que usar jig source. Pero como dije, en realidad es, en realidad no
es tan complicado
como algunos podrían hacer
salir para ser ahora, todavía no
es muy fácil,
pero es más
fácil de lo que cabría esperar, ¿verdad? Pero esto concluye la c
115. (1.18.2) Estructuras personalizadas (una sola parte): Muy bien, bienvenidos de nuevo
al curso de forraje
para 118 y
nos encontramos en Minecraft con una
estructura ya construida aquí mismo. Lo que
te recomiendo que hagas es que puedas copiar la estructura o simplemente crear tu
propia estructura. Y luego básicamente después de
que los creaste, podemos seguir adelante. Así que sólo
te daré un poco de tiempo para crear tu
propia estructura. Pero espero que se detenga y simplemente
cree su propia estructura. Porque ahora lo que vamos a hacer es ahora que voy a hacer un expediente
MVT de esto.
¿ Cómo hacemos esto? Bueno, tenemos que antes que nada, darnos el bloque de
estructura corre de nuevo. Entonces este de aquí mismo. Y lo que tenemos que hacer es
que tengamos que colocarlo en los rincones de esta estructura en
particular. Entonces lo que tenemos que hacer
es que tengamos que colocarlo fuera de la estructura entera de la
voluntad real. Entonces tenemos que colocarlo ahí
mismo y justo aquí. Y luego también del otro lado, en las mismas ubicaciones
básicamente aquí mismo, y luego también aquí mismo. Ahí vamos. Ahora lo que queremos
hacer es que queremos hacer clic derecho en esto y
luego tenemos que dividirnos. En primer lugar,
especifique un nombre aquí. Este va a ser el curso
MC colon. Por lo que siempre tomé tu
modelo ID de colon, cualquiera que sea el nombre. Y este caso va a ser
la casa de subrayado de algas. Y luego vamos a presionar
Control a para seleccionarlo todo, Control X para
cortarlo y Control V para volver a
pegarlo. Eso es básicamente
lo que acabo de hacer. Y voy a ir al modo
propietario. Muy importante. Vamos a decir hecho,
y ahí estás. Voy a hacer lo mismo aquí, pegarlo en modo esquina, hecho, una sentada, más hecho. Y luego éste, en realidad
vamos
a pegarlo y luego vamos a
ir al modo Guardar. Entonces queremos presionar este botón de
detección aquí mismo. Y debería en teoría, detectar toda la estructura. Para que puedas ver básicamente hemos resaltado el exterior
de toda la estructura, lo cual es exactamente correcto. Esto es lo que se va
a salvar su. Entonces lo que podemos hacer es que
sólo podemos hacer clic en el
botón Guardar aquí mismo. Y entonces se han guardado
estos datos de NVT. Entonces eso es literalmente
todo lo que tenemos que
hacer para guardar algunos datos de NVT. Y ahora tenemos esta casa. Ahora lo que podemos hacer es
realmente divertido, porque esto ya está salvado. Lo que deberíamos poder hacer
es simplemente ir a otro lugar. Dime, oye, dame esta casa. Simplemente puedo poner esto, digamos carga, y debería
detectar esta casa. Y entonces podemos decir cargarlo de
nuevo, y ahí vas. Y ahora en realidad puedo copiar esta casa de ahí a aquí, y entonces en realidad ya lo
tengo hecho. Pero por supuesto lo que queremos
hacer es que queremos llevar esta casa en una
manchada naturalmente en el mundo. Entonces lo que vamos a hacer es que
ahora saldremos de Minecraft de vuelta a Intel J y luego básicamente agregando algunos
de los archivos adyacentes para que podamos desovar en
esta casa, el mundo. Muy bien, así que nos encontramos
de una manera inteligente. Y lo primero, por supuesto, lo que tenemos que hacer es que tengamos
que conseguir la casa. Entonces esto es una vez más
en tu carpeta de ejecución. Esto debería estar en tus
ventas aquí mismo. Se trata de las pruebas de estructura
en mi caso, bajo generadas. Y luego aquí tenemos
la casa de conteo NVT. Así que sólo voy a arrastrar esto aquí mismo
a las estructuras, y luego tenemos
esto ahí mismo. Entonces eso es muy importante. Y ahora podemos básicamente
cambiar el archivo JSON. Entonces, ¿qué vamos a hacer? ¿ Qué tenemos que hacer? Bueno, lo primero que
vamos a hacer es que vamos a hacer el archivo JSON estructurado
para esto, para la etiqueta. Esto va a estar
incluyendo todos
los diferentes biomas que nos preguntamos esta
estructura demasiado pequeña. Y así sólo vamos a copiar sobre el ya
existente aquí. Esta va a ser la casa de
conteo y subrayado. Honestamente, creo que
esto va a estar bien. Sólo vamos a
tomar estos biomas de nivel. Por supuesto también puedes
cambiarlo como quieras. Pero en realidad estoy feliz con
esto y vamos a estar bien. Pero esta es la primera. Esto solo una vez más significa qué biomas puede desovar esta
estructura. Y entonces queremos conseguir la función de estructura
configurada sería sólo una vez más,
voy a copiar esto más. Cambio esto a casa de
subrayado alfombra. Vamos a usar ese
nombre unas cuantas veces ahora. Y aquí queremos cambiar la alberca de inicio a nuestra cuenta
y casa alberca almacenada. Esto va a ser lo
que vamos a añadir aquí en un momento
y lo mismo aquí. Esta ahora va a ser
la casa de mostrador. Esta etiqueta de bioma se refiere a esta que
acabamos de crear aquí. Pero no se preocupe. Personalmente en realidad no quiero que ningún monstruos
se desove aquí. Pero lo que sí quiero es que
en realidad quiero que algunos de los tigres del curso
MC aparezcan ahí. ¿Por qué no? Digamos que va a
haber uno o dos tigres que
puedan ver ahí. Vamos a añadirlo así. Eso va a ser muy interesante y ver si eso
en realidad también lo hace. Ahora esto debería ser más
o menos todo
lo que necesitamos cambiar aquí mismo. Entonces la siguiente, no
necesitamos ninguna
lista de procesadores en nuestro caso, pero sí necesitamos un conjunto de estructuras. Una vez más, copiando
esto al cambiar el nombre para hacer frente
y casa, esto, cambiando éste para que venga casa, que luego apunta a este archivo JSON que
hemos hecho antes. Muy importante aquí,
cambiando la sal, esta tiene que ser una
sal única y bastante grande. Y luego el espaciado, sólo
vamos a
darle un poco más espacio aquí en ambos aspectos, y eso va a estar bien. Entonces lo último que tenemos
que hacer es que necesitamos
crear una nueva carpeta aquí
mismo directorio. Esta va a ser una vez más
la casa de subrayado CAPM. Entonces el nombre del
archivo aquí va a ser el grupo de subrayado de inicio que adyacente y el contenido del que en realidad copiaré de una vez
más, el archivo JSON ya existente. Es por eso que dije si lo
tienes configurado una vez, entonces agregar otros nuevos es
muy sencillo. Entonces lo que podemos hacer aquí
es básicamente éste tiene que cambiar para contar
underscore house y luego. Vamos a
copiar esto y luego cambiarlo aquí una vez más. Y eso es todo. Ya hemos hecho esto ahora nuestra estructura real
desova en el mundo. Eso es todo lo que tenemos que hacer. 1234 archivos JSON en este caso porque es una sola
estructura y un archivo NVT, esto es literalmente. Viste que es bastante sencillo una vez que lo
tengas configurado, una vez copiando algunos de los archivos JSON,
cambiando algunas cosas, retocando pocas cosas y luego, y luego eres
bonita mucho hecho. Eso es literalmente todo
Como todo lo que tenemos que hacer por el sake de finalización. Veamos si funciona. para asegurarme de que
todo funcione, recomiendo encarecidamente hacer
un nuevo mundo por si acaso. Y luego también por supuesto, ten en cuenta que
obtendrás los escenarios
mundiales experimentales. Sólo tenemos que presionar Proceder. Eso es sólo gao. Va a ser cuando
añadas el mundo personalizado Jen, a través de los datos basados en archivos. Pero eso va a estar bien. Dejemos que genere
y veamos si podemos encontrar nuestra
casa contable en el mundo o la
casa de tu amigo en Minecraft. Y ahí
ya deberías poder verlo. La casa de carbono
se sumó con éxito a Minecraft. Y mira que está
aquí mismo y se pone en el suelo perfectamente al
igual que lo dejamos fuera. En realidad
destruyo accidentalmente la puerta allí. Eso no fue intencional.
Ahí vas. Pero sí, es
más o menos ya agregado. Como dije, es
muy sencillo. Una vez que lo hayas hecho, una vez. Es por eso que dije, definitivamente
deberías pasar por el
tutorial de estructura una vez con la conferencia por básicamente muestra el
repositorio de GitHub de la misma. Y entonces una vez tal vez
incluso por su cuenta, eche un vistazo a algunos de los
algunos de los comentarios allí. Quiero decir, sí. Quiero decir, ni siquiera
sé qué más
decir ya que más o menos lo viste. Es muy, muy sencillo. Hay algunas cosas
que puedes cambiar. Y ahora
realmente depende de ti, hasta tu creatividad en lo que quieres
agregar a Minecraft. En realidad veamos si puedo encontrar una más de nuestras casas de campo. Se pueden ver muchas
de las
casas desmontadas señalando aquí. Quiero encontrar una cuenta
más Casa. Veamos si podemos encontrarlo. No,
hay otro, por lo que puedes ver ahí vas. Entonces en general, creo
realmente interesante, pero también bastante sencillo.
Todas las cosas consideradas. No creo que sea tan loco
y que duro y bueno, quiero decir, sí, eso es
más o menos lo fácil que es agregar alguna
estructura personalizada a Minecraft. Pero como ya he dicho varias veces ahora y lo
diré una vez más. Si lo has configurado una vez
que lo has visto, es
muy, muy sencillo agregar
más estructuras a tu juego, y es muy sencillo. Ahora, una vez más, para la fuente de bebidas que
vamos a ver en la próxima conferencia va a ser un poco
más complicada. Pero aún entonces, después de haber
visto un ejemplo de esto, básicamente configurarlo todo, vas a decir que incluso
eso va a ser justo, muy sensato y
bastante sencillo, todas las cosas consideradas, ¿verdad? Pero eso sería todo por
esta conferencia aquí mismo. Espero que te haya parecido útil esto
y aprendas algo nuevo. O los archivos JSON están
por supuesto disponibles para su descarga en el repositorio de GitHub y
un individuo igual de bien. Pero de lo contrario,
te veré en la próxima conferencia.
116. (1.18.2) Estructuras personalizadas (estructuras de (1.18.2): Muy bien, bienvenidos de nuevo
al curso forestal para 118. Y en esta conferencia
vamos a estar
mirando algunas estructuras de rompecabezas. Ya se puede ver que ya he
preparado algo aquí mismo, que va a ser
la plataforma de almacenamiento. Y la forma en que esto
va a funcionar es que esto va a ser dos estructuras
diferentes, pero va a desovar como una sola. Entonces la idea es que una
parte de la estructura, que va a ser básicamente
todo lo que queda aquí, va a ser la piscina de inicio. Y entonces vamos a
tener un bloque de rompecabezas en el medio que va a generar entonces este
lado derecho aquí de la estructura, que va a ser
cualquiera, digamos hierro. Y entonces también vamos a
hacer una variante básicamente cual tiene va a tener
algo como diamante tal vez y luego incluso
una con esmeralda. Entonces esa es la idea general. Y entonces esto va a terminar. Podemos entonces tenerlo desova con diferentes pesos
para que cuando
vayas por el mundo
necesitando encontrar mucho de ella con la
plancha por ejemplo, con like, no sé,
como 80% y luego me gusta 10% del tiempo que
vas a encontrar el diamante. Y luego 10% de las
veces vas a
encontrar a la Esmeralda,
algo así. Entonces lo que vamos a
hacer es
que necesitamos configurar esto correctamente. Entonces lo que vamos a hacer es que sólo vamos a tomar, cierto. Así que ahora vamos a
hacer en realidad el 1 principal primero. Entonces esto debería estar justo aquí. Por lo que necesitamos el
bloque estructural aquí mismo. Y luego aquí también. Eso debería estar bien. Y luego de este lado, demostramos que elegimos lo
correcto Es una especie
de hablar tan bien, vamos a bajar aquí. Entonces ahí vas. Y luego por la
altura h debe estar justo alrededor de su, creo que sí. Solo revisemos
esto también. Entonces éste debería ser
éste. Ahí vas. Eliminemos aquí los bloques
ayudantes. Y esto es en realidad más alto, así que vamos a hacer
uno debajo de él que hace que tenemos los propietarios listos y
luego vamos a, y luego vamos a llamar a esta plataforma de almacenamiento de cursos MC. Eso va a estar bien. Una vez más, Control
a, Control X, Control V, para que tengamos el nombre y este va a
ser el modo cuarto. Y luego vamos a
pasar por el modo de esquina para cada uno de ellos, o modo. Ahí vas. Azar este modo y entonces este
va a ser el modo seguro. Así que vamos a hacer este modo
seguro y luego detectarlo. Y luego una vez más,
encontraremos que esto es ahora lo que
se está detectando. Por supuesto, lo que
encontrarás es, oh no, en realidad necesitábamos más arriba, pero no hay ninguna preocupación en absoluto. Lo que podemos hacer es simplemente construirlo. Tú lo estás, vamos a construirlo hasta la altura que necesitamos. Justo ahí. Ahí vas. Y luego destruiremos éste, que fue básicamente
lo real se va a quedar
por el momento. Pero una vez que en realidad
lo recargamos, y debería estar bien. Entonces esto debería ser sobre esta altura, creo que
esto debería ser. Entonces podemos una vez más
son el modo de esquina, sí, y luego eliminar
éste también. También modo con eso mismo
con el nombre correcto. Y luego podemos detectarlo de nuevo. Y entonces
encontrarás que el ego ahora está hecho y
todo está dentro de él. Así que básicamente, eso es una
cosa que podrías hacer. Lo configuras y
luego estás como, Oh, eso es en realidad algunas
cuadras fuera de él. Simplemente
reemplázalo y ahí vas. Ahora este es el principal. Y lo que aún tendríamos que
hacer es que aún tenemos que colocar por el bloque de rompecabezas. Entonces para eso vamos a hacer abrir la terminal y el
comando es una vez más, claro que sí
dieron mando o
el bloque
de rompecabezas,
éste de aquí mismo. Y lo que queremos hacer es que nos
enfrentemos de esta manera. Entonces lo que queremos
es que esto siga dentro de
ella. Ahí vas. Las flechas deben apuntar
hacia el exterior de la misma. Por lo que se puede ver que
esto todavía está dentro de la estructura y
debe un punto fuera
de la estructura. Y luego aquí mismo, queremos que el otro
bloque de rompecabezas apunte hacia él. Entonces estos son los dos
bloques de rompecabezas que queremos. Este lado aquí va a tener un nombre asociado a él. Entonces esto va a ser
MC curso colon, digamos por ejemplo, sitio, plataforma, algo como esto. Y voy a decir hecho
este nombre aquí mismo. Vamos a
copiarlo y este va a ser el
nombre objetivo aquí mismo. Y entonces el
pool objetivo aquí va a ser MC curso colon. Y este es el nombre
del expediente JSON que
tenemos que poner. Así que esta va a ser
la
plataforma de subrayado de almacenamiento de barra inclinada sitio de
subrayado pool. Este es el archivo JSON
aquí mismo, vamos a decir hecho, y ahora esos están más o menos
conectados entre sí. Y lo importante
es por supuesto, éste por el momento, porque esto está en esta
estructura aquí mismo. Por lo que ahora podemos salvar esto. Entonces podemos decir Save. Y ahora se ha guardado
la estructura de almacenamiento. Ahora podemos hacer lo similar
por las otras estructuras. Así que vamos a
hacer esto justo aquí. Y entonces sólo tenemos
que subir hasta aquí. Por el otro lado,
sólo vamos a hacerlo encendido, es simultáneamente básicamente para que otro bloque de
estructura aquí, y luego los otros libros de
estructura deberían estar por aquí. Eso parece bien. Entonces entonces el nombre aquí
vamos a hacer MC curso colon, almacenamiento de
hierro, forma de planta. Volviendo una vez más,
voy a copiar este modo de esquina o a distancia. Y luego aquí abajo,
éste va a tener el modo seguro
una vez más detectar. Veamos. Ahí vas. Entonces entonces ahora esto también
se detecta
y se puede ver ahora
en realidad tenemos ambos. Y recomiendo encarecidamente
hacerlo así. Porque ahora básicamente
cuando cambias este aquí por
otra varianza por así decirlo, y es muy, muy
sencillo. Los nombres aquí pueden
básicamente quedarse. Entonces esta es la
plataforma lateral y plataforma lateral. Eso está todo bien. Entonces vamos a
ahorrar esto para bajo el subrayado de hierro almacenado
bajo plataforma de puntuación. Guárdalo. Y entonces lo que
haré es que
cambiaré esto y
luego lo guardaremos bajo plataforma de almacenamiento de diamantes
y luego esmeralda también. He sustituido la
plancha por algún diamante aquí. Y luego por supuesto,
lo que queremos
cambiar aquí es el nombre, ¿verdad? Por lo que esta ahora va a ser
la plataforma de almacenamiento de diamantes. Una vez más, copia esto,
voy a decir hecho. Y entonces vamos a
cambiar esto aquí también. Entonces en todas las
esquinas, básicamente, vamos a ser capaces de
detectarlo en tan solo un momento también. Vamos a hacer esto y
luego volver a éste, detectado una vez más. Entonces ahora se ha detectado la
plataforma de tipo diamante, y ahora podemos
guardarla bajo la plataforma de almacenamiento de diámetro. Y luego hagamos
lo mismo por las esmeraldas también. Muy bien, por lo que ahora ha sido
reemplazado por m roles. Así que vamos a cambiar el
nombre una vez más aquí. Entonces esta va a ser la plataforma de almacenamiento
Emerald. Una vez más, cópielo, y luego cambia
los nombres y todas las esquinas aquí mismo. Así que nada demasiado loco. Ahí vas. Y luego
vamos a conseguir esto de nuevo. Así que vamos a
ser sólo la plataforma de almacenamiento Actual, Emerald
y luego salvarla otra vez. Pero ahora tenemos
una plataforma principal y asociada a
ella tres diferentes, digamos varianza
del otro tipo de plataforma
que podemos engendrar. Ahora pasemos a ser
inteligente de nuevo, y luego vamos a configurar
todo. Muy bien, así que
nos encontramos con un inteligente. Y en primer lugar, por supuesto,
vamos a obtener los datos de la NVT. Esto debe estar bajo
las pruebas estructuradas. Si no me equivoco,
ahí vamos. Por lo que tenemos la plataforma de
almacenamiento y las tres
plataformas diferentes también. Vamos a copiarlos
aquí mismo a las estructuras una vez más. Entonces lo que necesitamos es, por
supuesto, la estructura
en su totalidad. Necesitamos una vez más los cinco expedientes
adyacentes para eso. Sólo vamos
a copiarlos. Entonces esta va a ser la plataforma de subrayado de
almacenamiento y necesitaremos usar ese
nombre un par de veces. Así que sólo copiarlo. Una vez más.
Sólo nos vamos a quedar con estos biomas
por el momento. Esto es por supuesto muy fácil básicamente simplemente cambiar aquí arriba. Y la
estructura configurada cuenta con plataforma de
almacenamiento
y quieren
apuntar al pool
de almacenamiento dentro del soporte de la plataforma de almacenamiento, que vamos a
crear un poco. Y entonces este es el archivo JSON de la plataforma de
almacenamiento, que significa qué
biomas se van a utilizar aquí. Ahora en realidad no
quiero ningún Richards aquí. No obstante, lo que he
encontrado es que si quitas las pequeñas
sobrescrituras por completo, entonces en realidad reciben un error. Entonces no estoy 100% seguro todavía de
lo que tienes que hacer aquí para no conseguir nada donde podamos
hacer es algo como esto. Así que vamos a estar bien entonces
creo que no, nada aparece aquí. Así que vamos a estar bien,
el conjunto de la estructura. Lo que vamos a hacer es una
vez más copiar sobre
la casa de mostrador, cambiar el nombre aquí, y luego aquí una
vez más, claro, cambiar el nombre aquí
para que apunte a
lo correcto característica de estructura. Y entonces muy importante aquí, cambiando estructura,
la sal aquí, claro, y luego el espaciado
voy a hacer un
poco más de lo que la
mínima separación. Y son como 12,
va a estar bien. Y luego todo se reduce
a la casa de plantilla, que vamos a
copiar simplemente sobre la casa descubierta. Vamos a cambiar el nombre de
esto a plataforma de almacenamiento. Entonces dentro de los archivos JSON, queremos cambiar esto
a plataforma de almacenamiento. Este es el lado derecho, así que este va a ser
los tres lados derecho. Entonces lo que vamos a hacer es
que sólo voy a eliminarlo, los comentarios aquí. ¿Y entonces
qué va a pasar? Dijimos que en realidad
queremos uno más de estos. Y entonces esto probablemente va a ser algo así como un peso, digamos cinco, peso tres, y luego esperar a
algo así. Y esa va a ser la plataforma de subrayado de almacenamiento de
cuatro
subrayados. Eso va a tener la
autoridad que no es o es hierro.
Por supuesto, ahí vas. Plataforma de almacenamiento de hierro. Entonces vamos a llamarlo copia esto y esta va a ser la plataforma de almacenamiento Emerald. Y luego digamos que esta es
la plataforma de almacenamiento de diamantes, pero esto debería tener un
50% de posibilidades de desove. Esta es una probabilidad del 30% y
esto es un 2% a 20% de probabilidad. Se trata de los diferentes pesos deben ser bastante
autoexplicativos. Básicamente son los pesos de
cómo se están generando. Por lo que esta debería ser la alberca
del sitio y luego para el pool de almacenamiento de
la plataforma de almacenamiento, vamos a la alberca de la tienda aquí. Esto va a ser por supuesto, entonces la plataforma de subrayado de almacenamiento. Una vez más, plataforma. Ahí vas. Copia este. Y entonces esta es por supuesto
la plataforma de almacenamiento. Este es nuestro lugar de partida básicamente están iniciando los datos de NVT, que va a tener el bloque de
rompecabezas dentro de él, que luego está
buscando la piscina del sitio, que hemos definido en el bloque de
rompecabezas apenas antes. Y eso es literalmente
todo lo que necesitamos. Y ahora todos esos tres diferentes mientras que la varianza también
generaría. Entonces como dije, es una
vez más, una vez que está configurado, una vez muy sencillo,
Todas las cosas consideradas. Así que ahora vamos a crear un nuevo mundo y
veamos si podemos encontrar nuestras plataformas de almacenamiento o Francis en Microsoft
en un mundo nuevo. Y veamos si no podemos
encontrar nuestra plataforma de almacenamiento. También podemos simplemente ubicados
así yendo por nuestro curso MC. Y esa es la
plataforma de almacenamiento aquí mismo. Veamos. Entonces aquí mismo, uno de ellos es, veamos, ahí vamos. Uno de ellos ya engendró aquí con la plancha en este caso. Y se puede ver
exactamente cómo dejamos el basicamente y el volumen en los bloques de rompecabezas se han ido también porque han
sido reemplazados por aire. En realidad solo
HTP en otro lugar y veamos si podríamos ser capaces de
encontrar otro de ellos. Vayamos a gustar, ya
sabes, 20 K o lo que sea. Y luego van y luego
vamos a localizarlo de nuevo. Vamos a ir a por un, otro, localizar una plataforma
y luego vamos a ver. Ahí está. Es otro con planchas. Halley. Bueno, quiero decir,
a veces funciona así. Vayamos por uno más,
intentemos una vez más. Negativos diez k esta vez. ¿ Por qué no? Y luego se van. Y
luego volvamos a ubicar. Veamos si éste
podría tener algo que no
sea hierro y
también tiene hierro. Bueno, quiero decir, es una
de esas cosas que es más prevalente
que las otras. Simplemente es lo que es. Y también creo que solo moviéndonos
y volando por ahí, no
vamos a
encontrarnos con demasiados de ellos ya que los hicimos un poco más
raros que las otras
cosas que hicimos. Por lo que la casa de conteo y la casa descubierta son mucho
más prevalentes en ese caso. Pero sí, quiero decir, eso es más
o menos la cosa. Eso es en realidad
intentarlo una vez más porque en realidad sí
quiero ver las otras cosas funcionando. Así que vamos a ir de, no sé, como un 100 y luego lo
vamos a hacer menos diez K aquí. Entonces hagamos otra
plataforma de palabras de localizacion o curso
MC. Veamos. Oh, bueno, quiero decir que esto
también es algo que
puede pasar, ¿verdad? Entonces esta es una ocurrencia muy
rara. Entonces esto generalmente no es
algo que sucede, pero se puede ver que
ambas estructuras en realidad engendran más
o menos en el mismo trozo. Ese mismo momento. Es por eso que
quieres cambiar la sal. Ahora en nuestro caso aquí, acabamos de tener increíblemente mala suerte. Digamos que
básicamente compartieron la misma vecindad general. Esto no debería
suceder con demasiada frecuencia, pero sí, quiero
decir, no puede pasar. Simplemente es lo que es a veces. Pero se puede ver que esta es la variante esmeralda
en ese caso, por lo que definitivamente funciona. Y así esto es justo,
a veces esto sucede. No debería pasar mucho. Entonces esto debería ser una ocurrencia
bastante rara, pero eso es más o menos lo bien que va,
¿verdad? Y eso es más o menos
va a ser como puedes agregar algunas estructuras de rompecabezas
a tu MOD también. Todas las cosas consideradas bastante directas es solo una
vez más en los archivos JSON, configurando la estructura
correctamente y luego obteniendo los datos NVT para esa estructura. Pero eso sería todo por
esta conferencia aquí mismo. Espero que hayas encontrado esto útil y aprendas algo nuevo. Y te veré en
la próxima conferencia.
117. (1.18.2) Modelos de armadura personalizados 3D personalizados: Muy bien, bienvenidos de nuevo
al curso de forraje para 118. En esta conferencia,
vamos a estar haciendo un modelo de armadura 3D de cliente
o nuestra armadura de cobalto. Entonces en lugar de usar nuestra
armadura que tenemos antes, así que esta en los
modelos aquí mismo, que es entonces
lo que se
está superponiendo en 3D. En realidad vamos a hacer
un nuevo modelo ARMA personalizado, que definitivamente no va
a quedar tan bien como este. Porque básicamente solo
quiero una especie de mostrarte los pasos que debes hacer para realmente hacer esto. Pero vamos a ver por esto, vamos a usar una
bancada de bloques en labio gecko otra vez, ya
he preparado la armadura
real aquí mismo se
puede ver que este es el archivo del banco del
blog. Esto sucede cuando haces
esto siguiendo, ¿verdad? Entonces cuando haces un nuevo modelo animado de labios
gecko, solo
puedes hacer
esto, por ejemplo aquí prueba armadura, ¿verdad? Y entonces lo que puedes hacer
es ir a File to the gecko live model settings
y cambiar esto a armadura. Si entonces pegas Confirmar, se
puede ver que algunas cosas
generan aquí mismo, que es básicamente el, qué, el cuerpo ya preparado. Y luego puedes agregarle cosas donde quieras agregarla
está debajo de estas. Entonces tienes la cabeza de los bípedos, no toques lo
particular. Esto es por supuesto la
cabeza en ese caso. Y luego tus
cosas personalizadas pueden entrar aquí. Para que solo puedas agregar un cubo. Y luego puedes
usar tus cosas, hacerlo, talla
justo aquí, ¿verdad? Entonces escala un
cierto punto y luego
se van y luego puedes simplemente jugar por ahí con este
básicamente duplicar eso, hacer un nuevo cubo una vez más, hazlo aquí abajo,
moverlo de nuevo. Pero esto es por supuesto todo sólo
cosas que hay que hacer. Y puedes crear tus
propias cosas personalizadas aquí. Una vez que hayas hecho esto, vamos a tener una, bueno, básicamente sin textura
en este momento. Y entonces lo que puedes hacer
es que voy a solo por un momento y eliminaré
esto y luego puedes ver que vas a tener
algo como esto. Y entonces lo que puedes hacer es
presionar Control a, y luego va a
seleccionar todo aquí. Y lo que puedes hacer es entonces
crear una nueva textura aquí. Sólo vamos a
llamar a esto la
armadura de Humboldt extra,
voy a decir confirmar. Y entonces se puede ver que
se ve algo así. Si ahora guardamos esto, así que solo guardaremos esto como
la Textura de Armadura de cobalto. Entonces si en realidad lo echo un
vistazo, se ve así. Por lo que sólo voy
a abrirlo rápidamente para que puedan ver que
se ve así. Y ahora
lo abriré en Photoshop. Ya he preparado aquí un
montón de rumbo suave. Puedes ver,
también puedes abrirlo en pintura, dotnet o GIMP o lo que sea, básicamente creo que tienes. Y lo que entonces puedes hacer es
generalmente lo que quieres
hacer es que puedas igual aquí por ejemplo,
creo que esta debería
ser la cabeza
en realidad, no un 100% cierto,
pero creo que sí. Entonces podemos, por ejemplo,
solo tomar cualquier color aquí. Sólo voy a ponerlo en la misma capa y luego solo vamos
a salvarla de nuevo, que la cosa real cambia
en el propio banco de bloques. Ahora podemos hacer clic con el botón derecho de actualización. Y luego se puede ver, por ejemplo, esta
en realidad era la cabeza. Esto, por supuesto, no
fue lo más interesante, pero básicamente puedes cambiar los componentes individuales de esto son algo como esto. Tal vez vamos a cambiar
algunas cosas como aquí. Por ejemplo. Esto es, quiero decir, no necesariamente diría un proceso
tedioso, pero este es un proceso que
definitivamente va a tomar algún tiempo para que básicamente
hagas esta actualización de nuevo, podemos ver que
pasan por esto dorso de la cabeza en ese caso. También puedes por supuesto,
tomar manualmente cada uno de esos cubos
y ver cuáles son. Pero esta es básicamente la idea. Entonces vas a tener que hacer la armadura la
textura o yo real. Ahora, por supuesto, he
preparado una textura. Este va a ser
éste de aquí mismo. Y en realidad hay
una cosita que queremos hacer y
que va a ser básicamente tomando todos
los no toques y luego simplemente
moviéndolos al fondo aquí, sólo para que básicamente
podamos ver la diferencia aquí porque los reales no nos tocan no se
van a utilizar de todos modos, pero sólo están
ahí para referencia. Básicamente, solo toma esto aquí. Encontré que esta era
la forma más fácil cambiar básicamente
la armadura a su alrededor. Entonces puedes,
por ejemplo, ver aquí, esta armadura en realidad es
un poco demasiado baja. Hay un par de cosas
que son demasiado bajas y
también podemos llevarlas y luego
moverlas, correcto. Para que puedan ver que luego
cambiamos la armadura aquí. Como dije,
no va a ser la armadura más bonita
ni el momento. El real, digamos que el modelo real
aquí es bastante genial, pero la textura definitivamente
podría usar algún trabajo. Admito totalmente que estoy,
estoy absolutamente de acuerdo. Solo quería
mostrarte básicamente la idea general
de cómo funciona esto. Entonces lo que entonces tenemos
es esta armadura de cobalto. Así que voy a guardar
esto, este
archivo de bancada de bloques por supuesto
estará disponible para usted. Vamos a cerrar
el otro aquí. Y entonces lo que puedes hacer
es entonces ir a exportar aquí el modelo gecko
live. Esto va a ser cobalto
subrayado blindado, GO dot JSON. Así que sólo vamos
a salvar esto, anular que el otro. Y luego vamos a inteligente y
vamos a añadirlo ahí. ¿ Qué necesitamos para un cliente? En realidad es
un montón de cosas. En primer lugar,
agreguemos el archivo de modelo en la carpeta geo aquí mismo. Así que sólo vamos a
darle un toque. Ahí vas. Y luego también necesitamos un archivo JSON de
animaciones. Ahora esto va a
ser, ya he preparado esto y es
literalmente igual que esto. No estoy 100% seguro. Simplemente puedes
tomar esto y usarlo. Y debería estar
bastante bien. También necesitamos los modelos ARMA
personalizados, así como la textura. Entonces vamos a sumar
esto en los modelos aquí. Como dije, este es el
que se ve un poco raro, pero no se preocupe en absoluto. Y esto en realidad se va
a llamar la Textura de
Armadura cobalto solo
porque creo que ese nombre es un
poco más bonito. Ve por Armor Texture y
luego los archivos están todos configurados. Ahora, ¿qué necesitamos en cuanto
a qué renderizadores y cosas? Bueno, en la entidad renderizadora sólo
vamos a hacer en el cliente en nuevo
paquete llamado armadura. Y esto va a
incluir dos nuevas clases. Uno de estos, el
modelo de armadura de cobalto y el otro
va a ser el renderizador de armaduras hola
mundo. Ahora antes de que realmente
procedemos con esos, en realidad
necesitamos
una nueva clase de ítem, lo cual es muy interesante. Entonces esto va a estar en
el paquete personalizado. Este va a ser el elemento de armadura de
cobalto. Y luego
lo primero que vamos a hacer es que vamos a tomar todo desde el artículo de armadura mod
y simplemente copiarlo. Así que en realidad voy a sólo
copiar todo por aquí. Así que vamos a hacer esto. Ahí vas. Y luego vamos a
tener algunos errores aquí. No se preocupe, sólo vamos a
hacer esto aquí mismo. Y entonces lo que podemos
hacer es entonces podemos cambiar esto para que sea lo siguiente. Esto ahora va a extender el elemento geo armor y va a implementar
el AI animable, que luego también requiere que implementemos
los dos métodos, el controlador de registro
y ellos obtienen fábrica, pero en realidad sólo va
a mover eso aquí arriba. Simplemente en realidad vamos a
escribirlo aquí abajo. Se adaptarán por debajo del, el constructor. Eso
va a estar bien. Entonces el, también
necesitamos un predicado que ya
he preparado. Esto es lo mismo bastante
sencillo que hemos hecho con
las entidades predicadas, la fábrica animable con
la que también
debemos estar familiarizados. Esto también lo hemos visto
anteriormente. Y por supuesto todo el código
es como siempre disponible en el repositorio de GitHub en
individual igual de bien. El método
del controlador de registro es exactamente
lo mismo que la entidad. Y luego la fábrica
literalmente solo regresa La fábrica aquí. Entonces esta fábrica de cosas,
vamos a hacer esto. Quiero decir, es un
poco más bonito. Ahí vas. Hay una fábrica,
que es ésta. Todavía tenemos toda la funcionalidad que
hacíamos antes. Ahora hay una pequeña cosa que en realidad quiero
cambiarlos entonces es el último método
aquí mismo, la casa correcta. Armadura en te sugiero que
hagas esto también porque lo contrario podrías encontrarte un tema si
tienes una armadura completa, como si llevas la armadura
completa y además tienes un electrón para
que a veces tenga un tema con el otro,
con las cosas viejas. Así que ten en cuenta eso también, pero eso no forma parte
del modelo personalizado. Ahora cualquier elemento de armadura
más clase de artículos, y en realidad queremos
que cambie todos esos
al
objeto de armadura de cobalto aquí mismo. Esto es un poco de
diferencia que antes, pero no se preocupe
ahí, también
hay totalmente bien y
eso debería ser. Por lo que ahora tenemos este
configurado a través, podemos hacer ahora es entrar en el modelo y en realidad
hacer lo siguiente. Esto va a extender
el Modelo Geo animado de tipo o ambos
elemento de armadura. Ahí vas. Vas a pasar el cursor sobre
estos métodos implementados. Entonces vamos a implementar
los tres métodos. Una vez más lo copiaré. Esta es la cepa como
la misma que teníamos en los modelos para el
mapache y el tigre. Se puede ver
más o menos lo mismo. Estamos apuntando
al archivo GeoJSON de armadura de cobalto justo aquí. También estamos apuntando a la armadura
de prueba en este caso. Ahora realmente queremos
cambiar el nombre aquí. Esta es capa de
armadura de subrayado cobalto, en realidad textura. Ahí vas. Textura, ahí vas. Y entonces esta es la animación de
armadura. Esto también está bien. Entonces estas son todas las cosas
que tenemos que hacer aquí. Y luego para el renderizado, va a ser muy similar. Queremos aquí es una vez más, sólo
voy a pie el renderador de armadura
geo, esta vez de tipo objeto de
armadura cobalto así más,
sobre este crear
constructor emparejando super. Y entonces aquí
queremos realmente
deshacernos de este constructor, poner en un nuevo modelo de armadura de cobalto. Entonces también queremos asegurarnos que seleccionamos las cosas correctas, bien por así decirlo. Esto va a ser
muy interesante. Lo que voy a hacer
es que voy a
copiar esto a lo largo de una vez más. Y esto es en realidad debería
ser bastante sencillo. Por lo que ves auriculares
es la cabeza de la armadura. Si volvemos a cambiar
a banco de bloques, se
puede ver
este es éste de aquí mismo. La cabeza de la armadura, la armadura, la armadura
del cuerpo, ¿verdad? Y así sucesivamente y así sucesivamente. Lo que es muy interesante es
que por cualquier razón, el hueso de la pierna en realidad se
cambia por una pierna. No sé por qué.
Por lo que se puede ver que el hueso de la pierna derecha
es en realidad la pierna
izquierda ARMA y luego la bota madura
es en realidad la bota izquierda. No sé por qué
ese es el caso. Simplemente es lo que es. No sé por qué
podría ser ese el caso, pero solo tenlo en cuenta. Entonces si crees que
eso es algo raro, ahí hay un desajuste. Sí. Es básicamente porque por cualquier razón solo
es lo que es. Todavía necesitamos que
este Renderer registre y
lo hacemos en evento R, en los eventos Mode Event Bus. Y eso va a
suceder en un nuevo método que va a ser
éste terminado por el momento. Y este va a ser
el siguiente evento. Esta va a ser la
entidad nos renderé evento, punto añadir capas, el alcance, médico y ser frío evento. Y entonces
lo único que tenemos que hacer aquí es que solo necesitábamos al renderizador de armaduras geo,
registrar armadura nos renderé para la clase de
punto de objeto de armadura de cobalto y luego una nueva armadura de premio
renderizado hace un día. Cosas bastante locas en general. Pero en conjunto, no demasiado loco. Mucha de las mismas
cosas que hicimos en las entidades ya, correcto, con el modelo de armadura, con el modelo y
el archivo renderizador. No es tan loco. El JSON presenta también
bastante sencillo. Éste, como dije,
solo se puede exportar desde el pellizco de bloque. Éste. Yo sólo tomaría el
que he preparado. Quiero decir, tampoco es
tan complicado, pero probablemente deberías
estar bien con eso, como si no fuera tan complicado. Y luego la textura,
solo tienes que hacerte, esa es probablemente la parte más, la
parte que consume más tiempo de todo esto. Y acabo de volver a
Photoshop por solo un segundo. Ahora, llenando todo
como quieras definitivamente
tomar la mayor parte del tiempo en
el que estás
por la armadura personalizada. Pero sí, Eso es más o menos
lo que tienes que
hacer si quieres un modelo ARMA personalizado realmente
genial, solo es lo que es, pero
esos son los pasos necesarios. Entonces, una vez más, eso es
más o menos todo lo que necesitamos. Entonces por el bien de finalización,
veamos si funciona. Muy bien, encontramos consuelo de
nuevo en Minecraft, así que vamos a ponernos la armadura
y ahí nos vamos malditos. Tenemos la armadura en la LAC
también funciona, claro. Y se puede ver funcionando
la armadura. Quiero decir, más o menos como
esperarías que lo hiciera. Como dije, no es la armadura
más bonita en general, pero es funcional y definitivamente
es lo que
puedas decir, definitivamente
es una costumbre. Eso es definitivamente lo recomiendo encarecidamente solo
jugar con ella, estar abierto a la experimentación
para la armadura. Como se puede ver, todo funciona para el balanceo de los brazos y las piernas y
cosas así. Pero es realmente genial. Sí. Quiero decir, eso es
más o menos lo fácil que es agregar la
armadura personalizada al juego. Agregarlo muy sencillo
y bastante fácil, haciendo que parezca
realmente genial, definitivamente mucho más difícil. Siempre, por supuesto,
todo el código y los archivos JSON están disponibles para ti en el repositorio de GitHub
e individual igual de bien. Pero eso sería todo por
esta conferencia aquí mismo. Espero que hayas encontrado esto útil y aprendas algo nuevo. Y te veré en
la próxima conferencia. Sí.
118. (1.18.2): Bienvenido de nuevo a forjar
curso para 118. Y en esta conferencia
vamos a estar agregando unos aldeanos personalizados a Minecraft. Por lo que ahora es el momento de la profesión aldeana
cliente, porque resulta que en realidad es
bastante sencillo. Todas las cosas consideradas. Lo que vamos a hacer es que
vamos a hacer un nuevo paquete en nuestro
paquete del curso MC, viejo aldeano. Y luego dentro de
ahí vamos a hacer una nueva clase de Java
llamada aldeanos del MOD. Ahora en éste me voy
a alejar un poco de mi cosa habitual que vamos a hacer y en realidad
vamos
a sumar para aplazar registros. El primero
va a ser un registro público estático final diferido de tipo juego. Entonces este es el tipo
de punto de interés. Sólo vamos a
llamar a esto el tipo de
punto punto tipo estancia hace igual a registro diferido que crean o a tipos de
registros, curso
AMC moderado
y moderado. Y entonces lo que vamos a
hacer es que vamos a hacer un segundo o tercer
registro que va a ser de profesión
aldeana tipo. Un aldeano subrayan
profesiones. Ahí vas. Y va a haber
un registro diferente, dot create, registros, lunares aldeanos, profesiones de puntos. Ahí vas. Modalidad de
monitor de curso Mc. Y ahora para cuando tenemos
diferentes registros, por
supuesto tenemos un método de registro vacío
estático público con un bus de eventos ojo,
bus de eventos cool. Y luego vamos a
llamar a los tipos de puntos que se registran preguntando
en el bus de eventos. Y luego en segundo lugar, pasamos en
el pueblo o profesiones. Me he registrado
en el bus de eventos, asegurándome de que
llamamos a esto aquí mismo. Vamos a llamarlo permite
las estructuras mod. Por lo que los aldeanos mod dot registran y luego pasan en
el bus de eventos, ahí vas. Muy bonito. Y lo que entonces
necesitamos es por supuesto, objetos de
registro
para el prototipo y las profesiones aldeanas. Entonces vamos a hacer primero
el tipo de punto, este va a ser el
objeto Registro de tipo prototipo. Este va a ser
el punto blaster. Entonces vamos a usar
nuestro bláster de cobalto aquí. Van a haber los
prototipos que se registren. Este va a ser
el punto de explosión. Ahí es cuando lo sostengo. Y luego por supuesto una vez más, proveedor de un nuevo prototipo, llamará a este punto de explosión. Entonces tenemos que teclear
punto, conseguir estado bloqueado, decir bloques mod, dot, dot. Entonces después decimos 11. En realidad echemos un
vistazo a lo que todo esto implica. Paréntesis de cierre. Ahí vas. Y luego vamos a entrar en el prototipo
real aquí. Se pueden ver boletos Max es éste y este
es el rango válido. Por lo que puedes, por ejemplo, echar un vistazo a
esto donde se ha utilizado esto. En realidad veamos,
creo aquí y luego
en el método de registro, es probablemente aquí
donde se ha utilizado. Ahí vas. Por
lo general son todos 11. Hay algún otro, generalmente
el prototipo es 11, por lo que es por eso que usamos 11. Ahí vas. Entonces
vamos por el registro
final estático público, objeto de registro. Esta vez de profesión
aldeana tipo, que va a ser
el maestro de la explosión. Y esto va a ser igual
al registro de
estadística de pueblo o profesión, el maestro de explosiones aquí mismo. Y luego un nuevo
proveedor o un proveedor de un nuevo pueblo o profesión. Esto es una vez más, por supuesto, podría ser el maestro de la
explosión aquí mismo. Permítanme escribir esto correctamente. Esto va a tomar el punto punto
blaster get, y luego va a tomar muy interesante, un conjunto mutable. Y entonces sólo vamos a
decir con nada en ella. Y entonces vamos a
decir otro
set mutable sin nada
en él, en realidad. Y entonces el
último va a ser los eventos sonoros dot. Y entonces sólo cualquier aldeano trabaja. Solo tomemos el mito de
las herramientas por ejemplo, y luego terminemos con un punto y coma. Y luego estamos terminados en el
pueblo de profesional. Podemos ver que el
primer conjunto inmutable son los ítems solicitados, define ítems que abordarán
de esta puede recoger y usar. Y entonces el otro
es el PUI secundario, que es como bloqueos de carretera, ¿está este profesional
interactúa? En nuestro caso,
vamos a tener ninguno de esos son
altamente recomendables. Una vez más, estar abierto a
la experimentación sobre esto, probar algunas cosas y
ver lo que encontrarás. Entonces lo último
que vamos a hacer es que vamos a tener
otro método que va a ser el vacío estático
público, y este va a ser el método
register please. Y esto es
increíblemente importante. Vamos a tener una declaración try and
catch aquí mismo. No escribas este en. El catch uno va
a tener lo siguiente. Va a tener una excepción de
destino de invocación con
esta excepción de acceso legal de una sola
línea recta
llamada excepción E.
Ahí vas. Y entonces esta va a ser
la excepción dot print, stack, trace. Ahí vas. Y lo que tiene en el
trío es lo obvio. Y luego aquí en el intento, vamos a decir método auxiliar de
reflexión de ofuscación. Vamos a hacer la clase
punto tipo punto. El nombre del método va a
ser estados de bloque de registro, y luego una vez más, pasando
en una clase de punto tipo puntero. Entonces después
vamos a decir invocar nulo y el punto
punto blaster get, ahí vas. Ahora esto podría parecer absolutamente loco para
ti, y lo es. Ahora la razón por la
que necesitamos hacer esto es básicamente necesitamos, bueno, tenemos que registrar
los estados de bloque. En realidad podemos
echarle un vistazo como este método aquí mismo. Se puede ver este método de estados
de bloque de registro. Como se puede ver, todos los métodos de bloqueo de
registro Estados son todos privados. Es por eso que tenemos que usar el
ayudante de reflexión de ofuscación en este caso, y entonces podemos llamarlo
realmente. Pero si tienes múltiples puntos, solo
puedes agregar otro
con tu otro punto aquí. Así que solo agrega el otro punto y luego
vas a estar bien. Este método debe
enfriarse en el método de configuración del curso MC
en la configuración común de FMLA. Entonces vamos a decir que los aldeanos mod empiezan a registrar poise
y ahí estamos. Ahora no hemos terminado todavía porque aún
tenemos que añadir en la traducción algunos rasgos
a este aldeano. Y luego también muy importante. El extra, vamos a empezar con la traducción a
la traducción es un bastante sencillo
todas las cosas consideradas. Solo voy a copiar esto y esto
está por supuesto, disponible para ti en el repositorio de GitHub, un
individuo igual de bien. Se puede ver Entidad
micro villager, curso
MC blast master. Y este va a ser el nombre de la entidad real
en la parte superior
cuando abras el inventario o la textura, esto va a
ser muy interesante. Esto está bajo entidad
y voy a hacer un nuevo directorio
llamado aldeano. Y luego voy a copiar
lo que ya
tengo aquí y
te mostraré de dónde sacé esto. Así que esto va a ser el número
uno, el aldeano aquí. No estoy seguro de lo que necesitábamos también
al propio aldeano, pero al parecer todavía
necesitábamos a menos que profesionales, por
supuesto nombrados como éste de
aquí mismo, blast master. Y se puede ver, de
verdad mucho solo agrego recoloreado una
profesión ya existente aquí en este caso, sólo para que tengamos
algo que se ve diferente en ese momento, pero en realidad sí funciona. Y conseguí esto,
por supuesto, una vez más de las bibliotecas externas yendo todo el camino
hasta lo siguiente. Veamos, debería estar aquí
mismo por un
1182 extra o cualquiera que sea su versión
en la carpeta de activos, Minecraft, texturas
en la carpeta de entidad todo el camino hasta el
aldeano aquí mismo. Entonces tenemos al aldeano justo aquí. Este es el aldeano
normal. Entonces aquí esta es
la profesión y yo cogí la armadura, creo.
Sí, ahí tienes. Pero solo grabar la armadura son un poco tan
altamente recomendable, tomar esto, usarla y luego entrenarla
un poco. Entonces lo texturizado aquí
definitivamente va a ser lo único que
podría llevarte bastante tiempo hasta que lo
hagas bien, pero es lo que es. Y entonces los tipos, no
creo que
realmente necesitara que hagas
nada con los tipos, pero lo haces de alguna manera
por cualquier razón, necesitas al aldeano
y a la profesión. No sé por qué
ese es el caso. Al menos eso es lo que mi,
eso es lo que tiene mi prueba. Economía. Entonces cuando se trata de
los rasgos reales, bueno, podemos simplemente
usar nuestro evento de nuevo. Entonces en la clase de eventos de motor en la parte inferior
justo aquí, este, podemos simplemente literalmente usar
esto para nuestro evento también, para nuestros profesionales personalizados. Bueno, entonces más
pobladores que último punto
maestro se ponen y ahora
podemos agregarle cosas también. Por lo que sólo podemos decir
algo como esto donde
solo podemos agregar la lista, solo agrega algunas cosas
aquí para el nivel uno. Y luego solo por el
bien de la discusión, solo
agreguemos aquí un par
de dos nivel dos. Sólo vamos a cambiar
esto al nivel dos. Pero esto va a ser, sólo
vamos a sumar lo
mismo por diferentes
precios porque ¿por qué no? Hagamos esto y
luego vamos a hacer un nivel dos. Vamos a hacer algo así como un 58 como una prueba mucho aquí solo para que
puedas ver que también los puedas sumar. Es todo el mismo cobalto
Paxil básicamente que estamos siendo capaces de comprar aquí. Entonces no va a ser
tan interesante, pero vamos a
probar esto y verás que esto les va a sumar los
oficios también. Entonces supongo que
veamos si funciona oh, justo frente a
nosotros en Minecraft. Así que vamos a engendrar a
un aldeano Y luego vamos a bajar las explosiones de
cobalto o que inmediatamente reconocen como un punto de interés y debe avanzar hacia él y luego conseguir
lo real o supongo que no. Vamos a acercarnos
un poco aquí. Bueno, ahí había un error tipográfico. En realidad es el bloque
cobalto el que es el punto de interés,
pero lo suficientemente justo, supongo. Así que vamos a ponerlo abajo y luego se puede ver ahora
se está moviendo hacia ella. Porque se puede ver que sí tenemos
una flecha y la textura. Vamos a arreglar
eso en un momento. Ver la O, en realidad es
el blaster Moscú. Eso es genial. Pero se puede ver el rastro aquí se han agregado. Yo puedo conseguir esos. Y luego después,
deberíamos poder ver, una vez que en realidad sube de nivel, debería poder conseguir
los otros que van por el nivel dos
y ahí está. Entonces eso definitivamente está funcionando. Así que solo veamos para arreglar la textura real
por un momento. Aquí mismo dice maestro de la explosión. Por supuesto, debería
decir maestros de explosión. Por lo que eso debería casi
arreglar todo el resto aquí. También va a cambiar esto por el bláster de
cobalto aquí mismo. Y luego solo por el bien de la discusión, veamos si funciona. Por ejemplo, de vuelta en
Minecraft una vez más, y sólo vamos a
ponerlo abajo y se van Ahora todo está
funcionando bien si voy aquí y el último
maestro también trabajando para que todo como tú
esperar que lo haga. Entonces eso es lo fácil que es agregar un pueblo o
profesión personalizada, Minecraft, ¿verdad? Una vez más, por supuesto
todo el código estará disponible para ti en el repositorio de GitHub e
individual igual de bien, pero eso sería todo para
esta conferencia aquí mismo. Espero que hayas encontrado esto útil y aprendas algo nuevo. Y te veré en
la próxima conferencia.
119. (1.18.2) Entidades: Muy bien, bienvenidos de nuevo
al curso de forja para 118. Y en esta conferencia
vamos a estar mirando entidades de bebés. Sí, entonces vamos a agregar la entidad
bebé a nuestro tigre. Y una vez más, esta es una
de esas cosas que
en realidad es mucho
más fácil de lo que cabría esperar. También fui un poco
más complicado, pero en realidad no es
complicado en absoluto. Dentro de nuestra raza
descendencia aquí mismo, lo que queremos hacer es que queremos
decir tipos de entidad mod, no un tigre que consigue que crea y luego pase
al nivel del servidor. Este es este
parámetro aquí mismo. Sólo voy a hacer click en él, presionar Shift F6 para
cambiarlo a nivel de servidor solo para que
sepamos lo que estamos
pasando aquí y luego
lo estamos pasando aquí mismo. Este es el número uno
que tenemos que hacer. Número dos, necesitamos anular un determinado método y
ese es el método alimenticio. En lugar de aquí, básicamente estamos comprobando si esta pila es o
no el alimento que esta
entidad en particular se puede criar ancho. En este caso, vamos a
decir p dot get item, y voy a decir que es
igual a los ítems dot beef. Básicamente quiero que haga clic derecho la entidad tigre con carne
de res de lo que está lista para respirar. Esa es la idea aquí.
Entonces necesitamos un nuevo objetivo. Por lo que sólo voy a copiar
sobre el asentamiento o meta y este va a
ser el objetivo de la raza, también
va a tomar en un modificador de una
velocidad justo aquí. Así que sólo vamos
a tener la misma velocidad y acabo de ponerlo aquí bajo el en la
prioridad tres. Creo que, eso
debería ser bastante sencillo entropía multa. Ahora estas son en realidad
todas las cosas que
tenemos que hacer en la entidad tigre. Hay una cosa más que
tenemos que hacer en el renderer, y esa va a
ser la escala aquí. Entonces esta es por supuesto la
escala del modelo real. Y lo que podemos hacer
es que podamos decir si animable, eso es bebé, y vamos a escalar
un diferente de solo presionar Control X para cortarlo y luego
pegarlo de nuevo. Y entonces aquí mismo,
vamos a hacer esto. Entonces aquí estamos cuando no
es un bebé, y luego aquí
estamos si es un bebé, así que sólo vamos
a poner eso a mitad y luego eso es todo. Y esto debe ser
todo lo que tenemos que
hacer para tener el tiempo
el trabajo del bebé. Hay algunas cosas
interesantes. Por ejemplo, una vez
que en realidad tenemos los equipos tigres y luego
le damos un clic derecho con
el alimento aquí mismo. Entonces aún nos gusta
ir a ella para escribirlo. Entonces hay un
poco de rariedad aquí, pero eso debería
ser bastante trivial para arreglarlo aquí mismo,
básicamente para comprobar,
hey, como jugador haga clic derecho
con una carne de res y luego no
deberíamos ni siquiera empezar a escribirlo. Eso debería ser bastante
sencillo de arreglar. Pero por el bien de terminación, veamos si
funciona o nos encuentra en micro. Entonces respondamos a los tigres y veamos,
haga clic derecho, haga clic derecho. Ahí vamos. Y luego en cuanto se
encuentren, sí, no. Ok. Ahí vas. Había un ahí está el bebé tigre también o
trabajando absolutamente bien. Ahora en realidad toma
bastante tiempo para que crezcan. Lo he probado
y van a crecer. Simplemente lleva mucho tiempo. Esto creo que está codificado
en la clase animal, pero en realidad podemos
comprobarlo en un momento. Pero sí, así es
más o menos como haces eso. Y entonces éste,
por supuesto, no podemos reproducirse. Ahora un pensar que sólo lo suficiente
deberíamos poder
posiblemente escribirlo. Quiero decir, está bien. Eso es como que probablemente
debería haber
un cheque para eso. Pero honestamente, eso son entidades de
bebés. Muy autoexplicativo. En realidad no tan difícil. Realmente pensé que
serían más difíciles, pero en realidad son bastante
sencillos, ¿verdad? Así que solo una
vez más si realmente echas un
vistazo a este botón
central del ratón,
haz clic en este ratón medio, haz clic
con el botón derecho sobre esto. Ves, este es el animal, y éste tiene una especie de
todas las cosas diferentes
para la cría en él. Para que puedas ver que tiene, tiene un montón de cosas. Tienes la vela y
me encantó el set y el amor eso. Me encanta el tiempo conseguir suficiente tiempo, conseguir amor curso está enamorado, restablecer, el amor puede cumplir. Esas son una especie de las cosas. Quiero decir, aquí se puede
ver al niño desova método
de cría, que básicamente patrocinan
al niño real. puede ver que se
habilita móvil desde el, se lee descendencia aquí. Entonces eso debería ser lo
que debes echar un vistazo si hay
algo que quisieras anular posiblemente. Así que sí, eso es más o menos lo que necesitas tal vez
en la fregona de escombros. Sí. Para que puedas ver
bebés empiezan h, Esta es la h almacenada aquí. Por lo que probablemente puedas cambiar esto también dentro de
tu entidad tigre. En ese caso, si
quieres, tal vez el tigre crezca
un poco más rápido, eso podría hacerse también. Pero sí, eso es
más o menos lo fácil que es
agregar entidades para bebés a tus turbas. Es mucho
más sencillo de lo que pensaba, pero eso ya sería
por esta conferencia aquí mismo. Espero que te haya parecido útil esto y aprendas algo nuevo. Y te veré en
las próximas conferencias.
120. (1.18.2) Geodas personalizadas: Muy bien, bienvenidos de nuevo
al curso forestal para 118. Y en esta conferencia
vamos a estar echando un
vistazo a cómo se pueden
agregar geocódigos personalizados
a un Minecraft. Ahora, esto es en realidad bastante
sencillo para agregar y solo vamos
a echarle un vistazo. Entonces en el paquete mundial,
en el paquete de características, las características mod configuradas
es donde agregaremos la geoda y copiaré
sobre todo el titular. Y luego
vamos a
echar un vistazo básicamente a cada una de
esas líneas y lo significan y la
locura que se asocia con
ella porque es una cosa bastante larga, pero no se preocupe en absoluto. Pueden ver que en realidad es
hacer una nueva línea aquí también. Y se puede ver que es bastante
el campo largo en este caso, pero no se preocupe en absoluto. Entonces por supuesto, una vez más,
estamos utilizando la característica utils dot register para registrar una característica
de geoda en este caso. Y entonces tenemos que hacer una
nueva configuración de geoda. Esta también es una gran clase
a la que básicamente echar un vistazo. Entonces si hacemos clic en
el botón central del ratón sobre esto, realidad se
puede ver lo que significan
cada una de estas
cosas, ¿verdad? Tenemos la configuración de bloques, tenemos la capa,
la configuración correcta, tenemos posibilidad potencial de
colocación, y todas esas cosas locas que básicamente podemos
añadir aquí. Lo que es muy interesante
en este caso es en realidad también va a ser la configuración de
bloques de geoda aquí. Entonces esto es básicamente todo lo
seleccionado aquí mismo. Y esas son en realidad
muy interesantes porque aquí se puede ver de
qué
se hacen básicamente las capas particulares de
riqueza . Por lo que se puede ver que el
proveedor de llenado va a ser aire que debe ser
bastante autoexplicativo. Entonces el G o dentro de
ella, todo es aire. Si no quieres que sea aire, también
puedes cambiar
algo más, ¿verdad? Para que puedas cambiar esta caja justo aquí por otra
persona, ¿verdad? Si tienes un
bloque diferente que quieres que esto se llene de hindú. Por lo que eso es realmente genial y
te permite básicamente modificar y configurar casi
cualquier cosa que quisieras, lo cual me parece realmente cool. Entonces esta es
más o menos la idea, ¿verdad? Entonces esto es una vez más, una de esas cosas
donde solo
recomiendo encarecidamente solo jugar por ahí
con los diferentes bloques, los diferentes números,
especialmente también. Es lo mejor
que puedes hacer. Simplemente prueba alrededor de algunas cosas, mira hasta que
básicamente puedas encontrar un GO que te guste en términos
de lo agrietada que está, justo con la
configuración correcta, por ejemplo, esto solo significa si hay o
no algunos lado a ella que se expone e
inmediatamente pueden entrar en
cosas así. Simplemente recomiendo encarecidamente
echar un vistazo a esto, jugar con
los números aquí. Y entonces ojalá
vayas a crear una geoda de tus
sueños, por así decirlo. Ahora lo que quiero hacer es que quiero
reemplazar la
pizarra profunda aquí mismo. Vamos a reemplazar esto por suciedad. Y digamos aquí mismo, sólo
hagamos esmeralda. Seguro. ¿Por qué no? acaso, básicamente
quiero echar un
vistazo a cómo esto afecta a
la configuración del blog geo. Y entonces se puede
ver dónde se colocan
básicamente todos estos bloques diferentes, ¿verdad? Entonces la más importante es en realidad esta lista de aquí. Debido a que esta lista suele escribir, esta lista es en realidad
las colocaciones internas y las colocaciones internas o
los cristales de amatista. Por lo que estas listas básicamente
incluirían estos cristales de amatista. Entonces lo que básicamente podemos
echar un vistazo, por
ejemplo, es otra
característica, la geoda. Así que vamos a sólo el botón central
del ratón, haga
clic en esto, medio
un anuncio, haga clic en esto y se puede ver
la amatista GO aquí mismo. Si sólo vamos todo el camino
a la, ahí vas. Por lo que ahí se puede ver
la amatista en ciernes. Y esto también se hace
en la lista aquí mismo. Por lo que se puede ver racimo de amatista, en donde se puede ver aquí tenemos el pequeño brote amatista
medio MF es cogollos. Por lo que esta es una lista de los posibles brotes de amatista en
racimo de amatista que podrían ser capaces de desovar. Esa es la idea general
de esta lista de aquí. Así que acabo de usar el bloque
cobalto en este caso, pero puedes por supuesto, hacer el tuyo propio, agrupar el tuyo. Pero básicamente y luego
cisne eso también. Ahora eso está todo bien y bien, pero ¿qué hacemos con
esta característica configurada? Bueno, entramos en cuanto más, entramos en la clase de
características del marketplace una vez más, y sólo vamos a hacerlo, y sólo voy a copiar
sobre el titular una vez más, esto está todo disponible para ti en el repositorio de GitHub e
individual igual de bien. Y se puede ver que esta es
la geoda cobalto colocada. Por supuesto, estamos tomando
la geoda cobalto
de la que acabamos de
crear básicamente, entonces estamos haciendo un filtro de
rareza en promedio cada, cada 50 trozos. El spread N-cuadrado es sólo
algo que he tomado más
o menos de la geoda de
vainilla también. Y luego se puede ver, estamos básicamente esta mañana por encima seis y todo el camino hasta 50. Una vez más, recomendamos encarecidamente
jugar alrededor con los anclajes verticales
por encima de
abajo, abajo abajo,
absoluto, todo eso. Simplemente pruébalo y mira
lo que básicamente puedes ver hasta que se coloca de la manera
que quieres escribir. Entonces esto es más o menos eso. Y entonces solo tenemos que
entrar en nuestra más o generación. Entonces en lugar de llamar
al cobalto o colocado, se quiere llamar a la geoda
cobalto colocada. Esas son en realidad todas
las cosas que necesitamos para agregar nuestra geoda personalizada
aquí en este caso. Entonces hagamos un mundo nuevo
y veamos si funciona. O nos encontramos
en Minecraft. Y como se puede ver, ya
he encontrado una pequeña geoda agradable, para que puedan ver cuáles son básicamente los
diferentes bloques. Entonces, en primer lugar, por supuesto,
el interior de la misma está bien básicamente lleno de aire al
igual que lo especificado en
el mismo principio. Y entonces se puede ver, y
luego se pueden ver los bloques aquí básicamente serían las amatistas en
ciernes, ¿verdad? En tanto que el caballo
serían los bloques de donde crecía
el MSS. Esa es la idea general. También se puede ver dónde
se coloca la suciedad. Una esmeralda, ¿o dónde está esto? Bueno, si en realidad salimos de aquí de lo que
deberíamos poder encontrar alguna esmeralda o posiblemente por
el otro es para que puedan
ver los bloques de amro en realidad. Entonces esto es todo el camino hacia aquí donde la geoda
real mancha. Por lo que se puede ver que
el tamaño
real del geoide es bastante
más grande. Y C, ahí vas. Por lo que recomendamos encarecidamente tal vez no cambiar esto a auras esmeralda, sino bloques esmeralda en este caso. Entonces eso es bastante loco. Pero sí, esas son
básicamente las ideas de lo que hacen todos estos bloques
diferentes. Y entonces solo es cuestión de
jugar un poco con
ellos en tu propio tiempo y
probar algunos
valores diferentes, ¿verdad? Pero eso ya sería
por esta conferencia aquí mismo. Ojalá te pareciera útil esto
y las alertas de que lo Nuevo, y te veré en
la próxima conferencia. Entonces, sí.
121. (1.18.2) Bloque que interactúa con Redstone: Muy bien, bienvenidos de nuevo
al curso de forja para 118. En esta conferencia, vamos a estar echando un breve vistazo a cómo puedes hacer que tus bloques
interactúen con una Redstone. Pero esto era
algo que algunas personas realmente
querían echar un
vistazo y no
estaban muy seguros de cómo. Entonces. Echemos un vistazo a nuestra clase de bloque de
clientes, principalmente el bloque de lámpara de cobalto. Entonces en lugar de hacerlo para
que puedas hacer clic derecho para básicamente encender y apagar
esto. Lo que vamos a hacer es que
sólo vamos a comprobar si se
aplica o no una señal de Redstone a este bloque. Ahora, una vez más, por supuesto, nuestro mejor amigo aquí son
las bibliotecas externas, principalmente el código
fuente de Minecraft. Entonces si en realidad presionamos turno dos veces y luego echamos un
vistazo a la lámpara redstone. Esta va a ser
la lámpara redstone, asegurándose de que incluya
no proyectos esté ticticked. Se puede ver este de aquí mismo, su propio bloque de lemma,
entonces podemos más o menos, y esto es locura, en realidad
copiar sobre la mayor parte de esto, la
mayor parte de ella que está
escrito aquí. Por lo que queríamos el método
tick y
también el vecino
cambia métodos. Entonces esos dos son básicamente los
únicos métodos que necesitamos. Entonces vamos a
copiar sobre esos dos del bloque de lampara
redstone. Todo el código es por supuesto también va a estar disponible en el repositorio e
individual igual de bien. Y sólo tenemos que
cambiar la tapa por aquí básicamente para cobrar porque lo
llamamos hace clic que ellos. Y eso debería estar bien. Pero podemos cambiar esto aquí
a este año también. Este año también. Y luego aquí
también, allá vamos. Apenas agreguemos
aquí una anulación de agregar solo para que
estemos, sabemos que hemos sobrescrito esos métodos por si acaso,
y eso debería estar bien. Ahora, en realidad no quiero
que nada cambie por aquí, así que sólo vamos
a comentar esto. Eso también debería estar bien. Y ahora esto es en realidad
casi todo lo que tenemos que
hacer en este caso. Entonces, ¿qué hace esto
realmente? ¿Verdad? Entonces porque podrías ser
como, eso es un poco raro. Bueno, en primer lugar,
el vecino cambió método será bastante
autoexplicativo. Esto se llama cada
vez que cambia un vecino de este
bloque en particular. Lo que entonces hace
es que dice, oye, igual que cualquier vecino tiene
una señal por aquí, ¿verdad? Entonces va a decir básicamente, va a conseguir, en primer lugar, el valor de Clicked. Eso es justo,
bastante justo. Esto es cierto. Por lo que actualmente estamos en, correcto. Entonces estamos básicamente queremos
comprobar, oye, es el, también, no tenemos señal de
vecino si estamos encendidos? Porque entonces lo que queremos
hacer es que queremos apagar esta roca en particular
como idea general. Esto es un poco más complicado en la forma en que
esto está básicamente enunciado. Pero esa es la idea general. El tick programado más o
menos justo, bien programa una garrapata si en realidad
entramos en esto. Y esto es un
poco difícil de leer con los parámetros no del mapa. La idea general es solo que básicamente
estamos programando una garrapata y luego se llama al
método tick por aquí. Método de tick aquí en
este caso, una vez más, comprueba si el nuestro
propio o
no y si el vecino no está encendido, si no hay señal en el vecino, si
ese es el caso, más estableciendo
este bloque a ser, y en realidad estamos en bicicleta
a través de lo vinculado aquí mismo. Por lo que en realidad podemos
echar un vistazo a lo que la colección ciclista by
Nixon, lo que esto más o menos sólo hace es que invierte el clicked. Entonces es lo mismo que
hicimos aquí mismo con el estado actual y luego negándolo, es lo
mismo. Sólo estamos en bicicleta a través de ella. Entonces eso es todo lo que estamos haciendo. En este caso, casi no hay cambio
en el código de vainilla. En este caso, solo
cambiando la iluminada básicamente dos hicieron clic
en este caso. Y eso es más o menos. También queremos hacer
es que quería agregar el siguiente sistema fuera línea de
impresión sólo para
que podamos ver esto. Entonces podemos decir por aquí, digamos eso
para decir powered by. Y entonces vamos a decir, cuando diga nivel P, consiga una mejor señal de vecino. Ves, sólo estamos pasando
en la posición de nuevo. Pero, ¿cuál es el mejor vecino? Siegel? ¿ Cuál es la mejor señal de vecino? Bueno, la mejor señal de
vecinos es simplemente
de todos sus vecinos, que tiene la señal más fuerte. Y simplemente vamos a
emitir básicamente la señal real de
ese vecino en particular. Entonces este es un entero. puede ver donde es 15 es la fuerza de señal más alta
que redstone puede tener. Entonces si alguno de los
vecinos tiene 15, entonces vamos a la salida 15. Si hay una señal más débil, vamos a emitir eso. Entrémonos al juego y veamos qué hace realmente esto. O Francia o en Minecraft. Y ya la he
bajado una lámpara de cobalto. Vamos a probar un nivel. En primer lugar, ahí vas. Puedo encenderlo y apagarlo, para que eso funcione. Y también puedo ponerle
redstone. Y esto también funciona. Si ahora hago clic derecho en él
y te muestro inteligente, puedes ver powered by 14. ¿ Por qué es 14? Bueno, claro,
porque esto sería 15 de fuerza y esto
sería 14 de fuerza. Por ahora,
enciende este también, ¿verdad? Entonces la palanca entonces en C, ahora es accionado por. Entonces eso es más o menos
todo lo que hay a ella. Esto es básicamente
cómo se podría cambiar una propiedad
estatal de bloque particular al aplicarle Redstone. Y esto es más o menos
todo lo que
necesitas si entonces quieres alguna
funcionalidad especial hacia ella, bueno entonces necesitas
por supuesto, tomar esos bloques, digamos propiedades, por ejemplo, que cambian y hacen
algo con ellos. Pero eso es
más o menos todo lo posible. Eso es lo fácil que es
agregar un bloque con alguna
funcionalidad redstone del juego. Como siempre, todo el
código está disponible en el
repositorio just y el GitHub también. Y los veré a todos en la
próxima conferencia aunque. Sí.
122. (1.18.2) Renderizador de entidades de bloque personalizado: Muy bien, bienvenidos de nuevo
al curso de forja para 118. Y en esta conferencia
vamos a estar echando un
vistazo a la entidad de bloque nos renderé. Bueno, este es un tema muy
interesante que básicamente te permite renderizar algunas cosas
personalizadas en tus
entidades de bloque básicamente, ahora lo que haremos
es importar un modelo
de bloque personalizado desde un banco de bloques. Por lo que ya he preparado esto. Se llama pedestal. Y lo que será
capaz de hacer es que podremos hacer
clic derecho con un artículo y luego el artículo flotará
sobre el pedestal. Esa es la idea general de
este ejemplo particular aquí. Y va a ser realmente,
realmente alucinante impresionante. El archivo de bancada de bloques también estará disponible
por supuesto. Y cuando tengas esto, lo que
quieres hacer es que quieras ir a archivar y exportar el modelo de
elemento de bloque aquí mismo. Sólo vamos a
exportarlo pedestal que Jason. Muy bien, eso va a estar bien.
Y entonces podemos proceder. Por lo que por supuesto
va a haber nuestro archivo JSON modelo de
bloque. Pero antes que nada,
vamos a crear un bloque, la entidad de bloque y toda la locura que
conlleva ahí. Empecemos con la clase de bloque
real. Entonces vamos a
hacer clic derecho en nueva clase Java en nuestro paquete de blog personalizado. Y este va a ser
el bloque de pedestal hace un. Ahora esto extenderá la clase de bloque de
entidad base aquí mismo. Pasará el cursor sobre este
Implementar Métodos, el nuevo método de entidad. Y luego volveremos a pasar el cursor, crear constructor
que coincida super. Si el parámetro
aquí te molesta, Shift F6 para cambiarlo a propiedades y entonces
todo debería estar bien. Ahora lo primero que
quiero hacer es que quiero hacer un error deliberado
aquí mismo para que no nos
olvidemos de cambiar esto
después de que hayamos creado la entidad de bloque porque
eso a veces sucede. Y lo que
también voy a hacer es copiar el resto
del código aquí mismo. Entonces esto no es demasiado loco. Entonces podría parecer mucho, pero en
realidad no es demasiado loco. También nos da un error
aquí porque no
tenemos el
crédito de entidad de bloque, pero eso está bien. Lo primero
que es increíblemente importante a medida que consiguen el método de la
vergüenza de renderizado y todo el código aquí es
por supuesto también valioso. Consigue un pastor en
individuo igual de bien. Entonces no se preocupe ahí. Pero el método en forma de retina
es el más importante, lo contrario, tu bloque
será invisible. Entonces eso es muy importante. Utilizaron método por supuesto,
es el método que es,
que se llama cuando haces clic con el botón derecho
en este bloque en particular. Y lo que pasa aquí es que básicamente
solo estamos comprobando, oye, ¿hay algo
dentro de este inventario? Si está vacío, entonces sólo
estamos tomando el artículo en que está en la mano del jugador y lo estamos agregando al inventario aquí. Entonces pedestal a elemento jugador, copiándolo,
disminuyéndolo. También estamos recibiendo la
reproducción del
sonido pick-up del artículo porque eso es sólo
un poco más agradable aquí. Y luego si el
pedestal no está vacío, entonces básicamente estamos
desove el artículo del pedestal y eliminándolo también
del pedestal. Pero esos son solo tres pequeños
métodos de ayuda privada en este caso, y el resto sucede
en los métodos utilizados. Entonces, en general, la funcionalidad
real aquí no es tan loca,
todas las cosas consideradas. Ahora por supuesto, todavía
necesitamos la entidad de bloque, así que en realidad consigamos también
la entidad del libro. Entonces hagamos una nueva clase
y el paquete de entidad, esta va a ser la entidad de bloqueo de
pedestal. Y primero que nada,
importante aquí mismo. Entonces ahí vas. Simplemente podemos importar esto. Y entonces vamos a
estar bien solo un segundo. Este error desaparecerá una vez que en
realidad implementemos todo aquí. Entonces, ¿qué necesitamos aquí?
Bueno, en primer lugar, por
supuesto esto necesita ampliar
la clase de entidad de bloque. No debería estar demasiado loco. Y vamos a crear el
constructor emparejando super. Y entonces la pregunta es,
bueno, ¿qué necesitamos? Bueno, en realidad necesitamos
bastantes cosas. Una vez más,
los copiaré, pero no se preocupe. Todo esto está disponible en el repositorio de GitHub e
individual igual de bien. Ahora, estos dos no
deberían estar locos. Esto lo hemos visto en las blastos acordes o entidad de
bloque también. Apenas el
manejador de pila de artículos aquí, básicamente nuestro inventario de
esta entidad rock en particular. Y luego también necesitamos el láser opcional para que lo pongamos a
disposición a través de las
capacidades también. Entonces vamos a copiar algunos métodos de
ayuda por aquí ya que lo que encontrarás es que también tenemos una rotación por aquí. Ahora, ¿por qué tenemos la
rotación por aquí? Bueno, porque lo que
queremos hacer es que queremos que cada una de las diferentes entidades de bloque
cuando el ítem esté ahí, básicamente
queremos que gire. Y la rotación
aquí en este caso
realmente se guarda en
la entidad de bloque. Tenemos que guardarlo aquí mismo, porque si lo guardamos
en el renderizador de entidad, eso no funciona porque cada entidad de bloque básicamente
comparte un renderizador. Y luego cada entidad de bloque
que añadas solo hace que el, bueno, hace que
básicamente gire más rápido. Entonces cada entidad de bloque necesita su propia rotación, pero
eso está bien, ¿verdad? No hemos sumado
rotación por aquí. Acabaríamos de añadir una rotación
cuando llegue a 360, entonces solo lo estamos
restableciendo a 0. Si es menos de 0, solo lo
estamos agregando. Así que básicamente solo lo estamos
girando alrededor. Esa es la
idea general. Y luego aquí tenemos un método get rotation, pero nada demasiado loco. Entonces agreguemos la capacidad
así como los métodos de guardar
y cargar. Pero una vez más, esos tampoco
deberían estar locos. Obtienes capacidad que hemos visto en la entidad personalizada, así
como los métodos
adicionales y bajos seguros para la etiqueta donde acabamos de
guardar el inventario. Entonces, cuando dejamos el
mundo y volvemos a entrar, el inventario real todavía
se guarda, ¿verdad? Y luego los últimos métodos
que también necesitamos aquí son el
método drops, ¿verdad? Entonces estos son solo los métodos
para que las cosas realmente caigan. Por lo que queremos implementar eso en el bloque en tan solo un momento. Y luego también tenemos el método
invalidar caps,
el método onload
que sí obtuvimos el método paquetes de
actualización y
obtienen el método de etiqueta actualizado. Ahora estos dos son importantes para invalidar
los campamentos y luego descargar para que el manejador de artículos
real se inicialice adecuadamente
y todo eso. Ahora, estos dos son importantes porque de lo contrario podría haber un problema de sincronización entre el servidor y el cliente. Es por ello que necesitamos
ambos. Y básicamente queremos
conseguir el impuesto de actualización. Por lo que queremos conseguir una etiqueta por aquí y luego
cargarla y luego devolverla. Entonces esto Bueno, no es demasiado loco, pero solo sepan que necesitamos esto. De lo contrario el cliente
y el servidor no
se hundirán correctamente, y luego se guardará el
artículo real, pero no va
a ser para dividir. Es por eso que necesitamos
ambos métodos también, ¿verdad? Entonces vamos a ir al bloque
por un momento y vamos a sumar, se
puede ver la flecha
aquí desaparece. Y también agregaré aquí el método
onRemove que llama al método drops que acabamos de
implementar por aquí. Entonces, en teoría, ni siquiera necesitamos hacer un for-loop, pero
esto va a estar bien. Va a estar bien. Este es el mismo
método de gotas que tenemos en los cloroplastos
o entidad de bloque. Y eso es en realidad todo lo que necesitamos dentro de la entidad de bloque. En general, no es demasiado loco y no es
demasiado complicado. Básicamente sólo algunas
de las cosas que necesitamos para guardar los datos allí. Entonces, en realidad vamos a entrar en la clase de entidades de bloque mod
y vamos a registrarla. Pero sólo vamos a,
tomemos la última fila cooperativa. Sólo vamos a
copiar esto a
la
entidad de bloque de tienda de cabecera de aquí. Este también va a ser
el pedestal. Pedestal. Ahí vas. Entonces por supuesto,
cambiando el nombre aquí, muy importante en
efecto, de lo que necesitamos que
ésta sea la entidad de bloque
pedestal. Y este tiene que ser el pedestal que
aún no se implementa,
pero eso está bien. Ahora vamos también a
entrar en la entidad de
bloque pedestal una vez más. Porque por supuesto que sí necesitamos
cambiar el constructor
por aquí. De lo contrario no
va a funcionar. Entonces vamos a querer verlo,
pero mira, entidades que,
eso aún no es conseguir el ego y ahora las
entidades de bloque deberían estar bien. Ahora necesitamos registrar
el libro real. Eso va a estar bien
que va a estar en nuestra clase de blog,
más clase de bloques aquí mismo. Vámonos al
fondo por aquí. Copia sobre la ventana de invierno. En este caso, este
va a ser el pedestal y por supuesto
nombre también, pedestal. Y este va a
ser el pedestal. Suerte. Ahora esto está protegido, por lo que necesitamos cambiar
esto a un público. Ahí vas. Y entonces podemos hacer esto también. Ahí vas. Totalmente bien. Esto se va a copiar. Qué tal tal esto en realidad
no va a copiar sobre ¿Qué tal esto va a
tomar un material esa piedra, creo que eso haría la
piedra material más sentido El hace. Y se va a agregar
a nuestra pestaña Creativa personalizada. Eso está bien. Entonces podemos volver al bloque de pedestal una
vez más y llamar a
entidades de bloque mod que pedestal dot, dot crean, pasando en la posición y el
estado por aquí. Y el bloque
debe hacerse también. Y entonces las entidades de
bloque de modo, esta ahora tampoco es un error y todo
debería funcionar bien. Eso es absolutamente genial, pero aún no tenemos
la exhibición de nuestro mundo. No tenemos un renderizador de
entidad de bloque de clientes básicamente. Bueno, vamos en nuestro paquete de
entidades, hagamos un nuevo paquete
llamado cliente. Y luego en lugar de
ahí, vamos a hacer una nueva clase Java llamada bloque
pedestal, bloque tienda de
encabezado
y renderizador de entidades. Y esto va a extender
el renderizador de entidades de libros, éste de aquí mismo de
tipo pedestal entidad a granel. Pasemos el cursor sobre esto,
Implementar métodos, el método render en este caso. Y entonces también
en realidad queremos cambiar esto a implementos
en lugar de extiende. En realidad ese es un buen punto porque esto es
en realidad una interfaz. También necesitamos una entidad de bloque de
pedestal público Renderer con un bloque, con una entidad de libro
renderizado proveedor. Éste de aquí mismo, ese
contexto o contextos, y este va a ser nuestro
constructor en este caso. Ahora, una vez más copiaré sobre el contenido
del método render. Una vez más, todo
esto está disponible para usted y esto debe conseguir, esto debería ser bastante sencillo, todas
las cosas consideradas. Entonces, en primer lugar,
básicamente estamos obteniendo el renderador de artículos
aquí mismo desde el propio Minecraft. Y luego
diremos, está bien, dame la pila que está
dentro de aquí, y luego haremos un
montón de locura. La idea general es que
la pila de aquí más menos hace el
renderizado, en términos generales. Y lo que estamos haciendo
básicamente es que solo estamos haciendo que la pila real se
mueva hacia arriba y hacia abajo. Entonces esto va a ser R,
Este va a ser el ítem. Lo vamos a hacer arriba y abajo. Lo vamos a escalar
al tamaño por aquí. Y luego también vamos a
conseguir una rotación. Por lo que esto es solo girar
el elemento alrededor del eje y. Eso es más o menos todas
estas tres cosas que
no las hagan hará renderizar
el elemento real aquí, y luego tenemos que
hacer estallar la pila nuevo, y luego
deberíamos estar bien. Entonces básicamente agregamos una
rotación negativa para que cada
vez que esto se
llame básicamente cada garrapata o así, en
términos generales, ¿verdad? Entonces cada vez que se llama a
esto, básicamente
giramos
alrededor por menos un grado para que
sea una rotación suave. Una vez que realmente veas esto no
debería estar demasiado loco, no
deberías ser
demasiado complicado. Todas las cosas consideradas
en realidad es bastante sencillo. Ahora el
renderizador de entidades de bloque en realidad tiene
que agregarse a un determinado evento. Y para eso realmente
necesitamos una nueva clase. Este va a ser
los eventos mod de cliente, y voy a copiar esto a
lo largo de una vez más. Pero una vez más, esto es
en realidad muy sencillo. Ellos ven que necesita el suscriptor de bus de eventos de
modo add en la parte superior de la clase son importantes que
se trata de las barras de mortero
así como el valor
dist dot cliente. Esto es extremadamente importante, lo contrario
no funcionará adecuadamente. Entonces, por supuesto, necesitas un método estático
público con un
atributo de proveedor de suscriptor aquí encima de él. Y necesitamos los renderizadores de
entidad, renderizadores de registro de
eventos. Después acabamos de registrar la entidad de
bloque Renderer con la entidad de bloque pedestal y el renderizador de
entidad de bloque de pedestal. Eso es todo lo que tenemos que hacer. Y ahora el render real está
registrado correctamente también. Lo último que
ahora necesitamos son sólo dos. Añadir los archivos JSON. Se puede ver que
no hemos agregado ninguna pantalla ni ningún menú porque
en este caso, nuestra entidad de libros en realidad
no tiene pantalla ni menú. Vamos a copiar
sobre el pedestal Jason por aquí, no
debería estar demasiado loco. El estado de bloqueo es Jason
bastante autoexplicativo? Igual con la traducción
de este punto. Estas cosas deberían ser, quiero decir, en este punto no debería ser
ni siquiera una pregunta aquí. Esto es sólo una cosa muy
directa. Vamos a sumar esto. Agreguemos el archivo JSON del
modelo de bloque. Entonces este va a
ser el que
realmente hemos tomado de
una bancada de cuadras. Así que vamos a copiar esto también y luego ver lo que
necesitamos cambiar aquí es la piedra lisa
porque esto está bajo bloque de barra de
Minecraft
está bajo microbloque. Así que asegúrate de cambiar
esto en ambos. Y luego el archivo JSON
modelo de elemento también
es bastante sencillo. Esto es simplemente
básicamente una vez más, apunta de nuevo al archivo de Jason modelo de
bloque, y eso es más o menos todo. No se necesita textura en este caso porque en realidad
estamos tomando las texturas de Minecraft piedra
lisa para eso es, eso debería estar bien también. Entonces esos son todos los
pasos que tenemos que
hacer para conseguir que nuestra entidad personalizada por aquí y tenerla básicamente con una entidad de
bloque especial renderizadora. Así que vayamos al mundo
y veamos si funciona. Muy bien, fantasear en Minecraft de
nuevo y se puede ver el pedestal se ha agregado
con éxito al juego. Así que vamos a
bajar algunos de ellos y veamos
qué podemos ver. Entonces si hago clic derecho en esto, no
deberíamos tener el cobalto. cobalto aparece aquí mismo en el pedestal y uno de ellos debería estar desapareciendo
de mi inventario. Y eso es exactamente
lo que pasa. Hagamos
lo mismo por todos ellos. Hace sin embargo,
a veces podrías obtener esas extrañas
flechas de renderizado aquí mismo. Entonces esto es algo
que no estoy 100% seguro de por qué
ese podría ser el caso. Entonces creo que
tiene algo que ver con
las sombras y esas cosas. Entonces veamos solo si esto
podría cambiar por sí mismo. Si hago esto. Pero esto no lo cambia. Pero como ya he dicho, ahí, a veces es un poco difícil al lado de él
con una representación. Y seré honesto, no soy como otro experto en renderizado. El renderizado es en realidad una
de esas cosas donde, um, digamos que, eso es, no
diría mi
peor pesadilla, pero definitivamente no es una cosa que me guste particularmente. Entonces, sí, pero en general, todavía
es funciona bastante
bien y bastante genial. Y es una cosa
que se está formando. Es bastante impresionante. Esto es
lo fácil que puede ser agregar un micrófono de
renderizador de entidad de bloque. Como siempre, por supuesto, todo el código está
disponible para ti en el repositorio de GitHub e
individual igual de bien. Y los veré a todos
en la próxima conferencia. Entonces, sí.
123. (1.18.2) Capas de botín en estructuras personalizadas: Muy bien, bienvenidos de nuevo
al curso de forja para 118. Y en esta conferencia
vamos a estar echando un vistazo a cómo puedes agregar carga
personalizada a las estructuras de tus
clientes. Entonces lo que he hecho
es que me he engendrado en la cabaña
justo aquí, sólo para que tengamos una
estructura y vamos a guardarla en tan solo
un momento también. Pero vamos a
movernos vamos a hacer es que vamos a colocar por un cofre y vamos a
llenarlo con algún botín al azar. Ahora la pregunta es,
¿cómo funciona esto? ¿ Qué no puedes hacer? Y esto es lo
que algunas personas intentan. Simplemente cogen el
cofre y luego solo lo bajan y luego por igual. ¿ Por qué no hay botín al azar ahí? Bueno, eso no funciona. Lo que tienes que hacer es que en realidad
tienes que poseer
el cofre a través de un comando, ¿verdad? Así que
ya he preparado el comando y lo que puedes hacer es básicamente pondré esto a disposición y
no va a ser tan loco. Entonces lo que puedes ver
es que hay apenas menos bloque establecido en
tu posición actual. Estás parado que
Minecraft frente al pecho. Por lo que solo quieres que
sea de cara de alguna manera. Y en realidad
hagamos esto más fácil. Así que hagamos
esto mirando hacia el este. Y luego se pueden ver
corchetes rizados, botín, mesa, Minecraft, cofres, simple
mazmorra en este caso, vamos a ejecutar esto. Ahora. En realidad sí apunta a la manera
equivocada, pero eso está bien. Esto es sólo cuestión de
cambiar el rostro aquí. Y si abrimos esto,
se puede ver ahí está. Por lo que algunos eluden al azar. Ahora la verdadera pregunta es esta. Si ahora guardo esto, ¿es este botín al azar? No, porque cuando, una vez
que abras se eludirá. Mesa en realidad
genera algún botín. Por lo que ahora cada una de las casas va
a tener este botín en él. Entonces lo que hay que hacer es
que no lo abra. Entonces lo que hay
que hacer es bajar aquí. Así que vamos a hacer esto
en realidad, creo que esto debería ser Sur, en realidad generar
éste al sur. De acuerdo,
tampoco es del todo correcto. Así que hagamos, correcto, generemos esto con
el Norte en realidad, creo que entonces debería ser norte. Y yo estaba apuntando hacia
la dirección correcta y no la abro. De lo contrario, en realidad
solidificarás lo que el
bucle está dentro de él. Por lo que esto no funciona. Entonces hay que mantenerlo ahí y hay que ser como, no
sé si
funciona, va a funcionar. No te preocupes por eso. Entonces
entonces podemos salvar esto. Y puedes hacer esto ya sea
cuando lo
hayas cargado o también puedes hacerlo con
un método de esquina y muda. Cuando realmente lo construyes, solo
puedes agregar un cofre así y luego guardarlo para que
podamos ir al Guardar. Además, aquí
solo vamos a decir Save, y luego esto se ha salvado. Por lo que ahora podemos
reemplazarlo en inteligencia. Así que vamos a echar
un vistazo ahí mismo. Pero una vez más, queremos
ir a la carpeta de ejecución guarda, y esta debería ser
la carpeta absurda dentro de la generada, tenemos el Calvin, ¿cómo está NVT? Y queremos cambiar la carpeta de datos, estructuras de
curso MC. Tenemos el conteo de mi casa, y sólo queremos reemplazar
la una por la otra. Así que sólo voy
a copiar esto, sobrescribirlo, y eso es
todo lo que tenemos que hacer. Ahora, una vez más,
no hemos abierto el cofre del botín. Por lo que el bucle debe generarse
básicamente cada vez que la
casa real genere también. Por lo que no deberíamos tener el mismo bucle en dos casas
diferentes. Así que hagamos un
mundo nuevo y veamos si funciona. Muy bien, somos microfinanzas
Nuevo Mundo y veamos, ahí está el primer
conteo, mi casa, y tenemos el cofre por aquí. Para que puedas ver que
tenemos discos de música. Unas pocas pólvora es. Muy bien, eso está bien. Entonces vamos a encontrar una
nueva casa de columnas, y
veamos si también podemos encontrar los mismos discos de música o si
hay algo diferente. Entonces hay un nuevo campamento
millas y solo
esperemos que el bucle
ahí sea diferente, pero estoy bastante seguro de que
va a estar ahí vamos, una carga completamente diferente. Entonces exactamente lo que
querrías que haya. Entonces lo importante
es que tenemos
por supuesto utilizar el ratón
knockout MET, pero hemos utilizado el
simple mazmorra uno. Entonces este es el
que en realidad está justo aquí en un ejemplo, ¿verdad? Entonces este es el actual, el comando real aquí. Se pueden ver los cofres
simple mazmorra y
se puede utilizar cualquier
tipo diferente de mesa de carga. Por lo que también puedes hacer tus propias mesitas y referencias. Lo son, pero eso es por
supuesto algo que también puedes hacer por
ti mismo. Y eso es más o menos
lo fácil que es agregar un cofre de botín personalizado a
tus estructuras, ¿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í.
124. (1.18.2) Cómo arreglar algunos errores: Muy bien, bienvenidos de nuevo
al curso de forraje para 118. En esta conferencia,
sólo vamos a estar arreglando algunos pequeños errores que podría haber cometido durante el transcurso de este
curso básicamente. Entonces, claro, con la cantidad
de conferencias que tenemos, están obligados a
haber algunos
errores aquí y allá. Por lo que el primero va a
estar en el artículo de armadura mod. Esto va a ser muy
interesante y ese es el tiene armadura correcta en el método. Porque lo que queremos
hacer es que queremos reemplazarlo por lo siguiente. Por lo que básicamente
queremos agregar en este bucle
for por aquí que bucles a través de la armadura y comprueba si la
armadura es o no en realidad, los artículos son en realidad artículos de
armadura. Y si uno de ellos no lo es, entonces inmediatamente
vamos a devolver falso. Ahora la razón por la que
queremos hacer esto, si fuéramos a añadir un electrón o una calabaza a nuestros artículos de
armadura,
básicamente en nuestro inventario de armaduras, entonces el juego se estrellaría
porque estamos tratando lo echó a un objeto de armadura
y eso no funciona. Entonces es por eso que
queremos básicamente con esto y luego deberíamos estar bien. Lo segundo que
queremos cambiar es en la clase mod curso MC. Y lo que queremos hacer
es que queremos tomar todo
el método de
configuración del cliente y
queremos básicamente
lo seleccionado aquí, mantener presionada Shift, pincha aquí, y luego presionar Control
X para recortarlo. A continuación, puedes eliminar esta línea
por aquí y queremos
entrar en la clase de eventos,
encontrar más eventos. Ojalá hayas creado
esto a través de la última o la
segunda a la última conferencia, vamos a pegar la, la
mentalidad de los métodos aquí. Queremos cambiar esto
para que sea público y estático, y queremos agregarles estos evento de
suscripción también. Ahora, ¿por qué necesitamos esto?
Bueno, por si acaso generalmente el evento de configuración del cliente
sólo es llamado al cliente. No obstante, la clase
mod curso MC es en realidad
una clase común. Entonces esto se llama tanto en
el cliente como en el servidor. Y a veces puede suceder que a través de algún mumbo jumbo de
Java, básicamente, algunas de estas clases también
son llamadas en el servidor, lo que luego hará que
el servidor se bloquee. Y claro que eso
no es lo que queremos. Entonces sólo para estar seguros, añadir esto a los eventos climáticos. Lo importante es que se trata una jefa de la mafia y también con
el cliente de escritorio de valor, y luego debería estar bien. Y por último pero no menos importante, tenemos algo en el artículo de la varilla de
dote. Y es decir, la forma en que básicamente
podemos echar
un vistazo a las etiquetas. Entonces esta es una forma válida
de básicamente echar un vistazo a si
el bloque particular
aquí está o no en esta etiqueta. No obstante, eso es locamente complicado y podemos
hacerlo un poco más fácil. Entonces, en lugar de esperar
un bloque aquí, en realidad
queremos un estado de
bloqueo, ¿verdad? Entonces bloquear el estado,
cambiar esto a estado. Y entonces cuando lo queremos hacer es, simplemente
eliminemos toda esta locura y nos vamos a preocupar por esto en un momento. En primer lugar, ¿cómo
obtenemos el estado en el método de bloque es valioso? Entonces vamos a conseguir un error aquí
mismo porque
tenemos un bloque. Ahora queremos cambiar esto para
que sea el estado de bloque. Y luego en lugar de llamar a
sangre a bloquear aquí, lo que vamos a
hacer es que sólo
vamos a conseguir el estado de bloqueo. Vamos a cambiar esto para que se mantenga en bloque y luego mismo
aquí, no quedar bloqueado. Y esos son todos
los requisitos que
necesitamos cambiar aquí. Y luego en el método de bloque es
valioso, lo que podemos hacer es que
podamos devolver estado son más etiquetas que
bloquean esa varilla de espiga objetos de valor. Ahora esto es mucho más fácil
que lo que agregamos antes, y eso será
más o menos todas
las cosas que yo
quería mostrarte también. Esto también
concluirá más o menos la parte 118 de
todo el curso aquí mismo. Entonces va a haber una novena
actualización después de esto también. Entonces va a haber
básicamente cómo actualizas todas
las diferentes cosas
que hay ahí con tal vez una o dos cosas
diferentes, si aún no se descubren sobre la facilidad de
hacerlas en 119, pero eso seguirá
después de esto y luego el curso se hace
más o menos independientemente. Espero que te haya parecido útil esto
y aprendas algo nuevo y te veré
en la próxima conferencia. Entonces, sí.
125. 1.18.2 ACTUALIZA a 1.19: Muy bien, bienvenidos de nuevo
al primer curso para 118. En esta última conferencia, vamos a estar actualizando nuestro
proyecto a partir de una década de 1890. Ahora por suerte, la actualización de
1890 no es la más loca. He visto
actualizaciones mucho peores entre vergencia, pero todavía hay algunas cosas que
se van a cambiar por completo. Y creo que hay al
menos una cosa que no funciona en absoluto, pero así
es como va a ser. Así que sólo vamos
a navegar hasta el archivo
construido o Gradle aquí abajo a nuestras dependencias por aquí donde tenemos la Forja de
Minecraft. Y lo que es muy
importante es que respalde todo
tu proyecto. Porque si no lo
tienes
respaldado , las cosas pueden pasar. Podrías romper tu
proyecto cuando actualices. O bien tienes un repositorio de GitHub, haz una nueva sucursal en él para
que tengas todo guardado o simplemente copias sobre todo
el proyecto para que lo
tengas respaldado. Recomiendo encarecidamente hacer
eso ahora ¿a qué necesitamos cambiar la
dependencia forrajera por aquí? Bueno, en realidad
no es tan loco. Lo que
queremos hacer es cambiarlo a 41038, claro 119. Entonces esta es la última
versión para ti. Probablemente va a estar más avanzado aquí, pero
eso va a estar bien. Siempre, siempre puedes usar la última versión y
eso va a estar bien. Así que vamos a
cambiarlo por ahí. Así que volvamos
y eso va a ser 119 dash y luego 41038. Ahí vas. Y esa es la versión a la que
queríamos cambiar. También queremos actualizar
gecko lip por aquí. Entonces esto ahora va a
ser forjar un guión 193119. Ahí vas. 1313. Ahí vas. Creo que este debería
ser el más nuevo. En este caso. Simplemente se puede mirar hacia
arriba en el labio gecko. Puedes encontrar fácilmente
la versión aquí en el repositorio gecko lip GitHub. Por lo que no se preocupe ahí. Y después de
que estamos cambiando estos dos, sólo
vamos a hacer clic en
Cargar cambios Gradle. Y luego una vez más va a construir cosas, descargar cosas, todo del mismo jazz que
hemos hecho un par de veces, sobre todo al
principio de todo esto. Por lo que recomendamos encarecidamente
quedarse paciente, solo deja que esto pase por cualquier
error que pueda surgir, cualquier cosa roja, la mayoría de las
veces, con seguridad sea ignorada. Y luego veremos,
estamos ahí vamos,
construimos con éxito en dos
minutos y 28 segundos. Ahora
aún no hemos terminado del todo en el
archivo Gradle de acumulación porque también queremos cambiarlo a los mapeos
de pergaminos. Por lo que tenemos pergamino para
éste justo aquí, y queremos
cambiarlo a lo siguiente. 1182022 o seis, o 5119. Entonces esto simplemente lleva los
119 mappings oficiales en superposiciones el 1800 a
mappings de pergamino encima de él. Y luego vamos a tener aproximadamente
mappings de pergamino para 119. No todo va
a estar perfectamente mapeado, pero esta es, creo, la versión más nueva que tenemos, que aún no hay ninguna versión
119. Una vez más, por supuesto
que solo puedes mirar el repositorio de pergaminos
y no
deberías, deberías poder
encontrar algo ahí. Así que vamos a volver a cargar esto de nuevo, cambios
radiales y esto no
debería tomar demasiado tiempo. Espero no otros dos
minutos, pero sólo veamos. Solo esperemos una vez más, esperando
pacientemente aquí. Y entonces vamos a estar bien. Muy bien, ahí vamos.
Construir con éxito en un minuto y 37 segundos. Entonces ahora vamos a estar bien
y todo está configurado. Pero ahora vamos a saltar a la clase de mod curso
MC e inmediatamente
vamos a ser recibidos con una flecha diminuta aquí. Y eso es sólo las importaciones. Para que puedan ver, todavía tengo
cosas en las importaciones aquí, pero no se preocupe si
hay algo malo
con los insumos. Se pueden ver los tres puntos
por aquí volteándose rojos. Básicamente, solo puedes presionar Control Alt O y luego todo en las
importaciones va a ser, bueno básicamente borrado
que no necesitamos. Y por el momento,
nada malo aquí, pero va a haber, bueno, algunas cosas que están
mal en otras clases. Por lo general lo que hacemos es que sólo
podemos bajar las clases. Creo que la primera clase donde vamos
a tener un tema realidad
va a estar en el bloque de pilar
rotado bola de llama. Curiosamente, o
tenemos que cambiar aquí son sólo los parámetros por aquí. Así que sólo voy
a copiar esto. Una vez más, todo
aquí está por supuesto disponible en el repositorio de
GitHub. Y de hecho igual de bien, esto va a estar
ahora en la pila. Esto va a
ser pila de contexto. Y entonces sólo
vamos a pasar en el contexto aquí mismo, y luego también el
Simular aquí mismo. Hace y eso
debería arreglar esto. Ahora, éste está hecho y creo que el
resto debería estar bien. En realidad, aldi bloque rápido, sí, porque el animador tick, porque ahora
ya no estamos usando lo aleatorio, pero estamos usando la clase fuente
aleatoria por aquí desde esa herramienta de
micro vista. Sólo haz eso. Y entonces no
pasamos nada por aquí. Y eso va a
estar bien también. Entonces esto debería ser más
o menos todo lo que
tenemos que hacer también en el bloque
SPD. Y creo que esto debería
arreglar todos los bloques. En realidad. Creo que
el resto está bien. En efecto, parecen estar bien cuando se trata de
las entidades. Creo que sólo deben ser como un pequeño cambio
por aquí. Sí. Y ese es el componente de texto porque cambió todo el sistema de
textos. Por suerte, el cambio aquí es increíblemente fácil componente que
literal, y ahí vamos. Y eso es todo. Eso
es todo lo que tenemos que hacer. Solo asegurándose de que
las entradas sean correctas. Controla Alt O y luego
el resto aquí es una multa. Vamos a asegurarnos de
que el resto aquí
también esté bien. Y en efecto lo es. Así que nada loco pasando aquí. Y bloques mod, una vez más son sólo los
componentes traducibles aquí. Entonces es sólo componente que
traducible en este caso. Y ahí vamos. Por lo que en realidad se hace
muy fácil de hecho. Así que nada loco pasando. Ya no
tenemos bloqueo oral. Eso también es correcto
porque ahora es en realidad un bloque
experimentado gota, pero funciona exactamente de
la misma manera. Una vez más, Control Alt o
para deshacerse de las importaciones. Y entonces vamos a estar
bien y toda la cuadra. El paquete está hecho en realidad. Los comandos también
cambiarán un poco
más en un momento. Pero en primer lugar, por supuesto,
los componentes del texto, el primer componente
vuelven a ser literales, **** y literales. Ahí vas. Entonces aquí lo mismo. Y entonces creo que también tenemos esto en el set uno todavía
hacemos Control Alt O para
deshacernos del año las
importaciones equivocadas y se irían, también
tendremos que cambiar el constructor aquí
si yo No me equivoco, pero esos van a estar bien. Vamos a hablar de
eso en un momento. Los conflictos son,
los conflictos deben estar totalmente bien y nada
que hacer allí también. Los efectos tampoco han cambiado. Entonces todo esto va a estar bien. Y los tratamientos no han
cambiado la entidad, que algo es diferente con la entidad y ese
es el modelo porque los nombres reales de los métodos han
cambiado un poco. Entonces esto es ahora GET
recurso modelo por aquí. Recurso que hace, y esto es ahora obtener recurso de textura y esto tiene recurso de
animación. Entonces lo que puedes
hacer es si tienes varios de
estos archivos de modelo,
los archivos Geo Model, lo que puedes hacer es
simplemente presionar, digamos ir a
la Regla Común o lo que sea tu nombre es paquete, presiona Control de turnos R. Busca una buena ubicación del modelo y luego cámbialo para
obtener el recurso modelo. Se puede ver que en
realidad estamos teniendo esto en los otros dos modelos también. Entonces sólo vamos
a decir reemplazar, sí. Voy a hacer lo
mismo con
la ubicación de textura
reemplazando el recurso. Ahora éste a veces tiene uno extra que en realidad
no queremos que cambie. Yo creo que es éste, así que vamos a
reemplazarlos uno por uno, sólo los en los que
en realidad estoy seguro de que sí
creo que esto no debe
cambiarse. Entonces ahí vas. Y entonces la última,
buena
ubicación del archivo de animación ahora ha cambiado para obtener recurso de
animación también, reemplace todo lo que
va a estar bien. Y ahí vamos. Ahora
esto debería estar bien. Veamos dónde están las
flechas de aquí. Va a ser justo aquí. De acuerdo, así que dentro del renderizador, esto en realidad queda por
ser ubicación de textura. Es un poco raro
porque esto
también es a través del
labio gecko, pero ahí vas. Entonces eso debería estar bien. Solo asegúrate de que
cuando lo reemplaces, no
lo reemplace
en el render también. Supongo que el barco no se
va a salvar tristemente. Tengo que mirar el cerrojo y tristemente no he
podido conseguir que funcione correctamente. Entonces lo que sólo
vamos a tener que hacer es que sólo vamos a tener que vivir sin el
barco por el momento. Entonces puedes simplemente
eliminar todo, solo hazlo así, y luego deshacerte de él aquí también. Tristemente, lo es, es lo que es. El tema con la
audacia, por supuesto, agregaron los cofres
al barco y aún no han descubierto cómo
cambiar esto en torno. Perdón por eso, pero
así es como va a ser. A veces eso sucede cuando cambias de una
versión a otra, que ciertas características,
han cambiado por completo. Entonces entonces no vas a
poder realmente, no
vas a ser capaz
de averiguarlo rápidamente. Esto también a veces es por qué ciertos moldes tardan
tanto en actualizarse, ¿verdad? Porque a través de versiones las cosas cambian y
así es como va a ser. Entonces creo que
también podemos deshacernos de la antigua entidad de aquí. Podríamos estar recibiendo
un error en
otro lugar , pero eso va a estar bien. Entonces esto, creo, debería ser todo lo que en realidad
se cambia aquí. Ok, La entidad múltiple entonces tampoco iba a funcionar. Pero una vez más, solo
voy a arrastrar todo el camino hacia abajo para que puedas hacer esto
arrastrando mientras sostienes Alt. Y luego puedes
simplemente, puedes seleccionar múltiples
líneas diferentes en ese caso. Entonces lo mismo con el
artículo. Absolutamente. Sólo voy a deshacerse de esto. Entonces como ya he dicho, no
creo que
sea demasiado extenso. Los cambios no son
demasiado extensos, pero es lo que es. A veces eso sucede. Así que sólo
nos deshacemos de esto también. Y luego el qué? Esto está bien. Esto está
bien. Esto está bien. Y entonces podemos
proceder a los hechos. En los eventos el
laúd realmente ha cambiado a las mesas de loo
han cambiado un poquito, pero afortunadamente no demasiado locos. Entonces lo único
que ha cambiado aquí es en realidad el método
do apply. Como se puede ver,
ya no se puede sobrescribir
así porque
esto es ahora en lugar de una
lista es un objeto ArrayList. Acabamos de poner un objeto cada lista clase
importante, y entonces
vas a estar bien. mismo aquí mismo. Cambiando esto al objeto, cada lista importando esa clase. Y luego los modificadores de laúd deben funcionar igual que antes. Fui bien. Y luego llegamos al
evento Registro que ha cambiado, diría más o menos significativamente porque
ya no tenemos el evento Registro, ahora
tenemos un registro de eventos. Por lo que este ahora va a ser un
evento final de registro por aquí. Y luego ahora dentro
del método de evento real, tenemos que buscar la ella. Básicamente,
vamos a decir, oh, esto se llama por supuesto evento que es bastante
importante por aquí. Ahí vas. Ahora
en lugar de hacer esto, vamos a decir evento
que se registre y luego decir falsificar
registros que llaves. Que en este caso
modificador de botín o serializadores, Hama, ayudante, y esto
es sólo un consumidor. Y ahora ponemos estas
cosas ahí. Por lo que queremos poner
esto aquí. Y de la manera que queremos hacer, queremos decir ayudante
ese registro. Entonces primero tomando la ubicación
del
recurso del nombre real. Y entonces
lo segundo va a ser un nuevo serializador. Entonces vamos a llevar el
nuevo serializador por aquí. Ahí vamos. Y esto debería
funcionar ahora. Y entonces podemos. Duplicar esto, cambia el nombre por aquí y luego cambia el cambio del
esterilizador a éste. Y entonces vamos a ser divertidos. Por lo que hace, así cambió
esto y luego sucede lo mismo
en las recetas también. Entonces si no me equivoco, lo que queremos hacer es que
queremos decir evento un dot registran registros que claves dot receta serializadores porque este es un tipo de
receta en realidad, lo siento, esta es una
tipos de recetas, sí. Entonces una vez más, ayudante, um, o así, nombrándolo
lo que básicamente queremos. Entonces podemos decir tipo
de receta de ayudante, esa receta. Y creo que literalmente podemos
simplemente copiar esto. Vale, aunque no del todo. No del todo. Porque lo que sí queremos
escuchar es una cadena o una ubicación de recursos o así no
podríamos hacer esto entonces? Sí, podemos porque el
id va a ser eso. Ahora la pregunta es, de acuerdo, en realidad
me siento un
poco mejor si estoy haciendo una nueva
ubicación de recursos porque no estoy seguro si esto lo hace bajo
nuestra ubicación de recursos o no. Sólo vamos a hacer
algo así. Terminándolo
aquí mismo, ahí vas. Así que hacer una nueva
ubicación de recursos bajo nuestro
ID de modelo con la columna id voladura. Y entonces vamos a estar bien. Y entonces ya no
necesitamos éste. Y el resto aquí, creo que
debería estar totalmente bien. Controla el Alt O para deshacernos de las importaciones y luego
vamos a estar bien. Más eventos están totalmente bien. Nada ha cambiado,
por lo que se hacen los eventos. Y ahora llegamos a los
fluidos porque los fluidos, la finalmente se ha introducido la nueva
API de Fluid. No obstante, todavía no he
podido descifrar exactamente
cómo funciona. También están aún no es ningún
tipo de documentación sobre ella. Tan tristemente, por el momento, los fluidos también van a ir
por el camino del barco. Es apropiado cuando se
piensa en ello. Pero sí, el barco son los fluidos en este caso
tristemente no van a funcionar. Entonces fluidos por el
momento, no trabajando. Una vez más, solo puedes
mirar si estás viendo
esto en el futuro, echemos un vistazo a la forja, mira la documentación. Podrían haber añadido algo
ahí también ya. Entonces entonces puedes intentar
averiguarlo tú mismo. La nueva API de Fluid debería ser
mucho más versátil que esta. Pero por el momento, tristemente, los fluidos no van a pasar, en este caso, artículos personalizados. Creo que sólo debería
haber algo en la tableta de datos. Una vez más, el
componente por aquí, por lo que componente dot literal. Y entonces sucede lo mismo en el elemento de la varilla de dote también, justo con la O y el nombre de registro
también, ¿lo suficientemente justo? Sí. Esto es componente
traducible. No. ¿Qué tal
si lo hacemos correctamente? Componente punto traducible
en este caso. Y luego aquí también. Entonces el mensaje enviado es en
realidad mensaje del sistema que ya no toma
un UUID al final aquí, pero sí toma en un componente literal van
nombre del registro ya no disponible. Entonces lo que voy a hacer es que
sólo voy a decir el candado abajo punto conseguir nombre aquí y luego
el mismo oblicuo aquí arriba. Eso debería estar bien. Getname aquí también, y eso debería
ser más o menos. ¿Estás ahí vas? Tenemos otro mensaje SYN,
enviar mensaje del sistema. Ya no necesitamos el UUID. Y entonces este va a ser
el literal de datos componente. En realidad, no, no lo es. Va a ser traducible. Y eso es todo, sólo las importaciones Controlan
Alt O como siempre. Y ahí vamos. Esto debería ser más o menos todo que necesitamos para entrenarlo
aquí, creo. Aquí los fluidos mod. Sí, eso está bien. Vamos a pasar por
la clase normal. Están en solo
un momento también. Los materiales están bien, el modo
creativo. Los alimentos de pestaña son artículos MOD OK. Este debería ser el
cubo de miel absolutamente. Se librará de este
mandamiento de las importaciones. Y entonces estamos de acuerdo
con esto también. Las lágrimas también están bien, por lo que todo funciona bien. Ahora, curiosamente, pinturas en realidad han cambiado. Sé que en realidad es una locura
pensar en esto. Esto ya no es motivo. Esto ahora se llama variante de
pintura. Y a esto también se le llama varianza de
pintura. Ahí vas. Sólo vamos a
cambiar el motivo aquí a pintar
variantes por todas partes. Entonces vamos a ser
buen control de todos, una vez más, para
que las importaciones salgan de ahí. Y eso debería ser. Las pociones están bien. Las recetas realmente han cambiado. Entonces vamos a la receta. Hay dos
cosas importantes que tenemos que hacer. Borra los tres
de esos métodos por aquí, y eso
va a estar bien. Y luego en el método del colchón, tenemos que sumar si nivel P
que es del lado del cliente, solo
quieres devolver false. Entonces eso debería ser todo
lo que tenemos que hacer aquí también. Y eso debería ser más o menos todo lo que
necesitamos en la receta, en la clase de recetas de clientes, la pantalla, tiene
algo cambiado aquí. No creo que lo haya hecho. Entonces eso es realmente bueno. Y entonces el sonido, los sonidos también
deberían estar bien. Ahora en el util, creo que
algo cambió en alguna parte, no aquí, sino en las etiquetas. No. Propiedades del artículo, util,
en realidad no hay cambios en absoluto. Las pantallas de títulos
aún tienen algunos problemas, por lo que sólo vamos
a ignorar esto. Ahora la clase de aldeanos
ha cambiado en realidad y tenemos que hacer algunas
cosas diferentes aquí, ¿verdad? Entonces esto se hace un
poco diferente. Ahora, en realidad estamos
haciendo lo siguiente. En realidad estamos haciendo
un nuevo prototipo. Y lo que estamos haciendo
es que estamos haciendo un inmutable set dot API de esto sigue siendo así que el
cobalto blaster dot, dot get default state definition o getState
definition dot posibles estados, entonces el uno y el de aquí. Y luego aquí, en realidad lo estamos
haciendo de la siguiente manera. Estamos haciendo un
pueblo nuevo o profesional. En realidad necesitamos dos
predicados por aquí. Así que va a ser x-dot todavía. Igual a último o
punto punto conseguir también. Y entonces el segundo predicado
va a ser exactamente el mismo. Entonces x dot obtener iguales punto
blaster que consiguen y
eso debería arreglar esto también. Y el resto aquí
debería estar totalmente bien. En realidad necesitaremos agregar
etiquetas en un momento también, porque tanto los
pobladores
como la pintura es lo suficientemente
interesante, tienen algunas
etiquetas añadidas ahora también. Y luego por último pero no menos importante, venimos a la generación mundial, que por supuesto siempre es
la parte favorita. Entonces aquí, por suerte, es fácil, solo una fuente aleatoria en el cultivador
abstracto de árboles aquí. Pero entonces llegamos a
la locura Porque ahora lo que ha pasado en estas clases,
nada cambió, ¿verdad? Para configurar características
o todo está bien. Pero luego vamos a las clases de
generación y
vemos que el evento de carga del bioma ya no
está disponible. Y todo el mundo, y todo el mundo
empieza a enloquecer porque cómo hago ahora
algún mundo personalizado, Ene. Bueno, el origen del cliente
ha cambiado por completo donde ahora vamos a estar
usando un modificadores bio. Entonces, en teoría, podemos simplemente eliminar todas esas cuatro
clases de aquí, eliminarlas, y
luego hacer otras nuevas. Lo mismo va para este
de aquí mismo. Eventos del mundo del motor, ya
no necesitamos esto porque ya
no hace nada. Ahora necesitamos usar modificadores
bio. Entonces solo vamos
a echar un vistazo a la clase de modificador bio,
esta de aquí mismo. que puedas ver una interfaz
y básicamente tenemos que hacer un códec personalizado que lea en un archivo JSON que es más o
menos todo lo que realmente es el
códec. Ahora, por suerte en este punto, o en realidad ha añadido
algunos ejemplos. Entonces si echas un vistazo a la clase de modificadores bio
forja, tenemos una característica Agregar
al modificador bio, un remove one, y también tenemos un desova dos por m uno y un
remove desowns del bioma uno. Entonces esto es en realidad todo lo
que vamos a necesitar. Por suerte, no es demasiado
loco y
en realidad no necesitamos ni siquiera hacer
ninguna clase personalizada por aquí. Lo que podemos hacer es hacer
esto en la carpeta de datos. Empecemos con
los modificadores bio. Entonces, ¿cómo podemos conseguir que nuestras cosas
personalizadas sigan funcionando? Queremos ir al curso Data folder MC,
muy importante. Y luego en lugar
de una mujer para hacer un nuevo directorio
llamado forge, sí, el directorio forge tiene que
entrar en tu curso MC o cualquiera que sea tu
directorio de ideas mod que tenga
que ser el caso. Y luego en lugar
del directorio force, vamos a hacer un nuevo
directorio llamado bio modificador. Ahí vamos. Y luego podemos sumar
los archivos JSON. Entonces así es como van a verse
los archivos json. Así que sólo voy
a copiar esto y vamos a hacer
un nuevo archivo JSON. Veamos realmente cuáles son las características de
nuestro lugar en este caso. Entonces este va a ser
las características del lugar. En realidad sí
tenemos que cambiar las características del lugar en tan solo un momento, pero no nos vamos a
preocupar por eso por el momento. Apenas agreguemos el
primer modificador bio y luego veremos las características del
lugar también. Pero este va
a ser un nuevo archivo y luego vamos a
simplemente llamar a esto el ad cherry blossom
abajo adyacente. Sólo vamos a
sumar esto por aquí. Y entonces vamos a
ver que el primero es esto, esto se requiere,
siempre tendríamos que hacer esto. Entonces queremos decir oye a qué, cuál es el espacio de nombres del
bioma que esta actitud, sólo
vamos a
decir forjar yz plane. Entonces esta va a ser
una etiqueta de forja que básicamente
va a tener todos
los aviones bombas
dentro de ella. Entonces vamos a
tener curso MC, Polonia. Y esto debería ser flor de
cerezo de ébano colocado por aquí. Sí, ahí tienes. Y entonces
esto no es subterráneo. Oris, este es en realidad
el otro. En realidad echemos un
vistazo a las decoraciones. Creo que se llama así es el o es paso de decoración. Podría ser esto. Muy bien, bien. Quiero decir, estoy de acuerdo con esto. Esto debe llamarse decoración
vegetal. Este de aquí mismo.
Sólo vamos a añadirlo aquí mismo y
luego deberíamos estar bien. Y esto debería en teoría, añadir nuestra característica
colocada en flor de cerezo a cualquier bioma de
planos que exista. Por lo que bastante autoexplicativo. No obstante, las características del lugar en realidad también tienen que
cambiar un poco. En realidad tenemos que utilizar aquí un registro
diferente. Por lo que sólo vamos a hacer
un registro diferido de tipo menos característica o útero colocado. Y entonces esto es igual a
un registro diferido. Yo creo este registro de registro punto
menos característica registro. Muy importante. Entonces el curso
MC no son tontos ID de modelo y por supuesto también
necesitaremos un método de
registro. Sólo voy a copiar esto
un poco más fácil. Vamos a llamar a
esto aquí mismo. Esto se va a llamar, creo que no debería importar
que mucho más características de lugar que se registren y luego
pasen en el autobús del evento. Y en lugar de
registrarnos así, vamos
a tener que, va a ser, va a parecer un
poco raro ahora, suerte, todo el código aquí por supuesto,
estará
disponible para usted. Entonces este es ahora un
objeto de registro en lugar de un aferramiento, nada demasiado loco en este momento. Es posible que quieran cambiar
los utils de colocación están registrados a un lugar
características que se registran. Eso no es del todo correcto,
lo siento, ahí tienes. Y entonces éste,
éste y éste. Todo esto está bien. Voy a copiar
la línea y esto tiene que agregarse aquí mismo. Por lo que entonces
no deberíamos tener errores excepto uno paréntesis de
cierre. Puedes ver queremos
llamarlo Colocar características que se registren y
pasen el nombre, normalmente, como lo hemos hecho
con cada registro antes. Y luego tenemos un Proveedor de una nueva función de lugar. Y luego tenemos que lanzar
esta característica configurada de barro primero a un titular de Configure
característica signo de interrogación, signo interrogación, y
luego a un titular de Configure feature western
mark, signo de interrogación. Es una locura,
pero así es como repente tiene que pasar por el momento cuando
estás viendo esto, en realidad
podrías tener una
mejor manera de hacerlo. Es posible que tengas algo ya se ha descubierto
o algo así. Pero por el momento, así es repente como esto
va a tener que ir. Y luego tanto para las filas
como para la geoda, en realidad
tenemos que tener una lista de todas las
cosas que tenemos aquí. Entonces lista de n, entonces sólo tenemos que
sumar todas las
diferentes cosas aquí. Está diciendo que es
irreverente filtrar toda esa locura entra en una lista. Y luego solo dos paréntesis de
cierre. Y entonces mismo aquí
si no me equivoco, lista de la meta y
luego solo cerrando paréntesis dos veces n
ahí, deberíamos estar bien. Entonces esto es lo que tenemos que hacer, tan loco
como parece. Pero esto
realmente debería hacer todas las cosas que
queríamos hacer. Entonces entonces en realidad podemos agregar los otros
modificadores bio también. Esta va a ser la rosa rosa de
añadir también. Y esto va a
colocar la característica de la rosa rosa colocada un gol. Entonces añadamos también bajo decoración
vegetal
que tenga sentido. Y entonces vamos
a hacer toda la calva, o vamos a conseguir eso
aquí también. Y esto ahora ya no es decoración
vegetal. Pero esto es en realidad, volvamos a las
declaraciones de aquí. Esto es ahora bajo tierra, o es muy importante
que cambiemos esto. Ahí vamos. Sólo vamos a
añadirlo a qué tal vamos a hacer Minecraft
colon está sobre mundo, así que sólo vamos a agregarlo a cada bioma que hay en el mundo oval,
eso va a estar bien. Y luego por último pero no menos importante, vamos a copiar sobre el cobalto o, y eso va a ser
el anuncio o la geoda de perno. Y entonces esto solo está
cambiando el nombre. Colocó una geoda por aquí. Vamos a añadirlo también a todo el mundo entero y
eso debería estar bien. Pero esta es la nueva generación
mundial, muy importante que
todo aquí sea correcto. Y luego por último pero no menos importante, también
tenemos estas
estructuras ahora por suerte, terreno
telepático ya ha actualizado que su repositorio, por lo que nada demasiado loco
está pasando por aquí. Entonces sólo vamos a
tener que hacer lo siguiente. Así que hagamos esto. Voy a copiar primero
la clase de estructuras de modo. Veamos. Ahí vamos. Y entonces vamos
a tener un tema aquí con las estructuras
del cielo,
pero no se preocupe. Apenas eliminemos las
importaciones aquí también. Y luego en la clase de
estructuras del cielo, esto también va a ser, bueno, quiero decir no demasiado loco. Permítanme sólo una vez
más copiar sobre la clase de aquí. Y entonces vamos a ver que
sólo las importaciones están equivocadas. Una vez más, Control Alt O. Y se puede ver que hay un, otro códec aquí también. Esto es justo, como ya he dicho, básicamente un cierto campo
que genera lectura en una carrera y archivo luego genera una clase que es más o menos la visión general de alto nivel de esto. Sí, esos son los
dos cambios aquí en estas estructuras
y luego
también hay un cambio en la estructura, raza y archivos también. Porque por supuesto, no
podía haber nada más loco. Pero antes que nada, los
más viejos aquí cambiaron su nombre
por solo ser una estructura. Entonces lo vamos a cambiar
por el nombre de la estructura. Y luego dentro
del archivo adyacente, en realidad
hay
bastantes cambios. En primer lugar, este conflicto ya no
es necesario, por lo que sólo vamos a
eliminar la configuración y luego empiezan a
tirar de los sitios
todavía son necesarios pero no
dentro del conflicto. Entonces lo que queremos hacer es que queremos sumar el paso por aquí, y eso se va a pedir. Y luego lo siguiente es
la distancia máxima desde el centro. Por lo que esto también hay que sumar. Y luego también necesitamos
sumar tres campos diferentes. Ese va a ser el paso, la altura de inicio y el proyecto empieza a subir mapa y
eliminar el ruido árabe. Entonces esto es lo que
vamos a hacer siempre. Ahora. Ahora esto es para el
que en realidad tienes un tipo dentro del código. Si no tienes eso, ya
no podemos usar el pueblo. Ahora queremos usar el rompecabezas de
Minecraft. Por lo que queremos usar
esto una vez más, deshacernos de los no aptos aquí, mantener la piscina de estrellas y el tamaño a una
distancia máxima del centro. Y luego si estamos
usando el rompecabezas uno, en realidad
queremos usar
para diferentes campos. Sigue siendo el líder
el ruido árabe. Una vez más, este es el paso, la altura absoluta y el
proyecto comienza a mapa de altura. Esos van a seguir siendo
básicamente iguales, tal vez cambiando la altura de inicio. Pero luego para el rompecabezas, también
necesitas
usar la expansión. Diablos, voy a copiar las cosas para las cámaras y la
plataforma de almacenamiento también, pero más o menos
es lo mismo. Ahora puedes realmente
mirar esto también en el repositorio de GitHub y
un individuo igual de bien. Entonces no debe haber, pero no se preocupe en absoluto. Como ya he dicho,
vamos a estar bien. Por suerte, los cambios
no son tan locos. Todavía recuerdo que
cambia de uno a 1617. Esos fueron cambios donde sí, eso fue eso bastante loco. Ahora esto no es por esto. Ahora las únicas dos
cosas que aún necesitamos son para los pobladores y
las pinturas de las etiquetas. Entonces esos van en la
carpeta de datos en Minecraft. Y luego en lugar
de la carpeta fiscal, queremos hacer una nueva carpeta llamada variante de
subrayado pintura. Y luego se necesita de nuevo carpeta
fiscal, queremos hacer un punto. Subraya, subrayar
intereses, tipo de subrayado. Y entonces sólo voy a
hacer clic derecho nuevo archivo. Este va a ser el
cable un trabajo de subrayado toro, sitio de
subrayado que Jason está en el tipo
de punto de interés. Y esto va a
ser lo siguiente. Entonces esto debería ser. En teoría, este valor Mc
núcleos, ráfaga o punto. Permítanme simplemente comprobar rápidamente
si este es el nombre. En realidad es un
juego de explosión. Ahí vas. Cosa que revisé por aquí en la variante de pintura, haga clic con el botón derecho en nuevo archivo
llamado policía sub bowl que Jason, ahí vamos. Y esto va a incluir
todas estas cosas. Permítanme en realidad sólo
copiar esto. Y entonces tengo que revisar
los nombres por aquí. Entonces vamos a tener planta y luego dos más y luego
va a ser el Vagabundo
y luego puesta de sol también. Y ojalá esto deba
ser todo lo que tenemos que hacer. Ahora como has visto, en realidad
hay
bastantes cosas, bastantes pasos por aquí. No es que en realidad
sea fácil tanto
como se podría decir,
Bueno, esto ha sido
todo el calvario. Saben, esto es como en realidad muy equipo a como
he dicho, 16 º, 117. Eso fue como diez horas de igual que absoluta locura
pasando por todo,
cambiando todo porque el nombre de
clase se cambia, los nombres de los métodos cambian los métodos
que estaban disponibles, ya no
eran disponible. Y por suerte aquí, la mayoría de
estas cosas todavía funciona. Por lo que en realidad estoy bastante contento
con la actualización aquí. Pero por el momento, empecemos a ver
si algo podría surgir. Aún podría haber un error
en una de estas clases. Eso va a estar
bien. Ahí vas. En realidad incluso
fundamos lámpara de cobalto. Entonces este es el
método take por aquí. Una vez más, solo
por lo aleatorio, esta es ahora una fuente aleatoria. En realidad entran en fuente
aleatoria y
luego debería funcionar. No se preocupe en absoluto. Continuemos una vez más, empezando y viendo,
ahí vamos. También tenemos esto en modelo
declinado cuando realmente
nos deshacemos
de los fluidos mod. Absolutamente no hay preocupaciones aquí
están los eventos climáticos. Empecemos esto de nuevo. Esto también sucede cuando lo inicias, estás
recibiendo un error. Simplemente arreglas el error
y luego empiezas de nuevo. Entonces no se preocupe en absoluto. Y ahora sí
parece estar funcionando. Así que vamos a ver sólo si comienza
Minecraft. Esa será una gran señal. Y entonces podemos ver, entrar en nuestro mundo y
ver si todo funciona. Está empezando un manglar. No obstante estamos recibiendo un error aquí, pero
eso va a estar bien. Vamos a ver en primer lugar, si en realidad comienza en absoluto o si no
inicia una tormenta de polvo, esa es una gran señal. Vamos a crear un mundo nuevo. No estamos consiguiendo
nada porque
tenemos algunos
elementos desconocidos por aquí. Vale, pensemos en esto. Podemos ver porque cerezo de
Minecraft
comprobada no está disponible. Bueno, eso es probablemente
una flecha por mí mismo porque no he
cambiado el ID del modelo. Bueno, esto no es del todo correcto. Curso Iteris MC,
cerezo en flor comprobado. Entonces eso es muy extraño
por aquí porque de hecho, si miro esto,
siempre estoy usando mi curso MC. Entonces eso es muy
extraño, está bien, por lo que el tema en realidad fue
usando los conflictos por aquí. Sinceramente no estoy seguro de por qué el conflicto es no trabajes del
todo aquí. El debe funcionar en teoría. Ahora lo único
que podía imaginar, y en realidad soy como,
estoy haciendo esto en vivo. No he probado esto antes. Poner los
conflictos de registro antes que todo lo demás podría posiblemente
cambiar esto a su alrededor. En realidad intentemos
esto y veamos si los conflictos funcionan correctamente. Entonces, sin embargo, es solo
por los conflictos, que el registro real de la función de lugar
no funciona. Entonces como ya he dicho,
no he probado esto antes. Así que vamos a ver sólo si hay hace algo
y si no lo hace, entonces aparentemente
tristemente los conflictos tampoco funcionan del todo. Lo cual es muy extraño hecho porque no me he
topado con esto antes, pero vamos a ver. Así que tal vez vamos a
obtener el mismo error sobre los conflictos que
no vuelvan a funcionar. Y si no obtenemos esto, en realidad
me siento bastante confiado ahora estamos
consiguiendo esto, lo cual es muy extraño. Efectivamente. Yo lo soy. Sinceramente no
sé por qué ese es el caso. Así que vamos a ver. Pero en este punto,
cuando esto sucede, en realidad
estoy muy seguro de
que no va a funcionar, pero sólo vamos
a tener que vivir sin las configs
por el momento. Una vez más, probablemente sea solo
un cambio falsificado en alguna parte. Entonces ahí vamos, no funciona. Pero si sin embargo, cambiar esto de nuevo a no
usar conflictos, sino usando solo un número
normal aquí. Y no importa, los
conflictos en realidad nunca se cargan aquí y
entonces debería funcionar. Entonces, una vez más, no
tengo ni idea de por qué eso no
funciona con los
conflictos de aquí. Sí funcionó antes, pero hace,
hagámoslo así
sin los conflictos. Y entonces si los
conflictos en realidad sí
cambiaron y tenemos
que cambiarlos, y siempre podemos hacerlo
más tarde abajo de la línea. Por lo general es más importante
conseguir un modelo de trabajo en una nueva versión en lugar de tener todo
funcionando de inmediato. Eso suele ser mejor
porque entonces puedes arreglarlo. Y sí, así que ahí vamos. Y entonces podemos ir a
un solo jugador crear mundo, y ahora debería funcionar en realidad. Deberíamos conseguir
validar paquetes de datos. Y ahí vamos, Vamos, Ahí vamos, nuevo mundo. Hagamos lo que sea, algo así como esa raza de n Sí, sí queremos esto con
nuestros escenarios experimentales. Estoy bien consciente de esto y
entonces vamos a estar bien. Deberíamos estar bien aquí. En realidad hay una cosa más que también puedes
echar un vistazo, que es un poco molesto, pero no es lo
más terrible. Es sólo la puerta en realidad la
que no va a funcionar. En realidad tendrás que
cambiar el bloque Estados, archivos
JSON y el modelo de bloque
Jason false para la puerta. Pero honestamente eso debería
ser bastante trivial. Todas las cosas consideradas si
molestas pero aún triviales. Y solo veamos cargando
el terreno y ahí estamos. Entonces, primero que nada, quiero decir, este es como el momento perfecto. Estamos en los aviones nevados
y ya tenemos nuestros cerezos en flor de
aquí creciendo. También tenemos nuestras estructuras
personalizadas