Modding By Kaupenjoe: modelagem de tecidos para Minecraft 1-18-1 | Kaupenjoe (Nico) | Skillshare
Pesquisar

Velocidade de reprodução


1.0x


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

Modding By Kaupenjoe: modelagem de tecidos para Minecraft 1-18-1

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

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Introdução ao meu curso de modelagem de Minecraft

      1:00

    • 2.

      Instalação e download (Java)

      5:52

    • 3.

      (Java) Datatypes

      8:11

    • 4.

      Sintaxe Java

      5:42

    • 5.

      Saída e entrada (Java)

      7:28

    • 6.

      Erros e como lidar com eles

      6:41

    • 7.

      (Java) Inteiros, métodos de aritmética e matemática

      6:23

    • 8.

      Operadores de atribuição (Java)

      4:40

    • 9.

      (Java) Booleanos e operadores de comparação

      7:02

    • 10.

      (Java) booleanos e operadores de lógica

      3:30

    • 11.

      (Java) Se e outras declarações

      6:52

    • 12.

      Declaração de comutação (Java)

      4:08

    • 13.

      TAREFA 1: jogo de trivia

      2:59

    • 14.

      SOLUÇÃO 1: jogo de trivia

      2:32

    • 15.

      (Java) cordas e métodos de cordas

      9:41

    • 16.

      (Java) fundição

      3:49

    • 17.

      Operador de trabalho de trabalho

      4:13

    • 18.

      Arraias (Java) explicadas

      9:09

    • 19.

      (Java) para e enquanto loops

      8:55

    • 20.

      Métodos Java (Java)

      10:14

    • 21.

      TAREFA 2: jogo de trivia com métodos

      2:30

    • 22.

      SOLUÇÃO 2: jogo de trivia com métodos

      5:13

    • 23.

      Coleções Java

      16:43

    • 24.

      Programação orientada a objetos Java explicada

      7:37

    • 25.

      (Java) aulas e objetos Java

      9:20

    • 26.

      Modificadores de acesso (Java)

      7:42

    • 27.

      Herança e polimorfismo (Java)

      10:50

    • 28.

      Interfaces e aulas de tópicos abstratos

      5:52

    • 29.

      TAREFA 3: atualização do jogo da trivia

      1:15

    • 30.

      SOLUÇÃO 3: atualização do jogo de trivia

      3:08

    • 31.

      TAREFA 4: sistema de gestão de bancos

      1:20

    • 32.

      SOLUÇÃO 4: sistema de gerenciamento de bancos

      2:17

    • 33.

      (Java) cursos anônimos

      2:44

    • 34.

      (Java) Enums e enums avançados

      3:00

    • 35.

      (Java) exceções e experimente e pegue

      5:14

    • 36.

      (Java) Expressões Java Lambda

      3:24

    • 37.

      (Java) Java Generics

      3:37

    • 38.

      (básicos) instalação, configuração e GitHub

      23:27

    • 39.

      (básicos) crie um item personalizado

      14:35

    • 40.

      (básicos) crie um bloco personalizado

      12:55

    • 41.

      (básicos) como adicionar um grupo de itens personalizados

      3:20

    • 42.

      AVALIAÇÃO 5: blocos e itens personalizados

      1:04

    • 43.

      SOLUÇÃO 5: blocos e itens personalizados

      1:10

    • 44.

      (básicos) adicione receitas personalizadas

      9:39

    • 45.

      (básicos) gotas de bloco personalizadas com mesas de loot

      9:11

    • 46.

      AVALIAÇÃO 6: receitas personalizadas e mesas de loot

      1:23

    • 47.

      SOLUÇÃO 6: receitas e tabelas de loot

      1:37

    • 48.

      (básicos) como fazer um item avançado

      16:46

    • 49.

      (básicos) como fazer um bloco avançado

      7:46

    • 50.

      (básicos) como fazer um item de alimentos personalizados

      4:02

    • 51.

      (básicos) como fazer um item de combustível personalizado

      3:50

    • 52.

      (básicos) como dicas de ferramentas personalizadas

      3:17

    • 53.

      (basicamente) tudo sobre etiquetas

      9:52

    • 54.

      (básicos) como escadas e lajes

      9:13

    • 55.

      (básicos) como botões e placas de pressão

      7:16

    • 56.

      (básicos) como cercas, portas de vedação e paredes

      6:06

    • 57.

      (básicos) como portas e armadilhas

      6:47

    • 58.

      (Ferramentas) como criar um novo conjunto de ferramentas

      11:25

    • 59.

      (Ferramentas) como criar uma multiferramenta personalizada (Paxel)

      4:54

    • 60.

      (Ferramentas) como criar armas que aplicam efeitos

      2:30

    • 61.

      (Armação) como criar um novo conjunto de armaduras

      8:53

    • 62.

      (Armadura) como fazer um efeito de armadura

      8:23

    • 63.

      (Armadura) como criar uma armadura de cavalo personalizada

      3:04

    • 64.

      (Armadura) como adicionar um encantamento personalizado

      7:20

    • 65.

      Propriedades de blockstate (intermediárias)

      13:24

    • 66.

      (intermediário) como os dados de NBT funcionam?

      10:11

    • 67.

      Modelo de item Predicates (intermediário)

      6:18

    • 68.

      TAREFA 7: Blockstate e NBT

      1:05

    • 69.

      (intermediário) como uma colheita personalizada

      11:17

    • 70.

      (intermediário) como adicionar itens a um composter

      1:51

    • 71.

      Mixins (intermediários) explicados

      9:26

    • 72.

      (intermediário) como criar comandos personalizados

      9:12

    • 73.

      (intermediário) como flores personalizadas

      2:55

    • 74.

      Flores em vasos (intermediários)

      3:03

    • 75.

      (intermediário) como sons personalizados

      5:51

    • 76.

      Grupo de som de bloco personalizado (intermediário)

      5:55

    • 77.

      (intermediário) como adicionar discos de música personalizados

      4:09

    • 78.

      (intermediário) como adicionar um modelo de bloco personalizado no Minecraft com o Blockbench

      16:18

    • 79.

      (intermediário) como adicionar um item personalizado com o Blockbench

      3:34

    • 80.

      (intermediário) como uma forma de arco personalizado

      3:19

    • 81.

      Fluidos personalizados (intermediários)

      10:59

    • 82.

      (intermediário) Modificar tabelas de baunilha

      5:36

    • 83.

      Avanços (intermediários)

      4:33

    • 84.

      (intermediário) como criar partículas

      2:59

    • 85.

      Pinturas personalizadas

      4:25

    • 86.

      Entidade de bloco personalizado (avançada)

      25:23

    • 87.

      Tipos de receitas personalizadas

      23:45

    • 88.

      Madeira personalizada (avançada)

      8:18

    • 89.

      Sinais personalizados

      6:39

    • 90.

      (avançado) como atualizar Minecraft e tecido

      4:09

    • 91.

      (Gênero Mundial) árvores personalizadas

      8:12

    • 92.

      Geração de árvores (Gênero Mundial)

      12:51

    • 93.

      Geração de flores

      5:17

    • 94.

      Geração de minérios

      7:18

    • 95.

      Como fazer um arquivo JAR do seu mod

      1:56

    • 96.

      (tópicos adicionais) tela da atualização (1.18.1)

      3:05

    • 97.

      (tópicos adicionais) gotas de XP para blocos

      3:24

    • 98.

      (tópicos adicionais) como blocos transparentes

      3:49

    • 99.

      (tópicos adicionais) adicione itens animados

      3:44

    • 100.

      (tópicos adicionais) tela de menu personalizado

      7:24

    • 101.

      (tópicos adicionais) adicione configs simples e básicos

      7:23

    • 102.

      (tópicos adicionais) adicione efeitos personalizados

      4:34

    • 103.

      (tópicos adicionais) adicione poções personalizadas

      6:38

    • 104.

      (tópicos adicionais) adicione entidades personalizadas com o Geckolib

      19:54

    • 105.

      (tópicos adicionais) adicione animações de entidades com Geckolib e BlockBench

      7:11

    • 106.

      (tópicos adicionais) adicione variantes de entidades

      9:00

    • 107.

      (tópicos adicionais) adicione entidades de maturidade

      7:41

    • 108.

      (tópicos adicionais) adicione entidades ideais

      12:20

    • 109.

      (tópicos adicionais) como uma geração mundial de entidades

      3:27

    • 110.

      (tópicos adicionais) adicione negociações personalizadas aos aldeões

      5:17

    • 111.

      (1.18.2) Atualização de tecido para 1.18.2

      13:55

    • 112.

      (1.18.2) estruturas personalizadas (repositório de exemplo de tutoriais)

      32:10

    • 113.

      (1.18.2) estruturas personalizadas (peça única)

      8:15

    • 114.

      (1.18.2) estruturas personalizadas (estruturas de quebra-cabeças)

      14:22

    • 115.

      (1.18.2) modelos de armadura em 3D personalizados

      12:02

    • 116.

      (1.18.2) aldeões personalizados

      6:33

    • 117.

      (1.18.2) Entidades de bebês

      4:22

    • 118.

      (1.18.2) Geodes personalizados

      5:54

    • 119.

      (1.18.2) bloco que interage com o Redstone

      4:28

    • 120.

      (1.18.2) Renderizador de entidades de bloco personalizado

      9:44

    • 121.

      (1.18.2) baús de loot em estruturas personalizadas

      3:09

    • 122.

      (1.18.2) ATUALIZAÇÃO PARA 1.19

      22:15

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

353

Estudantes

1

Projetos

Sobre este curso

Minecraft! É o jogo mais popular de todos os tempos e Minecraft Modding está de volta à boca de todos! Alguns Mods do Minecraft tornaram-se tão populares que todos os conhecem. A comunidade de mods de Minecraft continua crescendo todos os dias e é uma ótima e criativa tomada de ideias!

Este curso vai ensinar a você como fazer seu próprio Minecraft Mod! Não só aprenda a linguagem de programação Java, mas também como usar com eficiência o tecido de API de modelagem do Minecraft.

Para absolutamente iniciantes, eu adicionei uma introdução em Java para você, então mesmo sem experiência em programação, você pode começar a fazer Mods do Minecraft primeiro passando pela introdução de Java!

Na parte dos conceitos simples do curso, você vai aprender a adicionar itens, blocos, receitas personalizadas, ferramenta para Minecraft! Os conceitos de intermediários são onde você vai realmente pegar alguma habilidade incrível necessária para o Minecraft Modding adequado com tecido! Vamos falar sobre BlockStates e dados do NBT, adicione culturas personalizadas e veja como você pode adicionar modelos de blocos personalizados ao Minecraft!

Mas isso não é tudo! Para o final do curso, abordamos tópicos avançados, como entidades de blocos, tipos de receitas personalizadas e até geração de minérios entre outros.

Com um pouco de criatividade e aplicação das aulas que você ganha deste curso, você pode simplesmente fazer o próximo Minecraft Mod atingido!

Este curso é acessível para iniciantes completos. Mesmo que você nunca tenha programado na sua vida! O único requisito é que você é proprietário do Minecraft e está vagamente familiarizado com o jogo e alguns Mods de Minecraft populares ou até mesmo Modpacks de Minecraft.

Exercício de arquivos e todo o código fonte vai estar disponível para que você possa acompanhar tudo o que faço nos vídeos.

Se você tiver alguma dúvida ou sugestão, também sinta à vontade para entrar em contato comigo aqui. Fico feliz em ajudá-lo a aprender a codificar no Java e criar seu próprio Minecraft Mod com tecido.

DISCLAIMER: NÃO UM PRODUTO OFICIAL MINECRAFT. NÃO APROVADO OU ASSOCIADO AO MOJANG.

Conheça seu professor

Teacher Profile Image

Kaupenjoe (Nico)

CS Student, Nerd and Educator

Professor

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

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

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

Level: Beginner

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Introdução ao meu curso de modulação no Minecraft: Olá, sou empresa Nico ou estudante de mestrado ciência da computação e um ávido jogador do Minecraft. Talvez você me conheça de my YouTube channel tutorials by Cotton joe, where I'm making Minecraft modeling tutorials. Mas agora vamos ficar ainda maiores. Esta é a modelagem de microondas 118, uma classe com tecido. Aqui você aprenderá tudo o que precisa saber para fazer um incrível e incrível MOD do Minecraft, até mesmo iniciantes absolutos podem começar passando pela introdução Java do provedor, que realmente vai ajuda você a aprender alguns dos fundamentos. Em seguida, aprenderemos alguns dos conceitos simples, como adicionar um item, bloco, receitas e até ferramentas ao meu ofício. Depois disso, continuaremos analisando modelos de blocos personalizados, culturas personalizadas e tantos outros recursos interessantes e interessantes. No final, vamos até abordar alguns tópicos avançados, como entidades de bloco e geração mundial. Então, o que você está esperando? Inscreva-se para esta aula agora, e quem sabe, talvez seu modelo seja o próximo grande sucesso. Vejo você na primeira lição. 2. (Java) Instalação e Download: Bem-vindo ao curso fabric 118 e aqui para a introdução do Java. Então, estamos basicamente começando com um pouco de uma introdução em Java. Ou se você não usou Java, isso será muito útil para você. Caso contrário, se você já trabalhou com outra linguagem de programação ou com o próprio Java, então essa é uma ideia muito inteligente ter isso como uma boa atualização aqui no começo. Por isso, recomendo passar por toda a introdução do Java. Haverá algumas tarefas ao longo do caminho também, que você pode fazer para basicamente solidificar ainda mais os conceitos que vamos discutir nesta introdução aqui. E haverá alguns pré-requisitos que vamos precisar. O primeiro será um JDK. Jdk é um Java Development Kit, e eles vêm em diferentes sabores, por assim dizer. Mas o que vamos usar é o de adotá-lo aqui, e vamos precisar usar 16. Então JDK 16 neste caso, isso é chamado de tamarin 16. E eu vinculei isso nos recursos basicamente que você pode baixar isso. Isso garante que você selecione seu sistema operacional e sua arquitetura. Então, para mim, isso seria arquitetura Windows e 64 bits. Eu recomendo baixar o MSI aqui porque isso é basicamente apenas instalador, que então instala o JDK em sua máquina como basicamente qualquer outro programa, na verdade. Bem, basta instalar isso normalmente como você faria com qualquer outro programa, e então podemos prosseguir. Depois de instalar o JDK, também precisaremos de um IDE. E o IDE é um ambiente de desenvolvimento integrado, que no nosso caso usaremos a ideia do IntelliJ. Isto é, eu encontrei absolutamente uma ótima ferramenta para usar para isso, podemos usar a versão da comunidade que é gratuita e construída em código aberto, que é praticamente inclui tudo o que nós jamais poderia querer ou precisar. Então, definitivamente, certifique-se escolher a versão da comunidade aqui. Mais uma vez, também basta baixar o EXE se você estiver no Windows, e como talvez tenha visto aqui, você também pode verificar Trick aqui se você estiver no Mac ou Linux, basicamente mudar e instalá-los também. E também basta instalar isso como você faria com qualquer outro programa também. E então, uma vez instalado iniciamos e, em seguida, podemos prosseguir. Quando você abre inteligência pela primeira vez, uma janela semelhante a essa também aparecerá para você. Agora vai parecer um pouco diferente, mas terá esses três botões, o botão The New Project com o botão Abrir e o botão get from VCS. Ao clicar no botão Novo projeto, você pode ver uma nova janela aparecerá. O importante é que queremos selecionar o novo projeto aqui. Aqui podemos apenas nomear o que quisermos. Por exemplo, introdução ao Java, você pode escolher um local aqui usando a linguagem Java Build System intelligence e o JDK sendo 16 para nossos propósitos aqui para a introdução do Java, o código de amostra deve ser verificado por eles. Com isso feito, podemos clicar no botão Criar e, em seguida, uma nova janela aparecerá. Agora, primeiro, o que realmente temos que fazer nas versões mais recentes para inteligência, eles mudaram algumas coisas. Não sei por que esse é o caso, porque eles realmente tendem a mudar muitas coisas, o que é meio irritante. Mas nossa classe principal aqui, para que você possa ver esse principal, se eu clicar duas vezes sobre isso, ele será aberto. Você já pode ter aberto para você. Tudo bem também. Agora, daqui para frente, na verdade vai estar em alguns pacotes. Então, na verdade, temos que fazer isso manualmente para nosso caso aqui neste caso, mas isso vai ficar bem. Mas basta clicar com o botão direito do mouse na pasta de origem para que você possa ver o botão direito do mouse na fonte E então vamos, vou chamar essa rede. E então, nesta rede, vou clicar com o botão direito do mouse em novo pacote e vou chamar essa ajuda. E Joe, agora você só vai chamá-lo de qualquer que seja o seu nome. Basicamente você vai ter rede e, em seguida, seu nome, por exemplo, eu vou arrastar a classe principal para ela, digamos Refactor, e então ficaremos bem. Então você tem este pacote aqui também. Isso é muito importante porque há as próximas palestras. Nós vamos ter isso também. Agora, se isso for exibido de forma diferente para você, pode ser o caso de que realmente se pareça com isso. Vou mostrar apenas por um segundo que meio que compacta aqui, contagem de pontos líquidos Joe, tudo em uma linha. Se for esse o caso, você pode ir para este equipamento aqui. Para a aparência da árvore, altura, MT, pacotes do meio, você pode desmarcar isso e também os pacotes achatados também desmarcados. E então você terá exatamente a mesma coisa que temos lá também. Agora vamos continuar com Pascal e Joe para o resto das palestras. Então, neste caso, o que vamos ter é o, vamos ter algo chamado principal aqui e outro principal aqui. E então isso é comum onde diz escrever seu código aqui. Agora não vamos escrever código nesta primeira palestra In aqui. Vamos começar basicamente imediatamente na próxima palestra. Esta é realmente apenas a configuração. Então, no geral, isso é praticamente tudo o que precisamos fazer. Todo o código sempre estará disponível em cada palestra. Então, em cada palestra, você encontrará um link de recurso ou encontrará isso basicamente vinculado a algum encontrará isso basicamente vinculado lugar onde você pode ter o repositório do GitHub. Então, tudo isso será salvo em um repositório do GitHub. E cada palestra será um indivíduo, basicamente um ramo individual lá. Ou você também tem juristas individuais onde cada um dos diferentes, cada um do código, tudo do código desta palestra também está vinculado lá também. Portanto, não se preocupe lá. Tudo pode ser acessado antes que você possa dar uma olhada nisso porque, claro , algumas pessoas preferem ter o código na frente delas e depois mudá-lo um pouco. Algumas pessoas só querem codificá-lo, como enquanto eu estou codificando. E isso é totalmente bom. Ambas as abordagens são absolutamente válidas neste caso. Mas, por enquanto, é basicamente isso. Então, todo o código estará disponível e espero que você tenha chegado a este ponto. E então veja se uma vez que a próxima palestra começa, você pode ver se tudo funcionou ou não lá. Mas isso seria vencido para esta palestra aqui. E te vejo na próxima palestra. Então, sim. 3. (Java) Datatypes (Java): Bem-vindo de volta à introdução do Java para uma modelagem do Minecraft. E nesta palestra, vamos falar sobre tipos de dados. Então, estamos começando muito, muito devagar. A ideia é que, na programação, podemos salvar coisas em variáveis. Agora, o que são essas coisas, certo? Existem diferentes tipos de dados. E, basicamente, nesta palestra, vamos passar por quais tipos de dados eles são, basicamente significando os tipos de dados. Portanto, existem alguns tipos diferentes de tipos de dados, como ir mais longe. E o primeiro seria os tipos numéricos, basicamente como salvar números. Há um monte de tipos de dados diferentes aqui. Então, há um número inteiro, há um flutuador e o duplo. Então, esses são os que são usados principalmente. Vou falar sobre isso daqui a pouco. Assim, você pode ver antes de tudo, quando você cria uma espécie de nova variável, seja, você pode pensar nisso como um contêiner que contém um determinado valor. E o tipo de valor é determinado por, neste caso aqui, a primeira palavra, você pode ver que ele está realmente marcado em laranja. Isso nem sempre será o caso. Esse só será o caso dos tipos de dados primitivos. Mas o que esses vamos ver em um pouco em uma palestra posterior basicamente. E você pode ver que isso é chamado de número. Este é o nome da variável e, em seguida, o valor é 42. Agora, um número inteiro, como eu disse, é um tipo específico de tipo de dados, um tipo de dados numérico, que é um número inteiro. Portanto, isso só pode salvar números inteiros ou números inteiros. E o alcance real que ele pode economizar, vai de menos 2 bilhões para mais 2 bilhões, como você pode ver. Portanto, esses são basicamente os números que você pode salvar que podem ser armazenados em um inteiro. Essa é a ideia. E depois há flutuador, ou quando você precisa de uma vírgula. Agora, o que é muito interessante com carros alegóricos e duplas que são quase a mesma coisa, não exatamente, mas quase a mesma coisa. Ambos são números de ponto flutuante. E a ideia é que isso realmente não é armazenado assim, é realmente armazenado como notação científica. Você pode ter visto isso antes de algum lugar. E isso é algo como 1,412 vezes dez para os quatro seria 14.120. E basicamente nesta notação aqui, os números de ponto flutuante são armazenados. E o que é importante com um flutuador ao usá-los, eles têm precisão de sete pontos decimais, o que significa que você pode ter sete números. Não importa se eles são ou não à esquerda ou à direita do ponto decimal, mas sete números e depois serão precisos, e depois disso ele será arredondado. É também por isso que geralmente você não quer salvar coisas muito, muito precisas em carros alegóricos. Então, por exemplo, se você tem dez mil ou 100 milhares de Bitcoin, algo assim. Isso definitivamente não deve ser salvo em um flutuador porque isso pode ser muito facilmente obter um erro de arredondamento. Portanto, esses são erros de arredondamento de ponto flutuante. Esses são muito comuns. Agora, um duplo é um pouco melhor, pois tem precisão de 15 pontos decimais. No entanto, ainda assim eles podem ser, isso ainda pode levar a alguns problemas de arredondamento. Então, isso é algo para estar ciente. Normalmente, na maioria dos casos, por exemplo, no nosso caso, isso realmente não importa. Então, se você tem um flutuador, geralmente que pode representar, por exemplo, você tem certas posições de bloco no mundo escrito isso entre essas posições de bloco porque, claro, um bloco não é como um único ponto no espaço como um pouco de um gradiente lá. E depois há um pouco de arredondamento que vai ficar totalmente bem. E essa também é provavelmente uma das razões pelas quais se você for como milhões de milhões de blocos em uma direção em algum momento, o mundo fica realmente confuso porque erros de ponto flutuante e coisas como isso. Então, esse provavelmente também é um dos motivos. Agora, existem alguns outros tipos numéricos que não são usados com tanta frequência, pelo menos pessoalmente, eu não o vi com tanta frequência. Muitas pessoas podem dizer, Bem, quero dizer, isso não está certo. Claro, você precisa estar ciente disso, mas geralmente eu não vi aqueles usados com tanta frequência. Para um byte há oito bits e ele pode armazenar números de menos 128 a 127. Então, eu chamaria isso de um pequeno número porque basicamente só pode armazenar uma certa quantidade de valores. Basicamente aqui, neste caso, um pequeno número é um pequeno número que pode armazenar entre menos 32000 e mais 32000. E então, por outro lado, é um longo que, como você pode ver, pode armazená-lo de menos nove quadrilhões para como quadrilhões positivos nove quadrilhões, que é Bree, isso é bastante impressionante. Isso é muito parecido com um número muito grande, geralmente, muito raramente usado. Como eu disse, pelo que posso dizer, um número inteiro é o número mais comum para um número inteiro. E então carros alegóricos ou duplos são usados para, bem, basicamente números decimais ou algo assim, certo? O próximo tipo de dados de suporte será os booleanos. Essa é uma espécie de lógica. Então, o que você pode pensar é, bem, temos um booleano, um booleano e seja verdadeiro ou falso. Portanto, pode ser um ou 0. Isso pode ser representado em um bit porque um pouco, se você sabe ou não sabe, pode ser 0 ou um, são os dois únicos valores possíveis que ele pode assumir. Então, isso é praticamente o mesmo. Pode ser verdadeiro ou falso. Então são esses ótimos vídeos, espero que sim. Então isso é verdade. E é esse HTML. Bem, isto é, espero que você não tenha pensado isso porque isso é falso na verdade. Então isso é uma espécie de coisa booleana. E a lógica é incrivelmente poderosa como todo o campo lógico. Por causa, é claro, a totalidade de todos os nossos computadores e sistemas operacionais e tudo isso é baseado em código binário. E, em teoria, os booleanos não são nada além de código binário, certo? Porque um verdadeiro é um e uma força é 0. Então, as mesmas leis se aplicam nesse sentido. Você pode pensar nisso assim, mas em geral booleanos, mesma forma com números inteiros, vamos dar uma olhada naqueles com um pouco mais de detalhes no futuro. Mas eu definitivamente queria apresentá-lo a eles. No terceiro e último tipo de grande parêntese aqui, nossos personagens e cordas para um personagem, como você pode ver, marcam um char. E este é um único caractere, então isso é marcado com essas aspas simples e simples aqui. E isso pode armazenar um único personagem e caracteres especiais regulam o comércio. Então eu posso colocar uma vírgula aqui, tudo bem. Posso colocar um traço aqui, como uma hashtag, a estrela de símbolo mais, tudo bem. Oh, bem, eu posso até colocar em um espaço e funciona. No entanto, o que não posso fazer é colocar dois caracteres aqui, então não funcionará porque dois caracteres ou vários caracteres próximos um do outro são chamados de string. Para uma string, como eu disse, é basicamente apenas uma sequência de caracteres. E isso é marcado com aspas normais. Então aspas duplas aqui e aspas duplas aqui. E como você provavelmente já viu, o fim de cada linha sempre tem os ponto-e-vírgula. Esses também são muito importantes aqui. E essa é uma espécie de ideia. Então você tem caracteres que são caracteres singulares e singulares e um, a, uma cadeia de caracteres é uma string. Então essa é uma espécie de ideia aqui. E então, no final, eu queria mencionar algo que definitivamente veremos no futuro também, que é nulo, a palavra-chave nula. Então você pode ver que esse teste de string é igual ao valor de null. Agora, o que é muito importante é que nulo não é 0. Está literalmente vazio, como se não tivesse valor. No entanto. Isso às vezes é no começo, especialmente um pouco difícil de realmente atravessar a distinção entre o que eu não entendo, sem valor. O que isso significa? Bem, ele simplesmente não tem valor indefinido, por assim dizer. É inexistente. Escreva este teste como enquanto ele está definido aqui, não é, ele não tem um valor, é nulo. E definitivamente vamos olhar para isso e ver isso em uma palestra posterior também. Portanto, não se preocupe se isso for um pouco confuso, não se preocupe. O resto deve ser pelo menos bastante compreensível no sentido de que, ok, temos alguns baldes, podemos pensar nisso, alguns contêineres nos quais podemos salvar alguns valores. E dependendo do tipo de valor que eles são, temos que escrever coisas diferentes na frente. Então esse é o tipo de ideia geral que eu queria passar aqui são os tipos de dados. Caso contrário, espero que isso tenha sido útil para você e você aprenda algo novo e eu te vejo na próxima palestra. Então, sim. 4. (Java) Syntax Java: Tudo bem, bem-vindo de volta à introdução Java para Minecraft Martin. E nesta palestra vamos dar uma olhada em como ler o código. Ou também vou chamar isso talvez de sintaxe Java. Então, a ideia é antes de tudo, e isso pode, alguns de vocês já terem sido como esperar um segundo. Ele tem ignorado tudo isso aqui em cima. O que é isso? Primeiro de tudo, vamos nos acalmar pois teremos que começar a construir mais alguns fundamentos antes falarmos sobre tudo o que acontece aqui em cima. Por enquanto, o que eu recomendo é que você simplesmente ignore isso. A única coisa que realmente nos preocupamos é que esse suporte inicial aqui. E então, se eu realmente colocar meu cursor lá, você pode ver que este acende tudo. Primeiro de tudo, certo, agora tem que acontecer entre esses dois suportes encaracolados. Isso é tudo o que vamos nos preocupar. Não nos importamos com o que isso significa. Nós não nos importamos com o que isso é, o que todos aqueles públicos, estáticos, vazios, principais, cordas , tudo isso, não se preocupe. Vamos descobrir tudo isso nas futuras palestras que estão por vir por enquanto. Vamos descobrir isso basicamente aqui dentro. Essa é a nossa principal prerrogativa no momento, embora, primeiro lugar, o código seja lido de cima para baixo. E isso é interessante. Bem, sim. Então é também por isso que temos essas linhas aqui, o que é muito útil, pode ser muito, muito útil na determinação das setas. Podemos dizer, Ei, você tem um problema lá na linha 18. Você olha para ele online. 18, Aí está. Certo. Justo o suficiente. Isso é muito útil. E geralmente há, é claro, exceções à regra. Mas, em geral, você lê de cima para baixo. Agora, se você tiver duas barras aqui, então você tem um comentário de linha única. E se você tiver essa barra, barra estrela e estrela, e você pode ter comentários em várias linhas. Então, isso também é algo para estar ciente. E O, Há algumas coisas diferentes que você pode fazer quando você tem uma variável, certo? Então, estamos de volta às variáveis. E nós vimos isso, é claro, certo? Tipos de dados diferentes. E a variável era como um bucket ou um contêiner no qual poderíamos armazenar um valor de um determinado tipo e temos que especificar isso. Portanto, quando você declara uma variável , declarar uma variável significa que você declara o tipo de dados dessa variável e o nome da variável. E note mais uma vez que todas as linhas terminam com um ponto e vírgula. Isso é normal. Então, cada linha, cada instrução termina com um ponto e vírgula. Isso é, a propósito, também muito interessante porque eu poderia, em teoria, certo? Outro. Então, em x e eu poderia fazer isso. Bem, isso não funciona bem porque estamos todos usando este dia 0. Então, por exemplo, eu poderia fazer isso também. Isso também funciona porque esta é uma única instrução, por isso não precisa necessariamente ser cada linha. E basicamente fazer isso também funcionaria mesmo que haja duas linhas. E, a propósito, isso é como uma coisa horrenda. Isso é como formatação que é do diabo. Nunca faça algo assim. Mas seja qual for o caso. Portanto, não é necessariamente linhas sempre, mas está em instruções únicas. Isso é um tipo de ideia. E você costuma dizer que cada linha tem que terminar com um ponto e vírgula é um bom começo. Basicamente, esse é um bom começo. Nem sempre é o caso, mas geralmente é o caso. Agora, isso está declarando uma variável e, em seguida, também podemos atribuir a uma variável um determinado valor. E isso é o que estamos fazendo aqui. Já declaramos isso. Então, se eu agora existe em algum lugar no éter do programa, digamos, e agora dizemos que eu sou igual a 30. Então, agora atribuímos um valor a essa variável, ok? Agora podemos fazer os dois ao mesmo tempo, declarando e atribuindo um valor, que é então índice igual a 10. E isso seria chamado de inicialização ou inicialização dessa variável nesse caso. E isso é muito interessante. Normalmente, as pessoas não jogam esses termos necessariamente. É apenas algo para estar ciente um pouco. Ok, eu declarei essa variável, agora eu inicializei aqui, atribuí essa variável, então é apenas algo que os termos aqui devem ser, pelo menos armazená-lo no fundo da sua mente. Essa é a parte mais importante aqui. E depois existe a possibilidade de acessar variáveis ou métodos. Falamos sobre métodos ainda de certas variáveis ou objetos. Também não sabemos bem quais objetos ainda são, mas vamos descobrir isso no futuro também. Mas, por exemplo, se tivermos uma string, podemos realmente obter o comprimento da string. Então, quantos caracteres estão nessa string fazendo ponto e, em seguida, algo depois dela. Então, se eu colocar isso, você pode realmente ver que uma enorme quantidade de coisas é jogada em mim como uma sugestão, conhecedores na parede, vamos olhar para essas coisas em uma palestra futura também. Por enquanto, só sabemos que o operador ponto também nos permite acessar certas variáveis ou métodos de uma, outra variável. Isso é o que devemos armazenar por enquanto. E então a aplicação real disso veremos em uma palestra posterior até muito, longe, por maior extensão e em muito mais detalhes do que isso. Mas, por enquanto, essa é uma espécie de essência geral sobre como ler o código aqui. Como eu disse, isso é claro que não é exaustivo. Isso não é tudo, mas essas são as principais coisas que eu queria passar por enquanto. Então você tem a ideia de declarar uma variável, atribuir uma variável e, em seguida, fazer as duas duas ao mesmo tempo e, em seguida, acessar algo com o operador ponto. E o mais importante, que este ano a escola deve ser ignorada e tudo isso deve ser ignorado e tudo entre esses colchetes encaracolados deve realmente ser prestado atenção para o tempo ser. Mas, como eu disse, vamos nos aventurar fora disso, esses colchetes encaracolados vingaram, mas será isso para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E te vejo na próxima palestra. Então, sim. 5. (Java) de saída e entrada: Tudo bem, bem-vindo de volta à introdução do Java aqui para modelagem de microondas. E nesta palestra, vamos dar uma olhada em produzir coisas e inserir coisas. Portanto, isso está produzindo algo para o console, bem como ler algo do usuário. Então, estamos basicamente armazenando para sobrecarregar nossa capacidade de realmente fazer algo. E a primeira coisa que vamos fazer é que vamos gerar o Hello world porque isso é algo que todo programador aprende na primeira vez. E isso é o que vamos fazer. Então, vamos digitar um sistema. E você pode ver que algumas coisas estão sendo sugeridas para nós. Nós vamos escrever este sistema com um S maiúsculo, muito importante, todos minúsculos e, em seguida, imprimir LN. E então vamos fazer um primeiro parêntese aberto. Os parênteses de fechamento devem ser gerados automaticamente. E então podemos ir aqui e colocar um ponto e vírgula. Agora este é o Oregon. Vamos ficar bem aqui. No entanto, agora queremos colocar algo entre parênteses e isso será produzido. Agora temos que fazer disso uma string. Portanto, vamos digitar as aspas basicamente aqui. E, em seguida, as segundas aspas também devem gerar automaticamente. E então podemos digitar hello world. Tão simples quanto isso. E agora, para realmente iniciar este programa, vamos até aqui, asseguramos que tudo esteja bem. Isso deve parecer exatamente o mesmo. E vamos clicar neste botão Executar. E depois de alguns momentos, você tem helloworld. Se esta foi a primeira vez que você executa um programa onde você tem primeiro literário começando a programar neste momento. E esta é a primeira vez que você executa isso. E tudo aqui diz hello world e isso diz que o processo terminou com o código de saída 0. Parabéns. Eu nem estou sendo como se não estivesse sendo, não quero ser condescendente aqui porque este é realmente um passo que todo programador passa. Em algum momento, eles vão escrever um programa Hello World e eles vão ser como esperar um segundo, eu posso fazer com que as coisas exibam essa E1. Então eu poderia, por exemplo, dizer olá alunos. E você vai ser como, como isso não pode ser o caso. Eu posso fazer isso. Sim, eu posso apenas executar isso. Se eu realmente executar isso corretamente, lá vai você. Vamos executar este Olá alunos. E agora diz Olá alunos, não se preocupe. Então, como você pode ver, isso é realmente muito, muito legal e isso vai ser sobrecarregado ainda mais porque agora vamos dizer que temos uma variável inteira x, que é igual a 10. Bem, por que não produzimos este sistema mais uma vez e eu posso começar a escrever isso. E você pode ver que isso é uma espécie de como se uma taxa selecionada seja meio que destacada, por assim dizer. E quando pressiono a tecla tab, ela realmente é concluída automaticamente. Então eu posso escrever isso muito rapidamente. Assim, você pode ver como também já, basicamente é uma linha de impressão aqui e , em seguida, também. E eu posso simplesmente colocar o x e olhar para isso. Tudo funciona e às vezes vai muito rápido. Então você pode olhar para isso assim, bem, isso é muito para isso, certo? Portanto, a linha de impressão do sistema, você pode ver o quão rápido isso às vezes funciona. Não se preocupe, eu vou tentar fazer isso, especialmente no começo aqui, um pouco mais lento para que todos possam basicamente acompanhar. E bem, podemos simplesmente colocar o x aqui, então a variável dentro desses parênteses e seguida, o valor está sendo emitido. Isso é muito legal, não é? Onde você tem a capacidade realmente produzir algo que está em uma variável. E agora vamos ficar ainda mais loucos. Então, mais uma vez, System.Out, linha de impressão. Uma vez que possamos simplesmente preenchê-lo automaticamente com a tecla Tab. E agora posso dizer algo como gerar algum valor. E agora olhe para isso. Posso ir além da corda, certo? Faça um plus x. sem erros. Tudo parece bem. O que vai acontecer agora? Bem, olhe para isso agora. saída de algum valor e, em seguida o valor da variável será emitido lá. Então isso é bastante frequente, doente se eu mesmo digo isso. Isso é realmente muito legal. Outra pergunta vem, bem, como podemos ler algo do usuário? Agora isso é um pouco mais complicado. Normalmente, isso é algo, você sabe, é uma espécie de, eu diria, semi-limitação de Java. É meio chato que seja complicado, mas não se preocupe com o que vamos escrever é o seguinte. Vamos escrever um scanner e, em seguida, apenas espaço tudo quando algo ficar vermelho aqui, não se preocupe. Vamos manter a calma. Está tudo bem. Em seguida, o scanner em pequeno é igual a um novo. E então, mais uma vez, digitalize com um grande S com um capitalista dentro dos parênteses. Então, vamos fazer o sistema de parênteses.IN. E vou acabar com isso com um ponto e vírgula. Agora, tanto o scanner aqui quanto o scanner aqui devem estar prontos. Isso é totalmente bom. O que você precisa fazer é clicar nisso e pressionar Alt e Enter para importar isso aqui. Então, como eu disse, geralmente queremos ignorar tudo isso, mas podemos fazer um pequeno pico aqui em cima. Assim, você pode ver importar o scanner Java util que isso é basicamente importado. Então, isso não é nada preocupante. Você pode, se isso for importante enquanto você está escrevendo isso, porque quando você pressiona a tecla Tab, quando você escreve o scanner, isso pode ser importante automaticamente, sem preocupações. Apenas certificando-se de que esta é a frase correta, bem, por assim dizer aqui. E que isso está escrito assim. Não vamos nos preocupar com o que isso significa. O que estamos fazendo aqui? Nada disso, nós só vamos saber, ok, precisamos disso para ler algo. Então vamos dizer sistema, linha de impressão, digitar seu nome de usuário, algo assim. E então o que vamos dizer, vamos fazer uma nova variável de string chamada input. E vamos fazer isso igual ao scanner. Isso. Em seguida. Lá vai você. Ok, então a seguir, como você pode ver, tem que ser escrito assim. Então, temos que colocar em seguida e , em seguida, abrir e fechar parênteses. E então está tudo bem. Então isso agora salvará o que vamos digitar no console nesta variável aqui, e então podemos fazer algo com ela. Por exemplo, vamos sair imediatamente novamente. Portanto, a linha de impressão do sistema, seu nome de usuário é, e então vamos apenas dizer entrada. Então, apenas para o, estamos testando isso basicamente. Então, vamos armazenar isso. E o que devemos ver é que muitos alunos tendem a gerar algum valor. E você pode ver que antes de tudo, o programa não termina automaticamente porque está aguardando nossa entrada. Então, vamos apenas dizer isso. Bem, meu nome de usuário é o Conde Andrew. Vou pressionar Enter e, em seguida, você pode ver seu nome de usuário. Então isso é muito legal como quando você pensa sobre isso. E isso também começa onde você pode brincar um pouco com isso. Você sabe, você tem alguma intratabilidade com o PC. Agora você pode realmente falar com o PC, por assim dizer, o que é muito legal. Portanto, este é um dos primeiros passos. Eu muito, basicamente, apenas aconselharia você a experimentar um monte de coisas aqui, apenas digitando algumas coisas, digitando algumas coisas. Na verdade, pode ser muito divertido, mas, é claro, vamos usar isso em futuras palestras e nas próximas tarefas também, onde basicamente vamos ler coisas avaliadas e depois fazer coisas dependendo do que é a entrada. Então isso é tudo bem legal. Mas isso, por enquanto, é para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E eu vou te ver na próxima palestra. Então, sim. 6. (Java) erros (Java) e como lidar com eles com eles: Tudo bem, bem-vindo de volta à introdução do Java aqui para modelagem do Minecraft. E nesta palestra, veremos alguns erros e como você pode pedir ajuda ao receber esses erros. Então, antes de tudo, estamos basicamente começando com algum código pré-feito novamente aqui. Mas não se preocupe. É claro, tudo disponível para você no repositório do GitHub ou como indivíduo também. E isso é muito interessante. Então, antes de tudo, basicamente podemos descomentar algumas linhas para encontrar alguns erros. O primeiro erro que teremos é que o java não consegue encontrar o erro de símbolo. E isso basicamente, como você vai ver isso é hey, algo está vermelho dentro do código. Por exemplo, vou apenas descomentar isso e você verá que a2 31, basicamente uma variável que estamos tentando acessar ou referenciar não existe na verdade. Então, isso vai ser vermelho. Agora, isso pode ser algo que você não notou. Então o vermelho também será como sublinhado aqui e na classe principal aparece e você terá um símbolo de problema e um problema lá. Então, haverá muitos sinais aqui, mas você pode não notar isso, o que é totalmente bom. Então, se você ainda executar seu programa, o que você será recebido é isso. Então, a primeira coisa a dizer é quando você recebe um erro, não se preocupe. Honestamente, receber um erro no início pode parecer muito assustador e você pode estar ficando nervoso. Digamos, não fique nervoso. Obter erros é realmente algo que é esperado quando você está programando para que algo funcione na primeira vez realmente deixa você muito suspeito porque é muito raro que quando você está trabalhando em algum código que ele funciona na primeira vez que o executa. Então, por favor, antes de tudo, sempre permaneceu calmo quando você recebe um erro. Não há nada assim. Não há vergonha nisso. Você não fez nada de errado e sempre será capaz de corrigi-lo. Então essa seta, neste caso, diz, como eu disse, java não consegue encontrar símbolo. Na verdade, ele nos diz qual é a variável aqui e onde ela está localizada. E se você der uma olhada no topo aqui, você pode realmente ver este 1128. E isso realmente significa que isso está na linha 28, no caractere ou em outra linha 11, caractere 2008. Então, isso é realmente muito legal. Então podemos descobrir imediatamente onde esta flecha está e podemos dizer: Ok, fiz um erro de digitação lá ou esqueci de fazer uma variável, algo assim. Esta seria essa flecha aqui. A segunda coisa que você pode encontrar em algum momento é exceção no thread main, Java, Lang, NullPointerException. Então isso significa que algo é nulo, o que significa que ele não tem um valor. Por exemplo, temos uma variável de string aqui. E definimos o valor como nulo, o que eu já lhe falei é significa que ele não tem valor. Não existe praticamente. Agora, se tentássemos agora tentar chamar o comprimento sobre isso, é claro, não faz sentido, porque o comprimento do nada também não é nada como se você não possa chamar um comprimento em algo que não existe, o que significa que vamos obter um NullPointerException. Então, isso se parece com isso. E isso seria chamado de rastreamento de pilha. Então, um rastreamento de pilha em termos como leigos, apenas em geral. Então você sabe, o que se trata é basicamente o código que foi chamado até este ponto, até que o erro tenha ocorrido. E você pode ver que isso aconteceu no cotton domain main e depois 16. Então, podemos realmente clicar nisso e isso nos dará a linha exata e, às vezes até mesmo a parte exata do código em que isso aconteceu. Portanto, este é o NullPointerException. Isso é algo que acontece rotineiramente, mesmo com desenvolvedores avançados, que às vezes você esquece de inicializar algo. Às vezes você simplesmente chama algo na ordem errada, esquece de chamar um método que é algo que acontece com muita frequência. Mais uma vez, nada com que se preocupar, mas essa é a exceção nula. Normalmente, você pode corrigir isso atribuindo corretamente uma variável. E então a última coisa que não é realmente como uma exceção, mas também vimos isso aqui. Portanto, este é o processo terminado com o código de saída um, ou às vezes também pode dizer que terminou com um valor de saída diferente de zero, algo assim. Ou também pode ser algo diferente de 1, 13042, o que quer que seja. Portanto, pode ser algum número que não seja 0. Essa é a coisa mais importante. Isso significa que há um erro. Você nunca deve postar apenas isso. Se você postar apenas, ei, eu tenho uma seta e você pós-processo terminou com códigos de saída 0 ou terminou com valor de saída diferente de zero. Todo mundo sabe que você não conhece Java. Agora isso não é um problema, é claro, porque você tem que começar em algum lugar. Mas isso só se alguém quiser ajudá-lo, certo? Então, por exemplo, se você fosse para o Q e um e você está tipo, Ei, meu você sabe, eu tenho uma flecha e ela diz isso. Se você postar isso, antes de tudo, vou saber que você provavelmente não assistiu a esta introdução do Java, que é claro que encontra sua própria decisão. No entanto, o que também vou notar que isso não é, isso não me dá nenhum valor. Isso só me diz que houve um erro. É isso. Isso é tudo o que isso diz. Se o valor de saída não for 0, isso significa apenas que houve um erro em algum lugar. Não sei qual é o erro. Não sei qual foi a exceção. Não sei de nada. Significa que, na verdade, terei que perguntar novamente. Pode ser um pouco frustrante porque então você tem que perguntar novamente, Ei, você pode me mostrar o log de erros é que há alguma saída lá. Basta colocar a flecha lá também. Normalmente, quando você tem um erro, é melhor dar muita informação em vez de muito pouco. Então, esse geralmente é o caso. Nem sempre é o caso. Como não solte apenas 80 arquivos diferentes em alguém que queira ajudá-lo ou nas perguntas e respostas, algo assim. Mas geralmente você deve ter algo assim, certo? Uma exceção e um erro, algum tipo de log algo que diz uma coisa em particular como essa exceção. Você pode ter uma exceção em algum lugar, algo assim. Então, isso deve ser como a coisa que você quer cuidar. Isso é apenas algo que eu queria te dar, o que pode ser muito importante. Borracha que já é isso. Portanto, isso é uma espécie de, apenas uma visão geral desses erros. E, claro, não hesite em perguntar se há flechas. Se você pegar flechas ao longo do caminho e pedir ajuda, tudo bem. Eu só queria mencionar, especialmente este ano porque pode ser frustrante, não só às vezes para mim porque, claro, então tenho que fazer uma pergunta de acompanhamento. E então, dependendo de quanto tempo isso vai funcionar e talvez você apenas procure por isso. E outra resposta não veio em 20 minutos, então você tem que fazer outra coisa e, em seguida, leva muito tempo. Então isso às vezes pode ser um pouco frustrante. Bem, seja qual for o caso, é isso para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E eu vou te ver na próxima palestra, no entanto. Sim. 7. (Java) integros, métodos de Arithmetic e math (de math math (o de (de (de %(o a (de de (de a de de: Ou voltarei à introdução do Java aqui para os núcleos modernos do Minecraft. E nesta palestra, vamos olhar para números inteiros. Vamos olhar para matemática, e vamos olhar para operadores aritméticos. Agora essas são palavras muito grandes. No entanto, tenho certeza de que vamos gerenciar. A primeira coisa que vamos fazer é inicializar dois inteiros. Isso será int x igual a 100 e int y igual a 20. Então, até este ponto, tudo deve ser bastante claro. No geral, isso é apenas, essas são duas variáveis, x e y. Eles têm o valor 120 respectivamente. Ambos são inteiros. Então começamos com a placa int. Então isso deve ser bastante simples. E também teremos um número inteiro chamado resultado. Agora vamos apenas declarar essa variável sem realmente atribuir nenhum valor a ela, porque vamos usá-la das seguintes maneiras. A primeira coisa que vamos dar uma olhada é adição. Então, esses são basicamente operadores aritméticos, adição, subtração, multiplicação , divisão, e então há um quinto tipo, que vamos dar uma olhada em apenas um momento. Portanto, o resultado aqui da adição é claro que será x mais y. Então isso não deve ser muito louco. Vamos apenas em x aqui. E esse operador, x na esquerda. A, um inteiro também pode ser um flutuador. Então isso também funcionaria. Então ambos, ambos, se X e Y, quando ambos os carros alegóricos também funcionariam totalmente. Agora, é claro que o resultado também teria que estar à tona. Muito importante. Pense nisso. Veremos um exemplo em uma futura palestra disso também. Como se você começar a misturá-los, mas isso deve ser bastante sensato. Simplesmente colocamos o símbolo de mais e , em seguida, basicamente, vamos adicionar x mais y. então vamos fazer o sistema, imprimir linha e depois imprimir o resultado apenas para que vamos ver, bem, isso deve ser um 120. Vamos ver. E, claro, é um 120. Tudo funcionando perfeitamente bem. É claro, também podemos usar uma subtração, certo? E o que vou fazer é, na verdade, vou deixar tudo isso certo? Então eu vou arrastar meu mouse aqui e, em seguida, pressionar controle C para copiar tudo isso para o meu mouse aqui, controle V para colá-lo. Eu costumo fazer algo assim apenas para que, você sabe, é um pouco mais fácil, porque isso é claro muito duplicado neste caso. Agora, para subtração, você provavelmente adivinhou. Só temos que colocar um sinal de menos aqui. E então, de repente, estamos subtraindo y de x, o que significa que isso deve ser 80. E é claro que é AD totalmente bom. E vamos realmente copiar isso como completamente. Mais uma vez vou selecionar esse controle C e depois Control V aqui. E então também vamos dar uma olhada na multiplicação e, claro, a visão também. Então a multiplicação será uma estrela aqui. E então a divisão é apenas uma barra. Então isso deve ser razoavelmente sensato, nada para ser louco demais. No geral. Essas são apenas as maneiras normais pelas quais você basicamente calcularia as coisas. Então é praticamente isso. Vamos passar pelo C 2005. Na verdade, está tudo bem. E agora a questão se torna, bem, qual é o quinto tipo? Ou o quinto tipo é , na verdade, o restante. Então, isso também às vezes é chamado de operador de módulo. Isso é em termos matemáticos reais. Mas para nós, é o operador restante e isso parece um sinal de porcentagem. Então, por exemplo, poderíamos dizer 20 restantes dois, o que, naturalmente, seria 0. Então, se vamos apenas copiar isso mais uma vez, Controle C, controle V, Isso será 0 porque quando dividirmos 20 por dois, então não resta restante. Portanto, esta é uma maneira muito boa de dar uma olhada se um número específico é ou não par ou ímpar. Então, isso é realmente muito legal. E esses são os cinco operadores aritméticos. Uma maneira bastante simples, todas as coisas consideradas. que frequência eles são usados? Bem, quero dizer, você vai usar alguma matemática dentro de toda a programação. Seja ou não na modelagem ou na programação em geral, há alguma matemática associada a ela, é claro. Portanto, essas coisas são definitivamente importantes de ter visto antes. E então a última coisa que vamos ver aqui será os métodos matemáticos. Agora, antes de tudo, não vamos nos preocupar com muitos problemas. Bem, é um método. Bem, você pode pensar nisso como uma função específica. Então, por exemplo, vamos fazer uma chamada dessa matemática. Então você pode ver se eu digito matemática, você pode ver o Java Lang e obter isso sugere isso. E então, se eu colocar um ponto, tenho, me sugeri um monte de coisas que posso chamar. E há coisas, por exemplo, como o método máximo aqui, onde absoluto, certo. Então eu posso chamar max aqui e posso dizer x, y. E então ele vai me devolver o valor máximo de cada um deles, o que, claro, neste caso , será um 100. Mas devemos ver no final aqui em um pop-out 100 eles atrás. Então, na verdade, bastante simples. E então vamos apenas duplicar isso por questão de argumentos ou Control D para duplicar isso. E vamos obter o valor absoluto de, por exemplo, digamos menos 500, que seria 500. Então, em matemática, como uma matemática, está escrito assim. Então talvez você já tenha visto algo assim antes com essas linhas absolutas, por assim dizer. E isso então se transforma em 500 porque realmente não nos importamos com o sinal que está na frente dele. Então, vamos ver como 500 também. E como eu disse, há muito mais coisas aqui, como você pode ver, este selo. Então você pode basicamente arredondar, arredondar para baixo. Você pode pegar o cosseno, você tem alguns expoentes. Então você pode colocar algo no poder do logaritmo 10. Há algumas coisas loucas aqui, arredondando aleatoriamente Mesmo, mesmo aleatoriamente, há até constantes como e e pi. Então, há um monte de coisas aqui. Normalmente, é muito raramente que você precisa usar. Muitos deles são especialmente algo como o máximo e o método Min e o método absoluto às vezes são realmente bastante úteis. E é bom ter visto isso antes, isso para que você não goste quando se depara com isso, quando você pode estar olhando para alguns repositórios do GitHub de outros modos ou apenas frio em geral de outras pessoas. E eles usam algo assim, então você não é completamente pego desprevenido, certo? Mas isso seria para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E te vejo na próxima palestra. Então, sim. 8. Operadores de atribuição (Java) Tarefas (UT: Tudo bem, bem-vindo de volta à introdução do Java aqui para modelagem do Minecraft. E nesta palestra, vamos olhar para os operadores de atribuição. Agora vimos o operador de atribuição normal, que é o símbolo igual. E há realmente uma coisa muito interessante para isso, porque isso é realmente uma espécie de operador lateral, certo? Então, vamos atribuir o valor certo que a variável esquerda. Então, não poderíamos simplesmente digitar algo como, por exemplo, 30 igual a y. Isso não funciona, certo? Na verdade, temos que tê-lo em uma ordem específica nesse caso. Agora que bem, essa será a palestra? É isso? Não, claro que não. Existem alguns operadores de atribuição específicos e muito interessantes que, bem, você sabe, você precisa os operadores aritméticos entendam. Mas o que podemos fazer é claro que podemos dizer x, por exemplo, é igual a x mais y, certo? Então, estamos apenas adicionando y a x neste caso. E depois escrevendo isso de volta na variável x, que funciona totalmente. Isso não vai ser uma flecha, tudo bem. No entanto, também poderíamos escrever isso de uma maneira um pouco mais agradável, e isso será x mais igual a y. Então isso também funciona aqui. E isso é realmente muito legal. Então é aqui que isso é incrível. Oh, isso é muito mais fácil do que isso. E geralmente também é um pouco mais fácil de entender. Agora, se isso realmente confunde você mais do que isso, tudo bem. No entanto, você terá que dar uma olhada nos operadores de atribuição, especialmente se, por exemplo, se você der uma olhada no código de outras pessoas, eles podem usar apenas estes e não por muito tempo maneira de escrevê-lo para que você tenha que estar ciente disso. Então, mesmo que você não esteja usando algumas ferramentas das quais estamos falando aqui, tudo isso é basicamente ferramentas, direitos de programa. Você ainda precisa saber sobre eles para ler o código que outras pessoas possam, certo? Então, vamos realmente apenas imprimir a variável x aqui, e então vamos passar pelo resto também, certo? Então, vamos selecionar isso, copiá-lo e, em seguida, vamos apenas, você sabe, apenas colá-lo em cinco vezes. Então, o que pode, é claro, fazer um minuss igual. É claro que também podemos fazer tempos iguais. É claro que também podemos fazer como Ned, como dividir iguais. E então, no final, podemos até fazer iguais restantes. E que eu nunca vi antes assim é realmente algo que provavelmente é um momento muito, muito específico em que isso é, tem que ser frio. Mas vamos ver se isso funciona. Claro que funciona muito bem para começar com um 140 porque adicionamos 20 aqui, certo? Então, estamos começando aqui com 120. Um adequado novamente é um 140, e depois subtraindo é um 120 e, em seguida, vezes 20 é 2400 e depois dividido por 20 é 100120 novamente, e depois dividir ou permanecer, é claro 0 porque podemos dividir um 120 por Wendy perfeitamente, o que, claro, é preciso exatamente. Isso é muito bom, muito bem feito. Então, se eu, no entanto, agora só queria adicionar um a ele, certo? Então talvez eu só queira fazer algo assim. X é igual a x mais 1, certo? Mas só quero adicioná-lo por um. Isso seria chamado de incremento ou incremento x por um. Bem, quero dizer, é claro que poderíamos escrever isso também, certo? Podemos apenas fazer isso. Sim, claro, isso também funcionaria muito bem. Mas há ainda uma maneira mais fácil de fazer isso. E isso será x plus plus. Olhe para isso. Isso é muito louco. Então vamos daqui para cá, mas isso é realmente o quão louco isso pode ser. E vamos apenas imprimir isso. E então, claro, você sabe, x menos menos, é claro que também funciona. Isso seria decrementá-lo. Então, isso é, vamos mantê-lo um pouco aqui. As plaquetas, então incrementam, incrementando e, em seguida, também isso seria decrementando. Então, basicamente, estamos apenas adicionando um ou estamos subtraindo um. Vamos dar uma olhada. Começamos em 0 aqui. Adicionar um, adicionar dois é dois ou adicionar outro, certo é 23. E então estamos imprimindo e depois decrementando-o, e então voltamos às 2. Então essa é uma espécie de ideia geral aqui. Esses são os operadores de atribuição e, em seguida também incrementam e decrementam a Europa, o que também é importante. Mas esses dois vão ver muito, especialmente esses X plus e x menos menos. Essas são coisas que definitivamente são usadas com muita frequência em certas capacidades, digamos dentro do código. Mas isso já seria para esta palestra aqui. Espero que você tenha achado útil e ele aprendeu com o Novo. E eu vou te ver na próxima palestra. Então, sim. 9. (Java) booleans e operadores de comparação (de Booleans (Java) operação): Tudo bem, bem-vindo de volta à introdução do Java aqui para modelagem do Minecraft. E nesta palestra, vamos olhar para um booleano e operadores de comparação. Da última vez que olhamos para números inteiros, e agora vamos seguir em frente e olhar para os booleanos. Assim, os booleanos em geral, podemos lembrar disso da segunda palestra, são basicamente um tipo de dados que pode salvar um verdadeiro ou um falso. Por exemplo, vamos fazer um novo booleano aqui. Por exemplo, gosta das palestras, palestras principais que são escritas corretamente, e isso é claro verdade, vamos esperar que sim. E vamos também fazer um booleano, que é, por exemplo, questionado. E vamos apenas fazer isso falso por enquanto, talvez isso se torne verdade mais tarde, mas por enquanto, isso é falso. Então, lembramos de booleanos, como eu disse, um verdadeiro ou falso, 1 ou 0, essa é a ideia. E podemos até imprimir isso, certo? Por exemplo, podemos dizer que você tem, ou você gosta dessas palestras. Digamos que você goste dessas palestras. Quem gosta dessas palestras? E então eu posso pressionar Control D para duplicar isso. E, por exemplo, você pode dizer que você fez uma pergunta nas perguntas e respostas. Então eu poderia, por exemplo, dizer isso. E então, em vez de gostar das palestras, posso dizer fazer perguntas. Se eu fosse fazer isso, então o que vamos ver é apenas verdadeiro e falso, basicamente como uma saída de string, eles estão totalmente bem. Certo, então esse é o tipo de ideia dos booleanos, certo? Verdadeiro ou falso, justo o suficiente. Mas agora o que são operadores de comparação? Bem, vamos pensar sobre esses operadores de comparação, certo? Bem, há alguns deles. E a ideia de operadores de comparação que, claro, bem, vamos comparar dois valores diferentes entre si. E isso vai retornar um booleano porque, claro, se compararmos algo, por exemplo, poderíamos dizer maior do que o certo? Então, temos algo que é maior do que outra coisa, então, é claro, ou será verdade ou falso, certo? Se eu vou dizer, ei, tenho uma maçã que é do tamanho de um beisebol. Como tudo bem, justo o suficiente. E então eu tenho uma maçã considerável como uma bola de futebol. Bem, obviamente, o tamanho de um futebol é maior, então haverá como um verdadeiro sob isso. Há também um maior ou igual. Há também iguais, não há iguais. Eles são menores e menores ou iguais a. Então, esses são os operadores de comparação. Não vamos olhar para cada um deles individualmente. E vamos dar uma olhada um pouco. Então, o exemplo real que vamos analisar é, por exemplo, você tem uma pontuação, ou talvez tenha feito um exame, certo? Você escreveu um exame e sua pontuação é 98. Bem, muito obrigado. Essa é uma pontuação muito boa e na verdade é o seu dia de pontuação, você entra. Então você pode dizer, bem, poderíamos escrever em um booleano que é chamado de classe passada, certo? E você passa essa aula quando exatamente. Podemos pensar sobre isso. Bem, é claro que você precisa de pelo menos 50 pontos. Digamos apenas, por uma questão de discussão aqui, você precisa de 50 pontos para passar nesta classe. Bem, é muito fácil. Você pode apenas dizer que sua pontuação tem que ser maior ou igual, 50. Isso faz sentido? Então isso deve fazer sentido intuitivo. Tudo considerado é que isso seria verdade no nosso caso, claro, mas se sua pontuação mudar, então a resposta aqui muda, certo? Porque assim que isso não for mais perna, se for 49, você não passa mais na aula, certo? Então isso deve ser pensado em bastante autoexplicativo. Então, podemos até imprimir isso. Então, basta sair do sistema, imprimir a linha, digamos, por exemplo , você perguntou, vamos apenas colocar isso e depois passar a aula, certo? Então, vamos ter um verdadeiro se for verdade e um falso, se não for. E podemos até dizer algo como com sua pontuação mais pontos, algo assim. Podemos dizer isso. E se eu agora correr isso e ver você passar realidade com 98 pontos. Se eu fosse colocar isso em 49, o que, claro, neste caso agora não é mais verdade. Portanto, nenhum 49 não é mais maior ou igual a 50. Bem, isso agora retornará um falso. Você verá, lá vai você. Você passou falso com 49 pontos. Vamos manter isso como DOE de 1998. E vamos pensar sobre isso também. Então, vamos ter outra ideia aqui. Então também podemos ter um booleano, por exemplo, tem pontuação perfeita, certo? E isso pode ser igual à sua pontuação é igual a 100. Este é o operador igual. Muito importante que esses sejam dois sinais iguais. E isso é algo que às vezes as pessoas ficam confusas com conhecedores. Um sinal de igual é o operador de atribuição ao qual estamos atribuindo um valor a uma variável. E dois sinais de igual é o operador de comparação onde estamos comparando se esse valor dessa variável aqui é ou não igual ao valor dessa. E isso é muito importante. E aqui, claro, isso é falso. Como é claro 98, não igual a 100. Isso também deve ser bastante simples em geral. E podemos até fazer algo assim que seja muito interessante. Podemos até negar alguma coisa. Então, isso é basicamente esta a marca de declamação aqui, no entanto. Também podemos dizer algo como, ei, passamos a aula aqui, e então podemos fazer outro booleano chamado classe falhada, falhou conosco. E isso pode ser igual a, bem, não passar a aula, certo? Então, nós apenas negamos se passamos ou não na aula. E, claro, isso faz sentido. Então, se isso é um pouco confuso, você está escrevendo, como realmente escrever um texto de escritor. Se a classe falhada for verdadeira, a classe tem é falsa, é claro. Então, esses sempre precisam ser opostos um do outro. Então, podemos sempre negar isso. Isso também pode ser uma ideia. Então, anular é claro, negar basicamente significando que os dois colocam o ponto de exclamação na frente, significa que verdadeiro se transforma em falso. E então, se for falso, ele se transforma em verdade. Ele retorna verdadeiro então certo? Essa é uma espécie de ideia. Operadores de comparação. Você também pode pensar nisso. Eles retornam operadores de comparação. Você pode pensar nisso assim. Quando tínhamos uma classificação mais, pegamos um número inteiro à esquerda, mais um inteiro à direita e retornamos um inteiro. Novamente, faz sentido intuitivo absoluto. Você nem pensa nisso quando está, quando está trabalhando em matemática e calculando coisas. Quando você faz 5 mais 5, como é claro que ele vai devolvê-lo para 10, que é um número. Bem, o operador de comparação é praticamente o mesmo. Você acabou de colocar, por exemplo aqui um inteiro e um inteiro, e você retorna um booleano. Isso é tudo o que há para isso. Mas a única coisa que realmente muda é o tipo de retorno, por assim dizer. Pensando nisso e é isso, algo a ter em mente aqui. E esses seriam os operadores de comparação. Eu recomendo apenas brincar um pouco com isso. Não deve ser muito louco. Na verdade, é apenas comparar dois valores diferentes entre si. E isso é então expresso como um booleano, o que deve realmente fazer sentido é que há apenas uma resposta certa neste caso, certo? Ou a pontuação é maior ou igual a 150 ou não, implica isso. Mas seja qual for o caso, é isso para esta palestra aqui. Espero que você tenha achado isso útil e tenha aprendido algo novo. E te vejo na próxima palestra. Então, sim. 10. (Java) Booleans e operadores lógicos (Java).: Tudo bem, bem-vindo de volta à introdução do Java aqui para modelagem de microondas. E nesta palestra, vamos olhar para operadores lógicos. Então eu preparei alguns booleanos aqui, assisto a palestras, fiz perguntas, terminei tarefas e revisão engajada. Esses são, naturalmente, relacionados a um cenário como um curso, digamos. E agora vamos dar uma olhada nos operadores lógicos. E há três deles, basicamente nos quais vamos dar uma olhada. Há o fim, há o OR e o não. Então, vimos anteriormente onde fomos capazes de negar algo e o E, e o OR também são muito interessantes. Então, os operadores lógicos recebem dois booleanos e lhe dão um novo booleano. Então, por exemplo, para o fim dos booleanos, você tem que dar, tem que ser verdade, e então ele retorna verdadeiro. Caso contrário, ele retorna false. E para o, ou qualquer um deles tem que ser verdade e então ele retorna um verdadeiro. Portanto, isso só retorna falso se ambos forem falsos. Então, por exemplo, você poderia pensar nisso assim. Então booleano terminou o curso, certo? Então, se você quiser terminar o curso, você precisa ter assistido às palestras e terminar as tarefas. Isso deve fazer sentido. Esse tipo de um bom exemplo concreto aqui. E então você também poderia dizer, bem, um fã, certo? Então, digamos que seja fã, certo? Então, alguém que é fã terminaria o curso. Então, núcleos acabados e revisão de Eva, que também devem fazer sentido geral. E agora alguém que pode estar aprendendo, como talvez aprendendo muito, assistiu às palestras ou fez a pergunta. Então isso é algo que está aprendendo, certo? Assistindo às palestras ou faça uma pergunta. Então, qualquer um deles poderia ser verdade e, em seguida, aprender também seria verdade. Vamos uma espécie de ideia geral aqui. E há mais uma coisa que eu tenho e isso vai ser isso aqui. Portanto, esta é apenas uma visão geral do que basicamente acontece. Você também pode baixar isso como uma folha de truques. Isso está disponível nos recursos. E a ideia aqui é que ele apenas mostra quais são os diferentes tipos de resultados, isso é basicamente o que são os resultados. Então você tem um e B. E então, dependendo do que eles são, este é o retorno que é dado, como eu disse, ambos têm ser verdadeiros para que as respostas retornem um verdadeiro. E aqui, se algum deles for verdadeiro, isso retorna um verdadeiro. Caso contrário, é falso. Você também pode pensar nisso, escrever um ou B para meio que, é meio que realmente assado na linguagem quando você pensa sobre a negação, como eu disse, nós já falamos sobre isso é uma espécie de geral ajuste quando se trata dos operadores lógicos. Há, claro, um pouco mais lá também sobre isso, isso é realmente um bom começo para isso? E então, é claro, a coisa real que você pode pensar é que quando você tem um daqueles que retorna um booleano, você pode, é claro, então encadeá-los juntos. Então você também pode dizer, por exemplo, terminar fazer pergunta, certo? Então você pode ver que, como isso, é claro, retorna um booleano, agora podemos usar o operador AND novamente. Então, isso funciona muito parecido com o que os operadores aritméticos eram. Claro que você também pode mais, mais, mais. Você pode ter 5 mais 8 mais 7 mais 9 mais 15. Isso funciona totalmente bem. De forma semelhante, você também pode encadear os operadores lógicos juntos, certo? Mas isso seria para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo e eu te vejo na próxima palestra. Então, sim. 11. (Java) SE (Java) MEDIse e declarações de else: Tudo bem, bem-vindo de volta à introdução Java para modelagem do Minecraft. E nesta palestra, vamos olhar para as declarações if e else. Agora, nesta palestra, basicamente vamos começar a ter alguma interação com o computador. Muitas das palestras anteriores eram muito teóricas, é meio que mostrando alguns conceitos. Mas nesta palestra, vamos estar muito bem interagindo com o computador. Vamos começar fazendo dois números inteiros. Exame 1, digamos, por exemplo, 65 e exame 2, que será 51 por enquanto. E podemos imaginar que vamos dizer que temos que escrever um programa que avalie esses valores desses dois exames. E basicamente diz: Ei, você falhou ou passou no exame 1, você falhou ou passou no exame 2. E então, no final, talvez quando as pessoas passaram nos dois exames, talvez algo seja impresso Como você passou na aula ou algo assim. Então, como podemos fazer isso? Bem, o que podemos fazer é fazer uma declaração if. E para isso, literalmente, apenas gostamos se, bem aqui. E então podemos fazer o seguinte. Podemos colocar parênteses. E se você colocá-lo em um parêntese aberto, os parênteses de fechamento devem gerar automaticamente. E dentro desses parênteses temos que colocar um valor booleano. Então, lembramos de volta às duas palestras anteriores onde tínhamos operadores de comparação. Então o que podemos dizer é que, bem, se o exame 1 for maior ou igual a 50, então sabemos que passamos no exame. E então colocamos escondido aqui é depois dos parênteses de fechamento, colocamos um suporte encaracolado. E se eu colocar o suporte encaracolado aberto e pressionar Enter, o suporte curly de fechamento deve ser gerado automaticamente para você. E agora o que podemos fazer é que podemos escrever outra coisa. Então podemos dizer sistema fora, linha de impressão. E então, por exemplo, você tem um exame anterior. No entanto, esse todo o código entre esses dois colchetes curly aqui acontecerá quando o que estiver dentro das instruções if. Então, dentro desses parênteses, é verdade. Então, se isso for verdade, isso vai acontecer. Então, isso é muito legal, na verdade. E então podemos sobrecarregar isso adicionando um else aqui no final e também colocando um colchete encaracolado. E mais uma vez, colocamos o suporte encaracolado aberto em qualquer pressão Digite um suporte curly de fechamento deve gerar automaticamente aqui. E então, por exemplo, podemos selecionar esse controle C controle V para colá-lo. E então podemos dizer que você falhou no Exame 1. Então, este ano, desde o outro realmente acontece quando isso é falso. Isso realmente funciona muito bem para nós. Então, podemos basicamente usar isso para, bem, dar uma olhada se o Exame 1 foi ou não aprovado ou não. Então, vamos realmente executar isso e devemos fazer um exame do U. E é claro que estamos recebendo isso, como neste caso, exame 1 é maior que, maior ou igual que 50. Então isso está sendo chamado. Então isso é muito legal. Agora podemos basicamente fazer exatamente a mesma coisa para o segundo exame. Então, vamos apenas copiar todo esse Controle C selecionado, Controle V. E então aqui vamos dizer Exame 2. Aqui vamos dizer Exame 2, e aqui também vamos dizer Exame 2. Isso é realmente muito legal. Todas as coisas consideradas. E então a pergunta se torna, bem, quero dizer, agora queremos sair quando você realmente passou nos dois exames. Então, como podemos fazer isso? Bem, agora estamos ficando muito loucos. Então, as duas últimas palestras parecerão um pouco mais coerentes, por assim dizer. Vamos dizer o exame 2. exame 1 é maior ou igual a 50, certo? Então isso ainda está passando neste Exame Final 2. Então, certo, este exame 2 aqui é maior ou igual a 50. E então, se isso, se ambos forem verdadeiros, então sabemos que você passou na classe para que possamos copiar o sistema aqui e então podemos apenas dizer que você passou, digamos que a classe apenas por uma questão de argumento aqui. Então isso é muito legal, certo? Temos agora declarações if e if else, e o que você também pode fazer a propósito, quando você tem uma declaração else que você pode colocar outra declaração if aqui, certo? Então você pode simplesmente colocar este aqui. Basicamente, se isso for falso, então então então coloque outra declaração if é onde você vai basicamente, apenas por uma questão de argumento, basta dizer verdadeiro aqui. É claro que isso também funcionaria, mas, você sabe, e então podemos dizer outra coisa e basicamente encaderná-los para que você possa fazer se mais, se mais, se mais, e o último sempre será outro ou também não pode ter outro aqui também. Isso também funciona. Eu queria mencionar isso também. Mas agora o mais legal é, bem, vamos pensar nisso. Digamos que este seja, na verdade, um programa que o professor entra em que o professor entra e realmente escreve nos resultados do exame. Oh, o quê? Bem, lembramos como podemos ler algo em que temos que escrever em scanner, scanner, scanner é igual a um novo scanner. E depois system.out.print. E então esse tipo de funciona apenas para nós. Lembramos que não queremos nos preocupar muito com o que isso significa. Então podemos dizer algo como linha de impressão do sistema e dizer resultados ou exame um. Certo? E então vamos apenas duplicar isso. Faça resultados para um exame 2. E então podemos dizer que o Exame 1 é realmente igual ao ponto do scanner next int aqui, certo? Então, vamos ler em um número inteiro e depois salvá-lo no exame uma variável. E a mesma coisa que vamos fazer para ir. Agora, o que vai acontecer é muito legal. E começamos isso e agora está realmente esperando que façamos um exame. Bem, infelizmente, 32, na verdade não 320, mas 32. Bem, e então os resultados para o exame dois, eles foram realmente muito melhores. Havia 68, infelizmente, só um pouco, não o suficiente para 69. E então você pode ver que falhou no exame 1 e no exame passado também. Então agora estamos realmente começando a entrar em uma espécie de parte dessa introdução java, onde você é capaz de realmente fazer algo com o computador. E você realmente vai ver isso na primeira tarefa também para a próxima palestra será uma espécie de versão alternativa da declaração if, o que também pode ser muito importante. E, em seguida, a primeira tarefa, eu recomendo fazer as atribuições aqui para a introdução do Java, especialmente quando você é apenas um iniciante , porque elas podem ser realmente úteis. E com isso, é claro, o núcleo está disponível em um repositório ou apenas também. Mas dê uma olhada naqueles que estão nos recursos. E eu recomendo brincar um pouco com isso, apenas ler alguns números em compará-los, fazer algumas declarações if, apenas fazer um monte de coisas legais como esta, você já pode fazer um jogo muito legal. Então, mas por enquanto, isso seria para esta palestra aqui. Espero que você tenha achado útil e aprenda alguns dos novos. E te vejo na próxima palestra. Então, sim. 12. (Java) switch: Ou voltarei à introdução do Java aqui para modelagem do Minecraft. E nesta palestra muito curta, vamos olhar para a declaração switch. A instrução switch é como o primo pequeno da declaração if, por assim dizer. Por isso, é muito semelhante. Vamos dar uma olhada. Então, vamos fazer um número inteiro chamado de colocação de metal, que é por enquanto apenas um dentro. Você poderia imaginar este representando a colocação, por exemplo, nos Jogos Olímpicos, certo? Então, uma seria a medalha de ouro, prata, bronze. Então, dois são prateados e bronze são três. E então qualquer outra coisa como discos, sem metal. E poderíamos fazer isso apenas fazendo algumas declarações if, quem quer que também pudéssemos fazer uma declaração de troca. Você pode ver se eu digito o switch aqui, então dentro dos parênteses, coloquei a variável que quero que avaliemos. Então, mais uma vez, faça o colchete encaracolado ou o segundo deve gerar automaticamente. E agora eu tenho que realmente especificar em cada um, dentro desses colchetes encaracolados, cada um dos casos que essa variável pode assumir. Então eu posso dizer o caso 1. Então isso significa que ele assumiu o valor um, linha de impressão do sistema e, por exemplo, digamos medalha de ouro. E então posso dizer o caso dois. E então posso dizer linha de impressão do sistema, prata, metal. E então, mais uma vez, no final aqui posso dizer o caso três, sistema. A linha de impressão do sistema. Lá vai você. Medalha de bronze. No entanto, ele está formatado, tudo bem. E então também podemos dizer padrão, o que significa que isso será chamado se não for esse caso, isso fica mais nesse caso. Então, temos casos predefinidos aqui. E então, no caso padrão, ele realmente será chamado se for qualquer outra coisa que possamos dizer que não há metal. E a primeira coisa que você notará é esperar um segundo. Temos que definir todos os casos. Sim, aqui, o problema é que você pode usar algo como maior ou igual, o que imediatamente torna muito mais fácil restringir algo. Se eu quisesse fazer a avaliação do exame aqui, eu realmente teria que passar por cada caso. Então eu tenho que passar por casos de um 50 ou um a 49 por dizer, ei, você falhou e, em seguida, os outros para você tiveram sucesso ou você passou. Portanto, a instrução switch nem sempre é a melhor escolha. Pode ser, no entanto, às vezes. Então, vamos dar uma olhada nessa lista. É claro que, na verdade, imprime medalha de ouro. Mas a primeira coisa que você vai dizer é esperar um segundo. Na verdade, ele imprimiu tudo exatamente. Porque há mais uma coisa que realmente precisamos fazer. E é quando você tem o caso, no final, você tem que terminar com uma pausa aqui. Temos que colocar essa pausa. Caso contrário, basicamente, ele será preservado. Ele só vai passar pela instrução switch vai continuar e apenas retirar todos os casos. E se tivermos a pausa aqui, então você verá que apenas o relevante realmente será tomado. Vamos colocar em três apenas por uma questão de discussão aqui. Então, como você pode ver, isso agora funciona. Portanto, isso é muito importante para que a palavra-chave break aqui deve ser usada com a instrução switch. Isso às vezes pode ser um pouco irritante. Portanto, o switch deles geralmente para números inteiros é bom, pode ser usado. Geralmente é usado para enums porque enums têm valores definidos que eles podem tomar e que geralmente é mais fácil para os casos do que é muito raro ou que é basicamente impossível. Você não deve usar floats em instruções switch porque aqui, é claro, você precisa definir o caso exato. E devido ao arredondamento flutuante ou erros que podem ocorrer, isso pode nunca funcionar. Portanto, nunca use instruções floats e switch. Basicamente, isso é uma coisa muito importante de se lembrar. Caso contrário, uma instrução switch, mesmo que você não a use você mesmo, pode, é claro, aparecer no código de outra pessoa. Você terá, pelo menos, ter que ter visto isso antes, certo? Mas isso já seria para esta palestra aqui. Espero que você tenha achado útil e os neurônios e o novo, eu te vejo na próxima palestra. Ah, sim. 13. TARde 1: jogo Trivia: Tudo bem, bem-vindo de volta à introdução Java para Minecraft modding aqui com a primeira atribuição. Na primeira tarefa será uma criação, um simples jogo de trivia. Vou explicar em breve o que isso implica. Embora a ideia seja que você deve definir pelo menos três perguntas. Eu recomendo fazer três perguntas, três respostas, isso será suficiente. Caso contrário, o código ficará muito confuso muito rápido. E o que eu quero que você faça é que você solicite que o usuário digite a resposta deles. Você pode usar o scanner para isso basicamente para obter o que eles digitaram e , em seguida, avaliados com instruções if e else para verificar se a resposta que o usuário digitou estava correta. Então eu recomendo rever a palestra de entrada de saída é que foi muito importante nesse caso. E a palestra if else também pode ser muito interessante olhar para ela mais uma vez. Então, se eles estavam corretos, faça a saída que estavam, e se eles estavam errados, então diga ao usuário que eles estavam incorretos e também exiba a resposta correta. Outra coisa que você deve fazer é basicamente apenas incrementar um total de pontos, o que significa que quando o usuário tem uma resposta correta que nomeia aumentada em um, então, no final, você só tem um saída exclusiva para cada um dos diferentes totais de pontos. Então basicamente três, basicamente dizendo, ei, você fez tudo correto para algo como 0 minutos, ok, um erro, um e assim por diante e assim por diante. Então basicamente de 0 a três, tendo algumas declarações if else if no final, há duas coisas a ter em mente. Portanto, essas são algumas dicas que você terá que ter em mente quando estiver lendo em uma string do usuário, use o ponto do scanner próximo e não o ponto do scanner na próxima linha. Porque se você estiver usando a próxima linha do ponto do scanner, isso às vezes estraga a maneira como isso é lido. Mas eu recomendo fazer isso. E então, quando você está lendo em uma resposta disso, acabou em seguida, temos uma string e você quer compará-la com uma string. Não use iguais, iguais, mas use o ponto de entrada igual e, em seguida, coloque a resposta, a resposta correta dentro dos parênteses aqui. Isso também retornará um valor booleano e tornará isso um pouco mais fácil. Então, caso contrário, porque às vezes não funciona e isso definitivamente funcionará. Então isso é ter isso em mente. E essa é praticamente a tarefa aqui. Isso também está escrito como texto aqui também. E eu suspeito que para um iniciante, isso é algo em torno de 45 a 60 minutos. Eu definitivamente recomendaria tomar seu tempo com isso. Provavelmente voltando para as palestras antigas, dando uma olhada na palestra de entrada de saída, if e else declara palestra. E com isso, você deve estar quase completamente pronto. Basicamente, isso é praticamente o que você precisa. E depois de terminar, você terá acesso à solução, é claro, e também vou passar pela solução em outro vídeo. Então, seria isso. N, Boa sorte. 14. SOLUÇÃO 1: jogo Trivia: Tudo bem, então você passou pela primeira tarefa e aqui está o passo pela solução. Então você provavelmente já viu como parece que uma hora só vai passar. Então, é claro, as perguntas aqui neste caso são realmente feitas como strings. Isso, claro, faz muito sentido, certo? Caso contrário, você pode realmente salvar as perguntas de qualquer forma. E a única resposta é, na verdade , em um número inteiro, que funciona. No entanto, também vejo o ponto em tornar isso uma string normal também. As respostas excessivas seriam corretas. Portanto, não se preocupe. Lá. Temos pontos inteiros e, em seguida, um scanner, e depois começamos, produzimos a primeira pergunta. Em seguida, dizemos que a entrada do usuário número 1. Vamos colocar isso aqui. Vamos ver se isso é igual à primeira resposta. Se for, vamos incrementar os pontos, mostrar que estava correto e você tem tantos pontos. E então, caso contrário, vamos dizer incorreto e produzir a resposta correta. Depois disso, estamos praticamente fazendo exatamente a mesma coisa. Vou colocar a segunda pergunta, obter a entrada do usuário novamente e igualá-la ou dizer: Ei, isso é igual à resposta aqui, incrementando os pontos se estiver correto, produzindo isso e, em seguida, dizer não, está incorreto, esta é na verdade a resposta correta. E depois pela terceira vez novamente. E então, no final aqui, você pode ver que basicamente passa por uma espécie de cascata aqui. Então, pontos passando por três a 0. Então eu também tenho uma espécie de ovo de Páscoa aqui. Quando você tem menos de 0 pontos que você ganha, como você consegue pontos negativos? Porque não há como obtê-los. É claro que você poderia também algo em que você obtém alguns pontos negativos se você fizer uma resposta particularmente estúpida ou algo assim, que também funcionaria. Mas eu não implementei nada aqui. Foi apenas um exemplo. Então, é assim que isso pode funcionar. Portanto, esse é um exemplo. Mais uma vez, se o programa real funcionar certo? Então, se isso funcionar para você e você pode jogar este jogo e funcionar, mas parece diferente disso. Isso é absolutamente bom. Como não se preocupe em tudo. Então essa é a beleza aqui. Há várias maneiras de fazer isso, e veremos isso nas próximas tarefas, bem como basicamente sempre usaremos esse jogo de curiosidades também, uma espécie de modelo. E vamos redesenhar essas próximas tarefas basicamente de uma maneira diferente. E isso é, espero que você consiga ver que fica mais fácil e diferente, digamos nas futuras palestras e nas tarefas futuras. Mas isso será para essa solução aqui. Espero que você tenha achado essa tarefa útil e aprenda algo novo. E te vejo na próxima palestra. Então, sim. 15. (Java) de corda): Ou voltarei à introdução do Java aqui para modelagem do Minecraft. E nesta palestra, vamos olhar para strings e alguns métodos de string. Bem, basicamente ao redor da corda, por assim dizer. E vamos antes de tudo, começar criando uma nova variável de string chamada frase. E isso vai ser igual a, é uma maravilhosa introdução ao Dava. Bem, vamos esperar que isso também seja verdade. Mas seja qual for o caso, é isso que o valor da nossa variável string aqui é. E nós só vamos imprimir isso. Então, frase aqui, frase de linha de saída do sistema. E agora a questão é o que mais podemos fazer aqui? Bem, a primeira coisa que vamos fazer é, na verdade, duplicá-lo. Vamos alinhar. E o que vamos dizer isso é feito pelo Controle D a propósito. E o que vamos fazer é dizer que o comprimento é, vamos dizer algo como mais. E então podemos dizer o comprimento do ponto da frase. Então, como você pode ver, posso chamar o comprimento do ponto com os parênteses aqui, que significa que esta é uma chamada de método. Ainda não temos 100% de certeza do que é isso, mas já vimos isso antes algumas vezes, e isso é basicamente apenas nos devolve a duração. E se eu passar o mouse sobre isso, você pode ver em um inteiro retorna o comprimento da string, o comprimento é igual ao número de caracteres nessa string. Então, isso é basicamente unidades Unicode. Não vamos nos preocupar com isso. É basicamente igual aos caracteres nessa string. Vamos ver. O comprimento é 35. Então isso é interessante aqui. E também, é claro, também produzimos a string real também. Mas o que mais podemos fazer? Temos que ser capazes de fazer algumas coisas interessantes. Claro, podemos. Vamos realmente obter essa saída aqui. Na verdade, vamos duplicá-lo três vezes em nada. E a primeira coisa vai ser gritar, bem, isso vai significar que tudo aqui, eu vou me transformar em maiúsculas. Como fazemos isso? Bem, podemos fazer frase dat para maiúsculas aqui. Isso realmente já sugeriu. E então, claro, a mesma coisa seria sussurrar, certo? E então vamos sentenciar isso para minúsculas aqui. Então, isso só vai para a primeira das letras maiúsculas e minúsculas alternativas. E então, apenas por uma questão de argumento, vamos também mostrar a frase mais uma vez. Oh, vamos também adicionar um comentário, certo, então isso é maiúsculo e minúsculo. Tão bastante simples. Podemos simplesmente transformar a string inteira para maiúsculas, uma string inteira para minúsculas. E então aqui o que devemos apenas obter a corda minúscula também, certo? Então, se acabarmos de colocar isso, você pode ver gritando tudo em letras grandes, então tudo em maiúsculas, depois tudo em minúsculas. E então aqui está, é a corda normal. Isso é estranho, não é? Bem, aqui está a parte muito interessante sobre isso. Esses métodos realmente retornam uma cópia dessa variável de frase. Eles não alteram a variável em si mesmos. Então, quando tínhamos coisas como x igual a x mais 1, na verdade mudamos o raio-x, EEG mais é igual a um. Isso mudou a variável x. Nesse caso, estamos retornando uma cópia. Então isso é muito importante e você tem que realmente ter isso em mente. Mas para a próxima coisa, digamos, estou dizendo, Ei, que posição é que Java encontrou a palavra Java. Você vai ser como, eu não sei, é exatamente como. Então, o que vamos fazer é simplesmente copiar sobre a linha de impressão novamente. E vamos dizer o seguinte. Vamos dizer que a palavra Java ou algo assim é encontrado na posição. Agora poderíamos contar, não vamos ligar ainda. Vamos contar em apenas um momento. Vamos dizer que o índice de pontos de frase do pode ver que há alguns tipos diferentes de índice aqui, mas queremos a string 1. Na verdade, não importa, a propósito, qual você escolhe, você pode ver que assim que o cursor estiver dentro dos parênteses, ele realmente irá sugerir quais você quer fazer. Nós vamos tomar basicamente, e eu vou dizer Java aqui. Então Java, vamos ver quando é isso? Como onde isso acontece? 17, ok, vamos contar. Então, vou começar por aqui. Então meu cursor sempre estará no lado esquerdo do personagem com o qual estou contando, 123456789, 10, 11, 12, 13, 14, 15, 16, 17, 18. E todos vão ficar como Espere um segundo. Mas isso dizia 70, não foi? Sim. Ele disse 17. Agora, por que esse 18 é? Haha, veja isso é uma coisa muito interessante porque em Java ou na maioria das linguagens de programação, estamos realmente contando a partir de 0. Agora isso pode ser absolutamente louco para você, especialmente se você fosse um iniciante. Está tudo bem. Não se preocupe com isso. A coisa sobre isso é que você se acostuma com isso muito rapidamente. E há alguns outros lugares onde temos que usar isso. Mas se começarmos a contar em 0, você pode ver o 0123456789, 10, 11, 12, 13, 14, 15, 16, 17. De repente, o j é exatamente o 17º caractere, ou melhor, é o personagem com índice 17, certo? Então, porque é claro que esse é o índice, o índice disso, o índice dessa palavra. E estamos basicamente procurando o primeiro personagem aqui. Isso é muito interessante. De fato, quando realmente pensamos sobre esse fim, bem, e se, na verdade, não estamos, isso não está correto. Onde adicionamos é, na verdade, queremos substituir algo. Então, saia da linha de impressão do sistema e queremos dizer uma frase que substitua, e queremos substituir Java por, digamos C Sharp. Mas por que não? Certo? Assim, você pode ver o destino que queremos substituir como Java, e o que vamos substituí-lo é C nítido. Então, se eu fosse executar isso agora. Nós veríamos que é uma introdução maravilhosa C-sharp como não está certo, isso não está bem. Mas neste exemplo, é claro, isso é totalmente bom. Então esse é o método de substituição e isso também é muito interessante. Mais uma vez, isso não é substituído na frase. Ele retornou uma nova string, uma cópia disso que basicamente substitui isso. Muito importante, certo? Talvez queiramos ver se uma determinada frase começa ou termina com alguma coisa. Isso é muito fácil, na verdade, vamos duplicar o substituto mais uma vez com o Controle D. E o que podemos dizer que começa com, você pode ver, e eu poderia apenas dizer, hey, eu escreva e isso seria verdade neste caso. E então também podemos, você pode adivinhar o que o outro é, é claro, termina com, o que seria, digamos uma maiúscula a, o que é claro falso neste caso, isso seria verdade, isso deve ser falso. Então, vamos ver por uma questão de argumento. E lá você pode ver verdadeiro e falso. Muito fácil. Agora, o que é se tivermos uma corda, certo? E vamos chamar isso de S por enquanto, e vai ser uma corda vazia, certo? Então, uma corda sem nada nele. Como podemos verificar se isso está vazio? Bem, podemos deixar um booleano vazio. Por exemplo, apenas dizemos que S está vazio. E lá vai você. Isso é praticamente tudo o que precisamos. E se fôssemos sair do sistema, a linha de impressão que está vazia, poderíamos, claro, também colocar o ponto S está vazio dentro da sua bunda. Por que se preocupar? Está tudo bem. E eles vão, isso é realmente onde é verdade? É verdade, é claro que é verdade. Desculpe. Lá vai você, certo? Claro, é verdade porque isso está vazio. E há mais uma coisa que é realmente interessante quando se trata de métodos booleanos para as cordas. E esse é o contém, um. Isso é muito interessante. Portanto, a frase da linha de impressão do sistema que contém, digamos Java. E isso é claro verdade, certo? Como isso contém Java, devemos ver o ano r2 também. Linda. E o contrário? Quando pensamos em sobrecarga de índice? E quanto a um determinado personagem em uma determinada posição? Absolutamente nenhum problema. System out print line, frase, char em que posição? Digamos que 17. Então sabemos que vai ser a. Então eles sabem que vai ser um j. Isso vai ser muito importante e há um J. Fácil o suficiente. Mais uma vez, começamos a contar em 0. Portanto, enquanto este é o 18º personagem, é o personagem com índice 70, muito importante. Ou seja, pode ser difícil, mas depois de um pouco de tempo usá-lo, tenho certeza de que você vai se acostumar com isso. E vamos fazer uma outra coisa. E essa será a substring. Substring interessante. O que é isso? Bem, vamos fazer a linha de impressão do sistema , e vamos apenas dizer substring de pontos de frase. E por onde começamos? Bem, vamos começar no índice 17. Mas o que agora vai acontecer é que vai levar tudo a partir do tipo 17 e só vai retornar tudo depois. Então, agora, a substring 17 anos deve dizer introdução Java, ponto de exclamação. E é claro que também acontece. Isso é muito bom. Então, se tomarmos outra frase que você pode ver que há é claro, mais métodos que você poderia chamar não, essa não é uma lista exaustiva que eu mostrei. Acabei de mostrar alguns que podem ser interessantes aqui. Eu sempre recomendo experimentar um pouco. Você está experimentando um monte de coisas. Esta grande coisa aqui é que ele realmente é apenas digitar um monte de coisas, clicar no botão Executar e apenas ver o que acontece. E se algo acontecer, isso é legal, ainda melhor. E se não, se houver uma seta, mas trabalhe por ela e veja se você não pode consertá-la. Mas isso seria praticamente para as cordas. E essas palestras método de cordas. Espero que você tenha achado útil e aprenda algo novo se você o fizesse, eu agradeceria muito uma revisão sua. Caso contrário, verei você na próxima palestra. Então, sim. 16. (Java) Casting (Java): Ou eu sou bem-vindo de volta à introdução do Java aqui para modelagem de microondas. E nesta palestra, vamos olhar para o elenco. Você também pode pensar nisso como converter tipos de dados entre si. O que isso realmente significa? Bem, vamos dar uma olhada. Por exemplo, queremos ter um empréstimo inteiro, ou seja, digamos US $750 Euros, seja qual for o caso. E então temos uma taxa de juros, que é claro em flutuação, certo? E isso vai ser 0,0525, digamos. Portanto, isso seria igual a 5,25% de taxa de juros neste momento, todos devem fazer sentido. Então, agora queremos realmente calcular os juros. Agora, o interesse, devemos calcular isso como um flutuador por enquanto. E vou te mostrar o porquê em um segundo. Portanto, os juros são iguais à taxa de empréstimo vezes a taxa de juros. Isso também deve fazer sentido. Você pode ver que, mesmo que eu esteja pegando um número inteiro vezes um flutuador, tudo funciona porque estamos salvando isso em um flutuador. Interessante. Ok, vamos fazer sistema, imprimir linha e apenas imprimir os interesses, o mar. E deve ser algo como 39, tudo bem. Então, é claro, se você sentir aqui também, isso é totalmente bom. Agora a questão é: como podemos simplesmente fazer como multiplicar um número inteiro e um flutuador e tirar um flutuador dele. Isso é muito louco, não é? Bem, o que acontece é basicamente que esse número inteiro em segundo plano é convertido em um flutuador. Podemos tornar isso explícito digitando o modo entre parênteses na frente da variável real. E então temos isso explicitamente. Portanto, este é um elenco explícito antes de ser um elenco implícito. Agora, a coisa sobre isso é que vamos aqui de um número inteiro para um flutuador. O que acontece se fizermos os interesses reais em inteiro? Primeiro de tudo, o que vai acontecer é que isso vai mostrar um erro porque assim que tivermos um flutuador em um, em uma expressão matemática aqui, tudo será transformado em um flutuador porque os fluxos têm mais informações, certo? Porque tudo depois do ponto decimal é mais informação, portanto, tudo é convertido em uma carga. Agora, vamos realmente expressar isso explicitamente para um número inteiro. Agora vamos saber Mori, o fundo aqui sendo amarelo significa que isso é um, é basicamente um aviso. Não vamos nos preocupar com isso porque eu realmente quero mostrar basicamente qual é o aviso, avisando-nos porque de repente é um grande 0 e você vai ser como, espere, como eles se transformaram em 0? Bem, quando lançamos um flutuador para um inteiro, o que vai acontecer é que tudo depois do ponto decimal é cortado. Então, basicamente, é assim. Então, de repente, a taxa de juros será 0 quando a lançarmos em um número inteiro, o que significa que você só vai dizer que os tempos de empréstimo 0 são, naturalmente, 0. E você pode ver que isso também é o que o aviso aqui diz. É por isso que queremos voltar ao carro alegórico aqui. Então eles vão. E então, em vez de tornar isso um número inteiro, vamos manter isso na taxa de juros e normal. E isso vai ficar bem, no entanto. Essa é uma espécie de ideia quando você vai de um número inteiro para um flutuador. Então, de um, basicamente, de menos informações a mais informações, isso geralmente é bom. Vá de fluxos para inteiro. Então, para obter mais informações sobre menos informações, isso pode ter algumas consequências, digamos. Então é sempre isso que você tem que ter em mente. E isso também é uma coisa. Então, basicamente, essa ideia de escrever um tipo de dados diferente na frente de uma variável para transformá-lo em um tipo de dados diferente é algo que veremos um pouco mais tarde em uma palestra posterior também. Então isso é algo para basicamente também ter em mente. Bem, mas isso já seria para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E te vejo na próxima palestra. Então, sim. 17. (Java) de ternary Operator (Java): Tudo bem, bem-vindo de volta à introdução do Java aqui para modelagem do Minecraft. E nesta palestra, vamos olhar para o operador ternário. Agora, o operador ternário à primeira vista soa como algo completamente louco, muito complicado, mas na verdade, não é. Então, vamos fazer dois números inteiros. Um deles será o exame. Este será apenas o resultado do exame como exemplo aqui. E, em seguida, um número inteiro chamado presente. Mas isto é, digamos que nosso Pai queira nos dar um presente de X. Vamos especificar isso quando realmente passarmos neste exame, no entanto, como poderíamos fazer isso da seguinte maneira. Podemos dizer se o exame é maior ou igual a 50. Então, basicamente, estamos passando no exame, então vamos dizer que o presente é igual a 10 e então o presente é igual a 0. Agora, não precisaríamos necessariamente disso aqui, mas vou adicionar isso apenas lá. E então vamos para a linha de impressão do sistema. Se sim, não se preocupe lá. Isso tudo deve fazer sentido. Mas agora o que podemos fazer é que podemos realmente escrever todo este ano em uma linha. E o que podemos fazer é dizer que o presente é igual a. E então a primeira coisa que temos que fazer é escrever uma expressão booleana. Por exemplo, o exame é maior ou igual a 50. Então vamos escrever um ponto de interrogação. E então o que queremos retornar se a expressão booleana aqui for verdadeira. Então 10, depois dois pontos e, em seguida, o que quiséssemos retornar se a expressão booleana for falsa, então era 0. E este é o operador ternário, ponto de interrogação dois pontos. E isso praticamente é exatamente a mesma coisa que isso. Então, o que podemos fazer é basicamente copiar isso. Vamos apenas comentar os dois para que , independentemente do que aconteça aqui, isso não seja atribuído. Vamos primeiro ter uma saída 0 e depois um 10. Vamos ver. Lá vai você. Portanto, o 0 é claro que esse 0 aqui que atribuímos aqui. E então o 10 aqui é o operador ternário. Então, isso é realmente muito legal. Agora, geralmente, o operador ternário é usado. Eu não recomendaria usá-lo muito basicamente, mas às vezes com coisas bem simples como essa. Você também poderia pensar em talvez tomar essa expressão booleana, fazer um booleano fora dela dizendo como pedido exame. E então isso lê um pouco melhor no exame passado, que é 10, caso contrário, é 0. Então você pode pensar nisso também. Então eu provavelmente não o manteria assim porque isso é algo assim para não redobrar a taxa. Há muito poder cerebral que vai para olhar para o exame igual, um pouco maior é igual a 50. Certo? Certo. Oh, eu entendo. Se você tem algo como um is, passa no exame ou algo assim como um booleano que faz sentido neste caso. Mas seja qual for o caso, este é o operador ternário e basicamente a mesma coisa em declarações if. Agora, só porque isso está tudo em uma linha não significa que seja necessariamente melhor também. A contagem de linhas não é nenhuma indicação de código de qualidade, ok? E eu quero que você, eu quero que isso seja muito, muito claro. Isso não importa. Um ótimo programa pode ser de 1000 linhas. Se tiver que ter 1000 pés de comprimento, tem que ter 1000 noites de duração. Só porque você pode fazer esse programa 800 linhas não significa necessariamente que seja melhor. Isso é muito importante. Porque a coisa mais importante ao escrever código é que você pode lê-lo e outra pessoa pode lê-lo, o que inclui você daqui a seis meses. Porque você está em seis meses, será uma pessoa diferente porque você esquecerá tudo o que escreveu em seu código. Portanto, você precisa tornar seu código legível ou outras pessoas, essa é a parte mais importante. E se um operador ternário faz sentido nesse caso, isso é ótimo. Eu nunca, eu definitivamente aconselharia você a nunca colocar vários operadores de terminal na mesma linha. Porque é claro que você poderia colocar outro operador ternário no verdadeiro ou falso aqui. Definitivamente não faça isso porque fica muito, muito complicado, muito rápido. Atenha-se às declarações if. Nesse caso, seja qual for o caso, isso já seria para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E eu vou te ver na próxima palestra. Então, sim. 18. (Java) Arrays explicados (de (Java): Tudo bem, bem-vindo de volta à introdução do Java aqui para modelagem de microondas. E nesta palestra, vamos olhar para matrizes. arrays são definitivamente o tópico, digamos, mais complicado que vamos analisar até este ponto. No entanto, o que primeiro quero dizer é que, se você luta com isso, não se preocupe. Isso é totalmente normal. Eu também lutei com isso quando aprendemos isso. E no final da palestra, vou contar um pouco de uma história sobre isso. Mas, por enquanto, vamos lembrar de volta que tínhamos as três cordas, certo? Estamos na pergunta 1, pergunta 2, pergunta 3 e resposta um, resposta para responder três. Agora, certo, a primeira resposta era na verdade um número inteiro, mas neste caso é uma string. Isso é totalmente bom porque isso é para fins de demonstração. É um pouco mais fácil de mostrar. E o que tínhamos aqui era a ideia de que, bem, tínhamos essas perguntas. Vamos apenas dizer, eu digo, você sabe o que, seu jogo de trivia que estava na primeira tarefa, você deve realmente fazer com que isso tenha 150 perguntas. Agora você vai estar sentado lá vai ser como, desculpe-me. Sim. Uma pergunta de 150. Bem, tudo bem. Então você começa a duplicar isso e depois mudar cada um deles. Agora, então talvez, você sabe, eu, eu sei coisa que você pode manter tudo pressionado e depois mudar várias coisas ao mesmo tempo, mas então todas elas mudam para o mesmo número e é todo tipo de estragar tudo. Não é muito bom. Então isso não funciona muito bem. Certo. De que outra forma poderemos fazer isso? Bem, o que podemos usar é uma matriz. Agora, uma matriz, você pode pensar nisso como uma lista. Não é 100% uma lista, certo? É um pouco diferente porque, na verdade, há algo chamado de lista em Java também. No entanto, vamos pensar nisso como uma lista. E você iria fazer uma série de perguntas e sua área de respostas em anel. E vamos dar uma olhada no que isso basicamente implica. Então, como fazemos uma matriz? Bem, nós apenas digitamos o tipo que queremos. Então, o tipo de dados que queremos e, em seguida, esses colchetes aqui, e isso vai ser perguntas e é igual a novo. Então, temos que pegar a nova palavra-chave e você pode ver que isso já está sendo sugerido para nós. Vou digitar esta string e, mais uma vez, o ângulo dos colchetes aqui e depois terminando com um ponto e vírgula. Agora isso ainda não foi feito porque dentro desses colchetes, nós realmente temos que fornecer o comprimento dessa matriz. Então, quantos elementos estarão lá? Três, no nosso caso? Bem, é praticamente isso. Então isso é muito legal. Agora. É isso. É como sim, é praticamente isso. E agora, é claro, precisamos atribuir algo. Então, o que podemos dizer são perguntas. Você pode ver que eu basicamente preencho isso automaticamente com a tecla Tab, certo? Os colchetes novamente e, em seguida, atribuem, por exemplo, um é igual a dois. E então vamos levar isso aqui, certo? Então, algo assim. E então eu posso continuar com isso, certo? 23. E então vamos apenas, bem, como posso produzir isso certo? Como, como isso é possível? Bem, a linha de impressão do sistema de TI, e então podemos apenas dizer perguntas, sem perguntas, lá vai você. E então, por exemplo, saber de três anos , na minha média, é tudo o mesmo, certo? Agora, vamos mudar isso, na verdade, copiar isso. Então selecione este controle C controle V, como este Control C Control V. E vamos apenas trazer os três aqui. Isso é só C e O sabem o que aconteceu aqui? Bem, o que aconteceu aqui é que talvez nos esquecemos. Agora eu não esqueci, eu realmente queria te mostrar isso. Mas o que aconteceu aqui é que temos que começar a contar em 0. Então é aqui que voltamos quando vimos as cordas onde começamos a contar em 0 ano, contamos 0 também. Mas isso significa que quando temos três elementos nesta matriz de perguntas, o primeiro elemento é do índice 0, o segundo é do índice um e o terceiro é do índice 2, que significa que três não existe aqui, e então obtemos uma exceção. Vamos ver isso no final da palestra novamente, porque eu quero que você goste de ver a exceção e eu quero que você entenda o que isso significa. Mas, por enquanto, é assim que você atribui strings diferentes, neste caso, valores diferentes à matriz. E você também pode lê-lo praticamente assim. Então, é isso que tudo o que é preciso. E vamos também copiar isso por uma questão de argumento e chamar isso de respostas, certo? E então vamos copiar o swell. Então vou selecionar este RP aqui, aqui e aqui. E então vamos mudar isso para as respostas aqui. Então, isso vai ser 50. Isso é claro que vai ser Londres. E então o último será F e. Muito interessante de fato. E então o que podemos fazer é, por exemplo, podemos produzir a resposta 0. Então, vamos ver respostas uma nas perguntas 1. E então, de repente, diz algo como, bem, qual é a capital do Reino Unido? Londres? Muito fácil. E vamos realmente mudar isso para, na verdade, não precisamos mudar isso para 0. Está tudo bem. Tudo o que podemos fazer é agora, bem, ok, então podemos simplesmente reatribuir isso? Para que possamos pegar isso, eu só vou pegar isso. Na verdade, vou escrevê-lo para fora. Então, as perguntas, mais uma vez, colchete 0 é igual, por exemplo, quantos anos tem Ian? Mick Jagger, em 2021. Isso é só, vamos namorar a nós mesmos. Por que não? Está tudo bem. E então acabamos de produzir isso novamente. Agora o 0, digamos, e o 0 aqui. A pergunta. Nós reatribuímos aqui e, em seguida a resposta ainda estará correta. A propósito, isso é algo que verifiquei. A propósito, como eu queria que isso estivesse correto. Isso é muito legal. Todas as coisas consideradas. O realmente legal é que aqui tudo está meio que em um tipo de dados, certo? Então, as perguntas agora têm todas as perguntas. Em vez de ter três strings diferentes, na verdade temos tudo nesta matriz de string de perguntas. Isso é muito legal. Também podemos obter o tamanho do comprimento dessa matriz, desta lista, por assim dizer, fazendo perguntas desse tamanho, como você pode ver aqui, podemos dar uma olhada nisso. Isso é claro 3 porque isso é o que fornecemos aqui, certo? Então, nisto, tivemos que fornecer o comprimento. Portanto, isso é praticamente isso. E você também pode ter visto muitas sugestões aqui. Não vamos nos preocupar com nenhum desses no momento porque todos eles são muito, muito complicados. E nós também temos é que eu realmente vou copiar sobre a menor parte aqui. Mas esta é a exceção do índice de matriz fora dos limites aqui. É praticamente o que já vimos, mas vou mostrar isso mais uma vez. Então, se colocarmos um número no suporte, então, na verdade, ele não existe. Vamos obter uma exceção de índice de array fora dos limites. Então você pode pensar nisso assim. Bem, este é um array e tem um certo limite, ok, justo o suficiente. Como um índice. Então, o índice que estamos passando, esta é a taxa de índice três. Quero a pergunta com o índice três, ok, justo o suficiente. Mas isso está fora dos limites porque isso só tem três elementos e começamos a contar em 0. Portanto, o índice ou o elemento com índice três não existe. E mais uma vez, você obtém o rastreamento de pilha realmente bom aqui para que você possa obter o local exato onde o problema ocorreu. Então isso também é algo que eu queria mencionar aqui. Caso contrário, essa seria praticamente a essência geral das matrizes. E agora, claro, o tipo de coisa que eu te disse no início. Então, quando aprendi áreas na universidade, o interessante era que eu não as entendi completamente. Então eu disse, você sabe o que, eu não preciso de áreas. Nunca vou usar áreas, nunca. Isso não importa. Só vou ficar com isso. Vou criar variáveis individuais. Mas é claro, você vai ter problemas muito difíceis assim que alguém disser , bem, então faça como 20 diferentes e , assim como se eu tirá-los, coloque-os em uma ordem aleatória, não vai funcionar porque essas coisas definitivamente precisam ser aprendidas. Essa também não é a abordagem certa . Oh, eu não entendo isso. Portanto, não preciso aprender isso. Portanto, não é importante, nenhum. E, claro, se existir, tem algum mérito nisso nesse sentido na programação aqui. Então eu definitivamente recomendo dar outra olhada nisso. Apenas fique calmo, tentando algumas coisas para entender isso. E também mais uma vez, se você receber algum erro, não se preocupe. Erros são totalmente normais ao programar. Não há nada como se não houvesse vergonha, não gosta que seja totalmente normal, genuinamente todo programador, recebe várias setas todos os dias quando eles programam. Mesmo programadores veteranos ainda recebem flechas todos os dias. Nunca se sinta mal com isso. E sim, então essa é uma espécie de ideia geral de matrizes aqui. Espero ter conseguido passar a ideia de que isso é realmente muito parecido com uma lista, certo? Não é uma elipse de 100%, mas você pode pensar nisso como uma lista. Você coloca elementos diferentes, basicamente com índices ou índices diferentes, algo assim, certo? Mas, de outra forma, isso seria para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo e eu te vejo na próxima palestra. Então, sim. 19. (Java) para a loops enquanto enquanto as loops: Tudo bem, bem-vindo de volta à introdução do Java aqui para modelagem de microondas. E nesta palestra vamos falar sobre loops. O que vamos precisar para esta palestra são ambos os arrays de string que fizemos anteriormente para as perguntas e as respostas. Mas antes de fazermos qualquer coisa com as áreas, antes de tudo, quero que você faça o seguinte. Saída. Todos os números de 0 a 99, certo? Você vai ser como, Ok, sistema de saída, linha de impressão 0, então você pode ser como duplicar um, duplicar dois. Agora você vai ficar sentado lá o tempo todo assim. Vamos ser honestos, isso vai levar muito tempo. Bem, e depois vem loops. Loops são algo em que você pode executar um pedaço de código várias vezes. E o primeiro tipo de loop que vamos analisar é o loop for. Para isso, vamos digitar quatro e, em seguida, parênteses. Mais uma vez, os parênteses de fechamento devem ser gerados automaticamente. E então vamos digitar int I igual a 0 ponto e vírgula I é menor que um ponto e vírgula 100 I plus, além de fechar parênteses e, em seguida, um colchete aberto. Em seguida, o colchete de fechamento deve gerar quando você pressionar Enter, quando você retirar a linha de impressão do sistema e colocá-la dentro dos colchetes encaracolados aqui. E vou mudar o 0 para um olho e agora ver as maravilhas da programação. Como você pode ver claramente, tudo é produzido de 0 até 99. Então, o que está acontecendo aqui? Bem, em um loop for-loop, a ideia é que o que estamos fazendo é que estamos definindo, como você pode ver, estamos inicializando a, um inteiro i e para o 0. E então estamos dizendo que estamos tendo algum tipo de expressão booleana aqui e depois um incremento. O que acontece é que eu estou definido como 0, enquanto que ser verificado é se eu sou ou não menor que 100. Se isso for verdade, continuaremos com esse loop. Então, se isso for verdade, tudo dentro de você acontece, então vamos aumentar eu e então isso será verificado novamente. E então estamos fazendo isso de novo, aumentando eu, cheque aumentando eu e assim por diante e assim por diante. Então isso é basicamente feito para sempre até este ano. Essa expressão booleana é falsa. E uma vez que é falso, o que significa que eu não sou mais menor que um 100, o que acontece quando eu é um 100, então isso não é mais executado e tudo depois, depois do colchete encaracolado aqui começa a acontecer. É por isso que ele pára em 99 e não um 100, porque quando eu tenho 99, isso ainda é verdade. 99 é menor que 100. Todos concordam, sim. Mas assim que for 100100 não é menor que 100. Na verdade, é igual a 100. Portanto, isso não é mais basicamente verdade. Portanto, isso não é mais executado para blindado. Essa é uma espécie de ideia e isso é muito legal, não é? Como se pudéssemos fazer isso facilmente? E agora vou explodir sua mente. Então agora vou te dizer, bem, produzir todas as perguntas e respostas e você só vai ocupar o sistema. Linha de impressão pergunta 0, resposta 0, assim como tínhamos antes. Bem, isso vai ser mais fácil para int I igual a 0. Eu sou menor que o comprimento do ponto das perguntas I plus, mais. E então o que vou fazer é copiar este duas vezes. E então, em vez disso, vou fazer perguntas eu oh, isso é interessante, não é? E responde I. Agora isso, isso é muito legal. Então, você pode basicamente passar o número inteiro aqui para os colchetes e acessar qualquer índice que você quiser e qualquer índice que esse inteiro assume. Outra coisa muito louca é porque estamos realmente olhando para o comprimento aqui, certo? Como temos o comprimento, isso imediatamente nos salva de quaisquer erros. Agora, o único erro que pode ocorrer é se de repente, fizermos isso quatro aqui, certo? Porque estamos tirando o comprimento das perguntas enquanto as respostas não são as mesmas. Então, poderíamos encontrar um erro. Mais uma vez, a exceção de área fora dos limites ou a exceção de índice de matriz fora dos limites. Mas, por enquanto, quando usarmos o mais longo, isso vai ser totalmente bom. E se eu apenas executar isso, você pode ver isso imprime tudo. Harmony fica na capital US AIR 50 do Reino Unido, Londres. E então o símbolo químico para ferro é phi. Para que tudo funcione. Então isso é bonito, isso é muito louco, certo? Isso é muito legal. Ou loops insanamente valiosos e podem ser usados para todos os tipos de coisas. Há outro tipo de loop que é muito semelhante ao for-loop, que é o para cada loop. Agora você pode ver se eu consigo digitar isso e eu poderia pressionar a tecla Tab para preencher isso automaticamente. No entanto, não vou, porque a formatação é um pouco estranha para mim. Não sei, sei bem qual é esse o caso. Nós só vamos escrever para isso. Posso dizer perguntas ocidentais e antigas. E a maneira de ler isso é, ou cada pergunta de string em perguntas, é assim que você leria. E então você pode simplesmente fazer um sistema fora, imprimir linha, pergunta. E posso simplesmente imprimir cada pergunta individual aqui. Mais uma vez, isso só vai funcionar. Então, como você pode ver, lá vai você, uh, basicamente agora tem acesso ao que os elementos individuais dentro dessa lista ou matriz neste caso, e eu não preciso especificá-lo através do índice aqui. Na verdade, estou recebendo todos eles bem individualmente. Então este é o para cada loop e isso para cada um que você for, Esse é outro tipo de loop que é interessante. E então o último tipo de loop que eu quero mostrar é o loop while. Agora eu tenho uma preferência pessoal de usar muito raramente o loop while simplesmente por causa do fato de que ele pode ser, bem, pode te causar problemas. Então, podemos dizer algo como embora verdadeiro e depois colchetes encaracolados. Então, o que acontece é que tudo dentro daqui vai acontecer enquanto isso for verdade. Agora, obviamente, quando você pensa sobre isso por um segundo, espere um segundo. Se eu for verdade, então isso sempre será verdade exatamente. Isso agora é um loop while e um loop while e sem fim, certo? Portanto, este é um loop sem fim e esse é o perigo que você pode encontrar com um loop while. Você pode encontrar o problema com loops for também na teoria, mas é muito raro que realmente aconteça. Mas em loops while, muitas vezes é o caso ou pode ser o caso de você ter um loop sem fim. Agora todo mundo tem que passar por isso em algum momento. Só estou dizendo que meu viés é que eu realmente não gosto de loops. Mas o que podemos fazer é, bem, vamos fazer o seguinte. Na verdade, vamos adicionar uma entrada para a pessoa. Então o scanner aqui, o scanner é igual novo sistema de scanner e, em seguida, pronto. E o que vamos fazer é dizer algo como a seguinte linha de impressão do sistema. Você quer continuar? Então, vamos apenas dizer: Ei, a pessoa quer continuar a usar? Vamos continuar e então vamos dizer, ei, se o ponto do scanner seguir, certo? Se isso for igual a sim. Então o que vamos fazer é continuar , certo? Então continue a palavra-chave real, outra pessoa que vamos quebrar. Este é um exemplo aqui da palavra-chave Continue e da quebra, a palavra-chave continue que basicamente ignora tudo o que vem depois dela dentro do loop e salta de volta para o topo do o loop enquanto a palavra-chave break sai do loop. Então, basicamente, vai para o final do ano e tudo depois é executado novamente. Isso seria o mesmo se isso de repente se tornar falso. Neste caso, é claro, um loop sem fim, certo? Então, enquanto eu digitar, sim, isso continuará. Assim que eu digitar qualquer outra coisa, ela vai sair dela. Então essa é uma espécie de ideia desse loop while aqui. Vamos dar uma olhada nisso para que eu possa digitar. Sim. E eu posso digitar, sim. E eu posso digitar. Sim. E então eu vou cometer um erro aqui e um OH não, de repente ele chamou isso de paradas. Essa é uma espécie de ideia. Portanto, isso pode ser um loop sem fim com uma espécie de sistema de travagem. Agora, o que é muito importante é que a palavra-chave continue e a quebra provavelmente só deve ser usada com moderação porque há muitos desenvolvedores que não gostam disso. Porque se você tiver gostar, digamos que um loop FOR mais longo ou mais ou while loop. E você tem muito Continue e quebra lá. Às vezes, pode ser um pouco confuso. Gosta de lê-lo, certo? Porque você vai ter mais ramos por assim dizer. Então você pode pensar, se você pode pensar em maneira de fazê-lo de uma maneira um pouco diferente, que geralmente é melhor. Seja qual for o caso. Esses são os loops que eu queria te mostrar. muito legais. E estamos realmente começando a obter algumas ferramentas muito, muito legais em nossa caixa de ferramentas para realmente trabalhar com código e apenas programar algo que é muito legal. Então, mas por enquanto, é isso para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo se você o fizesse, eu agradeceria muito uma revisão sua. Caso contrário, verei você na próxima palestra. Então, sim. 20. Métodos Java (Java) (Java): Bem-vindo de volta à introdução do Java para modelagem do Minecraft. E nesta palestra, vamos dar uma olhada em um método. Então, antes de tudo, mais uma vez exigimos as áreas de string aqui. Nós não necessariamente os exigimos, no entanto, vamos usá-los nesta palestra. E bem, métodos. Quais são os métodos? Bem, vimos essa palavra lançada algumas vezes antes com os métodos de string. E também algo como a linha de impressão do sistema também é um método. E eu poderia ter dito uma ou duas vezes antes do método principal. Então, há algo nisso. Também vimos os métodos matemáticos, então definitivamente ouvimos essa palavra antes. O que é realmente? Bem, em teoria, um método, você pode pensar nisso como algumas linhas de código, uma linha de código ou 100 linhas de código em teoria, que são executadas quando você chama esse método. Então você chama um método como, por exemplo, quando digitamos um sistema, a linha de impressão do sistema, certo? E eu digo Olá, leia isso. É algo em segundo plano, acontece, certo? Então essa linha de impressão, quando chamamos isso, esse método aqui, algo em segundo plano acontece. Agora não sabemos, neste caso , necessariamente, o que acontece exatamente. Mas algo acontece com isso esse olá, certo? Uma vez que eu executo isso, para que, quando isso acontecer, algo aconteça em segundo plano que este olá agora está sendo exibido nesta janela Executar. Então, não sabemos o quê, mas algo em segundo plano acontece, então algum código é executado. Então, se tivermos um pedaço de código que podemos querer reutilizar, digamos 100 vezes em nosso código. Então você pode dizer, bem, podemos apenas fazer um loop for-loop, você sabe, 100 vezes. Bem, mas e se eu quiser fazer isso em locais diferentes no meu código, certo? Então talvez eu queira fazer uma pergunta neste caso, certo? E uma saída e resposta e , em seguida, verifique a resposta. Então eu quero fazer perguntas novamente. É como, bem, quero dizer, você poderia fazer um loop for, mas bem, talvez nós queiramos fazer algumas declarações if lá. Vai ficar um pouco complicado. Então, isso nem sempre funciona. Então, digamos, por exemplo, o que eu quero fazer é que eu só quero, eu não seria apenas algo que eu possa digitar que eu possa dar, digamos uma, uma matriz aqui, vermelha. Portanto, o conjunto de perguntas de string, uma área de respostas de e que apenas as saídas atendem a todas as respostas e todas as perguntas. Então, todas as perguntas, respostas apenas na inscrição. Então eu poderia, claro, escrever algo assim. Olho direito para loop int I é igual a 0. Eu sou menor do que as perguntas que vinculam, digamos que eu mais, mais. E então eu poderia apenas dizer sistema , perguntas de linha de impressão. Eu escrevo algo assim e dupliquei isso e depois digo respostas. Eu poderia fazer isso. Bem, digamos mais uma vez, quero que isso seja feito 100 vezes em todo o nosso código. Agora, o observador de vocês pode dizer, bem, por que não colocamos isso em outro loop for. E você estaria absolutamente correto. Você poderia fazer isso também. No entanto, não vamos ficar muito inteligentes. Vamos pensar nisso e fazer disso um método. Agora, o que vamos fazer é que eu te disse antes que só estamos operando entre esses dois suportes encaracolados. Estamos expandindo nosso mundo agora e nos movendo para fora desses suportes encaracolados. Porque agora nossos novos suportes encaracolados são esses dois basicamente. Então agora esta é a nossa nova casa. E isso, você pode ter pensado sobre isso. Bem, este é o método principal que está sendo executado basicamente quando pressionamos o botão Executar e, em seguida, o método principal é executado. Agora vamos adicionar um novo método. E antes de tudo, vou escrever isso. E então vou explicar o que acontece aqui. Então, vamos escrever estática pública, vazia. E vou chamar isso de perguntas e respostas de saída. Então vou digitar um parêntese, os parênteses de fechamento devem gerar automaticamente. E então eu vou fazer uma matriz de string aqui. Então, essas serão as perguntas e, em seguida, uma outra matriz de string responde, certo? E então eu vou fazer um suporte encaracolado. E você vê que o segundo suporte encaracolado já gerou. Posso pressionar a tecla Enter e, em seguida, a formatação também deve estar completa. E com isso, um método mais novo foi criado. Por enquanto, ignoraremos isso público e estático. Ainda não sabemos o que é isso, mas estamos muito perto de descobrir isso em uma palestra futura. Na verdade, vamos descobrir o que isso significa por enquanto. Só sabemos que isso é um modificador de acesso. Não sabemos o que ele faz ainda. Só sabemos que precisamos ter estática pública escrita aqui e então tudo vai ficar bem. Há vazio aqui é, na verdade, o tipo de retorno desse método. Então, alguns métodos retornam algo e veremos isso em apenas um momento. Então, depois de termos feito esse método, faremos outro que realmente retornará um número inteiro. Então vamos ter o nome do método. Agora isso é algo que você pode decidir por si mesmo. Normalmente, variáveis de nomenclatura e métodos de nomenclatura devem ser muito expressivos. Portanto, mesmo que isso possa ser muito longo para você não se afastar de métodos longos ou nomes de variáveis longas. Se eles descreverem exatamente o que estão fazendo, isso será a melhor coisa. Então, depois do nome, venha, os parênteses aqui. E dentro dos parênteses, basicamente também definimos uma variável tipo de fala. E esses são chamados de parâmetros. Portanto, temos dois parâmetros aqui, e ambos são do tipo string array. E, no geral, essa coisa toda aqui. Então, tudo isso, à direita, os modificadores de acesso, o tipo de retorno, o nome do método e os parâmetros é o que é chamado de assinatura do método. Então, como precisamos saber disso, assinaturas do método precisam ser. Significado único, não posso ter a mesma coisa. Então, vou selecionar tudo isso. E então eu vou dizer Control C e depois Control V. E você pode ver que se eu passar o mouse sobre isso agora vamos dizer que já está definido aqui. Então isso é exatamente a mesma coisa e já está definido. Isso não funciona, certo? Então isso é muito importante. No entanto, se eu alterar a assinatura do método, ou seja, por exemplo, eu faço um a menos, coloco um parâmetro a menos aqui que funciona. Você terá, eles têm o mesmo nome, eles têm uma assinatura diferente. Então, neste caso, agora seria chamado de sobrecarga de método porque temos o mesmo nome, isso com uma assinatura diferente desativada. Por exemplo, número diferente de parâmetros, diferentes tipos de parâmetros, diferentes tipos de retorno. Essa é uma espécie de maneira que você pode alternar o ano por ter métodos com o mesmo nome. Isso vai ficar interessante, talvez mais tarde na linha por enquanto, vamos excluir este e vamos manter o único método aqui. E o que vamos fazer é, na verdade, vamos pegar esse Control X para cortá-lo, Control V para colá-lo. E de repente você pode ver que tudo está funcionando totalmente bem porque, claro, estamos tendo os parâmetros aqui, Westerns e respostas. E a ideia é que vamos passar isso. Então, porque agora, é claro, essas perguntas, essas respostas, essas não são as mesmas que essas duas. Eu posso chamar isso, digamos Q0, Q, Q u, e, apenas por uma questão de argumento. E vou chamar isso de E&S só para que não haja mal-entendidos. Este ano não é o mesmo isso porque eu poderia chamar isso com, é claro, uma série diferente de perguntas em uma área de respostas de string diferente. Então isso vai ser muito geral. Isso só vai fazer isso para qualquer área que eu vou colocar. Então essa é a coisa muito legal. Então o que posso fazer é poder chamar isso, posso dizer saída. E você pode ver assim que eu digitar, o método real está sendo reconhecido pelo programa. Na verdade, sugeriu aqui. Então eu posso simplesmente colocar a tecla tab. Posso pressionar a tecla tab e ela gera automaticamente o seu e posso apenas dizer Q0 e ANS. Então, agora eu passei a matriz de string de perguntas como o perímetro da pergunta e a matriz de string de resposta como o parâmetro answer. Você pode, o que você também pode ter visto é que o método passou de cinza para amarelo. Isso simplesmente significa que esse método está realmente sendo usado, então sendo chamado. E isso também é uma ideia importante. E se eu agora executar isso, você verá que ele realmente funciona. Você pode ver quantos conjuntos. Os EUA, eles têm 50 capitais, Reino Unido, Londres, e símbolo químico para ferro é F, e. Então ele produz isso e basicamente chama todo o código disso dentro daqui. E agora, é claro, os métodos podem chamar métodos, e os métodos podem chamar outros métodos. Então isso, é claro, fica bastante complicado em algum momento. No entanto, por enquanto, isso é muito legal. Agora, também vamos fazer um método que pode ser muito complicado. Então, o que vamos ter como alguém vai para a estática pública int. Então, agora vamos retornar um número inteiro e vamos somar dois números juntos. Então, para isso, do que precisamos? Bem, é claro que um inteiro x e um inteiro y. Agora, mais uma vez, os nomes dos parâmetros, a propósito, também podem ser o que você escolher. Geralmente você quer que eles também sejam muito expressivos em geral. Agora temos esse método de soma aqui. E o que vamos fazer é digitar a palavra-chave de retorno x mais y. lá vai você. Então, vamos apenas retornar x mais y porque é claro que essa é a soma desses dois inteiros nesse caso, nada muito espetacular. No entanto, o que eu queria mostrar é basicamente a palavra-chave return e que você também pode retornar diferentes tipos. Então, o método SAM, neste caso, podemos dar uma olhada nisso, certo? Então, sistema para fora da linha de impressão, e então vamos dizer uns dez e digamos 12. E então se eu executar isso e ele deve dizer 22, lá vai você. Portanto, não se preocupe, tudo funciona. E esse tipo de ideia geral aqui que você tem com métodos. Assim, ele pode retornar algo ou pode pegar retornar algo, então você tem que escrever em um vazio. Mas isso é uma espécie de análise provisória dos métodos. É claro que, mais uma vez, você realmente precisa aplicar isso um pouco para realmente entender aqui. No entanto, isso é um ótimo seguimento para a tarefa que será a seguir. Eu recomendo fazer como fazer a próxima tarefa porque isso será basicamente métodos. E mesmo que você não obtenha Sue basicamente fará tudo lá dentro, pelo menos olhando para a questão e seguida, a solução para ela espero ilumine também a maneira que você pode use métodos em seu próprio código. Mas, por enquanto, isso vai ser para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo e eu te vejo na próxima palestra. Então, sim. 21. TARde 2: Jogo Trivia com métodos: Tudo bem, Bem-vindo à segunda atribuição da introdução do Java aqui. E neste pequeno vídeo, basicamente quero explicar a tarefa. Então, no geral, a tarefa não é tão complicada quanto eu ainda quero basicamente orientá-lo por isso. Então, a ideia é que você recriar o jogo de curiosidades desde a primeira tarefa. Então, basicamente, praticamente a mesma coisa. Mas desta vez você deve ter cinco perguntas e cinco respostas. E a maneira como você deve salvá-los é em duas áreas. Um para as perguntas e as respostas. E o que você também deve fazer é criar pelo menos dois métodos para tornar o código mais legível e fácil de seguir. E basicamente como uma dica, você vai pensar nisso assim. Quando você tem algum código duplicado, provavelmente deve transformá-lo em um método. Vamos pensar sobre isso. Pense em onde você pode estar ligando para algo duas vezes e então você pode basicamente fazer um método com isso. E o que você também deve fazer é fazer um loop sem fim e, em seguida, algumas declarações if lá em alguma capacidade. Então, alguma lógica, que faz com que o usuário solicite que o usuário continue jogando ou não se ele não quiser mais. Eu recomendo dar outra olhada na palestra de loops novamente porque eles têm um caso de uso muito semelhante que eles estão cientes de que tínhamos um loop while infinito que você pode parar com eles Instruções IF e as palavras-chave break e continue. Então, esses podem ser muito úteis aqui. Caso contrário, no geral, isso deve ser bastante simples. O jogo por si só deve jogar de forma muito semelhante, na verdade, do que o primeiro. Deve parecer um pouco diferente. Então, no geral, essa seria toda a ideia. Claro, não se esqueça de coisas como os pontos também. Além disso, você sabe, adicioná-los também. Caso contrário, isso é praticamente tudo o que você realmente precisa fazer. Sugiro arredondar cerca mais uma hora para esta tarefa, dependendo, é claro , do seu nível, você também pode fazê-lo em 30 minutos, 45 minutos, quem sabe? Mas não se estresse. Leve algum tempo para realmente se aprofundar nisso. Assista a algumas palestras novamente, a palestra de loop, eu recomendo métodos de aula foram áreas muito boas se você não entender completamente, eu recomendo isso. E, caso contrário, é claro, a solução também estará disponível para você. Portanto, não se preocupe lá. Caso contrário, desejo-lhe boa sorte para esta tarefa, no entanto. Sim. 22. SOLUÇÃO 2: jogo Trivia com métodos: Ou eu dou as boas-vindas de volta à segunda tarefa e à solução para a atribuição real aqui. Então, mais uma vez, o código está , naturalmente, disponível para você. E, como um aviso de isenção de responsabilidade aqui, se o seu código não corresponder a 100% ao código que eu tenho, é claro que é totalmente bom. Não há vergonha nisso porque sempre há várias soluções para isso. E eu acho que minha solução pode ser usar alguns, muitos métodos. Na verdade, curiosamente, mas, por enquanto, vamos passar por isso. Então, é claro, as matrizes de string, perguntas e respostas devem ser bastante autoexplicativas aqui. mesmo acontece com o scanner mais uma vez para ler as coisas e, em seguida, um total de pontos aqui, apenas pontos centrais. Então, isso é bastante simples. Temos um loop while que é sempre verdadeiro. Então você pode ver que isso é basicamente todo o loop while aqui. E vamos antes de tudo dar uma olhada no fundo aqui. Então esta impressão é reproduzida novamente, método imprime, Ei, você quer jogar de novo? Se você colocar um y aqui, ele basicamente redefine os pontos e, em seguida, continua com este loop while novamente. Caso contrário, ele simplesmente sai do loop while. E então príncipe de adeus aqui. Essa é uma espécie de ideia. Caso contrário, você pode facilmente seguir isso. Os nomes dos métodos descrevem quase inteiramente o que eles estão fazendo e, em seguida, veem Título impresso, justo o suficiente. E então vamos passar por cada uma das perguntas aqui para este loop, muito, bastante simples também. E temos a pergunta impressa aqui para a pergunta que atualmente está sendo feita por, em seguida, lida na resposta do usuário. E então temos uma declaração if que chama outro método aqui. Então, a resposta correta desta resposta do usuário. E basicamente compara isso com a resposta correta para essa pergunta. Se esse for o caso, portanto, se esse método retornar true, estamos imprimindo, você terá uma resposta correta, onde cada vez mais pontos totalizam e escrevendo isso volta na variável points. E então aqui também estamos imprimindo o total de pontos atuais basicamente. E se essa não for a resposta correta, estamos imprimindo que você tinha uma resposta incorreta e também estamos imprimindo a resposta correta real. Isso é praticamente tudo o que realmente precisamos aqui. E você pode ver, no final aqui, estamos apenas imprimindo o total do ponto e, em seguida, pedindo ao jogador para basicamente se ele quer ou não jogar novamente. Então essa é toda a lógica aqui. E então, se descermos, podemos ver que há muitos métodos aqui. E todos eles são muito, muito simples, certo? Quase todos eles apenas uma luz, basicamente todos eles apenas uma linha. Agora, você pode fazer um caso muito bom que, isso pode ser um pouco bom demais, também pode ser uma coisa ruim neste caso, certo? Ou muitos métodos podem ser demais. No entanto, isso definitivamente é muito fácil de seguir aqui. Há também pontos em dizer, bem, talvez pudéssemos pegar toda essa declaração IF e fazer um método. É isso também, talvez pudéssemos tirar todo o loop for, fazer um método inteiro com isso. Podemos tomar essa parte e fazer um método outros. Portanto, existem várias ideias que você pode seguir e você ainda pode, é claro, fazer mais métodos com isso ou menos. Está tudo bem e está tudo bem. Contanto que funcione, você tem alguns métodos que você fez, então vai ficar absolutamente bom. Então, mais uma vez, se esta não for exatamente a sua solução, não se preocupe com isso ao menor. Mais uma vez, a coisa bonita da programação é que sempre há, quero dizer, há um milhão de maneiras diferentes de fazer isso. Claro, alguns deles serão mais otimizados do que outros. Mas no final do dia, quando realmente pensamos nisso, isso vai ficar bem normalmente. Então, se isso não é 100% correto como você tem, tudo bem. Se funcionar, já estou muito feliz com isso. Caso contrário, esta é praticamente minha solução. Este código, é claro, também está disponível para você. Caso contrário, espero que essa tarefa sido útil para você se aprofundar um pouco mais na ideia de métodos e como usá-los. Eu sempre posso, claro, também apenas sugerir brincar com ele em seu próprio tempo, apenas experimentando um monte de coisas. Neste ponto, você tem muitas ferramentas diferentes. Você tem instruções if, você tem loops, você tem métodos, matrizes. Então, há muitas coisas com as quais você pode brincar. Você pode ler coisas do usuário. Você pode escrever coisas para o console, que neste momento, na verdade apenas abre um monte de coisas para você. Então, se você quer fazer uma espécie de escolha sua própria aventura, apenas uma pequena coisa, certo? Vá em frente, certo, apenas experimente um monte de coisas. Eu recomendo apenas ser experimental com ele. Você, você não pode quebrar nada aqui, certo? Contanto que você escreva seu código aqui seja apenas para você, tudo vai ficar bem. Como eu já disse na palestra sobre os erros. Se você receber alguns erros, não precisa se preocupar, este não é o fim do mundo e todos recebem flechas, certo. Eu recebo flechas a qualquer momento, como quando programo, é claro, haverá flechas e tudo bem. Contanto que você trabalhe com eles, você tenta entender por que eu recebi esse erro? Como isso aconteceu? E meio que algo assim. Mas isso seria para a solução aqui. Espero que você tenha achado útil e aprenda algo novo e eu te vejo na próxima palestra. Então, sim. 23. (Java) Java Colections (Java): Tudo bem, bem-vindo de volta à introdução do Java aqui para modelagem do Minecraft. E nesta palestra, vamos dar uma olhada nas coleções. Isso incluirá mapas e conjuntos realistas. Embora especialmente os conjuntos sejam algo que é usado bastante extensivamente na modelagem do Minecraft em geral, mas na base de código Minecraft. Portanto, os conjuntos são coisas muito interessantes, mas primeiro vamos começar com uma ArrayList. No entanto. Vamos pensar na matriz de string, que conseguimos definir assim, certo? Então, perguntas, por exemplo, aqui, com uma nova matriz de string, digamos do tamanho dois. E então fomos capazes de atribuir essas perguntas assim. Como algum estado, sem Estados? Faz. A metade dos EUA é algo assim. E poderíamos duplicar essa linha. O outro também. Por exemplo, tornando isso um pouco mais curto capital do Reino Unido. Então isso funciona totalmente bem. Sem problemas qualquer taxa. No entanto, uma das coisas que você pode se perguntar é certa, mas e se eu quiser alterar o número de perguntas dentro dessa área? Bem, você tem que mudar esse número aqui. E isso pode ser um pouco chato, certo? Porque então você tem que entrar aqui, tem que mudar isso, certifique-se de que, se você tiver uma área que tenha respostas, você também tem que mudar o tamanho disso, e assim por diante e assim por diante. Então, meio que não é a melhor coisa. E para isso vamos dar uma olhada em uma lista agora. Então, vamos digitar lst, então listar. E você pode ver que isso já nos sugere basicamente neste. E vamos apenas pressionar a tecla Tab, que agora importará algo no topo aqui. Se isso não acontecer, vou te mostrar em apenas um momento como você pode consertar isso. E então você vai colocar o colchete angular aqui. Portanto, o suporte angular e o outro também devem gerar automaticamente. E então vamos colocar uma corda aqui. E depois vamos chamar isso de lista de perguntas. E isso é igual a uma nova ArrayList. Você pode ver que isso já está sendo basicamente sugerido para nós. Mais uma vez, vou pressionar a tecla Tab para gerada automaticamente. E vamos acabar com isso com um ponto e vírgula. E a primeira coisa que você vai ver é que nós, não definimos nenhum tamanho para esta lista. E isso é exatamente certo porque não há necessidade de definir um comprimento para uma lista, porque uma lista é dinamicamente enquanto Alongar a fala solar. Então, basicamente, podemos adicionar coisas a ele, adicionar elementos a ele e a lista que vamos expandir dinamicamente. Então, isso é muito legal. Essa é a primeira coisa muito legal. Então, podemos dizer lista de perguntas, pontuar, adicionar e depois colocar uma string. Então, por exemplo, qual idioma é falado na Alemanha? Como uma pergunta aqui. E então eu posso duplicar isso. E por exemplo, digamos, qual é a capital do Canadá? E então no final aqui talvez algo como, você sabe, vamos apenas dizer em que hemisfério? O hemisfério é o Brasil. Mas só por uma questão de argumento. Então, esses exemplos de três perguntas, basta adicioná-lo à lista, e este agora será o elemento com índice 0. Este será o elemento com o índice um, e este será o elemento com o índice dois. Então, isso é muito legal. E a primeira coisa que podemos basicamente dizer é que listas, certo? Eles são basicamente adicionar entradas ou elementos dinamicamente. Então isso é muito legal, certo? Assim, podemos adicionar e, bem, até remover coisas. Como você removeria as coisas? Bem, isso também é bastante fácil. Podemos apenas dizer que o ponto da lista de perguntas remove, e então eu posso colocar o índice que quero remover ou posso colocar o objeto real que eu quero remover. Então eu também poderia passar na cadeia de caracteres aqui, ou eu poderia apenas dizer uma. E então ele vai remover a pergunta, qual é a capital do Canadá? Isso é muito legal. Agora, a próxima pergunta você pode ter é, bem, como podemos basicamente obter o comprimento disso? Bem, podemos dizer ponto da lista de perguntas. Primeiro de tudo, você receberá muitas coisas sugeridas aqui, como você pode ver claramente. Muitas coisas, a maioria das quais não nos interessa no momento. Na verdade, temos que usar o método de tamanho aqui. Então, tamanho com os parênteses, o que significa, é claro, que esta é uma chamada de método. E isso retorna como o tamanho ou o tamanho dessa lista. E como posso obter um elemento dessa lista? Bem, podemos apenas digitar o sistema fora, imprimir linha para imprimir isso. E então podemos dizer lista de perguntas que GET. E então aqui temos que passar no índice. Então, neste caso, 0, por exemplo. E se eu apenas executar isso, você verá que vamos ter dois para o tamanho porque é claro que removemos a primeira pergunta ou a string com o índice um. E então o elemento com índice 0 ainda será qual idioma é falado na Alemanha. Então isso é muito legal. Todas as coisas consideradas. Agora, vamos dar uma olhada em outra coisa. E isso vai ser uma lista de números inteiros, por exemplo, certo? Portanto, os números são iguais a uma nova lista de matrizes. E o que você vai ver é que esse problema aqui. Então, ArrayLists classifica algo assim. E então você pode ver que é uma espécie de, você sabe, não se comporta bem. Há como um sublinhado vermelho aqui. O que está acontecendo? Bem, se passarmos o mouse sobre isso, você pode ver que o argumento de tipo não pode ser do tipo primitivo. Isso significa que na verdade não podemos usar em booleano e coisas assim. No entanto, antes de você. Isso pode dizer, Oh meu Deus, essa é a pior coisa de sempre. Não se preocupe. Existem classes de wrapper que você pode usar para que você possa realmente ver substituí-las pelo inteiro Java Lang. Bem, eu posso clicar nisso ou posso simplesmente digitar um número inteiro aqui. Então este, neste caso. E se você usar isso, então tudo funciona bem. Então, essas são esta lista e esses colchetes angulares são o que é chamado de genéricos. E a ideia é que você possa colocar qualquer tipo de dados aqui, exceto os primitivos. Isso é muito importante para aqueles que precisamos dessas aulas de invólucro. Então, há aulas de invólucro, certo? Podemos usar, pode usar em vez do primitivo, um datatype primitivo o u. Então isso é muito importante lembrar aqui que existem classes de wrapper e elas devem existir para cada um dos primitivos tipos de dados. Portanto, não se preocupe lá. E aqui podemos facilmente dizer números em, você sabe, eram 20, por exemplo. E os números adicionam algo como 42. Não se preocupe nada. Como você pode ver, podemos apenas adicionar esses números aqui e eles são inteiros normais e podemos basicamente usar o. Isso é totalmente bom. Mas eu queria mencionar isso que você não pode usar os tipos de dados primitivos nesses genéricos como eles são chamados. Como eu disse, os genéricos são esses tour desses suportes angulares, certo? Esses suportes angulares. E tudo o que está dentro dele é chamado de genérico porque, bem, é genérico no sentido de que podemos colocar em qualquer outra classe ou qualquer outro objeto, qualquer tipo de dados que queremos aqui. E isso só funcionará. Isso, a propósito, inclui uma lista também, certo? Assim, podemos ter uma lista de uma lista. Claro, por que não? Certo? Nós várias listas que também funcionariam. Mas, por enquanto, será isso para as listas. Vamos dar uma olhada nos mapas. Então, os mapas são muito interessantes. Leia, um mapa é a seguinte coisa. Um mapa contém uma chave e um valor. E a chave, a chave realmente mapeia, chave correta mapeia para um certo valor que todos devem fazer sentido. Isso é chamado de par de valores-chave. Certo, justo o suficiente. O que podemos ver? Bem como basta digitar isso no mapa como você pode ver, e temos duas coisas diferentes nos colchetes angulares desta vez. Então, vamos importar isso, certo? Então você pode ver que isso também é importado aqui. Se isso não for importante automaticamente, você pode ver que as coisas ficam vermelhas e você pode facilmente fazer isso sozinho. Você pode clicar nisso e pressionar Alt e Enter, e ele importará essa classe. Você pode ver que eu também tive que fazer o mesmo com o ArrayList. E então aqui em baixo para o mapa, na verdade não preciso fazer isso ainda porque ainda não terminei, mas veremos isso em apenas um momento. Vamos ter um mapa que mapeia uma string para outra string. E vamos chamar isso de país para o mapa da capital, que será igual a um novo HashMap neste caso. E então o que podemos fazer é simplesmente pressionar Alt e Enter. E então também será importante aqui. Mas essas são muito importantes, essas importações basicamente, para que o programa saiba que estamos usando esses tipos de dados, certo? Então, a lista, a ArrayList, o mapa e coisas assim. E o que podemos fazer agora é que podemos adicionar a este país à capital MAB também. Então podemos simplesmente dizer put e isso coloca novos valores. Então, por exemplo, a Alemanha seria Berlim. Espero que você soubesse disso. Vamos fazer outro. Então, vamos apenas duplicar isso algumas vezes. E vamos dizer França. Você sabe que um que é Paris, é claro, cedo direto, Itália, Wu agora fica interessante Roma, é claro. E então vamos ter um EUA, e isso vai ser Washington DC. Tão muito simples. Todas as coisas consideradas aqui, como você pode ver, eu posso colocar duas cordas, certo? Porque isso é o que eu defini aqui. Esses não precisam ser os mesmos. Eu poderia colocar em um ano inteiro, um flutuador aqui, eu poderia colocar uma string aqui, uma lista aqui. Qualquer coisa funcionaria. Isso não precisa ser o mesmo. Isso é muito importante. Eu também queria mencionar isso. E como agora obtemos um valor de um mapa? Bem, digamos que a linha de impressão do sistema. E então vamos dizer “ country to capital dot get”. E você pode ver que eu tenho que fornecer uma string. E o que eu vou tirar é, claro, uma string aqui, mas isso é o que eu tenho que fornecer. E então é isso que eu ganho com isso. Então, o tipo de retorno e eu coloco na Alemanha, e então Berlim será produzido, já que a Alemanha é a chave para o par chave-valor, Alemanha, Berlim deve ser bastante simples. Também posso perguntar se o mapa contém ou não uma determinada chave ou contém um determinado valor. Então posso dizer que a linha de impressão do sistema. E então só para que todos saibam o que estamos pedindo aqui contém a Alemanha chave. E então vamos dizer, ponto de país para capital contém chave, Alemanha, o que, claro , será verdade. Então vamos duplicar isso. Então vamos dizer que contém um valor. Assim, também podemos pedir valores, Londres, por exemplo. E então podemos chamar o método contém um valor aqui, passar e Londres aqui. E então, se nós apenas executarmos isso, devemos ver. Primeiro de tudo, aqui mesmo, taxa de Berlim é a capital da Alemanha e depois contém a chave. O alemão será verdadeiro porque ele contém essa chave e depois contém valor. Londres vai ser falsa porque é claro que não temos urina de Londres aqui como valor. Também podemos remover coisas de um mapa. Então, mais uma vez, sistema de saída, imprima linha e conecte-se para dizer, posso dizer país para capitalizar, remover pontos. E o mais legal sobre o Remover que você pode ver é que eu posso passar a chave ou também posso passar a chave e o objeto também. E então ele retornará um verdadeiro se isso tiver sido removido porque talvez esses não correspondam e você queira uma funcionalidade específica aqui. Caso contrário, você pode simplesmente passar a chave e, em seguida, você também receberá o retorno. Então você receberá uma última, última loja de ano de valor. Então isso agora deve dizer Paris. E depois disso, as marcas são, na verdade, como você pode ver, e depois que isso é basicamente removido deste mapa, essa é uma ideia muito interessante de mapas. Eles podem ser incrivelmente úteis. No entanto, é claro que às vezes difícil desse tipo abstrato de maneiras quando eu apenas mostro aqueles onde você pode realmente usá-los. Usando esses tipos de dados, às vezes pode ser, bem, não é uma ciência exata, certo? Então, às vezes você quer usar algo. Não tenho certeza se isso se encaixa. Mais uma vez, apenas experimente. Steve trabalha e então você vai ficar bem. E então, por último, mas não menos importante, o que vamos dar uma olhada nos sets. Quais conjuntos, como mencionei, são coisas que são muito usadas na base de código do Minecraft. E um conjunto é apenas uma coleção, uma coleção que não contém duplicatas. Bem, essa é a definição mais simples de um conjunto. É apenas uma lista ou uma coleção que não contém duplicatas. Então, um conjunto, por exemplo, de string, poderíamos ter isso como nomes de usuário, por exemplo, com cada problema que é igual a um novo HashSet neste caso, então você pode ver que isso também foi importado e agora isso se transformou em uma história aqui porque todos eles estão dentro, sob o pacote util. Então, na verdade, não tem muitas importações aqui. É meio que faz isso por conta própria. Isso é muito bom. Então agora temos um conjunto e, é claro, podemos adicionar a esses nomes de usuário adicionar pontos, por exemplo, trabalho de algodão. Ou poderíamos dizer que nomes de usuário dot add, nano tech aqui. E então podemos dizer, bem, ok, justo o suficiente, isso é muito legal, mas o que mais um conjunto faz? Bem, mais uma vez, se agora quisermos adicionar algo duas vezes, então você pode, por exemplo, dizer algo como nomes de usuário adicionar, digamos FV, certo? E então eu dupliquei isso, e quero adicioná-lo o mesmo nome duas vezes, certo? Na verdade, vamos receber oito falhas devolvidas. Aqui obtemos um verdadeiro, aqui temos um falso porque isso já está lá, a string já está dentro da coleção. E como não contém duplicatas, só podemos tê-lo uma vez. Se eu realmente tudo isso, você verá que o primeiro é verdadeiro porque claro que F ou V ainda não foi adicionado. E depois que ele for adicionado e tentarmos adicioná-lo novamente, teremos um retorno falso. Então isso é muito interessante. Em todos os conjuntos, você não pode realmente chamar coisas individuais dentro do conjunto. O conjunto é realmente uma coleção que deve ser usada em conjunto. E eu só queria apresentar gentilmente os sets aqui apenas para que você tenha ouvido falar sobre eles. Então, uma vez que os vemos dentro do jogo basicamente, ou dentro do código do Minecraft, você não será completamente pego desprevenido. Então, a última seção aqui, setas que você pode se deparar, certo? Então, isso é sempre uma coisa importante. Você pode apenas, vamos fazer isso. O descomentário eram setas. Acabei de ver onde os erros, por favor, não para terroristas isso, isso não seria bom. Vamos realmente copiar isso por uma questão de argumento e vamos mudar esse C para um pequeno c e n vai ficar bem. Portanto, o primeiro é o índice fora da exceção. Então, vamos fazer o seguinte. Vamos descomentar isso. E antes de tudo, esta é a lista de perguntas. Lá vai você. Não se preocupe nada. E se fizermos isso, você verá que obtemos uma exceção aqui, a exceção de índice fora dos limites. Portanto, esta é uma exceção muito, muito semelhante ao índice de matriz fora dos limites, a exceção é apenas com uma lista. Isso é praticamente tudo o que existe. Então, tentamos passar um índice o GetMethod que não existe para listas. Então, é claro, quando temos apenas dois elementos, o primeiro é do índice 0, o segundo é do índice um. Tão muito importante aqui que, claro, passar dois não funcionaria, certo? Então essa é a primeira exceção. E então, bem, a outra coisa não é realmente uma exceção, mas vai retornar um nulo. Então, se passarmos uma chave para um mapa que não existe, teremos um nulo retornado, certo? E isso pode levar a uma seta para baixo na linha. Então, se eu fizer isso, então você verá que se eu fizer isso, teremos um nulo na parte inferior aqui. E isso é basicamente certo, é claro, Malta, nós não temos isso em nosso país para a capital Mab. Isso realmente vai nos fazer retornar um nulo. Portanto, pode ser muito valioso ver se ela contém uma chave antes de realmente tentar obtê-la foi ótimo. Receber um nulo não é o fim do mundo. Claro que não acabou se você então, se você não espera que isso seja nulo ou você não lidar com isso como nulo possivelmente, então você pode ter alguns problemas. Bem, esses são alguns dos erros que eu definitivamente queria mencionar aqui também. Então, essas seriam, bem, a soma das coleções. Claro, há muito mais, há muitos mais tipos de dados que você poderia usar. Você sabe, não há apenas mapas e conjuntos da lista , há muito mais, mas, por enquanto, será suficiente para basicamente você começar. Então, isso seria para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. Se você o fizesse, eu agradeceria muito uma revisão sua. Caso contrário, verei você na próxima palestra. Então, sim. 24. (Java) de programação de objeto de Java explicada explicada: Tudo bem, bem-vindo de volta à introdução do Java aqui para modelagem do Minecraft. E nesta palestra, vamos falar sobre programação orientada a objetos. E como você pode ver, estamos realmente no PowerPoint. Neste caso. Na verdade, vamos ter um pouco de uma apresentação em PowerPoint aqui. Então, vamos realmente começar com a ideia do que é essa programação orientada a objetos? Bem, nesta palestra, vamos passar por um pouco da teoria e alguns dos termos que você precisará basicamente se familiarizar para saber o que está acontecendo e entenda a linguagem ao conversar com pessoas que conhecem programação e quando eu continuo junto com isso, então especialmente na parte do Minecraft desta palestra ou neste curso, você vai veja que vou basicamente sempre usar os termos que são necessários para usar. Então classes, métodos, objetos, coisas assim, e você deve saber quais são essas. Mas a primeira coisa que podemos pensar é que tudo é um objeto. Ok, vamos armazenar isso como uma informação, como uma informação e podemos criar objetos personalizados com funcionalidade personalizada. Interessante, ok, e essas seriam chamadas de aulas. Então, uma classe é, podemos criar um objeto a partir de uma classe, ok, Interessante. E, em seguida, as classes podem herdar a funcionalidade, que seriam métodos, variáveis de outras classes. Vamos ver dois basicamente exemplos teóricos disso. E então, em palestras posteriores, vamos dar uma olhada em alguns exemplos práticos também. Mas antes de tudo, vamos passar pelos termos muito importantes aqui. Portanto, uma classe ou classes são tipos de dados personalizados ou definidos pelo usuário. Mas agora chegamos ao ponto em que você pode criar seus próprios tipos de dados. E essas classes, então, basicamente, podem ser usadas como modelos para criar objetos. E essas classes incluem métodos e campos que são chamados de membros. Vamos dar isso um passo de cada vez. Portanto, uma classe é um tipo de dados personalizado ou definido pelo usuário que é muito legal. E isso inclui métodos e campos, sobre os quais vamos falar aqui. Esses são membros e como eles podem ser usados para criar objetos. Agora, o que é um objeto? Um objeto nada mais é do que uma instância de uma classe específica com dados definidos. Vamos ver um exemplo disso em apenas um momento. Então, isso ficará muito mais claro. Mas antes de tudo, vamos falar sobre os membros. Esses devem ser bastante autoexplicativos ou muito mais fáceis do que os objetos. Portanto, os membros de uma classe são um método ou um campo, e você também pode chamar funções de métodos. Agora, pessoas que estão um pouco mais em Java podem saber que isso não é estritamente necessário. Portanto, as funções são um pouco diferentes dos métodos. Para nossos propósitos, está totalmente bom. Algumas pessoas ainda dizem funções, mesmo que existam métodos, vai ficar bem e ninguém vai ficar louco com isso. Não precisamos ser muito pedantes nisso, certo? Portanto, métodos ou funções basicamente definidos comportamento específico para um objeto e métodos podem ser chamados para objetos específicos. Então, um exemplo disso, que já vimos é algo como o método de tamanho de uma determinada lista. Claro, cada lista terá o mesmo método de tamanho. O que será retornado é específico para uma lista específica. Então, para esse objeto, mas essa é a ideia geral. Águias ou atributos, pois também são chamados de nossas variáveis que são definidas na classe que armazenam alguns dados relacionados a essa classe. Então, por exemplo, se tivéssemos uma classe de pessoa que pudesse salvar uma string chamada name, isso também deveria fazer sentido e deveria ser bastante autoexplicativo como este exemplo aqui. E, mais uma vez, tudo isso, é claro, também veremos ao vivo e em ação, acredito que na próxima palestra vamos começar imediatamente a pular para aulas e objetos. Portanto, não se preocupe lá. Então, vamos antes de tudo dar uma olhada na ideia de herdar coisas. Então isso, eu quero, antes de tudo, prefácio com a ideia de que se você não conseguir isso completamente, está absolutamente bom. herança é muito complicada. Eu só queria mencionar isso para que você tenha ouvido isso uma vez antes. Então a ideia é que possamos ter uma aula de animais, certo? E isso, na verdade, basicamente herda toda a sua funcionalidade e todas as suas variáveis até duas classes. Então, o animal de duas patas e a classe de animais de quatro patas, e estes estão relacionados da seguinte maneira. A classe animal é a superclasse do animal de duas patas e a superclasse para o animal de quatro patas. Enquanto o animal de quatro patas e as classes de animais de duas patas são subclasses da classe Animal. Você sempre pode ter apenas uma superclasse, mas, como você pode ver, você pode ter várias subclasses. E então aqui podemos ir mais longe e herdar ainda mais coisas e adicionar mais funcionalidades. Então você meio que vai de um muito genérico ou muito abstrato, muito específico, certo? Animal é uma categoria muito abstrata. Animal de duas pernas. Estamos começando a realmente entrar em coisas mais específicas, humanas e uma avestruz. Agora somos muito, muito específicos. Então essa é uma ideia que você pode pensar, certo? Então, vamos pensar em uma aula de cães agora, certo? Então, temos uma classe que é chamada de cachorro, e que pode ter alguns atributos ou alguns são campos, certo? O que vai ser uma foto, um nome e uma idade. E nós vamos ser como, Ok, tudo bem. Tudo bem, que há bom o suficiente para descrever um cão em particular. E agora queremos criar um novo cão. Então, queremos criar uma nova instância da classe de cães. Queremos criar um novo objeto. Bem, vamos fazer isso. Lá nós o temos. Neste momento, criamos um novo cão. Benji tinha sete anos, e aqui está uma foto muito fofa dele. Isso não é legal? Sim, se eu mesmo disser isso, acho que esta é uma foto muito fofa aqui, e este é um cão em particular, certo? Nós realmente não mudamos nada aqui. A única coisa que fizemos é basicamente criamos uma taxa de objetos. Quando voltamos aqui uma vez que cada cão tem uma foto, um nome e uma idade, e esta é uma instância específica ou um objeto particular da classe de cães. Agora vamos apenas criar outro. Por exemplo aqui, Gracie com cinco anos de idade e também tem uma foto muito fofa ali mesmo. Mas, como você pode ver, esses são dois objetos diferentes ou duas instâncias diferentes da classe Dog. No entanto, ambos são cães. Portanto, esse é o tipo de separação que eu quero passar quando se trata de classes e objetos, que a classe é o modelo. E depois que você cria um objeto específico, isso se torna uma instância dessa classe. Então isso às vezes pode ser um pouco estranho, especialmente para iniciantes. Mas não se preocupe de uma só vez. Na verdade, vamos começar a programar com essa estranha ou quando realmente colocamos isso em uso prático será muito mais claro. Tenho certeza disso, certo? Mas isso já seria o fim da palestra. Na verdade. A coisa mais importante desta palestra, deixe-me voltar rapidamente aqui é esta aqui, certo? Portanto, esse slide é provavelmente o mais importante. Na verdade, os slides também estão disponíveis para você como um recurso para que você possa baixá-lo também. Portanto, não se preocupe lá. Então você também tem acesso a essas duas fotos fofas de cachorro. Então, isso realmente vai ser uma grande vantagem, é claro. Caso contrário, isso seria para esta palestra aqui, como eu disse, um pouco mais de teoria e na próxima palestra que vamos colocar tudo isso em prática. Então, seria isso para esta palestra aqui. Espero que você tenha achado útil e os neurônios são os novos, e eu te vejo na próxima palestra. Então, sim. 25. (Java) Classes e objetos Java: Tudo bem, bem-vindo de volta à introdução do Java aqui para modelagem do Minecraft. E nesta palestra vamos basicamente aplicar a teoria que aprendemos da última vez. Na última palestra, vamos falar sobre aulas e objetos. Então, antes de tudo, é claro, precisamos criar uma nova classe, uma classe personalizada agora. E para isso, vamos entrar nessa janela do projeto bem aqui dentro do nosso pacote. Então este é o pacote, certo? Net ajudou o Monroe foi o pacote que criamos ou outro que criei. Espero que este seja o seu nome. Em seguida, no pacote names, clique com o botão direito do mouse em nova classe Java. E então você vai chamar isso de classe de cachorro, certificando-se de que a classe aqui está selecionada e pressione Enter. Agora, este ano, essa janela só aparece para mim porque eu tenho um repositório do GitHub associado a este projeto. Se você não tem isso, isso é absolutamente bom. Não se preocupe com isso. Então eu só queria mencionar isso. E agora, em vez desses colchetes encaracolados, oh, adicione membros a essa classe. Então, por exemplo, poderíamos adicionar alguns campos, certo? Então podemos dizer algo como adicionar, adicionar alguns campos, certo? E então vamos pensar apresentação do PowerPoint que vimos, certo? Tínhamos uma imagem de String pública. Estávamos pensando em uma foto. Vamos apenas dizer que uma string que está totalmente bem por enquanto, um nome de string pública. E então digamos que um número inteiro público, que é a variável idade. Agora isso está tudo bem por enquanto. Mais uma vez vamos ignorar o público aqui. Só temos que definir isso para público mais uma vez em um tempo muito, muito curto. Na verdade, vamos ver os modificadores de acesso. Então, essa é literalmente a próxima palestra também. E então vamos entender o que isso significa por enquanto. Temos que configurá-lo para público. E o que também podemos fazer é, por exemplo, algo como um vazio público. E então vamos, por exemplo, que possamos criar ambos os campos e também métodos, certo? Então este é um método aqui, e isso é, é claro que isso era campos aqui. Então eu posso fazer algo nesse método, que é apenas por uma questão de argumento. Só vou dizer só nisso, neste momento. Ok, então agora isso está tudo configurado. Agora, o que estamos fazendo com a aula de cães dele, certo? Como estamos fazendo um novo objeto com isso? Bem, podemos fazer o seguinte. Você poderia dizer cachorro, certo? Logotipo. E agora isso pode, a princípio, podemos dizer algo assim, por exemplo. Agora isso pode, pela primeira vez, ser um pouco confuso. Talvez como esperar, mas quero dizer, eu meio que deveria reconhecer isso, certo? Esta é apenas uma variável normal que declaramos aqui, certo? É apenas um tipo de cachorro. Agora, como eu disse, porque agora você está começando a usar classes personalizadas. Então, basicamente, tipos de dados personalizados. Isso pode ser um pouco estranho, mas isso é o mesmo que se eu fosse fazer isso, certo? Realmente, quando pensamos nisso, é apenas uma variável. Desta vez do tipo cão. E outra maneira que eu posso realmente inicializar isso é que posso dizer novo cão e você pode ver que ele realmente gera isso automaticamente para nós. E agora eu criei um novo cachorro. Portanto, essa é a ideia geral de como você pode criar um novo objeto. Então você precisa usar a nova palavra-chave, que já vimos anteriormente algumas vezes. Por exemplo, com o scanner, tivemos que criar um novo scanner. E agora isso também faz sentido. Scanner é apenas outro objeto ou outra classe que podemos instanciar um novo objeto ou uma nova instância de uma polegada pode basicamente usá-lo. Essa é uma espécie de ideia. Agora, a verdadeira questão é que tudo bem, como eu tenho esse cachorro aqui, mas como eu os campos, o que são, o que eles são agora? Bem, vamos apenas experimentá-lo. Escreva sistema, linha de impressão, Togo, nome do ponto, por exemplo. Vamos ver, bem, o que esse cachorro foi nomeado como um cachorro? Não, na verdade, o nome é nulo porque não atribuímos nenhum desses valores. Portanto, eles são todos nulos porque aqui usamos, à direita, usamos o construtor padrão padrão. Então, o que isso significa? Bem, o construtor é outra parte de uma classe que é muito importante, e isso não é classificado como membro neste caso, isso é outra coisa. Então, o construtor, como o nome sugere, é algo que constrói um objeto desse modelo, dessa classe, certo? Portanto, o construtor padrão, cada classe que você cria tem algo assim. Então, ele é escrito assim com um modificador de acesso. E então o nome da classe imediatamente seguido por parênteses, que não têm nada neles. E, basicamente, quase como um método normal, apenas sem um tipo de retorno ou melhor, o tipo de retorno é o mesmo que o nome. Você também pode pensar nisso assim. E este ano é o construtor padrão. E isso é o que estamos usando para este médico aqui, certo? Portanto, este é o construtor padrão agora. E o verdadeiro problema aqui é claro que você pode ver que nada acontece nele. Portanto, nenhuma dessas coisas tem nenhum valor atribuído a ela. No entanto, também podemos criar nossos próprios construtores. Agora, podemos criar um construtor personalizado. Então, por exemplo, cão público, string, imagem, nome da string e idade, escreva algo assim e então podemos atribuí-los. Portanto, essa imagem é igual a imagem, this.name é igual a nome, e essa idade do ponto é igual a idade. E você verá, de repente, tudo ainda funciona totalmente bem. Agora, a primeira coisa que você pode perguntar, o que é isso, essa palavra-chave? Bem, isso se refere ao objeto que estamos criando taxa. Então, por exemplo, você pode pensar nisso quando chamamos esse método Wolf. Se chamássemos isso, teríamos que chamar isso em um objeto específico. Então, toda vez que eu uso isso dentro desse método, esse objeto específico está basicamente sendo referido. Então você pode pensar nisso assim. Da mesma forma com o construtor. Quando eu uso isso, esse objeto específico que estamos criando agora está sendo referido porque o nome do parâmetro aqui tem o mesmo nome que o campo. Eles não precisam necessariamente, mas neste caso eles têm. Então, queremos usar essa ferramenta muito especificar, ei, este é o campo e como parâmetro. E agora o que eu posso fazer é em vez de criar um com o construtor padrão aqui, eu posso realmente fazer algo como, por exemplo, cachorro e Benji, digamos que é igual a novo cão, certo? E então você pode ver se eu espero um segundo aqui, basicamente posso dar uma olhada nisso. Aí está ele. Então, agora, na verdade, recebemos uma sugestão aqui, sem parâmetros ou string, string de imagem, nome, string ou int age. Então, na verdade, recebemos a sugestão aqui. Digamos Benji dot PNG, certo? Digamos Benji pelo nome e depois sete para a idade. E você pode ver que isso é praticamente o mesmo que apenas uma chamada de método normal, mas neste caso, ele realmente cria um novo objeto. E então podemos fazer a linha de impressão do sistema. Agora o nome do ponto Benji, e então digamos Benji ponto h. E agora isso vai produzir Benji e um sete como você pode ver. Então, isso é realmente muito legal. Há mais uma coisa. Vamos apenas dizer, por uma questão de discussão aqui, quando temos muitos campos, certo? Às vezes, pode ser um pouco tedioso colocar todos eles aqui no construtor. Então, o que podemos fazer é também podemos clicar com o botão direito do mouse em gerar construtor. Então você pode selecionar todos os campos que deseja inicializar, você veria pelo construtor e dizemos, ok, e isso gera exatamente a mesma coisa que fizemos anteriormente. Eu queria mencionar isso porque às vezes isso pode ser muito útil, certo? Portanto, há muitas coisas aqui que podem ser geradas automaticamente. Portanto, tenha isso em mente também. Mas também vamos deixar outro escuro. Então, só para ilustrar isso, então o cachorro Gracie é igual a um novo cão, certo? Este é o ponto gorduroso PNG, Gracie, e acredito que Gracie tinha cinco ou cinco é bom. Agora, vamos realmente produzir isso também. Então eu estou selecionando este Controle C, Controle V para colá-lo e, em seguida, alterando a variável aqui e tipo de Benji para Gracie. E isso, claro, agora também funciona e terá valores diferentes. Então, mais uma vez, esses dois são invasões de cães, mas são dois cães diferentes. Portanto, existem dois objetos diferentes. E espero que a teoria da última palestra muito fácil para este exemplo ilustrativo aqui, uma vez que estamos realmente usando-a, espero que fique muito claro. E também faremos é mudar esse lobo que você está realmente para esse nome de ponto, apenas waft. Então o que podemos ver também é que quando chamamos esse método, mais uma vez, esse método em particular, nós realmente temos que chamar um objeto específico, certo? Então, na verdade, temos que salvar Benji dot ou ponto atrevido deve fazer sentido. E agora o que vai acontecer é que não será o mesmo para cada um deles, certo? Então Benji acabou de se mudar ou Gracie apenas Swift. Então, isso mais uma vez se refere ao objeto real em que isso está sendo chamado por assim dizer. Então essa é a ideia. E então uma última coisa que pode ser um pouco diferente ou um pouco estranha. É como, bem, espere um segundo. Benji dot age, certo? Certo. Posso apenas gostar de atribuir isso a alguma coisa? Sim, eu posso. Bem, isso é muito interessante, certo? De repente, certo? Benji se tornou 10 anos e você pode ser como, Espere, isso não é, isso não faz nenhum sentido, certo? São apenas sete eles. Isso não está certo, é sim, isso agora foi salvo. E isso é algo que vamos ver a próxima palestra quando se trata de modificadores de acesso. Porque tudo isso ser público basicamente significa que, bem, você pode alterar isso e acessá-lo de qualquer lugar no código. E isso às vezes não é o que queremos. Às vezes você quer restringir o acesso a certos campos, variáveis, métodos, todo esse jazz basicamente. E como eu disse, vamos dar uma olhada nisso na próxima palestra. No entanto, isso seria para esta palestra aqui. Espero que você tenha achado útil e aprenda alguns dos novos. E te vejo na próxima palestra. Então, sim. 26. (Java) modificadores de acesso (Java) (de acesso: Tudo bem, bem-vindo de volta à introdução do Java aqui para a manhã do Minecraft e nesta palestra, vamos olhar para modificadores de acesso. Então você precisará de todo o código da última palestra. Não se preocupe, é claro, isso está disponível para você como um recurso. Então, definitivamente, dê uma olhada nisso e então, bem, vamos pular direto para dentro. Então a ideia era que, bem, tínhamos todos os nossos campos aqui como público, certo? Então, tudo aqui era público. E estávamos pensando, bem, ok, então como vamos usar isso? Ou como poderemos não tornar alguns Thiel mutáveis ou como modificáveis aqui fora desta classe. Bem, vamos passar por todos os modificadores de acesso. Portanto, há público, há protegido, e há privado. Depois, há mais duas coisas que também veremos quais são estáticas e finais, bem, não são realmente modificadores de acesso, mas também são um tipo de modificadores que você pode colocar na frente dos campos e, ou métodos. Então, quando se trata de tornar o nome, por exemplo, protegido aqui, isso realmente não fará nada. Agora, a razão pela qual não faz nada é que um campo protegido ou um método protegido pode ser chamado no mesmo pacote. E porque o cão e a classe principal ou no mesmo pacote, ainda podemos nos referir a este campo aqui. E a palavra-chave protegida também funciona ou classes que se estendem a partir disso. Então, basicamente, os ativos que herdam da classe dog agora também seriam capazes de usar a variável name. E a variável idade? Bem, vamos fazer o seguinte. Vamos tornar isso privado. E, de repente, podemos ver problemas relacionados, certo? Tudo está ficando louco. Todos estão surtando porque, de repente, podemos realmente acessar isso porque uma variável privada e só ser acessada na mesma classe, o que significa que não podemos acessar isso diretamente. No entanto, podemos fazer algo que será um método, retorna esse valor. Então isso é o que se chama guitarra. E o que podemos fazer é que podemos clicar com o botão direito Gerar e você pode ver que podemos realmente gerar getters e setters. Setters são praticamente a mesma coisa em que você define a taxa variável. Então, onde você pode basicamente definir isso e um getter é muito a coisa em que você obtém isso. Então eu posso selecionar a variável idade e dizer, ok, e ver que ela gera um método para nós inteiro público porque é claro que esse é o tipo de retorno aqui, obter idade. Então, essa é a maneira que você expressaria isso ou o nome disso geralmente era get e , em seguida, apenas o nome da variável ou do campo. E então retornamos a idade nesse método. E então, em vez de chamá-lo diretamente, podemos dizer Na idade, na idade, se a idade. E agora aqui está a coisa interessante. Claro que isso não funciona porque não podemos atribuir algo a um método. Portanto, isso não funciona, certo? Então podemos dizer que não funciona. Portanto, não podemos atribuir um novo valor a essa variável de idade. Então essa é realmente a coisa legal. E então também podemos ter uma palavra-chave estática e final. Certo, o que é isso? Bem, a estática vai ser muito interessante. Então, quando eu tiver um int estático público, e vou chamar isso de cão para multiplicador de ouvido humano. Multiplicador, que é igual a sete se não me engano aqui. E isso é o que podemos pensar disso assim. Todo cão tem que ter um campo específico para eles, que é esse multiplicador. Quero dizer, se somos realmente honestos, não realmente, certo, quando pensamos nisso. O médico aqui, dr. multiplicador do ano humano realmente é algo que funciona para todos os cães. Exatamente. É por isso que é estático. É variável estática ou um método estático e, na verdade, é chamado na classe e não requer objetos específicos sejam criados. Então o que eu posso fazer é, por exemplo, em vez de chamar Benji que ELE, eu posso dizer cão, ponto, ponto, humano, médico, multiplicador do ano humano. Você pode ver que eu chamo isso na classe real e não no objeto. Então isso é uma coisa muito interessante. E isso pode estar quebrando seu cérebro um pouco aqui, porque antes de tudo, entrar na estática é um pouco estranho e parece muito contra-intuitivo à primeira vista, talvez, mas não se preocupe. Quando estamos realmente usando isso, vai ficar bem. E a essência geral é que, você sabe, se algo estático geralmente é algo que é o mesmo para todos os objetos, certo? Porque mais uma vez, você, Dr. multiplicador de ano humano não muda de Dr. Dog. Agora vamos ignorar o fato de que talvez isso mude se houver diferentes raças e coisas assim. Vamos ignorar isso. É só um exemplo aqui, claro, certo? E então a questão também é, bem, esperar um segundo. Isso realmente não precisa mudar, certo? Porque agora temos o mesmo problema mais uma vez, certo? Então cães, seu multiplicador e, de repente, é igual a dez, podemos simplesmente mudar isso e é como se isso não fosse realmente inteligente, certo? Isso não precisa acontecer. Bem, felizmente, há a palavra-chave final também. E isso faz com que se eu realmente pressionar Control Z para voltar, você pode ver que não pode atribuir um valor a uma variável final porque uma é uma variável final do que o valor nunca pode mudar depois de ter sido atribuído. Isso também é muito interessante. No entanto, há, é claro, uma diferença distinta entre uma taxa variável privada e uma final. Porque uma variável final poderíamos mudar teoricamente, certo? Poderíamos dizer algo como, por exemplo, vamos apenas tornar um público e público vazio. Aniversário público vazio, certo? Para um cão, onde dizemos idade mais mais. Mas isso ainda funciona mesmo sendo privado, podemos alterar essa variável. Nunca poderíamos alterar essa variável quando for final. Então essa é a diferença lá, o que é esperançosamente compreensível nesse sentido, certo? Então, vamos dar outra olhada na seguinte taxa. Então também podemos dizer algo como, Bem, quero dizer, vamos apenas adicionar um, vamos adicionar mais uma coisa, algo como um int público. Então, GetAge em anos humanos, certo, onde podemos usar o multiplicador aqui que vamos retornar a variável idade vezes o médico aqui, médico humano, multiplicador de ano humano ali mesmo. Agora podemos simplesmente chamar isso geralmente você pode, claro, também dizer cão pontilhar isso. Não precisamos fazer isso porque estamos dentro da aula de cães, então podemos simplesmente chamá-lo sem isso. Isso é muita preferência pessoal, apenas se você quer ou não fazer isso. Mas o que podemos dizer, por exemplo, é que podemos dizer Benji dot ter idade em anos humanos, e isso será então, o que é isso? 49? Sim, 49. Lá vai você. Tão fácil o suficiente. Mas essa é uma espécie de essência geral. Temos público, protegido e privado para os modificadores de acesso. E depois também há estática e final. E definitivamente seremos, vamos encontrar todos aqueles em palestras futuras, especialmente quando entrarmos em modding de microondas, isso será muito relevante aqui, especialmente algo como a palavra-chave final e a palavra-chave estática, essas serão muito usadas. Mais uma vez, se eles não estão um pouco claros, tudo bem. Não se preocupe. Quando você começar a trabalhar com eles, ele vai ficar mais claro. E mais uma vez, posso apenas aconselhá-lo a experimentar um monte de coisas. Apenas acenda inteligente, faça um monte de aulas, e apenas experimente um monte de coisas. Faça algumas aulas, faça alguns campos, um monte de coisas. Você não pode quebrar nada. Na verdade, não. Portanto, é apenas uma questão de estar aberto a experimentar basicamente. Então esse é um conselho que eu posso te dar. Mas, de outra forma, isso seria para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E te vejo na próxima palestra. Então, sim. 27. (Java) Insuficiência e Inheritance (Java) (a de (Java) (de (a de que de de: Tudo bem, bem-vindo de volta à introdução do Java aqui para modelagem do Minecraft. E nesta palestra vamos falar sobre herança e polimorfismo. Bem, em primeiro lugar, um polimorfismo e herança para uma taxa de palavras muito grande. Mas, no geral, eles são conceitos são bastante simples, especialmente o polimorfismo não é tão louco de um conceito na verdade? Agora, outra isenção de responsabilidade que eu quero dizer logo fora do portão é que , como este é um exemplo, o tipo real de conceito pode não ser 100% transparente, o que é absolutamente bom. A propósito, isso é algo que mais uma vez, tem que ser construído apenas experimentando um monte de coisas, certo? Normalmente penso sobre o mesmo. Eu ouvi. Esqueci. Eu vejo. Eu me lembro. Eu faço. Eu entendo. Então sempre tem que haver alguma coisa que acompanhe isso. Seja qual for o caso. Digamos que, por uma questão de argumento, alguém diz: Sabe de uma coisa? Eu realmente quero uma aula de gatos também, porque eu não sou uma pessoa de cachorro, tudo bem. Está tudo bem. Bem, vamos adicionar uma aula de gato aqui também. Então, uma nova classe, gato. E lá vai você. Agora, o que você perceberá rapidamente é que, bem, como sejamos honestos, o gato renal também deve ter uma foto , um nome e uma idade. E você pode ser como, bem, quero dizer, vamos apenas copiar esses campos. E então você pode ser como, bem, eu também preciso ter idade que o getter e depois o lobo, talvez o bebê. Eu sou Mimi Chao e você chega a um ponto em que você está copiando um monte de código e geralmente usar um monte de código é um sinal de que você pode otimizar algo. Agora, a otimização prematura é o caminho para o inferno. Eu entendo isso. No entanto, às vezes isso só faz muito sentido em que você tem como isso copiado, copiado, copiado, e é como, vamos apenas fazer um método ou uma classe fora dele ou outra coisa. E essa outra coisa realmente será uma superclasse para o gato e um cachorro sendo a classe de animais. Então, vamos fazer uma nova classe chamada animal, e isso agora vai guardar isso. Então, vou cortar isso com Control X, Control V para colar isso aqui. E agora, de repente, o que podemos fazer é estender a classe de cães pela classe Animal, o que significa que, vamos fazer certo? Então, vamos herdar tudo do animal aqui. Vamos dizer que estende animal, e isso agora é herança. Então, a classe de cães agora é a subclasse do animal, e o animal agora é a superclasse do cão, o que significa que tudo aqui foi herdado. Agora eu posso realmente excluir isso literalmente. A única coisa que vai ficar vermelha será a idade, porque eu realmente tenho que tornar isso protegido aqui para que ele possa ser acessado na subclasse. Mas nós vimos isso na última palestra em que eu disse que quando é uma variável protegida, então você pode realmente acessá-la da subclasse também. Então essa é uma espécie de ideia. Vamos nos livrar de alguns desses comentários aqui também. Também podemos nos livrar do construtor padrão que também não é mais necessário. Então agora temos essa classe de animais, certo? E isso é muito legal. Agora, você pode ver que através desta classe Dog, tudo aqui está sendo definido. No entanto, queremos garantir que todos, que todas as classes que realmente herdam da classe Animal também funcionem. Então, vamos fazer um novo construtor também. Então clique com o botão direito do mouse, gere um instrutor, certificando-se de que tudo aqui esteja selecionado e pressione OK. E então seremos imediatamente recebidos com uma flecha aqui. Porque se passarmos o mouse sobre isso, você pode ver que não há construtor padrão disponível em um animal net com zoo. O que isso significa? Bem, quando você realmente adiciona um construtor específico aqui, esse não é o construtor padrão. O construtor padrão não funciona mais. Então, uma vez que você tenha um construtor ou seja, não é o construtor padrão, você terá que adicioná-lo manualmente novamente. Então eu poderia, por exemplo, dizer animal público, certo, sem nada nele, certo? Então, algo assim. No entanto, é claro que isso não acontece. Agora, você sabe, que mais uma vez, nós realmente não queremos isso. Portanto, isso será excluído e , em seguida, o construtor padrão não funciona mais. E agora o que temos que fazer aqui? Bem, o que podemos fazer é que podemos chamar o super-herói, e isso basicamente chama o construtor. Então, podemos realmente colocar em PI, como você pode ver, na verdade já sugere, digamos, vamos apenas pegar todos os parâmetros aqui e colocá-los em ano. E agora esse super agora está chamando o construtor Animal aqui. Isso é realmente perfeito neste caso. Então, outra coisa, talvez por exemplo, a, tanto a idade quanto o nascimento. Eles também podem estar na classe de animais, por exemplo. Isso também funcionaria totalmente bem. E o resto aqui está realmente totalmente bem. Vou apenas fazer isso um pouco diferente. Então eu geralmente quero os construtores no topo da classe, certo? Então, primeiro vêm os campos e depois os construtores e depois todos os métodos e coisas assim. Embora a ordem, é claro, seja algo que depende completamente de você, mas esta geralmente é a convenção 0. Agora, o que aconteceria se eu agora dissesse, bem, o gato agora também estende a classe de animais. Vamos, vamos receber um erro aqui, que é que não há construtor padrão disponível em animal. E então temos essa solução possível, que é o construtor de criação combinando super, que é algo que vamos ver muitas vezes. Porque se você clicar nisso, você simplesmente receberá um novo construtor aqui com todos os parâmetros necessários para chamar o construtor de sua superclasse. E isso é praticamente isso. Isso é muito legal. E agora podemos realmente criar uma nova classe. Você pode ver tudo aqui funciona. Então podemos dizer que os bigodes de gato são novos gatos, certo? Então, nova conta aqui. E isso é, por exemplo, então bigodes pontilham PNG. E então o nome vai ser bigodes, certo? E então talvez, talvez eles tenham 12 anos ou algo assim. E então podemos simplesmente ligar, por exemplo, bigodes dot ns pode ver que posso chamar tudo para obter idade. Agora eu realmente tenho acesso à variável idade aqui. Este é simplesmente o caso porque estamos no mesmo pacote. Isso geralmente não deve ser o caso. Eu só queria mencionar isso porque geralmente quando você realmente está estendendo uma classe em particular é muito improvável que você esteja no mesmo pacote. Então só queria mencionar isso. E isso é, bem, eu não diria uma limitação, é apenas uma realidade basicamente. Mas agora a verdadeira questão, comunicando-se agora, o que é tão interessante em ter isso? Bem, vamos pensar sobre isso, certo? Então, temos o método lobo aqui, certo? Vamos apenas excluir isso ou, na verdade vamos ser uma taxa ainda mais inteligente. Vamos apenas copiar isso ou recortá-lo, certo? E depois adicione isso ao animal. Agora, primeiro de tudo, você vai dizer, espere um segundo, nem todos os animais, Wolf está certo. Sim, isso é justo o suficiente. Então, vamos chamar isso faz som. E então podemos dizer esse nome, apenas, digamos que apenas tenha feito um som. Então, não podemos fazer isso. E outra coisa realmente interessante é que isso é definido na classe animal. No entanto, ainda posso dizer algo como bigodes, ponto-ponto-ponto faz som certo? Então, como bigodes é um gato e um gato é um animal, ainda posso chamar todos os métodos públicos aqui. E se eu chamar isso, você pode ver bigodes apenas fazendo um som. Então isso é muito legal. Mas agora vamos sobrecarregar isso porque enquanto cada animal faz um som, um gato faz um som diferente de um cachorro, certo? Então, o que podemos fazer é, na verdade, substituir a implementação desse método nas subclasses. Então isso é bastante frequente, legal. Mas o que podemos fazer é começar a digitar o nome real do método como você pode ver, ou podemos escrever uma substituição, certo? Podemos começar a escrever isso. E então você pode ver todos os métodos possíveis que podemos substituir. Vamos, é claro, escolher o método de som do microfone aqui e ele receberá essa anotação adicionada. Isso não é estritamente necessário, no entanto, é muito valioso para você se você tiver isso e eu definitivamente recomendo mantê-lo, porque se você passar pelas aulas reais, você pode ver muito claramente, Certo, então isso foi substituído de uma de suas superclasses. Então isso é muito importante. Então, na verdade, vou pegar este. Então, eu realmente vou pegar isso e apenas modifiquei um pouquinho, certo? Então eu vou dizer isso, só eu fora. Digamos que vou fazer a mesma coisa. Copie isso para o cachorro aqui. E eu vou dizer esse nome, apenas mexer a pasta, ter algo diferente aqui. E o que você verá se eu realmente chamar, por exemplo, Benji, não fizer som. E eu também vou para Gracie, não faça som. O que acontecerá agora? Bem, muito interessante o suficiente. Miau, woof, woof. Então, como você pode ver, os métodos substituídos agora estão sendo chamados em vez daquele pela superclasse real. Então isso é muito frequente, legal. E agora isso é uma espécie de ideia de herança, certo? Podemos herdar ambos os métodos e campos aqui, isso só o torna tão antes de tudo, tudo é um pouco mais agradável separado e, em seguida, também não temos código duplicado. Agora, a verdadeira questão é: o que é polimorfismo? Polimorfismo é uma palavra grande para um conceito muito, muito fácil de entender. Na verdade, no conceito muito fácil de entender é que um cão é simultaneamente um cão e um animal deve fazer sentido, certo? Então você tem uma aula de cachorro é um cão ou um objeto do tipo? O cão é um cachorro e um animal. Justo o suficiente. Certo. O que isso significa? Bem, eu posso salvar isso em um animal, certo? Então eu posso salvar animais, animal é igual a um novo cão. Vamos apenas dizer jeoneun dot PNG. Jenny. Talvez a Guiné seja como 15. Tudo escuro, mas está tudo bem. E agora o que aconteceria se eu fizesse isso em um ponto mole fazer som. O que vai acontecer agora? Bem, quero dizer, é um animal. Então, obviamente, deveria dizer que Jenny acabou de fazer um som, certo? Porque essa é a coisa mais lógica. Espere um segundo no fundo, é um cachorro. Exatamente. Então ele se mudou. Porque apesar de salvarmos isso em um animal, polimorfismo faz com que o objeto do cão possa assumir várias formas, ou qualquer objeto realmente possa assumir várias formas. Isso é o que basicamente significa polimorfismo. Vários fóruns em uma tradução muito solta, digamos. E a grande coisa que eu também posso fazer é fazer uma lista de animais, por exemplo, taxa chamada animais. E posso fazer disso uma nova ArrayList apenas por uma questão de discussão. Vamos importar isso. E então eu posso dizer animais, não adicionar. E eu não preciso apenas adicionar animais porque é claro que Benji é um cachorro, mas o cão também é um animal. E então eu também posso adicionar Gracie, e então também posso adicionar bigodes. Então, como você pode ver, mesmo que todos sejam salvos como animais, certo? Se eu quiser recuperá-los, os animais recebem um, por exemplo, fazem som. Então fica lá fora, sim. Oh, certo. E o método get aqui leva você de volta um animal. Mas, mais uma vez, vimos que chamar um método sobre isso realmente causou o, o que, o que dizemos o método mais específico que ele pode. Então, mesmo que isso esteja sendo salvo como um animal, Gracie está sendo salvo como um animal aqui, o som do microfone vai fazer com que Gracie, apenas, isso seja bem legal. Mais uma vez, se você não vir claramente o aplicativo para isso, tudo bem. Esta é uma introdução justa muito abstrata para isso, é claro. No entanto, isso seria, por enquanto, para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E te vejo na próxima palestra. Então, sim. 28. (Java) Interfaces e cursos abstratos (Java) (de atama): Tudo bem, bem-vindo de volta à introdução do Java aqui para modelagem do Minecraft. E nesta palestra vamos dar uma olhada em interfaces e aulas abstratas. Então, na verdade, vamos começar com a aula abstrata primeiro porque esse é um exemplo muito ilustrativo, na verdade. Então, o que podemos pensar é o seguinte. O que é um cachorro? Bem, quero dizer, você já viu que viu um cachorro antes? Sim, claro. Quer dizer, seja como uma foto ou em algum lugar do mundo você pode ter visto um cachorro. Você já viu um animal antes? Agora você pode dizer que é bem, quero dizer, eu vi um cachorro antes dele, mas não, não. Você já viu um animal antes? E você vai se encontrar e se fundir, certo? Porque é como, o que é um animal no momento, o que podemos fazer é que podemos dizer animal, digamos que um é igual a um novo animal, certo? Com, por exemplo, exatamente como x, p e g x e isso como 10 anos de idade ou algo assim. E então você pode ser como, como é um animal? O que isso representa realmente taxa em animal é um conceito muito, muito abstrato. E aulas abstratas, certo? Veja a congruência lá, certo? Então, na verdade, não devemos ser capazes de criar novos objetos da classe Animal porque o que realmente é um animal? As coisas podem ser classificadas como um animal, mas o animal objeto não existe, certo? Então o que vamos fazer é fazer uma aula abstrata pública com isso. E você imediatamente vai ver que temos um problema relacionado, o que, claro, é exatamente esse aqui, porque não podemos criar um novo animal se for abstrato, você pode ver que animal é abstrato, não pode ser instanciado, o que significa que não podemos criar objetos na classe abstrata no gato e no cachorro. Literalmente, nada mudou porque, claro, o animal ainda está em tudo aqui, então funciona. Agora, o que também podemos fazer e isso é muito legal para uma aula abstrata é que podemos tornar certos métodos abstratos. Por exemplo, o método de som do microfone aqui. Então, podemos basicamente apenas, vamos excluir isso. E então o que vai acontecer é que podemos dizer público, abstrato, vazio, fazer som, certo? E agora olhe para isso, acabamos de terminar. Então, ainda temos que ter um ano de assinatura de método normal. No entanto, a implementação real é deixada para as subclasses. E se não substituíssemos isso, o que você pode ver é também acharia que cão de classe deve ter declarado abstrato. Então, ou isso também tem que ser uma classe abstrata ou temos que implementar os métodos abstratos do animal que podem passar o mouse sobre isso nos métodos de implementação e , em seguida, isso também será adicionado. Então eu vou voltar com o Control Z aqui e depois tudo funciona bem. Então essa é uma espécie de ideia de uma aula abstrata. E uma interface é amina, algo muito relacionado a isso também. Então, o que vamos fazer é apenas adicionar uma interface, então uma nova classe aqui, e então podemos selecionar a interface. Vamos chamar isso de interface de pétala e a interface comestível IP. Você está em interfaces. Também definimos assinaturas de um método. Então vazio, animal de estimação Por exemplo, taxas de símbolos como este, e é isso. Portanto, nenhum modificador de acesso, apenas isso. E se essa interface for implementada agora, por exemplo, nos implementos certos do gato, temos o direito, então eu palatável do que o que você verá é um erro muito semelhante ao anterior. Implemente métodos, o método e o ego. E agora eu tenho que ter algum tipo de implementação nesta classe de gatos. Por que temos interfaces e classes, você sabe, eu não poderia simplesmente fazer outra aula? Animal comestível e coisas assim? Sim, claro, isso também funciona. Mas a limitação aqui é que você sempre pode se estender apenas de uma classe. No entanto, você não pode implementar várias interfaces diferentes. Então essa é realmente a coisa interessante aqui. E então também a interface é basicamente o que o nome sugere. É um permite que você faça interface com algo de uma maneira particular. Então, quando algo implementa uma interface, você meio que tem um, quero dizer, você poderia pensar nisso como um contrato não escrito que tudo dentro dessa interface é definitivamente tem um certo implementação. Então, por exemplo, eu poderia dizer algo como, você sabe, apenas esse nome era animal de estimação, algo assim, certo? E então eu posso simplesmente copiar isso apenas por uma questão de argumento. Eu também vou implementar isso no cachorro aqui. Então eu pedal e vou acrescentar isso e então vamos dizer algo como foi arranhado e arranhado atrás das orelhas, por exemplo, certo? E agora o que posso fazer é em vez de, por exemplo, fazer uma lista de animais, agora eu poderia, por exemplo, também fazer uma lista de iptable, certo? Então agora temos esses animais de estimação avaliam nova ArrayList disso, e podemos adicioná-los também, certo? Adicionar pontos de animais de estimação. E então vamos apenas dizer Benji, e então vamos apenas dizer bigodes, certo? E agora podemos fazer um zoológico se quisermos. Isso é muito legal. E isso não importa. Mais uma vez, com polimorfismo, não importa se eles são salvos como eu pétalas. Mais uma vez, sua implementação real real está sendo chamada Quando deveríamos ligar, por exemplo, Pets dot obter um. Então o que aconteceria é que, claro , a implementação real está sendo chamada de bigodes foi remendada em vez de bigodes foram arranhados atrás das orelhas. Essa é uma espécie de ideia geral aqui. Mais uma vez, interage classes abstratas. Uma espécie de na mesma veia que a herança e o polimorfismo em geral. Onde pode ser um pouco estranho, porque nesses exemplos, às vezes é difícil realmente passar pela ideia. Mais uma vez, experimentar um monte de coisas realmente pode ajudar ou seguir as tarefas, também um esforço que vale a pena. Mas, de outra forma, por enquanto, isso vai ser para esta palestra aqui. Espero que você tenha achado útil e tenha aprendido algo novo. E te vejo na próxima palestra. Então, sim. 29. TARde 3: jogo de Trivia de atualização: Tudo bem, Bem-vindo à terceira atribuição aqui para a introdução do Java. E esta é, na verdade, uma tarefa bastante simples. Como você pode ver, não é tão longo. Mais uma vez, o tempo que leva e faz isso pode ser redondo cerca uma hora ou mais, como geralmente uma estimativa muito conservadora também. Então, há um pouco de espaço de manobra que eles são, você pode ser capaz de fazê-lo em 30 minutos, certo? Não se preocupe nada. Mas, por enquanto, vamos passar por aqui. Então jogo trivia com classes e objetos. Então, mais uma vez, queríamos o mesmo jogo de trivia que temos feito nas duas últimas atribuições também. Eu basicamente quero que você modifique os jogos de trivia que ele usa as aulas também. Agora, isso pode ser de qualquer forma, forma ou forma que possa ser o caso. Pense em como você pode fazer algumas aulas personalizadas que, você sabe, salva as respostas e as perguntas podem estar juntas. Talvez você possa usar uma lista, algo assim. Depende realmente de você como você quer estruturar isso. Mas pense em como você pode tornar isso mais fácil com classes e objetos e, em seguida, tente isso. É claro que, mais uma vez, a solução estará disponível para você assim que você terminar, eu sugiro realmente pegar uma rachadura e realmente experimentar isso. E acho que te verei na solução. 30. SOLUÇÃO 3: de atualização de Trivia: Tudo bem, bem-vindo à solução para a terceira tarefa aqui. E bem, quero dizer, acho que vamos dar uma olhada. Você pode ver que eu tenho apenas duas classes, uma aula de jogo de trivia e uma aula de trivia. E a classe de jogo trivia basicamente contém toda a lógica e o loop do jogo. E a classe trivia contém as perguntas e as respostas. Então, vamos dar uma olhada na classe trivial. Primeiro de tudo, deixe-me ampliar um pouco aqui para que possamos ver que tenho uma pergunta de string, uma resposta de string e apenas um construtor que passa em ambas as variáveis de encolhimento aqui. E então eu tenho um monte de métodos aqui, certo é a resposta correta basicamente coloca um booleano e também garante que tudo esteja em letras minúsculas. Portanto, a entrada é realmente colocada em minúsculas, no entanto, que você pode basicamente colocar letras maiúsculas e ainda conta como a resposta correta. Aqui temos a pergunta impressa, a resposta de impressão. Também validamos a resposta que, em seguida, traz uma resposta correta, ou essa foi uma resposta incorreta também. E esta é praticamente a classe trivia. Mais uma vez, se isso não se parecer exatamente com o seu, tudo bem. Este é apenas um exemplo de como fazer isso. E então o mesmo com o jogo de curiosidades, certo? Temos uma lista de curiosidades aqui. Então essas são todas as perguntas basicamente que estão sendo preenchidas aqui. Então, isso é chamado, desculpe, no método de início do jogo, certo? Então esta é a primeira coisa que acontece, lista de curiosidades preenchidas. E isso é feito aqui, onde acabamos de ter um novo ArrayList e depois adicionamos um monte desses triviais ali mesmo à lista real aqui. E isso é muito legal porque isso agora também pode ser feito através de uma leitura, de um arquivo ou, você sabe, baixando coisas da internet. Portanto, esse método aqui pode ser facilmente substituído por outra coisa. E esse é realmente o poder quando você faz isso separadamente nessas classes, logo antes de termos essas variáveis de string individuais, não havia como mudar isso com muita facilidade. Nesse caso, poderíamos mudar esse banco de dados de madeira para isso. Você poderia colocar, como eu disse, algo na internet. Você poderia fazer quase qualquer coisa, lê-lo de um arquivo. E isso é realmente o que você quer fazer com as aulas. Você quer tornar esse tipo de genérico no sentido de que você pode facilmente adicionar e subtrair coisas dele. Normalmente, adicione, claro, certo? E depois há um monte de outras coisas aqui também, certo? Então, o loop do jogo é a principal coisa em que temos esse loop while infinito aqui, onde apenas passamos por cada uma das perguntas, validando as respostas obtendo a entrada do usuário e depois a pontuação se a resposta estiver realmente correta. E então vamos apenas imprimir a pontuação após cada uma das perguntas. Então, no final aqui, perguntamos Ei, devemos abortar o jogo? E se o usuário disser que sim, acabamos de sair dele e imprimir a pontuação final no final do jogo também. Isso é muito legal. Todas as coisas consideradas, isso é praticamente tudo o que você realmente precisa. Mais uma vez, se sua resposta for diferente, não se preocupe. Mas espero que você tenha essa resposta que você pode percorrer e tentar entender, ok, bem, como eu faria isso? Por que isso foi feito? Você sabe, métodos, ok, são aulas muito interessantes. Então essa é uma espécie de ideia aqui. Mas para essa solução, seria isso. E espero que você tenha achado isso útil e aprenda algo novo. E te vejo na próxima palestra. Então, sim. 31. TARde 4: sistema de gestão do banco: Tudo bem, Bem-vindo à quarta tarefa aqui para a introdução do Java. E nesta tarefa, você deve criar um sistema de gerenciamento bancário. Agora, no geral, isso pode antes de tudo parecer muito complicado, mas não se preocupe. Vou orientá-lo com a ideia que tive aqui. Portanto, o sistema de gerenciamento bancário deve ter algo como esses componentes, uma pessoa, um banco e uma conta corrente. E, em seguida, para abrir uma conta corrente, você deve ir através de um banco, bem nele pode exigir um certo depósito inicial aqui. E os componentes individuais ou classes que você tem direitos de que uma pessoa pode ter primeiro, meio e sobrenome e idade. Talvez seja algo como um número de previdência social não é necessariamente necessário, mas você sabe, algo assim. Um banco pode ter uma lista de clientes. Suas contas correntes podem ser uma montagem de excesso máximo, algo assim. E então uma conta pode ter o valor atual e os métodos para retirar e depositar dinheiro em geral. Essa é uma espécie de ideia geral. Há várias maneiras pelas quais você pode abordar isso. Então, estou muito interessado em ver o que você inventou. E, claro, a solução estará mais uma vez disponível para você. Acho que isso provavelmente é um pouco mais difícil. Eu imagino que algo como 1,5 horas é provavelmente melhor reservar para isso, para que você possa realmente cavar e tentar entender e fazer algo que seja bem legal. Então, boa sorte. 32. SOLUÇÃO 4: sistema de gestão do banco: Tudo bem, bem-vindo à solução para a quarta tarefa. E como você pode ver, temos três classes diferentes, praticamente como eu disse na tarefa real. E bem, vamos passar. Portanto, temos uma classe pessoal que é bastante simples, leia primeiro, meio e sobrenome, e uma idade ou privada desta vez, e basicamente acessível via guetos aqui. E então também temos um booleano aqui, que basicamente retorna se uma pessoa é ou não mais velha do que o fornecido aqui, que é muito interessante. E a conta aqui também é interessante, certo? Temos um balanceado, temos o ID da conta. Neste ponto não é realmente usado tanto, mas é muito possível que você possa fazer algo com isso também e, em seguida, um titular da conta também. E isso é usado no banco para basicamente obter uma conta específica aqui. Então podemos ver alguma vez ter uma lista de contas, certo? E a maneira como podemos obter uma conta é obter conta por pessoa. Mas é assim que eu pessoalmente agora para obter as contas aqui. E o resto é praticamente a conta bancária, certo? Então, basicamente, se você pode abrir essa conta, é esse o caso? E basicamente valida se alguém tem ou não 16 anos ou mais de 16 anos, e também se o depósito mínimo foi realmente atingido. Na verdade, há um pequeno bug aqui, certo? Nesse método, isso é muito interessante. Você pode tentar encontrar isso sozinho. Apenas um pequeno exercício interessante também. Mas, caso contrário, você sabe, no geral, isso é mais uma vez apenas um exemplo disso. Podemos dar uma olhada nisso, certo? Então o que vamos ter é que eu tenho algum código aqui, então nano tech não tem idade suficiente para abrir uma conta bancária e, em seguida, dez, digamos euros ou dólares não são suficientes. Precisamos de pelo menos um 150 e depois conseguimos o saldo da conta de Maria, que é 2000. Então, tentar retirar 3000 não funciona porque o valor da retirada é, na verdade 500 ou o excesso basicamente. E é por isso que isso não funciona. Então essa é uma espécie de ideia geral aqui. Mais uma vez, há muitas maneiras de fazer isso se parecer completamente diferente do seu, mas você ainda funciona, tudo bem. Independentemente disso, espero que este tenha sido um exercício útil ou tarefa útil dois, você termina e eu te vejo na próxima palestra. Então, sim. 33. Cursos (Java) (Java): Tudo bem, bem-vindo de volta à introdução do Java aqui para modelagem do Minecraft. E nesta palestra, vamos olhar para a aula anônima. Então, o que é uma aula anônima? Bem, quando herdamos de alguma coisa, então pensamos na aula de cães, certo? Isso tinha um nome, certo, e herdado da classe animal. E agora o que podemos fazer é, por exemplo, podemos fazer uma pessoa aqui, certo? Então eu ainda tenho a classe pessoal da última tarefa. Por exemplo, o pessoal é igual a uma nova pessoa, mas é tão nano ataque e oito anos de idade, digamos apenas por uma questão de discussão aqui. Agora, está tudo bem. Se agora eu queria uma aula que ampliasse essa classe de pessoa, que é um gerente. Agora, a única coisa que vamos fazer é, na verdade apenas fazê-lo para que, quando você receber o nome completo, você também vai ter o nome como Gerente impresso . Certo, então, como faríamos isso? Vamos fazer uma nova aula, certo? E tudo isso. Bem, vamos apenas dizer que na verdade só precisamos desse. Então, o que podemos fazer é fazer uma aula anônima. Então podemos dizer que o gerente de pessoas é igual a uma nova pessoa. Mas vamos apenas dizer John Smith, certo? Digamos 42. E então acabamos com isso. Agora, o que poderíamos fazer em vez de terminar isso com um ponto-e-vírgula, depois de terminarmos, vamos fazer um suporte sagrado e acabar com o colchete encaracolado final com um ponto e vírgula. Você pode ver que não há flechas aqui. Porque dentro daqui agora criamos essa classe anônima porque é uma classe que estende a classe pessoa. No entanto, ele não tem nome, portanto, é anônimo. E quando podemos fazer é, você pode ver se eu começar a escrever uma substituição aqui, eu posso realmente substituir tudo o que está dentro da classe de pessoas que é sobregravável. Prefiro exemplo, posso dizer fullname e, em seguida, posso dizer algo como Gerente e, em seguida, obter o nome completo. Então, agora é isso que essa classe anônima em particular faz. E então eu posso, se eu usar o sistema da linha de impressão, por exemplo, nano dot obter o nome completo. E então também posso fazer o mesmo para o ponto gerenciador getName. Você verá que o nano só vai ser nano ataque. E então ele vai ser o gerente John Smith porque adicionamos esse gerente aqui. Este exemplo pode não ser o mais ilustrativo. Acho muito difícil mostrar a vocês um exemplo muito ilustrativo de aulas anônimas. Geralmente é o mais longe , você sabe, com interfaces e herança e coisas assim, torna-se muito difícil se você não estiver em um ambiente muito, em um ambiente real onde você realmente tem alguns classes e algumas funcionalidades. Mas isso é definitivamente algo que veremos na seção de modelagem do curso também. Porque há muitas coisas aqui que serão necessárias para isso. Mas seja qual for o caso, pelo menos você já viu isso, mesmo que não vamos entrar em muito mais detalhes aqui, espero que você tenha achado isso útil e aprenda algo novo. E te vejo na próxima palestra. Então, sim. 34. (Java) de barras e de idiomas avançados (de de novo..: Tudo bem, bem-vindo de volta à introdução do Java aqui para modelagem do Minecraft. E nesta breve palestra, vamos dar uma olhada em enums e também enums avançados, em geral, enums, você pode pensar neles como certos tipos de dados que têm valores predefinidos, e você só pode atribuir esses valores a essa variável real. Então, vamos apenas criar, por exemplo, uma dificuldade enum, certo? Assim, podemos fazer dela uma aula e depois mudar isso para enum aqui. E então a forma como um enum basicamente é estruturado é que ele tem os valores reais que ele pode levá-lo apenas dentro dele. Por exemplo, fácil, médio e difícil, por exemplo, como as dificuldades de um jogo poderiam ser. E então, para criar uma nova variável para isso, é praticamente mais uma vez dificuldade. Então vamos chamar isso de dificuldade do jogo, certo? Sob assim. E então isso é igual a 2. Atribua isso, você pode ver o ponto de dificuldade e, em seguida, temos esses três valores como opções possíveis. Então, vamos apenas dizer dificuldade média aqui. E normalmente podemos reatribuir isso certo? Novamente, a dificuldade é igual a 2. Dificuldade, dificuldade difícil, por exemplo. E depois dois. Por exemplo, também podemos fazer declarações IF de um jogo retro, dificuldade igual, igual a. Agora isso é igual a algo, por exemplo, dificuldade fácil. E então fazemos algo aqui. Então isso é praticamente tudo o que realmente é para enums normais. E há algo interessante para o que eu chamo de enums avançados. Então, para isso, vamos criar uma nova classe Java. Novamente, esse é o nível da ferramenta, e isso também será renomeado para um enum aqui, eu realmente vou copiar algumas coisas do outro monitor aqui. Portanto, isso também é claro que também está disponível para você, um repositório do GitHub ou ajuste também. Você pode ver que, embora este seja um enum, ele tem um construtor aqui e temos uma taxa de campos. Isso é muito estranho. Sim. Então, a ideia é que você pode ter enums definidos. Então, é claro que isso é um diamante enum. E apenas para exemplos gerais aqui. E o mais legal é que esses funcionam exatamente da mesma forma que os outros. Então posso dizer que um nível de dois níveis é igual, digamos, por exemplo, o diamante de dica de ferramenta, certo? E o que eu posso fazer com muita facilidade é dizer nível da linha de impressão do sistema, por exemplo, multiplicador de tag git, que então me faz o multiplicador de ataque seja qual for o nível atribuído. Então eu posso basicamente ter um, eu não quero chamá-lo de lista necessariamente porque uma lista é um pouco diferente, mas você pode ter valores predefinidos neste enum aqui, nesta enumeração. Então essa é a enumeração e você também pode acessá-las. Então, isso realmente vai acabar, pode ser realmente útil. E definitivamente veremos esse exemplo quando estivermos criando ferramentas, ferramentas personalizadas ou Minecraft. Isso é definitivamente algo que vamos ver. Mas, de outra forma, é praticamente isso para as enums. Eu só queria te mostrar isso e mencionar que você pelo menos já viu isso antes. Caso contrário, isso seria para esta palestra aqui. Espero que você tenha achado útil nos neurônios do novo, e eu o vejo na próxima palestra. Então, sim. 35. (Java) Excessões e a de catch (Java, de Exceptions: Tudo bem, bem-vindo de volta à introdução do Java aqui para modelagem de microondas. E nesta palestra, vamos dar uma olhada nas exceções e na declaração try and catch. Então, no geral, esse não é o tópico mais interessante, ou o que você diria, o tópico mais emocionante? No entanto, é, pode ser bastante importante . No entanto. Embora exceções, vimos algumas dessas. Por exemplo, algo como o IndexOutOfBoundsException e o NullPointerException. Então, houve algumas exceções que vimos antes que foram lançadas pelo código real. E o que vamos fazer é agora lançar nossa própria exceção personalizada. Então, em nosso pacote, vamos criar uma nova classe, que é a exceção de teste, porque ela realmente exige tenhamos uma exceção de teste aqui. Vamos estender a classe de exceção aqui. E eu realmente vou copiar sobre os dois construtores que vamos precisar aqui para isso. Portanto, isso é claro, tudo disponível para você no repositório do GitHub ou energizado também. Vamos ter um scanner onde podemos um scanner onde podemos escanear rapidamente em algum sistema de coisas aqui. E então vamos salvar o seguinte. Então, vamos dizer next int, e vamos basicamente salvar algo em um número inteiro aqui. E só por uma questão de argumento, o que vamos fazer é lançar essa exceção quando passarmos um número 0 em um método específico aqui. Portanto, verificação privada, estática e vazia para 0. Isso é muito simples no número. E o que vamos fazer é dizer se o número, se o número estiver passando qualquer resíduo, então o que vamos fazer é lançar uma nova exceção. Como fazemos isso? Vamos escrever uma nova exceção de testes, e então vamos dizer que o número é 0. Por exemplo, algo assim. E isso é praticamente tudo o que realmente precisamos fazer aqui. O que você vê é que isso realmente gera um erro aqui porque Adicionar exceção à assinatura do método. Então, na verdade, temos que ter isso neste método aqui. Portanto, temos que adicionar a exceção de teste de lançamentos à assinatura do método, caso contrário, ela não funcionará. E se eu chamar isso agora, certo? Então, se eu verificar 0, eu, o que você verá é que isso também precisa ser adicionado ao método principal também porque isso não é tratado corretamente, então não estamos lidando com essa exceção. Então, o que você pode fazer é que vamos executar isso. E se eu, por exemplo, digitar um aqui, nada acontece. O programa termina normalmente se eu colocar um 0, você pode ver exceção e contagem de threads principal e sua exceção de teste, números muito interessantes 0. E então você pode até ver onde isso foi chamado, certo? Então aqui primeiro e depois aqui estava a exceção que foi lançada. Então isso é muito interessante. Vamos antes de tudo, comentar isso e livrar-se da seção artística lá em cima. E o que podemos fazer agora é que podemos dizer, por exemplo, digamos que z é igual ao ponto do scanner next int. Ou, na verdade, pule o I aqui para isso. Tudo bem. Agora podemos fazer uma declaração try. Então, isso vai ser uma tentativa com os colchetes encaracolados. E então aqui ele vai ter uma captura com uma exceção e dentro dela. E isso é basicamente lidar com um erro, certo? Portanto, a instrução try and catch está lá para lidar com um erro. Então, vamos tentar isso aqui. Escreva um cheque para 0 I. E se uma exceção for capturada ou lançada, certo? E podemos pegá-lo aqui. E então podemos fazer algo com ele. Por exemplo, podemos basicamente fazer algo assim. Então, mensagem GET então, apenas por enquanto, basicamente, basta imprimir o que realmente está acontecendo aqui, certo? Portanto, a exceção real, é claro que há outras coisas que você pode querer fazer ou ter que fazer se uma exceção for capturada. E então você também tem isso finalmente aqui, o que vamos fazer o seguinte. Nós vamos basicamente imprimir finalmente, só para ver que isso está impresso e , em seguida, vamos realmente copiar a saída. E isso vai ser, isso acontece sempre. Mas agora o interessante é quando você realmente lida exceções corretamente com uma declaração try and catch aqui, então o que acontece é que o programa não apenas quebra ou não acaba, na verdade, continua junto. Então, o que você pode ver é que antes de tudo, quando eu ligo, quando coloco um 1, por exemplo, certo? Então, um dia você vai finalmente, e isso acontece sempre. Então, finalmente, como você pode ver, é sempre frio e então isso é sempre chamado também, certo? E então o interessante é que quando a exceção é lançada, você pode ver que estamos imprimindo a mensagem. Mas finalmente ainda acontece. E o, você sabe, isso acontece sempre, também ainda acontece. Então, o resto do programa continua. O que é muito importante é que, em geral, você quer que seu código falhe o mais alto possível simplesmente por causa do fato de que você quer os erros sejam vistos muito, muito cedo. É por isso que lançar exceções pode ser útil. Agora, concedido na modelagem por microondas, é muito improvável que você precise, especialmente no começo, certo? Quero dizer, a maior parte disso, estou assumindo para iniciantes, certo? Isso não será muito importante para iniciantes. Isso é algo muito mais para pessoas avançadas. Quando você está realmente sentado lá, você está tipo, Ok, eu vou fazer como um modo gigante agora, certo? Quero torná-lo como a próxima expansão térmica, digamos nesse nível algo assim, depois fazendo algumas exceções personalizadas. Ideia muito inteligente, definitivamente. Mas seja qual for o caso, é isso para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E te vejo na próxima palestra. Então, sim. 36. (Java) LambDA: Tudo bem, bem-vindo de volta à introdução do Java aqui para modelagem do Minecraft. E nesta palestra, vamos dar uma olhada em expressões lambda. Então, expressões lambda podem ser muito complicadas. Eu só quero dar uma breve visão geral das que temos e quais são as expressões lamda. Então, em geral, e as pessoas veteranas vão para três métodos. Eles são basicamente funções ou métodos como variáveis. Agora isso é muito legal quando você pensa sobre isso. E vamos dar uma olhada nestes cinco apenas em detalhes muito, muito esparsos. Então, não vamos entrar em nenhum detalhe. Eu só quero que você tenha visto esses n basicamente armazená-lo no futuro. Porque especialmente na modelagem 4D, isso é algo que é muito importante na verdade em tecido, nem tanto, bem, seja qual for o caso. Então, um fornecedor, por exemplo, aqui, à direita, é algo que não tem parâmetros além de um valor de retorno. E poderia ser escrito algo assim, certo? Portanto, nenhum parâmetro entre parênteses e seta e , em seguida, o x pode ser o que está sendo retornado. Você pode ver fornecedor do tipo inteiro significa que um número inteiro é retornado. E então é assim que parece. O mais legal sobre isso é que isso também significa porque quando podemos fazer uma variável a partir dela, também podemos passá-la para um método, o que significa que poderíamos, poderíamos passar esses fornecedores lá dentro, que podem ter funcionalidades diferentes. Então isso é bastante legal, na verdade, isso também é usado na programação muito ou modelagem forçada, especialmente porque quando o fornecedor, quando você tem algo dentro dele, isso é chamado apenas quando o GetMethod aqui é chamado. Assim, você pode atrasar carregamento de determinadas variáveis e coisas assim. Essa é praticamente a extensão do meu conhecimento nessa área também. Então, não vamos entrar muito nisso. E depois de corrigirmos esse erro aqui por metro, é claro, certo? Portanto, o consumidor tipo de nome realmente consome um parâmetro, mas não retorna um valor. Aqui está um exemplo para o consumidor de uma string, que simplesmente é basicamente onde você passa em uma string e, em seguida, ele faz algo com essa string. Um chamável não é perímetro nem valor de retorno. Então, muito semelhante a um fornecedor, no entanto, ele lança uma exceção, então um chamável, é possível que isso chame uma derrubada de uma exceção também. Essa é a ideia geral. Você também pode sempre passar o mouse sobre isso e você pode realmente encontrar um resumo muito bom do que eles realmente são, certo? Então, aqui estamos chamando o chamável neste caso, então um executável é algo que não tem parâmetros e nenhum valor de retorno. Então, uma função basicamente é literalmente como uma função que mapeia uma determinada entrada para uma determinada saída é apenas a função para o círculo, basicamente onde eu só tenho o pi aqui. Mas isso é praticamente tudo o que realmente há nisso. Então, no geral, como eu disse, eu realmente queria que você passasse por isso uma vez que eu já vi isso antes, quando eu digo, Ei, nós vamos fazer um fornecedor que você não senta lá e você está tipo, oh, eu não tenho ideia do que é isso. Não. Um fornecedor basicamente é um tipo de dados que tem, esse tipo de mais ou menos salva em uma função ou método. Não é bem isso, mas é muito próximo disso para que, você sabe, especialmente para iniciantes, basta pensar nisso assim. Seja qual for o caso, isso é realmente para esta palestra aqui. Eu sei que isso foi muito curto, mas como eu disse, é realmente apenas uma visão geral muito breve em vez de realmente explicar cada detalhe disso. Mas ainda espero que você tenha achado útil e tenha aprendido algo novo. Vejo você na próxima palestra. Então, sim. 37. (Java) Java Genics: Tudo bem, bem-vindo de volta à introdução do Java aqui para modelagem do Minecraft e para esta última palestra da seção de introdução do Java, vamos dar uma olhada provisória em genéricos. Genéricos, é claro que já os vimos antes, certo? Uma lista era genérica, por exemplo, onde poderíamos colocar em um inteiro como qualquer classe basicamente, e basicamente ter os números, por exemplo, com um novo ArrayList aqui. Então tudo funcionou com muita facilidade e muito bom. Isso foi bem, bastante simples. Mas e se tivermos genéricos que queremos usar para isso , na verdade vamos criar uma nova classe aqui. Nós só vamos ser a classe de par. E você poderá salvar dois valores diferentes nele. Então, vamos fazer esses colchetes angulares e, em seguida, x, y. e a ideia é que X e Y agora são e a ideia é que X e Y agora são espaços reservados para determinados tipos de dados. Então vamos ter um x ao quadrado privado primeiro e uma mentira privada chamada segundo, certo? E esta é, a ideia é que agora você tem que pensar nisso como, ok, esses são genéricos, o que significa que esses são apenas espaços reservados, como eu disse, certo? E vamos apenas gerar um construtor para isso. Então clique com o botão direito em gerar construtor E então, para ambos, vamos apenas ler o construtor. E, na verdade, também vamos fazer o botão direito do mouse em Gerar getters e setters para ambos. E lá vai você. Isso é basicamente toda a classe já terminada. E você pode ver que ele sempre usa o x e o y porque esses são basicamente apenas espaços reservados para os valores de dados reais ou tipos de dados que estão sendo usados. Agora, o que é muito interessante, o que você também pode fazer é dizer que um determinado tipo de dados se estende de outro. Assim, podemos, por exemplo, dizer estende float, o que significa que o y agora tem que estender o flutuador, que significa que ele pode ser um flutuador ou qualquer outra subclasse dessa classe que tenha sido definida aqui. Isso também é muito interessante. É algo que você pode fazer e isso é feito na modelagem do Minecraft extensivamente também. E o que você também pode fazer, vamos fazer um novo par aqui, certo? Então, parem, digamos que sejam como inteiro, flutuador inteiro por enquanto, como este termo igual a um novo par deles. Vamos dizer alguns como 2250.55. Claro, está tudo bem. Certificando-se de que este é um f aqui, então ele deve funcionar. Lá vai você. Isso agora está funcionando totalmente bem. E o que você também pode fazer, em vez de passar um determinado valor real ou um determinado tipo de dados, você também pode tornar isso um ponto de interrogação. E então o genérico vai apenas descobrir isso. Isso é o que é chamado de genérico curinga. Não vamos entrar em detalhes demais sobre isso. Isso é algo que você também verá na modelagem do Minecraft um pouco também. No entanto, isso é, não há necessidade real de entender isso. É inteiramente porque os genéricos definitivamente são algo que é muito avançado, como um tópico muito avançado que, mesmo como programadores qualificados, não gostam programadores qualificados, não gostam de muitos deles nem entendem isso. Como se eu não me incluísse nessa descrição a propósito, eu conheço genéricos bons o suficiente para que eu possa basicamente lidar com eles. No entanto, fazendo como uma classe genérica real eu mesmo, eu serei honesto, isso é muito, muito difícil, certo? Então, este é um tópico muito complicado, então não se preocupe. Eu só queria mencionar isso e queria que você visse que isso existe e que você também pode fazer seus próprios genéricos. Mas isso seria para a introdução do Java nesta seção do curso. Espero que você tenha achado útil e aprenda algo novo se for um iniciante completo, espero que agora você tenha a base Java que precisará para continuar junto com o microondas modelagem. Então, boa sorte para você, e espero que você aproveite a seção de microbióticos deste curso. 38. (Noções básicas) Instalação, configuração e GitHub: Tudo bem, bem-vindo ao curso de tecido Minecraft aqui para 118. E nesta primeira palestra, vamos passar por alguns pré-requisitos que você precisará para começar a modelar o Minecraft. Agora vamos passar por tudo, baixando tudo o que você precisa, os programas, configurando o projeto de malha e, em seguida, até mesmo configurando um repositório do GitHub para que você possa compartilhar seu codifique com alguém que possa ajudá-lo. Então, por exemplo, se você tiver um problema, poderá carregar todo o seu código e enviá-lo para outra pessoa. Por exemplo, eu nas perguntas e respostas. E então eu posso facilmente tentar encontrar o erro, que economizará muito tempo entre basicamente a pergunta e a resposta. Mas antes de tudo, se você é um iniciante absoluto, recomendo vivamente se você não assistiu, assistindo à introdução do Java, eu simplesmente não posso recomendar isso o suficiente. Isso vai ajudá-lo imensamente. Porque se você não tiver isso, especialmente passando pela parte de modelagem do Minecraft deste curso, você se sentirá muito perdido muito rápido. Porque neste momento, presumo que você tenha visto tudo na introdução do Java e esteja razoavelmente familiarizado com os conceitos que discutimos lá. Mas seja qual for o caso, vamos começar com o download do JDK. Então, precisamos de um Java Development Kit, e esse será o 17 do Java. Na verdade, esse link está vinculado nos recursos. Apesar de ter usado o Java 16 para a introdução do Java, agora temos que baixar o Java 17. Isso não é problema, a propósito, seja qual for. Então isso está vinculado e isso deve, em teoria, detectar o que é seu sistema operacional. Se isso estiver errado, você pode ir para outras plataformas. Você está se certificando de selecionar tamarin 17, e então você pode basicamente selecionar seu sistema operacional, a arquitetura aqui também e, em seguida, basta baixar, baixar o ano MSI. E quando você baixa isso, este é apenas um isolamento normal para que você possa instalar isso no seu PC como qualquer outro programa. E depois de fazer isso, você pode continuar para a próxima parte, precisaremos de um IDE que seja um ambiente de desenvolvimento integrado. E para nós vamos escolher a ideia inteligente. Se você é mais uma vez um iniciante, eu recomendo apenas ficar com isso porque caso contrário, haverá algumas coisas que podem parecer diferentes para você. Então, por exemplo, se você quisesse usar o Eclipse ou o VS Code, também é totalmente bom. No entanto, tenha em mente que, se você tiver algum problema lá, talvez eu não consiga ajudar tão bem quanto eu possa com uma ideia inteligente porque conheço todas as pernas, digamos atalhos e todos os botões que você precisa pressionar quando algo der errado na ideia, não estou 100% familiarizado com o código Eclipse ou VS, então apenas tenha isso em mente e baixe a versão da comunidade. Muito importante. Isso é gratuito, então você não precisa pagar nada. A versão da comunidade no lado direito aqui. Então, basta baixar isso mais uma vez e depois instalá-lo no seu PC, assim como qualquer outro programa também. Agora chegamos à próxima coisa e esse será o exemplo de tecido mais. Agora você pode ver que este é um modelo público, então há algumas coisas que você pode fazer isso. Você pode usar esse modelo e apenas criar um novo repositório do GitHub. Isso não é o que vamos fazer. Vamos fazer é ir para o código aqui e clicar em baixar um zip. Isso vai baixar um arquivo zip com todos os arquivos necessários que basicamente precisamos. E eu já preparei um titular aqui onde eu quero que isso aconteça. Só vou clicar com o botão direito aqui, extrair aqui. É só por isso que estou usando vento rawr. Você também pode usar sete zip ou outro programa ZIP para basicamente abrir isso. Bem, agora tudo está aqui. Na verdade, vou controlar X isso para tirar isso e o Control V para colá-lo aqui. Então, eu só quero que tudo esteja nesta pasta. E agora duas coisas que podemos fazer imediatamente. Podemos excluir a licença e o arquivo README para que não obtenhamos a mesma licença aqui porque esta é basicamente a licença de domínio público. E isso não é algo que eu pessoalmente quero. Claro que você pode ficar com ele como quiser. E então eu também recomendo apenas excluir a pasta GitHub aqui, a pasta GitHub de pontos, porque isso basicamente contém alguns fluxos de trabalho. Aqui você pode basicamente ver contas automáticas do projeto e executar qualquer teste de configuração para ele. Você realmente não precisa necessariamente fazer isso. Você pode mantê-lo. Mas isso é algo que às vezes pode ser um pouco confuso, especialmente mais uma vez para iniciantes. Então eu recomendo apenas excluir isso e não me preocupar com isso por enquanto. Agora temos o exemplo de tecido mod aqui, e isso é realmente tudo o que precisamos. Podemos iniciar a inteligência pela primeira vez. Agora provavelmente não vai se parecer exatamente com isso para você. No entanto, ele terá três componentes que precisamos. E este é o novo projeto, o aberto. E eles recebem do VCS para esses três botões, basicamente Arthur, coisas que você vai precisar. E queremos clicar no botão Abrir e, basicamente, navegar até este diretório. Então, vamos colocar este diretório aqui e você pode ver o cavalo de tecido 118, e ele realmente tem esse símbolo aqui e vamos bater Ok, e então cruzamos o projeto e depois um novo janela aqui abrirá e você pode ver algumas coisas já estavam começando aqui. Está tudo bem. Apenas continue com isso. Se você ficar como vermelho aqui, flechas, não se preocupe. Vamos consertar todos esses em apenas um minuto. A primeira coisa que você provavelmente criará se você, por exemplo, tiver uma versão diferente do Java aqui, você pode ver que está usando uma versão desatualizada do Java. Isso é correto para mim porque tenho várias versões do Java instaladas. Agora, como você conserta isso? Muito fácil. Você vai para File project structure, e você pode ver aqui no SDK do projeto, você precisa selecionar Java 17. E então aqui no idioma do nível do projeto 17 pressione Aplicar e OK, e há uma segunda coisa que você precisa fazer, e vamos para Configurações de arquivo para a implantação de execução ferramentas criadas Gradle, e certifique-se de que este ano esteja definido para o SDK do projeto. Isso também é muito importante. Aplica-se se não for esse o caso, certo? Então você pode acertar este pequeno elefante aqui novamente e nos deixar correr novamente. E agora você não deve obter nenhuma seta nesse caso, mas deve simplesmente correr corretamente. Mas você pode ver que eu tenho uma construção bem sucedida aqui, então isso é realmente muito bom. E então o que você também verá é que você terá três dessas pastas laranja geradas. E então, se nós, por exemplo, abrirmos a pasta de origem, então SRC significa fonte. Se abrirmos isso, você pode ver que também temos algumas cores aqui. Agora, a próxima coisa é que quando abri essa pasta java, você pode ver que tudo aqui se expande. Se você estiver usando o inteligente pela primeira vez, isso pode não ser o caso para você. Vá para esse equipamento aqui e certifique-se de que os pacotes achatados e os pacotes intermediários compactos estejam desligados. Então este pode ser o caso, como ele parece para você. Apenas certifique-se de que tanto o fly quanto os pacotes, bem como pacotes intermediários compactos , estejam desativados e, em seguida, tudo parece exatamente o mesmo para você como para mim agora, precisamos modificar algumas coisas dentro do arquivo de propriedades do ponto Gradle. Assim, você pode ver que existem algumas propriedades definidas, então há algumas propriedades de malha, há mais algumas propriedades e, em seguida, também há algumas dependências ou um pequeno interlúdio aqui. Então, o que é muito importante é que existem duas maneiras pelas quais você pode fazer isso. Número. Primeiro, você pode pegar o simples exemplo de mod e então você estará em 1800. Por favor, note que algumas coisas não funcionam exatamente como em 101. Então, esse nome, você será as tags, o item avançado, que usa impostos basicamente e geração mundial. Você terá problemas lá no final disso, no final do curso. Então, haverá um vídeo de atualização em que vamos atualizar as coisas do século XIX para um 1800. No entanto, se você quiser seguir o curso na íntegra, principalmente palavras ou iteração, recomendo pensar possivelmente escolher um 1800. Aqui. Provavelmente adicionarei uma seção no final do curso por 1800. E não apenas as mudanças, mas provavelmente também palestras diferentes que substituirão o, não substituído. Mas haverá corolários para as palestras de 1800. Então, você pode alterar o arquivo de propriedades do Gradle para esses valores aqui, ou se não for seu, se você não quiser fazer isso, se você quiser usar 1800, é claro, bem-vindo a fazê-lo. Mas, por favor, tenha em mente que haverá algumas diferenças versus o que você vai ver nas palestras. Então, apenas tenha isso em mente e acho que volta à palestra. Então, em geral, as propriedades da malha, você pode ver que realmente temos um link aqui e vamos olhar para essa página em apenas um momento. E basicamente especificamos o que é a versão do Minecraft, qual é a versão dos mapeamentos que estamos usando? Isso é basicamente para traduzir o código para que possamos realmente ler os nomes dos métodos e coisas assim. E então a versão do carregador é apenas a versão do carregador de malha basicamente. Então temos mais algumas propriedades, aquelas que podemos definir a nós mesmos e vamos fazer isso em apenas um momento. E então também temos qual versão de tecido estamos usando na parte inferior aqui. Se abrirmos as versões do link fabric MC net slash , você verá que realmente temos algumas atualizações aqui. Então, o que podemos fazer é simplesmente assumir esse controle C ou clicar com o botão direito do mouse e depois voltar aqui e, basicamente, apenas colá-lo. Então, vamos colá-lo. Vamos pegar algumas flechas porque há várias aqui. Mas o que podemos fazer é simplesmente substituir isso aqui em baixo. Então eu pressiono Control X para cortá-lo e depois Control V para colá-lo novamente. Agora, atualizaremos para 0,44. Esta pode ser uma versão diferente para você, o que é totalmente bom. Normalmente, embora existam algumas diferenças nas versões, não deve haver diferenças malucas. E se houver, tentarei acompanhar o melhor que puder e provavelmente adicionar outra palestra depois disso ou em algum lugar entre as mudanças. E então, basicamente, será apanhado com isso também, certo? E aqui vamos excluir todos eles e, em seguida, apenas certificar-nos de que eles estão escritos corretamente. Então, basicamente, apertar a tecla tab para movê-los. E agora você viu que basicamente atualizamos lucro de seis a 12.8 e de 431, acho que para 440, isso é totalmente bom. Mais uma vez, podemos clicar no pequeno elefante aqui no canto. E se expandirmos essa janela de compilação, você pode ver que está baixando coisas como loucas, mas não se preocupe. Novamente, isso pode levar alguns segundos. Mais uma vez, talvez um minuto ou mais. Vi que demorasse muito mais para algumas pessoas, mas isso depende da sua conexão com a internet e de quão bom seus PCS. Então, às vezes, pode demorar 20 minutos, já vi isso antes, mas isso é muito raro. Muito raro. Então lá vai você. 21 segundos, na verdade já terminado. E agora podemos começar a, bem, ir em frente e ver o que podemos mudar para o nosso próprio MOD. Basicamente, todas as nossas alterações acontecerão no arquivo de propriedades do ponto Gradle. Isso é basicamente muito fácil para nós fazermos isso. E a ideia geral é que temos que alterar nossas propriedades de modelo aqui e, em seguida, também alterar algumas coisas aqui em nossa estrutura de pastas ou estrutura empacotada. A essência geral é que agora estamos usando este MOD de exemplo onde existe, é claro que não é exatamente o que temos. Temos uma matemática específica que queremos. Então, se eu clicar duas vezes neste exemplo de classe simulada, você pode ver que diz exemplo mod. Ele até tem alguns comentários aqui. Isso é muito bom. Mas, no geral, precisamos mudar algumas coisas aqui. A primeira coisa é que eu quero que isso esteja no meu próprio pacote. O que eu faço é subir aqui e vou mudar isso para conta líquida e rho nada Mc curso, esse é o pacote. Eu quero que isso seja altamente recomendável não chamar este trabalho de algodão porque você está em um joule coulomb. E em segundo lugar, basta usar net seu nome. E então o curso MC, por exemplo, eu recomendo fazer isso porque é muito estranho usar o nome de outra pessoa se você estiver fazendo seu próprio código porque ele vai ficar confuso para pessoas que são como você não escreveram isso, isso foi por linha de algodão e é como, bem, o que eu posso fazer aqui é isso, claro que agora vai ter um sublinhado vermelho. Eu só vou passar o mouse sobre isso e você pode ver mudar para pacote net Cotton joe MC curso. Vou clicar nisso e você pode ver um novo pacote foi criado. E isso agora foi bem feito basicamente. O que farei então é pegar esse pacote misto e simplesmente movê-lo diretamente para o refatoramento do pacote de cursos EMI EMC. E lá vai você. Agora eu posso realmente excluir o MC de malha aqui, basta pressionar a tecla delete e depois confirmar. E então o que posso fazer é agora poder clicar com o botão direito do mouse nisso. Isso é muito importante. Não mude esse nome aqui. Clique com o botão direito do mouse em Refator E então esta será a aula de mod do curso MC. Agora, isso é o que vou me referir nas próximas palestras e nas respostas para algumas perguntas como classe principal. Então, esta é a classe principal. As classes principais, aquela que implementa a interface mais inicializadora, muito importantes. Isso é o que eu vou me referir, pois sua classe mod principal também excluirá todos os comentários aqui porque eles não são necessários. E então vou apresentar um novo campo aqui. E essa é uma string final estática pública chamada mod underscore ID. E haverá igual a uma nova string, que é chamada de curso MC, porque esse será o nosso ID do modelo. Agora, quanto mais ID é muito importante. Então, mais uma vez, ouça atentamente aqui, quanto mais ID só pode conter caracteres minúsculos, sublinhado traço e números, nada mais, sem espaços e sem caracteres maiúsculos. Então isso é muito importante. Sem caracteres maiúsculos. Já vi isso várias vezes para o ID do modelo, você não pode conter caracteres maiúsculos. E então, em vez de chamar o ID do modelo aqui, vamos dizer mais ID. Então agora tudo aqui está bem e elegante. Então, isso é realmente tudo o que precisamos fazer na aula de matemática do curso RMC. Agora vamos entrar no exemplo mixagem porque vamos receber um erro aqui, porque isso ainda está tentando usar o modo de exemplo. Não se preocupe, vamos dizer curso MC. Você pode ver assim que eu digitá-lo, ele realmente é sugerido para nós. Então eu posso preencher isso automaticamente com a guia e, em seguida, vamos abrir a importação aqui e você pode ver que eles realmente recebem um erro aqui também. Podemos simplesmente excluir essa importação e , em seguida, todas as setas aqui devem desaparecer. Bem, então vamos navegar para a maior propriedade novamente. E aqui temos a versão mod. Eu recomendo vivamente o que você deve fazer é colocar a versão micro na frente ou na parte de trás. Então você pode, por exemplo, dizer que algo assim é a versão de 0.01 dash 118. Então o usuário é, sabe, ok, esta é a versão 0.01 para o seu MOD. E então, para a micro versão 118, eles podem até mesmo grupo, é claro, será apenas net.com row dot IMC force e, em seguida, o nome da base do arquivo. Na verdade, não sei o quão importante isso é, mas isso será apenas para nós, verso de tecido 2018, certo? E agora isso foi modificado. Tudo bem. E agora precisamos modificar outra coisa, e isso está na pasta de recursos aqui. Então abra isso e você pode ver que ele realmente é um ícone de ID do modelo. Na verdade, podemos excluir isso. Não precisamos disso no momento. E há um tecido mais arquivo JS e uma ilustração mista de ID de modelo. Primeiro de tudo, vamos entrar na moderação do tecido. E aqui temos que especificar muitas coisas. A primeira coisa que precisamos fazer é mudar a ideia de modo aqui, é claro, para o curso MC. Este é o modelo que escolhemos aqui, certo? Então, isso tem que ser exatamente o mesmo em todos os lugares. E então o nome de Ahmad, vou escolher mod de tecido de curso MC. Tudo bem. Também podemos adicionar uma descrição aqui. Assim, podemos, por exemplo, dizer mod, ensinar aos outros. Tecido manhã, tecido, microfônico. Claro, autores pagãos é um curso de sala de aula. Mais uma vez, coloque em seu próprio nome. Agora eu, eu não sou o autor do seu modelo, e então você tem algum contato, por exemplo, eu posso mudar isso para chegar à rede e depois fontes. Provavelmente vou mudar isso um pouco porque é claro que agora não temos um repositório do GitHub ainda, mas, claro, faremos isso nesta palestra também. A licença que vou escolher, a licença do MIT que eu pessoalmente acho que é o melhor formato geralmente é apenas, você sabe, ainda é de código aberto do que o ponto de entrada aqui. Temos que mudar isso tão bem quanto você pode ver, isso é contagem líquida e rho nada Mc curso e, em seguida, não exemplo mais sobre o mod do curso MC. Muito importante mais uma vez, que você mudou isso. Exatamente como você tem isso aqui. Você pode ver o curso MC net out e linha, modelo de curso MC. Isso é muito importante. mesmo com os mixins. Alteramos o ID do modelo aqui para o curso MC. E agora tudo aqui foi feito no Icahn não funciona no momento. É claro que também podemos adicionar um novo ícone aqui. Não vamos fazer isso por enquanto. Então vamos abrir quanto mais eu os mixins, Jason. E o que você pode ver é o número um, o que queremos é clicar com o botão direito do mouse em Refatorar Renomear e, em seguida, alterar o ID do modelo aqui para o curso MC. E então o pacote aqui que você pode ver também tem que ser alterado. O contador líquido Joe no curso MC, misturando, tudo bem. Então o exemplo de mistura aqui também está bom. Este é apenas um exemplo dos mixins reais. Vamos dar uma olhada nisso da forma mais tarde palestra porque mix-ins podem ser bastante complicados. Então, por enquanto, vamos basicamente ignorar a coisa toda aqui. O mesmo com este. Vamos ignorá-lo e dizer que está tudo bem. Mas agora, na verdade, todas as modificações que precisamos fazer foram feitas. Especificamos o ID do MOD do curso RMC, trocamos o nome aqui, mudamos as coisas no mod de tecido Jason, muito importante, você não muda o nome deste Jason. Você só muda o nome deste Jason também tem uma coisa muito importante. E agora ainda temos os elefantes. Então, vamos clicar nisso mais uma vez e vamos ver tudo feito em 940 milissegundos. Isso é muito rápido. E como podemos começar no Minecraft será ir para o topo direito aqui para o Gradle, expandir a malha de tarefas e, em seguida, executar o cliente, a menos que você veja clique duas vezes nisso. E então, no futuro, você terá isso aqui em cima. E então você também terá uma espécie de, apenas um botão de reprodução que você pode basicamente clicar. E isso também vai funcionar. Mas, por enquanto, vamos esperar algumas coisas. Esta seta aqui é absolutamente normal porque estamos em um ambiente de desenvolvimento, não fizemos login no Minecraft, portanto, vamos receber esse erro. Isso é totalmente bom. E o Minecraft já terá começado com sorte, e você pode realmente ouvi-lo. Na verdade, vou recusar a música porque isso às vezes pode ser um pouco distrativo. E lá vai você. Então o tecido está realmente dentro, podemos ver o modelo de tecido também funciona totalmente bem. Quando isso acontece, você realmente acabou, configuramos o ambiente de desenvolvimento. Vamos realmente sair do jogo. E vamos fazer mais duas coisas. Número um, o que eu quero que você faça é que você também clique nestas fontes Jen aqui. Então, basta clicar duas vezes nisso. Isso gerará os arquivos de origem para o Minecraft e o tecido, apenas para que possamos dar uma olhada neles com mais detalhes. Basicamente, vou mostrar o que isso significa em basicamente as futuras palestras será muito importante que tenhamos acesso aos arquivos fonte do Minecraft e para o tecido. Porque há muitos ótimos exemplos sobre como fazer as coisas lá também. Agora isso vai demorar um pouco mais, mas não se preocupe, apenas seja paciente, espere por isso e depois veremos depois que tudo foi feito, lá vai você. Então, quase um minuto e depois as fontes da Jen estão acabadas. Você também pode clicar em baixar ativos Apenas no caso Às vezes você precisar fazer isso. Às vezes você não. Às vezes, os ativos, geralmente eles já devem ser baixados, mas pode haver alguns problemas lá. E depois de fazer isso, você pode fechá-lo e, em seguida, certifique-se de selecionar o cliente Executar aqui. Você também pode selecionar o cliente Minecraft aqui. Você pode selecionar qualquer um deles ou geralmente escolhe este. E então você pode basicamente iniciar microfones novamente com este botão Executar aqui. Agora, tudo foi configurado. Então, agora vamos passar para como adicionar o repositório do GitHub. Sugiro não pular esta etapa criando um repositório do GitHub porque se no futuro você tiver um problema, estou apenas me fornecendo seu repositório do GitHub, por exemplo, um log de erros e digamos Ei, isso não funcionou, vai tornar minha vida e sua vida muito mais fáceis porque eu vou ser capaz de responder o caminho mais rápido a um problema ou a uma pergunta que você possa ter. Então, como fazemos isso? Bem, antes de tudo, você precisa ter uma conta do GitHub. Eu recomendo fazer um no GitHub. É totalmente gratuito. É muito bom. É um site usado por quase qualquer pessoa que codifica. Existem alguns outros, mas eu recomendo apenas criar uma conta do GitHub. Uma vez feito isso, você pode voltar para a inteligência aqui e ir para o VCS e depois dizer projeto de compartilhamento no GitHub que precisamos escolher um nome. Estou bem com o curso de tecido traço mês 18, tudo bem. Vou optar por tornar isso privado. Você não precisa necessariamente. origem remota também está boa. Não vou adicionar uma descrição agora . Vou dizer Share. Agora você pode ver a Conta não pode estar vazia, Justa o suficiente. Então, vou adicionar uma contagem e você pode ver o login via GitHub. Eu só vou pressionar isso e ele abrirá esta conta da JetBrains. Vou dizer autorizado no GitHub e então você pode ver que foi autorizado com sucesso porque já estou trancado aqui. Agora vou aqui e você pode ver github.com cortar a linha de algodão e depois dizer compartilhar. Agora, na parte inferior aqui, você pode ver que está começando a fazer coisas. E então aqui, basicamente, sugere ódio. O que você quer empurrar? Tipo? A ideia é que temos duas coisas diferentes. Você tem um commit e um empurrão, e muitas coisas ficarão vermelhas. Então, os arquivos ficarão vermelhos e diremos confirmação inicial. Vamos dizer Add. E então ele continuará fazendo coisas aqui no canto inferior direito. E você pode ver o projeto de compartilhamento com sucesso no GitHub. Acredito que posso clicar nisso e lá vai você. Então agora, na verdade, o curso de cavalos obter um repositório foi criado sob colunas curso de malha de barra de linha 118. E isso também estará disponível para você. Então, em cada uma das palestras, você basicamente encontrará um link para o ramo para essa palestra em particular, para que você possa sempre dar uma olhada na comparação de código e garantir que tudo você fez está correto, assim como temos aqui. Também recomendo muito, especialmente quando entramos nos tópicos mais complexos, vou começar a copiar muito mais do código porque não é divertido ver alguém escrever 300 linhas de código. E então, basicamente, apenas olhando , assistindo alguém, certo, que não é realmente muito interessante. É muito melhor para mim copiar algumas coisas e depois explicar o que está escrito. Na verdade, é assim que a configuração para o repositório do GitHub aqui é fácil . Uma vez feito isso, você pode ver na parte inferior aqui que agora tenho o branch master e se eu fosse mudar alguma coisa, então eu vou , por exemplo, adicionar um Hammond, os comentários, certo? Você pode ver que o arquivo fica azul. Isso significa que ocorreu uma mudança. Como posso marcar isso agora? Bem, eu posso ir a este tablet de commit aqui e apenas dizer, sim, todas as mudanças antigas, certo? Eu queria, queria marcá-los. E então vou dizer que adicionou um comentário. Então o que eu quero fazer é eu vou me comprometer. Agora, essa mudança foi confirmada. Se eu voltar para a janela do projeto, você pode ver que ela não está mais azul, mas ainda não está on-line. Porque o que eu preciso fazer é que eu preciso ir aqui para este botão, para a seta que aponta para o toque superior direito. E então diz Master origin master. Isso basicamente significa que você vai empurrar as alterações que você fez em sua máquina local. Que a origem e a origem são basicamente on-line e lá para o branch master, empurre. E você pode ver espero que o que pode acontecer é empurrado um commit para o origin master. E se eu agora voltar aqui e recarregar isso, você pode ver que um comentário adicionado acabou de ser confirmado. Se eu não quiser entrar em muitos detalhes sobre como o Git funciona e tudo isso. No entanto, é muito importante que basicamente você configure isso. Eu recomendo isso. Não posso recomendar isso mais. Obter ajuda de mim ou de qualquer uma ou mesmo de outras pessoas facilitará muito se você tiver um repositório do GitHub que possa compartilhar. Então, por favor, faça isso e também é muito importante que todos esses arquivos estejam lá. Você tem que ter o arquivo Gradle w, você tem que ter o arquivo Gradle do construtor, as propriedades do Grail, todas essas coisas precisam estar lá. Muito, muito importante, certo? Mas seja qual for o caso, isso já é para esta palestra. Eu entendo que isso é bastante extenso. Fizemos muitas coisas, mas se o Minecraft funcionar agora, parabéns, você começou a estar atento ao luto. Vai ser uma jornada louca e legal ao longo do caminho. E tenho certeza de que você aprenderá muito. Se em algum momento você encontrar algum problema, é claro, sinta-se à vontade para usar as perguntas e respostas para fazer uma pergunta. Caso contrário, eu também recomendo verificar tudo novamente para erros ortográficos e garantir que você tenha feito tudo como eu fiz. E então espero que tudo funcione. Mas é isso para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. Vejo você na próxima palestra. 39. (Noções de básico) Crie um item personalizado: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos adicionar nosso próprio item personalizado. Então, isso é muito emocionante. Estamos começando com a adição de itens porque eles são um pouco mais fáceis do que adicionar blocos. Mas vamos começar. O que temos que fazer? Bem, dentro do nosso pacote de cursos MC, vamos clicar com o botão direito do mouse em novo pacote na verdade. Que item para que a estrutura do pacote em geral seja altamente subjetiva e possa mudar. É basicamente uma organização individual. Como você quer organizar isso, você pode selecionar isso basicamente como quiser. Eu recomendo ficar com algo que você gosta. Basicamente, você e se você tem uma equipe, sua equipe, desde que você possa encontrar tudo, tudo bem. Vou ficar com basicamente como faço isso para inserir o pacote de itens. Vamos clicar com o botão direito do mouse em nova classe Java chamada mais itens. Portanto, esta é uma nova classe aqui e essa janela aparecerá se você tiver o repositório do GitHub inicializado. Então, basicamente, isso está no arquivo do GitHub e geralmente o que você quer é dizer Sim, Adicionar, e então ele ficará verde. Então, este é basicamente um novo arquivo foi adicionado. Se você não configurou um repositório do GitHub, isso não aparecerá e está tudo bem também. Então, para adicionar um novo item, precisamos registrá-lo. Agora, há duas coisas que precisamos fazer. Precisamos ter um boyd estático público ou registrar mais itens método. E isso só vai dizer linha de impressão do sistema. E isso vai dizer algo como registrar, registrar itens para itens modificados, itens mod ou mais mod de curso MC essa melodia. Portanto, isso será chamado de lado INSEAD do nosso método não inicializado para inicializar os itens estáticos que temos nesta classe. Isso é realmente estritamente necessário porque caso contrário, os itens não serão registrados corretamente basicamente. E então teremos um item estático privado ou um item de registro, registraremos o item com um nome de string e um item, Item. Agora você verá que este item está vermelho aqui, não se preocupe. O que você pode fazer é clicar nisso, pressionar Alt e Enter para importar o item líquido do Minecraft, classe de item. Como você pode ver, ainda estamos recebendo um erro aqui porque é claro que temos que devolver um item que não é nada preocupante. O que vamos fazer é devolver o registro, não registrar com o item de ponto do registro tudo em AMA maiúscula, novo identificador da rede Minecraft util, curso MC MOD que nome do ID do modelo. E depois do primeiro item de vírgula entre parênteses. Mais uma vez, os kras de registro ainda não estão sendo importados, então clique em tudo isso em dois importantes no registro do Minecraft UTI, registro. E essa chamada basicamente registrará o item em nosso namespace que está sob nosso ID de modelo com o nome dado aqui como o primeiro parâmetro. E será esse item. Portanto, esse é basicamente um método auxiliar para nos ajudar a registrar nossos itens. E que tipo de itens vamos fazer? Bem, vamos fazer ou recalcá-los. Bem, isso já é cálcio em bens e pepitas e cru ou recalc eles. E depois, a Oracle pode bloquear e todo esse jazz. Então, como fazemos um item? Então, vamos dizer final estática pública. Então, isso é mais uma vez apenas coisas básicas, certo? Então essa estática, para que não tenhamos que criar uma nova classe mais itens. E, em seguida, final para que não possamos mudá-lo depois. E este vai ser o sublinhado da renda recalc em inglês. E isso será igual ao item de registro. Você pode ver que eu já estou recebendo isso e, em seguida, o primeiro é uma string. Esse nome aqui gerará automaticamente. Você não precisa digitar isso. Amplie um pouco. Você pode ver que isso parece um pouco diferente do que eu tenho escrito. Portanto, isso gera automaticamente, você não precisa digitar isso. E este é um oráculo vem sublinhado lingote e depois vírgula, e depois um novo item. Então você já receberá algumas sugestões c, Queremos um item normal aqui, novo item com os novos itens de malha, configurações, esse grupo, item, grupo que Misc, escreva este. E então, no final aqui, um ponto e vírgula. Essa é a coisa toda para criar um novo item aqui. Nesse caso, estamos basicamente fazendo um novo item, o nome ou o cálcio inglês. O oráculo entra, chegue aqui. Este é o nome da variável, é claro, e isso sempre deve ser escrito em caps lock e também sublinha pontuações de limite separadas basicamente. E tudo isso tem que ser minúsculas, assim como o ID do modelo. Então, o nome aqui, a string aqui, sempre em minúsculas. E geralmente recomendo ficar com uma maneira de escrever isso. Basicamente, ter o sublinhado aqui é bom, certo? Em Novo Item requer configurações de item e você pode ver que acabamos chamá-lo de método de grupo e o entregamos ao ponto do grupo de itens diversos, que este item seja realmente adicionado ao grupo variado. E eu posso realmente colocar um ponto aqui também depois. E isso colocou mais coisas para isso. Você tem um pouco mais de conhecimento Java. Este é um padrão de construtor e você pode ver que eu posso realmente fazer algumas coisas aqui, uma mudança, algumas coisas por enquanto. Nós só vamos continuar com a seleção basicamente do grupo para ser diversificado em grupo. E isso é praticamente isso. Vamos ficar com isso por enquanto. Mas, no final da palestra, vamos fazer outro item apenas para que você veja como isso funciona. o qual algumas pessoas ficaram um pouco confusas. Como adiciono um segundo item para ter que criar uma nova classe de itens de modo, Não, Não se preocupe. Nós vamos basicamente passar por isso em nossa classe de mod de curso MC no método inicializado, onde agora vamos chamar mais itens que registram itens do modo. E podemos excluir as informações do registrador. Isso vai ficar bem. E agora precisamos nos aventurar na pasta de ativos e basicamente criar os arquivos JSON. Bem, os arquivos JSON são algo que é, quero dizer, eu não diria necessariamente irritante, mas pode ficar muito chato porque para cada bloco e para cada item que você adicionar, você terá que adicionar esses Arquivos JSON. Vamos examinar os arquivos JSON do item aqui. E, em seguida, a próxima palestra quando falamos sobre blocos, também vamos passar por eles também, então não se preocupe. Então, na pasta ativos, clique com o botão direito do mouse em novo diretório chamado curso MC. Portanto, esse tem que ser seu ID de MOD. Certifique-se de que isso esteja escrito corretamente. Tudo aqui que estou fazendo agora precisa ser escrito corretamente. Caso contrário, não funcionará. Diga isso mais uma vez. Certifique-se de que a estrutura de pastas esteja escrita corretamente. Verifique isso oito vezes, realmente, quero dizer, curso MC, clique com o botão direito do mouse em novo diretório chamado lang. Portanto, este é o primeiro diretório que vamos precisar. E depois há outro chamado modelos. E depois há mais um que vamos precisar, que são as texturas. Mas muito importante, modelos Lang com um S no final e texturas com um ácido no final. A pasta de modelos também terá dois diretórios, um chamado quebrou. Isso é singular. E então o que posso fazer é pegar essa pasta e quando pressiono Control e arrastá-la para a mesma pasta, posso fazer uma cópia dela e apenas significar esse item. Agora vamos pegar os dois e realmente fazer uma cópia deles para a pasta de texturas, porque vamos precisar de um bloco, uma pasta de itens lá também. Mas é neste momento como isso deve se parecer. Certifique-se de que tudo esteja no lugar correto para que nada parecido com a pasta de modelos esteja dentro da pasta de ativos. Tudo tem que ser assim. Recursos, ativos, modelos de cursos MC, texturas M, C corps, MCQs, Lang. Agora, dentro da pasta leg, vamos clicar com o botão direito do mouse em Novo arquivo e nos sublinhar Grayson dot dot dot it Enter e, mais uma vez, é claro, adicioná-lo ao repositório do GitHub , se você tiver um. E agora este é o arquivo de tradução. Então, isso vai traduzir o nome dos itens em diferentes idiomas. Agora, para nossos propósitos, só vamos usar e nos sublinhar, Jason, porque só queremos traduzir isso para a versão em inglês. No entanto, você pode descobrir facilmente os outros tipos de idiomas que são suportados e, em seguida, traduzir para eles também. Precisamos fazer é que precisamos colocar colchetes encaracolados aqui e depois uma corda. Então este será o item que o curso MC, esse lingote de sublinhado recalc e, em seguida, um cólon ou um escore de cálcio, um espaço sem sublinhado nulo nele. Lá vai você. Então este ano é o nome não traduzido. Basicamente, esta é a chave de tradução. Você pode pensar nisso como este item porque este é um item porque o curso MC, porque esse é o nosso ID do modelo. E então o lingote de silício aqui é o nome dado na classe de itens mod aqui. Mas essa é a ideia geral. E essa coisa vai seguir basicamente para quase qualquer outra coisa também, os blocos, coisas diferentes. Então, sim, esse é então o nome traduzido. Portanto, esse é o nome que você verá quando passar o mouse sobre o item real no inventário, logo abaixo do item de modelos, clique com o botão direito do mouse, novo arquivo ou pré-cálculo, sublinha lingote que Jason é importante assim e também certifica de que isso está escrito corretamente. Agora, o Malcom pode ser uma palavra difícil, então verifique se está escrito corretamente. Ele entra e eu vou mostrar isso uma vez, basicamente escrevendo isso. Normalmente não escrevo isso porque não há necessidade de fazer isso. A maioria dos arquivos JSON será a mesma em geral. Basicamente, o que você vai ter para ter colchetes encaracolados e, em seguida, um cólon pai, texturas de vírgula geradas por barra de item, dois pontos, colchetes iniciais, camada 0, Olin, núcleos MC. Então seu lema De todos um item, flash ou Malcolm ou recalc m sublinha inglês. O que está acontecendo? Bem, o pai simplesmente garante que isso seja exibido como um item normal dentro do seu inventário. Em seguida, as texturas simplesmente fornecem texturas para este item específico mais tarde, 0 significa simplesmente, ei, vamos usar apenas uma camada. Não precisamos nos preocupar muito com isso, mas é assim que isso basicamente terá que ser escrito. E, em seguida, isso especifica a localização dentro da pasta de texturas. Vamos ver um mergulho profundo nos arquivos JSON após a palestra em bloco também. Às vezes, sinto que é bom estabelecer uma espécie de base geral primeiro. Então, basicamente, fazendo os itens terminarem os blocos e depois falar sobre cada um dos arquivos JSON individuais em uma palestra posterior também. Isso também vai acontecer , certo? Então, como este é lodo de item, lingote de silício, isso tem que ir, a textura não foi para as texturas do curso MC na pasta do item e tem que ser nomeado Henri lingote de cálcio ponto PNG. Então, claro, já tenho isso preparado. Só vou copiar isso ou um PNG, certo? E, claro, adicionado ao repositório do GitHub. E, claro, tudo isso está disponível para você no pulso. O repositório do GitHub e os extras também estão disponíveis para você baixar como um arquivo zip. Se houver vários e se forem apenas solteiros, provavelmente também serão texturas únicas. Agora, isso é realmente tudo o que precisamos para adicionar o item corretamente ao nosso MOD. Então, agora podemos realmente começar o jogo e ver se ele funciona. Certifique-se de que você selecionou executar o cliente onde o cliente Minecraft aqui, qualquer um está bem. E então pressionando o botão Executar, Executar lá. E então é apenas uma questão de esperar até que ele comece. Tudo bem, então nos encontramos no Minecraft aqui. Apenas certifique-se de que seu próprio criativo, é claro, que possamos basicamente ver facilmente se ele está funcionando ou não. E vamos ver quando estivermos no jogo para isso. Então, aqui estamos no jogo e vamos ver. Então, vamos para a aba diversos e vamos na parte inferior aqui. Aí está ele. O cálcio já está em bom, absolutamente incrível. E eu adoro a textura também. Portanto, para toda a transparência, a propósito, as texturas, você pode realmente usá-las, no entanto, elas estão sob uma licença específica. Vou mostrar em apenas um segundo, mas isso é realmente muito legal que você vá, o item foi adicionado com sucesso, mas aqui estamos o aviso de créditos, então isso é muito importante. Todas as texturas foram feitas por nano ataque e são distribuídas sob a licença internacional zero zero de quatro pontos CC BY SA. Certifique-se de seguir isso. Se você quiser usá-los em seu próprio repositório, basta adicionar esse arquivo a ele. Tenho certeza de que isso vai ficar bem, mas certifique-se de que isso seja feito. Caso contrário, você está realmente infringindo direitos autorais. Então eu só queria ter certeza de que este é o caso. Caso contrário, as texturas aqui são realmente ótimas e você pode usá-las. Não se preocupe nada. Apenas para mostrar imediatamente como você pode adicionar um segundo item aqui, basicamente vamos copiar isso, então vou selecionar tudo isso e pressionar Control D para duplicá-lo. E então o que vamos fazer é você ver que só precisa mudar isso um pouco. Temos que mudar o nome aqui, é claro, para pepita de cálcio oral. E então embaixo aqui também pepita. E agora o segundo item já está no jogo do seu curso também precisa ter um novo modelo de item. Então, o que vamos fazer é copiar este, apenas arrastando-o para a mesma pasta enquanto seguramos este, apenas arrastando-o o Control, certo? Então, algo assim. E então podemos renomear isso imediatamente para Oracle com nugget. Certo? E então dentro daqui também, para uma pepita de cálcio, então vamos pegar a pepita de cálcio, extra robusta aqui também. Tudo bem. E então, na EN, nos sublinham o arquivo Jason, vamos copiar isso. Então, basicamente, o que eu fiz é que eu apenas, você sabe, pressione Control C, Control C, Control V, Control V para colá-lo várias vezes que tudo aqui funcione e a pepita, e então aqui, é claro, também pepita. E agora isso é realmente tudo o que precisamos fazer para adicionar um segundo item e cada novo item é basicamente o mesmo. É apenas outro item final estático público aqui com um novo nome. Então isso é muito importante que isso sempre tenha um nome único. Se houver nomes que são basicamente usados várias vezes, isso não funcionará. Então, apenas por causa de conclusão, vamos ver se funciona. Tudo bem, amigos têm preto no Minecraft. Então, vamos para a aba diversos e vamos ver, lá está, o oráculo vem e bate. Ele também foi adicionado ao jogo. Então, tudo funcionou perfeitamente. Isso não é ótimo, certo? E é isso para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. Todo o código para você está, naturalmente disponível no repositório do GitHub ou em indivíduos também, linkedin e recursos. Então, verei você na próxima palestra. Então, sim. 40. (Noções básicas de se tornar uma barra personalizada: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos procurar adicionar blocos personalizados ao Minecraft. Ou blocos personalizados são semelhantes à adição de itens personalizados, no entanto, eles exigem mais alguns arquivos JSON. Mas antes de tudo, é claro, precisamos codificá-los. Então, dentro do nosso pacote de cursos MC, clique com o botão direito do mouse em novo pacote chamado bloco E então, dentro de lá, vamos criar uma nova classe Java chamada MOD blocks. Agora, isso exigirá mais uma vez o vazio estático público chamado método de blocos de modo que irá apenas produzir basicamente algo como registrar monólogos ou mod de curso MC, mod ID que somos vai ter que ligar para a aula simulada do curso MC. Mas isso também exigirá, vou criar dois métodos auxiliares diferentes aqui. O primeiro será o item estático privado chamado item de bloco de registro. Agora, a razão pela qual vou fazer isso é porque quando criamos um bloco no item não é criado para ele e, na verdade, temos que criar um item para ele. Portanto, o primeiro parâmetro é o nome da string, então bloco, bloco e, em seguida, grupo de itens, grupo. E então também vamos tudo aqui vermelho, totalmente bem. Clique nele e insira para importá-lo, alterado e insira o importante, muito importante que importamos a classe de bloco correta. Você pode ver o bloco Minecraft líquido, muito importante. E então o grupo de itens, a mesma coisa, apenas Alt e Enter. E então isso vai ser importante. E então aqui vamos retornar registro de pontos do registro, item de ponto do registro com um novo identificador, MOD do curso MC que o nome do ID do mod. E, mais uma vez, após os primeiros parênteses vírgula novo item de bloco, este item de bloqueio de tempo. direita pode pressionar a tecla Tab para basicamente preencher isso automaticamente, passando o parâmetro de bloco aqui. E, mais uma vez, novas configurações de itens de malha. Mais uma vez, basta preencher automaticamente com a aba. Há grupo e, em seguida, passar o parâmetro group. E então os três parênteses e , em seguida, um ponto-e-vírgula para terminar a linha e eles você vai o método do item de bloco de registro está completamente concluído. E então teremos um método que basicamente chama isso. Então, para o bloco, temos que registrar um item de bloco e, claro, também o bloco. Portanto, temos um bloco estático privado ou o método de bloco de registro, que será um bloco de nome de string, bloco e, claro, grupo de itens, grupo. E a primeira coisa que ele vai fazer é chamar o método de registro de item de bloco com o bloco de nome e o grupo. E então a segunda linha aqui será retornada mais uma vez, registrando esse registro. Desta vez, o registro que bloqueia. O bloco aqui com um novo identificador. Identificador MC, mod do curso, nome do ID do mod. E depois que os primeiros parênteses novamente bloqueiam. Então, assim, o código aqui é claro, também disponível para você. Você pode dar uma olhada no repositório do GitHub ou no também. Na ideia aqui é que, para cada bloco, basicamente vamos chamar o método do bloco de registro para que possamos ter imediatamente um item registrado para isso também. E então o que vamos fazer é fazer um novo bloco aqui, passar por tudo, dar uma olhada se funciona ou não. E depois que o primeiro bloco foi adicionado, onde eles também adicionarão um segundo bloco. Portanto, bloco final público, bloco final ou bloco de sublinhado de Malcolm de 40k, que é igual ao bloco de registro com o nome mais uma vez, claro, recalc vem bloco sublinhado ou escrito em minúsculas. E esse nome aqui mais uma vez gera automaticamente. E vamos fazer um novo bloco. Você é apenas um bloco normal. Com esse tempo as configurações de tecido rock, você pode ver isso. Então, isso basicamente copia um material aqui. Isso vai ser material, na verdade, material conhecido. E então vamos dizer que, na verdade, o bloco, agora o bloco realmente terá metal para meu não tanto material metal. E, mais uma vez, pontue e você pode ver todas as configurações diferentes que podemos definir. Há muitos deles, como você pode ver claramente, alguns deles têm que atacar. Então, por exemplo, você sabe, quebrar a ferramenta de BI. Você pode ver que se eu realmente adicionasse a tag de ferramenta aqui, e você pode ver que isso realmente é um golpe vermelho também. Portanto, não podemos usar esse. Portanto, aqueles que têm avanços não devem usar os outros que podemos usar. Não se preocupe. Então, por exemplo, algo como essa força pode ser usado, que é basicamente a dureza e a resistência. Basicamente, quanto tempo leva para quebrar esse bloco. Sempre queremos chamar o método de ferramenta requerido para cada bloco. Basicamente, é muito importante. Depois de termos o bloco, também temos que passar no grupo de itens. Então, grupo de itens diversos aqui, neste caso. Mas, basicamente, na próxima palestra, também veremos como adicionar nosso próprio grupo de itens personalizados. É por isso que isso é muito importante que tenhamos isso como um possível perímetro aqui só vai tornar nossa vida um pouco mais fácil. Neste momento, este é realmente o bloco definido. Vamos para a nossa aula de curso MC e vamos aqui. Então, esses serão os blocos do modo de registro de pontos de blocos. Certifique-se de que isso seja chamado após os itens. Esta é apenas a ordem em que eu gosto de fazer isso. Eu não acho especificamente que isso seja sempre necessário, mas só faz sentido. Às vezes, o pedido aqui é muito importante por enquanto. Nós só vamos ficar com isso. E vamos, na verdade, primeiro abrir D em sublinhar-nos arquivo JSON. E vamos ver. Então, qual seria o bloco? Bem, isso é, na verdade, bastante simples. Curso AMC de ponto de bloco que recalc bloco de sublinhado. E então, é claro, mais uma vez, o nome traduzido ou o bloco Malcolm aqui. Então isso, é claro, agora começa com um bloco e que o Oracle pode bloquear aqui é mais uma vez apenas o nome dado nos blocos de lama. Agora, os arquivos JSON são um pouco diferentes porque realmente precisamos de uma nova pasta. Então, dentro dos ativos e de uma armada D, no nosso caso, curso MC, clique com o botão direito do mouse em novo diretório chamado Estados do bloco. Também é muito importante que isso esteja escrito corretamente. E então lá vamos precisar de um novo arquivo chamado bloco de sublinhado recalc, o adjacente o ego. E vou mais uma vez fazer isso uma vez manualmente e depois vou explicar. Então, precisamos de colchetes encaracolados e, em seguida, vamos precisar de uma variação. Certifique-se de que isso esteja escrito corretamente, tudo em colchetes crespos novamente. E então aspas vazias, colchetes encaracolados, modelo, Olin, curso MC, bloco caído ou uma vaca vêm bloco sublinhado, certo? Então, exatamente assim. Agora esta é uma situação de bloco muito interessante. Como eu disse, vamos ver isso em uma palestra futura. Vou analisar o que cada um desses JSON realmente significa. A ideia geral é que, bem, existem variantes diferentes que podemos definir. Atualmente, não temos nada a encontrar porque nosso bloco não tem nenhuma propriedade de estado de bloco. Portanto, existem propriedades diferentes que podemos definir posteriormente, o que é algo que veremos na seção intermediária do curso. E então podemos apontar para modelos diferentes. Então, para o nosso caso, precisamos de um modelo sob o bloco chamado mais antigo ou um bloco de cálcio. Então, dentro da pasta de modelos Block, clique com o botão direito do mouse em novo arquivo para um sublinhado de cálcio blog.js, JSON. E o modelo de bloco tem a seguinte aparência. Isso será semelhante ao modelo do item. Então colchetes encaracolados e , em seguida, cubo de barra de bloco pai sublinham tudo isso simplesmente, esse pai basicamente diz, ei, as texturas serão as mesmas ao redor. Então vamos mais uma vez ter as texturas aqui. Registro de dois pontos. E então todo o bloco de cólon do curso MC caído ou um bloco de sublinhado de cálcio. Então você pode ver mais uma vez, temos uma textura e essa será a textura para todos os seis lados do cubo, mas é por isso que é tudo cubo. E então isso está sob bloco ou desbloqueio do curso MC. Este é mais uma vez o nome do arquivo que temos que ter. Então isso é praticamente tudo o que há para ele. E, na verdade, vamos copiar isso também. Já tenho isso preparado. Você pode, é claro, também obter isso como um download, mas por favor, certifique-se de seguir a licença nos créditos aqui. Portanto, todas as texturas são realmente licenciadas sob uma licença específica. Portanto, certifique-se de seguir isso também se você usar isso em um ambiente público, certo? E, na verdade, também precisamos de um modelo de item. Essa é a coisa com os blocos. Na verdade, ele requer três arquivos JSON diferentes, basicamente todos nomeados da mesma forma. Jason de um bloco 6, um modelo de bloco Jason e um modelo de item Jason. Na verdade, não vou copiar isso. Na verdade, vou fazer um novo. Então, na pasta de modelos de itens, clique com o botão direito do mouse ou recalc vem sublinhado loc Jason. E isso realmente parece diferente dos outros modelos de itens porque um modelo de item de bloco é realmente diferente. Então, isso vai ter colchetes encaracolados. E então ele terá cólon pai, bloqueio de curso MC ou barra de desbloqueio, ou um bloco de sublinhado de cálcio. Agora, isso aqui se refere ao modelo de bloco e faz com que o item em vez do inventário seja exibido dessa maneira 3D que blocos geralmente são exibidos no inventário. Mas, mais uma vez, vamos ver isso um pouco mais detalhadamente em uma palestra posterior quando passarmos por todos os arquivos JSON. Mas agora temos os três arquivos JSON. Temos a textura e a tradução feitas e quais blocos registram método UX móvel também é chamado. Então, vamos ver se funciona. Tudo bem, estamos em Minecraft, então vamos aqui. O mais antigo que o Oracle pode bloquear, e se eu configurá-lo lá, também é. Então, tudo funciona totalmente bem. Então eu queria mencionar uma coisinha rápida. Existem basicamente duas seções em que você pode ter um problema. Ou a textura dentro do mundo não funciona. Assim que eu definir o bloco para baixo, ele pode ter um ano de textura rosa de extremidade preta, ou a textura dentro do inventário não funciona. Há duas coisas diferentes que podem estar acontecendo. Se a textura no mundo não funcionar, é provável que o bloco permaneça em arquivo JSON. Isso é muito coxo. Se a textura no inventário não funcionar, é o modelo do item Jason, que é o culpado. E se ambos não funcionarem bem, então podem, pode ser qualquer um desses motivos. Tão muito importante. Essa é basicamente a ideia geral, certo? E só para que seja mostrado como você pode adicionar um novo bloco basicamente selecionarei isso e pressiono Control C e depois Control V para colá-lo. E então vamos mudar isso para Oracle ou aqui, e mais uma vez aqui também, certo? O nome também é muito importante. O resto, se você quiser mudar essas coisas que você pode, é claro, mudá-las. Vamos, por exemplo, dizer o volume ou na verdade, não é forte. E também na verdade não é metal ou realmente é metal. É mais como pedra. Isso também é totalmente bom. E isso, estou muito feliz com isso. Agora, o bloco está no jogo, mas ainda não tem textura e todo esse jazz. Mas precisamos basicamente também adicionar um bloco C Jason para ele, um modelo de bloco JSON e item milk Jason. Agora, o que eu costumo fazer é pegar um dos Jason já existentes e simplesmente copiá-lo assim, certo? Arraste-o enquanto segura Control e, em seguida, você pode alterar o nome aqui. Então Oracle ou, e depois o mesmo aqui também. Recalc OR e, em seguida, o mesmo para o modelo de bloco também, certo? Em vez de o Oracle poder bloquear, teremos pré-calc ou um ano. E então isso apontará para o recall ou a textura em vez da textura do bloco. E então a última coisa será o modelo do item também será renomeado ou aqui. E então aqui também. Geralmente é assim que eu adiciono novos blocos, certo? Apenas copiando sobre um. O exemplo básico disso, então o mesmo aqui no idioma, basta duplicar isso adicionar a vírgula aqui e, em seguida, certificar-se de que isso está ou, e ou tudo funcionando bem. Então também vou adicionar a textura, que, naturalmente, está disponível para você ou para download também. O ego e agora o cálcio ou bloco também são adicionados ao jogo. Então, apenas por causa de conclusão, vamos ver se funciona. Certo, estamos de volta ao Minecraft, então vamos apenas ir para a aba diversos e vamos ver lá que já é cálcio ou agora também no jogo, vamos apenas configurá-lo, tudo funcionando totalmente bem. Esse também é um dos benefícios. Se você já tiver um bloco funcional e copiar sobre os arquivos JSON, geralmente quando ele funciona para um bloco, espero que também funcione para o outro bloco. Então isso é mais uma vez, muito legal, certo? Mas isso já será para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. Todo o código está disponível para você nos recursos, e eu te vejo na próxima palestra. Então, sim. 41. (Noções de itens personalizados: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos adicionar nosso próprio grupo de itens personalizados ao Minecraft. Agora, este é realmente um exercício muito fácil e não requer muita, bem, basicamente mudança de código. Dentro do nosso pacote de itens, vamos clicar com o botão direito do mouse em nova classe Java chamada grupos de itens de modo. E então, dentro daqui, vamos criar um novo grupo de itens final estático público. Todo o curso. Portanto, esse é apenas o nome da variável aqui, e isso é igual ao item de tecido. construtor de grupo construiu um novo identificador, mod de curso MC que modelo ID AMA horse como o nome de like como uma string. E depois dos primeiros parênteses, faremos um fornecedor abrir e fechar parênteses seguidos por essa seta aqui com uma nova pilha de itens. E então vamos passar mais itens ou um lingote de cálcio e depois terminaremos com um ponto e vírgula. Portanto, esse agora é um grupo de itens. Se quiséssemos adicionar um segundo, poderíamos simplesmente copiar isso. Apenas, eu sou um curso 2, acho que algo assim. Então, é claro, também mude o nome aqui também, certo? Isso é muito importante, mas é assim que você adicionaria um segundo e então você pode apenas se referir a isso também. Mas, para nossos propósitos, vamos adicionar um. E então, claro, como chamamos isso? Bem, em vez da classe mais blocos, podemos substituir o item diversos aqui mais grupos de itens nesse curso. E então a mesma coisa vai bem aqui. Então eu vou apenas copiar esse Controle C, Controle V. E então a mesma coisa vale para mais itens aqui serão chamados de diversos. Nós só vamos passar no grupo do curso aqui. E isso vai ficar bem. Além disso, basta remover isso também. Lá vai você. Então agora tudo está bom e arrumado. E, claro, a pilha de itens aqui, isso se refere à coisa real que está sendo exibida na guia real, certo? Então, agora será um item de boas-vindas ou um algodão Inglaterra que está sendo exibido. Você poderia, por exemplo, também dizer que se você quisesse que um bloco de algodão fosse exibido, você também poderia colocar isso e isso também funcionaria também. Mas vamos ficar com o lingote, isso vai ficar bem. E então este curso aqui é realmente muito importante porque também queremos adicionar a tradução para ele. Então, no ouvido e nos sublinha o arquivo JSON, vamos apenas ir para o fundo. Este item será muito interessante e, em seguida, agrupe o portão g. O g realmente escrito em maiúsculas. Muito interessante com o seu curso MOD ID MC no nosso caso. E então o curso é o nome que demos lá. E esta será apenas a guia Curso. Isso vai ficar bem. Este agora é o nome que está sendo exibido quando passamos o mouse sobre a guia. E mais uma vez, este curso aqui, exatamente isso aqui. Então, agora depois de adicionarmos isso e adicionarmos nos blocos mais itens, classes, vamos ver se funciona ou se responde de volta no Minecraft e vamos ver. Portanto, esta é uma indicação muito boa se tivermos uma segunda página aqui, e lá vai você. A guia do curso, a guia Curso e todos os nossos itens ou nossa caixa estão lá. Mas isso é realmente ótimo e podemos tirá-los e usá-los como quisermos. Então, isso é realmente muito legal. Mas no futuro, é claro, vamos usar a guia Curso. Então, eu recomendo fazer sua própria guia também. Então isso é basicamente um abusado em todas as palestras futuras. Mas, por enquanto, é isso para esta palestra aqui. Espero que você tenha achado útil e ele aprenda sobre o novo, e eu te vejo na próxima palestra. Então, sim. 42. ASSINGMENT 5: blocos e itens personalizados: Bem-vindo à primeira tarefa aqui no curso de tecido para 118. E sua tarefa será adicionar uma linha ou um item de cálcio aos itens de modo. E, claro, todos os arquivos JSON necessários, bem como as texturas também. As texturas serão fornecidas a você. Por favor, note que eles são licenciados sob voos internacionais CC BY SA 4. Então, se você quiser usá-los em seu projeto, em um projeto aberto, certifique-se de dar o crédito adequado lá. E também, você deve fazer dois blocos, uma fenda profunda ou um cálcio ou, e o roubo de cálcio ou bloco. Então, mais uma vez, as texturas são fornecidas sob a mesma licença. As texturas também são fornecidas e tudo também está escrito nesta página, você deve ver a tarefa escrita em algum lugar como uma tarefa real. Eu tive que adivinhar que isso não deveria demorar mais do que uma rodada, cerca de 20 minutos. Talvez você tenha que voltar e assistir às palestras anteriores mais uma vez. Basicamente vamos solidificar isso. Mas, caso contrário, isso não deve demorar muito. E eu diria, boa sorte e te vejo na solução. 43. SOLUÇÃO 5: blocos personalizados e itens: Tudo bem, então vamos dar uma olhada na solução para adicionar as duas fechaduras, a gota ou cálcio ou no registro de rocha pode bloquear. Então, é claro, é basicamente apenas um exercício de copiar aqueles, alterar os nomes aqui e garantir que estamos escolhendo a força do grupo de itens aqui, é claro. E então, nos itens do modelo, adicionando o cálcio Rory, mais uma vez, basta copiá-lo e mudar o nome aqui. E, claro, apenas os arquivos JSON são bastante simples. Eles são basicamente iguais aos outros, apenas apontando para um modelo diferente neste caso. Todos eles estão, naturalmente, mais uma vez disponíveis para você em alguma capacidade no repositório do GitHub e também de forma apenas para que você possa dar uma olhada em cada um deles individualmente. E acredito que também os terei para download. Então, no geral, isso não deve ser muito louco. Isso realmente deve ser um exercício bastante fácil para você seguir. E espero que você tenha gerenciado isso. Se alguma dúvida surgir ao longo do caminho ou surgir ao longo do caminho, não hesite em fazer perguntas usando o sistema de perguntas e respostas de discussão. Espero que você aprenda algo com essa tarefa e eu te vejo na próxima palestra. Então, sim. 44. (Noções de (Basics) adicione receitas personalizadas: Ou eu dou as boas-vindas de volta ao curso de tecido para 118. Nesta palestra, vamos olhar para uma receita personalizada. Para receitas personalizadas em geral, você pode dizer: Bem, elas provavelmente serão muito complicadas. No entanto, esse não é o caso. Algumas pessoas de vocês podem já ter brincado com atos de dados no passado. E é praticamente a mesma coisa. Então, vamos até nossa pasta de recursos. E em vez de colocar isso na pasta de ativos, na verdade, temos que criar uma nova em vez da pasta de recursos chamada data. E então, dentro de lá, vamos criar uma nova pasta com nosso modelo. No nosso caso, é claro, o curso MC. E então, dentro de lá, queremos criar a pasta de receitas. Agora, mais uma vez, é muito importante que tudo aqui esteja escrito exatamente como está, então isso tem que corresponder exatamente ao ID do seu modelo e as receitas também precisam ser escritas assim ou em minúsculas. Só queria mencionar isso mais uma vez. E dentro daqui agora, todas as nossas receitas vão embora. Agora, como eles se parecem? Bem, vou escrever uma receita. Você é apenas por uma questão de argumento, no entanto, vou clicar com o botão direito do mouse Novo Arquivo e vamos chamar isso Bloco de sublinhado de renda oracle, sublinhado de index.js. E o que às vezes pode acontecer é que na parte inferior aqui você pode ver receita Jason Minecraft Jason, que basicamente o esquema é detectado automaticamente, mas você também pode entrar aqui, certo? Então, para alguns arquivos JSON, vou abrir este. Por exemplo, você não vê nenhum esquema JSON. Você sempre pode entrar lá com vermelho e clicar nisso e, basicamente, procurar por uma receita e configurações. Você tem receita de dados de microondas. Então, há algumas coisas aqui. Você não precisa necessariamente disso. A única vantagem que você vai obter é se você começar a digitar coisas em C que você recebe algumas sugestões aqui. Mas em um momento vou te mostrar como você pode realmente copiar sobre receitas de baunilha, o que vai tornar toda nossa vida muito mais fácil. Portanto, não se preocupe lá. Então, começamos com os suportes encaracolados e depois um tipo. Agora, o tipo é basicamente que tipo de artesanato é isso. E você pode ver que há um monte de coisas para esta cânfora moldada, sem forma e duradoura cozinhar, fundir, ferrar , fumar e cortar pedra. No geral, o que vamos dar uma olhada é basicamente a forma, sem forma, a fundição e a explosão sobre o resto são praticamente iguais. Não há muita diferença em todos eles. Primeiro de tudo, vamos dar uma olhada em receitas de formas. Então, esta é uma receita de forma. Na verdade, precisamos definir um padrão aqui, mas esse é o padrão que é basicamente uma lista, e geralmente contém três strings. E geralmente essas três cordas têm o comprimento de três. Então, esses anéis representam a mesa de artesanato. Então, se eu fizer isso, certo, então eu preencho todos os, todos eles com extras de todos eles com cinzas por uma questão de discussão aqui, então o que você deve notar é que, bem, isso é um três por três. Isso é literalmente o banco de artesanato. E isso é exatamente certo. Então, o padrão aqui representa o banco de artesanato. Então, se eu fosse fazer isso, por exemplo, então terei que preencher o exterior e deixar o slot do meio basicamente vazio. E então, você sabe, você poderia fazer a mesma coisa com algo assim. Então esse é um tipo geral de ideia sobre como você pode fazer esse padrão. Agora você não precisa necessariamente ter três cordas, e elas também não precisam necessariamente ter o comprimento três. Então, algo assim, que seria a porta, por exemplo. Porque você pode grafar a porta no lado esquerdo da mesa de artesanato, no lado direito da mesa de artesanato. E isso basicamente cuidaria disso. uma vez, um pouco de experimentação é, claro, muito inteligente. E também no final da palestra, vamos dar uma olhada nas receitas de baunilha para que você também possa copiar delas. Então precisamos definir uma chave. Agora, a chave aqui é muito interessante porque, claro, isso tem de alguma forma relacionar algo, certo? O que faz o alarme Hashtag? Eu não sei exatamente. Então, temos que definir isso. Vamos fazer dois pontos de hashtag e, mais uma vez, colchetes encaracolados. E dentro daqui, vamos definir um item. É claro que isso será núcleos MC ou um sublinhado de cálcio nele. E isso agora significa que a hashtag aqui deve ser esse item em particular. Mas também não seja muito louco, então podemos fazer um resultado aqui no final. E esse será o curso MC. Ou um bloco de sublinhado de cálcio. Por nada muito louco deveria estar aqui. Isso tudo deve ser razoavelmente sensato como vamos colocar a boas-vindas do iRic Ingrid aqui como uma chave. E então isso está basicamente sendo reconhecido. Ei, temos que colocar nove ou cálcio Ingles para obter um ou um bloqueador de cálcio como resultado. Agora, a pergunta entrará. E o contrário? Então, se eu colocar um Oracle pode bloquear no banco de artesanato, como faço para tirar nove ou um lingotes de cálcio dele? Bem, eu só vou copiar esse aqui. Todos os arquivos recentes é claro, estarão disponíveis para você. Então vamos dar uma olhada nisso em C. Este agora é um tipo sem forma. Em vez de um padrão, agora temos ingredientes. E você pode ver que temos, só temos um ingrediente aqui. O Oráculo pode bloquear e se transformaria em nove para cálcio Inglaterra. Assim, você também pode especificar uma contagem aqui que, a propósito, também funciona para a receita moldada também. Isso não é nenhum problema lá. Então isso também funciona. Então, esses são dois exemplos desses moldados na receita sem forma. Agora vamos realmente dar uma olhada na fundição e no jateamento. Vou copiá-los também. Bem aqui estamos nós. Então você pode ver que o tipo aqui é apenas explodir e então aqui está apenas fundição. E mais uma vez, você precisa definir um ingrediente. Nesse caso, você só pode definir um ingrediente. Você, é claro, só tem um slot de entrada no alto-forno ou no forno normal. Então você pode dizer, ei, qual é o resultado aqui? Você pode até definir quanta experiência você obtém de cada cheiro individual aqui e, em seguida, também o tempo de cozimento. Então, quanto tempo em carrapatos isso basicamente vai demorar. Você pode ver que, claro, o jateamento é mais rápido do que a fundição real. Um. Mais uma coisa que eu também queria mostrar é, por exemplo, aqui eu tenho essa pilha de diamantes de outra receita personalizada estrela. E você pode ver que estou usando meus próprios itens, bem como itens do Minecraft. E você pode ver que não há nenhum problema com isso. Você só precisa especificar o namespace do Minecraft aqui e , em seguida, o nome do item. Então, isso é praticamente tudo o que há para criar itens que não são seus. Você pode criar itens do Minecraft que funcionam totalmente bem, embora esse seja um exemplo disso também. E agora, antes de darmos uma olhada nisso, vamos realmente descer para que possamos dar uma olhada em todos os arquivos de dados e ativos do Minecraft descendo na janela do projeto, o externo bibliotecas, abrindo isso e depois descendo. E você pode ver que basicamente este aqui, bem aqui. Então, temos o projeto net Minecraft, minecraft mapeado e assim por diante e assim por diante. Esta antes da grande lista negra da qual todos parecem iguais, certo, acima que temos esta. Vamos abrir isso e você pode ver que há uma pasta de ativos, há uma pasta de dados e até uma pasta de rede. Na pasta net, todo o código está escrito no que podemos basicamente dar uma olhada em todo o código também. Mas não vamos fazer isso por enquanto. Estamos interessados na pasta de dados, Minecraft, depois receitas. E você pode ver, agora eu poderia dar uma olhada em cada uma dessas receitas legadas nem importaria aqui, certo? Então eu poderia dar uma olhada em qualquer coisa. Mas, por exemplo, Oh, como é que a fundição de carvão ou oh, é assim que funciona. Certo. Justo o suficiente. Podemos ir ao compostor. Como você cria isso? Oh, sim, é claro, foi assim que você criou isso. Você pode ver que você tem acesso a tudo aqui que você pode querer. Então, genuinamente, você deve ser capaz de quase fazer qualquer coisa em termos das receitas que você gostaria com este equipado, você basicamente tem acesso a qualquer coisa. Eu recomendo se você quiser basicamente pegar um desses. Então, digamos, por exemplo, o salmão cozinheiro aqui você é como, ok, eu quero levar isso. O que você faz é você apenas eleger pressionar Control C. Então você pode voltar para sua própria pasta de receitas Control V para colá-lo. E então você o tem lá dentro. E então você pode basicamente alterá-lo como quiser. Mas essa é a ideia geral de como fazer isso. Vou excluí-lo novamente porque não vamos precisar disso. Isso vai ficar bem de qualquer maneira, depois de ter adicionado todos esses, vamos ver se funciona ou se nós mesmos no Minecraft. Então, vamos antes de tudo ver se podemos ou não criar o bloco com o oráculo em minutos e lá vai você. Podemos fazer com muita facilidade. E o que você também encontrará é que assim que você tiver as receitas feitas uma vez, você pode ver que elas também estão disponíveis aqui nos livros de receitas reais. Então, isso é muito legal. Vamos ver se consigo sentir o cheiro do roubo, contá-los também aqui. E é claro que posso, e deve funcionar no forno normal ou no alto-forno também. Agora, sim, este realmente é definitivamente mais rápido, então eles vão facilmente o suficiente. E você já viu que eu também posso depois do contrário. Então, assim também funciona. Isso é muito legal se eu mesmo disser isso. Agora, é claro, todos os blocos que temos, pode haver mais receitas faltando. Na verdade, vamos ter aqueles na próxima tarefa, que será depois da próxima palestra, na verdade, onde você basicamente precisa adicionar o resto das receitas aqui. E esses, é claro , também estarão disponíveis. Portanto, não se preocupe lá. E é claro que você sempre tem acesso às receitas aqui. Então, em teoria, esse deve ser um exercício muito, bastante simples. Mas, por enquanto, é isso para esta palestra aqui. Espero que você tenha achado útil e aprendido algo novo se ele o fez. E te vejo na próxima palestra. Então, sim. 45. (Noções básicas para blocos personalizados com as tabulações de loots: Ou eu dou as boas-vindas de volta ao curso de tecido para 118. E nesta palestra, vamos olhar para tabelas de perda personalizadas , embora nossas tabelas de rotas personalizadas, bem, essas basicamente definem as coisas que caem de um bloco quando você o mina. Então, temos em nossos blocos, o Oracle pode bloquear e o OK orbital. E se você espero ter feito a primeira tarefa, então você também terá a ardósia profunda ou mais e a linha ou uma coluna ou bloco. Agora vamos implementar gotas para o bloco e o, ou, é claro, é especial aqui porque haverá algumas diferenças se você tem ou não uma ferramenta que realmente tem toque celular nele. E se for esse o caso, é claro que o real ou o bloco cai. Caso contrário, o cru ou um cálcio cairá. Embora haja algumas coisas que precisamos. Mais uma vez, em nossa pasta de dados, na pasta do curso MC, clique com o botão direito do mouse em novo diretório chamado tabelas de sublinhado de saque. Mais uma vez, muito importante que isso seja escrito exatamente assim. Em seguida, dentro de lá em um novo diretório chamado blocos. Mas vou fazer um novo arquivo aqui chamado Oracle vem sublinhado bloco ponto-ponto ponto JSON. Agora, o que é muito importante é que esse nome aqui tenha que corresponder ao nome dado aqui. Mas isso é diferente das receitas porque as receitas não são realmente dependentes de uma coisa em particular. Conseguimos definir o resultado no lado dele, enquanto que desta vez nas tabelas luge, o nome do arquivo mais uma vez tem que corresponder ao nome dado aqui. Muito importante, certo? Nós só vamos passar, então vamos ter um tipo. E isso vai ser o bloco de dois pontos do Minecraft porque é claro que esta é uma tabela de saque de blocos. Então vamos ter um testamento. E esta é uma lista. E então basicamente um colchetes encaracolados aqui novamente, papéis, papéis um. E então temos algumas entradas aqui, que é outra lista. E lá dentro, teremos um tipo que é itens do Minecraft. Então, queremos soltar um item aqui. O nome desse item é dois pontos do curso MC ou um bloco de sublinhado de Malcolm, certo? Então isso pode parecer muito louco para você e isso é absolutamente bom. Porque, no geral, a essência geral das tabelas de luge é que elas podem ser bastante complicadas. Este é definitivamente um exemplo de um muito, digamos fácil ou símbolo 1. No entanto, eles definitivamente podem ficar muito mais complicados. Por exemplo, o antigo, eu realmente vou copiar isso aqui. Então, recapitulá-los ou, e você pode ver que isso é um pouco mais complicado como você pode ver claramente, que você pode ver que, embora tenhamos apenas uma entrada, isso agora é de alternativas de tipo, o que significa que basicamente, bem, há duas alternativas. Ou temos um item que, se uma determinada condição for atendida, vamos escolher essa. E, caso contrário, temos apenas um item com um valor específico aqui. Essas tabelas lascivas podem ficar muito complicadas, muito rápidas, como você pode ver claramente. E a ideia geral é que, bem, há um bom recurso. Na verdade, havia dois bons recursos que eu posso recomendar. Um dos recursos é a entrada do Wiki aqui. Portanto, esta é a entrada da tabela de saque do Minecraft Wiki. Eu recomendo dar uma olhada nisso porque você pode basicamente olhar para todas as coisas diferentes que estão lá. Então, é basicamente assim que isso é descrito. Agora, no geral, isso é um pouco complicado de ler pela primeira vez, mas eu recomendo se você realmente quer tabelas de rotas absolutamente personalizadas, você terá que dar uma olhada nisso e só precisa dê uma olhada e passe por isso basicamente, então há outra coisa e esse é o gerador de tabelas de saque por um míssil GitHub IO. Isso é incrivelmente útil e você pode basicamente escolher tudo o que quiser, certo? Então você pode dizer, eu queria pedra para cair somente se houver alguma coisa específica. Por exemplo, você pode ter uma chance aleatória aqui. Mais uma vez, verificação de localização, até mesmo ferramenta de correspondência. Há muitas coisas que você pode fazer aqui, e eu recomendo muito quando você olha para este link também, gerando algumas coisas, certifique-se de que você tem 11, 18 acima aqui porque há diferenças entre a versão às vezes. Agora, se você não precisar de nada que seja, digamos, fora do reino da baunilha, então você também pode, é claro, ir para as bibliotecas externas aqui embaixo, para este aqui mesmo, net Minecraft, projeto minecraft em, e assim por diante e assim por diante na pasta de dados, tabelas de saque Minecraft. E então, basicamente, dê uma olhada em todas as tabelas de luge que os blocos normais também têm. Por exemplo, quero dizer, o que poderia ser? O baú não é realmente interessante porque a queda do peito foi manipulada de forma diferente nesse caso. Mas onde mais temos? Quero dizer, o que pode ser interessante? Você pode, a grama pode ser interessante, certo? O bloco de grama , na verdade, aqui. Mais uma vez, temos alternativas, certo? Se você tiver um toque de seda, você obtém o bloco de grama, caso contrário você obtém sujeira. Então eu recomendo mais uma vez, se houver alguma coisa que já existe na baunilha, apenas dar uma olhada nas bibliotecas externas vai tornar sua vida mais fácil. Mas apenas adicioná-los para perder tabelas na verdade não é tudo o que precisamos fazer agora isso é muito importante. Não pule esta etapa em nenhuma circunstância. Caso contrário, não funcionará, certo? Então, na verdade, precisamos adicionar algumas tags também. Ainda não falamos sobre tags, mas vamos muito em breve. No entanto, por enquanto, podemos pensar neles como uma espécie de lista de itens, blocos ou o que podemos pensar que tem um propósito comum ou é agrupado de alguma forma. Então, dentro da nossa pasta de dados, vamos clicar com o botão direito do mouse em novo diretório chamado Minecraft. Agora você já deve ter ouvido falar disso antes. Agora, dentro de lá, vamos criar um novo diretório chamado tags. E então, dentro de lá, vamos criar um novo diretório chamado blocos. E então o último, mas não menos importante em termos deles, também precisaremos de um novo diretório chamado mineable. Mineable, na verdade, eles atrás e agora eu realmente vou copiar sobre as tags ou mineráveis aqui. E vou explicar em apenas um momento, também precisamos de três tags ou blocos. Isso é claro, tudo disponível para você no repositório do GitHub ou em um indivíduo também. E isso também pode ser encontrado aqui novamente nas bibliotecas externas, diretamente na pasta de dados, vamos para blocos de tags, você pode ver mineráveis. Há exatamente esses quatro arquivos JSON também. E então, na pasta box aqui, os outros quatro são, os outros três na verdade também estão disponíveis. Então, o que isso significa? Bem, temos que ser capazes de definir a incapacidade ou nossos blocos. Isso significa que, se você puder dar uma olhada nessa taxa, eu já adicionei o bloco de comorbidade oracle, o recalc e o bloco bruto e a ardósia profunda ou uma telecom ou à picareta adjacente. Isso significa que isso é, esses blocos são mináveis com atos de porco. Isso deve fazer sentido, isso deve ser bastante sensato aqui. Nada muito louco. Agora, o mesmo vale para as necessidades Diamond precisa de minério de ferro, precisa de ferramenta de pedra. Basicamente, podemos definir o nível de ferramenta que ela precisa para minerar isso. Então, a ferramenta de ferro aqui, eu realmente defini basicamente como precisando de ferramentas de ferro. Pelo menos cada um desses blocos não seria minável apenas com uma ferramenta de pedra. Então, isso é realmente muito interessante. Então, ele precisa de minério de ferro, e isso é basicamente o que você precisa para adicionar coisas adicionais aqui. Você pode literalmente adicionar um novo aqui, certo? Então, não conheço o teste do curso MC. E então, basicamente , certifique-se de que temos uma vírgula aqui também. E isso é praticamente isso. Então isso é tudo o que você precisa fazer. Certifique-se de que todos os blocos definidos dentro desses arquivos de tag sejam realmente válidos. Então você não pode exatamente como eu fiz o teste. Se isso não existir, você pode encontrar um erro. Então isso é muito importante, mas você precisará dessas tags e precisará definir tudo dentro do seu para que eles soltem seu saque basicamente, isso é uma coisa muito importante. Eu recomendo que você faça isso. E mais uma vez, é claro que tudo isso está disponível para você. Caso contrário, fazer esses arquivos realmente não é tão complicado como você pode ver claramente, eles não são tão loucos. Mas, por enquanto, vamos ver se funciona ou mais rápido no Minecraft. Então, vamos tentar minerar isso com a picareta de pedra e você pode ver que já leva muito tempo. E isso, é, isso não deve produzir um resultado. E, claro, isso não acontece. Quando você usa a picareta de ferro, ela funciona e também cai aqui. Mas vamos tentar a mesma coisa aqui. E você pode ver que nosso bruto ou uma telecom cai. E também podemos tentar isso com o nether write X, por exemplo. Quero dizer, isso está demorando tanto. Esta é uma indicação muito boa, geralmente é claro, de que isso não funciona, certo? E então o diamante, é claro, também funciona porque funciona, bem, basicamente ferro ou acima, essa é a ideia geral aqui. Então isso é muito legal. E então, apenas para completar, uma picareta de diamante com toque de seda. E você pode ver que agora ele realmente derruba o Oracle CRM ou aqui também, certo? Mais uma última coisa que eu queria mencionar é que se você não chamou a ferramenta The require aqui, isso também pode não funcionar tão bem. Portanto, esse é outro pré-requisito que é muito importante. Eu só queria mencionar isso porque não tenho 100% de certeza se mencionei ou não isso no tutorial de bloco também, mas isso é definitivamente necessário também para cada um dos seus blocos. Então isso é muito importante. Mas, de outra forma, isso seria para esta palestra aqui. Espero que você tenha achado útil e tenha aprendido algo novo. Vejo você na próxima palestra. Então, sim. 46. ASfixameDE6: receitas personalizadas e tabelas de loots: Tudo bem, bem-vindo à segunda tarefa aqui para a parte Minecraft deste curso. E nesta tarefa, você deve fazer as seguintes coisas. Agora, é claro que você tem as tarefas reais espero na sua frente também. Mas a ideia é que você deve adicionar tabelas de saque tanto para o bloco, a ardósia profunda ou um falcão ou, e para a linha ou uma coluna ou bloco. Esses devem ser bastante simples, pois vimos dois exemplos que são quase exatamente os mesmos. Bem, isso deve ser, eu acho, bastante simples. E então, quando se trata das receitas, eu realmente quero que você faça algumas coisas. Quero que você adicione o jateamento e a receita de fundição para os blocos ou. Isso é o número um. E número dois, eu quero que você seja capaz, eu quero que você seja capaz de obter pepitas de um lingote e, em seguida, também criar pepitas de volta em um lingote também. E então, por último, mas não menos importante para as receitas, quero que você faça qualquer receita usando alguns itens de baunilha. Pode ser qualquer coisa que sua mente possa basicamente sonhar , você sabe, obter 64 diamantes por uns 2 terceiros blocos ou algo assim poderia ser qualquer coisa, desde que pelo menos leve itens do Minecraft na receita, estou bem com isso. Isso seria basicamente isso. Se alguma coisa não estiver clara, você deve, é claro, ter as tarefas disponíveis para você basicamente verificar novamente, mas boa sorte e se divertir na tarefa. 47. SOLUÇÃO 6: Receitas e tabelas de loot: Tudo bem, vamos dar uma olhada na solução para a tarefa aqui. Claro, o bloco de cálcio do roubo foi bastante simples. Espero que seja praticamente o mesmo que o normal ou recalc. Desbloqueie. Isso aqui. Soltar o disco de rock pode bloquear isso espero, quando muito facilmente aqui. E então a ardósia div ou um cálcio ou é quase o mesmo que o normal também. Estamos aqui embaixo, ele derruba o cálcio Rory aqui em cima. Na verdade, ele derruba a ardósia profunda ou uma chita ou essa é apenas uma pequena mudança que você precisaria fazer no oráculo ou na tabela de saque, Jason. Então, espero que esses não fossem muito loucos. Mas vamos dar uma olhada nas duas receitas de jateamento. Claro, você é apenas o ingrediente realmente precisa mudar. Então, o resultado é claro que ainda vai ser lingotes. E então, para a fundição a amina é praticamente a mesma. A única coisa que aqui, as mudanças para o jateamento para a fundição é o tempo de cozimento. E então aqui mais uma vez, os itens Isso é praticamente tudo o que há para isso, as pepitas podem ser um pouco mais interessantes porque é claro que uma delas é uma receita de forma e a outra é uma receita sem forma que retorna uma contagem nove também. Então isso pode ter sido muito interessante aqui. E, claro, não há solução para o seu personalizado. Contanto que funcione, está tudo bem. Você pode, claro, sempre dar uma olhada na pilha de diamantes de nether star aqui, o que é uma ideia ou um exemplo de uma coisa possível que você poderia fazer também, mas isso será isso para esta solução aqui. Espero que você tenha achado útil e tenha aprendido algo novo. Vejo você na próxima palestra. Então, sim. 48. (Noções de bastid) Criação um item avançado: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos olhar para um item avançado. Então, o que é um item avançado? Onde eu chamaria itens avançados são itens que têm sua própria classe de itens. Então, se entrarmos na nossa classe mais Adams, podemos ver que nem o lingote do norte nem a linha ou um cálcio têm suas próprias classes porque são todos itens novos aqui. Agora isso vai mudar. Em vez de nosso pacote de itens, vamos clicar com o botão direito do mouse em novo pacote chamado personalizado. E então, dentro de lá, vamos clicar com o botão direito do mouse em nova classe Java, e este será o item da haste de desvio. Agora algumas coisas para mencionar aqui. Normalmente, você quer terminar isso com o item de nome aqui, seja qual for o nome do seu item, e depois terminou com o item, apenas para que você possa ver facilmente que este é realmente um item. Isso agora vai estender a classe do item. Então, vamos escolher este aqui. E então vamos passar o mouse sobre esse construtor credo combinando super. E agora estamos realmente muito felizes com a forma como o SR e fora. Agora já podemos usar essa classe. Claro, no entanto, queremos adicionar algumas funcionalidades personalizadas a ele. Ou seja, quando clico com o botão direito do mouse com este item, basicamente quero verificar cada bloco abaixo de um bloco basicamente quero verificar cada bloco abaixo de um bloco que acabei de clicar e ver se há objetos de valor lá. Então, como vamos fazer isso? Bem, vamos primeiro, clique no botão do meio do mouse na classe do item, e aqui você encontrará um monte de coisas que você pode substituir. Portanto, este é o número um em recurso. Mais uma vez, se você não estiver familiarizado com o Java, para dar outra olhada na introdução do Java, eu recomendo muito porque agora como estamos entrando em um território cada vez mais avançado, basicamente assumirei cada vez mais que você simplesmente sabe o que é herança, pelo menos em um conceito básico e uma substituição de um método. Você simplesmente não está sentado lá e você está tipo, eu não sei o que isso significa, mas você pelo menos tem uma ideia geral disso. Mas podemos substituir métodos e basicamente criar nossa própria funcionalidade para eles. Então, como você pode ver, existem muitos métodos que poderíamos substituir em teoria. E essa também é uma das coisas legais. Então, o que posso fazer é começar a digitar substituir. E você também receberá basicamente todas as sugestões que são possíveis para nós substituir. Agora há um monte deles. Portanto, os EUA, por exemplo, são o método do botão direito do mouse sem clicar com o botão direito do mouse no bloco. Há algo como a dica de ferramenta de anexação, que como uma dica de ferramenta que também veremos em uma palestra futura também, o tick de inventário, que é executado a cada tick, Este item está em seu inventário carrapato de uso. Na verdade, não tenho 100% de certeza, mas acho que isso é executado toda vez que você tem isso em sua mão principal e você isso em sua mão principal clica com o botão direito do mouse em algo assim. Embora também se nós apenas importássemos isso e eu clique no botão do meio do mouse sobre o Super aqui. Às vezes, eles têm alguma indicação acima deles, então alguns comentários. Isso nem sempre é o caso, mas, oh, bem, mas o que vamos usar é que vamos usar os EUA em um método de bloco. Como você pode ver, vamos apenas digitar isso e clicar duas vezes e, em seguida, ele gerará isso. A substituição de adição aqui é uma anotação e isso não é estritamente necessário. No entanto, isso lhe dá em glândulas normais através desta classe a ideia de que, oh, ok, então este é um método substituído. É por isso que isso está aqui. Então, isso é realmente muito importante. E agora vem o código personalizado que vamos escrever basicamente. E isso, mais uma vez, tem muito a ver com o conhecimento Java basicamente. E vamos começar, antes de tudo, verificando se estamos ou não no cliente ou no servidor. Porque neste caso real, o que realmente queremos fazer é que queríamos fazer apenas algo aqui no cliente. Esse nem sempre é o caso. Normalmente, queremos começar a acontecer no servidor, mas isso às vezes é o problema. Vamos entrar em um pouco mais de detalhes, no entanto, não muito. Por enquanto, o que temos é que temos esse contexto aqui, tem um monte de coisas. Então, por exemplo, o mundo, que é exatamente o que precisamos, o preenchimento automático que com tab. E então vamos dizer que é cliente. E eu costumo assumir o método. Isso realmente não importa se você toma ou não o método ou o campo está totalmente bom. E agora o que sabemos é que, se estivermos dentro dessa declaração if, estamos definitivamente no cliente, então isso é muito bom. Agora o que queremos é que queremos a posição do bloco que foi clicado e obtemos isso como uma pausa de bloco. E este é apenas o elevador de posição. E isso é igual ao caminho bloqueado do ponto de contexto como você pode ver. E então queremos que o jogador, essa camada de entidade do jogador, que é igual ao ponto de contexto, obtenha o jogador aqui. E então também podemos ter apenas um booleano, que será o bloco encontrado. Este só verifica se encontramos ou não o bloco. Vamos fazer isso em apenas um momento. Mas a ideia é mais uma vez, quando eu clico com o botão direito do mouse em um bloco , eu queria verificar todos os blocos que estão abaixo desse bloco, indo até a base. E basicamente verificando, ei, isso encontrou um item valioso? Esses itens valiosos que naturalmente, vamos definir em apenas um momento. Mas, por enquanto, vamos apenas fazer um loop for. Então, para int I igual a 0, eu sou menor ou igual que a posição clicada. Isso fica, por que realmente pegar você? E então eu mais, mais. E então o que queremos fazer é que queremos fazer algo muito interessante. Queremos obter o bloco abaixo. Então, bloqueie, o bloco, bloqueie abaixo. E esse será o mundo de ponto ponto-ponto de contexto. Mas para obter o estado de bloqueio na posição, cliquei nisso e depois passando no olho. E então aqui vamos pegar o bloco. Então, e então, é claro, também importar essa classe. Então agora isso pode ser muito louco. Bem, vamos pensar sobre isso. Primeiro de tudo, estamos apenas recebendo o mundo que deveria ser muito louco. E então estamos recebendo um determinado estado de bloco. Agora ainda não falamos sobre blocos e contra estados de bloco. No entanto, a essência geral é que os estados de bloco são a representação de blocos dentro do mundo. Embora um bloco seja como uma ideia perfeita de um bloco, o estado do bloco é a coisa que realmente existe dentro do mundo que tem coordenadas e tem propriedades diferentes, por exemplo. Então, isso obtém o estado do bloco nessa posição específica. E então, é claro, quando tivermos a posição em que clicamos, estamos apenas descendo por eu, o que na primeira vez não é nada. E então, à medida que aumentamos i, à medida que o loop for continua, descemos cada vez mais. Então, esse é basicamente sempre o bloco abaixo. E então o que podemos fazer é verificar, ei, este é um livro valioso? E para isso, na verdade, vamos criar um novo método para isso. Porque isso realmente faz, porque isso realmente torna um pouco mais fácil. Então, vamos dizer que booleano privado é um bloqueio valioso. E então vamos passar no quarteirão aqui. E então podemos basicamente retornar um booleano. E o que vamos fazer é dizer bloco é igual a blocos dot col, ou por exemplo, carvão ou LOC é igual a bloqueios de ponto cobre, ou vamos apenas adicionar mais alguns. Então bloco é igual a diamante Langston ou um Último, mas não menos importante, vamos também adicionar o minério de ferro também. Então bloqueia o ferro ou o ego. E agora esse método aqui, se estiver frio e um bloco for passado, se for um desses quatro blocos, ele retornará verdadeiro. E o que vamos fazer é dizer se é um bloco valioso aqui, e depois passar no bloco abaixo, certo? Então o que queremos fazer é dizer que o que queremos fazer é que queremos produzir as coordenadas reais desse bloco. Também queremos transformar o bloco encontrado em verdadeiro. E então, na verdade, o que queremos fazer é sair desse for-loop porque encontramos o primeiro bloco valioso e isso é basicamente feito. Então essa é a ideia geral. Agora, a primeira coisa que queremos fazer aqui, como eu disse, é a saída das coordenadas. Agora, para isso, vamos fazer um novo método também. Então, a ideia é que vamos antes de tudo escrever isso e depois pegar a coisa escrita e fazer um método com isso. Então podemos dizer que o jogador SendMessage. Esta é, na verdade, uma maneira muito interessante de fazer isso. Então vamos dizer Novo texto literal. No entanto, um texto literal aqui. Isso é basicamente uma string. Podemos descobrir onde podemos colocar as coisas. Podemos dizer algo como encontrado. E então podemos dizer bloco, bloquear abaixo disso como item que recebe o nome, que obtém string. Então este é muito louco, mas isso basicamente recebe o nome real do bloco. E então podemos dizer em, e depois na posição particular. Para a posição particular vai ser algo lago. Abra parênteses e depois passe para a posição clicada no ponto GetX. Mais vírgula. Posição clicada. Por quê? Em seguida, mais uma vez vírgula, depois mais posição clicou ponto get z ou z. e depois fechando o parêntese na string aqui. E depois do componente de string literal, queremos um false aqui está a ActionBar. Agora você pode ver que isso é muito pesado Rayleigh. Então, isso é como, antes de tudo, não parece bom. É muito pesado. Então, o que podemos fazer é selecionar tudo esse método de extração de refatoração com o botão direito do mouse. E vamos fazer isso. E você pode ver que agora nós realmente extraímos tudo isso. E tem, bem basicamente, apenas fez todo o trabalho para nós. Agora só temos que definir um nome. Vamos definir esse nome para produzir ordenadas valiosas aqui. E então, dentro do método real, o que eu quero fazer é talvez mudar os nomes aqui para que eu possa clicar em Control and Shift fx, algo como, por exemplo, os caminhos de blocos aqui. E então o resto, acho que está definido. Então isso, é claro, poderíamos mudar isso ainda mais, certo? Mas, por enquanto, acho que isso vai ficar bem. Isso simplesmente produzirá as coordenadas de tudo o que lhe dermos. Isso parece muito bom. Agora, o que vamos chegar aqui é que vamos ter um pouco uma discussão porque ei, jogador pode ser nulo. Então você pode ver o jogador de argumentos pode ser nulo para afirmar. Também podemos mudar em torno de um monte de coisas. No momento. Eu não me preocuparia com isso na verdade. E há mais uma coisa com isso que queremos fazer, é claro, e isso é, se o bloco não foi encontrado, certo, então queremos produzir algo também. Mas, por exemplo, algo como o jogador ponto-ponto-ponto SendMessage. E então vamos fazer é , na verdade, vamos fazer deste o componente de texto traduzível por radar. E então vamos definir a palavra de ação falsa também. Então, geralmente eu recomendo usar os componentes de textos legíveis de características aqui sempre que possível. Então, você também pode usar um componente de texto traduzível aqui. No entanto, isso não torna isso um pouco mais difícil de fazer corretamente, mas você pode fazê-lo. Eu recomendo usar isso sempre que possível, onde basicamente definimos uma chave que podemos colocar no E e nos sublinhar o arquivo adjacente. Então, para nós, vou fazer isso como este item, curso MC. Então, vou ficar com isso. E então vamos pegar o nome da haste de dowsing do item, sem saber objetos de valor sublinhados. Permite que o nome que vamos definir em apenas um momento no final nos sublinha arquivo adjacente, mas será isso. E então, fora dessa declaração if, nós realmente vamos dizer contextos que obtêm pilha. Portanto, este é o, a pilha de itens real, o item que temos em nosso inventário, dano de ponto. Queremos danificar isso pelo valor um. Vamos dizer contextos, ponto obter jogador. E então o último parâmetro será um consumidor. Acredito que isso vai ser um jogador exatamente consumidor de entidades de jogadores. Então, vamos chamar esse jogador. E então vamos dizer sind de pontos do jogador, ferramenta sind e status de tijolos de ferramentas com o ponto do jogador obter cabeça ativa. Mas isso também pode ser muito louco para você, mas não se preocupe. Bem, isso tudo faz é simplesmente dizer, ei, o item real com o qual acabamos de clicar com o botão direito, vamos danificar pelo valor um. Então, isso diminuirá a durabilidade disso. E então nós apenas passamos pelo jogador, tudo bem. Então a última coisa aqui é exatamente o tipo de animação de quebra de ferramenta que ela deve enviar quando o dano dessa pilha de itens realmente resultará na quebra do item. Agora. E isso é basicamente toda a turma aqui. No entanto, é muito louco. E mais uma vez, sem algum plano de fundo Java provavelmente será muito complexo. Eu recomendo que você tenha isso, é claro, tudo disponível para você no repositório do GitHub ou em um indivíduo tão bem para dar uma olhada nele, experimentá-lo, você sabe, para colocá-lo em sua própria matemática e apenas experimente um pouco. Apenas mude um monte de coisas, veja o que pode acontecer. E não vamos esquecer de adicionar isso ao nosso arquivo E e tradução aqui. Eu só vou adicionar isso na parte inferior. Isso realmente vai dizer o seguinte. Isso simplesmente dirá, sem objetos de valor. Então isso é tudo o que este diz aqui. E agora o melhor é que se tivéssemos, por exemplo, outro arquivo de idioma, poderíamos traduzi-lo para um idioma diferente. É por isso que geralmente o texto traduzível é o que você quer usar. Portanto, tenha isso em mente. Agora, apenas ter adicionado essa aula, claro, não é suficiente. Também temos que registrá-lo em nossa classe de itens mod, e vamos fazer isso também. Então, vamos apenas copiar sobre o resultado do rock. Como eu disse, geralmente fico feliz com itens antigos porque eles são quase sempre os mesmos. Esta é a vara de dowsing. E então aqui também, é claro, vara de dowsing. E em vez de novo item, isso é muito importante. Este é um novo item de haste de dowsing. Então, essa é a principal coisa que precisamos fazer aqui. Tão importante que você faça isso. Também queremos definir o dano máximo aqui. Então, o dano máximo será, digamos 32. Assim, podemos usar isso 32 vezes antes que a haste de dowsing real se quebre, porque claro que estamos danificando-a aqui dentro do método de uso no bloco. Portanto, isso deve estar totalmente bem agora também, vamos adicionar isso ao sublinhado não usar o arquivo JSON. Então, dowsing sublinhado haste e, em seguida, aqui também, é claro, dowsing, vara de dowsing sem o sublinhado. E, por último, mas não menos importante, precisamos do modelo do item, bem como da textura do item. Então, vamos apenas copiar sobre o papel ou o cálcio para esta haste de dowsing e , em seguida, sua vara de dowsing. Mas, mais uma vez, essa é a maneira normal que eu faço o usuário, geralmente adicionar itens quando já tenho alguns modelos existentes aqui é muito mais fácil do que qualquer outra coisa. Escrever isso é absolutamente louco. E se houver erros de digitação no seu, você pode, é claro, sempre dar uma olhada no repositório do GitHub ou nos juristas também. E vamos copiar sobre a haste de dowsing também. Lá vai você. Claro, também disponível. Por favor, note o aviso de créditos, que você segue a licença lá. Então, no geral, isso é realmente totalmente bom. E eu diria que agora estamos prontos. Dê uma olhada se funcionou ou não ou nos encontra de volta no Minecraft que os fãs podem ver que a haste de dowsing foi adicionada com sucesso ao jogo. E o que você também encontrará é que eu realmente não consigo empilhar. Isso é exatamente certo porque, claro , adicionamos o dano máximo. E se você adicionar dano máximo, então, basicamente, o empilhamento não funcionará mais. Agora vamos apenas ir aqui e vamos apenas clicar com o botão direito do mouse e você pode ver a parte superior ou achada lá uma hora para seus, uh, não, nenhum valor encontrado aqui. E você pode ver que a durabilidade real diminui à medida que continuo a clicar aqui. Vamos ver, talvez possamos encontrar um pouco de diamante antes que ele quebre. Isso não seria muito louco? Infelizmente, não o fizemos. Mas lá vai você. Agora em quebrou e agora temos as outras rotas, é claro que também estão disponíveis. Então, podemos passar por isso e ver se podemos encontrar algo abaixo aqui. Mas essa é praticamente a ideia geral da vara de dowsing, certo? Mas isso já seria para esta palestra aqui. Espero que você tenha achado útil e tenha aprendido algo novo. Se houver alguma dúvida para o item avançado, não hesite em perguntar. Caso contrário, verei você na próxima palestra. Então, sim. 49. (Noções de (Basics) Criação um bloqueio avançado: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra vamos fazer um bloco avançado. Assim como vimos a última palestra com o item avançado, agora vamos fazer um bloco avançado para em nosso pacote de blocos , clique com o botão direito do mouse em novo pacote chamado Personalizado. E então, dentro de lá, vamos criar uma nova classe Java chamada bloco SPD. Agora isso estenderá a classe de blocos, certificando-se de que escolhemos o bloco correto, o bloco de Minecraft net, bloco e passe o mouse sobre esse construtor creed combinando super. E assim como antes de podermos o botão do meio do mouse, clique na classe de bloco e basicamente dê uma olhada em todos os métodos possíveis que podemos substituir em nossa classe de blocos personalizados. E como você pode ver, há toneladas de coisas que poderíamos substituir aqui. E também posso colocar a palavra substituir. Qualquer um verá que há um monte de coisas aqui. Agora, uma coisa que eu queria mencionar é que as coisas que têm esse tachado que estão basicamente obsoletas, certo? Então, se eu der uma olhada nisso, você pode ver que este aqui está obsoleto. Geralmente. O que isso realmente significa é que você pode simplesmente substituir esses métodos, no entanto, você não deve chamá-los. Então essa é a ideia geral no bloco e na classe do item, coisas que estão obsoletas. Não quero dizer que eles estão obsoletos e não estão disponíveis em versões futuras. Nesse caso, na verdade, é sobre eles não serem pegos. E isso inclui o super, por exemplo. Mas vamos ver isso em apenas um momento. O que o bloco SPD vai fazer? Bem, o bloco SPD terá duas funcionalidades diferentes. Número um, se você pisar nele, você obtém o efeito de velocidade adicionado ao seu personagem. E então, apenas para que você tenha visto, a funcionalidade do botão direito do mouse, quando você clica com o botão direito do mouse no bloco, vamos apenas enviar uma mensagem para o bate-papo. Isso vai ser isso. Então, vamos antes de tudo fazer o método de trampolim que é chamado, pisou. E você pode ver lá você vai. E o que faremos aqui é realmente muito simples. Primeiro, vamos verificar se o mundo é cliente e são muito, muito importantes. Vamos adicionar um ponto de exclamação na frente dele para dizer, não queremos estar no cliente, queremos estar no servidor. Como quando você adiciona, por exemplo, um efeito de status, você só pode fazer isso no servidor. Em seguida, vamos verificar se a entidade que pisou nessa é uma instância de entidade viva, porque somente entidades vivas podem ter efeitos de status aplicados a elas. E então podemos, sem problemas, obter a entidade viva aqui e apenas lançar a entidade para ela. Então, a entidade dot cast. E então, geralmente, ele se enche de entidade viva já está aqui. E podemos pegar a entidade viva e podemos chamar o método de efeito Adicionar status. E o que podemos fazer é criar uma nova instância de efeito de status, como você pode ver. E isso assume o efeito de status, ou seja, efeitos que velocidade e duração para 100. A duração aqui é, claro, em carrapatos, portanto, isso seria de dez segundos. É claro que isso também mudaria. Isso é claro que depende de você. Mas esse é, na verdade, todo o método que precisamos para o efeito passo na velocidade aqui. É literalmente isso. Isso é tudo o que precisamos fazer. Mas agora vamos realmente dar uma olhada funcionalidade do botão direito do mouse também. E esse é o método de uso do proprietário. E você pode ver que é um daqueles que tem o tachado que está obsoleto. Então, vamos nos certificar de que não chamamos o super-herói. E vamos dizer resultados da ação. Esse sucesso, vai ficar bem. Bem aqui. Lá vai você. E então aqui, o que vamos fazer é dizer se o mundo, isso é cliente, o ego. E então dentro daqui vamos dizer que a mão é igual e aquela mão principal. E então faremos outra coisa aqui. Então, o que, o que está acontecendo? Por que estou fazendo isso? Bem, vamos copiar um pequeno comentário para o qual eu já preparei. A ideia é que o método não utilizado seja chamado por tempos. Quando você clica com o botão direito do mouse no bloco, Ele é chamado duas vezes no servidor, um para cada mão e, seguida, duas vezes no cliente para cada extremidade. Essa é a coisa muito interessante. Então o que vamos fazer é que vamos produzir, é por isso que não o ego, isso vai ficar bem. Mas isso é apenas mais uma vez jogadores e mensagens com um pequeno texto. Isso é algo que já vimos, é claro. E isso é praticamente apenas uma ideia. Eu só queria ter isso aqui também, caso você queira ter uma funcionalidade de clique vermelho do seu bloco, você usará o método não utilizado. E isso é muito importante ter em mente aqui é, por exemplo, se você mudar algo no código, saber que isso realmente acontece duas vezes para cada mão é realmente muito importante. Então, por favor, tenha isso em mente. E isso é praticamente com a classe de bloco SPD feita. Não precisamos fazer mais nada aqui. A próxima coisa que precisamos fazer é entrar em nossa classe de blocos de modelo e, claro, fazer o bloco real e registrá-lo. Então, vamos apenas copiar do bloco cru ou de cálcio. E vamos fazer esse bloco de sublinhado rápido e fácil aqui, e, claro, aqui também, rápido bloco de sublinhado. E então aqui, este é agora o bloco SPD, o novo rock rápido aqui. Muito importante mais uma vez, que nos certificamos de que isso está correto e não apenas um bloco normal. Muito, muito importante. E, caso contrário, só precisamos adicionar os arquivos JSON. E eles estão, naturalmente, disponíveis para você no repositório do GitHub ou em indivíduos também. Eu só vou copiar isso porque eles são muito normais todos os dias. Arquivos Jason, certo? Não há nada de interessante realmente acontecendo aqui. O modelo de bloco parece exatamente a mesma ordem As regras Brockman que vimos que o modelo do item é praticamente o mesmo que qualquer outro modelo de item de bloco aqui. E então também copiaremos sobre a textura, que, naturalmente, também está disponível para você, não o arquivo de créditos para a licença específica para essas texturas, mas, de outra forma, é isso. Vamos também adicionar a tradução. Claro, não vamos esquecer isso. Vamos apenas copiar este aqui e vamos dizer que é o bloco. E então aqui a mesma coisa. Bloqueio rápido, o ego. E agora tudo foi configurado. Então, vamos ver se funciona. Ou fundos de volta e microfinanças podem ver que o bloco SPD foi adicionado ao jogo e eu posso configurá-lo para que a textura seja normal. Então, como eu disse, certo? Mesmo que esse tipo de pareça um pouco ao lado de onde mudaria a textura. Na verdade, não acontece. Isso é algo que vamos ver em uma palestra futura, na verdade. E vamos apenas, vamos apenas, por uma questão de discussão, colocá-lo para baixo para que a flecha olhe na direção em que vamos nos mover apenas para que seja um pouco melhor. E assim que eu entrar no topo do bloco, você pode ver que eu tenho o efeito de velocidade aplicado a mim, e isso agora é por dez segundos. Agora, se eu continuar de pé sobre isso, veja que ele continua aplicando os fatos para mim e redefinindo-os para 10 segundos. E então eu posso basicamente correr com um efeito de velocidade. E isso é praticamente isso, certo? Na verdade, temos que retornar aqui é um resultado real. E, em seguida, a chamada real por duas vezes para o servidor e o cliente realmente funcionará. Então isso é apenas uma pequena diferença lá. Então, vamos ver se isso funciona também. Tudo bem, então agora, se clicarmos com o botão direito do mouse, você pode ver que recebo uma mensagem no bate-papo tanto para a mão principal quanto para a ofensa. E também ainda podemos colocar blocos ao lado dele. Isso também é uma coisa muito interessante. Eu recomendo brincar com os resultados reais que você retorna. Porque, dependendo do que você retornar, eles terão um tipo diferente de interação ao clicar com o botão direito do mouse. Então você pode ver quando eu coloco um bloco para baixo, clicando nesse bloco, você pode ver que ele realmente só é chamado para a mão principal. Enquanto quando eu clico sem nada na minha mão principal , ele é chamado para ambos. Dê uma olhada no que você pode mudar mudando o que você retorna nesse método, certo? Mas isso já é para esta palestra aqui. Espero que você tenha achado isso útil e ele aprenda que o novo, se ele o fez, eu apreciaria muito uma crítica sua. Caso contrário, te vejo na próxima palestra. Então, sim. 50. (Noções de (Basics) Criação um item de alimentos personalizados: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos adicionar um item alimentar personalizado ao Minecraft. Agora esse é, na verdade, um processo muito simples e nem precisaremos de uma classe de item personalizada para isso. Por cima, vamos criar uma nova classe personalizada, e isso está em nosso pacote de itens, mouse em nova classe Java. E esta é a classe de componentes alimentares MOD. E isso vai conter todos os nossos componentes alimentares porque basicamente temos que adicionar isso em nosso item. Então, por enquanto, vamos entrar aqui e vamos adicionar isso, por assim dizer componente alimentar estático público chamado nabo. Porque o que vamos adicionar um nabo aqui. E isso é igual a um novo construtor de componentes. Você pode ver bem ali, vou pressionar Tab para preencher isso automaticamente. E então você pode ver que este é um padrão de construtor mais uma vez, para que ele possa adicionar várias coisas diferentes. A primeira coisa que quero fazer é adicionar a fome, embora isso vai restaurar um pedaço de carne em nosso bar de fome. E então o modificador de saturação é basicamente quanta saturação, saturação você tem em segundo plano, por assim dizer. Então temos que terminar isso com uma conta. E então o componente alimentar aqui é construído. Agora, o que você também pode fazer é adicionar um efeito de status aqui, como você pode ver. Então, eu poderia adicionar um efeito de status que essa é exatamente a mesma ideia antes que vimos com o bloco SPD. Então, só temos que passar uma instância de efeito de status. Por exemplo, de efeitos, o status não afeta como uma geração ou algo como 200 leva. E então aqui nós realmente temos que passar muito foi, que é a chance que você tem de obter esse efeito aqui. Então, este é apenas um exemplo aqui. Não vamos mantê-lo assim, mas você já viu. Na verdade, é muito, muito simples. Ou exemplos de baunilha o que você pode fazer é pressionar Shift duas vezes em sucessão rápida e, em seguida, você obtém essa janela de pesquisa para cima. Você pode procurar a classe de componentes de alimentos, verificar isso, incluir itens que não são do projeto e, em seguida, aqui item. Clique aqui e você pode ver todos os componentes alimentares que o Minecraft já possui. E você também pode ver todas as coisas diferentes que estão aqui. Então, na verdade, há como tudo já frente e você pode dar uma olhada em como tudo isso funciona, agora temos dois, nós adicionamos o componente alimentar. Agora precisamos adicionar o item alimentar em nossa classe de itens modelo. O que vou fazer é copiar sobre a linha ou um cálcio. E este vai ser o nabo. E aqui também apareça. E este é um novo item normal, ano completamente normal. E então vamos adicionar depois do grupo, vamos adicionar comida. E este será o modo componentes alimentares que nabo. E isso é praticamente tudo o que precisamos para fazer o produto alimentar. Agora devemos ser capazes de comer isso basicamente quando estamos com fome no jogo. Agora, é claro, ainda precisamos adicionar a tradução aqui no ano sublinhar-nos arquivo JSON, bem como, claro, adicioná-lo a textura e o arquivo JSON do modelo de item. O arquivo JSON do modelo de item é, claro, mais uma vez , apenas um modelo de item normal Jason que aponta para uma textura aqui. E a textura está bem aqui, então não se preocupe. E agora tudo foi adicionado. Então, vamos ver se funciona. Ou fazendas que de volta ao microfinanciamento podem ver que o termo foi adicionado ao jogo, então vamos começar a comê-lo e lá vai você. Ele enche exatamente uma barra de fome. Então, a fome é basicamente um símbolo de encontro ali mesmo. Então, é praticamente isso. E sim, isso é realmente o quão fácil é adicionar um item de comida personalizado ao Minecraft, certo? E já existe isso para esta palestra aqui. Espero que você tenha achado isso útil e ele aprenda sobre o novo, todos os cantos, é claro, disponível no repositório do GitHub ou de um indivíduo também. E eu te vejo na próxima palestra, no entanto. Sim. 51. (Noções de (Basics) Criação um item de combustível personalizado: Tudo bem, vamos continuar com o curso de tecido para 118. E nesta palestra, vamos adicionar um item de combustível acostumado ao Minecraft. Agora, esse também é um processo bastante fácil e direto. Mas vamos entrar na nossa classe mais itens e vamos apenas copiar sobre o nabo aqui. E então esta será a lasca de sublinhado de carvão. E aqui, claro, também, o carvão sublinhado lasca. Então, é apenas uma lasca de carvão. E vamos remover a comida, é claro, porque neste caso, o verso causal não deve ser comestível. E o que o item mais uma vez foi adicionado. Mas agora, é claro, precisamos de alguma forma adicionar a funcionalidade de ser um combustível. E para isso, vamos entrar em nosso pacote de cursos MC, clique com o botão direito do mouse em novo pacote chamado util. Agora isso não é estritamente necessário para criar essa classe. Você também pode simplesmente chamar o método imediatamente em nossa massa mod de curso MC, mas eu gosto de ter tudo separado. Portanto, esta é a classe registries. E lá dentro, vamos criar dois métodos estáticos. O primeiro é um vazio estático público, chamado stuffs de modo de registro. E isso chamará o outro método que será um vazio estático privado ou registrará combustíveis. E toda vez que adicionamos um combustível ao nosso modelo, podemos basicamente chamá-lo aqui. E nós vamos registrar combustíveis no método de material do modo de registro. E então vamos escrever em algo como a linha de impressão do sistema, mas registre-se durante você, ou curso MSE mais curso MC, RID. E então vamos dizer menos registro, exatamente este, que é o registro é igual a você registrará essa instância. E então podemos dizer adicionar pontos do registro. E, em seguida, mais itens pontilham uma tira inteira, depois um valor de 400 estojos. Agora, o cálculo vai da seguinte forma, certo, para 400 é 400 mais uma vez e leva, claro, para um 100 dividido por 20, que é de 20 segundos, este é exatamente 1 quarto de um carvão normal. Então isso é basicamente isso. E então, é claro, precisamos chamar isso no método inicializado também. Então, mais registros que registram coisas do modo. E então, se algo mais acontecer para garantir um registro, então podemos basicamente adicionar isso nos registros modernos também. Então isso é muito legal. E isso é basicamente tudo o que precisamos fazer para tornar a tira de carvão um novo item. Agora, é claro, ainda precisamos adicionar a tradução aqui. Então, vamos copiar isso e chamá-lo, chamar sublinhado sliver. E então, claro, aqui, tira legal. E então, para o item, vou copiar sobre o nabo aqui. Este é o carvão ressalta o fígado. Então aqui o carvão e, claro, o fígado também. Apenas um arquivo de modelo de item normal. E nós vamos apenas copiar a textura aqui também. E agora, na verdade, tudo foi adicionado. Então, vamos ver se funciona ou está e nos encontramos de volta em microeventos podemos ver que a tira de carvão foi adicionada com sucesso ao jogo. E vamos ver. Lá vai você. Podemos até mudar clicando aqui. E assim como especificado, levará 20 segundos para queimar e depois consumir uma nova causa fígado a partir daqui. Isso é muito bom. E é assim que é fácil adicionar um item de combustível personalizado ao Minecraft onde quer que já esteja para esta palestra aqui. Espero que você tenha achado isso útil e ele aprenda sobre o novo, se ele fez ou apreciou muito uma revisão sua. Caso contrário, verei você na próxima palestra. Então, sim. 52. (Noções de ferramentas personalizadas: Ou seja bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos adicionar uma dica de ferramenta personalizada que está dowsing rod item. Então isso basicamente pode ser feito para qualquer item. Então, o que vamos fazer é que vamos substituir um outro método aqui. Portanto, esse será o método acrescentar dica de ferramenta. E isso realmente vai ser feito com muita facilidade. Então, a única coisa que realmente precisamos fazer é que, quando você passar o mouse sobre o item, você obtenha algo como o efeito de pressionar Shift para ver mais informações. E então, quando você pressiona Shift, você obtém mais algumas informações sobre esse item. O que vamos fazer é fazer uma declaração if e vamos chamar uma tela, o disparo mudou para baixo e, disparo mudou para baixo em seguida, fazer uma declaração de else para isso também. E então, como adicionamos um novo, algo novo à dica de ferramenta, faremos a Ferramenta para adicionar e, em seguida, criar um novo componente de texto traduzível ou texto aqui. E então passaremos em um e. Neste caso, este será o item MC curso vara de sublinhado, essa dica de ferramenta, essa mudança. Agora, é claro, você pode fazer suas chaves o tempo ou o menor que quiser. Vou ficar com isso. Na verdade, acho que está tudo bem. Vamos colocar a dica de ferramenta aqui também. E o que vamos fazer é mudar isso. Você não incluiria o turno aqui. Vamos copiar isso mais uma vez e vamos ao ouvido e nos sublinhar o arquivo adjacente. E vamos colocar isso na parte inferior aqui. Como eu sinto que esse é um bom lugar para isso. E então, quando realmente estamos pressionando Shift, então o que podemos fazer é dizer com o botão direito do mouse para encontrar objetos de valor. valor eles vão. E então o outro, vamos ter que remover o turno aqui. E então isso só vai descansar. E agora vamos tentar algo muito interessante. Então, isso, seremos um símbolo de parágrafo E, roubo, símbolo de parágrafo R ou mais informações. E há duas maneiras pelas quais isso pode ir. Então isso é algo que eu quero explicar. O símbolo de parágrafo começa a fazer um, fazendo o, começa transformar o texto em uma cor diferente. Agora, geralmente o símbolo de parágrafo e deve funcionar, mas às vezes há alguns bugs associados a ele. E eu só queria mostrar as duas versões dele. Então, às vezes, isso funciona. Então, o E basicamente começa a fazer isso amarelo e, em seguida, os parágrafos são, faz com que tudo seja redefinido novamente. Mas isso é, na verdade, tudo o que precisamos para a dica de ferramenta. Então, vamos ver se funciona ou tem um deck e Minecraft. E se eu passar o mouse sobre isso, você pode ver pressione shift para obter mais informações. E quando eu pressiono shift ou um turno inteiro para baixo, clique com o botão direito do mouse para encontrar objetos de valor. Então, tudo funcionando perfeitamente para isso é exatamente o que queremos. E mesmo na coloração aqui funciona perfeitamente bem. Então isso é incrível, certo? Também vincularei um artigo Wiki sobre os códigos de formatação do Minecraft. Eu recomendo dar uma olhada nisso, mas isso já seria para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E eu vou te ver na próxima palestra, no entanto. Sim. 53. (Noções básicas (básica) Tudo sobre etiquetas: Para o curso de tecido para 118. E nesta palestra, vamos dar uma olhada nas tags. Agora, o que nossas tags farão, eu não estou falando de tags que você coloca em animais como a tag de nome. Estou falando de etiquetas como vimos anteriormente para as bolas menores. E basicamente iremos quais ferramentas você precisa ou seus blocos. E o que vamos fazer é adicionar uma nova classe que basicamente nos permite usar tags também. Nisso basicamente tornará nosso MOD mais compatível com outras matemáticas. Então, em nosso pacote util, vamos clicar com o botão direito do mouse em nova classe Java, e esta é a gravação da classe de tags de modo. Vamos ter que aulas estáticas aqui. A primeira é uma classe estática pública, quatro blocos. E então a segunda é uma classe estática pública chamada itens. E na classe de blocos, é claro que as etiquetas de bloco vão e, em seguida, a classe de itens, o item Texaco. Mas, para isso, vamos precisar de métodos estáticos privados aqui. Portanto, identificador de ponto de tag estático privado do tipo bloco, neste caso, certificar-se de que escolhemos o bloco de microondas líquido aqui criaria uma etiqueta. E isso terá um parâmetro de nome de string aqui. E isso retornará a fábrica de etiquetas que quebrou essa criação. E, em seguida, um novo identificador com mod de curso EMC, mod ID e o nome do parâmetro. Então podemos simplesmente copiar este sobre n. Esta é agora uma tag de criação do Harmon como esta. E em vez de passar nosso ID de modelo antigo, vamos passar apenas um c minúsculo, porque este é um namespace sob o qual as tags comuns basicamente serão definidas. E então o que podemos fazer é simplesmente levar essa cópia ambos os métodos para a classe de itens também. E basicamente, basta substituir isso pelo item do item líquido aqui. E então, é claro, um conjunto de blocos, este é um item. E então, em vez de bloquear, este é o item também. Este item também. E então o resto na verdade está totalmente bom. Então, como você pode ver, isso é tudo o que precisamos fazer aqui. E agora podemos definir esses impostos. Então, há basicamente duas coisas que você pode fazer. Você pode, número um, definir suas tags nesta classe, e tudo bem. E você também pode defini-los em seu testamento, em seus dados para. E o que é muito importante é que, apesar de basicamente criarmos uma tag personalizada específica para nós. E então também teremos quatro tags comuns que vamos usar. Na verdade, sempre precisamos das tags aqui. Então, os arquivos JSON de dados , sempre precisamos deles, mas não precisamos necessariamente ter essa classe aqui. Isso é apenas para que possamos acessar nossas tags personalizadas dentro do código. Então, o primeiro exemplo disso será um identificador de ponto de tag final estático público do tipo de bloco, que vamos chamar barra de sublinhado de dowsing detectável blocos de sublinhado. Isso basicamente substituirá o método booleano dentro da haste de dowsing, onde atualmente codificamos o que é um item valioso aqui. E vamos tornar isso expansível com a tag, que permite, por exemplo, outros modos ou mais fabricantes de pacotes adicionarem coisas diferentes a essa tag também. E essa é a beleza disso. Então, vamos dizer que crie uma tag com exatamente o mesmo nome em minúsculas. Então, dowsing, sublinhado de haste, a bolha tecnológica, blocos de sublinhado protetíveis. E vamos formatar isso de forma um pouco diferente. Então, dia atrás. E então o que vamos fazer é na verdade, também adicionaremos mais duas tags de bloco aqui. Um deles será os blocos de sublinhado do resultado ORiC. E o outro será o sublinhado da Oracle ors. E o que você teria adivinhado é que essas são, na verdade, tags Aman. Bem, vamos fazer assim. E este será o Oracle vêm blocos sublinhados. E então vamos apenas copiar isso para pior. Agora, a razão pela qual vamos tê-los é se algum outro MOD, anúncios ou um cálcio também, então eles poderiam compartilhar o, que eles podem compartilhar isso. E, na verdade, vamos ver isso em apenas um momento com os itens porque os itens são realmente frequentes, úteis e legais. Então, o que vamos ter é um identificador de tag final estático público . Mais uma vez do item de tipo aqui neste caso, e isso é lingotes de sublinhado recalc iguais a uma nova tag ou resultado comum. Sublinhado da Inglaterra. Vamos duplicar isso com o Controle D, e essas são as pepitas. E então o mesmo aqui também. Lembre-se vêm pepitas. E vamos usar se vamos usar esses lingotes aqui também. Agora, mais uma vez. Ter isso nesta classe simplesmente torna todas essas tags acessíveis dentro do código não é estritamente necessário. Onde é necessário é apenas em um momento porque agora no item da vara de dowsing, o que vamos fazer é, na verdade, em vez de ter esse código rígido aqui, vamos retornar o seguinte. Vamos dizer mod tags que bloqueiam. E, em seguida, importe isso com blocos detectáveis de haste de dowsing antigos que contêm bloco, contém bloco. Lá vai você. E isso retornará verdadeiro se o bloco que é passado aqui estiver dentro dessa tag. Agora, nossa própria etiqueta. Temos que adicionar no curso MC, clicar com o botão direito do mouse em novo diretório chamado tags e clicar com o botão direito do mouse em novo diretório chamado blocos. Então, dentro de lá. Ou vou fazer é, na verdade, ir aqui e copiar o nome aqui. Então Controle C ou clique com o botão direito do mouse em novo arquivo, Control V para colá-lo no ponto JSON. E então nós temos isso, eu realmente vou copiar o conteúdo porque na verdade há um pouco lá dentro. É claro que isso está disponível para você no repositório do GitHub ou em um apenas também. Então isso é basicamente tudo o que eu coloquei lá, incluindo meu próprio Oracle com ou, claro. E então o que podemos fazer depois ou em seguida é que agora podemos adicionar as tags Harmon também. E vamos fazer isso indo para dados, clique com o botão direito do mouse em novo diretório chamado C, basta ver c minúsculo, nada mais. E, na verdade, vou copiar a pasta inteira aqui. Então, isso é mais uma vez apenas tags, blocos, itens. Então, tudo normal e os nomes aqui, na verdade, também só precisam corresponder aos nomes aqui. E o que vamos fazer é realmente usar uma dessas tags. Então, especificamente, os lingotes oráculo marcam dentro. E isso vai ser loucura. Nossa receita, isso é exatamente algo que é muito legal. Porque o que pode acontecer é que, se nós, por exemplo, tivermos algo como o Oracle pode bloquear lingote em vez de ter um Item aqui, podemos realmente tornar isso uma tag. E então isso, é claro, será c porque este é um namespace diferente e em vez da Inglaterra, são lingotes. Assim, podemos especificar uma tag e , em seguida, normalmente a tag onde ela está, no mar e é um item. Portanto, isso é muito importante, a propósito, que isso só leva tags de item aqui. Então, basicamente, ele procura uma etiqueta de item ou lingotes recalc. E então tudo o que está dentro daqui seria viável como uma possível receita de rafting. Então, o legal que existe é que, se houver três massas diferentes que e o Oracle se reúne, então, em teoria, nosso bloco poderia ser criado com qualquer um deles. Então essa é uma espécie de ideia geral lá. E também permite que mais marcapassos, mais uma vez, tornem nosso modelo um pouco mais compatível com outras matemáticas. Então isso é muito importante. E, claro, este ano, certo? Isso só nos permite tornar isso mais, muito mais fácil, expansível, e também nos permite que mais pacificadores tornem essa extensão expansível também. Porque, claro, no nosso caso, não adicionamos algo como 10 ou, titânio ou, ou algo parecido. Se outro modelo acrescentasse que um fabricante de pacotes mais ou mesmo aquele mod poderia simplesmente dizer, ei, se isso, se os modelos do curso MC, eles são apenas adicioná-lo também. Então isso é muito legal. Mas isso é, na verdade, tudo o que precisamos fazer pelos nossos tanques. Então, número um, vamos ver se a haste de dowsing com o novo é um método de bloco valioso funciona. E também vamos ver se ainda podemos criar ou um bloco de cálcio de lingotes ou inferências no Minecraft. Então, vamos ver, clique com o botão direito. E lá temos isso. Lá temos um pouco de minério de cobre. E vamos continuar. Talvez também encontremos alguma ardósia profunda, cobre ou ferro ou tenho certeza de que encontraremos algum em algum momento, claro, a durabilidade não está diminuindo. Oh, lápis-lazúli, para que definitivamente não tínhamos isso antes. Agora, vamos ver se conseguimos encontrar outra coisa aqui em algum lugar, nenhum valor encontrado. A durabilidade não está diminuindo porque estamos no modo criativo atualmente. Isso também está considerando outras áreas. Sono profundo, lápis, taxa de lazúli ou está lá? Aí está. Então lá vamos nós. Isso é realmente incrível. E vamos ver. Então lembre-se de ter vindo bem e eles vão, ainda podemos criar o RCA pode bloquear, como se nada tivesse acontecido aqui. Então isso é bastante frequente, legal, respeitável ou EBIT para esta palestra aqui. Espero que você tenha achado útil e ele aprenda o novo. Todo o código está disponível para você no repositório do GitHub ou em indivíduos também. E te vejo na próxima palestra. Então, sim. 54. (Noções de (Basics) Acionando escadas e latas: Ou eu dou as boas-vindas de volta ao cavalo de tecido por um 118. E nesta palestra vamos começar nossa série ou palestras sobre o que eu geralmente chamava de não-bloco. Blocos. Claro que isso não faz muito sentido. No entanto, o que queremos adicionar basicamente são escadas, lajes, botões, placas de pressão, cercas, cercas, portões, paredes, portas e alçapões. E vamos fazer isso nas próximas quatro palestras. Eles têm todas algumas semelhanças, mas há alguns passos cruciais e importantes que você precisa tomar em alguns deles. Então, vamos começar. E o aviso número um que quero dar no início é que definitivamente copiarei todos os arquivos JSON aqui. Então, você definitivamente precisará abrir o repositório do GitHub ou os juristas e copiá-los também. Eu recomendo escrevê-los. Você verá em um momento não é realmente possível. Bem, é possível, mas você pode passar meia hora fazendo algo melhor. Então, vamos ver isso, não se preocupe. E o que vamos fazer é copiar o bloco SPD duas vezes. E a primeira será a escada sublinhada de cálcio ORiC. E este vai ser o resultado 40k sublinhado escadas também. E este será o laboratório de sublinhado de renda da Oracle. E esta vai ser a laje de sublinhado da Oracle também. Agora, nenhum deles é claro, blocos rápidos. Então as escadas do oráculo para ser bloco de novilhos e a laje é suposto ser laje. Agora você verá que a fechadura da laje funciona absolutamente bem. Nenhum Roy já recalc lá em cima aqui com o novo bloco de escadas não funciona porque tem acesso protegido. O que isso significa? Bem, se clicarmos no botão do meio do mouse, podemos ver que a prova de que o construtor aqui está realmente protegido. Portanto, o que precisamos fazer é fazer uma aula personalizada com isso, o que é meio estranho. Eu pessoalmente, não tenho 100% de certeza. Mais amplo esse é o caso. No entanto, é o que é, então precisamos fazê-lo. Vamos também mudar esse material aqui para metal porque no final do dia isso é um cálcio. E depois que fizermos isso, vá para o pacote personalizado, clique com o mouse em nova classe Java. Este é o bloco de escadas modelo. E vamos estender isso do bloco de escadas. Vamos passar o mouse sobre isso e criar um super combinando construtor. E então mudaremos isso de protegido para público. E agora terminamos. E basicamente nunca mais teremos que olhar para a classe mais bloco de escadas nunca mais. Mas toda vez que vamos fazer um novo bloco, que é um bloco de escadas, vamos usar isso em vez disso. E você pode ver que o primeiro parâmetro é, na verdade, um estado de bloco. Então, o que temos que passar aqui é apenas os blocos ou blocos de modo. Portanto, esse é basicamente o estado padrão dot git. Então, basicamente, o que temos que passar aqui é o bloco do qual as escadas são feitas. Mas essa é a ideia geral. Mas, para isso, seus livros estão registrados e estariam prontos para começar. No entanto, é claro, nunca pode ser tão simples. Porque realmente como o kicker para todos os blocos que não sejam blocos serão os arquivos JSON. Bem, como eu disse, copiarei todos eles para sempre e, claro, também explicarei. Vamos copiar sobre a laje e o bloco de direção diz Jason, e por favor, não caia do seu assento quando vir isso porque isso é bastante. Então, vamos começar com lajes porque isso não é nada ruim. Então o que você pode ver é que agora nós realmente temos variância diferente, certo? Temos três tipos diferentes de lajes, fundo, duplo e superior. E cada um deles aponta para um arquivo Jason modelo diferente. Isso aponta para a laje Jason, isso aponta para o Oracle pode bloquear porque, claro, se você tiver duas lajes, parece apenas um bloco normal. E então este aponta para a laje, mas na parte superior ou na metade superior do bloco real. Essa é a ideia geral. Esse tipo aqui é o que é chamado de propriedade de estado de bloco. Vamos olhar para aqueles em uma palestra futura muito mais detalhes por enquanto, podemos pensar nessas variáveis como tendo algum tipo de valores que elas podem tomar. E, dependendo do valor, alteramos o modelo para o qual os estados de bloco escolhem pontos. Isso é praticamente tudo o que há para ele. Agora, para as escadas, na verdade, temos vários blocos diferentes por propriedades. E é por isso que se parece com isso. E eu continuarei rolando e você dirá, isso é loucura. Sim, isso tem 209 linhas. Essa é a razão pela qual você deve 100% copiar isso, sob nenhuma circunstância você deve escrever isso, porque isso é uma loucura absoluta. Agora, um truque rápido que eu quero compartilhar com você é que se você usasse um ID de modo diferente aqui. Você pode selecionar isso e pressionar Control R para substituí-lo e, em seguida, substituí-lo pelo ID do MOD. Basicamente, esse clique em Substituir Tudo. E você pode ver que, de repente, em todos os lugares , substituiu a coisa real pela melodia que colocamos aqui. Este é o Control Z para voltar aqui. E o mesmo, claro, vale para o cálcio. Então, se você estiver usando o titânio Arnold, por exemplo, você poderia substituir todos eles e isso também funcionaria. Onde não se esqueça de renomear os arquivos JSON também. Mas isso realmente torna tudo muito mais fácil. E você também pode fazer isso a propósito, quando você seleciona a pasta aqui e pressiona Control Shift R, então o arquivo de substituição aparece e você pode ver que agora eu poderia substituir ou um cálcio em todos os esses arquivos aqui. mesmo e, basicamente, substitua-o por titânio, digamos Substituir tudo. E isso também funcionaria. Mas essa é uma dica muito importante e recomendo fazer isso se for necessário. Então, agora precisamos copiar os arquivos do modelo de bloco e é aqui que fica muito louco. E isso também é, você verá agora por que eu digo: Bem, vamos copiar tudo porque esses serão cinco arquivos diferentes. Agora isso ainda não muito ruim Todas as coisas consideradas, é muito ruim Todas as coisas consideradas, mas ainda são algumas. Vamos apenas abrir as laje primeiro para que você possa ver que, no geral, o que está escrito aqui não é muito louco. Basicamente, temos apenas três texturas diferentes para as quais apontamos para qualquer lugar, tanto para o laptop quanto para a laje, essas serão as mesmas texturas, seja qual for o caso, porque sempre queremos que isso pareça com o bloco oracle. E a única diferença entre os dois com base em arquivos é o pai aqui. Ou é um laptop de cavalo de laje, é isso mesmo. E quando se trata das escadas, enquanto elas parecem um pouco diferentes, mas também muito parecidas, temos três texturas diferentes para as quais apontamos. E mais uma vez, a única coisa que muda aqui são olhares, escadas internas e escadas externas, ou o pai é praticamente todas as mudanças ou todas as diferenças no modelo de item Jason? Bem, esses são, felizmente, na verdade apenas os quatro blocos do modelo normal do Jason. Isso aponta para a laje normal aqui e isso aponta para o arquivo JSON normal ou para escadas de telecomunicações aqui. Portanto, não se preocupe lá. E o louco é que não precisamos adicionar texturas porque as escadas e as lajes lobo apenas usam a textura do bloco oracle. Então isso é muito legal. A única coisa que precisamos adicionar é uma tradução. Claro, o que vamos fazer é copiar isso aqui. Vou dizer, ou uma renda de vaca. Escadas sublinhadas serão o Oracle Malcolm. Há e então esta será a laje recalc deles. Laje. Observe também que essas escadas com um S, tão plural e laje singular, isso é muito importante aqui também. Mas, na verdade, eu sei que você não vai acreditar em mim, mas é isso. A coisa louca definitivamente vai estar aqui. Os arquivos JSON para o bloco declaram Jason. E isso continuará basicamente para todos os nossos diferentes blocos não bloqueados que vamos adicionar n. Portanto, eu recomendo apenas dar uma olhada naqueles no repositório do GitHub e copiar aqueles acabados. E então vai ser muito mais fácil. Mas agora, vamos ver se funciona. Ou eu fungo de volta no microfinanciamento pode ver o oráculo vir olhares e os escravos foram adicionados ao jogo. E podemos colocá-los e apenas fazer um bom, bem, quero dizer, basicamente o que quisermos com eles, podemos simplesmente colocá-los e tudo aqui funciona também, certo? Podemos ver as escadas internas e externas ou trabalhar. Você pode definir isso na parte superior e também na parte inferior aqui e juntá-los para fazer um bloco normal. Como você pode ver, tudo aqui funciona. Então isso é muito legal, certo? Mas isso já será para esta palestra aqui. Espero que você tenha achado útil e tenha aprendido algo novo, e eu te vejo na próxima palestra. Então, sim. 55. (Noções de botões) e placas de pressão: Tudo bem, bem-vindo de volta ao curso de tecido para 118. Nesta palestra, vamos adicionar botões personalizados e placas de pressão e continuar com os blocos sem blocos. Então, vamos para a nossa classe de blocos Mort e vamos apenas copiar sobre a laje de telecomunicações eRIc duas vezes. E vamos começar imediatamente. Então, esse será o botão de vir da Oracle. E isso é, claro, mais uma vez aqui o caso. E então o outro, esta será a placa de sublinhado de pressão de sublinhado das telecomunicações. E mais uma vez, o mesmo em minúsculas aqui. Sublinhado de pressão tardio. Agora, o botão calc aqui é claro será um bloco de botões, o que você verá também nos dá um erro. E a laje de um bloco vai ser uma pressão ou melhor, o prazer jogado Brock será um bloco de placa de pressão, o que, claro, também vai ter um erro. Isso significa que precisamos fazer duas novas classes personalizadas aqui. Então, em nosso pacote personalizado, o bloco de botão de modo, que irá estender a classe de bloco de botão de pedra. Vamos passar o mouse sobre esse construtor credo combinando super. Quer mudar isso para público aqui. Portanto, não se preocupe lá. E então nunca mais temos que olhar para esta aula novamente. E, em seguida, no pacote personalizado mais uma vez. O bloco de placa de pressão de modo aqui. Um estende isso pelo bloco da placa de pressão. E vamos passar o mouse sobre isso novamente e também tornar isso público. Agora está usando as aulas normais de baunilha. Vamos usar o bloco de botões de pedra mod aqui. E então aqui vamos usar o bloco mod de pressão jogado. Agora, o primeiro parâmetro disso realmente será uma regra de ativação. Este vai ser o ato. Eles evitam governar tudo. Então, basicamente, tudo o que passa por cima desta placa de pressão irá ativá-la. Na verdade, vamos clicar no botão do meio do mouse sobre isso e o botão do meio do mouse clicar no bloco da placa de pressão. E você pode ver que temos a saída Redstone. Este é basicamente o método responsável ou verifica qual é o tipo real. Então você pode ver que esta guia está sendo trocada aqui. Então, como uma instrução switch e você tem tudo ou mães, no entanto, se você quiser criar seu próprio tipo de ativação personalizado, mais uma vez, é altamente recomendável. Você precisa de algum conhecimento Java para realmente fazer isso. Mas não é muito louco. O que você pode fazer é fazer, basicamente você nem precisa fazer sua própria ativação ouvirá porque a ativação de tudo o que você pode ver é um enum. Você nem precisa fazer isso. O que você pode fazer é simplesmente substituir esse método em sua classe de bloco de placa de pressão personalizada e, em seguida, ter o seguinte aqui. Mas você pode ver que as entidades não espectadoras, e você basicamente passa em uma classe específica aqui. Então, qual é a classe do que vamos conseguir? E essa é uma lista de animais particulares ou de multidões particulares que passamos. E essa é a ideia geral. Então, neste caso, tudo o que é uma entidade viva, certo? Então mobs tudo o que é uma entidade viva, então vamos retornar 15. Se a entidade que está acima dessa classe de entidade viva, caso contrário, podemos passar outra coisa aqui também. Então isso é algo para ter em mente se você não quiser isso, tudo bem. Mas eu definitivamente recomendo algum conhecimento Java para isso. Caso contrário, você vai lutar com isso provavelmente um pouco. Bem, os blocos agora estão registrados. No entanto, é claro, mais uma vez, infelizmente os arquivos Drazen são a coisa que vai ser a coisa louca. E neste caso, o arquivo JSON do botão para o estado do bloco será realmente uma coisa louca. Você pode ver. A placa de pressão só tem um alimentado falso ou verdadeiro. E então, ou temos a placa de pressão ou a placa de pressão para baixo. Isso é bastante simples. O botão, como você pode ver, é louco. Mais uma vez, como podemos baseá-lo no chão ou na parede. Podemos tê-lo voltado para leste, oeste, sul ou norte. E pode estar ligado ou desligado. Então isso é basicamente o que toda essa loucura faz, é que na verdade é muito louco. Então, no geral, este ano basicamente apenas gira o bloco, e este ano faz com que a textura gire com o bloco também para que eles não rodem de forma independente. Essa é a essência geral de tudo isso. No entanto, mais uma vez, é realmente muito louco. Não digite isso fora de. Isso está disponível para você no repositório do GitHub ou no indivíduo também. Isso, é claro, também estará disponível nas bibliotecas externas aqui embaixo, o que já vimos anteriormente. Então, eu recomendo apenas copiar isso, se necessário. E você pode, claro, sempre usar o truque para selecionar isso e pressionar Control R para substituir algo. E então você pode substituir, por exemplo, o ano do MOD ID. E você não precisa fazer isso muitas vezes individualmente. Mas, na verdade, vamos para o EN nos sublinhar o arquivo JSON imediatamente porque isso é algo que eu costumo esquecer às vezes. Então, não vamos fazer disso um hábito. Vamos dizer que o botão oracle Vírgula e o Oracle pode pressionar a placa. E este vai ser o recalc e o botão e o pericárdio de pressão não sublinhado, mas uma placa normal, o ego e, em seguida, os modelos de blocos que vimos, é claro que mais uma vez há um menos, mais, mas felizmente para o botão e a placa retro, mais uma vez há cinco. Então, vamos dar uma rápida olhada neles porque, mais uma vez, eles não são tão interessantes. Todas as coisas consideradas. Você pode ver que o botão aqui só tem um pai diferente a cada vez e a textura é sempre apontada para o já bloco Kalikimaka. Então isso é praticamente tudo o que há para ele. O mesmo com isso. Os pontos para o Oracle podem bloquear a textura. E basicamente só tem a placa de pressão para cima ou a placa de pressão para baixo como pai. Essa é realmente a única diferença aqui. E para os modelos de itens, há algo parecido com algo muito particular para o botão. Mas também isso não é muito louco porque temos um modelo específico de bloco de inventário de botões, o qual disso aponta, mas também nada para desistir. Mas, no geral, isso não é muito louco. E, mais uma vez, não precisamos adicionar texturas aqui porque as texturas sempre serão, o Oracle pode bloquear para qualquer um desses blocos. Embora agora vamos ver se funciona. Ou farmacêutico de volta ao microfinanciamento pode ver ambos. A placa de pressão, bem como o botão, foram adicionados. E vamos apenas clicar no botão. Claro que funciona e aqui exatamente o mesmo. E como colocamos tudo, até mesmo as entidades do item aqui, cair nele ainda funcionará. Então isso é bastante frequente, legal. E isso é, na verdade, como é fácil adicionar qualquer um desses blocos onde eu, mas isso já será para esta palestra aqui. Espero que você tenha achado útil e aprenda alguns dos novos. Lembre-se, é claro, que todo o código está disponível no repositório do GitHub ou em um indivíduo também. E eu vou te ver na próxima palestra, no entanto. Sim. 56. (Noções de cerc, portões de vedação e paredes: Curso de tecido para 118. E nesta palestra, vamos adicionar cercas personalizadas, cercas, portões e paredes personalizadas, Minecraft. Então, isso basicamente continuará com os blocos não bloqueados, como eu gosto de chamá-los. Bem, vamos entrar na nossa classe mais blocos e vamos copiar sobre a laje personalizada aqui três vezes. Então, vamos ter um cálcio oral termina, é claro. E isso vai ser um Oráculo venha curvas aqui também. E então vamos ter um portão de sublinhado de cerca. E aqui, claro, também, ou um calcSum sublinhado barbatanas AND gate. E então aqui, vamos ter uma parede oral de cálcio e ou uma parede masculina de chita aqui também. Lá vai você. Então, esse será o bloco de um amigo e realmente funciona. E isso vai ser um bom bloco de vedação. E, na verdade, funciona. Acabar com o luto ou três? Sim, um bloco de parede. E também funciona. Então, isso é realmente muito bom. Não precisamos fazer nenhuma classe personalizada aqui neste caso. Então, podemos basicamente continuar com os arquivos JSON, que mais uma vez serão loucos bastante frequentes, mas não se preocupam. Vamos passar por isso. Então, três blocos Estados, arquivos JSON, e você já pode ver as coisas começando a ficar loucas. Então, antes de tudo, o portão da cerca, como você pode ver, tem três propriedades de estado de bloco diferentes aqui, voltadas para a parede e abertas. E dependendo disso, basicamente vamos escolher um modelo de sorte diferente novamente. E então, é claro, vamos girá-lo e o bloqueio UV também. Nada muito louco aqui. vez, uma dica muito boa é pressionar o deslocamento de controle, ou se você tiver um cálcio diferente ou um cálcio, se você não usar uma recapitulação, mas titânio, ou se você tiver um ID de modo diferente, certo, você pode simplesmente digitar o mara DMC curso aqui e digite sua própria melodia e substitua-o assim. Mais uma vez, Control Shift e quando você está em uma pasta. E também, é claro, todos os arquivos estão disponíveis para download no repositório do GitHub ou em indivíduos também. E a parede e a cerca aqui são realmente um pouco diferentes. Essas são multipartes , como você pode ver. E aí a ideia é que você aplique uma determinada parte do modelo quando algo acontece. Então você pode ver que, quando há algo aqui, adicionamos um lado a ele em uma direção específica. Em seguida, adicionamos o modelo extra também. Então, vamos realmente entrar no arquivo JSON dos sublinhados e vamos adicionar todos eles imediatamente. Então, haverá a cerca. E então vamos ter a renda da Oracle sublinhado, sublinhado, sublinhado portão nesta cerca aqui E portão aqui. Esta também será a parede de Malcolm. Parede de boas-vindas. Lá vai você. Então, agora adicionamos tudo isso. Então, isso também vai ficar bem. E agora vamos adicioná-lo aos arquivos JSON modelo, que serão muitos. Na verdade, temos quatro para o portão, temos três para a cerca, e depois temos outros quatro ou a parede. Então, como eu disse, muitos arquivos, 11 deles no total. Então, no geral, todos eles praticamente parecem exatamente iguais. Apontamos para uma textura, ou seja, a textura do bloco. E apenas os pais são diferentes. Então você pode ver que realmente não há nada de louco acontecendo aqui. Trata-se apenas de ter o pai correto e depois ter o apontar para a textura correta. Isso é tudo o que há para ele. Não acho que seja realmente necessário passar por cada um deles. Tudo parece o mesmo. Às vezes, o nome, ano da textura é um pouco diferente. Mas, no geral, a maioria das vezes é toda a diferença. E você pode, claro, também sempre ir até as bibliotecas externas, vermelhas para esta aqui no Minecraft, projeto minecraft. Para a pasta Ativos, o Minecraft bloqueia Estados. Temos os modelos, os modelos e, em seguida, aqui também todos os modelos ou também. Você pode ver a parede do Enscape aqui, por exemplo. E isso também está disponível, então não se preocupe lá. Você sempre pode dar uma olhada nisso e usá-los também. E basicamente copie-os. Agora, vamos copiar sobre a parede, o portão da cerca e os modelos de item de vedação também. Para conceder isso aponta para o modelo de estoque de parede, isso aponta para o inventário da cerca, e isso aponta para o portão final. Então, nada muito louco. Em mais uma vez, não precisamos adicionar uma textura sobre o que precisamos para adicionar nossas tags. Então, em nossa pasta de dados, Minecraft marca blocos, clique com o botão direito do mouse em novo arquivo chamado dados de cercas JSON. E então vamos apenas copiar o conteúdo deste ano por apenas um momento para que tenhamos a formatação correta para as tags. E então isso vai ser núcleos MC para cerca de sublinhado recalc. E então vamos arrastar isso para a mesma pasta enquanto seguramos o controle para duplicá-lo. E vamos chamar isso de tag de paredes. E então esta será a parede recalc. Isso é necessário para que as defesas realmente se conectem umas às outras. Isso é muito importante, certo? E depois de adicionarmos tudo isso, vamos ver se funciona. Tudo bem, descobrimos que desde que, de volta em mente, os impedimentos podem ver todos os três blocos foram adicionados e todos eles se conectam totalmente bem. Então é exatamente isso que você quer ver aqui. Vamos apenas definir isso também. Lá vai você. Então, tudo está funcionando muito bem. E bem, quero dizer, eles são todos adicionados e é realmente o quão fácil é adicionar os portões da cerca, as cercas e as paredes ao jogo. Borracha. Isso já seria para esta palestra aqui. Espero que você tenha achado útil e aprenda alguns dos novos. E te vejo na próxima palestra. Então, sim. 57. (Noções de (Basics): Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra vamos adicionar uma porta personalizada e um alçapão personalizado ao Minecraft. Agora, esses serão realmente muito interessantes. Vamos entrar na nossa aula de blocos de lemas. E com isso basicamente conclua os blocos não bloqueados. Então, o que vai ser interessante aqui é que eles realmente não serão feitos de cálcio, mas serão feitos de flor de cerejeira. Agora, a flor de cerejeira é, claro, a madeira real. Então, vamos ter um costume em uma palestra posterior, mas já vamos ver a porta. Então, a porta sublinhada da flor de cerejeira aqui. E então o mesmo vale para o sublinhado Sheri florescer, sublinhado alçapão. Só vou copiar isso aqui, torná-lo um pouco mais fácil para a porta da armadilha do ego. E agora, na verdade, precisamos fazer um bloco de porta do motor e um bloco de alçapão mod também. Bem, vamos criar o bloco da porta, que estende o bloco da porta. Vamos passar o mouse sobre esse construtor credo combinando super, e torná-lo público também. E agora nunca precisamos olhar para a classe. Mais uma vez. A mesma coisa para o bloco da porta da armadilha modelo. Vamos estender, é claro, o bloco de alçapão. Também passe o mouse sobre o construtor de taxa combinando super e tornando o construtor público aqui. E então estamos bem. Então, a porta é claro que vai ser um bloco de porta lema. E este vai ser um bloco de alçapão modelo. E nós realmente precisamos chamar outro, bem, eu acho que as configurações de tecido e isso vai ser o não opaco aqui. Porque isso realmente o, tanto a porta quanto o alçapão contêm valores alfa em sua textura. Isso significa que você basicamente tem um portal transparente no livro real. E se você tiver isso, precisará adicionar esse não opaco aqui. Isso é muito importante. E há até outra coisa que precisamos fazer para isso. E isso vai ser, vamos fazer uma nova aula no pacote de cursos MC. Portanto, clique com o botão direito do mouse em nova classe Java chamada cliente do curso MC que implementará o inicializador de mod do cliente aqui. Vamos passar o mouse sobre isso e implementar o método, o método de cliente não inicializado. E isso não conterá onde definimos a camada do renderizador. Então, vamos dizer mapa de camada de renderização de blocos. Essa instância. Bloco de dotplot da instância. Quais blocos? Dot door, exatamente a porta de flor de cerejeira com o ponto posterior renderizar é cortado. Então vamos apenas duplicar isso e colocar o alçapão aqui. E o que também precisamos fazer, e isso é muito, muito importante que você siga isso, precisamos entrar em nosso tecido. Ponto adjacente aqui, e abaixo do ponto de entrada principal aqui, certo? Isso é muito importante. Basicamente, precisamos copiar isso. Bem, o cliente da CIA. Então precisamos dizer o curso MC e, em seguida, garantir que isso esteja escrito assim. Então o curso MC, cliente, isso é muito importante e isso definitivamente tem que acontecer de outra forma, o cliente no ano passado não será reconhecido e teremos um poço, uma flecha em como isso é sendo exibido. Mas depois de ter adicionado, isso estava bom e o código está pronto. Agora, simplesmente precisamos ir para os arquivos JSON. É claro que todos os arquivos JSON estão mais uma vez disponíveis para você no repositório do GitHub ou como gists individuais. Agora, depois de fazer todos esses blocos não bloqueados, vimos essa taxa de várias vezes simplesmente aponta para diferentes modelos aqui mesmo no alçapão ou também na porta. Nada espetacular demais para ser honesto. Então, vamos também adicionar a tradução aqui. Então isso ainda não é cálcio, mas esta é a porta sublinhada da flor de Sherry. E depois vamos fazer a porta da flor de cerejeira. E o mesmo vale aqui para o alçapão. Vamos apenas adicionar a armadilha na fronteira. E então o mesmo vale para este alçapão, certo? Então, o objetivo e, em seguida, o que podemos fazer é adicionar os arquivos do modelo. Agora, na verdade, existem alguns desses. Vamos copiá-los. Você pode ver que existem sete deles. Mas, mais uma vez, mesmo que existam sete deles, no geral, eles são bastante diretos. Você pode ver que é mais uma vez apenas o pai que é diferente aqui. E o mesmo vale basicamente para o alçapão. A única outra coisa interessante é que a porta é composta de dois blocos, basicamente temos uma textura superior e inferior aqui que aponta para o que isso é praticamente o único interessante coisa. Agora, o modelo do item, especialmente para a porta, é realmente muito interessante. Porque quando você verá, isso é que este é realmente um modelo de item normal. Ou um, para um item, não um bloco. Isso ocorre porque a porta realmente tem, não é exibida no inventário como um bloco, mas sim como um item real. O alçapão, no entanto, este ponto estirpe o alçapão normal aqui. Então, para este, na verdade, precisamos adicioná-lo a diferentes texturas. Na verdade, três texturas de bloco diferentes e uma textura de item. Então, é claro, também estão disponíveis para você. Eles têm o fundo da porta, temos a porta superior e o alçapão. Então, no item, também temos a porta aqui, então vamos copiar isso também. Então o ego, a porta ribossoma para o item. E agora tudo foi adicionado. Agora, depois de ter adicionado tudo isso, vamos ver se funciona ou em caso afirmativo, nos encontramos em micro lente pode ver que a porta e o alçapão foram adicionados com sucesso ao jogo. Agora, se eu clicar com o botão direito do mouse em você e ver que realmente não funciona para abri-los. Isso é muito curioso, e eu posso abri-los. Bem, quero dizer, vamos fazer isso corretamente. Aqui. Lá vai você. Eu posso abri-los com um Redstone se eu dirigi corretamente basicamente atrás. Então, isso é algo que ainda precisamos mudar. E vou mostrar-lhe como você pode basicamente determinar se é ou não apenas aberto com Redstone ou abrirá é ou não apenas aberto com com a mão também. Mas, na verdade, é uma solução muito, muito fácil. Em vez de colocar o material de metal, simplesmente colocamos madeira material. E isso é tudo o que precisamos fazer para mudar aqui para abri-los agora com o fim. Portanto, não se preocupe lá. Mas isso praticamente conclui a parte de blocos sem blocos da série de palestras, e isso também concluiria a primeira seção aqui. Então, espero que você tenha achado isso útil e aprenda algo novo. E eu vou te ver na próxima palestra, no entanto. Sim. 58. (ferramentas) Criação um novo conjunto de ferramentas: Ou seja bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos criar um conjunto de ferramentas personalizado. E o que quero dizer, acho que vamos começar a entrar na nossa classe de itens modelo aqui. E vamos fazer uma picareta machado e machado um todo, uma pá e uma espada. E, na verdade, vai estar nessa ordem. Primeiro, o que vamos encontrar é quando eu apenas copio o todo aqui, vamos começar a fazer o, na verdade também é legal poder nomear aqui porque eu não quero ter que digitar fora ou pode vir toda vez que o código estiver, é claro, disponível para você no repositório do GitHub ou em um indivíduo também. Mas se eu vou começar a fazer um furo pode escolher x aqui e vamos fazer dele um novo item de picareta. Claro, vamos encontrar mais uma vez, bem, amor duro, ele vai ser acesso protegido mais uma vez. Então, no nosso pacote de itens personalizados aqui, vamos fazer um item de grandes atos mod, que irá estender o pico do próximo item. Leia o construtor correspondente super. E vou mudar isso para público. E então vamos imediatamente fazer a mesma coisa para o item mod acts, que estende o item X. Também passe o mouse sobre o construtor de período combinando super, tornando isso público também. E então também precisaremos do item completo do mod. Estende o item inteiro. Mais uma vez, passe o mouse sobre um construtor de leitura rápida combinando super e tornando isso público. E então, mais uma vez nunca mais temos que ver essas aulas. Isso faz muito sentido, seja qual for o caso. E você verá que ele realmente leva em quatro parâmetros. O primeiro, que é um material de ferramenta, na verdade é algo que também precisamos criar. Vou fazer isso em nosso pacote de itens. Portanto, clique com o botão direito do mouse sobre isso, uma nova classe Java ou material de ferramenta mod. E isso implementará a interface do material da ferramenta a partir do item net Minecraft. E na verdade não vamos passar o mouse sobre isso. A primeira coisa que vamos fazer é mudar isso para um enum. Isso é muito importante. Na verdade, vamos fazer é clicar nisso e, em seguida, pressionar Control H para abrir a hierarquia. E você vai ver que temos materiais de ferramentas aqui. Vamos clicar duas vezes sobre isso. E agora você pode ver que esses são os dois materiais da baunilha. E há um truque muito engraçado ou na verdade há um truque muito fácil. E isso vai ser, vamos fundo aqui, não na frente disso, o último suporte encaracolado, último suporte encaracolado, mas o segundo a último suporte encaracolado. Em seguida, vamos segurar Shift e clicar aqui. E então vamos pressionar Control C para copiar e, em seguida, Control V para colar. E então há uma coisa que precisamos mudar, e esse é o nome aqui. Então, vamos apenas copiar esse nome, colá-lo aqui e, em seguida não devemos obter mais erros. Agora, a razão pela qual estamos fazendo isso é porque no material da ferramenta real será exatamente o mesmo, não importa o que você faça. Portanto, geralmente gosto de copiá-lo da classe de materiais da ferramenta. Isso, só faz muito sentido. E então o benefício adicional aqui também é que você tem acesso imediato a todos os diferentes valores que os materiais aqui metade. Então, isso também é muito legal. Então você pode ver imediatamente basicamente o que está acontecendo. Isso é muito bom. Então, o que vamos fazer é que vamos nos livrar de algumas coisas. Então, vamos fazer algo assim e depois algo assim. Então, damos um nome aqui a este vermelho, é claro que todos os recalc neste caso. E então, no nível de mineração, podemos até fazer isso de uma maneira diferente. Nível de mineração ou níveis de mineração que passaram atrás, que acabaram de devolver o tubo, mas é um pouco mais fácil de ler aqui. Em seguida, vamos mudar a durabilidade para 450. Claro, a durabilidade deve ser bastante autoexplicativa. Essa é apenas a durabilidade básica dos itens reais, depois a velocidade de mineração. Então você pode ver que são 64. Para isso, vamos fazer algo como 4.5. E talvez o dano seja de 3,5 e, em seguida, a intangibilidade seja ainda mais. Talvez seja algo como 25. E aqui, na verdade, não precisamos de todo esse jazz só precisa de um fornecedor de ingredientes. Então, vamos fazer com isso. E então vamos dizer ingrediente do item. Vou dizer itens mod, mais itens que são lingotes de cálcio e, em seguida, fechar isso corretamente. Lá vai você. Agora, se nós adicionássemos outro aqui, eu poderia simplesmente copiar isso e você verá que isso não funciona bem , pois o último sempre tem que terminar com um ponto e vírgula, enquanto cada um individualmente tem que ser separado com uma vírgula. Então isso é muito importante observar aqui. Isso é basicamente apenas um enum avançado. Se você assistiu à introdução do Java e deve reconhecer que o problema aqui com o preguiçoso realmente não deve ser muito ruim. Então, isso ainda é realmente usado pelo Minecraft em si mesmos. Então, na verdade, estou. Certo. Com o uso também, acredito que a depreciação deve estar totalmente bem como usar isso. E se em algum momento algo mudar aqui, podemos sempre, você sabe, basicamente dar outra olhada na classe de materiais de modo e como isso funciona. Tão totalmente bom. Mas isso é praticamente como se não precisássemos fazer nada aqui. Acabamos de definir esses campos. E esses campos são basicamente definidos para cada um dos diferentes níveis de material, por assim dizer. Então, se você quiser mudar alguma coisa, basicamente você simplesmente mudá-lo aqui. E então isso leva para todas as diferentes ferramentas que você pode ter em seu modelo, certo? E então podemos fazer o seguinte. Podemos dizer mod tool material.org cálcio. E o segundo parâmetro será o dano de ataque. Acho que isso é um número inteiro. E então o terceiro parâmetro é a velocidade de ataque, que é um flutuador. E, mais uma vez, apenas as configurações normais do item de tecido. Agora, porque este é um machado de seleção de item MOD aqui, neste caso, o risco de mudar um pouco os números, os números aqui, teremos que ajustar de qualquer maneira. Como se você tiver seu modo real, provavelmente estará ajustando os números um pouco porque, claro, equilibrar tudo não é tão fácil quanto você imagina. Mas, caso contrário, na verdade, não precisamos adicionar mais nada. Então, o que podemos fazer é simplesmente colar isso em cinco vezes aqui e, em seguida, começar a mudar as coisas. Então, atua aqui, também age. Então, o XP provavelmente será algo como 1. Essa é uma velocidade adicional, a propósito, essa não é a velocidade real, isso é adicionado a ela, mas mais danos aqui para o item mais atos. E então vamos ter todo o sublinhado da OMS e, em seguida, sublinhar o buraco aqui também. Este é o modo de todos os itens. Mais uma vez, não sou, na verdade, a menos que, claro , zeros ou não tenha 100% de certeza do porquê. Alguns deles você precisa do item de modo e alguns deles você não precisa. Parece muito inconsistente, mas é o que é. Este é um item de pá com o nome ou uma pá de chita. E, claro, aqui também, ou uma pá de telecomunicações. Muito importante que você mude os nomes aqui em todos os lugares, apenas para estar ciente disso. E depois a espada aqui. E então, por último, mas não menos importante, o oráculo vem espada. E aqui este é um item de classificação. E talvez esse dano de ataque seja um pouco mais. E a velocidade também é três, isso vai ficar bem. Agora, os itens estão devidamente registrados, mas agora, é claro, precisamos dos arquivos JSON que tenham uma pequena coisa diferente com eles, mas na verdade é que agora não deve ser muito louco. Então, vamos fazer com que os arquivos do modelo sejam copiados. E, no geral, tudo isso é bastante padrão. A única coisa que você precisa cuidar, e isso é muito importante aqui, é que o pai é, na verdade, o item slash handheld. E a razão para isso é que você tenha uma aparência 3D quando estiver em uma terceira pessoa. Então, basicamente, quando você tem a espada na mão e outra pessoa olha para ela em um servidor, então, é claro, parece que é 3D. Então é disso que você precisa lá, isso é muito importante aqui. E então vamos também para o sublinhado arquivo JSON. E vou copiar as traduções aqui mais uma vez, é claro, tudo disponível para você no repositório do GitHub ou um indivíduo também se ajusta. O mesmo, claro, com as texturas aqui. Então, essas são as cinco texturas de itens que vamos precisar. Atua no todo, O porco age, a pá e a espada. Vamos apenas copiá-los há mais de um ano. E isso deve ser praticamente tudo o que precisamos fazer. Na verdade, há mais uma coisa que é muito importante adicionar, e essas serão as tags da ferramenta. Então, em dados, vamos criar um novo diretório chamado Hambrick. E então, dentro de lá, vamos criar um novo diretório chamado tags. E então, dentro de lá, vamos criar novos itens de porta de diretório. E então basicamente precisamos de acesso ao Jason. E vamos apenas copiar isso para este grande eixo gameta adjacente. E vamos copiar apenas um ano. Vamos preencher isso em apenas um momento. Temos esse grande eixo. Isso vai ser pás. E então vamos ter o sistema operacional e depois classificar. Então, neste ponto em 118, acredito que esses não são mais necessariamente necessários ou nunca. Acredito que ainda é uma ideia inteligente adicioná-lo a ela. Basta adicionar basicamente o eixo específico, pás e tudo isso. Com essas tags. Realmente não há motivo para não fazê-lo no final do dia. Este é um processo bastante simples. Depois de ter feito isso, uma vez para um de seus dois materiais do que adicioná-lo aos outros é praticamente um processo muito simples e um altamente recomendado apenas adicioná-los. Então, no tecido, namespace, tags, itens e, em seguida, basicamente, acesse furos , escolha eixos, pás e tipos. Então essa é uma ideia muito inteligente basicamente fazer isso e adicioná-la lá. Mas isso é praticamente tudo o que precisamos fazer. Então, vamos ver se funciona. Ou Francis volta e microfone. Como você pode ver, todas as ferramentas foram adicionadas ao jogo. Mas vamos ver, tudo isso funciona, então isso é muito bom. Vamos ver se consigo clicar com o botão direito do mouse com isso. E eu realmente posso. Então esse é um ótimo sinal aqui também. E também pule isso. Isso também funciona. Também posso clicar com o botão direito do mouse com isso, presumo que é claro que posso. E então não temos madeira para fora. Você olha para isso, é o quão rápido pode aparecer. Vou clicar com o botão direito do mouse e também posso minerá-lo corretamente. Então, tudo aqui deve funcionar muito bem. E tudo foi bem-sucedido. Isso, a propósito, é o que quero dizer com o hand-held. Então, basicamente, parece que você está segurando a ferramenta em sua mão em vez de apenas ter o item assim. E é por isso que você precisa do pai portátil ou de um bot que já seria para esta palestra aqui. Espero que você tenha achado útil e tenha aprendido algo novo. Vejo você na próxima palestra. Então, sim. 59. (ferramentas) Criação uma multiferramenta personalizada (Paxel): Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos adicionar um item personalizado do Paxil ao jogo. Portanto, isso é claro, algo que é completamente personalizado e, na verdade, requer apenas um pouco de trabalho extra, mas na verdade é bastante fácil, considerando todas as coisas. Então, o que vamos fazer é fazer uma nova aula em nosso pacote de itens personalizados chamado mod packs ou item. E isso realmente vai se estender porque é claro que um item do Paxil não existe. Isso vai estender o item da ferramenta de mineração. E vamos passar o mouse sobre esse super combinando construtor de criação. E vamos tornar isso público, não vamos precisar aqui é o bloco efetivo um, o parâmetro e também vamos escolher pegar o parâmetro do material da ferramenta e movê-lo para a frente aqui. E então o efeito dos blocos, certo? Se fôssemos, por exemplo, pressionar Control H aqui e apenas dar uma olhada no item de picareta, por exemplo, você pode ver que isso leva as tags de bloco minable picareta, que é exatamente o que nós estiveram aqui, certo? Então, basicamente adicionamos nossos blocos para acabar com isso. Agora, Paxil, queríamos ser capazes de ser eficazes em atos de viagem e escolher blocos X. Como faríamos isso? Bem, vamos fazer uma etiqueta personalizada. Então, na nossa classe fiscal modelo, o que vamos fazer é fazer uma nova etiqueta aqui. Então, isso vai ser um imposto próprio, na verdade. Portanto, uma tag normal cria aqui. E este será o sublinhado de Paxil minable. E então aqui pacotes realmente mineable, chicote, Paxil. E então essa etiqueta real ficará fria aqui. Então, vamos dizer tags moderadas, blocos de pontos, não mandíbula Paxil. E agora podemos basicamente usar essa classe e ela deve funcionar totalmente bem. É claro, ainda precisamos adicionar isso às nossas tags do curso MC. Então, em nossa pasta de blocos, na pasta tanques, clique com o botão direito do mouse em novo diretório chamado mineable. Então dentro de lá dentro do botão direito novo arquivo, Paxil dark trace. Deixe-me copiar rapidamente este aqui. Então, a partir da escolha X1 e isso vai ser muito interessante porque podemos até colocar tags diferentes aqui, então não precisamos listar todas as coisas que estão nas tags mineráveis. Ou podemos simplesmente fazer é que podemos dizer hashtag. E isso significa que esta é, na verdade, uma outra tag que queremos colocar aqui. Então dizemos Minecraft, mineable, chicote x. E isso, basta copiar isso e dizer, obrigado e comprar. Agora, o que o item de pacotes não terá é clicar com o botão direito do mouse. No entanto, isso é algo se você realmente quer isso, que ele poderia, claro, se adicionar também. Na verdade, não deveria ser tão louco. Basicamente, dando uma olhada no item da pá aqui, você pode ver que há algumas coisas aqui. E o item também, há algumas coisas que não são muito loucas. No entanto, vamos ficar com isso. Por enquanto. Vamos apenas copiar sobre o oráculo vem espada e vamos renomear isso para o oráculo vem Paxil. Então o mesmo aqui também. Paxil, o dano e a velocidade vão ser reduzidos um pouco. E então este será um item de pacotes de modificação. Como você pode ver, tudo funciona. Muito importante é que você altere os parâmetros aqui para ser exatamente assim, então ele deve funcionar totalmente bem. E então só precisamos do arquivo JSON, uma tradução também. Então, vamos realmente fazer a tradução primeiro. Isso vai ser muito direto. Lá vai você. Portanto, a tradução e todos os arquivos também estão disponíveis para você, interesses individuais ou o repositório do GitHub. E vamos acabar com o solo compacto oracle. E a textura também. Então, praticamente temos tudo o que precisamos. Então, eles atrás, agora tudo foi adicionado 0. Vamos ver se funciona. Ou encontrei isso de volta no Minecraft e como você pode ver lá está. O Paxil foi adicionado ao jogo e não parece ótimo. Então podemos ver basicamente aqui, eu posso facilmente minerar isso e também posso facilmente minerar isso. E ainda temos algum humor, e eu também posso facilmente minerar nisso. Agora, mais uma vez, clicando com o botão direito do mouse, ele realmente não funciona nem para o caminho basicamente nem para a remoção da madeira. Se você realmente quer isso, então isso não deve ser muito louco para adicionar. Se você tiver algum conhecimento Java, tenho certeza de que você gerenciará. E se for realmente altamente solicitado, eu poderia adicionar uma palestra de acompanhamento sobre isso também, se isso é realmente o quão fácil pode ser adicionar um item do Paxil ao jogo. Então, espero que você tenha achado útil e aprenda algo novo. E eu te vejo na próxima palestra, no entanto. Sim. 60. (ferramentas) fazendo as armas que aplicam efeitos: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos dar uma olhada em como você pode adicionar um efeito a uma entidade quando você acertar com um item específico. E essa é uma maneira muito complicada de dizer basicamente, você vai adicionar um efeito de fusão a uma entidade. E a maneira com isso vamos fazer isso é que vamos criar uma nova classe aqui. E este será o item armazenado mod que está sendo armazenado. Assim como um exemplo aqui, vamos estender a classe de item de classificação. Eu só vou passar o mouse sobre essa criação, construtor combinando super. E então podemos deixar tudo aqui. E assim como com um item normal, existem métodos para substituir, certo? Então eu posso colocar uma substituição e você poderia ver que ele estava no bloco, use como brilhar uma dica de ferramenta de caneta. Há um monte de coisas que eu posso anular e não se preocupe lá. E há um método específico que vamos substituir e que é legal como o método post hit, que é chamado depois de atingirmos um inimigo ou melhor, após o dano ter um inimigo ou melhor, após sido adicionado para um inimigo. E o que podemos fazer é dizer que o status do ponto alvo afeta a nova instância do efeito de status. Digamos que o status afeta essa lentidão. Digamos que quatro segundos no nível dois. E então também passamos o atacante faz Isso basicamente será a fonte porque somos o atacante e o alvo é claro que, que está sendo atingido como a entidade que é sendo atingido aqui. E agora podemos ir para a classe Mais Itens e simplesmente mudar isso para o item de classificação MOD lento aqui. Por exemplo, você não precisa necessariamente fazer isso. Você também pode criar um novo item, mas vamos mudar a fonte de cálcio para isso. E quero dizer, é praticamente isso. Isso é tudo o que precisamos fazer. Precisamos substituir o método de ocorrência do sistema operacional e, basicamente, basta adicionar isso, o efeito de status ao alvo. E isso é, na verdade, o quão fácil é adicionar um efeito ao acerto. Então, apenas por causa de conclusão, vamos ver se funciona ou faz inferências de volta no Minecraft. Então, vamos ver se eu bati em uma ovelha. Lá vai você. A ovelha que estava realmente escondida agora tem Sloan como aplicado a ela. E aquele que basicamente foi pego no fogo cruzado na verdade não o tem aplicado porque só é aplicado à entidade direta que você está atingindo que incluiria um peixe. Eu acredito que eles provavelmente morreriam depois de 100 sim. Slt eles vão morrer. Mas você realmente viu que ele também tinha a lentidão se aplicando a ele. No entanto. Isso é muito legal, certo? E isso já é isso para esta palestra aqui. Espero que você tenha achado isso útil e ele aprenda sobre o novo. Vejo você na próxima palestra. Então, sim. 61. (Armor) criando um novo conjunto de Armor (de (Armor): Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos adicionar uma armadura personalizada ao Minecraft. Agora, este é um exercício que vai ser muito, muito semelhante a adicionar as ferramentas ao Minecraft porque vamos precisar um material de armadura neste caso em vez de um material de ferramenta. Essa será a primeira coisa que vamos fazer em vez do pacote de itens, clique com o botão direito do mouse em nova classe Java chamada mod, mod armor materials a 0. E isso implementará a interface do material de armadura aqui. E mais uma vez, não vamos passar o mouse sobre e implementar o método, mas vamos clicar no botão do meio do mouse sobre isso, ou melhor, apenas clicar nele e pressionar Control H para entrar no braço materiais de outra classe. E então, mais uma vez, vamos selecionar na parte inferior aqui. E, em seguida, segure Shift e clique na parte superior aqui e, em seguida, apenas Control C e Control V para colar. E isso vai ser isso. A única coisa que precisamos mudar aqui é a classe para um enum. E então vamos pegar o nome desta classe. E isso mudou para aqui também para que o construtor realmente funcione corretamente. E vamos apenas formatar isso de forma um pouco diferente com os parâmetros aqui. E então isso vai ficar bem. Você também pode formatar isso de forma um pouco diferente para que possamos realmente ler palavras escritas lá. E aqui. Mais uma vez, vamos excluir tudo , exceto o ferro aqui. E vamos chamar isso de Cálcio ORE, é claro. E então o nome também Malcolm. E então, mais uma vez, podemos brincar com isso um pouco. Podemos ver, é claro, o, os valores nulos aqui. Então essa é a ideia geral. O multiplicador de durabilidade deve ser bastante autoexplicativo. É apenas o multiplicador para a durabilidade. Então, por exemplo, você pode ver que a corrente é 15, o ferro é 15, diamante é 33, total 25 e 37. Então eu acho que isso é como um 18 vai ser bom para cada cálcio. Então este aqui é um array int muito interessante. Estes são os valores de proteção para cada peça de armadura. Então, cada peça de armadura tem uma quantidade diferente que protege você. E isso vai por sinal, de baixo para cima. Isso é muito importante. Mas isso é botas, leggings, placa de peito. Mas isso é muito importante. Então poderíamos, por exemplo, dizer algo como três, vamos ficar com os cinco anos 7 e, em seguida, quem está realmente bem para que vamos torná-lo um pouco diferente dos outros. Por exemplo, o objetivo também é um pouco outlier. Então você pode, claro, pensar nisso como quiser na capacidade da agenda é o quão imutável isso é. Vou fazer isso até quando D5, que é ainda mais do que ouro. Porque, você sabe, ou um cálcio, é uma fantasia muito ou assim eu acho que, isso faz sentido. E, em seguida, o evento sonoro, na verdade, vamos usar o equipamento de ouro aqui. Então armadura de item, ouro aqui. Isso faz um pouco mais de sentido em minha mente, vamos manter a resistência e bater a resistência ao BEC da mesma forma. Você pode simplesmente mudar isso e, em seguida, você adicionará resistência e não escolherá resistência à sua armadura que deve funcionar e você não precisa fazer mais nada. E então aqui, é claro, em vez de ter tudo isso aqui, só queremos mais items.org, lingote de cálcio. E vamos tornar isso um pouco mais fácil de ler. Não se preocupe aqui. Então, vamos fazer isso. E então não há retorno. Então lá vai você. E agora parece muito bom. E mais uma vez, é claro, se você quiser ter vários materiais de blindagem, eles precisam ser separados por vírgulas. E então, é claro, também nomeado de forma diferente e depois termina com uma largura de ponto e vírgula. O último, isso é apenas uma ideia geral aqui. E se dermos uma rápida olhada nisso, você verá que temos este ano de consulta, a durabilidade base. Esta é a durabilidade base de cada uma das diferentes peças de blindagem. E então isso é multiplicado pelo multiplicador de durabilidade. Você pode ver isso aqui. Portanto, temos o multiplicador de durabilidade aqui. E obter a durabilidade apenas lhe dá a durabilidade da base com base no slot e, em seguida, tempos com o multiplicador de durabilidade. Essa é a ideia geral aqui. Esses números, é claro, você também pode ajustar se realmente quisesse. Vamos ficar com isso por enquanto. Isso vai ser totalmente bom. Neste momento, a classe real seu marido configurou para que possamos mudar para a classe mais itens e agora começar a criar basicamente nossa armadura. Então, vamos fazer com que um oracle venha primeiro elemento. E então aqui também ou um capacete de cálcio é claro, eles atrás. E isso vai ser um item de armadura. E você verá que o primeiro slot aqui será o material de armadura mod materials.org cálcio. E então, na verdade, só tem três parâmetros. A segunda é a cabeça do ponto do slot do equipamento, e as configurações aqui estão boas. Então, vamos copiar isso quatro vezes. E então vamos ter o prato de xadrez da escola. Esta placa e este é o baú da ranhura do seu equipamento. Muito importante que mudemos isso também. Caso contrário, é claro que poderíamos adicionar isso ao slot errado, o que não é algo que queremos. Nós também vamos fazer leggings aqui. E novamente aqui pernas. O atrás e depois, por último, mas não menos importante, são as botas. E então as botas aqui também. E isso é claro, os pés. Eles você vai. E agora todos os quatro pedaços de armadura foram registrados corretamente com nosso mais nosso material de cálcio. E agora só precisamos adicionar o modelo do item, Jason e, claro, aqui a tradução muito importante. Aí está. É claro que isso também está disponível para você no repositório do GitHub ou um indivíduo também se ajusta, você não precise digitar tudo. Você pode realmente copiar isso também. Mais uma vez, a maioria das coisas quando você fez isso uma vez, você pode copiar muitas delas dentro de seu próprio projeto também, eu recomendo fazer isso. A maioria desses modelos de itens, eles serão muito, muito semelhantes. Então, entre eles, todos eles são laranja para um imposto que é literalmente tudo o que há para ele. Vamos adicionar os arquivos de textura também. Lá vai você. E depois mais uma coisa, o que é muito importante é que vamos precisar da aparência 3D da textura. E isso é feito na pasta Minecraft. Vamos precisar criar uma nova pasta em nossa pasta de ativos, clique com o botão direito do mouse em novo diretório para o Minecraft. Tão pequeno jogo, talvez você já tenha ouvido falar disso antes. Já fiz isso , largue o que quer. Clique com o botão direito nas texturas da pasta de microondas E então dentro de lá dentro do botão direito do mouse novamente em novo diretório chamado modelos. E depois mais uma vez Clique com o botão direito do mouse no diretório chamado armadura. Isso é escrito apenas com um OH, então é a ortografia americana. E então aqui vamos colocar em dois arquivos, mas esses são os arquivos de armadura. É assim que a armadura real vamos olhar em 3D e devemos realmente ser capazes dar uma olhada nisso, se formos para as bibliotecas externas para aqui para os ativos, Minecraft, texturas nos modelos , armadura. E então você pode ver que é assim que se parece. Portanto, esta é a camada de ferro, por exemplo, camada um e camada dois. Então, você também poderia, a propósito, copiá-los, acabou um pouco e depois tê-los também. Agora, o que é muito importante para eles é que o nome aqui tem que ser exatamente a coisa certa. Isso é muito importante. Então, quando você tem o nome que é dado aqui dentro de seus materiais de armadura, isso aqui tem que corresponder exatamente a esse nome. Sublinhado camada sublinhado um e, em seguida, o outro sublinhado camada sublinhado dois, muito importante, que não pode ser espaços entre eles. Não pode haver parênteses 1 porque você copiou e nós teremos o mesmo nome e nada disso. Tem que ser exatamente isso sob o Minecraft, texturas, modelos, diretório de armaduras, muito importante. Certifique-se de que isso esteja correto. Mas depois de ter certeza de que tudo está correto, vamos ver se funciona ou está em microgreens de back-end de primeira classe. Você pode ver que a armadura foi adicionada e parece incrível. Então, vamos ver como parece quando eu coloco. E lá vai você, pronto para ir para a batalha. E é assim que é fácil adicionar a armadura ao Minecraft onde quer que já seja para esta palestra aqui, espero que você tenha achado útil e aprenda algo novo. Tudo, é claro, está disponível para você no repositório do GitHub ou um indivíduo apenas incluindo as texturas, observe o arquivo de credores a propósito, você vê sob qual licença ou texturas foram distribuídas. Muito obrigado, mas seja qual for o caso, vejo você na próxima palestra. Então, sim. 62. (Armor) fazendo um efeito completo: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos dar uma olhada em como você pode implementar um efeito de blindagem total ou seu mapa. Agora, o que isso significa, efeito de armadura total significa basicamente que você obtém um efeito de status aplicado ao seu personagem quando você usa um terno completo de um material de armadura específico. E a maneira como isso funcionará é no pacote personalizado aqui, vou clicar com o botão direito do mouse em nova classe Java. E isso será chamado de item de armadura mod. E isso estenderá o item de armadura mais. E, na verdade, vou copiar o todo desta classe. Isso está disponível para você mais uma vez no repositório do GitHub ou apenas. E vamos passar por isso, como se eu fosse explicar tudo à medida que basicamente passamos por isso. Então, nós só temos mais materiais de armadura, seu.org, cálcio eles atrás, e isso deve funcionar, certo? Então, o que está acontecendo aqui? Bem, a primeira coisa que você pode ver é que temos um campo, um campo final estático privado ou o material a afetar o mapa. Agora, este mapa mapeia um material de armadura para um efeito de status específico. Certo, isso é justo o suficiente. Então isso significa que, se você tiver esse conjunto específico de armadura, esse material tem esse efeito será aplicado a você. Agora, a razão pela qual estamos usando uma instância de efeito de status é porque a instância ou também salva a duração e o amplificador. E podemos basicamente mudar isso individualmente. Esta instância em particular na verdade, nunca vamos usar. Aqui embaixo, estamos criando uma nova instância apenas com os mesmos valores dessa instância, porque, de outra forma, ela não funcionaria. Porque uma vez que uma instância aqui é usada, você não poderá usá-la novamente. Mas isso é só para as pessoas que já teriam pulado e falado como, espere, isso não funciona. Isso é totalmente bom. Na verdade, funcionará. Você verá, e este ano tem é claro, apenas um item de armadura, mas na verdade é muito fácil adicionar outro. Vamos simplesmente pegar este pé aqui e colocá-lo em mais uma vez. Então você pode ver que é realmente o quão fácil é. É instância de efeito de status Eu recomendo sempre ir acima de 200 ou a duração do tick aqui. Porque se você estiver em dez segundos do efeito de sua sentença começando a esgotar, então ele começará a piscar. E isso significa basicamente, porque isso é aplicado toda vez uma e outra vez, que ele piscará constantemente no canto superior direito e isso pode ser muito irritante. Há também um ponto em dizer, bem, talvez uma vez que a armadura seja retirada, cada efeito ou esse efeito específico deve ser retirado. Há um ponto em fazer isso. Não vamos fazer isso neste exemplo. Como se houvesse uma pequena limitação neste exemplo, mas tenho certeza que isso vai ficar bem. Então, o que acontece então? Bem, nós substituímos o método de seleção de inventário, que é chamado de cada tick. Se esse item específico ou um desses itens estiver dentro do inventário, primeiro vamos verificar se estamos ou não no servidor porque queríamos estar no servidor para isso. E estamos nos certificando de que qualquer entidade tenha isso em seu inventário seja realmente um jogador. Esse é o caso, então podemos ter certeza de que podemos lançar para a entidade para um jogador. E então vamos verificar, ei, esse jogador tem um terno completo de armadura? Então este é um método que eu fiz aqui, onde basicamente obtemos todas as diferentes pilhas de blindagem e certificando-se de que nenhuma delas esteja vazia. Então basicamente dizendo: Ei, se o jogador tiver um traje completo de armadura, neste momento, não estamos verificando o material, apenas que cada um dos slots de armadura está realmente preenchido. E se for esse o caso, continuaremos com o método de avaliação de efeitos de armadura. E dentro daqui, estamos basicamente passando por todo o material para afetar o mapa e basicamente apenas obtendo a instância de efeito de status da entidade material de blindagem que está dentro do mapa. E então vamos verificar, ei, se o jogador realmente tem o efeito de armadura, ou seja, agora que estamos basicamente procurando. É claro que há um loop for que vai passar. Se tivéssemos oito deles, então nós vamos passar e vai ser como, Ei, faz o, o jogador tem esse material de armadura que os proprietários têm esse material ligado, eles tem esse material de armadura? E somente se o material para cada um dos peitorais do capacete que fica em Botas realmente corresponder. Só então vamos adicionar o efeito de status para a armadura específica aqui? E só para que tenhamos, novamente, estamos realmente verificando isso. Novamente, isso não é estritamente necessário aqui. No entanto, o que é estritamente necessário em altamente recomendado fazer isso é o efeito do jogador booleano que eu basicamente coloco aqui. E a ideia aqui é que isso basicamente só adicionado se o jogador não tiver o efeito novamente. Caso contrário, isso seria adicionado cada carrapato 20 vezes por segundo. E passar por tudo isso 20 vezes por segundo pode realmente retardar o jogo de forma bastante significativa. Portanto, é uma ideia muito inteligente que basicamente não faz isso e absolutamente para isso aqui. Também adicionando o efeito várias vezes. Só não é uma boa ideia. E você pode ver aqui que estamos realmente fazendo uma nova instância de efeito com o tipo de efeito, a duração e o amplificador da instância de efeito de status real que definimos aqui. Então é isso que eu venho dizendo. Na verdade, nunca vamos usar essa instância por si só. Estamos basicamente recebendo o amplificador de duração e o efeito lá. E então há algo que é possível que você não precisa necessariamente implementar. E isso está aqui. Eu tenho isso, para que haja 40% de chance de danificar a armadura toda vez que um efeito é basicamente aplicado. Agora você não precisa fazer isso. Então eu também posso descomentar todas essas três linhas e, em seguida, vamos ficar bem também. Eu só queria acrescentar isso também, apenas se algumas pessoas se perguntarem isso do que podem. Então, de onde conseguimos esse código? Bem, a maior parte disso é praticamente apenas conhecimento Java com um pouco de conhecimento moderno misturado. E isso é algo que você pode fazer depois de entender mais intuitivamente o Java e a modelagem e depois combinar os dois e, em seguida, criar algo personalizado como este. Eu não diria com bastante facilidade, mas sem muito incômodo. Então, isso realmente se resume a conhecer Java. Então isso é como mais um apelo para você que, você sabe, especialmente nas próximas palestras, especialmente quando passamos basicamente da seção de ferramentas e armaduras para os conceitos intermediários, estamos realmente vai continuar com o entendimento inerente que você vai precisar para o Java. Mas não vamos ficar muito loucos com esse preâmbulo aqui. Vamos realmente nos livrar dessas duas importações. E então o que vou fazer é ir para a classe mais itens. E eu geralmente só faço o capacete, o item de armadura de modo. Você não precisa colocar tudo em mais item de armadura em um conjunto de materiais de honra mod. Você só precisa colocar um. Eu pessoalmente escolho o capacete porque acho que o capacete faz mais sentido basicamente tomar cuidado com o resto do peito. Mas também pode fazer sentido, mas o que você preferir, é claro, mas apenas um para cada conjunto de materiais. Muito importante, certo? E isso, na verdade, é tudo o que precisamos fazer. Então, vamos ver se funciona ou são referidos como Minecraft. E como você pode ver, eu já tenho o voo de neblina para mim porque é claro que estou usando a armadura completa. E isso é muito legal. Então este é Haze também porque colocamos o amplificador em um. Deixe-me colocar rapidamente o capacete para que possamos ver que isso vai basicamente desaparecer. Eles atrás, ele se foi. E essa neblina para, porque o amplificador basicamente é um amplificador aditivo, certo? Então, se eu não tivesse nada lá dentro, seria apressado um, amplificador de um, fase dois, e um incêndio empregador dos três de hoje , bastante simples. E você pode ver, mesmo que eu tenha o resto aqui, desde que eu não tenha o capacete ligado, ele não funciona e assim que eu colocá-lo no ego, agora, é claro que acontece assim que eu pego o armadura fora, a pressa persiste. Isso é algo que você poderia, por exemplo, adicionar se quisesse. Essa é uma funcionalidade que você poderia fazer, certo? Uma coisa rápida que é muito importante. Esse objetivo aqui realmente não funcionará, mas essa é outra limitação é que isso, obviamente, não funciona porque não temos um item de material de armadura MOD lá naquele momento. Então, na verdade, isso não vai funcionar. Então, isso realmente funciona apenas com materiais de blindagem de modo personalizado por enquanto, seja quem for, talvez no futuro eu atualize essa classe e seguida, ela também pode ter essa funcionalidade. Quem sabe, certo? Mas seja qual for o caso, é isso para esta palestra aqui. Espero que você tenha achado útil e tenha aprendido algo novo. Vejo você na próxima palestra. Então, sim. 63. (Armor) criando uma armadura de cavalo personalizada: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos adicionar armaduras de cavalos personalizadas, ter o Minecraft. Agora, a armadura de cavalo personalizada é realmente uma coisa muito interessante porque há uma pequena reviravolta lá que precisamos ter em mente. Então, vamos abrir a classe mais itens, e vamos apenas copiar sobre as botas de goma oracle. E isso vai ser renomeado para se preocupar CAL vem cavalo, sublinhado armadura. E então a mesma coisa no nome aqui, ou armadura sublinhada, e este é um item de armadura de cavalo. Agora, isso também leva em três parâmetros. O primeiro é o bônus, então este é o bônus árabe que o cavalo recebe. E o segundo é uma string. Esse é o nome da armadura de cavalo real, o que será importante porque esse nome tem que corresponder ao nome do arquivo. Então, se realmente o botão do meio do mouse, clique sobre isso. Você pode ver que isso está procurando a textura sob entidade de texturas, armaduras de cavalo, sublinhados de armadura de cavalo, sublinhado, sublinhado de armadura, qualquer que seja o nome colocamos como parâmetro aqui. Agora isso, mais uma vez, na verdade, tem que ser colocado sob o namespace Minecraft, mas não se preocupe, vamos fazer isso. Vamos ver isso em apenas um momento. E se eu clicar no botão do meio do mouse sobre isso, à direita. Então essa é a ideia geral aqui. E isso é praticamente tudo o que você realmente precisa saber. Então, o que é muito importante é que o bônus aqui. Então, só para que você tenha alguns valores de comparação, o ferro tem cinco bônus, a armadura de cavalo dourado tem sete bônus e a armadura de cavalo de diamante tem 11 prancha com 15. A armadura de cavalo de cálcio é realmente muito, muito forte. Mas é claro que, mais uma vez, os números podem ser ajustados da maneira que você quiser. Vamos antes de tudo entrar no E e nos sublinhar arquivo adjacente e adicionar a tradução. Lá vai você. Todos os arquivos JSON e tudo isso também estão, naturalmente, disponíveis para você no repositório do GitHub ou um interesse individual também. Porque vamos copiar sobre o modelo do item mais uma vez, porque é claro, ele simplesmente aponta para uma textura normal na pasta de texturas. Então, nada de ano louco, este é o item real. Ele é exibido no inventário. E então a armadura 3D mais uma vez tem que entrar na pasta Minecraft, mas não se preocupe. Na pasta texturas, vamos criar uma nova pasta ou diretório chamado entidade. E então dentro de lá, clique com o botão direito novo diretório para horse. Dentro de lá dentro do botão direito do mouse em novo diretório chamado armadura, mais uma vez, apenas com um O, então a ortografia americana. E então vamos copiar sobre o arquivo aqui, ou é uma armadura sublinhada sob parafuso ou um cálcio. Mais uma vez, o nome aqui tem que corresponder com esse nome aqui e, em seguida, ele será exibido corretamente 0. Agora, vamos ver Para obras ou descobri como uma microtendência pode ver, a armadura de cavalos foi adicionada com sucesso ao jogo, como teria sorte. Temos um cavalo domesticado ao nosso lado. Então, vamos ver. E aí está, a armadura de cavalo em toda a sua beleza, o oráculo vem armadura de cavalo. Então isso é muito incrível se eu mesmo disser isso. Borracha, isso já é para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo, e eu te vejo na próxima palestra. Então, sim. 64. (Armor) adicionando um encantamento personalizado: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos dar uma olhada em como você pode adicionar encantamentos personalizados, quem Minecraft. Então, para isso, vamos entrar em nosso pacote de cursos MC. Clique com o botão direito em novo pacote chamado encantamento. E lá precisamos de duas classes diferentes. O primeiro será o modo encantamentos. E o segundo será o encantamento do atacante relâmpago. Este é o verdadeiro encantamento que vamos implementar. E o outro é basicamente registrar os Encantamentos. Mas o que vamos fazer é estender isso pela classe Chen aqui, reconstrutor combinando supra. E vamos mudar isso para público. E então muito importante que mudemos a matriz aqui, os três pontos. Isso simplesmente nos permite passar em vários slots de equipamentos no final e eles são convertidos em áreas automaticamente basicamente. Agora, a classe de encantamento realmente tem alguns métodos que você pode substituir quem quer que seja para nós, a coisa número um é, em primeiro lugar, o método de nível GetMax, que é muito importante porque nós realmente precisa voltar para aqui. Portanto, o método de nível GetMax retorna quantos livros serão gerados e quantos níveis desse encantamento existem. Portanto, isso é muito importante para substituir os livros a propósito, você é gerado automaticamente, então você não precisa fazer nada por isso. Esse nível basicamente significa que esse nível basicamente define quantos serão gerados. E agora o que esse encantamento vai fazer? Bem, quando temos esse encantamento em nossa, em uma arma. Então o que vamos fazer é gerar um clareamento se forem relâmpagos de nível 1 e 2 se for o nível 2. Portanto, o método para substituir isso é o método danificado pelo alvo. E o que vamos dizer antes de tudo é que vamos dizer se o mundo do ponto do usuário é cliente, muito importante aqui com um ponto de exclamação na frente sendo que queríamos estar no servidor. Então podemos dizer mundo do servidor. O mundo é igual ao mundo dos pontos do usuário que elenco. E então, geralmente, quando você faz o pedido concluído para o mundo do servidor, geralmente que basicamente você tem isso também, sugere que N já está lá. E então também podemos dizer que camada de entidade do jogador é igual à transmissão de pontos do usuário. Mais uma vez, pressione a tecla tab para preencher automaticamente e, em seguida, coloque a entidade do jogador aqui. E então está tudo bem. Também vamos obter os caminhos de bloco, que é a posição igual ao ponto alvo, obter posição bloqueada ou blogposts. Vamos clicar nisso e pressionar Alt e Enter para importá-lo. E então precisamos verificar o nível. Você pode ver que o nível aqui é dado como um parâmetro. Então esse é o nível do encantamento real. E outra grande questão é como você gera um clareamento? Na verdade, é bastante fácil. Vamos dizer que raios tipo entidade que surgem com o mundo. Nulo aqui, e nulo para o nome, o parâmetro do jogador, a posição e, em seguida, geram motivo que acionou regra e true. E isso é praticamente tudo o que precisamos fazer aqui para gerar um clareamento. A propósito, isso funciona para qualquer tipo de entidade. Então você poderia basicamente substituir esse raio por, por exemplo, um porco, e ele ainda deve surgir naquele momento. Então isso seria, claro , muito interessante. Esse seria o encantamento do atacante de porcos. Mas isso é claro agora o que vamos implementar agora. Queríamos o relâmpago ou o encantamento. Então, vamos dizer se o nível for igual a dois e vamos aparecer para forros. Então isso é praticamente tudo o que realmente precisamos fazer aqui. E essa é a classe de encantamento basicamente feita. Então, agora vamos passar para a classe moderna dos campeões. E dentro daqui teremos dois métodos que precisamos definir. Um deles é o vazio estático público chamado de modo de registro Shetlands. E isso será chamado mais tarde na aula de mod do curso MC. Isso, mais uma vez, apenas sistema de linha de impressão registrando encantamentos mod, encantamentos mod. Para mod de núcleos MC, mod ID. Então precisamos de um encantamento estático privado que se registre com um nome de string e um encantamento colocado em Shetland. E isso simplesmente retornará os dados do registro, registro, ponto de registro Pentland com um novo identificador de MC course mod mod ID, um nome. E depois dos primeiros parênteses, como nos Encantamentos, perímetro e ego, isso registrará o encantamento. Isso é muito semelhante à forma como basicamente fizemos isso na classe mais itens ou blocos de motores. E depois faremos os Encantamentos. Portanto, este é um encantamento estático público ou um atacante de sublinhado iluminador, que é igual ao método de registro. O nome aqui é uma munição iluminadora do atacante sublinhado e, em seguida, um novo ataque de iluminação ou encantamento. Então este aqui. E então podemos passar no encantamento essa raridade incomum. Por exemplo, o alvo de encantamento por vírgula será uma arma exatamente esta. E então o slot do equipamento será a mão principal. E então terminando isso e lá está. Então, isso é tudo o que há para ele. Um dos cantos, é claro, disponível para você no repositório do GitHub ou em ajustes individuais também. E isso, na verdade, é o encantamento já feito. Agora só precisamos nos ligar para o curso MC, multi-classe. Então, aqui, mais encantamentos que registram remessas modernas. Isso é realmente muito importante se isso não for adicionado a eles, não funciona. Isso é muito, muito importante. E depois há mais uma coisa no ouvido e nos sublinha o arquivo JSON. Também vamos adicionar na parte inferior aqui, a tradução. Então isso é encantamento e o raio do curso MC sublinha Stryker. E isso é claro, um disjuntor de iluminação, muito importante. Só precisamos de uma dessas traduções aqui. Então você pode ver que é isso e isso para cada um dos níveis, na verdade só precisamos traduzir isso uma vez. E então ele se traduzirá para todos os níveis dos Encantamentos. Mas, depois de ter adicionado tudo isso, vamos ver se funciona. Ou somos fãs de volta em microfinanças, você pode ver o relâmpago ou o presidente foi adicionado com sucesso. Vamos apenas adicioná-lo ao oráculo ou aqui. Um para o primeiro e depois para o segundo. Certo, então vamos experimentar essas ovelhas. Então, vamos ver. E lá vai você. Na verdade, funcionou. E vamos fazer o outro. Mas isso basicamente irá para relâmpagos. Não é muito perceptível, mas funciona. Você pode ver lá você entra e faz o outro, isso prejudica um pouco mais. Mas, por exemplo, para as ovelhas, elas morrerão em quase um golpe de qualquer maneira. Portanto, não é tão perceptível. Bem, sim, o tratamento funciona. Então isso é muito legal, certo? E isso já é para esta palestra aqui. Espero que você tenha achado útil e tenha aprendido algo novo. Se ele o fizesse, eu agradeceria muito uma crítica sua. Caso contrário, verei você na próxima palestra. Então, sim. 65. (Intermediate) blockstate: Ou eu dou as boas-vindas de volta ao curso de tecido para 118. E nesta palestra, vamos dar uma olhada nas propriedades do estado de bloco. As propriedades de estado bloqueadas são algo que já vimos anteriormente. E isso estava na porta, nas escadas e em todos esses blocos não bloqueados, ou seja, nos arquivos JSON para os estados de bloco aqui. Então, por exemplo, se dermos uma olhada na porta, essas aqui eram as propriedades do estado do bloco em. Agora vamos dar uma olhada em um exemplo. Mas antes de tudo, vamos passar por um pouco da teoria. E para isso vamos sair dos slides do PowerPoint. Claro. A primeira distinção que temos que fazer é entre um bloco e um estado de bloco. Isso é muito importante porque o bloco é, na verdade, um tipo de padrão singleton. Portanto, isso significa que em nossa classe de caixa de correio, ou para baunilha na classe blocks, cada campo de bloco é criado uma vez para cada um dos blocos. Portanto, esse é um tipo de padrão singleton. Sua pergunta resulta de como, por exemplo, o que economizamos um bloco dentro do mundo? Bem, fazemos isso com os estados do Bloc. E esses são basicamente casos de um bloco específico dentro do mundo. Dizem, por exemplo, a posição do bloco, a propriedade do bloco. Portanto, esse seria o comportamento que passamos para o bloco que criamos e as propriedades do estado do bloco também. Mas esta é a principal coisa que vamos dar uma olhada nos slides a seguir. E a ideia é que os estados de bloco são basicamente salvos pelo mundo e eles também só podem ser alterados pelo mundo. E isso é feito, por exemplo, fazendo o estado de bloco ponto-ponto mundial e depois passando alguns parâmetros. Agora, vamos passar para a ideia de bloco, digamos propriedades ou como armazenar dados em blocos. Agora, uma espécie de segundo título aqui não está certo, mas está certo o suficiente. Então, temos um exemplo aqui da classe pública, Redstone ou bloco. E você pode ver que ele tem uma propriedade booleana chamada lit. E este ano é exatamente o bloco dizer propriedade. Nós definimos isso na classe de blocos. Então, no começo, você pode ser como, isso é meio estranho, certo? No entanto, esse é um rendimento específico aqui. É por isso que não podemos usar apenas um booleano dentro da classe de blocos. A classe de bloco só existe uma vez? Então, o campo booleano, se você tiver apenas um campo booleano lá, ele realmente seria alterado para cada estado de bloco dentro do mundo para esse bloco. E é claro que isso não está certo porque se um específico ou bloco dentro do mundo está aceso, é independente de todos os outros ou blocos, exceto se eles podem estar próximos um do outro. Isso é algo totalmente diferente. Assim, você pode ver que precisamos chamar o método append properties e precisamos basicamente substituir isso e adicionar todas as nossas propriedades ao construtor aqui. E isso basicamente faz todo o trabalho pesado para nós. A propriedade sempre tem um valor muito importante. Portanto, não pode ser nulo. O bloco pode ter várias propriedades diferentes. Vimos isso na porta também, por exemplo. Então a propriedade do estado do bloco que usei para referir-se diferentes modelos dentro do a diferentes modelos dentro do bloco Estados Jason ou um bloco, como o bloco de escadas permanece Jason ou como vimos a situação da porta Brock também. E então essa é a diferença aqui. Então, se LET é falso, então parece que isso e eu acendi é verdade, então parece assim. E mudamos o estado do bloco. Bem, podemos apenas chamar o, bem, só temos que ter a variável mundial aqui em algum lugar. E então definimos o estado de bloco em uma posição específica com o novo estado. E então este ano é apenas uma bandeira, basicamente que notifica todos os vizinhos de todas as maneiras que eles precisam ser notificados para n. Sim, essa é praticamente a ideia de que estamos mudando uma caixa que acontece no mundo, certo? E isso também acontece no servidor. Então isso também é muito importante. E passamos na posição, esta é a posição do estado real do bloco e parâmetro de soquete é o novo estado ou aquela posição do bloco. E então o terceiro parâmetro, como eu disse, é apenas o comportamento atrasado, é apenas atualizar basicamente os vizinhos e tal. Esta apresentação e a folha de truques também estão disponíveis para você para download. Mas agora vamos voltar à inteligência e ao pressionar shift duas vezes e começar a digitar um Redstone ou bloco. E se você tiver isso, este ano e então podemos entrar no bloco real si e você verá que é exatamente exatamente aqui, certo? Portanto, propriedade booleana final, estática pública chamada lit. E isso é exatamente certo. E se formos aqui, podemos ver que este ano o mundo definiu caminhos de estado de bloco e , basicamente, é o estado iluminado. E agora se transforma em verdade. Esses três aqui são praticamente o mesmo que notificamos o comportamento que vimos. Você pode fazer três ou outra coisa lá dentro. Não vamos nos preocupar muito com o comportamento de atualização para nossos propósitos. 3, sempre vamos usar três, certo? Então eu recomendo dar uma olhada no Redstone ou na classe, porque este é provavelmente um dos exemplos mais fáceis realmente dar uma olhada. Mas, por enquanto, na verdade, vamos criar nosso próprio bloco personalizado agora. Então, com uma propriedade de estado de bloco do cliente. E para isso vamos entrar em nosso pacote personalizado, mouse em nova classe Java. E vai ser o bloco da lâmpada Oracle vem que vamos fazer uma lâmpada. E isso vai estender a classe de blocos. Claro, quero dizer, vamos passar o mouse sobre criar, construtor correspondendo super. E, no topo, vamos adicionar uma propriedade booleana final estática pública da propriedade net microstate. E vamos chamar isso clicado, que é igual à propriedade booleana.gov. E, em seguida, um parâmetro de cadeia de caracteres clicado. Então, estou chamando isso clicado. Isso não é o mesmo que LET. É claro que também poderíamos chamar a fenda ou sobre ou algo assim. Mas clicado vai ficar bem. Porque o que podemos fazer é poderemos o botão direito do mouse neste bloco e, basicamente, ativá-lo e desativá-lo. Então essa é a ideia geral aqui. E, claro, antes de tudo, precisamos chamar o método append properties ou substituir isso. E isso é tão fácil quanto apenas adicionar pontos do construtor e, em seguida, adicionar a propriedade click a ela. Se você tiver várias propriedades, basta separá-las por vírgulas e adicioná-las também. Então, é claro que isso não faz sentido, porque adicionar a mesma propriedade duas vezes não faz sentido. Mas se você tivesse outro, então você poderia apenas adicionar isso lá também. Outra coisa que vamos fazer é dizer este estado de bloco padrão definido de pontos, este ponto obtém o estado de bloco padrão que com buracos lambidos. E isso, o que isso faz é que qualquer que seja o estado de bloco padrão desse bloco real, uma vez que o definimos pela primeira vez, vamos nos certificar de que a propriedade clip é sempre falsa em dessa vez. Então essa é apenas a ideia geral. E então vamos substituir o próprio método de uso aqui. Vamos retornar o resultado real como um só com isso um pouco melhor. E depois verificaremos antes de tudo, que não estamos no cliente. Então, mais uma vez, isso garante que a marca de formação aqui esteja ou não no cliente. E queremos que a mão seja e as mãos principais. Então, isso só é chamado uma vez. Vamos pegar um booleano em Nova York chamado clicado. E isso vai ser “state dot get” e depois clicado assim. E aqui, claro, você pode ver que já estamos recebendo o status. Portanto, esse é o estado de bloco real em que clicamos com o botão direito do mouse e vamos apenas obter o valor da propriedade booleana clicado no estado em que acabamos de clicar com o botão direito do mouse. Mas essa é a ideia geral. E então vamos dizer que o mundo definiu o estado de bloco na posição em que clicamos com a largura do ponto do estado lambida. E então, basicamente, fazemos um VAP. Então, um curso de heróis de vírgula que é muito importante na verdade. Então lá vai você. Então, defina o estado de bloqueio mais uma vez nisso, em uma posição específica. Depois, com o estado, com a variável clicada sendo o oposto do que era antes. E então estamos apenas atualizando todos os vizinhos também. E isto é, eu sei muito louco, na verdade, tudo o que precisamos fazer aqui. Claro, se você tiver mais complicado para blocos e blocos, isso que você queria implementar. Bem, é só uma questão de experimentar um monte de coisas, definitivamente. E também um monte de conhecimento Java definitivamente ajuda aqui. Então, se realmente o botão do meio do mouse, clique na propriedade booleana e seguida, vá para a propriedade aqui, pressione Control H. Podemos ver que existem booleanas nas propriedades e também propriedades enum. Portanto, esses são basicamente os três valores ou tipos de propriedade de estado de bloco grande que você pode colocar em um bloco. Eu recomendo também dar uma olhada em outros blocos de baunilha e como eles fazem isso. Mas vamos continuar e, na verdade, obter o bloco registrado para isso. Vamos apenas pegar o bastão na cerca aqui. E esta será a lâmpada de cálcio, é claro. E, ou lâmpada calcânea aqui também. E este é um novo ou um bloco de lâmpadas. O ego. E o resto disso realmente pode ficar. Mas eu queria adicionar mais uma coisa a isso. E isso será basicamente depois que as ferramentas requerem aqui, eu quero adicionar a luminância aqui. E isso basicamente é a e C, a a função Int com um estado de bloco. Agora, o que é isso? Isso parece muito complicado. Na verdade, não é. Então, vamos pegar isso e eu vou formatá-lo assim. E a ideia geral é que isso é apenas um hype de, você pode pensar nisso como um fornecedor, certo? Então lembre-se, o suprimento era esse e depois devolva algo. No entanto, neste caso, escrevemos algo entre parênteses e esse é apenas o estado aqui. E então podemos fazer ponto de estado, obter o resultado, o bloco de lâmpada de resultado. E na verdade temos um erro de digitação aqui, sem preocupações. Então, se você tiver um erro de digitação, você pode basicamente pressionar Shift F6 e então você pode alterá-lo. E então nós apenas mudamos isso para já lâmpada de cálcio. Sorte, lá vai você. E então podemos passá-lo aqui também, ou pode aterrar bloco clicado. E então vamos dizer ponto de interrogação 15, Polônia 0. Agora, o que isso faz? O que está acontecendo aqui? Alguns de vocês podem dizer que isso é absolutamente louco. Isso na verdade não é tão louco. Portanto, a luminância leva uma função para Int do estado de bloco como você pode ver. E a ideia geral aqui é que a função two int, certo? Bem aqui, não estamos recebendo nada. Então, o que é isso? Bem, é simplesmente um, requer que um número inteiro seja retornado e passamos em um estado de bloco aqui. Isso é praticamente tudo o que realmente precisamos saber um ano. Portanto, temos um estado de bloco que podemos usar, e então, de alguma forma, temos que retornar um número inteiro. Então, é praticamente o mesmo se eu escrevesse algo assim, certo? Então, e então eu digo estado de bloco, isso é praticamente a mesma coisa. Retornamos um número inteiro e passamos em um bloco sentar. Agora, isso é feito muito mais fácil, tudo em uma linha. Na ideia aqui é que, com o real, digamos que a função que escrevemos aqui é apenas um, obtemos o valor de Clicked desse estado. E se for verdade, vamos retornar 15. Então, basicamente, ligamos a luminância, então tentamos e brilhamos. E então, caso contrário, vamos retornar um 0. Então isso é tudo o que fazemos aqui. Se você quer apenas algo para tentar e você também pode simplesmente fazer isso e retornar 15, e então o bloco sempre dará uma luz agora as outras coisas interessantes, é claro serão as bloco Estados Jason. Então, mais uma vez, eu realmente copiarei isso, mas isso é claro que está disponível para você no repositório do GitHub ou no GIS individual. E você verá que na verdade não é tão louco. Simplesmente clicamos em igual false ou clicamos igual a true. E então, dependendo disso, ele aponta para dois modelos de sorte diferentes. Então, é praticamente isso. O arquivo de comprimento. Quero dizer, isso realmente vai ser muito fácil também. É apenas um bloco recalc ficar debaixo uma lâmpada e depois sentar aqui ou um sublinhado, sem lâmpada sublinhada. Isso às vezes acontece lá, sua lâmpada Oracle VM, nem está lá. E então vamos copiar sobre os arquivos do modelo de bloco vale a pena para a lâmpada acesa e para a lâmpada desligada. E ambos apenas se referiram a duas texturas diferentes como você pode ver, ou lâmpada ligada ou desligada. Então, nada muito louco. E então vamos realmente obter o modelo do item da lâmpada também. Nada muito louco, apenas se refere à lâmpada aqui. E então vamos obter as texturas de blocos. E então, e então estamos praticamente acabados com isso. E agora vamos ver se funciona. Ou ataque ofensivo e microvesículas veem que o Oracle pode pousar foi adicionado ao jogo. E se eu clicar com o botão direito do mouse, eles, você vai, ele liga e desliga, pois isso é muito legal. Agora, a razão pela qual não obtemos nenhum, como a funcionalidade de clicar com o botão direito do mouse, a mão basicamente se move é porque colocamos o passe do botão direito do mouse. E isso é claro, para que possamos mais, melhor basicamente colocar blocos abaixo adicionados. Porque se não tivermos o passe lá, então, você sabe, isso é um pouco estranho. Portanto, é claro que você também pode alterar o resultado real que você retorna no método não utilizado. Isso também é sempre algo que você pode apenas experimentar e ver quais são as diferentes funcionalidades. Mas, como você pode ver, funciona totalmente bem. E eu posso simplesmente mudar o extra, bem como, claro, ativá-lo. Então, se eu só faço momentos à noite para que tenhamos isso e veja bam, bam, bam, lá está. Posso apenas acender a luz ou desligá-la. Então isso é muito legal. Borracha, isso já será para esta palestra aqui. Espero que você tenha achado útil e aprenda alguns dos novos. E eu vou te ver na próxima palestra. Sim. 66. (intermediário) como os dados NBT?: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos dar uma olhada nos dados do NB TY. Assim como as propriedades do estado do bloco são basicamente dados que você pode salvar em um estado de bloco. Nos dados BT estão os dados que você pode salvar em pilhas de itens. Portanto, as pilhas de itens são dois itens , pois os estados do bloco são dois blocos. Portanto, o item empilha o lanche real que você tem em seu inventário, enquanto um item é a ideia geral desse item. Mas, mais uma vez, um único padrão de certa forma. E a forma como vamos dar uma olhada nisso é que vamos criar um novo item chamado tablet de dados. E isso salvará o último resultado das varas de dowsing. Essa é a ideia geral para que copiaremos sobre um monte de código. Tudo isso está disponível para você no repositório do GitHub ou em um indivíduo também. Basta dar uma olhada nos recursos. Eu recomendo dar uma olhada neles, ajudá-los comigo à medida que avançamos. E antes de tudo, para isso, vamos precisar do novo item. Portanto, isso é clicar com o botão direito do mouse no pacote personalizado e este é o item do tablet de dados. Isso vai estender a classe do item. Claro, isso foi passar o mouse sobre esse construtor de criação combinando super aqui. E este é, na verdade, bastante simples. Então, as coisas que queremos fazer é fazer esse vislumbre por semana, basicamente um para esse efeito brilhante quando isso realmente tem em dados VT. Assim, podemos substituir o método has glint. E então o que vamos voltar aqui, você pode ver que estamos realmente recebendo a pilha aqui. E isso é ótimo porque o que podemos fazer é simplesmente retornar ponto da pilha tem MBT, exatamente certo? Então, cada vez que um tablet de dados tiver dados NVT adicionados a ele, vamos fazer isso brilhar. Então, o que eu também quero poder fazer é que eu queria clicar com o botão direito do mouse nesta poeira no ar e excluir os dados oferecidos. Então, como você pode ver, vamos usar o método dos EUA aqui. E o que vamos apenas verificar é que vamos dizer, ei, se user.name ficar pilha na mão com a mão que acabou de clicar, certo? Se essa pilha como NVT do que o que vamos fazer é basicamente vamos redefini-la. O que vamos dizer é que vamos dizer o usuário ponto, empilhar e terminar com a mão. Vamos apenas dizer definido em VT. Sabíamos no composto BT. E essa é praticamente a ideia geral. O tem NVT no conjunto e VT. E então, em apenas um segundo aqui, também vamos ver o, basicamente eles recebem NVT. Esses são os três grandes métodos que você precisa basicamente ter em mente. Então, também vamos fazer uma dica de ferramenta aqui, e isso será exibido quando a pilha real tiver dados MVT. Então empilhe ponto como MVT novamente. E só então queremos adicionar uma string. Digamos que chame isso de atual ou aqui. E vamos dizer pilha ponto-ponto ponto, ainda NVT desta vez. E a maneira como obtemos valores diferentes aqui que você pode ver para colocar em C, posso obter alguns tipos diferentes de dados aqui, e sempre tenho que obter uma chave lá. Vou usar o ponto do curso MC. Ou é assim que vou chamar essa chave. O que eu recomendo é sempre começar com seu ID marr e, em seguida, um ponto e, seja qual for o nome real dessa variável armazenada. E então podemos apenas adicionar pontos de dica de ferramenta reta. E então dizemos novo texto literal, neste caso texto literal com a corrente ou como uma string e eles vão, e isso é praticamente a classe de item de tablet de dados feita. Vamos ler imediatamente este ano porque isso vai tornar isso um pouco mais fácil para que a fuga pegue a armadura de cavalo recalc. E este será o tablet sublinhado de dados. E aqui o mesmo tablet sublinhado de dados. E aqui está o item do tablet de dados exatamente certo. E só precisamos das configurações normais aqui, é claro, elas atrás. E também adicionaremos a contagem máxima aqui para que possamos ter essa pilha apenas para uma. Então, esse será o tamanho Max Stack de um. Isso é muito importante. E agora, é claro, precisamos de alguma forma definir o que algumas coisas, adicionar os dados NVT ao nosso item de haste de desvio. E para isso, na verdade, vamos criar uma classe util porque isso tornará nossas vidas um pouco mais fáceis de usar em um pacote util, vamos clicar com o botão direito do mouse em nova classe Java. E este será o inventário Util. E vou copiar os dois métodos aqui. E isso é apenas para economizar algum tempo basicamente, porque eles provavelmente serão reutilizados várias vezes que você pode ver como pilha de jogadores e inventário, isso verifica se esse jogador em particular ou não tem esse item específico em seu inventário. E então eles recebem as primeiras verificações de índice de inventário através do inventário deste jogador, obtém o primeiro índice dentro desse inventário onde este item está presente. Essa é a ideia geral aqui. E vamos usar os dois na verdade. Então, vamos para a massa do item da haste de dowsing aqui. E o que vamos fazer é adicionar uma coisa em particular. E isso é basicamente dentro dos EUA em um método de bloco, certo? O que queremos fazer é dizer, Ei, se a camada tiver o tablet de dados em seu inventário, então queremos basicamente adicionar dados NVT a ele. Então, vamos dizer se. E então podemos dizer inventário, util dot como pilha de jogadores no inventário, podemos dizer jogador, e então o item é apenas mais itens, tablet de dados de ponto. Portanto, se isso estiver no inventário, queremos adicionar os dados NVT a ele. Bem, vamos pensar sobre isso. Vou copiar o método para isso porque na verdade tenho um método para isso. E este é um método privado aqui chamado add vt ao tablet de dados. Você pode ver. E o que isso faz é realmente bastante simples. Na verdade, não é muito louco. Em primeiro lugar, vamos obter a pilha de tablets de dados aqui. Obtendo a pilha e obtendo o primeiro índice de inventário da tabela David. Então, vamos ter o primeiro tablet de dados que está dentro do inventário como muito importante. Então, se tivéssemos dois dados nos informando no inventário, substituiríamos os primeiros em dados de VT. Isso é muito importante. Agora, como definimos os dados NVT? Você pode ver aqui, vamos criar novos compostos. Então o composto NVT é o que precisamos criar. Vou colocar uma corda lá com a chave. Mais uma vez, o ponto do curso MC sublinhado ou. E então aqui está a corda. Então essa é praticamente a mesma string que tínhamos aqui na saída. E então dizemos tablet de dados em dados NVT definidos. E passando este composto NVT, teríamos acabado de colocar uma corda. E então, dentro da instrução if, vamos chamar isso de adicionar dados NVT ao tablet de dados com o player. E vou dizer que a posição clicou no ponto adicionar 0 menos I 0. E então o bloco abaixo, é muito semelhante ao que tínhamos nas coordenadas de saída. Mas, por enquanto, isso vai ficar bem. E isso é praticamente tudo o que precisamos fazer. Então isso é basicamente tudo o que há para ele. Neste método particular que é privado, onde adicionamos esses dados a ele e seguida, o inventário util, tornando-se um útil em alguma outra área também. Então, isso também é um legal muito frequente. E sim, essa é praticamente a ideia. Mais uma vez, os dados NVT, ao contrário disso, os métodos mais importantes são os dados set e VT na pilha. Obter dados NVT na pilha e o tem dados NVT na pilha. Então, esses são os três métodos principais. E então, no próprio composto NVT, você pode basicamente ver que eu também posso colocar outras coisas como e esses são basicamente todos os tipos de dados que eu posso armazenar lá. E esses geralmente são muito mais do que suficientes. Oh, isso é praticamente tudo o que realmente precisamos saber lá. E então, e vamos fazer é que primeiro vamos adicionar o lang aqui. Bem, vamos apenas copiar o item ou vamos pegar este. O tablet sublinhado de dados é, naturalmente, o tablet de dados. E então vamos precisar de um modelo de item. E isso é, claro, apenas um modelo de item normal aqui. Portanto, o tablet de dados simplesmente aponta para o tablet de dados ligado. Então isso é uma coisa muito interessante aqui sobre por que é isso? Bem, há também um off? Sim. Algo que vamos dar uma olhada na próxima palestra, na verdade, porque todos eles vão mudar a textura real dependendo se ele tem ou não dados MVT e, na verdade, não é muito louco sobre isso requer alguma configuração interessante. Digamos. Agora, o tablet de dados foi adicionado ao jogo. Então, vamos ver se funciona ou se retorna no microfinanciamento pode ver que o tablet de dados foi adicionado com sucesso ao jogo. E vamos pegar um único. Isso mesmo. 67. (de (Intermediate) predições de itens (de intermediários): Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos dar uma olhada em provedores de predicados modais. Então, se isso é algo que você simplesmente não tem idéia do que isso significa, não se preocupe. Vamos passar por isso em detalhes. Então, vamos pressionar a tecla Shift duas vezes e vamos colocar em um modelo de registro de provedor adequado, exatamente este. Vamos clicar nisso e você pode ver que isso tem algumas coisas bem interessantes aqui. Ou seja, por exemplo, para o bot, o poste e o puxando para dentro, o que é muito interessante porque esses são dois predicados que o bot precisa para alterar a textura do item dentro do inventário. E isso é exatamente certo. Então, precisamos registrar nosso próprio personalizado para que nosso tablet de dados possa alterar a textura. Basicamente, queremos um dado tabulado que esteja desativado quando não há dados NVT nele e ligue quando houver dados BT nele. Essa é a ideia geral. E o que eu também posso dizer é que vamos pressionar a tecla Shift novamente e vamos digitar um sublinhado de tigela puxando. Você verá que existem alguns arquivos JSON associados a ele. E isso, por exemplo, você pode ver se refere ao item. Portanto, esse sublinhado de tigela puxando 0 é referenciado no arquivo JSON de dados do bot , que será do arquivo JSON em negrito aqui. Mas você também pode sempre ir até as bibliotecas externas em ativos do que no item de modelos e, em seguida, basta ir até a proa, bem aqui. Lá vai você. Então este é o barco adjacente exatamente aquele que abrimos. E você pode ver aqui, há substituições e se um determinado predicado, então esses são os produtos modais que acabamos de ver. Se eles tiverem um valor específico, vamos realmente dar uma olhada em um modelo diferente desse. Este só mostra a tigela normal. No entanto, se puxar for um, então vamos mostrar esse modelo. Se puxar sua ponta do poste está em 65 por cento vai mostrar este. E então, se estivermos puxando e puxando estiver em 0,9, então vamos mostrar este. Essa é a ideia geral, ano. E é por isso que será como podemos basicamente mudar as texturas. E isso é, na verdade, tudo bastante simples. O que vou fazer é fazer uma nova classe util, que vou chamá-la provedor de predicados de modelo mod. E lá dentro, vamos fazer um vazio público. Registre modelos, modelos, coolers, sim, modelos mod. E isso chamará o registro do provedor de predicados modais de malha que se registra com o tablet de dados de ponto de itens mod no novo identificador MC course mod, mod ID. E então vamos chamar isso. E depois do primeiro parêntese, uma vírgula. E então o que queremos é uma milha no provedor de modelo não reclamado. Você pode ver se eu começar a escrever e empilhar aqui, podemos apenas pegar isso. Então, vamos preenchê-lo automaticamente assim. E então o que vamos dizer é que vamos dizer stack dot tem MBT. Mais uma vez uma pergunta, marque um , f dois pontos 0, f. Então a ideia é que vamos retornar um 14 sobre se o estoque tiver dados MVT e vamos retornar um 0 se ele não tiver dados MET. E isso é praticamente tudo o que precisamos fazer. Agora. Também precisamos escrever cadastrar corretamente o ego, e então lembramos que isso está no cliente aqui. Então, isso é muito importante chamarmos isso no cliente, que queremos dizer mod, provedores de predicados modais que registram modelos. E isso é, quero dizer, é praticamente isso. Isso é tudo o que precisamos fazer para que esse modelo seja registrado, ou digamos que o predicado aqui esteja registrado. É claro que agora precisamos alterar os arquivos do modelo no tablet de dados, certo, então aqui. Então, na verdade, tenho isso preparado. Vou copiar isso e vou explicar e também vou, claro, tudo isso está disponível para você no repositório ou em um indivíduo também. E a ideia é que este aqui agora aponta para um modelo diferente. Então, o que vamos fazer é pegar o outro modelo aqui. Então, precisamos de dois modelos. Um deles é o tablet de dados normal e eu sou um deles é o tablet de dados neste. E desculpe, isso vai ficar assim, então tudo bem, não se preocupe. Vamos apenas passar por isso. O destino de dados normal estará desativado quando não tiver dados NVT. Se os núcleos MC ligados forem um, então vamos ativar os tablets de dados. Então, vamos agora dar uma olhada neste modelo aqui, que tem o tablet de dados ativado. Mas agora só precisamos também passar o fora para o item extra aqui. Vamos apenas copiar isso também. O ego, porque por padrão vai parecer que está desligado. E então, se o predicado estiver ativado, então vamos usar este que se refere à textura em. Essa é a ideia geral aqui. Nem é. Isso é um pouco confuso. Na verdade, não deve ser tão louco. Estamos basicamente apontando para uma textura diferente. Se algo for diferente, praticamente o mesmo que um estado de bloco apenas no modelo do item diz hora. E isso é praticamente tudo o que precisamos fazer para alterar a textura do item de um item, dependendo se algo acontecer. Então, agora vamos ver se funciona. Ou eu, então, se eu sou SoftBank e microRNAs posso ver o tablet de dados normal agora está desligado. E quando eu encontrar algo que você pode ver agora ele se ativou. Agora, isso é realmente um efeito muito legal. E se eu clicar com o botão direito do mouse nele e excluí-lo, os dados NVT, você pode vê-los também desativados. Então, isso é realmente algo que é bastante frequente, legal se eu mesmo digo isso, eu realmente gosto disso. Isso é algo que basicamente, bem, na verdade é mais fácil do que você imagina. Claro, os detalhes específicos podem parecer um pouco loucos para você. Mas, mais uma vez, com algum conhecimento Java, não deve parecer muito louco. Mas isso é realmente muito, muito legal. Lembre-se que já seria para esta palestra aqui. Espero que você tenha achado isso útil e ele aprenda sobre o novo. Como sempre, todo o código está disponível no repositório do GitHub e um indivíduo também. Vejo você na próxima palestra. Sim. 68. TARde 7: Blockstate e NBT: Este exercício para o curso de tecido para 118. E bem, vou te dar uma ideia geral ou explicação do que você deveria fazer. Então, desta vez, não há realmente nenhuma solução porque basicamente sua criatividade é solicitada e você deve simplesmente correr solto com ela. Você deveria fazer é que eles criem um novo bloco e um novo item que, de alguma forma incorpora ambas as propriedades de estados de bloco. Então, um bloco específico, bloco say propriedade e, em seguida, um exemplo de dados NVT. Pode realmente ser o que você quiser. Pode ser tão fácil ou complicado quanto você gostaria. Você não precisa fazer isso necessariamente. Isso é algo só para você experimentar. Então, isso realmente é apenas uma tarefa opcional, mas eu recomendo continuar com isso e apenas fazer algo que seja símbolo e não muito complicado, não pense, ei, eu estou indo para fazer uma engenhoca louca como uma construção de criação. Não fique muito louco. Faça algo muito simples, que funcione e trabalhe como sempre, uma ótima ideia. Então boa sorte na tarefa. 69. (Intermediate) adicionando uma colheita personalizada: Ou voltarei ao curso de tecido para 118. E nesta palestra, vamos adicionar nossa própria cultura personalizada ao Minecraft. Então, adicionar uma cultura personalizada é uma coisa muito interessante. Felizmente, é claro, passamos pelas propriedades do estado de caminhada porque isso é algo que vamos precisar em nosso pacote de blocos personalizados. Vamos clicar com o botão direito do mouse em nova classe Java chamada de bloco de nabo de modo. Agora, apenas gostaria de iniciar nossas aulas de bloco com o modo de nome. Nem sempre, mas está tudo bem. E isso estenderá a classe do bloco de colheita. E vamos passar o mouse sobre isso em criar construtor combinando super aqui. E o que eu vou fazer é clicar no registro de corte e , em seguida, pressionar Control H. E você pode ver basicamente todos os blocos de onde isso se estende. E vamos apenas pegar o conteúdo, a totalidade do conteúdo do bloco de raízes da beterraba aqui. Mas isso é praticamente tudo o que vamos fazer. E então vamos mudar o nome aqui para isso. Não precisamos desse primeiro campo. E então o que também queremos mudar é que isso pode ambos aqui. E então, em vez de tê-los em um bloco estático na parte inferior, queremos fazer isso imediatamente. E então o mesmo para a forma aqui. Vamos fazer isso e depois copiar isso aqui. H é igual a h. Bem, não é bem o ego. Então eu também vou apenas nisso um pouco diferente para que possamos realmente ler o que está acontecendo aqui. Porque a forma do voxel é algo muito interessante e muito particular. Então isso é algo sobre o qual temos que falar. Caso contrário, todo o resto só vai ficar como está. Quero dizer, este, por exemplo, na verdade não precisamos. Também podemos adicionar o H assim. E então, para esse estado, vai ficar bem assim também. Todo o código apropriado está, naturalmente, disponível para você também. Aqui nós, é claro, no, é claro que precisaremos realmente devolver um item diferente, mas vamos fazer isso em apenas um momento também. E embora não tenhamos adicionado a substituição de adição a tudo aqui para que saibamos que tudo aqui foi substituído. E, no geral, isso é praticamente tudo o que precisamos nesta classe, exceto, é claro, o item de sementes que temos que devolver. E você pode ver que os direitos reais de propriedade da idade que temos uma pobreza H aqui na propriedade etária, que é h3. Podemos ir para isso e podemos realmente ver a propriedade da idade aqui. As ideias gerais de que isso vai de 0 a três, mas há quatro estágios desse bloco específico. E é também por isso que existem quatro formas cubóides. A forma voxel, quando você passa o mouse sobre um bloco, é isso que está sendo exibido como o, basicamente os contornos do bloco. E isso é muito importante. E isso basicamente está sendo mudado aqui dependendo da idade. Embora você possa ver que a boa forma de contorno está retornando a matriz de idade para moldar. E então, basicamente, apenas lhe dá uma forma diferente, dependendo da propriedade da idade disso. Essa é a ideia geral aqui. Então, se você tiver uma safra diferente com uma quantidade diferente de idades, você pode simplesmente mudar a cada ano. Então, às vezes, há alguns agentes disponíveis aqui. Como você pode ver, há 123571520. Eu também. Ou você também pode, como fizemos no Oracle, pode bloquear discretamente seu novo, seu próprio novo em propriedade. Isso também funciona totalmente bem. Mas também vamos criar o bloco na classe de blocos de lama. E para isso, na verdade, vamos precisar um método completamente novo. Então, vamos copiar o método do bloco de registro, certo? Controle C selecionado, Controle V. Vou excluir o grupo aqui e a chamada para o item do bloco de registro. Vamos chamar isso de bloco de registro sem o método do item Bloquear porque isso é exatamente o que queremos fazer. Vamos apenas copiar sobre o alçapão de flor de cerejeira. Esta será a safra de sublinhado de nabo. Eu geralmente gosto de chamar bem meus adereços, com a colheita final, nabo, sublinhado. E este não é um bloco de registro, mas este é um bloco de registro sem item de bloco, muito importante. Então, podemos basicamente excluir a guia do curso aqui na parte de trás. E então também faremos é que vamos lidar com tudo isso. Em vez de acabar com isso, vamos realmente copiar um bloco específico. E isso é o, os blocos que as raízes da beterraba, é claro. E não um bloco de porta de armadilha de lama, mas um nabo mod, OK, bem no teorema. Então, por que não registramos um item de bloco com isso? Bem, a ideia geral é que a cultura de nabo realmente não tem um item associado a ela. Precisamos de uma semente para este bloco sem lugar, e isso é exatamente certo. Mas precisamos realmente entrar na classe de dois ou mais itens e, em seguida, fazer uma semente de nabo também. Então, vamos apenas copiar sobre o tablet de dados e isso será uma semente de sublinhado de nabo. Para este, vamos chamá-lo queimado sob sementes sublinhadas. E este é um novo item de bloco com alias. Então isso pode ser, o que é isso? Bem, em primeiro lugar, vamos colocar mais blocos que aparecem e depois excluímos o contador máximo. Muito importante, na verdade. O item de bloco de gelo é um item de bloco com um nome diferente do bloco que ele possui, certo? Portanto, a semente de nabo, é claro, ou sementes é um nome diferente da cultura de nabo aqui. E também o que é muito importante, vamos voltar para a classe de blocos maternos e, em seguida, retornar itens mod ponto, virá-lo bem aqui. Isso é muito importante, caso contrário, as sementes não estão corretas. Portanto, isso é muito importante que façamos isso e o código basicamente esteja feito. O que precisamos fazer também é que precisamos chamar o mapa da camada de renderização sobre isso também. Isso está na cultura de nabo aqui, também seja cortado. E então o código realmente é feito completamente no que agora só precisamos fazer é adicionar a tradução e, em seguida, os estados de bloco e os arquivos de modelo de bloco. Vamos apenas adicionar a cultura de nabo aqui. Então você pode ver que estamos basicamente procurando por diferentes que possam bloquear, digamos, valores de propriedades de 0 a três e, em seguida, apenas apontando para diferentes arquivos de modelo. Então, todas as coisas que já vimos, isso não deve ser uma surpresa demais , certo? Vamos adicionar o item aqui. Vamos apenas dizer que algo como as sementes de sublinhado de nabo é claro, será o surgimento abaixo, não sublinhado sementes, mais uma vez com o sublinhado. E, em seguida, muito importante para realmente adicionar a cultura de nabo aqui também, aumentar a safra de sublinhado. E então aqui também, estamos em um apertado, há um MOD onde você pode passar o mouse sobre blocos e ele realmente exibirá o bloco real aqui. E isso será exibido de uma forma que não seja traduzida. Então traduza isso também. Eu recomendo fazer isso. É apenas uma linha, realmente não é tão grande coisa, certo? Vamos primeiro adicionar os quatro modelos de blocos diferentes aqui para a colheita de nabo, você pode ver que eles são apenas sublinhados estágio 0 ou 2, 1. Certifique-se de que tudo aqui esteja escrito corretamente. Quando você pensa no Jason, a ideia de como eles estão relacionados? Este é o nome deste arquivo aqui, e então este é o nome da textura que aponta para os modelos de bloco aqui são todos, basicamente o corte de bloco pai. E então a textura aqui também é uma cultura que é muito importante. E que na verdade não precisaríamos do modelo do item. Precisamos apenas de um modelo de item para os nabos Aedes, e esse é apenas um modelo de item normal como você pode ver. E então vamos copiar sobre as quatro texturas de bloco de palco de nabo. Estes, tudo aqui, é claro, está disponível para você. Então, vamos apenas copiá-los também. E C 0 a três, e depois o item, as sementes aqui também. Então, termo sementes na pasta de itens. Bem, na pasta de itens, lá vai você, e isso é praticamente tudo o que precisamos fazer. Agora, uma das coisas mais importantes é o que esse bloco cai? Porque as mesas de loo que vimos até agora, somos todos muito fáceis. A única mesa louca de Lu realmente tem sido a órbita, mesmo que não tenha sido muito louca. Mas agora, e as culturas reais? Eles não precisam ser específicos? Sim. Podemos ir mais uma vez às bibliotecas externas aqui para o Microsoft Project e, em seguida, todo o monte de coisas aqui. E depois entrando em vez da pasta de ativos na pasta de dados, Minecraft saqueou tabelas, blocos. E então vamos dar uma olhada nas raízes da beterraba. E você pode ver que é assim que a tabela de raízes de beterraba se parece e apenas carregar isso ou também podemos simplesmente copiar o arquivo real aqui. Então, vamos apenas para Control C, esse arquivo, e depois entramos em nossas próprias tabelas de rotas de cursos MC, pasta de blocos. Está aqui? Isto é, claro, o invólucro de sublinhado de nabo. E depois há algumas mudanças que precisamos fazer. Isso é muito importante. Não pule isso. Dê uma olhada nisso. Portanto, a propriedade número 1, r max age é definida aqui. Se tivéssemos uma rocha que tenha a propriedade de idade máxima de cinco anos, teríamos que colocar em cinco anos porque as coisas reais só caíram se essa idade fosse atingida. Então isso é muito importante. E isso é a mesma coisa que se passa aqui. Agora este ano, onde o bloco aqui é o bloco. Portanto, isso precisa ser o cólon do curso MC, nabo, sublinhado. Isso se refere ao bloco que fizemos em nossa classe mod blocks, que é basicamente verificado este ano, é o produto real. Então este será o nabo do curso MC. Isto é, este seria o trigo se fosse trigo e assim por diante. E então isso aqui são as sementes. Então este é o cólon do curso MC, aumente assentos sublinhados. Então isso é muito importante. Essas três coisas precisam ser mudadas. Portanto, certifique-se de alterá-los aqui e depois abaixo aqui também. Porque aqui embaixo, estamos basicamente deixando cair assentos adicionais, certo? Portanto, isso é muito importante que você altere isso corretamente. Certifique-se de que o ID do modelo esteja sempre correto, pois isso é algo que é facilmente supervisionado basicamente. Então isso é algo que você facilmente não reconhece, especialmente, você sabe, Armada D começa com um M. Minecraft também começa com um M. Às vezes pode ser algo que você pode perder, mas isso é praticamente tudo o que precisamos adicionar. Então, vamos ver se funciona. Ou Francis de volta em microfinanças pode ver que os assentos de nabo foram adicionados, então vamos ver se consigo colocá-los para baixo. E é claro que posso colocá-los para baixo. Isso é exatamente o que eu quero ver. E vamos fazer com que a regra do jogo, velocidade dos tiques aleatórios aumente em 100. E então eles vão lá, eles crescem. E este é, na verdade, o velho crescimento aqui. Vamos redefinir isso. Vamos voltar para o modo de sobrevivência. Muito importante. Se você os invadir, você tem que quebrá-los no modo de sobrevivência e no ego, eles até soltam nabos, mas apenas em tamanho real. Você pode ver se eles não são tamanho normal e eles só caíram sobre uma semente é praticamente tudo o que eles precisam fazer. E, claro, na tabela Lu real, você também pode alterar os números, certo? Então, se você é como Não, isso não é suficiente nabos que caem, isso também é totalmente bom. Você sempre pode mudar isso na tabela de loo j, certo, mas isso é praticamente isso para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. Mais uma vez, todo o código nos arquivos recentes está, naturalmente disponível no repositório do GitHub ou em um indivíduo também. E te vejo na próxima palestra. Então, sim. 70. (intermediário) como adicionar itens a um composter: Tudo bem, bem-vindo de volta ao curso de tecido para 118. Nesta breve palestra, veremos como você pode adicionar itens personalizados ao bloco de compostor. Mas isso basicamente significa que, se você clicar com o botão direito do mouse no bloco de compostor, como uma chance de aumentar o nível em que o compostor está. Isso é, na verdade, tudo muito direto. Então, em nossa classe mais registros, vamos criar um novo composter MOD de registro de vazio estático privado , classe de chances. E isso será chamado aqui logo após o registro de combustíveis, chances de combustor de modo de registro. E a maneira como os adicionamos é muito louca. Vamos dizer que o bloco de compostor, DOD Item dois níveis aumentou chance de PUT e depois colocamos mais itens, nabos ponto-ponto, assentos, por exemplo, através de uma chance de 35%. E vamos duplicar isso com o Control D. E eu vou colocar o nabo também para que apenas a vez disso você possa comer. E isso vai ser uma chance de 65%. Se nós, clique no botão do meio do mouse sobre isso. Também podemos ver que as tendências estão aqui. Então você pode basicamente ver todas as chances de haver algumas sementes, as mudas e folhas, e basicamente as chances que estão associadas a nós, certo? Quero dizer, isso é praticamente tudo o que você precisa fazer se você não tiver a classe de registros de modo, você também pode pegá-los e apenas chamá-los no método inicializado. No entanto, como criamos os registros modernos aqui, isso torna tudo um pouco mais fácil e um pouco mais separado e um pouco mais agradável de ler. E apenas por causa de conclusão, vamos ver se funciona ou se estava de volta ao Minecraft e vamos ver, lá vai você. Posso clicar com o botão direito do mouse e ele realmente funciona. E as sementes também funcionam. Eles têm 35% de chance, enquanto os nabos têm 65% de chance. E lá vai você. Agora, tenho uma bolha me. Bem, mas isso já é para esta palestra aqui. Espero que você tenha achado útil e tenha aprendido algo novo. Vejo você na próxima palestra. Então, sim. 71. (Intermediate) Mixins explicados: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos dar uma olhada no mixin. Mixin é um tópico que tem que ser tratado com muito cuidado. É por isso que eu meio que te peço para não ficar absolutamente louco com isso. Mesmo que você entenda isso depois desta palestra, um mixins deve ser usado com moderação e não apenas para tudo onde pode ser mais fácil usar apenas mixin. Mixin, a ideia geral é que você pode basicamente mudar as classes do Minecraft para defini-lo para qualquer coisa que você quiser. Basicamente, embora pudéssemos, por exemplo, alterar métodos. Você poderia, você poderia alterar o nível de acesso, certos métodos ou certos campos, e poderíamos fazer então apenas alterá-los por um capricho basicamente. E isso geralmente é pensado como um tópico complexo e complexo, onde quer que ele realmente não seja tão louco. Então, se neste momento você está apenas copiando as coisas e não está realmente seguindo com o Java. Então você realmente não entende muito das coisas Java por trás disso. Eu só recomendo mais uma vez, dar uma olhada na introdução do Java, porque o mixin é uma ferramenta que, se você não entender o Java, você estará completamente perdido. Não vou entrar em muitos detalhes sobre como ele realmente funciona. Vou mencionar uma coisa e esse é o repositório do GitHub aqui do mixin alimentado por esponja, o wiki lá especificamente. E essa tem sido uma ferramenta incrivelmente útil para basicamente dar uma olhada e apenas entender a arquitetura mixin. E enquanto eu vou aqui, você pode ver que isso basicamente explica tudo em detalhes muito bons, na verdade , sobre como funciona, como podemos usar isso, como você pode acessar algo e como você pode basicamente lançar algo para uma interface específica e, em seguida, basicamente usar os campos e métodos lá também. Então, isso é muito legal e muito útil e eu recomendo passar por isso. Então, mais uma vez, se você não conhece Java, então eu não sei como ajudá-lo com isso porque você definitivamente precisará conhecer alguns, eu diria pelo menos intermediário ao conhecimento avançado em Java para realmente entenda isso. A essência geral aqui é apenas que, bem, é uma ferramenta muito louca e, mais uma vez, use-a com cautela. Então, o que vamos fazer é no nosso pacote mixin, vamos clicar com o botão direito nova classe Java e vamos chamar isso de entidade de modo Data Saver. Este é apenas o nome que estou dando. Isso vai ficar totalmente bom aqui. E a primeira coisa que eu quero fazer é que eu quero fazer isso abstrato. E a razão pela qual vou fazer isso resumos porque qualquer classe que temos neste mixin, nós realmente não devemos usar, ou pelo menos essa classe em particular, nós realmente não devemos usar em nenhum lugar do código. E agora, como fazemos disso um mixin é realmente bastante fácil. Estamos na mixin bem aqui. E, em seguida, colocamos na classe , queremos mudar, e essa será a entidade, a classe de ponto de entidade. Agora, o que é muito importante é que vamos importar a classe e garantir que escolhemos a entidade de microondas de rede. Agora, o que vamos fazer é adicionar um MVT à classe de entidade. Portanto, cada entidade também terá um campo MVT associado ela para que possamos salvar dados MBT nisso. E a ideia geral é que o que vamos usar isso na próxima palestra para adicionar comandos personalizados. No entanto, o que é muito importante aqui que, embora este seja um pré-requisito para a próxima palestra, os comandos específicos que vamos fazer a próxima palestra basicamente exigem que façamos isso. E então eu recomendo assistir ambos juntos ao mesmo tempo. Então, back-to-back, bem, isso vai fazer é que isso vai ter um composto privado em BT chamado dados persistentes. E então queremos, bem, basicamente abrir isso com um bom método de dados persistente aqui. E o que vamos fazer é apenas retornar dados persistentes, mas também podem ser nulos. E se esse for o caso, então, se os dados persistentes forem iguais a nulos, então o que queremos fazer é apenas definir esses dados persistentes para um novo composto NVT. Então, basicamente, não retornamos dados vazios e bem persistentes nesse método e esse campo será adicionado a essa classe. Então, para a classe de entidade aqui. Então isso só será adicionado, mas em algum lugar que não sabemos onde, mas isso é totalmente bom. Estamos trabalhando com isso. Esses dois serão adicionados a ele. E então também queremos interjeitar determinadas funcionalidades em dois métodos. Então, vamos abrir a classe de entidade novamente e vamos pesquisar. Então controle F, e então podemos procurar o método NVT certo aqui, este. E o que queremos fazer é aqui que queremos injetar que basicamente colocamos todos os dados neste NVT aqui, porque este é o que é salvo depois que o mundo basicamente salva. Então, queremos que isso também tenha nossos dados personalizados nele. E então o mesmo vale para o método de leitura e BT aqui, onde realmente queremos tirar isso fora dele. Então essa é a essência geral aqui. Então, o que queremos é um vazio protegido e isso vai ser injetado certo? Método. O primeiro perímetro disso é o perímetro do método real que queremos. O método MDT direito tinha um composto nb t como parâmetro. Vamos dizer que o MVT realmente chama isso de MBT também. Podemos, mais uma vez, realmente olhar para isso, certo? Então, certo, MET, composto MET. E porque também retorna um composto MVT. O que temos que usar é que temos que usar as informações de retorno de chamada retornáveis, sublinhar essa informação, tudo bem. Na verdade, não vamos usar este de qualquer maneira. E então vamos, vamos dizer se os dados persistentes, então isso mais uma vez faz referência ao campo aqui. Se isso não for nulo, mas se houver dados lá, então vamos colocar os dados reais lá. Portanto, não como uma string, mas apenas como dados. E vamos chamar isso de MCQ, MC mais grosseiro algodão sublinhado dados. Isso vai ficar bem. E então queremos colocar dados de sistemas mais profundos aqui. Então, se houver algo nos dados persistentes, então vamos salvar isso neste composto NDT aqui, o que basicamente faz com que isso seja salvo no mundo também. Agora precisamos adicionar o atributo aqui em cima do método aqui, e há o atributo de objeto com o nome do método. Então, isso é certo NVT. Então temos que especificar em que posição vamos fazer isso e vamos fazer isso em, em, e depois em todas as maiúsculas. Isso significa que este ano está sendo executado no início, depois que o método começar a executar será executado na primeira linha, por assim dizer. Ou seja, essa é a ideia geral. E então o outro que eu realmente vou copiar. Isso não é nada louco demais. O método de leitura injetar aqui só tem a camada de leitura e B também a cabeça, também NVT porque esse é o parâmetro do método. E nisso, em vez de ter retorno de chamada para retornável, isso tem uma informação normal de retorno de chamada e, na verdade, você também altera o ano chave. Então, isso é realmente muito importante. E basicamente apenas dizendo: Ei, se essa chave existir, então o que vamos fazer é definir os dados persistentes para o que encontrarmos sob a chave. Lá vai você. Então, isso é tudo o que realmente precisamos fazer aqui. E há mais uma coisa crucial que é importante. E isso é que vamos precisar implementar uma interface. Porque no momento, porque esta é uma aula abstrata, não podemos pedir nada a essa classe. O que queremos é que queremos uma interface porque qualquer classe em Java pode ser convertida para qualquer interface. Então, vamos dizer que eu poupador de dados da entidade. E isso literalmente só vai ter uma coisa simples. E esse é um método de dados persistentes de obtenção de composto NBC. Então é isso que a interface tem. E então vamos dizer que implementos que o economizador de dados da entidade também adicionará a substituição de adição aqui apenas para que saibamos que substituímos esse método, mas isso é praticamente tudo o que precisamos fazer. Então, este aqui precisamos para que possamos realmente chamar isso em uma determinada entidade. Porque, é claro, se tivermos apenas uma classe de entidade durante o desenvolvimento, isso não tem os dados persistentes, então isso não funcionaria. Agora, há mais um passo que precisamos fazer, e isso é que precisamos entrar em nossa pasta de recursos são recursos aqui, na verdade, no mixin MCQs Jason, e adicionar o nome da classe aqui nos mixins. Mas esse é o economizador de dados da entidade de modo. E isso é praticamente tudo que realmente precisamos fazer aqui para fazer um mixin único neste caso. Então, basicamente mudamos a classe que definimos aqui e adicionamos todo esse jazz a ele. Agora, não vamos ver nada ainda, embora o, o que acontece basicamente será mostrado na próxima palestra. No entanto, eu queria separar isso porque às vezes, você sabe, é como se isso fosse especificamente mixin. E então o próximo será comandos e haverá coisas específicas para comandos. Precisaremos usar isso também. Então, basicamente, a demonstração será mostrada na próxima palestra. Então, mais uma vez, a mistura definitivamente deve ser tratada com cuidado, especialmente se você é um iniciante ou intermediário em um Java, eu recomendo ir devagar. Não fique louco com isso. Sempre há exemplos no GitHub e também realmente posso recomendar o wiki. Na verdade, é muito bom. Você só precisa tomar seu tempo, ler isso. Basicamente, basta tomar seu tempo. Essa é a melhor ideia aqui. E também não fique louco com isso porque é uma ferramenta muito poderosa, mas também poderia, em teoria, quebrar, quero dizer, praticamente a totalidade do Minecraft se você adicionar seu mod a ele. Então, definitivamente tenha cuidado com isso, certo? Mas isso seria para esta palestra aqui. Espero que você tenha achado útil e tenha aprendido algo novo. Se algo não estiver claro, não hesite em perguntar nas perguntas e respostas. Caso contrário, verei você na próxima palestra. Então, sim. 72. (intermediário) criando comandos personalizados: Tudo bem, bem-vindo de volta ao cavalo de tecido para 118. Nesta palestra, vamos adicionar um a comandos personalizados ao Minecraft. Agora, isso é muito importante. A última palestra em que falamos sobre mixins é, na verdade, um pré-requisito para esta palestra. Então, se você não viu, assista e basicamente coloque tudo em seu carvão está, claro, disponível no repositório do GitHub ou em um indivíduo também. Ou você precisará basicamente adicionar o mixin ao seu modelo também. Caso contrário, você não poderá acompanhar esta palestra. Então, para adicionar comandos personalizados. Primeiro de tudo, quando entramos em nosso pacote de cursos IMC, clique com o botão direito do mouse em novo pacote chamado comando. E lá dentro, vamos criar duas novas classes chamadas de comando return home. E então também o comando at. Agora você já pode ver para onde isso está indo. Basicamente, vamos fazer dois comandos. Um para você definir sua casa e outra para você basicamente retornar a essa posição de casa. Agora, eu vou realmente copiar o conteúdo de ambas as aulas porque isso vai tornar isso um pouco mais fácil e vou explicar à medida que avançarmos. Bem, antes de tudo, vamos fazer o comando set home. E vou copiar isso aqui. E todo o código está , naturalmente, mais uma vez disponível apenas e no repositório do GitHub. Portanto, temos um método de registro, um método de registro vazio estático público e um int estático público, um método de execução. Esse método de execução é chamado aqui nesta execução. E então você pode ver que temos dois literais aqui. Então isso é basicamente o que está sendo feliz, o que está acontecendo aqui. Então, basicamente, você tem que digitar barra e, em seguida, este primeiro aqui em casa. Em seguida, adicionamos um , então aqui, temos que adicionar isso como uma segunda palavra. Portanto, esse é basicamente o comando que temos que colocar em ohms slash home set. E então ele vai executar tudo isso aqui. Essa é a essência geral disso e do comando run. Você pode ver que o jogador obteve do contexto get source player é transmitido para um protetor de dados da entidade. Mas esta é a interface que fizemos na última palestra. E isso basicamente nos permite chamar o método get persistent data e, em seguida, colocar uma matriz int com o nome home pass lá. E isso só vai basicamente colocar na posição inicial do jogador. E então, no final, aqui também vai dizer enviar feedback com textos literários em casa nesta posição específica. Isso é praticamente tudo o que realmente faz. O comando set home realmente não é tão complicado. Todas as coisas consideradas. Claro, temos essa exceção de sintaxe de comando lança. Este é apenas o caso. Nós só precisamos disso basicamente, pois este é um, o comando run para um comando bem, eu também sugiro dar uma olhada no gerenciador de comandos aqui. Então, se eu clicar no botão do meio do mouse sobre isso, você pode realmente ver todos os comandos de baunilha aqui. Então, como você pode ver, há muitos deles. E se você tiver uma coisa específica que você quer fazer com comandos. Então, se você quiser ter um comando personalizado, então você pode basicamente dar uma olhada neles. E antes de tudo, dê uma olhada em como eles fazem isso. Então, basicamente, ok, Como o comando loop realmente funciona? Bem, isso é o que está sendo executado. Assim, você pode ver executar, inserir, inserir , executar bloco, que há muitas coisas que você pode ver basicamente como funciona. Na verdade, há muitas coisas. E este aqui é o registro para isso. E isso, claro, vai ser a coisa em que a maioria das pessoas são como, oh meu senhor, isso é realmente louco. E esse é o caso. Se você quiser ter comandos realmente complexos, será muito complexo. Só vai ser o caso. Uma coisa que vou dizer é que só ajudarei em circunstâncias limitadas se você tiver um comando personalizado e você perguntar no Q e a, porque eles ficam tão complicados, é muito, muito difícil realmente desenterrar. É apenas o que é. Mas vamos continuar com nosso exemplo aqui. Portanto, a classe de gerenciador de comandos que eu posso recomendar. E, na verdade, vamos para o comando de retorno para casa também. E vamos apenas copiar isso também. Então, vamos apenas obter o conteúdo aqui. E mais uma vez, isso também não é muito louco. É só que, neste caso, corte para casa e depois volte. E então ele é executado novamente. Ele executa o comando run aqui, que mais uma vez podcasts o jogador para o olho Entity Data Saver obtém a posição inicial aqui e o comprimento aqui é desigual nulo. Então sabemos, ei, isso significa que contém outra coisa. Vamos apenas dizer que nenhuma posição em casa foi definida isso ou aquilo estava completamente certo. Então vamos pegar a posição de casa aqui e dizer que solicitamos o teletransporte para exatamente essa posição. E vou dizer que o jogador voltou para casa. Isso é tudo o que realmente estamos fazendo aqui, não é nada muito louco. E agora há duas coisas que precisamos, ou seja, eventos. Agora, um dos eventos será realmente muito fácil. Então, vamos entrar em nossos registros mais. Isso aqui é específico para cada comando, então você precisará fazer isso para cada comando que adicionar. Nós basicamente queremos fazer um novo vazio estático privado, derramar um método de comandos de registro. E então, da maneira como fazemos isso, dizemos registro de comando, retorno de chamada, registro de eventos, disse casa, dois pontos de comando, registro de dois pontos. E vamos duplicar isso com o Control D. Eu vou dizer o comando de retorno para casa, registre-se. E então vamos chamar isso aqui. Então registre comandos, e então tudo está bem, mas isso tem que ser feito para cada comando basicamente. E agora também adicionaremos um evento específico, ou seja, a cópia do evento do jogador do servidor, porque a ideia é que quando o jogador morre, nós realmente temos que copiar os dados NVT do jogador morto, por assim dizer, para a nova entidade. Então essa é a ideia geral, no entanto. Este também é um olhar muito solto nos eventos. Então, em nosso pacote de cursos MC, clique com o botão direito do mouse em novo pacote chamado evento E então, dentro da Terra, vamos fazer uma nova classe Java. E quando poderia chamar isso de cópia de evento de camada mod de um nome longo, mas isso vai dar certo. E então a maneira como isso funciona é que isso basicamente implementa uma determinada interface. Nesse caso, o evento do player do servidor que copia exatamente deste. E então vamos implementar o método aqui. E agora esse método agora é chamado ou será chamado assim que o registrarmos quando esse evento for acionado. Então isso é o importante. E você pode ver que há um jogador antigo, um novo jogador e um vivo, que na verdade não vamos precisar. Só vou copiar isso. Mais uma vez, há apenas três linhas, mas vamos pegar o jogador antigo e o novo jogador lança ambas para o protetor de dados da entidade. E então vamos obter os novos jogadores dados persistentes, colocando as camadas antigas ou os jogadores originais versus novos dados. Isso é literalmente tudo o que estamos fazendo aqui. E a forma como nos registramos mais uma vez nos registros mod. E é basicamente assim que você registra, bem, todos os eventos, privados, estáticos, vazios, registra eventos. E isso é praticamente o mesmo que isso porque, na verdade, o evento de retorno de chamada de registro de comando também é um evento, por assim dizer. Vamos dizer que os eventos do jogador do servidor copiam a partir deste momento, o evento aqui que é muito importante, não a classe o que o evento ou a interface, o evento Registrar, Novo Modo os eventos do jogador copiam de, e é isso. Também poderíamos fazer isso tudo na fila. Só recomendo fazer isso assim. Acho que isso é um pouco mais limpo. Vai ficar bem. Acho que você vai ficar totalmente bem, mas isso é praticamente tudo o que você precisa fazer. Claro, também precisa chamar isso aqui. Então registre-se, agora registre comandos, mas o registro cerca eles atrás em apenas o suficiente, isso é tudo. Agora, este é definitivamente um processo mais envolvido, especialmente escrevendo isso, certo? Então, isso mais uma vez, muito conhecimento Java, apenas pensando nessa soma, ok, onde você obtém a posição do jogador? Como você pode salvá-lo corretamente, em uma matriz int? Coisas assim são definitivamente mais complicadas. E se você tiver ideias mais complicadas para comandos personalizados, embora não fique mais fácil, mas vai ficar tudo bem. Tenho certeza disso. Mas, por enquanto, vamos ver se funciona ou se retorna no Minecraft. Então, vamos antes de tudo ver o slash home e entendemos que isso é muito bom. Vamos ligar para retornar primeiro. Nenhuma posição em casa foi dito Isso é muito bom que não estamos recebendo nenhum erro ou qualquer coisa que basicamente quebre. E vamos defini-lo aqui. casa de oposição nesta ocasião parece boa. Vamos nos afastar de lá. E vamos apenas dizer para casa, voltar e voltamos, isso é muito bom. Agora, vamos realmente o jogador aqui. Vamos apenas brincar e eles vão. Isso é responder. Então agora estamos basicamente longe disso e então podemos dizer Home Return, e ainda funciona. E agora, por último, mas não menos importante, vamos voar todo o oceano um pouco. Vamos fechar e salvar isso. Vamos voltar a entrar no mundo. E vamos ver se isso também funciona com a barra de retorno em casa depois são basicamente bem de volta ao mundo. E funciona, tudo está funcionando muito bem, certo? Mas isso já será para esta palestra aqui. Espero que você tenha achado útil e aprenda sobre o novo. Se alguma dúvida permanecer, é claro, sinta-se à vontade para fazer nas perguntas e respostas. Mais uma vez, provavelmente não ajudarei em muitos detalhes se você tiver um comando específico que deseja implementar, ele, você só vai ter que experimentar muitas coisas e espero que você seja capaz de obtê-lo, certo, mas isso seria para esta palestra aqui. Espero que você tenha achado isso útil e ele aprenda sobre o novo. E te vejo na próxima palestra. Então, sim. 73. (Intermediário) adicionando flores personalizadas: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos adicionar uma flor personalizada ao Minecraft, certo? Então, vamos navegar para nossa classe OCS modelo. E lá dentro, vamos apenas copiar sobre a safra de nabo. Agora, muito importante porque isso usou o bloco de registro sem item Bloquear. Temos que mudar isso. Isso é muito importante. Caso contrário, vamos encontrar um problema e esta será a rosa rosa com um nome aqui. Pense em linhas e linhas de sublinhado. E então, é claro, também precisamos adicionar o modo Grupo, mais grupo de itens start horse, para que tenhamos isso no grupo de itens correto. Então este não é um bloco materno, mas um bloco de flores. E o bloco de flores assume três parâmetros diferentes. O primeiro é um efeito de status. Então, vamos dizer que são efeitos que digamos que brilham e uma ração de defeitos. Curiosamente, isso é em segundos. Na verdade, temos que especificar algo não muito grande, nada como 200 ou algo assim. E então vamos copiar a, vamos ver, a tulipa rosa. Por que não? Certo, e esse é, na verdade, o bloco feito. Agora vamos passar para os arquivos JSON. Então, esses são interessantes. A situação real do bloco não é muito louca com ela. Apenas tipo de cópia isso também, a propósito, haha, vamos também adicionar isso ao método inicializado aqui no cliente do curso MOOC. Esta será a rosa rosa, muito importante que adicionemos a isso também. Você pode ver que o bloco diz que Jason não é tão louco. E então, é claro, a tradução aqui vai ser linhas de sublinhado rosa. E então aqui rosa rosa sem sublinhado, rosa rosa, lá vai você. Mas o modelo de bloco é um pouco diferente aqui. Então essa será a coisa interessante neste tutorial, você pode ver que isso tem o pai cruzado aqui, e então as texturas também são cruzadas, e então aponta para a rosa rosa pasta de blocos extraordinária. E isso também é muito interessante porque o modelo do item ganha exatamente a mesma textura aqui. Em vez de ter um modelo de item normal associado a um bloco em que é curto , mostra o bloco em 3D. Desta vez, na verdade, apenas pegamos a mesma textura, mas a usamos como a textura do item. E então vamos copiar isso também, é adicionado à pasta de extras de bloco. E isso é praticamente tudo o que realmente precisamos fazer. Então agora vamos ver se funciona ou se salta para trás e densidade do Minecraft pode ver que a rosa rosa foi adicionada ao jogo e eu considero baixo. E parece muito, muito legal. Então, isso é realmente incrível. Bem, mas isso já era isso para esta palestra muito curta aqui. Na próxima palestra, vamos dar uma olhada em como você pode adicionar a rosa rosa ou você está acostumado bloco floral a um pote também. E acho que te verei na próxima palestra. Ah, sim. 74. Flores Potted (intermediárias) (de mediatista): Tudo bem, bem-vindo de volta ao cavalo de tecido para 118. E nesta palestra, vamos dar uma olhada em como você pode adicionar uma paleta personalizada planejada ao Minecraft. Isso é realmente muito fácil e o que vamos fazer é realmente copiar sobre a colheita eterna aqui porque teremos que usar o bloco sem itens quebrados novamente. E estas serão as linhas de sublinhado rosa dos oleiros. E então o mesmo nome aqui, sublinhado em vaso, rosa, linhas sublinhadas. E isso vai ser um bloco de vasos de flores. Agora, o primeiro parâmetro aqui será, na verdade, mais blocos que crescem e crescem o ego. E então as configurações serão transferidas da parte que allium os conjuntos tornarão nossa vida um pouco mais fácil neste caso. Então, o que é muito importante no cliente aqui, na verdade, temos que chamar isso mais tarde para o produto rosa rosa também. E esse é praticamente todo o código que precisamos. Agora só precisamos adicionar um bloco permanece Jason primeiro copiando isso. Na verdade, não muito louco. Isso simplesmente aponta para um modelo de bloco. Vamos também adicionar a parte que está em bruto aqui. Agora, este só deve ser necessário. A tradução real aqui, se você tem um moderno parado também, que basicamente verifica quais são os nomes e os exibe no topo. Portanto, isso nem sempre é necessário. E então o modelo de bloco é realmente a coisa realmente interessante para o bloco de terra de auditoria. E isso vai ser isso porque antes de tudo, o pai é uma cruz de vaso de flores. E então ele aponta para uma textura de planta. E isso simplesmente aponta para a textura real em seu bloco que sua planta ou sua farinha neste caso estão usando para que esta aqui. E agora o que é muito interessante, é claro , é porque não precisamos, não precisamos de um modelo de item aqui porque, bem, isso não tem um item associado ele porque vamos conseguir este bloco clicando com o botão direito do mouse no vaso de flores com essas linhas específicas. E o que também é importante, vamos realmente dar uma olhada na mesa de saque também. Então, vou copiar isso sobre tudo aqui, é claro, está disponível para você no repositório do GitHub ou em um indivíduo também. E você pode ver que estamos basicamente soltando uma rosa rosa aqui bem como o bloco de flores, partes de flores. Então isso é muito importante. Basicamente, acabei de reunir isso através das mesas de luge aqui. Ou podemos simplesmente entrar aqui e podemos ver as coisas de TI aqui. E basicamente é exatamente o mesmo. Portanto, não se preocupe, na verdade, há bastante simples, certo? E agora, para fins de conclusão, vamos ver se funciona ou fundos que de volta ao Minecraft e eu já coloquei alguns potes e vamos ver. Lá vai você. Posso colocar as linhas lá e parece absolutamente impressionante. E vamos ver se volto para nossa sobrevivência. Que você vá Ambos a extremidade do pote da gota de flor real. Isso é muito, muito bom. Rep, isso já é para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E eu vou te ver na próxima palestra. Sim. 75. (Intermediário) adicionando sons personalizados: Tudo bem, bem-vindo de volta ao curso de tecido para 118. Nesta palestra, vamos adicionar sons personalizados ao Minecraft. Portanto, adicionar sons personalizados é, na verdade um processo bastante simples por si só. Colocar esse som também é muito fácil. No entanto, pense que a coisa mais difícil ou desafiadora pode ser a obtenção dos arquivos de som adequados. Então, antes de tudo, precisamos de alguns arquivos JSON para isso. O que vamos precisar é de um arquivo JSON no curso MC. Mais velho aqui. Então clique com o botão direito do mouse em novo arquivo chamado Sounds ponto-ponto-dot Jason. E então, na mesma pasta, vamos criar uma nova pasta chamada sons. Tão importante que ambos sejam chamados de sons e sons. Então isso é muito importante. E eu realmente copiarei sobre um desses sons já. Este será o arquivo de som. Como você pode ver, o sublinhado da haste de dowsing encontrou sublinhado ou aquele OGG. É muito importante é que todos os seus arquivos de som tenham ser OGG e se certificar de que estão todos configurados para mono. Mas eles só podem ter o tipo de amostra mono ou canal modal, caso contrário, eles não gostarão de você problemas com isso, tenha isso em mente. E eles precisam ser arquivos OGG e não apenas pegar arquivos MP3 e renomeá-los. Você precisa obter um conversor para convertê-los corretamente. Portanto, tenha isso em mente e nos sons Jason aqui temos que defini-los. Então, vamos colocar colchetes encaracolados e então vamos basicamente escrever no nome. Então, esse é realmente o nome. Vamos registrar isso sob sublinhado da vara de dowsing, encontrado sublinhado. Ou agora eu geralmente gosto de pegar esse nome e tê-lo o mesmo que o arquivo. Isso só torna muito mais fácil. Em seguida, vamos adicionar um subtítulo aqui. Este vai ser o subtítulo dois pontos e um curso MC dois pontos ou ponto realmente dowsing, vamos pegar o mesmo nome. rigoroso vai comercializar, copiá-lo, Control C e depois Control V, e depois vírgula. Então vamos ter uma lista de sons. Então isso vai ser uma lista, então colchetes aqui. E então dentro daqui teremos a vara de dowsing do cólon MC Coors encontrada. E este tem que ser o nome desse arquivo. É claro que isso é apenas o ID do modelo. Então, dependendo da sua melodia, isso muda, então o subtítulo é realmente algo que você pode colocar na pasta lang, como qualquer arquivo JSON, que é exibido quando você tem legendas e este lugar de som, então isso está sendo exibido. Então isso é algo que você também pode adicionar agora ao registrar basicamente os sons. Do que precisamos? Bem, no nosso pacote de cursos MC aqui, clique com o botão direito do mouse em novo pacote chamado som. E então, dentro de lá, vamos criar uma nova classe Java chamada Modus sons. E isso será, na verdade, bastante simples. Vamos precisar de um evento de som estático privado, evento som de registro antigo com um parâmetro de string chamado name. E então vamos fazer o seguinte. Vamos apenas fazer um identificador, ID do quadro, que é um novo identificador com o mod do curso MOOC meu ID e o nome. E então vamos retornar o registro, que se registra com um evento de som de ponto de registro com o ID e o novo evento de som. Você soa um evento e passa o ID. Novamente, é por isso que estamos fazendo um ID porque temos que passá-lo duas vezes, uma para registrar e outra para o evento sonoro real. E como isso se parece? Bem, evento de som estático público chamado dowsing, sublinhado de haste, encontrado sublinhado ou igual a um solvente de registro. Agora vendo sublinhado, o sublinhado de haste encontrou sublinhado E então certifique-se de que isso aqui, o que está escrito aqui é exatamente o mesmo que isso. E é. E então deve estar tudo bem. E isso é praticamente tudo o que precisamos fazer para registrar o som. Agora, é claro que precisamos jogar de alguma forma. E o que vamos fazer é quando encontrarmos um ou na vara de dowsing, então vamos tocar esse som. Oh, vamos apenas entrar aqui. Então, sabemos que isso é encontrado bloco verdadeiro. Então, sabemos que este é o momento em que isso acontece. E o que precisamos é do mundo, como o mundo aqui. E podemos apenas dizer tocar som e passar pelo jogador, uma posição clicada, que é a posição em que estamos. O som dele soa um pouco aquela vara de dowsing encontrou ou e a categoria de som, vamos pegar blocos Tudo bem. Volume 1 e pitch 1 também. Há também outra maneira de podemos colocar como isso, isso é através do jogador. Portanto, isso também deve funcionar para que você possa ver o jogador tocar sons. Existem maneiras diferentes, mas isso também é bom. Isso deve ser totalmente bom aqui neste caso. E isso deve basicamente tocar esse som aqui. Então eu acho que, por causa de conclusão, vamos ver se funciona. Certo, Francis de volta ao Minecraft, vamos ver e tentar se podemos encontrar um OR. E, na verdade, foi me deixar rapidamente obter o som um pouco mais. Aí está. E eu posso, claro, spam. Eu posso mantê-lo pressionado. E então, em algum momento , fica irritante. E o mais legal é isso porque o colocamos sob a categoria de blocos. Agora ele não joga mais porque, bem, desligamos os sons do bloco, então isso é muito legal. Isso é algo para pensar basicamente. E isso é realmente o quão fácil é adicionar um som personalizado ao Minecraft, certo? E eu já ouço você gritar, bem, que tal adicioná-lo a um bloco, certo? O que não posso mudar o som quebrando de um bloco e coisas assim? Claro. E isso é exatamente o que vamos ver na próxima palestra, onde basicamente vamos adicionar, bem, o som de quebra, colocação e passo. Existem mais alguns, mas isso basicamente será feito na próxima palestra. Então, isso seria para este aqui. Espero que você tenha achado útil e tenha aprendido algo novo. Vejo você na próxima palestra. Então, sim. 76. (de medium) grupo de som personalizado com bloco: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos adicionar um grupo de som Bullock de clientes ao jogo. E o que é um grupo de som de blocos? Bem, um grupo de música em bloco consiste em cinco cidades diferentes, e essas são a pausa, o passo, o lugar do hit e o som completo. E vamos basicamente adicionar isso para criar um som personalizado ou nossa lâmpada recalcular. Mas essa é a ideia geral. Primeiro de tudo, vou copiar os cinco arquivos OGG diferentes. Então os sons aqui, e nós vamos apenas copiar esses. Esses são, claro, todos disponíveis para você para download também. E então vamos entrar em nossos sons, Jason e eu também vamos copiar o conteúdo que vamos precisar. Isso é praticamente o mesmo que isso, apenas com valores diferentes aqui. Acabamos de ter a lâmpada de telecomunicações quebrada aqui. Então, para as legendas, praticamente a mesma taxa ou MOD ID e, em seguida pontue qualquer que seja o nome aqui, quando o som é nomeado exatamente como o som aqui. Isso é praticamente tudo o que há para ele. Portanto, isso não deve ser muito louco no geral. E então o que precisamos fazer na nossa classe de sons de modo aqui. Vamos duplicar isso e vamos chamar isso recontagem vem sublinhado lâmpada, sublinhado quebra. Então esse é o primeiro, resultado, lâmpada sublinhada, quebra de sublinhado. E então podemos duplicar isso cinco vezes. O segundo será então o som do passo. Extra, altere o nome aqui também e certifique-se de que ele esteja escrito corretamente. Isso também é muito importante. E este vai ser o lugar que soa com este, lugar, esta série soa, e lá também será atingido. Então, por último, mas não menos importante, temos o som completo. E então aqui, TODOS também. Certo, então esses são os cinco eventos sonoros que vamos precisar. Você também pode pensar em salvá-los de outra forma, especialmente se você tiver muitos outros diferentes, mas isso vai dar certo. Na verdade, isso está tudo bem. E agora, é claro, também precisamos de um grupo de som de bloco. Agora, você sabe, nós poderíamos fazer isso em uma classe separada ou podemos simplesmente colocá-lo nesta classe. Isso também vai funcionar. Então, será um grupo de som de bloco final público estático grupo de som de bloco final ou um som sublinhado. E isso é igual a um novo grupo de som com um F1, F. Então esse é apenas o tom e o volume. E então basicamente todos os cinco desses sons, vamos ter sons de modo, DOT, freio. Sons de modo, ponto, passo, sons de modo, ponto, lays. O modo soa holandês. Tudo. Na verdade, acredito que ele é atingido primeiro e, em seguida, seu modo soa ponto o, sim, nesta ordem. Mas vamos verificar novamente. Então, clique no botão do meio do mouse no grupo de som do bloco s. E, no entanto, um som completo é o último. Isso deve estar correto aqui. E então esse grupo de blocos de som irá, como vamos usá-lo? Acabamos de entrar na classe de blocos de lama. E então, para nossa lâmpada de telecomunicações aqui, podemos basicamente adicionar um outro parâmetro às configurações do bloco e esses sons serão. E então aqui nós apenas dizemos que o modo soa isso ou um cálcio soa. Vamos apenas formatar isso um pouco diferente assim, o ego, e seria isso. Isso é praticamente tudo o que precisamos fazer. Claro, precisamos dos sons, Jason. Defina tudo aqui, faça os sons aqui, tenha os arquivos em nossa pasta Sons taxa entre novamente, OGG correto está corretamente formatado ou convertido. E também em mono, muito importante. E, em seguida, basta adicionar mais sons aqui. Por enquanto, por causa de conclusão, vamos ver se funciona. Já encontrei suspeito no Minecraft. E vamos antes de tudo realmente mover o volume para cima apenas um pouco para que realmente tenhamos isso. Vamos ver o conjunto, o som de colocação real. Isso é exatamente certo. Isso é completamente personalizado. Vamos ver o som quebrando. Isso é incrível. Então, isso também funciona. Isso define, coloque alguns aqui e vamos pisar nele. Eles vão. E isso também deve funcionar quando segui o slide a seguir, na verdade, não tenho 100% certeza por que isso não funciona. Isso é muito furioso. Acredito que ele deve funcionar assim. E então o som de sucesso seria esse. Eu acredito. Além do sucesso no som completo, tudo parece funcionar totalmente bem aqui. Então, também não tenho 100% de certeza de onde eles são chamados, para ser honesto, porque geralmente deve ser a força nisso. Isso é certo? Então, quando você cai sobre ele, mas definitivamente não há nada lá. E então quebrá-lo também não parece funcionar. Então, vamos tirar como uma escolha x, y. Então vamos ver o que, ok, a quebra definitivamente funciona. Mas parece ser apenas o som de queda que não funciona. Mas às vezes essas coisas acontecem. Então lá vai você. Tudo bem. Então, depois de olhar para ele novamente, eu ainda não tenho 100% de certeza por que eles caem aqui não funciona por qualquer motivo, isso nunca é chamado. Mas seja qual for o caso, o som completo não é algo que seja muito louco ou muito importante. Eu diria, Oh, isso provavelmente vai ser totalmente bom. Seja qual for o caso. Os outros, é claro, trabalham que são muito mais importantes neste caso. Então, tudo deve estar bem e isso já seria para esta palestra aqui. Espero que você tenha achado útil e ele tenha aprendido algo novo. Vejo você na próxima palestra. Sim. 77. (Intermediário) adicionando discos de música personalizados: Tudo bem, bem-vindo de volta ao curso de tecido para 118. Nesta palestra, vamos adicionar um disco de música personalizado ao Minecraft. Portanto, um disco de música personalizado, pior também requer um evento de som personalizado. O que vamos fazer é copiar isso mais uma vez. Na verdade, vai ser muito fácil de entender. Você pode ver que só temos o nome aqui. Mais uma vez, esse é o nome que vamos dar na classe de sons modelo em apenas um momento. E então o nome aqui, é claro, refere-se a um arquivo de som, mais uma vez a um arquivo OGG. E neste caso, é ainda mais importante que isso esteja em mono, porque se estiver em estéreo, então você vai ouvir isso basicamente em todo o mundo, em todo o servidor. Caso contrário, como tem que ser mono, muito importante, muito, muito importante neste caso. E vamos para o modelo Sounds aqui. E vamos apenas copiar isso e chamar essa briga sublinhada da barra D. E aqui, claro, também, briga de bar, certificando-se de que tudo está escrito corretamente. Muito importante. E então, na classe mais itens vamos criar um novo item. No entanto, é claro o que precisamos, antes de tudo é um item de disco de música MOD, infelizmente, porque mais uma vez, o construtor aqui não é acessível para nós. Então, o item de disco de música passa o mouse sobre, crie um construtor correspondente super. E então vamos apenas copiar o público que eles são. E então nunca temos que dar uma olhada nisso nunca mais, basicamente. E então vamos apenas copiar as sementes de nabo aqui. E vamos fazer disso o bar sublinhar Berle, sublinhar música, sublinhado disco. Então, no mesmo ano, o disco sublinhado da música roll de barra sublinhado. E isso, claro, é um item de disco de música MOD. primeiro parâmetro é a saída do comparador. Então, o que está sendo produzido quando você coloca um comparador ao lado dele? E então vamos dizer, não soa Barbara. Agora, outra coisa muito importante está aqui, como você pode ver que isso é verdade. Então isso tem que ser verdade porque o papel de barb, é claro, é um fluxo. Portanto, você ama o disco de música é um fluxo, então isso é muito importante. E também vamos colocar na contagem máxima de um para que só possamos empilhar um desses. E então o que também é muito importante é a tradução do E e nos ressaltar o arquivo JSON. Na verdade, vou copiar os dois porque na verdade há dois. Há o disco de música barb roll, que é apenas o nome do disco. E então a descrição é basicamente o que acontece. Você sabe, se você passar o mouse sobre ele. E isso geralmente diz apenas de quem é a música e, em seguida, o nome da música. E também adicionei a licença aqui. Portanto, isso está logo abaixo da CC 0 ou é de domínio público. Você poderia, em teoria, usar esse papel de barb também em seu modelo antigo, poderia fazer basicamente o que quiser com ele. Mas é por isso que eu adicionei isso também. Certo? Isso é praticamente tudo o que precisamos, exceto é claro, para um modelo de item e uma textura para ele. Mas isso é algo que vimos tantas vezes agora que na verdade não seria muito louco neste momento. Isso aponta para a textura do barbeiro ou disco de música na pasta do item, ou, claro, também vai copiar que passou por cima também. Então, disco de música Barbaro. Lá vai você. E com isso, estamos praticamente prontos para ir. E vamos ouvir se funciona. Ou eu, por exemplo, de volta ao Minecraft e eles podem ver a música lá foi adicionada com sucesso aqui. E vamos apenas puxá-lo para dentro. E lá está ele. É bem alto, mas também é porque eu tenho minha música. Então está tudo bem. E este lugar normalmente um FI voa para longe. Você pode ouvi-lo ficando cada vez menos. E então ele se foi completamente. E então, se voltarmos, lá vamos nós, continua. Tão absolutamente ótimo. E vamos aminar, está tudo funcionando totalmente bem, como esperávamos. Borracha. Isso já seria para esta palestra aqui. Espero que você tenha achado útil e aprenda um pouco de novo. E eu vou te ver na próxima palestra. Sim. 78. (Intermediate) adicionando um modelos de bloco personalizados no Minecraft com Blockbench com Blockbench: Tudo bem, bem-vindo de volta ao curso de tecido para 118. Nesta palestra, vamos dar uma olhada em modelos de blocos 3D personalizados. E como você vai fazer esses modelos de blocos? Bem, vamos fazê-los com bancada de bloco. Este é um programa que está disponível. Vou vinculá-lo nos recursos em algum lugar. E isso basicamente permite que você faça modelos 3D muito legais para seus blocos, na verdade , não é tão difícil já ter um modelo de bloco preparado aqui para mim como o Oracle pode blaster. Então, basicamente, vai ser como um alto-forno, especialmente feito de ou um chita neste caso n. Há, para este exemplo em particular aqui, duas coisas que precisamos ter em mente. Então, a primeira coisa é que você, é claro, também terá acesso a esse arquivo de bancada de blocos. E o que você fará então é ir para Exportação de Arquivo e, em seguida, Exportar modelo de item de barra de bloco. Isso exportará um arquivo JSON como você pode ver. E você pode fazer isso. Eu posso anular isso. E então o arquivo JSON ficará assim. Então, basta abri-lo aqui e você pode ver que há uma espécie de como ele se parece. Você tem a textura aqui e depois um monte de elementos. Então, esses são basicamente os elementos 3D. E depois também há coisas que estão aqui na tela. Também podemos dar uma olhada na tela se você for para o canto superior direito aqui, exibir. E basicamente mudou como parece que talvez você seja como, Oh, talvez seja um pouco grande demais. Você pode ser como, Sim, vamos apenas diminuir isso para como 2,5 de maio ser como 0.25.25.25 ou algo assim. Talvez esse seja o tamanho melhor. E então você também pode alterá-lo do outro lado também. Algo assim. E em primeira pessoa talvez isso esteja bem comigo. Isso também vai ficar bem. Quando você o usa na cabeça. Parece muito estranho, mas com certeza. Mas se estiver no chão, talvez seja um pouco grande demais também. Então, talvez você queira mudar esse ponto piloto para quando, para, quando for, para que você o tenha assim no quadro do item. Talvez você queira girar isso ao redor, certo? Então, talvez a rotação seja algo assim e algo assim. Talvez seja uma maneira melhor de fazer isso. E então, na GUI, pense que a GUI parece perfeita. E aqui você pode basicamente mudar muitas coisas no banco de blocos. Este não será um tutorial de espaço de bancada puramente bloco, mas como você pode basicamente tirar coisas do banco de blocos aqui. Quando eu também salvo isso como modelo, o glossário é por favor. E então ele já foi salvo como arquivos JSON. Devemos ter essa recarga. Lá vai você. E então também muda aqui para que tudo esteja bem. E isso, na verdade, é basicamente tudo o que você precisa. Então, basicamente precisamos desse arquivo JSON. Vou copiar isso como modelo de bloco, certo? Então, vamos copiar isso como o modelo de bloco que praticamente já tem as coisas 3D lá. Agora o que precisamos é que precisamos, claro, da textura também. Então vou colocar isso aqui nas texturas Brock. No entanto, o que vou fazer é também criar uma nova pasta na pasta de texturas chamada máquinas, e vamos colocar isso lá. Isso não é estritamente necessário, é claro, porque essa textura também é uma textura de bloco, mas acho um pouco mais agradável. E então o que precisamos fazer é, claro, especificar aqui núcleos MC e, em seguida, as máquinas cortam o nome disso. Isso é muito importante que adicionemos ao nosso ID de modelo e , em seguida, o nome das palavras mais antigas basicamente aqui, e então o resto aqui está totalmente bom. Claro, ainda precisamos de um modelo de item para isso. Nós vamos fazer isso também. Vamos derrubar as coisas fáceis primeiro lugar aqui, certo? Então o Oracle pode blaster, tudo bem. Isso apenas se refere ao modelo de bloco aqui. E então o bloco afirma Jason, bem por enquanto, o que vamos fazer é vamos fazer um normal. A porta da explosão. E isso só vai se referir à última string. Isso vai ficar bem. E para o mesmo para o bloco, vamos fazer um bloco completamente normal aqui. Vamos apenas copiar, digamos que a rosa rosa porque isso é um bloco de registro e esse é o blaster de sublscore oracle Malcolm. Então o mesmo aqui ou ele não pode vir sublaster sublaster. E agora ele vai ser um bloco normal. Mas vamos dar uma olhada nisso em apenas um momento. Deixe que, na verdade, teremos que mudar algumas coisas aqui. Nós materiais de metal no grupo de itens mod, cavalo, isso vai ficar totalmente bem. Para fins de conclusão, vamos também adicionar a tradução aqui ou uma contagem vem sublaster sublaster. Então, é claro que o resultado não ressalta a explosão ou eles atrás. E agora, assim como um bloco normal, nós o adicionamos. Agora vamos também adicionar o não opaco real aqui. Isso é muito importante. E então também vamos adicioná-lo ao get cut out. Portanto, essas são todas as etapas que você precisará seguir para que isso também seja exibido corretamente. E então, basicamente veremos duas limitações com a maneira obtida como esta é configurada e, em seguida, também veremos como corrigi-las. Então, vamos ao Minecraft e vamos ver o modelo 3D personalizado pela primeira vez. Ou se me diz que um microfinanciamento pode ver o recalc, uma blástula foi adicionada ao jogo. E quando eu o defino, você pode ver que há duas coisas que são muito interessantes. Primeiro de tudo, bem, não está realmente voltado para a direção certa, certo? Como você pode ver, está sempre voltado para a mesma direção, que na verdade será para o norte como você pode ver. Mas isso é muito interessante. E também temos, bem basicamente, uma caixa delimitadora muito estranha em torno dela, o que definitivamente não é exatamente o que você quer. Então, isso é outro que está bem, tem que ser consertado de alguma forma. Mas essas são as duas limitações por enquanto. Mas esses dois podem ser corrigidos forma bastante direta, certo? Para corrigir ambos, na verdade, precisamos de uma classe de bloco personalizada para isso. Portanto, no seu pacote personalizado, clique com o botão direito do mouse em nova classe Java chamada recalc vem sob, não sublinhado, na verdade explosões ou bloqueios, eles vão. E isso estenderá o bloco voltado horizontal. Muito importante que escolhamos esse. E vamos criar um construtor combinando super. E a razão pela qual estamos escolhendo isso é porque se eu pressionar Control H depois de clicar nele, você pode ver que existem alguns outros blocos que também estão tirando isso daqui. Por exemplo, alguns dos blocos de cama parecidos , onde é forte portão desse jeito. Isso é muito interessante. E geralmente eu realmente esperava que o bloco abstrato Ernest também se estendesse a partir disso. Não, na verdade, ok. Isso é com blocos de entidade. Justo o suficiente. Mas também tem a propriedade virada aqui. Essa é a ideia geral porque quando você coloca no forno, mas ele sempre olha em sua direção. Então, o que vamos fazer é , na verdade copiar rapidamente a direção aqui. Portanto, isso não é nada muito louco, apenas uma grande propriedade igual à propriedade começa a enfrentar. E vou copiar mais algumas coisas que, obviamente, estão disponíveis para você no repositório, no repositório do GitHub ou no indivíduo também. Precisamos do método append properties. Já vimos isso e vamos usar o espelho e o método Rotate. Você basicamente tem isso girar da maneira correta e, em seguida, eles obtêm o método de estado de posicionamento basicamente faz com que o revestimento seja sempre transformado em uma maneira que o bloco esteja voltado para você. Agora, é claro, quando temos os blocos de frente uma propriedade, é claro que também precisamos alterar o bloco Estados JSON. Há também algo que vou copiar, mas isso é realmente bastante simples. Você pode ver que está voltado para norte é apenas o modelo de bloco normal. E, de outra forma, acabamos de girar em 90, 180 e 270 graus. E você sempre pode verificar as bibliotecas externas no canto inferior direito na pasta de ativos, o Minecraft bloqueia estados. E então, por exemplo, olhe para o alto-forno, por exemplo, é certo. E isso vai ser praticamente o mesmo. A única coisa que é, isso também tem uma propriedade de tampa, mas isso vai ser totalmente bom. Então isso é algo em que você pode basicamente dar uma outra olhada nisso e como você tem que girá-lo. E isso é basicamente onde eu tirei esses números. Bem, não vamos saltar imediatamente de volta para o Minecraft Porque agora, tal a caixa delimitadora? Será que a caixa delimitadora é o que é chamado de forma voxel. E essa é a única coisa que é genuinamente apenas irritante de se fazer no banco de blocos, especialmente com este modelo. É muito chato porque geralmente o que você gostaria é que você quer, queria centralizar o pivô, certo? Então, antes de tudo, você verá que, se eu centralizar o pivô corretamente, então ele tem valores muito estranhos. Recomendo, indo para um pouco acima, direita ou um pouco abaixo, basicamente arredondando para cima ou para baixo. Caso contrário, você terá um momento ruim com a rotação dele. Porque o que vamos ter que fazer é que teremos girar isso três vezes para que, em todas as direções, teremos uma nova forma de voxel. É assim que vai ser e é muito chato. Mas essa é a melhor maneira que eu encontrei isso até agora funcionar. Se houver outras maneiras, é claro, sempre sinta-se à vontade para entrar no Q e a e me falar sobre isso. Portanto, não se preocupe lá. O que vamos fazer é que vamos, em primeiro lugar, eu tenho que ir ao File e depois para plugins e obter o plug-in mod utils aqui. Isso é do JDK dois a dois. E se isso, isso é muito importante, é só, você sabe, você pode simplesmente ir para a busca disponível por mod utils, certo? Já o tenho instalado. É por isso que não vem aqui. Clique no botão Instalar e instale-o em seu banco de blocos. E então o que você terá é você precisará pegar todos os cubos e todas as coisas que você tem e colocá-los sob um grupo aqui, formas de grupo ou voxel, exatamente escritas como isso. Sem espaços, nada exatamente escrito assim. E quando você tiver isso, você pode selecionar todos eles, ir para Arquivo, Exportar e, em seguida, Exportar forma voxel. Agora, é claro que estamos usando Rubrik, então queríamos exportar os mapeamentos de fios. Vamos dizer confirme, e vamos salvar isso como a forma de voxel N. Como você pode ver, eu já salvei isso e podemos dar uma olhada nisso também. Então eu só vou mover isso inerente para que possamos dar uma olhada nisso. Mas é assim que parece. Às vezes você obtém esses números malucos, o que você terá que fazer é que você terá que arredondá-los para o número inteiro mais próximo. Então, esse será apenas um processo manual. Então, por exemplo, este é apenas um 0, na verdade, certo? Porque é menos três para a potência de menos 15, então são 15 zeros. E então um negativo, como um 0.3, é como se fosse 0. Então, temos que fazer isso manualmente. Às vezes, é apenas a forma como o bloco bancada às vezes exporta. É muito estranho. Então isso vai ser, e esta é apenas a forma do voxel. Se esta é uma configuração como olhar para o Norte, o que agora temos que fazer é quando você tem que girar isso em 90 graus. E a primeira coisa que você notará neste exemplo específico é que ele é um pouco compensado. Assim, você pode ver que a precisão, por qualquer motivo , é necessário movê-lo de volta para o meio. E então isso vai ser norte, leste, sul, oeste. Então isso agora está voltado para o oeste. Agora temos que exportar novamente. Isso é voltado para o oeste mais uma vez, certo? Então, quando eu substituo o w, e então podemos dar uma olhada naquele w aqui. Isso também vai ser muito interessante porque temos que fazer isso novamente, então 0. E então isso vai ser um 14 e isso vai ser 13. E o que você verá é que os números simplesmente mudam um pouco. E, você sabe, se você tiver tempo suficiente e poder cerebral suficiente, provavelmente poderá descobrir como mudar esses números você mesmo. Mas isso é, claro, uma loucura porque temos tantas coisas aqui. E quanto mais complicado o bloco for, mais complicado isso também será. Vamos girá-lo novamente e, claro, mais uma vez, redefini-lo para que funcione bem. Então é isso que você tem que ter muito cuidado não é alterado o número aqui, mas você terá que mudá-lo como usando as setas, é se você mudar o número do que cada um desses cubos só funciona. Apenas, apenas se move para dentro e por si mesmos é um bloco muito estranho, que é um programa muito estranho. Mas atualmente é, pelo menos pelo meu conhecimento, o melhor que temos. Infelizmente, isso é claro que vai ser o sul. E então vamos girar imediatamente para o leste também, que pode fazer isso e depois fazer isso. E lá vai você. Agora devemos ter tudo aqui. Então, vamos dizer caixa de exportação ou forma, ou o Oriente também. Isso é ótimo. E agora o que vamos fazer é pegar o Norte e o Oeste e imediatamente já usá-lo. Então, vamos tomar esse controle C para copiá-lo. E então o que queremos é que queremos uma forma de voxel final estática privada ou sublinhado de forma n. Então isso é moldado para Norte. E então nós vamos apenas importar a classe stream, a classe voxel shapes e a classe de função Boolean by também. E então o que vou fazer é copiar isso quatro vezes. Sobre isso, temos o ano norte, leste, sul e oeste. Certifique-se de copiar sobre os corretos são o nome correto aqui. Isso é muito, muito importante. Houve pessoas que, você sabe, confundiram uma delas com a outra. Então isso é muito importante. E aqui mais uma vez, temos que limpar isso, tudo bem. Essas são algumas setas de aterramento, erros de arredondamento de ponto flutuante. Às vezes pode acontecer. É apenas o que é. Mas isso não é muito louco. Haverá o sul. Lá vai você. Então isso vai ser para o leste. E então temos todas as quatro formas voxel aqui. Como eu disse, este é um processo muito tedioso, mas você só precisará configurá-lo uma vez e então ele vai funcionar. Se você, é claro, mudou o modelo, terá que mudar as formas dos voxels também. Sim, então é isso, é só o que é. Não podemos fazer mais nada com isso. Então queremos sobrescrever o bom método de forma de contorno, este aqui. E também vou copiar o conteúdo. Como eu disse, tudo está disponível para você, mas isso deve ser bastante autoexplicativo. Nós apenas temos uma declaração de switch que ele olha para a propriedade de frente e ela só vai dizer, ei, se o virar para o norte, então vamos retornar a forma norte. Se estiver voltado para o sul, vamos voltar para o Sul e assim por diante e assim por diante. Então, isso é realmente tudo o que esse método é algo realmente complicado estão nas formas de voxel. E, como eu disse, há, infelizmente, não há outra maneira de fazer isso corretamente ou mais facilmente naqueles, eles estão, naturalmente, todos disponíveis para você. O mesmo, é claro, com o modelo aqui. Vamos girá-lo de volta e então você verá que seja qual for o motivo, ele é vermelho e lá está o Mac. Então isso é totalmente bom. Isso é como eu disse, também disponível para você, o arquivo JSON, tudo o que você pode baixar. E então só precisamos fazer é em vez de fazer um bloco, queremos fazer isso um bloco de blaster de cálcio ou E. E então, oh, bem, é claro que também precisamos tornar isso público e então tudo funciona, certo? Então, isso deve ser tudo o que precisamos. Como eu disse, é muito tedioso, mas tenho certeza de que vamos gerenciá-lo. Ou, claro, também depende quantos blocos com diferentes formas loucas você deseja adicionar. Então, esse também é o caso. Mas, por enquanto, vamos ver Para obras ou por que nos encontramos um Minecraft. Então, vamos definir isso. A última bebida de cálcio pode ver lá você vai. Os contornos combinam perfeitamente e se eu colocá-lo em uma direção diferente, sempre me enfrenta. Lá vai você. Então, tudo funciona e as caixas delimitadoras totalmente bem. Agora, o que eu tenho a dizer é que se você tem caixas delimitadoras realmente complexas como esta, é claro que você pode ver que tudo ainda está bloqueado , não tem, não tem nenhuma coisa diagonal e coisas como isso. Se você tem coisas diagonais, eu recomendo tentar talvez tornar seu modelo um pouco mais fácil em R2, complicado, porque uma forma de voxel complicada e louca vai diminuir o jogo caiu de forma bastante significativa. Mas isso é apenas algo a ter em mente. Mas, na verdade, é assim que é fácil adicionar os modelos de blocos personalizados ao Minecraft. Mas para total transparência, a Oracle pode última linha foi feita pela platina G 17. Apenas ajustando a textura é um pouco, mas, de outra forma, ela está basicamente sob a licença Creative Commons. Então, se você quiser usar este ou seu MOD lançado como real, então esteja ciente da licença se você apenas vai usá-la para fins de teste bem, basicamente, testes privados seu MOD lançado como real, então esteja ciente da licença se você apenas vai usá-la para fins de teste bem, basicamente, testes privados serão estar totalmente bem. Mas isso seria para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E te vejo na próxima palestra. Ah, sim. 79. (Intermediate) adicionando um item personalizado com Blockbench: Tudo bem, bem-vindo de volta o curso de tecido para 118. E nesta palestra, vamos dar uma olhada em modelos de itens personalizados. Quem da última vez vimos modelos de blocos personalizados. Agora é hora dos modelos de itens do cliente. Por enquanto, vamos fazer um novo item aqui e, em seguida, vamos adicionar o modelo do item. Então, esta será a equipe de sublinhado do Oracle Malcolm . E este é, claro, também o caminho sublinhado da Oracle que você segue. Este só será um item normal por enquanto. E a contagem máxima de um é realmente ótima. Não precisamos fazer nenhuma classe de itens personalizados aqui. Só precisamos do modelo do item para ele. E então, na verdade, vamos ficar bem. Então, vamos adicionar a tradução antes de tudo, ou uma equipe de sublinhado de calico. E então aqui também, a recontagem vem pessoal, o ego. E agora o modelo do item é o louco. Para isso. Mais uma vez vamos abrir o banco trancado. E aí está, a beleza da equipe de cálcio. E como você pode ver, estamos usando algumas das pequenas texturas, assim como a Oracle pode bloquear a textura. E, no geral, isso é praticamente tudo o que você precisa. Portanto, é apenas um exemplo aqui. É assim que basicamente se parece se você estiver segurando. Todas as outras coisas de exibição também estão feitas. Você também pode pintá-lo sozinho, se quiser. Mas, por enquanto, estou bem com isso. Vamos para Exportar, Exportar modelo de item de bloco ou uma equipe de cálcio que já tenho este ano. Isso vai ficar bem. E, na verdade, vamos simplesmente copiar o arquivo JSON como na pasta de modelos de itens. E então as únicas coisas que precisamos mudar aqui são basicamente o nome. Então isso vai ser Minecraft ou prancha. Isso, certo? Claro que com blocos de barra, lá vão eles, porque essas são todas texturas de blocos. E então o mesmo para nosso recalc e bloco também. Então os núcleos MC bloqueiam ali mesmo, e então o resto aqui vai ficar totalmente bom para nós. E eu sei que você pensou que poderia estar dizendo isso, bem, isso ainda não pode ser. Isso é, na verdade, isso é tudo o que precisamos fazer. Nós só precisamos deste arquivo JSON primeiro, a modelagem do modelo de item real. Bem, isso é algo que você vai ter que experimentar sozinho, como eu disse, um link blog bench. Mais uma vez, não é tão difícil. Você pode simplesmente adicionar cubos aqui, movê-los e depois torná-los maiores ou menores assim. Então você não deve ser muito louco. Estou pensando que talvez com uma hora, uma hora e meia, um pouco brincando, você vai pegar o jeito muito rapidamente. É praticamente como o Minecraft, mas fazer modelos com blocos. Portanto, é muito semelhante, na verdade, seja qual for o caso, vamos ver se funciona. Ou encontramos suspeito e Minecraft. E como você pode ver, a equipe de cálcio aura foi adicionada e parece atraente , incrível, mesmo em 3D ou na terceira pessoa, parece muito legal. E eu realmente gosto do pequeno bloco de ouro no topo. Isso é apenas outro Não, eu realmente gosto do fato que é basicamente toda a textura do bloco, apenas neste pequeno bloco lá. Eu, eu gosto, eu gosto muito disso. Então, é realmente o quão fácil é adicionar os modelos de itens personalizados Minecraft, certo? E isso já é isso para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. Todo o código e tudo isso é claro, está disponível para você no repositório do GitHub, onde um indivíduo também. E se você gostasse disso, eu realmente apreciaria uma revisão sua. Caso contrário, verei você no próximo slide. Então, sim. 80. (Intermediate) adicionando uma bow personalizada: Tudo bem, bem-vindo de volta ao cavalo de tecido para 118. E nesta palestra vamos adicionar uma tigela personalizada ao Minecraft. O cliente é, na verdade um processo bastante simples. Vamos pegar a equipe oral de cálcio e vamos fazer esse nome T ou um bot capcom com o nome aqui, é claro, muito importante. Então ou um combo assassino. E então esse será um novo item de bot. E o registro está feito. Agora, o que é claro que precisamos fazer é adicionar o predicado modal aqui. Isso é o principal. E o que vamos fazer é realmente copiar sobre um método que eu fiz. E esse é o método registrável. Você pode ver que basicamente registra o bot. Todo esse jazz. Isso é de se eu clicar no botão do meio do mouse sobre isso, e então eu clico sobre isso. Este será o botão do meio ou clique do botão do meio do mouse. E este é o registro do provedor previsto do modelo do Minecraft ou de baunilha. E se eu for aqui, você deve ser capaz de encontrar o poste e o puxão aqui. Nós temos esses dois registros para o bot, o bot basicamente, e eu basicamente apenas copiei esses, substituí o provedor nosso registro de provedor de predicados modais de malha. Mas isso em um método separado só porque é um pouco mais fácil, especialmente se você quiser vários arcos, você pode simplesmente chamar isso. E depois com seu bot. Então, basicamente, mod itens , combinação dot oracle, e então é praticamente isso. Então, se você tiver outra tigela que deseja adicionar, basta adicioná-la também. E então isso é praticamente, é praticamente isso, isso é praticamente feito. Essa é realmente a ideia aqui. Então, isso é praticamente tudo o que você precisa. E então, é claro, você precisará, em primeiro lugar, da tradução que é muito importante aqui, ou uma vaca está sob rabisco, certo? Então, e não vamos esquecer isso ou um chita. E então os modelos de itens são bem o kicker. Mas, mais uma vez, eles não são tão loucos. Quatro deles, vou copiá-los. Esses são, naturalmente, todos disponíveis para você no repositório do GitHub ou em indivíduos também. Este só aponta para o oráculo chiclete aqui. E então, sob os predicados, ele aponta para os diferentes modelos de itens que apontam para este, este ou este. E eles são todos aparentes aqui. Muito importante, na verdade, será nosso próprio recalc, uma tigela. E então a camada, mais uma vez vai ser uma textura diferente. Então, isso é realmente tudo o que há para isso. Na verdade, não é tão louco antes de um cliente que você precisará fazer ou texturas diferentes, uma das bolas normais e, em seguida três delas que estão puxando basicamente. Mas quero dizer, isso é praticamente tudo o que há para isso. Na verdade, sou o quão fácil pode ser, porque já vimos os predicados aqui para os modelos. Não é nada muito louco Na verdade, é algo que deve ser louco demais para você. São apenas alguns valores que podemos basicamente usar no modelo para determinar qual extra deve ser mostrado para esse item. Isso é basicamente tudo o que há para isso, por causa da conclusão. Vamos ver se funciona ou nos encontramos de volta em microfinanças podemos ver que a combinação oracle foi adicionada com sucesso ao jogo. E se eu atirar, você vai, a textura também muda. Então, tudo está funcionando totalmente bem, exatamente como esperaríamos, certo? Mas isso já era isso para esta palestra aqui. Espero que você tenha achado isso útil. Você aprende o novo, e eu te vejo na próxima palestra. Então, sim. 81. (Intermediário) Fluidos personalizados (de (Intermediate) (de mediate): Tudo bem, bem-vindo de volta ao curso de tecido. E nesta palestra, vamos adicionar um fluido personalizado ao Minecraft. Então, adicionar um fluido personalizado é que eu diria um pouco complicado. Há como um pouco de estranheza lá. Mas, no geral, tenho certeza de que vamos gerenciar , em primeiro lugar, no pacote do curso MC, clique com o mouse em novo pacote chamado fluido. E lá vamos precisar de duas novas classes, a classe de fluidos de modo e a classe de fluidos Ani também. E vamos começar com a classe de fluidos de mel, no entanto. Isso vai estender o fluível, e não vamos implementar os métodos. O que vamos fazer antes de tudo é onde eu faço esse resumo na verdade. E então o que vou fazer é fazer o seguinte. Vou clicar em fluido fluído, pressionar Control H e clicar duas vezes na água aqui. E então o que eu quero fazer é que eu quero ter tudo aqui, basicamente, tudo, exceto o construtor e a cópia disso. E vou colá-lo aqui. E podemos ter, na verdade, não recebemos nenhum erro, isso é ainda melhor. E o que precisamos é que ainda ouça o fundo. Na verdade, não precisamos de nenhum desses construtores, mas precisamos é que isso precisa ser fluido de mel, e isso precisa ser fluido de mel. Há algo que você vai claro, ter que fazer toda vez que adicionar um novo fluido. Então, uma maneira de simplificar isso também. E então, no geral, acredito que isso deve estar bem. Podemos apenas formatar isso de forma um pouco diferente para que possamos realmente lê-lo corretamente. Isso é para as partículas. E esse é o som. Na verdade, vou mudar o som para, digamos que o bloco, slide de bloco de mel. Porque é claro que temos alguns blocos de mel lá. Só não temos um fluido de mel neste caso. E então esses fluidos, vamos mudá-lo apenas um momento. Mas agora temos o fluido de mel junto com as classes ainda e fluidas lá e nos fluidos mod, o que vamos precisar é apenas duas coisas. E isso vai ser, em primeiro lugar, um privado Que é um fluido de BAL mais baixo registrará. Portanto, esse é o método de registro se o fluido global for o tipo de retorno, um nome de string e um fluido ou fluido fluído, ou fluido de fluxo, tudo bem. Isso retornará o registro do Registro. Registre esse fluido, um novo identificador, mod do curso MC, ID de modificação e um nome. E depois dos primeiros parênteses, fluido global, isso naturalmente registrará o fluido. E então vamos dizer estática pública, fluido global final, fluido global final, ou ainda um sublinhado de mel, o que é igual a registrar sublinhado ainda. Então, um novo fluido de mel que ainda está. E então eu vou duplicar isso com o Controle D. Eu vou dizer que mel flui. E o mesmo no nome aqui também. Se fluir. E em vez de ainda ir chamar fluindo. E isso é tudo ótimo. Não é isso que funciona. E o que podemos fazer na classe de fluidos de mel aqui em cima, vamos devolver quais fluidos e ele fluindo. E aqui, quando eu devolvo um mod, fluidos e mel ainda, ainda precisamos fazer um balde para isso. Não se preocupe nada. Na verdade, bastante simples. E eu vou para a classe Item e vamos aparecer sobre o arco-íris. E este vai ser o balde de sublinhado de mel. E aqui estão a mesma coisa, balde sublinhado de mel. É claro que este é um item de balde. E este primeiro vamos absorver os fluidos mod que ainda mel. Mas geralmente você quer escolher o mel ainda. Se um fluido for solicitado, esse é o general como eu quero dizer, eu diria que quase a essência dele. Também precisaríamos de um mot block para que isso seja um bloco sem um item de bloco. Este será o bloco de fluido de mel. Isso é algo que vamos precisar um sublinhado de mel enevoado, fluido. Sublinhado. Ok. Mais uma vez, isso será necessário para cada um dos seus diferentes fluidos. E isso vai ser um, na verdade, isso, vamos precisar de muita classe de blocos de fluidos para isso. Então este será o bloco BOD Lewis porque, mais uma vez, não temos acesso ao construtor. Este é um bloco de fluidos sobre essas ótimas métricas de construtor super. E então vamos tornar isso público também. E a menos que seja um bloco de fluidos, e o primeiro parâmetro será fluidos, não dinheiro, ainda muito importante. E então aqui vamos realmente dizer o material das configurações de tecido acabado. E então vamos material a da água. Só para garantir que isso funcione, vamos dizer que não há colisão e não opaco para que tenhamos e também não caia nada porque, bem, de fato, água ou, neste caso, queda de fluido de mel, bloqueie adereços nada. Então, isso é isso. E então, na, mais uma vez, a classe de fluido de mel, em primeiro lugar, o item do balde, muito fácil. Mais itens que no balde. Muito bom. E então aqui embaixo, nós, por exemplo, podemos ver que temos algumas partículas aqui, que neste momento não vamos mudar, mas você pode fazer seus próprios tipos de partículas e, por exemplo, tem mel pingando lá. Algo assim. Tenha essas correspondências aqui, que temos que substituí-la por fluidos mod, mel ainda e fluidos. No sopro. Então aqui, o estado de dois blocos. E importante que os blocos pontuam a água substituída por mais blocos, esse fluido de mel. Isso deve ser bom porque é claro que isso também é um bloco de fluidos. Portanto, ele herdará as propriedades dos Estados de bloco dele. E eu realmente acredito que essas são todas as mudanças que precisamos fazer aqui. Nós mencionamos o bloco, os fluidos e o item. É praticamente isso. E agora precisamos fazer é que precisamos registrar o manipulador de fluidos e o manipulador de renderização de fluidos. Agora, na verdade, vou fazer isso dentro daqui. Você provavelmente poderia fazer se você tiver vários fluidos, eu sugiro fazer uma classe personalizada basicamente que o OLS. E o jeito que vamos fazer é o seguinte. Vamos dizer fluido ou render o registro auxiliar, exatamente esta instância no registro. E então isso vai ser mais fluidos na ISS ainda. Então, o que vamos ter a ver com esses quatro ainda chifres soprando também. E então vamos fazer um novo manipulador de renderização de fluidos simples. Muito bom porque isso foi basicamente fornecido por nós ou por tecido ou este real ou 118. E vou dizer simples manipulador de fluidos e vamos dizer água ainda. E o que vou fazer é fazer uma vírgula e vou copiar isso. Vamos precisar colocar três diferentes, então vamos manter a água ainda três vezes aqui e depois mudar esta para a água fluindo. E então o último será sobreposição de água. Muito importante que você escolha a sobreposição de água porque os pontos basicamente para a textura da água, mas a textura da água é realmente cinza. E isso nos permite adicionar um quarto parâmetro aqui. E essa será a tonalidade. Eu só vou pegar isso, esta é basicamente a tonalidade do mel que eu escolhi, e esta é basicamente a cor que o fluido real terá. Portanto, esse é apenas um valor RGB em hexadecimal. Então, não seria muito louco. E vou dizer a mesma coisa aqui para o fluxo de mel. E então a última coisa que vamos precisar é antes de tudo, tradução para o balde. Então, o mel sublinha baldes e o balde de mel lá. E, em seguida, um modelo de bloco. Agora isso realmente vai ser tão fácil. Então eu só vou copiar sobre este. Vou dizer balde sublinhado Honey. E isso simplesmente se refere a uma textura de balde de sublinhado de mel, que também copiará muito facilmente. Bem aqui. Lá vai você. Depois, há mais uma coisa que é muito importante que precisamos fazer, e isso está na pasta de dados ou nas tags Minecraft, você terá que fazer com que um novo Diretório contenha fluidos. E em vez de eles vão fazer uma nova etiqueta chamada regada adjacente. E vamos apenas copiar o conteúdo das paredes, Jason aqui. E vamos mudar isso para o curso MC. E isso vai ter que incluir tanto o mel ainda, certo? Sublinhado de mel ainda, bem como sobre o sublinhado fluindo. Então, isso basicamente representa a física de toda a provação, por assim dizer. Então, vai ter a mesma física que a água. Isso é o melhor com o que posso fazer por enquanto. No entanto, isso é tudo o que vamos precisar para isso, embora seja bastante complicado. Há muitas coisas e, claro, também há coisas que você pode querer mudar. Os tipos de partículas aqui, por exemplo, há um monte de coisas que você ainda pode fazer em teoria. Mas, no geral, eu só queria, antes de tudo, mostrar como você pode realmente fazê-lo. E isso deve ser bastante simples. Então, para fins de conclusão, vamos ver se funciona. Tudo bem, as finanças em mente, como você pode ver, o balde de mel foi adicionado ao jogo. Vamos ver se funciona. E funciona, na verdade funciona e foi muito interessante é que eu realmente fiz isso infinito por enquanto. Mas podemos realmente mudar isso muito, muito facilmente. Esta é, na verdade, uma mudança muito fácil. E você também pode ver que eu o tenho fluindo. Por exemplo, você pode ver que as partículas aqui ainda são as partículas de água normais. Isso é praticamente o que eu disse que, você sabe, pode querer que ele seja alterado em um pouco de capacidade, mas no geral, vai ficar bem. E também se você entrar nele, você pode ver que a sobreposição aqui também é azul. Não há muito que possamos fazer sobre isso no momento. Pelo menos eu não descobri como você pode recolorir isso. Mas, por enquanto, quero dizer, é que ainda é um top fluido completamente personalizado que é realmente muito legal. E para o bem de conclusão, na verdade, também. Vamos realmente ver como se livrar do infinito aqui, certo? Na verdade, é muito, muito fácil. Este booleano aqui é infinito, é igual a falso, e isso é literalmente tudo o que há para ele. Então isso é tudo o que existe. E há, claro, algumas outras coisas como a velocidade do fluxo git, você tem que obter diminuição de nível por bloco, um carrapato, taxa de ticks, a última resistência da Europa. O nível do fluido ainda, há muitas coisas que você pode fazer e você, eu recomendo mais uma vez, está brincando com os números um pouco, experimentando um monte de coisas, você sabe, esteja aberto à experimentação com isso, então tenho certeza de que você pode implementar o fluido de seus sonhos, por assim dizer. Mas isso já seria para esta palestra aqui. Espero que você tenha achado útil e tenha aprendido algo novo. Vejo você na próxima palestra. Então, sim. 82. (de mediate) motive tabelas de loot de baunilha: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos dar uma olhada em como você pode modificar uma tabela de alaúde. Então, antes de tudo, você pode dizer: Espere, nós já fizemos uma mesa lasciva no início do curso. Sabemos como adicionar tabelas lw. Sim. Mas o que você não sabe é como você pode adicionar dois blocos lascivos que já existem na baunilha. E é isso que vamos dar uma olhada nesta palestra aqui. Para isso no pacote util, clique com o botão direito do mouse em nova classe Java. Este será o mod, modificadores de mesa de saque. E, na verdade, vou copiar todo o conteúdo e explicaremos à medida que avançarmos. Agora, é claro, tudo disponível para você no repositório do GitHub ou em indivíduos também. E a ideia geral aqui é que, antes de tudo, não vamos adicionar sementes de pimenta, mas, claro, sementes de nabo aqui. E então a ideia geral é que temos três soro identificador aqueles pontos para uma tabela de luge específica. Então, a tabela Lu, quando vamos para as bibliotecas externas, esta direita, projeto Net Minecraft e assim por diante. À vista da pasta de dados, tabelas luge, ela bloqueia o jogo de entidades de tórax. E você pode basicamente dizer que assim como você pode ver e então eu posso ver, ok. Há um baú iglu lá dentro? Isso é exatamente o que está aqui, que você basicamente pega o nome sem o JSON. Muito importante. E você também pode tê-lo nas casas aqui também, por exemplo. E coisas assim. Então, você pode basicamente modificar qualquer uma dessas tabelas. Agora, em teoria, acredito que ele poderia tirar disso. Recomendo não fazer isso. Recomendo apenas adicionar coisas. Agora, como você adiciona coisas com este construtor de pool de loop de malha. Agora essa é a coisa que vai ser a mais complicada. A coisa sobre isso é que eu tenho um exemplo disso aqui, onde você basicamente tem uma chance particular de algo cair. Você também pode colocar isso em um e, em seguida, você tem 100% de chance de soltá-lo. E então aqui com esta função de largura, com a função de carga setCount e um provedor de número de carga uniforme. Basicamente, podemos dizer que isso tem, isso cai entre esse número e esse número de itens. Mas, como você pode ver claramente sobre a haste de dowsing dentro do baú iglu, bem como o fígado de carvão da trepadeira só vai cair uma, enquanto as sementes de nabo da grama caem um ou dois. E apenas com 35% de chance de realmente cair se formos ao construtor de pool de loop aqui, bem, você não pode realmente ver o que está acontecendo aqui. No entanto, é muito complicado. Então você só vai ter que experimentar um monte de coisas basicamente. Veja, por exemplo, um condicionalmente, ok, o que meio que é colocado aqui? Bem, posso colocar o construtor aqui. Certo, justo o suficiente. Então, se pudéssemos dar uma olhada nisso, eu tenho que usar esse construtor de condições de loop. Então você pode ver que este é um construtor de condições de loop. E eu poderia dizer, por exemplo, percorrer pessoalmente a condição e pressionar Control H e ver todas as diferentes condições de carga que existem. Então essa é uma daquelas coisas que é muito legal, onde a hierarquia aqui é incrivelmente útil para isso. Por exemplo, você tem o loop de verificação de tempo, condição de loop, que é realmente legal. Temos a condição de correspondência com loop. Temos a condição de loop de player kilobyte e todo esse jazz. Então, há muitas coisas que você pode basicamente colocar aqui. É só uma questão de você ter que experimentar um monte de coisas. E basicamente, bem, é meio que e eu admito que isso é meio que correndo contra a parede com sua cabeça até que, você sabe, basicamente funcione. Então, há muita tentativa. Mas se você quiser, se você tem algo realmente complicado onde você quer adicioná-lo a algo, então será assim. Mas seja qual for o caso. Então, como você pode ver aqui, estamos basicamente chamando o evento de callback de carregamento da tabela de saque . E então você está dizendo, ei, se o ano do ID corresponder à ideia que especificamos aqui, se o ID do bloco de grama for igual ao ID aqui, então vamos adicioná-lo, então vamos adicionar tudo disso para a mesa de loo. Então essa é a ideia geral. E então vamos fazer a mesma coisa. E o iglu e depois a trepadeira também, onde adicionamos a fita de carvão aqui, a haste de dowsing e aqui as sementes de nabo. E a única coisa que precisamos fazer então é entrar em nosso, bem MSE curso mod As e, em seguida, basta chamar os modificadores de tabela de saque de mod que importam outras tabelas. E é isso. Isso é tudo o que há para isso. E se quisermos adicionar algo, apenas copiamos, criamos um novo identificador, adicionamos outra declaração if em um monte de coisas por aqui. E é isso. Isso é tudo o que precisamos fazer. No entanto. Acho que recebeu as obras para nos encontrar um Minecraft. Então, vamos primeiro matar um creeper NSC. Aí está ele. Uma tira de carvão caiu da trepadeira. E então vamos, na verdade, em primeiro lugar, eu matarei esse creeper porque senão vamos ter um momento ruim. Além disso, vamos diminuir um pouco o volume. É um pouco alto aqui para mim. Então eles vão e vamos colocar um modo de sobrevivência e vamos cair lá. Você pode ver que já tivemos sorte na primeira vez. Os assentos de nabo estão realmente caindo. E saiba que temos de todo. Vamos também procurar um iglu rapidamente. Bem, você olharia para isso? Há uma vara de dowsing. Então, é realmente o quão fácil é adicionar o aludido às tabelas de saque já existentes, certo? Todo o código é claro, mais uma vez disponível no repositório do GitHub ou em um indivíduo também. E isso também já é para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. Se você o fizesse, eu agradeceria muito uma revisão sua. Caso contrário, eu o verei na próxima palestra, no entanto. Sim. 83. (Total mediate): Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos dar uma olhada nos avanços. Portanto, os avanços são feitos por meio de arquivos JSON. Então, o que vamos fazer é entrar em nossa pasta de dados na pasta do curso MC, clicar com o botão direito do mouse em novo diretório e avançados frios, certificando-se de que estamos lendo isso corretamente. As metas que são muito importantes. E, na verdade, vou copiar os dois arquivos básicos que já estão preparados e vou explicar, certo. Então você pode ver que eu tenho o avanço do arquivo JSON do curso MC e o avanço avançado da haste de desvio. E esses dois são um pouco diferentes. Mas o que está acontecendo aqui é que temos um avanço. Estamos, que é basicamente a guia. Portanto, isso cria uma nova guia Avanço. Se o avanço não tiver um pai, você pode ver que isso é aparente. Curso Mc. Curso Mc. Certo, com certeza. E então este não tem um pai, mas tem um plano de fundo. E o plano de fundo realmente tem que ser tão específico. É muito estranho, mas tem que ser que eles tenham que colocar seu ID e, em seguida, blocos de texturas, e então qualquer bloco, por exemplo, você não estava em segundo plano, ou você poderia, claro, também colocar em uma pasta diferente, em uma pasta diferente, na pasta de texturas que também funcionaria também, mas o resto deve ser bastante autoexplicativo. Você tem um item, obtém um título, isso é apenas o título do avanço real. E então teremos uma pequena descrição aqui. O que o quadro está em uma tarefa? Agora eu acredito que você pode realmente entrar aqui. Há um desafio também e assim. Portanto, há uma visão diferente, coisas diferentes. Então torradeiras, então isso vai ser se ele vai mostrar ou não o brinde no canto superior direito da tela, depois anunciado fechar. Bem, isso deve ser bastante autoexplicativo. E agora eles são realmente difíceis, digamos que sejam os critérios. Porque aqui entramos nos requisitos os gatilhos e as condições, no entanto, vamos dar uma olhada nisso em geral. Não vamos fazer nenhuma condição personalizada ou gatilhos porque isso vai ser muito, muito mais difícil e isso é realmente algo que é muito mais complexo no momento. Mas, por enquanto, vamos dar uma olhada no gatilho alterado do inventário aqui. Isso significa que se eu conseguir um oráculo entrar, entrar no meu inventário, então o que vai acontecer é que eu vou conseguir esse avanço. E então o mesmo com a vara de dowsing, certo? Se eu conseguir uma vara de dowsing no meu inventário e vou conseguir esse avanço. Então esse é o ano da ideia geral. E mais uma vez, tenho um ótimo recurso para você, que é mais uma vez, é claro Miss antigo GitHub IO, onde você pode basicamente gerar os arquivos JSON para os avanços aqui, isso é exatamente como insanamente ótimo. Poderíamos ver, por exemplo, condições. E depois há algumas condições diferentes. Podemos dizer, qual é o requisito aqui? E você pode ver que há vários requisitos diferentes. Por exemplo, usando o item, mesmo há possivelmente algum animal de pão iluminador canalizado. Então, como você pode ver, há muitas coisas que você basicamente pode colocar aqui. Marque, até faça listas, olhe para tiques ou há muitas coisas que você pode fazer alguma entidade. Eu recomendo apenas brincar com isso um pouco. E, claro, também há sempre nos repositórios do GitHub de modos populares, onde você também pode dar uma olhada em seus avanços. Altamente recomendado, que às vezes você só precisa pensar um pouco sobre isso. Agora, embora os avanços não sejam a coisa mais importante, você sabe, eles ainda podem ser uma adição bem legal ao seu tapete. E apenas por uma questão de conclusão, vamos ver se funciona, mas certifique-se de fazer um novo mundo primeiro, porque se você já teve algum desses itens em seu inventário, você obterá os avanços imediatamente. Melhor fazer um novo mundo. Essa é uma ideia muito inteligente, ou nos encontramos no Minecraft. Então, vamos ver, e vamos apenas tirar a taxa de lingote aqui. Então, vamos lá e lá está, para que tenhamos o avanço aqui, nossas mentiras na telecom. E se entrarmos nos avanços, você pode ver que já temos o avanço da vara de dowsing aqui, como esperar por nós, por assim dizer. Acabei de receber outro avanço. Então, se eu conseguir, por exemplo, o ferro Inglaterra, que obtemos outra guia. E você pode ver a guia Minecraft e aqui como a guia Modelo do curso MC para o nome da guia sempre será o nome do primeiro avanço. Mas essa é basicamente a ideia geral aqui. Além disso, vamos também tirar a vara de dowsing, e também vamos conseguir isso. Mas isso não funciona. São autores como você. Isso é pelo menos o que eu ouvi. E vamos ver, aqui mesmo. Lá vai você. Então, tudo funcionando muito bem lá já seria para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E te vejo na próxima palestra. Então, sim. 84. (intermediário) como provocar partículas de espirrar: Tudo bem, bem-vindo de volta ao cavalo de tecido para 118. E nesta palestra, vamos dar uma olhada em como você pode gerar partículas no mundo. Agora, a coisa específica que vamos ver é basicamente possuir as partículas no bloco SPD. Então, basicamente, neste exemplo específico, como você pode gerar partículas em um bloco. E então, geralmente, por exemplo, para entidades ou mobs, isso deve ser muito semelhante na verdade. Então, no geral, o que você precisa é apenas uma variável World e você precisa estar no cliente. E para isso vamos substituí-lo pelo método de seleção de exibição aleatória. E este basicamente só é chamado no cliente e temos um mundo de variáveis. Então, isso é exatamente o que precisamos. E o que vou fazer é copiar sobre o conteúdo disso tudo está disponível para você no repositório do GitHub ou um indivíduo apenas, bem. E você verá aqui, você basicamente tem uma chance. Mas temos 35% de chance essas partículas surgirem basicamente, e estamos sempre fazendo um novo flutuador. Então, às vezes, temos todos os quatro pequenos e às vezes, não temos nenhum deles gerado. Essa é uma espécie de ideia geral. E você pode ver que a maneira de gerar uma partícula é chamar partícula de ponto ponto-ponto mundial. E precisamos fornecer um tipo de partícula. Ele está usando o botão do meio do mouse. Clique sobre isso. Há vários tipos de partículas aqui, tipos de partículas padrão. Você poderia, em teoria, também ler o seu próprio. Isso é algo que não vamos olhar nesta palestra. Onde quer que possamos dar uma olhada nisso em uma palestra futura, ainda não temos 100% de certeza. E temos que fornecer a posição. Então posição x, y e z. Você pode ver que eu sempre adiciono um pouco de aleatoriedade aqui para que não respondamos sempre na mesma posição. E então a velocidade, bem, essa é apenas a velocidade com que isso se move. E eu queria me mover para cima. E você pode ver que aqui, basicamente, ele se move para cima. Mas nós podemos fumar, há outras coisas como cinzas, há explosão. Portanto, há muitos tipos de partículas diferentes. Mas vamos ficar com isso por enquanto. E apenas chamar isso quatro vezes apenas faz com que haja um pouco mais dessas partículas que estão sendo propriedade onde quer que você tenha uma variável World, você pode apenas fazer uma declaração if. Se o mundo for cliente e então você pode chamar a partícula, isso só funcionará no lado do cliente. Isso é muito importante. Isso é algo em mente. Mas, caso contrário, por causa de conclusão, vamos ver se funciona. Ou as empresas anunciaram de volta no Minecraft e vamos ver lá estão. Essas pequenas partículas já estão subindo do bloco SPD. Você pode ver se eu colocá-lo para baixo, ver que alguns deles estão se levantando. E é definitivamente apenas um aleatório ao ligar basicamente. E é claro que você sempre pode ligar mais ou menos dependendo do que você quer fazer, mas isso é sempre uma possibilidade. Mas essa é a ideia geral. Gerar as partículas, bem, especificamente em blocos, mas praticamente em qualquer outra coisa está chamando o mundo em nosso método de partículas, certo? Mas isso já seria para esta palestra aqui. Espero que você tenha achado útil e aprenda no Novo, e eu o vejo na próxima palestra. Sim. 85. (pintores personalizados (intermediários) (de (Intermediate): Tudo bem, bem-vindo de volta ao curso de tecido para 118. Nesta palestra, vamos adicionar pinturas personalizadas ao Minecraft. E em pinturas personalizadas é realmente um processo muito, muito simples no pacote do curso MC, clique com o botão direito do mouse em novo pacote chamado pintura. Em vez de lá, vamos clicar com o botão direito do mouse novas pinturas do modo de classe Java. E então, dentro de lá, vamos precisar de algumas coisas para métodos para serem exatos. Uma pintura estática privada, um motivo, pintura de registro com um parâmetro de nome de string e um motivo de pintura, motivo final. Tudo bem. Vamos retornar o registro de dados do registro, motivo de pintura de pontos do registro com um novo identificador, MC course mod n mod ID name. Depois dos primeiros parênteses, passaremos pelo motivo da pintura terminaremos com um ponto e vírgula. O poder também é muito importante. Precisamos de um método de pinturas de registro vazio estático público aqui está apenas indo para sistema linha de impressão registrando pinturas para identificação ímpar. Só para que tenhamos isso porque realmente temos que chamar isso do lado do método de mod do curso MC aqui. Então, no método inicializado, vamos fazer isso logo após os registros modais. Então, em pinturas que registram pinturas. E agora em diante vamos realmente adicionar as pinturas. Bem, como isso é feito? Bem, na verdade, é muito simples também. Motivo de pintura final estática pública ao pôr do sol aqui. E vamos apenas dizer registrar a pintura com o nome do pôr-do-sol. E então um novo motivo de pintura, que leva apenas dois inteiros, a largura da imagem e a altura desses valores aqui são basicamente em pixels. Sim, desde que eles combinem, tudo está, deve ficar bem. Então, vamos apenas duplicar esse tempo com o Control D. E também vamos adicionar o planejado e o andarilho também. E, em seguida, certifique-se de que mudamos o nome diz bem planejado e pergunto. E então os tamanhos também planejados um 16 por 16, e este é realmente estendido por 32. Isso para que você tenha alguns exemplos. E então a questão é, bem, mas de onde tiramos as pinturas? Bem, em primeiro lugar, as pinturas que eu tenho também são feitas por platina G.711. Então, se você quiser usá-los, observe a licença. Se você quiser usá-los no seu MOD público semelhante, estes, anote a licença. Caso contrário, vamos apenas copiá-los. Então, esses realmente entrarão na sua pasta de texturas aqui, certo? Então, nos ativos MC texturas grosseiras e depois pintando. E então lá estão eles. As três pinturas, os nomes aqui, é claro, têm que corresponder ao que o nome é aqui. Será bastante autoexplicativo neste momento. E enquanto o resto só vai cuidar de si mesmo basicamente. Então isso é tudo o que você precisa. Você precisa das pinturas desta classe e muito importante que você chame esse método aqui. Caso contrário, não funcionará. Bem. Vamos apenas ver os trabalhos. Tudo bem, nos encontramos de volta ao Minecraft e eu já tenho as pinturas. Vamos apenas configurá-lo para baixo e vamos ver se podemos ter algum bloco para conseguir nossa pitting lá está. Há o primeiro. Mas vamos ver o que isso não, isso não é. Não será nosso pôr-do-sol ou vamos obtê-lo em algum momento. Estou muito certo, como você pode ver, basicamente eles estão lá. Há o próximo. E vamos ver, vamos dar uma olhada. Bem, isso não vai funcionar, mas este vai funcionar. Então, vamos fazer isso. E vamos ver se podemos obter o pequeno dos 16 por 16 um também. Então, a ideia geral é, como você pode dizer claramente que está. Assim é que as pinturas são basicamente adicionadas à rotação da pintura normal. Mas isso é realmente muito legal e bem, você pode basicamente adicionar qualquer pintura e sim, você pode torná-los tão grandes e tão bonitos e como o que você basicamente quiser 0. Pode ser qualquer coisa que você queira, desde que eles adiram aos centros normais e haja arquivo PNG em sua pasta de texturas. Isso é, na verdade, o quão fácil pode ser, certo? Mas isso já seria para esta palestra aqui. Espero que você tenha achado útil e aprenda um pouco o novo. E te vejo na próxima palestra. Ah, sim. 86. (Antecedência) entidade de bloqueio personalizada (de bloqueio: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos adicionar uma entidade de bloco personalizada ao Minecraft. Agora, como você provavelmente terá visto isso como uma palestra mais longa, porque este é um tópico muito complexo. E o que eu realmente sugiro é assistir a esta palestra e a próxima palestra ao mesmo tempo. Então, basicamente, o tabaco Mac, porque a próxima palestra está imediatamente relacionada a isso e na verdade, faremos com que a entidade de bloco funcione um pouco melhor. A segunda coisa que eu queria mencionar é que se eu disser entidade de mosaico, quero dizer entidade de bloco, ela foi basicamente renomeada em 117. E, portanto, ainda tenho, às vezes ainda uso o nome da entidade do bloco. É só o que é, mas então eu quero dizer a entidade Brock. E também vou copiar muito do código e, em seguida, basicamente explicaremos através dele porque apenas escrever tudo isso é absurdo. Mas não faz nenhum sentido. Por favor, esteja ciente. Há o repositório do GitHub e há indivíduos exatamente onde você pode basicamente copiar todo o código também. Você não precisa se preocupar com isso. Você tem tudo disponível para você, então não se preocupe lá. Certo, então vamos começar. A primeira coisa que vamos precisar é que, na verdade , precisaremos de um, algo no pacote de itens, e isso será um novo pacote, inventário antigo. Então, dentro de lá, vamos criar uma nova interface, embora aqui, nova interface de classe Java. Esse é todo o inventário implementado. E mais uma vez, como eu disse, nosso caviar, o inteiramente disso, que está tudo disponível para você, é claro, nisso não é tão interessante. A ideia geral é que, em primeiro lugar, o João por judeus e, ou justiça eu acho. E isso é de domínio público. Portanto, não se preocupe lá, podemos usá-lo. Mas ainda assim todo o crédito vai apenas para isso, na verdade é muito útil o ano de inventário implementado. E a ideia geral é que quando implementamos essa interface em nossa incrível entidade Brock, podemos basicamente usar facilmente o inventário que está associado a ela. Mas essa é a ideia geral. Vamos precisar disso e basicamente nunca mais veremos isso novo porque isso já está quase perfeitamente feito. Mas não precisamos de mais nada lá antes de mergulharmos na entidade do bloco, vou mostrar um pouco da teoria por trás da entidade do bloco. E para isso, é claro, vamos abrir os slides do PowerPoint. Essa é a ideia geral de uma entidade de bloco. Existem quatro partes. Há a classe de bloco II, a classe entidade de bloco, a classe do manipulador de tela e a classe de tela. O que é muito importante aqui é que, no geral, a classe de blocos é provavelmente uma das mais fáceis. É exatamente onde você clica com o botão direito do mouse e, em seguida, algo na entidade Brock acontece porque a entidade de bloco cria o manipulador de tela. O manipulador de tela basicamente lida com a tela. Parece loucura, mas a ideia é que há uma separação acontecendo aqui porque a classe de tela, Vamos começar aqui é apenas cliente. Ok, então isso significa que é literalmente apenas essa imagem. Há algumas nuances lá. Claro, podemos exibir as setas de progresso. Podemos exibir os compradores aqui, coisas assim. Sim. Mas é só essa imagem. Eu poderia substituir a imagem por uma imagem do meu rosto ou uma imagem com um cachorro ou o que eu quiser. E o manipulador de tela, como os slots reais aqui, eles ainda funcionariam. Eles não precisam se parecer com isso. Essa é uma lição muito importante que você precisa, bem, entre em sua cabeça. É muito importante. Esta é apenas a tela, isso é apenas o cliente, apenas esta imagem. Agora, a classe de tela aqui, no entanto, tem uma referência ao manipulador de tela. E o manipulador tem os slots no inventário, como você pode ver marcando isso com azul para o inventário do jogador e a barra quente. E então, como violeta rosa, temos o, bem basicamente, os slots personalizados com a tela Handler também faz é que ele pode sincronizar valores da entidade de bloco, do servidor e do cliente. Agora isso é algo que é muito importante e que isso também é algo que vamos ver na próxima palestra, na verdade, porque isso requer um pouco mais de configuração, por assim dizer. E vamos armazená-lo, antes de tudo, ter uma entidade de bloco normal que fará algumas coisas interessantes. Mas isso é uma coisa muito, muito importante. E então, sincronizando esses valores, podemos usá-los na classe de tela. Por exemplo, exiba a seta de progresso aqui corretamente. Essa é a ideia geral. Agora, a própria entidade de bloco, o que esta contém dados e funcionalidade para um bloco. Essa é a ideia geral. E então também pode ter um inventário. Para este inventário, como eu disse, é meio que tratado pelo manipulador de tela. Há um acoplamento muito apertado entre este e este. E então não há muito apertado de um acoplamento entre esses dois é basicamente tem uma referência. Então, com a classe de blocos, ele só tem uma referência aqui. Então esses dois definitivamente estão mais relacionados. Há um pouco de uma relação estreita entre, é claro, a tela e o manipulador de tela, pois eles têm ambas as telas no nome, para ser uma indicação muito boa que eles têm algo a ver um com o outro . Mas, no geral, essa é a ideia geral, essa é a teoria geral por trás disso. Não é nada muito louco, se algo aqui for um pouco confuso, não se preocupe com isso. Espero que eu seja capaz de esclarecê-lo quando estivermos realmente programando tudo isso. Mas vamos voltar para a inteligência. E agora vamos criar a entidade de bloco real. Então, em nosso pacote de blocos, clique com o botão direito em novo pacote chamado entidade. E então, dentro de lá, vamos precisar conhecer as cláusulas, o bloqueio de modo nessa classe. E então também o cálcio livre. Entidade de riso, certo? E lá está ele. Portanto, isso vai estender a entidade de bloco. E isso implementará o inventário implementado por vírgula de fábrica do manipulador de tela nomeado , o que já fizemos. Vamos passar o mouse sobre isso, digamos Implementar Métodos e dizer: Ok, vou passar o mouse novamente, criar uma correspondência de construtor super. E agora devemos estar felizes com isso. Então o GetItems aqui você pode ver null. Bem, podemos mudar isso com muita facilidade, porque agora vamos adicionar uma lista final privada de itens padrão com a qual é chamada de inventário. E isso será igual a um padrão, uma lista de tamanho quatro com ponto de pilha de itens AMD. E esse será nosso inventário. Esses serão nossos quatro slots. Então, faz sentido. E podemos simplesmente devolver isso aqui. Então, inventário, apenas devolvê-lo. E isso deve ser bom para o texto de exibição. Este é o texto exibido na parte superior da interface do usuário. Só vamos economizar para o tempo sendo novo texto literal. Ou pode vir blaster, isso vai ficar bem. Está tudo bem. Então, no menu Criar aqui, na verdade, temos que fornecer um manipulador de tela como você pode ver. Agora, o que vou fazer é fazer isso propositalmente um erro, porque senão provavelmente esquecerei porque, como eu disse, há muitas coisas que temos que fazer aqui. No entanto. É por isso que estou cometendo isso propositalmente e erro. Não vamos executar o cliente por um bom tempo de qualquer maneira, então barulho lá. Então o que também precisávamos fazer é que precisamos excluir o primeiro parâmetro aqui ou o outro construtor. E então temos que fazer o resto dentro das entidades do bloco MOD. E o que vamos fazer é dizer um bloco estático público, entidade do tipo ou recalc e aluguel de explosão t. Vamos chamar isso de blaster sublaster de renda oracle. Agora, na verdade, não vamos atribuir isso a nada, porque o que vamos fazer é que teremos uma estática pública, vazia, registro, todas as entidades assim exatamente. Então o que vou fazer é copiar sobre isso e estou disposto a explicar à medida que avançarmos. Então, o que é isso? Então, vamos chamar o registro que registra para o tipo de entidade de bloco. Tudo isso deve ser bastante autoexplicativo com um novo identificador da Armada D e o Oracle pode blaster. Ok, e então vamos chamar o construtor de tipo de entidade de bloco absoluto no creat com o Oracle pode explodir ou dois pontos de entidade, dois pontos sabiam, bem, isso vai criar um novo ou um pelicano entidade blaster e, em seguida, isso é atribuído a um bloco específico. Esse bloco será o bloco que, quando você clicar com o botão direito do mouse, essa entidade será atribuída a ele. E, na verdade, teremos que mudar algo na própria classe de blocos também. Portanto, o Oracle pode explodir ou bloquear a classe. Vamos ter que mudar algumas coisas lá também. Mas, por enquanto, vamos ficar bem com isso. E, na verdade, vou fazer isso um pouco diferente. Tudo bem, tudo bem. E então este registro todas as entidades método deve ser chamado no modo MC course mod class. Mas isso também é muito importante. Vamos chamar isso aqui. Então bloqueie entidades, registrei entidade, então é muito importante, caso contrário, não obteremos uma seta, mas não conseguirá salvar os dados corretamente. Então é por isso que vamos precisar disso. E então, em vez do tipo que não temos, podemos ver mais entidades de livros que a Oracle pode lançar. E agora todas as setas , exceto a que eu quero ter, desapareceram. E podemos basicamente continuar a abrir a classe ampla, que será a Oracle pode explodir ou bloquear. Agora já fizemos coisas aqui que são completamente independentes do que temos. Então, basicamente, a propriedade de direção e tudo isso, nós realmente não nos importamos com isso no sentido de que você também pode ter um bloco que não tem essas coisas, certo? Esses são independentes um do outro. Mas o que vamos fazer é estender o bloco com a classe de entidade e implementaremos a interface do provedor de entidade de bloco. Vamos passar o mouse sobre esses Métodos de Implemento. Use o método Create block entity que precisamos implementar aqui. E então o resto será totalmente bom. Agora temos isso que já podemos fazer, mas aqui vamos apenas dizer novo ou uma vaca pode explodir ou entidade com uma posição no estado. E então isso já está feito aqui. Isso é realmente o quão fácil isso pode ser. Também será necessário fazer é que precisamos API sobre o tipo de renderização. Então, vou copiar esse método. Você precisa substituir o método de tipo get renderizado. Porque quando você substitui essa classe, você pode ver que ela é invisível. Não tenho certeza se é o caso de um por qualquer motivo, só precisamos substituir isso. Tudo bem. Então, o que eu também vou substituir é o método de substituição no estado por algumas coisas aqui, como já mencionei, todo o código está disponível para você no repositório do GitHub ou no individual também. Portanto, não se preocupe, você pode copiar tudo isso também. E esse método é realmente muito, muito legal. Há, isso simplesmente soltará todos os insights da Oracle pode explodir ou entidade apenas no chão. Então isso é basicamente o que isso faz, é realmente muito legal. E eu recomendo apenas usar isso também, porque isso imediatamente cai todo o inventário quando você destrói o bloco. E depois há mais uma coisa, é claro, e esses são os métodos dos EUA. Então, como o método do botão direito quando eu também coloco isso aqui. Então você pode ver que o que eu basicamente vou fazer é eu vou dizer, ei, se eu estiver no rio, então eu vou dizer, Ei, fazer uma nova fábrica de manipuladores de tela. E enquanto isso não for nulo, posso abrir a tela manipulada. E isso é, basicamente, faz com que as coisas em movimento levem o manipulador de tela através da entidade de bloco e assim por diante e assim por diante. E então, basicamente , abre a tela, mas esses são os principais métodos que vamos precisar. Depois, há mais um método que vamos precisar, e esse é o método get ticker. Mas este é o ticker aqui. Só vou pegar ticker. Então você pode ver o que eu realmente vou retornar é que vou retornar o tipo de verificação, as entidades de bloqueio hype e não marcadas, e não recalc blaster. E então eu vou dizer ou entidade complexa RCA dois pontos, dois pontos. Agora isso, é claro que ainda não temos porque não temos um método de tick em nosso Oracle pode explodir ou entidade, mas isso é o que vou adicionar também. Portanto, isso basicamente habilita a habilidade de tick para sua entidade de bloco. Então pegue, você provavelmente já ouviu falar que este é um 125 de segundo e basicamente vai ser feito constantemente, certo? Então, cada carrapato, então a cada 125 de segundo, algo pode acontecer. E isso é exatamente o que queremos fazer dentro de nossa entidade. Cada carrapato que agora podemos fazer alguma coisa. E do jeito que vamos fazer isso, vou copiar mais de 1234 métodos. Então esse é uma vez o método de tick vazio estático público e, em seguida, três métodos personalizados que serão necessários para demonstrar como você pode, por exemplo, criar algo. Agora, este é um exemplo grosseiro, porque na próxima palestra, vamos fazer civilização de receitas personalizadas e os clientes contentes ao longo palavra para basicamente dizer que podemos criar arquivos JSON para nossos próprios como máquina, para nossa própria entidade de bloco, o que é muito legal. Mas, por enquanto, vamos usar isso apenas para que tenhamos alguma funcionalidade aqui. E você pode ver, então o método tick aqui, ele tem quatro parâmetros, posição mundial, temos o estado e temos a própria entidade. Agora, o que é realmente legal é que a entidade, basicamente temos acesso a isso e podemos fazer o que quisermos com ela. Você pode ver o que eu faço é que eu posso dizer, Ei, não tem receita e não atingiu esse limite. E então eu criarei o item que é uma espécie de ideia geral aqui. E o que eu vou fazer aqui, você pode ver é que eu vou apenas remover a primeira pilha, a pilha do slot 0, do lote de paradas um e do slot dois. E então eu estou enviando a pilha no slot 3 para que o Oracle possa escolher x aqui e estou recebendo a mesma contagem. Então, vou aumentar a contagem. É uma ideia geral. E então aqui, na verdade precisamos colocar três lá. Então isso é muito interessante ali mesmo. O que é necessário para isso? Bem, no primeiro slot, preciso ter chamado sliver, e no segundo slot preciso ter uma picareta dourada. E no terceiro slot, ou no slot com índice dois, terei que ter um lingote oracle. Essa é a ideia geral. E se todos forem verdadeiros, e se a pilha não tiver atingido o limite, podemos criar o item e seguida, a viga, o item será criado. Agora isso vai parecer semelhante na próxima palestra, mas um pouco diferente. Porque, mais uma vez, esta é apenas uma maneira muito grosseira de codificar tudo. E eu prometo que você definitivamente não faz isso. Este é apenas um exemplo agora para esta palestra, apenas para que você possa ver qualquer funcionalidade. Próxima palestra, vamos fazer isso corretamente. Há muito bem com a serialização da receita, eu recomendo. É por isso que eu disse assistir as duas palestras uma após a outra imediatamente, porque vai ser muito, muito melhor, certo? Mas, na maior parte, a entidade de bloco é feita com o manipulador de tela aqui é a última coisa que precisamos fazer. Mas para isso, na verdade, vamos precisar do manipulador de tela e da tela. Então, no pacote do curso MC, clique com o botão direito do mouse em novo pacote chamado tela. E então lá dentro, vamos criar um monte de coisas. Bem, os manipuladores de tela de modo, esse é o primeiro. E então o segundo será a tela de blasters recalc. E então haverá o resultado blaster no manipulador. E isso vai ficar bem. E vamos dar uma olhada no manipulador de tela primeiro. Esse será o mais importante, um dos mais interessantes. Mais uma vez, eu realmente copiarei a totalidade da classe e passaremos por ela peça por peça. Não se preocupe lá, certo? Então, lá temos isso. E vamos ter um teorema de algumas setas, não se preocupe, porque é claro, temos que definir o blaster de tela oracle. Isso é praticamente a mesma coisa que tínhamos que fazer para a entidade de bloco, exatamente onde estamos referenciando este em vez de apenas obter o tipo do parâmetro. E o que você também verá é há dois slots aqui, que são por qualquer motivo bem lidos, são slots personalizados. Na verdade, vou copiá-los também. No entanto. Eles são símbolos muito frequentes, como você pode ver, este é muito simples. E então os resultados são que o pequeno slot também é muito simples. E então podemos realmente importá-los para o ego. E vou explicar isso em apenas um momento também. Mas, no geral, o que o manipulador de tela está fazendo? Bem, basicamente, estamos verificando o tamanho Hayes do tamanho, correto? Bem, na verdade tem que ser quatro. Então isso é muito interessante. E estamos basicamente dizendo, ei, isso tem todas as coisas que precisamos fazer. Apenas definindo os campos aqui, o inventário, o mundo. Ainda não precisamos do mundo. Bem, talvez precisemos do mundo em uma palestra posterior. E então adicionamos nossos próprios slots. E é assim que os adicionamos, este slot ponto-ponto, e então criamos um novo slot. E você pode ver que aqui estou fazendo uma nova ranhura de combustível do motor porque aqui eu realmente só quero que o combustível seja colocado. E então, nesses slots, eu importa para mim. E então este é o slot de resultados. Também não quero que o jogador esteja colocando coisas lá, apenas a entidade de mosaico ou o manipulador de tela basicamente. Isso é muito fácil. Isso apenas substitui o método canon certo aqui e o slot de combustível mod, eu basicamente tirei a maior parte disso do slot de combustível do forno abstrato. Mas você sabe, como uma ideia ou basicamente, mas isso é praticamente tudo o que você precisa fazer. Os índices, é claro, apenas contam, certo? 0, 1, 2, 3. Também será bastante autoexplicativo. E então o x e y aqui, isso vai ser algo que é muito interessante porque estas interessante porque estas são as coordenadas do canto superior esquerdo 000 para basicamente o lugar onde o slot está vai estar na interface do usuário real. Vou copiar a GUI que vai na pasta de texturas, uma GUI. E então este é o Oracle pode explodir ou GUI. E vou abrir isso. E o que eu explicarei basicamente é que a maneira como funciona é a seguinte. Que se eu for fazer isso, por exemplo, certo? Você pode ver isso. Você pode ver isso, certo? Então aqui é 0, 0, vamos contar para baixo. E então vamos para a direita. E então esse pixel aqui é o que precisamos para este slot. E você pode ver que é exatamente 18 para a direita e 50 para baixo. Essa é a ideia geral. Se você tem o Photoshop ou se você tem o GIMP ou o paint.net, você geralmente pode fazer é usar a ferramenta Selecionar para ver o quão longe isso está e você só precisa contar. Essa é a única maneira que isso realmente funciona, é muito irritante. Pode ser muito chato, mas é exatamente o que é. E então temos esses dois métodos auxiliares, que também são chamados de inventário e barra quente do jogador. Agora, eles são mais agradáveis de ler do que apenas ter essas coisas lá uma vez. É como, eu não sei, entender por que isso não é feito em baunilha também. Porque na baunilha é apenas essa coisa. Assim como colocar no construtor. Eu sou como, ok, isso é estranho. Então o método do lote transversal é algo que simplesmente não vamos olhar. Isso só nos permite clicar com a tecla Shift pressionada em uma pilha nessa, em nossa entidade personalizada, entidade de bloco. Sempre que não vamos olhar para isso porque isso é, na verdade, porcas de fricção. Este é o pior método que eu já vi. Só não quero ter nada a ver com isso, então não importa. Vamos apenas dizer, obrigado que isso funciona e tudo está bem, podemos usar o método basicamente apenas diz: Ei, podemos usar isso? É praticamente isso. Se o jogador estiver muito longe, algo assim. Isso é tudo o que isso faz também. Então, agora vamos passar para os manipuladores de tela, e vamos colocar isso aqui. Na verdade, vai ser bastante simples. É apenas um tipo de manipulador de tela estático público na verdade, do tipo ou um manipulador de tela ou explosão. Recount vem o manipulador de sublast ou sublinhado tela de sublinhado. Manipulador. Lá vai você. É igual a um registro do manipulador de tela, manipulador verde, registro, registro que eles atrás. E isso vai ser simples, mas isso é muito importante com um novo identificador de C corps mod, mod ID. Mais uma vez, todos recalc vêm em seu blaster de pontuação. E depois dos primeiros parênteses, vamos dizer manipulador de tela recalc e blaster, dois pontos, dois pontos novos e terminaremos com um ponto e vírgula. Isso é tudo o que precisamos aqui. Mais uma vez, o código também está disponível. Você também pode copiar isso. Agora, para não escrever tudo. Aqui no manipulador de tela, podemos ver que a era foi resolvida. Agora, na entidade de gesso, também podemos finalmente resolver essa seta aqui também. Podemos apenas dizer que isso vai ser um novo registro pode explodir ou manipulador de tela com o ID do coletor, o inventário. E então isso como o inventário, porque é claro que este é um inventário implementado. Portanto, podemos simplesmente passá-lo em nossa própria entidade de bloco. E então podemos fechar a entidade do bloco. Podemos fechar isso. Podemos fechar isso. E então apenas a tela é deixada e a tela é, como eu disse, praticamente apenas a imagem. Agora, claro, é um pouco hipérbole. Há um pouco mais nisso. Vou copiar isso também e vou explicar. Então, no geral, você pode ver que esta é uma tela de alça de oracle vem abençoada seu manipulador de tela, muito importante que esta é uma tela manipulada. Ele também aponta para a textura que você pode ver que este é um identificador que aponta para as texturas GUI ou um blaster de cálcio GUI PNG, Isso também tem que corresponder. E então estamos basicamente desenhando a textura aqui e nos métodos de fundo de desenho. Então, basicamente, isso apenas centra o título no meio da entidade do bloco. E, em seguida, o método de renderização apenas renderiza o plano de fundo, as dicas de ferramentas também. E esse método de textura de desenho será muito interessante, especialmente na próxima palestra, onde vamos adicionar o progresso do fogo e a barra de progresso da seta faz. Isso é o que você precisa chamar basicamente para adicionar mais coisas à imagem, para desenhar mais na imagem. Porque se dermos uma olhada nisso, você realmente tem o fogo aqui e a flecha ali. E isso, precisamos sobrepor isso e basicamente expandiu o tamanho dele dependendo, digamos que o progresso, por exemplo. Então essa é a ideia geral aqui. Mas, por enquanto, este, certo, a textura do desenho com x, y, 000 largura de fundo, altura basicamente atrai toda a equipe do Goo aqui. Essa é a ideia geral. Além disso, também temos que chamar uma coisa no curso MC, método compatível ou melhor classe. E esse será o registro de tela, registro que se registra com os modelos sendo manipuladores ponto ou um Malcom no ano passado manipulador da Suécia e o cólon da tela do blaster de cálcio, dois pontos novos é muito importante que esta seja a tela no segundo parâmetro e os manipuladores de tela de modo basicamente fazem referência no primeiro. Muito importante, mais uma vez, pode ser um pouco confuso às vezes, mas essa é a maneira básica que tem que ser. E então tudo deve ser configurado corretamente. E eles significam esse ponto, vamos ver se funciona. Ou você nos encontra de volta no Minecraft. E como você pode ver, vamos ver o que acontece. Há que o recalc e o blaster, e você pode ver que tudo ainda está funcionando bem. Podemos até mudar o clique nisso, isso é ainda melhor. Isso é muito legal. Agora, vamos colocar o, se tentarmos colocar qualquer outra coisa aqui, isso não funciona. O nível do curso, no entanto, funciona porque causou o fígado é um item de combustível, portanto, funciona. E então aqui também não podemos inserir nada. Vamos colocar uma picareta muito acolhedora e na parte inferior, uma picareta no topo. E então aqui uma recapitulação poderia escolher x deve aparecer. E aí está, ele realmente funcionou. Agora, eu não tenho 100% de certeza se eles ainda são uma flecha com isso. Não, não há. Tudo isso funciona. E isso também não funciona porque o limite de pilha aqui foi atingido. Assim, podemos adicionar outro, e assim que eu removê-lo, o outro é adicionado. No entanto. O Oracle pode explodir basicamente já está funcionando. Claro, não está disparando aqui e não está tendo uma barra de progresso no momento. Isso é o que eu venho dizendo. Basicamente, fazer tudo codificado e coisas assim definitivamente não é aconselhável. É apenas uma maneira que você pode realmente ver, hey, ele realmente funciona e tudo aqui é, bem, ótimo final funcionando bem, certo? Mais uma coisa que precisamos adicionar à explosão ou entidade são dois métodos que são muito importantes para salvar o inventário quando o mundo real fica bem, quando você se move para fora do mundo, e esse será o NVT certo e um método NVT lido. E você pode ver que nos estoques estão bem carnudos do que inventários lidos e lidos vazios. Lá vai você. Então isso teria sido fatal. Bem, lá vai você. Então esse é basicamente o inventário, certo? Mit apenas escreve as listas padrão de inventário aqui para os dados NVT e, em seguida, o vermelho apenas lê. Então essa é a ideia básica aqui. E isso é muito importante que também chamemos isso de outra forma, quando fechamos o mundo, ele não salva o inventário. Então essa é a ideia geral lá, certo? Por exemplo, agora tenho 62 chamadas fígadas aqui. Bem, vamos fechar o mundo. E vamos entrar lá novamente. E vamos ver se as lascas de carvão permanecem e elas ainda estão lá. E lá estão eles 62 amantes de causa, vamos. Tudo salvo. Como eu disse, este é um tópico muito complicado e há muitas partes móveis aqui. A folha de truques estará disponível para você como download, bem como é claro que você tem o repositório do GitHub e exatamente onde você pode basicamente dar uma olhada em tudo o que você está indo precisa adicionar aqui. E, no geral, só vai ser, é exatamente como é. Portanto, a entidade das entidades de bloco é muito complicada e você só precisará avançar e tentar entender cada parte dela. Espero que eu tenha conseguido basicamente facilitar isso, seja qual for o caso. É isso para esta palestra aqui. Espero que você tenha achado útil nos aprendizados do novo, Se você apreciar muito, revise de você. Caso contrário, te vejo na próxima palestra. Ah, sim. 87. Tipos de receita personalizada (Advanced) (Advanced): Tudo bem, bem-vindo de volta o curso de tecido para 118. Nesta palestra, vamos dar uma olhada em como você pode adicionar um tipo de receita assumido Minecraft a. Anteriormente, fizemos nossa entidade recalc e blaster broke. E eu te disse que é uma forma muito grosseira de criar aqui. Porque o que queremos é que queremos poder usar arquivos JSON de receita normal ou nossa entidade blaster também. Isso não só o tornará melhor, porque não precisamos codificar tudo aqui. E também, e isso é ainda melhor. Ele permite que mais fabricantes de pacotes, por exemplo, adicionem receitas personalizadas para nossa entidade de bloqueio e coisas assim. Então, mais uma vez, vou copiar a maioria do código. Portanto, tudo isso está disponível para você no repositório do GitHub ou nos juristas também. Então você tem tudo disponível para você e eu explicarei à medida que avançarmos. Então, no pacote do curso MC, clique com o botão direito do mouse em novo pacote chamado receita. E então, dentro de lá, vamos precisar duas aulas, aula de receitas imortais. E então também a recontagem vem por último ou receita. E vamos começar copiando a totalidade dos custos respiratórios do blaster. Agora, mais uma vez, vou realmente passar por isso e explicarei, não deve haver erros aqui. Então, antes de tudo, você pode ver que isso implementa a receita do inventário simples. Isso só faz sentido porque um inventário simples é praticamente apenas isso é um inventário simples. Você pode ver que existem três campos. Há uma saída, há uma lista padrão de ingredientes, que são os itens da receita. Essas serão as entradas e também haverá um identificador. Esse é basicamente o nome que você pode ter em seu arquivo JSON, mas vamos ver isso em apenas um momento. Assim, o construtor de receitas da Oracle pode explodir exatamente esses três parâmetros diferentes que você tem como campos. Isso é muito importante. E então há um método muito importante e esse é o método de correspondência. Agora, o método de correspondências, como você pode ver, leva-o no inventário e você também pode obter os itens da receita. Então, os itens de receita, esta é a lista que foi lida a partir do arquivo JSON, o que significa que qualquer lista basicamente você tem de ingredientes ou itens dentro do arquivo JSON. Estes serão salvos aqui. E o que isso tenta é que ele vai dizer, ei, esse é o primeiro ingrediente dentro da nossa lista, como no arquivo JSON, corresponder à pilha dentro do inventário. Se for esse o caso, continuaremos se o próximo coincidir com o, com a pilha e o inventário do segundo slot. Para também, vamos devolver isso, que espero que seja verdade, então, basicamente, determina se há ou não uma receita presente dentro do inventário. Isso é muito importante. Portanto, este é um dos principais métodos que é muito importante. Mas também se você tiver um inventário maior, se você tiver mais slots nos quais você precisa colocar as coisas. Essa é a parte em que você precisa definir a funcionalidade. Basicamente, essa será a coisa mais personalizada. Quando você faz suas receitas personalizadas ou entidades de rock personalizadas, basicamente se elas parecem completamente diferentes, se elas talvez tenham 12 slots diferentes e então você precisa colocar certas coisas em certos slots e coisas assim. Esse é basicamente o método em que a maior parte disso será o que a funcionalidade está programada, como implementada. E é muito, é muito difícil de realmente passar, ok, como você tem que fazer tudo de todas as maneiras diferentes. Mais uma vez, aqui, neste momento, o conhecimento Java, se você não o tiver, você vai perder provavelmente para sempre. Isso não é, isso é muito, muito complexo e tenho certeza que você já descobriu isso neste momento. Isso especificamente aqui vai ser muito interessante. De fato, o resto dos métodos não são realmente tão interessantes. Você pelo método de artesanato, nós apenas, a saída Fitts é verdade. Obter saída é apenas uma cópia da saída, o identificador. Vamos apenas obter ID, que está virando o edim. E então aqui chegamos a coisas interessantes e esse é o serializador de receitas, bem como o tipo de receita. Porque podemos ver que temos duas classes estáticas aqui, a classe type e a classe serializador. E isso foi realmente apenas nos ajudar imensamente porque eles apenas facilitam nossas vidas. Porque temos a instância aqui do tipo, bem como o serializador. E podemos apenas perguntar a esses dois métodos aqui para onde a classe de tipo não é tão interessante. A classe serializador que você pode ver na verdade tem três métodos. Esse é o método de leitura, leitura e gravação. Então, vamos passar por isso também. A primeira coisa aqui, essa string aqui, o nome que ela deve ser dada no arquivo JSON. Muito importante. Vamos ver isso em apenas um momento. Mas isso é muito importante que isso, claro, corresponda lá. E então temos o método de leitura aqui. Este é o método de leitura de um arquivo JSON. Então, isso vai ser lido de um arquivo JSON, e você pode ver isso. Então, isso lê em primeiro lugar , a saída aqui. E ele vai ler em uma área adjacente dos ingredientes. E então ele fará uma lista padrão mais uma vez do tamanho 2. Agora você pode dizer, espere, mas temos quatro lotes diferentes. Sim, mas só temos dois slots de entrada. Temos um slot de combustível para slots de entrada e um slot de saída. E é por isso que há apenas dois anos, porque as entradas, existem apenas duas entradas. Todos os outros, em qualquer receita. Basicamente, vamos apenas definir essas entradas corretamente. E então vamos fazer uma nova receita aqui. E a mesma coisa praticamente acontece com a outra leitura e o método de gravação faz isso que usamos no buffer de pacotes. Então tudo isso funciona ao longo do ano em que a rede. Agora, o que é muito importante aqui é que quando escrevemos coisas, certo? Você pode ver o que estou fazendo é ver que escrevo um número inteiro com o tamanho da nossa lista de ingredientes. Então eu escrevo cada um dos ingredientes e depois escrevo a saída. Este pedido tem que ser exatamente o mesmo aqui. Então você pode ver que eu li um número inteiro que vai ser este. Então eu li cada um dos ingredientes e acabei. E então eu li a saída, mas a ordem em que você a escreve para o buffer de pacotes tem que ser a mesma que a ordem em que você a lê. Você comete um erro lá. No ambiente de desenvolvimento, você não verá nada de errado com você, vai te ver. Algo errado é assim que você o coloca no servidor e tenta se juntar ao servidor, então isso não funcionará mais. Muito importante, muito importante que você tenha isso em mente, que tudo aqui combina. E esse é praticamente o ônibus de receita para a receita do seu cliente. Há um monte de coisas, é claro, que você poderia mudar, certo? Se você disser, Ei, eu realmente tenho várias saídas. Claro que você pode mudar isso. Você pode dizer, Ei, eu só tenho uma entrada ou tenho ainda mais entradas, ou você pode, isso é tudo. Há algo que somos. Provavelmente Java é o que o mantém de volta porque a maioria dessas coisas é praticamente apenas uma coisa Java normal. Não há quase nada aqui que diga Minecraft. A única coisa que diz Minecraft é a pilha de itens basicamente. Mas isso é algo que as pessoas que conhecem muito Java, mas não muitos Minecraft provavelmente ainda poderiam descobrir muito, muito rápido. Então isso é algo que eu realmente quero dirigir para casa. Estamos basicamente acabou como se o playground não estivesse mais neste momento. Somos como o Indeed e sim, é apenas o que vai ser, mas vamos continuar e isso vai ser na aula de receitas. E, na verdade, vou copiar isso também. Isso é, na verdade, muito simples. Você só tem um método de registro e você pode ver antes de tudo, nós somos gaveta, estamos registrando o serializador de receitas com o ID do serializador e, em seguida, a instância e depois o tipo de receita. Há também a ideia do tipo e, em seguida, a instância do tipo também. Então, isso também é bastante simples. E este, na verdade, temos que chamar dentro da classe MOD do curso MC. E vamos chamar isso. Vamos fazer isso bem aqui. Receitas de modificação, não registre que você vai para o que chamamos isso, isso é muito importante. E então ambas as aulas, podemos realmente fechar porque terminamos com elas. E então podemos continuar para a entidade. Já temos isso aberto aqui. E agora isso vai ser muito interessante, é que vamos reescrever principalmente a entidade aqui. Porque o que vamos adicionar é que vamos adicionar um delegado de propriedade. Então, vou copiar isso mais uma vez, tudo isso está disponível para você e você pode ver que temos um delegado de propriedade final protegido e isso será criado ou digamos que sim, criado dentro de o construtor. Então, vou também copiar isso. Você pode ver que esse delegado de propriedade é igual a um novo delegado de propriedade. E então temos instruções de comutação que se referiam ao progresso, ao progresso máximo, ao tempo de combustível e ao tempo máximo de combustível. A ideia geral é que temos esses quatro números inteiros ou os quatro pontos de dados que queremos passar para o manipulador de tela. E depois para a tela para que possamos mostrar o progresso e também o combustível. Bem, basicamente na quantidade de combustível que ainda está queimando. Então, isso vai ser um pouco mais complicado mais uma vez, porque temos que fazer isso em um delegado de propriedade porque isso precisa ser salvo no servidor e no cliente. Porque, mais uma vez, a tela é somente cliente e o restante é basicamente servidor e cliente. E se nós apenas passarmos por cima, não vai funcionar. Você está basicamente alcançando as barreiras lá, o que você não deve fazer. Então isso é muito importante. E então também devemos adicionar três coisas à taxa no método GET. Esse é o progresso do blaster, o tempo de combustível e o tempo máximo de combustível com o método certo, basicamente colocando-o aqui. Então, vamos colocar isso aqui. Isso vai dar certo, onde basicamente estamos lendo no progresso, o tempo de campo e o tempo máximo de campo. Então isso também é salvo agora, o principal que será a mudança desses quatro métodos. Mais uma vez, vou copiar tudo, mas espero explicar bem, uma forma que seja satisfatória. Há muitos métodos que realmente temos que copiar. Então, vamos copiá-los e vamos ver se tudo aqui funciona. Portanto, não há flechas, o que é bom. Mas você pode ver que há muitas coisas aqui. Vamos passar antes de tudo, o método tick. Mais uma vez, o método de tick. Eu retrabalhei isso da seguinte maneira. Então eu tenho um método aqui chamado, está consumindo combustível. Agora está consumindo combustível basicamente significa que eu coloquei um combustível e ele ainda está queimando para que o fogo ainda esteja queimando. Você sabe disso do forno normal, certo? Os incêndios queimando. E se eu fosse colocar em um bloco ou, por exemplo, começaria a cheirar. Esse é o método de consumo de combustível. Isso é o que isso retorna, certo? Se for verdade, então ainda há algo lá dentro. Se for falso, então não é. Então, enquanto estamos consumindo combustível, vamos dizer, Ei, o tempo de combustível vai diminuir cada carrapato, certo? Isso é exatamente o que acontece. Certo, justo o suficiente. Portanto, isso deve ser bastante autoexplicativo. Então vamos dizer que tem receita. Agora que o método da receita mudou completamente para este fim. Vou explicar rapidamente o que é isso. Então, antes de tudo, vamos apenas pegar o mundo não deve ser muito louco. E então fazemos um inventário simples do tamanho do inventário de entidades. E então estamos apenas definindo cada pilha que temos em nossa entidade para o inventário. Agora isso é apenas uma abreviação para basicamente confirmar o inventário aqui. Porque nossa entidade não é um inventário simples, mas temos que ter um inventário simples para nossa receita, mas essa é a ideia geral. E então aqui você pode ver que recebemos este opcional da nossa receita, certo, chamado de correspondência, e então nós temos o mundo, mas o gerente de receitas na primeira partida, onde basicamente dizemos: Ei, nós temos esse tipo, leia o tipo de receita, este inventário e este mundo, certo? E então nós apenas dizemos, ei, existe uma correspondência para esse tipo? Existe alguma receita que corresponda a esse inventário? Basicamente dizendo: Ei, se o método de correspondência na receita aqui retornar verdadeiro. Essa é a ideia geral, isso é o que é chamado basicamente, nós também devemos ser capazes de ver isso, mas isso é definitivamente mais complicado como você pode ver, que a ideia geral é que você pode ver a correspondência de pontos de tipo. O método de correspondência é chamado e isso basicamente causou o método do colchão na receita. E se isso retornar verdadeiro, então teremos algo aqui. E as partidas presentes basicamente apenas dizem: Sim, encontramos uma receita que corresponde ou o inventário do tipo de receita que foi fornecido. Então isso é verdade. Então sabemos que encontramos uma receita e, em seguida, há mais algumas coisas que precisamos verificar. Então, por exemplo, pode inserir quantidade no slot de saída, apenas um método auxiliar que basicamente diz: Ei, se a contagem máxima for maior do que a contagem real, já conseguimos isso. Não inserimos nada. Isso só garante que, por exemplo, quando já temos uma picareta lá, não podemos inserir outros atos de peck, basicamente tornando-o uma pilha de para escolher eixos, o que, claro, não faz nenhum senso. E então também temos o item pode inserir no slot de saída, que basicamente verifica, Ei, é o mesmo item ou a pilha está vazia? Então, podemos simplesmente inserir algo lá. Mas esses são basicamente os métodos que ele também verifica. Vamos apenas ter certeza de que tudo está bem e que nada seja basicamente mal substituído. Bem, esse é o método de receita tem. Uma vez que esse é o caso, vamos ver, ei, é agora? Não tem combustível em um slot de combustível. Então, isso vai ser bem aqui. Ele apenas diz, ei, é o primeiro slot vazio basicamente, porque sabemos que no nosso slot, que tem o combustível com o índice 0, este é um slot de combustível, então na verdade só há combustível inserido nele. Então isso é muito interessante. Então podemos basicamente dizer, Ei, se isso não estiver vazio, sabemos que há combustível nele. E se não estamos consumindo combustível no momento, vamos consumir combustível. Mas isso só acontece quando temos uma receita presente lá dentro, coisas lá dentro. E, em seguida, o método de combustível cone Zoom, na verdade, também bastante simples. Somos apenas mais uma vez uma verificação de sanidade. Ei, certificar-se de que isso não está vazio, é que temos certeza absoluta sobre isso. Em seguida, estamos definindo o tempo de combustível para qualquer hora real da pilha removida. Então, se eu colocar um resfriado lá, vou ser devolvido cento, seiscentos pelo tempo que leva os carrapatos. E então, se houver qualquer que seja a causa do fígado, eu vou pegar 400 e assim por diante e assim por diante. Então, isso apenas define o tempo de combustível e, em seguida, define o tempo máximo combustível uma vez que o tempo de combustível também. Por isso, precisamos que ambos tenham certeza de exibir o progresso corretamente. Precisamos do máximo, você terá o tempo de campo atual. O tempo do campo é o que muda. O tempo máximo de campo simplesmente permanece o mesmo assim que isso é definido, uma vez que o combustível foi consumido, onde basicamente então perguntando: Ei, ele está consumindo combustível? E se for esse o caso, podemos progredir. Portanto, o progresso aqui é o progresso do item que está sendo criado. Isso também será exibido na seta de progresso. E então aqui você pode ver que por enquanto, o que eu configurei é que eu sempre tenho um progresso máximo de 72. Agora, isso é algo que você poderia, por exemplo, também mudar dentro da receita e dizer, ei, isso leva mais tempo, isso leva mais curto, seja o que for. Também possibilidade por enquanto, eu codifiquei duro. Isso é apenas algo que decidi fazer, nada com que me preocupar. E então basicamente dizemos: Ei, se o progresso for maior que o progresso máximo, então vamos criar o item. E então elaborar o item mais uma vez, apenas para a verificação de sanidade, basicamente, ambos por meio de diz: Ei, essa é uma receita existe aqui. Se estiver presente, vamos remover os slots 1 e 2. Então, vamos remover os itens de rafting são importantes. Não vamos remover o sal zero porque isso já acontece quando pegamos o combustível. Quando consumimos o combustível, você pode ver, podemos dizer remover a pilha daqui e depois obter o item dessa pilha. Basicamente, faça o material de combustível. Isso é muito importante. É por isso que só removemos de 12. E então estamos dizendo: Ei, estamos definindo a pilha de três com um novo item, pilha deste item, que é exatamente o item que está recebendo da saída. Então é isso que é lido, na saída do arquivo JSON da nossa receita ou receita do cliente e conta eu vou ser aumentado em um. Então, se não houver nada lá, ele será definido como um. Se já houver algo lá, vamos apenas aumentá-lo em um. Então essa é a ideia geral aqui. Há também algumas outras maneiras de você fazer isso. Por exemplo, poderíamos fazê-lo para que você possa especificar uma contagem de quantos existem. E então, em vez de aumentá-lo em um, você o aumenta por essa contagem, assim por diante e assim por diante. Há muitas coisas que você pode fazer, mas , no geral, é assim que estamos fazendo isso por enquanto. Tudo isso praticamente à medida que avançamos, é muito mais e variável de guerra, ou você diria personalizável. Então você pode fazer mais e mais coisas aqui. E então estamos chamando o método de progresso de redefinição de entidade, que apenas define o progresso de volta para 0 para que saibamos que tudo está basicamente redefinido seu direito e, infelizmente, ainda não terminamos. Mas espero que este tenha sido um bom passo a passo disso e explique tudo isso muito bem, espero idêntico, então, se houver alguma dúvida restante, por favor use o Q e a, e eu tentarei para responder às perguntas melhor que eu posso. Eu também recomendo apenas estar aberto à experimentação, brincando um pouco com isso, apenas experimentando um monte de coisas. Essa é sempre a melhor coisa que você pode fazer. Porque o que precisamos fazer é entrar na tela e às aulas de manipulador de tela. Na verdade, precisamos adicionar um novo parâmetro aqui que será os delegados da Parte ROM, então delegado de propriedade, delegado antigo. E é apenas formatar isso um pouco diferente do que dentro do outro aqui, vamos dizer em novos todos os delegados de propriedade de tamanho quatro. E então queremos adicionar isso como um campo também. Então, quando eu digo delegado privado, final de propriedade ou delegado de propriedade. E então estamos apenas definindo isso depois que o inventário aqui são bastante delegados, delegados. E então, na entidade, vamos obter uma seta aqui, porque agora temos que passar neste ponto Delegado de propriedade também. E o erro aqui desaparece, a entidade deve ser feita. Agora, acredito que estou bastante certo aqui no final, ou queremos adicionar é que queremos adicionar as propriedades de adição e, em seguida, apenas adicionamos adicionar as propriedades de adição e, em seguida, o delegado aqui. Isso é literalmente tudo o que estamos fazendo. E lá também precisamos quatro métodos diferentes que queremos acabar. E vou explicar aqueles, é claro, também. Temos o método de fabricação. Isso só diz: Ei, temos algum progresso no momento? Se fizermos com eles, estamos criando. Você tem algum combustível. Isso significa apenas que, se o combustível for superior a 0, sabemos que estamos tendo algum combustível que está sendo queimado. E nós dois precisamos do progresso da escala , bem como do progresso do combustível em escala. Agora, você verá que esses métodos são muito freqüentes insanos, certo? Bem, a ideia é que apenas, essas são apenas as coisas normais que você precisa calcular para obter o erro. Por exemplo, para diminuir ou a seta de progresso para aumentar, certo? Então esta é a seta de progresso aqui é claro que não está bem, certo. Este é o tamanho do progresso do combustível, digamos que alguém assim, porque o tamanho dos poucos progressos. Então, mais uma vez, se eu abrir a GUI aqui, isso é 14 por 14 e nós vamos basicamente descer, certo? Então, queremos que isso seja 14 se o combustível estiver completo, e então só queríamos ir lá com este. Isso é 26 de diâmetro. Então é por isso que essa seta tem 26 tamanhos. Portanto, essa é sempre a largura dos pixels da sua seta ou a altura, dependendo se você deseja ir de cima para baixo, de baixo para cima ou da direita para a esquerda para a esquerda para a direita. Essa é a ideia geral. Algo é confuso aqui. Não se preocupe. Experimente muitas coisas por alguns valores, veja o que reage, o que acontece. Sempre recomendo, certo? Mas, no geral, isso ainda deve ser alguma matemática básica aqui. Isso não deve ser muito louco agora, mas estamos usando isso. Bem, estamos usando isso na caixa verde aqui. E vou copiar as duas últimas coisas que basicamente vamos precisar. E essas são as texturas amplas aqui. Então esta será a flecha e essa será a textura do combustível. Agora você já vê que há algumas coisas muito loucas aqui. Sim, essa é a coisa. Porque o que acontece é que o deslocamento aqui, certo? O 8422 será esse offset. Então, vou te mostrar isso. Portanto, esta é a taxa de erro e a seta começa aqui, e isso é 84 pixels para este lado e, em seguida, 22 pixels de cima para baixo. E é aí que eu quero desenhar essa flecha, certo? É aqui que eu quero desenhar isso. E então o que eu quero desenhar? Bem, esse é este. Então os 176 e os 14 coincidem exatamente aqui. Então a questão é, bem, qual é o tamanho do que eu quero desenhar? A altura sempre será de 36 taxas, então isso sempre estará lá. Mas então o progresso da escala vai aumentar. Então, a largura do que eu quero exibir basicamente é mostrada à medida que o progresso aumenta. E é assim que a flecha é desenhada. Agora, para o combustível, como você pode ver, isso é muito mais complicado porque o que eu realmente quero ir de cima para baixo, e porque os valores aqui começam com 0000 aqui, temos que fazer algumas contas loucura aqui onde aumentamos e diminuímos essas coisas. Eu não me preocuparia muito com isso. Isso sempre será a mesma ideia quando você estiver usando algo que deseja aumentar de cima para baixo. No geral, brincar com isso mostrará como funciona. Espero que a introdução geral aqui faça sentido, certo? Então, onde você basicamente sabe de onde esses valores vêm, para o que eles estão apontando e por que basicamente chamamos o que estamos chamando aqui. Bem, isso, esse tipo de faz sentido aqui. Mas, de outra forma, acabamos com um código. Foi, mais uma vez, uma coisa bastante complicada. Muitas coisas aqui. Então, vamos agora adicionar uma receita personalizada também. Pior porque temos que ter receita. Caso contrário, não podemos. Qualquer coisa através disso estará em nossa pasta de dados e na pasta de receitas. E este será o recalc e escolha X de recalc e blaster. Então, isso está na receita do curso MC que eles vão e é assim que parece. O tipo é núcleos MC ou um blaster de lata de vaca. E isso vai fazer um aviso porque isso não existe. Não. Acredite em mim, ele existe. Acabamos de fazer isso. E então você pode ver que a primeira será uma picareta dourada. A parte inferior será um lingote de cálcio ou a, seguida, a saída será um Oracle pode escolher x e você pode literalmente adicionar vários arquivos JSON com esta aparência. E todos eles vão funcionar. Essa é a beleza disso. É por isso que o tempo. Parece muito trabalho no começo. Assim que você puder adicionar esses arquivos JSON lá, você terá um tempo muito mais fácil com ele. Então, só para ter certeza, vamos ver se funciona. Ou o que encontramos é isso no Minecraft. E a primeira coisa que quero dizer, se você já tem uma entidade de bloco que você se senta excluída, como destruí-la porque isso pode ter alguns efeitos adversos lá como o NVT que foram salvos para isso podem ser muito diferentes. Temos que realmente definir isso novo e ainda podemos abri-lo totalmente bem. Isso é muito bom. Mas vamos pegar um eixo de porco dourado aqui também. Então você pode basicamente ver se isso vai funcionar ou não. Então, vamos colocar o fígado de carvão aqui. Vamos colocar o oráculo entrando no fundo e depois aqui, e vamos ver se algo acontece. E lá está ele. Veja o progresso começa, Isso vai para baixo e bam, no Oracle pode escolher x, os dois itens desapareceram. Vamos ver se nós dois podíamos lá dentro. Então isso não tem como se nada aconteça e retire a lasca e agora você pode ver que ela ainda está funcionando, é claro, porque ainda há combustível lá dentro. E bam, temos um, o Orca entra, chega aqui, permanece. E depois há um grande X lá. Se não tivermos combustível, nada acontece porque não temos combustível. E assim que eu colocar combustível , ele vai ser consumido. E vamos continuar com isso. No entanto. Aí está. Tudo ainda está funcionando muito melhor do que antes. Agora temos progresso. Vemos quanto, quanto combustível resta. E tudo isso é absolutamente ótimo. Então, quero dizer, não poderia ser melhor. Tudo ainda está funcionando e isso é ótimo, certo? Então, mais uma vez, essa foi definitivamente palestra mais complexa mais uma vez. Mas isso vai ser o resto do curso praticamente porque agora vamos passar para outras coisas. E então a geração mundial entrará, o que também será muito complicado. Então, é apenas o que vai ser. Mas, por enquanto, isso é praticamente para esta palestra aqui. Espero que você tenha achado útil e urinas do novo, e eu te vejo na próxima palestra. Então, sim. 88. Madeira personalizada (Advanced) (de madeira: Tudo bem, bem-vindo de volta ao curso de tecido para 118. Nesta palestra, vamos adicionar arborizado personalizado ao Minecraft. Então, vamos fazer um tópico um pouco mais fácil, basicamente cobrindo isso nesta palestra, isso para que possamos basicamente recuperar das duas últimas palestras. E depois vamos continuar imediatamente com loucura. Por enquanto. logotipo seria despojado, tiraria blog e tábuas. Todos esses serão adicionados aqui. Vamos pegar a rosa rosa e vamos fazer isso o log de sublinhado de flor de sublinhado de cereja. E então, é claro, muito importante que mudemos isso no nome também. Então, log de sublinhado de flor de cerejeira, então este é um bloco de pilares. Para o bloco de pilares aqui. Há apenas um parâmetro. E então isso é praticamente tudo o que precisamos fazer. Então isso copiará o registro de carvalho e, em seguida, vamos copiar isso cinco vezes para isso que temos assim. Então agrupamentos de dois vezes dois e depois um solitário. E então vamos passar. Então esta vai ser a flor de cerejeira seria madeira de flor de cerejeira. E a única coisa que muda aqui é que isso realmente o tira da madeira de carvalho. Agora isso não é estritamente necessário. No entanto, eu gosto de fazer isso. Então, por que não? Este será o log de cereja sublinhado despojado. E o mesmo para o nome. Começa com despojado. E então este será o tronco de carvalho despojado. Este é o sublinhado despojado. Sublinhado de flor de cerejeira faria. Mais uma vez o mesmo aqui. Sublinhado Cherry Blossom faria. E então ele vai levar o mesmo aqui despojado. Ok, eles fariam atrás? E então este será o sublinhado. tábuas são importantes, isso é plural. Ou as tábuas geralmente estão em Laurel. E então isso vai ser um bloco louco , o bloco normal. E isso vai levar as tábuas aqui. Então, este será o ego das tábuas sublinhadas. E isso é todos os blocos registrados. Bem, isso foi bastante simples, não foi? Sim. Então, o que vamos precisar aqui agora é o que precisamos para torná-los ignoráveis. Como fazemos isso? Bem, isso é realmente muito fácil na classe de registros modernos. Vamos apenas adicionar um novo vazio estático privado para o método de bolhas de tira de registro. E isso chamará o registro de blocos com script. Esse registro com o bloco de toupeira inicia um log ribossomo e , em seguida, bloqueia o log de flor de cerejeira despojado. Então isso é muito importante. Vamos apenas duplicar isso com o Controle D. Quando mudar isso também faria, então mudar isso também. Lá vai você. E não se esqueça de chamar isso aqui. Então isso é muito importante. Registre bolhas de tira ali mesmo. E então a mobilidade da tira, por assim dizer, já está pronta. N já está frio. E agora vamos passar para a parte favorita dos arquivos de todos, o arquivo adjacente. Ou, na verdade, eu diria que eles são definitivamente um pouco mais complicados do que você poderia esperar. Então, vamos ter apenas cinco blocos é arquivos Js e vamos dar uma olhada neles em geral. Então você vê um bloco de pilares basicamente se parece com isso. Ele tem propriedades de estado de bloco de eixo, eixo x , eixo y d aqui e os valores que ele pode pegar e seguida, apenas aponta para o mesmo modelo, no entanto, apenas girado no log no entanto, você pode ver que isso aponta para o horizontal e este também. E este aponta o blog normal. Então esta é praticamente a única diferença entre essas tábuas são absolutamente chatas, apenas estados normais do Bloco. Com base no arquivo. Nada de louco acontecendo lá. Vamos adicionar a tradução também porque isso vai ser, e então eu, bem, quero dizer, às vezes me esqueço. Então, vamos adicioná-lo também. Vamos colocá-lo aqui. Então isso é algo assim. O tronco, a madeira um log muitas vezes despojado versões e as tábuas. E, claro, todo o código, os arquivos JSON, tudo isso está disponível para você no repositório do GitHub ou em um indivíduo também. Porque especialmente quando chegamos aos arquivos JSON do modelo de bloco, bem, é aí que começamos a dizer basicamente, bem, você sabe, provavelmente copiando. Agora posso entender por que isso pode ser sensato. Porque em algum momento, é muito. Então, serão sete arquivos novamente. Oh, vamos apenas adicioná-los, então vamos ter o, vamos fechar um monte de coisas aqui que você vai para o log. Isso tem uma fechadura superior, à direita, é claro, porque a parte superior e inferior, as extremidades parecem diferentes dos lados. Esta é a coluna do cubo também. E então o mesmo vale para a horizontal, praticamente a mesma coisa. As tábuas são tábuas normais. Quero dizer, eu não sei o que dizer. Na verdade, as tábuas são muito chatas. O fim da madeira é o mesmo porque a madeira basicamente é apenas a casca. Então, o que está por aí? Essa é a ideia lá. E então temos a parte superior despojada e o registro da tira. Mais uma vez, muito o mesmo. É, ele, tudo permanece o mesmo, muito como o resto não é tão interessante. Todas as coisas consideradas, é praticamente tudo o que há para isso, certo? E então os modelos de itens são praticamente apenas padrão. Bem, esses só vão ser 5 felizmente. E também ainda está disponível para você. Então, eles apenas apontam para um pai em particular, basicamente um modelo de bloco específico. E então, é claro, também queremos todos os extras aqui. Vamos acabar com todos esses também. Eles atrás, também são apenas cinco curiosamente. E isso deve ser basicamente por isso. E a outra coisa que queremos fazer é basicamente queremos já adicionar algumas coisas ou à prova de futuro, por assim dizer. Então, na pasta de dados, na pasta Minecraft, vamos adicionar algumas tags. Então, número um, vamos adicionar os logs de log e os logs que gravam tags. Assim, podemos ver o seguinte. Então você pode ver que aqui estamos usando o curso de hashtag MC, blocos de flor de cerejeira. Isso é fascinante. O que é isso? Bem, na verdade, vamos ter uma tag personalizada de logs de flor de cerejeira também. Então, vamos copiar este também, é apenas tags normais como você pode ver. Então, isso apenas aponta para todos os logs e, em seguida, podemos referenciar todos esses como uma tag como esta aqui, o que é muito interessante. E então, nos registros que queimam, basicamente fazemos a mesma coisa. Então, apenas fazemos isso. Os registros que queimam. Se tivermos esses lá dentro, podemos basicamente usar os logs como você fará os itens. Então, isso apenas os adiciona imediatamente aos itens de combustível. Então, outra coisa que vamos fazer nas tags, tags Minecraft, Clique com o botão direito do mouse em novo diretório para itens. E então, dentro de lá, vamos adicionar a pilha de pranchas, mas vamos apenas adicionar isso. E vamos ter os MCQs, tábuas de flor de cerejeira lá, porque isso nos permitirá criar certas coisas com nossas tábuas. Então, por exemplo, uma mesa de artesanato ou acho que provavelmente é quase isso. Acho que há apenas um número limitado de coisas que podemos criar com o pistão de Planck, por exemplo, também funcionaria. Então, algo assim. E então o que também é muito importante é que, porque já adicionamos esses registros à nossa tag de logs. Depois de introduzirmos folhas, elas não serão exibidas ao lado de nossos registros. Então isso é muito importante, mas isso é tudo o que precisamos fazer para basicamente adicionar nosso costume. Então, vamos ver se funciona. Tudo bem, nos encontramos de volta em Minecraft. Como você pode ver, tudo foi adicionado e eu posso configurá-lo e parece absolutamente incrível. 0 mais uma vez, tudo parece ótimo. E também podemos tirá-lo com o botão direito do mouse com um machado. Você pode ver, eu posso tirar todo esse jazz e tudo está funcionando bem. Então, quero dizer, isso é praticamente tudo o que há para isso, para adicionar o Minecraft personalizado, certo? Mais uma vez, é claro, todo o código no arquivo JSON está disponível para você no repositório do GitHub ou um indivíduo também. Mas isso vai ser para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E te vejo na próxima palestra. Então, sim. 89. Sinais personalizados (avançados) (de (Advanced): Tudo bem, bem-vindo de volta o curso de tecido para 118. Nesta palestra, vamos adicionar um sinal personalizado ao Minecraft. Para adicionar um sinal personalizado, na verdade feito bastante fácil porque vamos usar, este é o exemplo de sinal de tecido da nova pesquisa é um repositório basicamente muito útil. Agora eu quero ter certeza de que você está ciente de que isso está sob a GPL, basicamente licença pública geral. Então, se você quiser usar exatamente o mesmo código em seu próprio modelo, certifique-se de seguir a licença, apenas certificando-se de que isso seja entendido. Isso, é claro, também estará vinculado aos recursos. E vamos continuar aqui. Então, vamos dar uma olhada. Vamos precisar de duas coisas. Primeiro de tudo, e isso vai ser dois mixin. Interessante, não é? Bem, eu realmente vou copiar sobre ambos os arquivos. Esses são, claro, também todos disponíveis para você. Agora eles são realmente muito, muito fáceis. Eles não são tão loucos. Então você pode ver que temos o tipo de entidade de bloco mixin, onde basicamente ele também suporta nosso próprio sinal. Então, é muito, na verdade não é tão louco, é basicamente certificar-se de que, desde que um sinal de parede, atribua um bloco ou um nd, um sinal de entidade aqui, vai ficar tudo bem. E o acessador do tipo seno basicamente faz com que basicamente possamos acessar o tipo de sinal real. Como a classe de tipo de sinal aqui, você pode ver que ela está protegida. Na verdade, podemos criar um novo tipo de sinal. E com isso, basicamente não podemos. O que vamos fazer com isso? Bem, em primeiro lugar, vamos adicionar isso ao tecido, mixins reais do curso MC Jason, porque, oh garoto, se esquecermos disso, isso não seria tão bom. Vamos adicioná-los aqui. Este é apenas o nome 1 segundo desses arquivos, muito importante que eles correspondam. E então podemos basicamente prosseguir. E prossiga. Vamos entrar no pacote de blocos indie, na verdade, então vamos comer os sinais no pacote de blocos. Então, vamos fazer um novo tipo de sinal de modelo. Então eles vão apenas fazer um tipo de sinal final estático público, velho Sherry sublinha florescer. Isso será igual ao acessador tipo seno que registra novo acessador de tipo de sinal, um novo tipo de sinal de retenção, sublinhado Sherry, blossom. E isso é tudo o que precisamos fazer para criar um novo tipo de sinal mod ou um novo tipo de sinal. E então podemos prosseguir na classe mais blocos real. Ou vamos apenas copiar sobre as tábuas aqui. E então o que é muito importante é que ambos serão registrados sem um item de bloco. Porque o interessante sobre os sinais é que temos um sinal de parede e um sinal normal. E esses serão que teremos os mesmos itens associados a ele. Então, vamos ter um bloqueio mental e, em seguida, teremos um bloqueio de sinais normal. Então a mesma coisa entra aqui. Sinal de sublinhado, linha normal. E então este é um bloco de sinal de parede, que como segundo parâmetro, na verdade leva os tipos de sinal mod ponto cada flor. E então não é preciso um grupo de itens aqui porque é claro que não temos, não temos um item de bloco que não este. O mesmo mod. Os tipos de sinais são incríveis e depois mudam isso para uma calçada. Lá vai você. Agora esses são os dois blocos basicamente registrados por via retal. Isso é ótimo. E, na classe mais itens, teremos que criar um novo item. Então, vamos pegar o balde de mel aqui. Sinal de sublinhado flor de sublinhado de cereja. E então o mesmo aqui. Sinal de sublinhado de flor muito sublinhado. E este será um item de sinal I e item. E então o primeiro será esse. Na verdade, a contagem máxima será 16. E então vamos ter mais sinais de pontos de blocos. E quanto mais blocos ponto parede sinal como o segundo parâmetro, o ego ou o terceiro, eu acho. Então este é o item feito em amina foi quase completamente feito neste momento. Na verdade, é muito louco o quão rápido isso vai, mas com os mixins, isso vai tornar nossas vidas insanamente mais fáceis. Como se essa fosse uma das grandes coisas que o mixin basicamente nos fornece. Mas a coisa que agora precisamos adicionar ainda são algumas bacias dos Estados de bloco. Ainda precisaríamos de um Oi no bloco C, Jason bem aqui. Então esse será o sinal da flor de cerejeira, que simplesmente aponta para o sinal da flor de cerejeira. E então também precisamos do sinal de parede de flor de cerejeira. Precisamos de ambas as postagens, no entanto, apontando para o mesmo modelo de bloco. E então, nos itens, vamos ter um item aqui que é o dono da flor de cerejeira poderia assinar. E então o mesmo aqui também, serão as flores de cerejeira. E então, nos modelos, na verdade, só como eu disse, temos um modelo aqui. E esse é o modelo de sinal normal porque isso define apenas a partícula. Como você pode ver, isso é tudo o que basicamente requer aqui. No item, é claro que também temos apenas um item. Bem, só temos um item. Portanto, basta apontar para a textura normal. Essas serão as texturas do item aqui. Só vou copiar isso. Sinal muito incrível ali. E então, como ele é exibido em 3D? Bem, isso é basicamente uma coisa interessante, mas basicamente precisamos entrar em nossa pasta Minecraft Textures novamente. E então, na pasta da entidade, precisamos adicionar a pasta de sinais. E então o nome disso aqui tem que corresponder ao nome que recebemos na classe de tipos seno. Então isso é muito importante. Isso basicamente tem que corresponder a este. E então é assim que ele está sendo exibido em 3 D, certo? E depois de ter adicionado tudo isso, vamos ver se funciona. Tudo bem, nos encontramos no Minecraft e olhamos para isso. Bem, na verdade, vai ser um bloco. Bem, quero dizer, não é a pior coisa de sempre, mas vamos ver se o sinal realmente funciona e eles vão, funciona. Isso é ótimo. Bem, estou em um terno como este de novo, e então vamos colocá-lo no chão também. Também funciona e tudo está funcionando muito bem. Então eu sou, a única coisa que realmente precisamos consertar é a tradução aqui. Mas isso não é, claro, uma solução fácil, apenas mudando isso para bloquear. E então também vamos movê-lo para baixo para que tenhamos um pouco mais organizado aqui. Mas isso praticamente resume, certo? E depois de ter corrigido a tradução aqui, estamos basicamente terminados. E é assim que você pode adicionar um sinal personalizado ao Minecraft. No geral, com a ajuda do repositório. Como eu disse, ele vai ser vinculado aos recursos. Na verdade, é bastante simples, certo? Mas isso já seria para esta palestra aqui. Espero que você tenha achado útil e tenha aprendido algo novo. Vejo você na próxima palestra. Então, sim. 90. (Avançado) como atualizar o Minecraft e tecido: Ou eu sou bem-vindo de volta ao curso de tecido para 118. E nesta palestra vamos atualizar o Minecraft e o fabric para a nova versão, 1181. Certo. Então, atualizar uma versão geralmente pode ser, bem, eu não diria arriscado necessariamente, mas pode haver muitas mudanças entre versões e algumas coisas podem mudar. Agora, felizmente para nós, as mudanças aqui basicamente não estão presentes. Portanto, não há mudanças em tudo que ainda deve funcionar em um 1800 com a nova versão de malha. O que vamos fazer é abrir nosso arquivo de propriedades Gradle. E essas são isso aqui, as dependências e as propriedades da malha, outras coisas que vamos mudar. E este é exatamente o site que queremos abrir. Eu já tenho isso aberto aqui e você pode ver certificando-se de que estamos na versão correta aqui, 1181. E então é isso que queremos copiar antes de continuarmos uma mensagem do futuro. Como 1 1000th 2 foi praticamente lançado, recomendo vivamente o que você faz é mantê-lo em 100 1800. Se você tem acompanhado as palestras com 118, eu recomendo que você fique em um 1800 em vez de atualizar imediatamente para cento e oitocentos e dois, porque um 1800 para todos os próximos geração mundial não vai funcionar com 172 no final do curso, haverá uma seção na qual podemos assistir se você quiser passar com um 1800 para apenas ter isso em mente. Então, recomendo, mantenha em 181. E então você pode atualizar no final do curso, clicar com o botão direito do mouse em Copiar, então basicamente queremos colá-lo basicamente queremos colá-lo aqui e você pode ver que não mudou muito. Então, a versão de tecido, na verdade, estamos na mais nova versão de tecido. Isso é ótimo. Então, podemos excluir isso. Podemos ver que a versão do carregador aqui é realmente nova, então vamos substituir isso por ela. E então tanto a versão para o Minecraft quanto o fio também são alteradas. Também vamos substituir ambos. E, basicamente, basta salvar isso e, em seguida, recarregá-lo com a carga Gradle muda aqui porque agora vai reconstruir o projeto com cerca 1.18.1 e a nova versão yarn, mesmo com o carregador. Ele provavelmente poderia ter mudado a versão mod aqui também, mas vamos ficar bem. Acho que está tudo bem. E lá vai você, construa com sucesso. Agora tudo aqui será mapeado. E então o que podemos fazer é que podemos, eu recomendo fazer a depuração pela primeira vez. Então, correndo isso, quando eu executei pela primeira vez que comprei, o jogo, não começou, mas assim que executei pela segunda vez, ele começou. Então, provavelmente há algo em segundo plano que precisa baixar pela primeira vez. Então, se você está recebendo um erro para alguns executá-lo, basta executá-lo novamente e ver se funciona novamente porque isso foi uma coisa muito estranha, mas vamos ver se vai ou não funcionar. Mas é claro que é o erro esperado que, por não estarmos conectados, Minecraft já começou em uma tela diferente. Então lá vai você. Cento e oitocentos um lindo, absolutamente ótimo. E lá vai você. Estamos no jogo, basicamente funciona. Vamos apenas entrar no mundo apenas para garantir que tudo funcione entre as versões. Normalmente, se for a mesma versão, então, se for apenas as últimas mudanças digitais tipo de falar, as mudanças provavelmente não afetarão muito. Às vezes, há coisas obsoletas de uma versão de malha para a próxima. Esse pode ser o caso. Vou tentar basicamente manter tudo o mais atualizado possível. Então, basicamente, vou adicionar uma palestra em algum lugar onde seja como, ei, isso mudou. Você tem que fazer isso assim agora. Mas, no geral, você pode ver que ainda posso clicar com o botão direito aqui. Eles ainda estão, ainda estou recebendo a velocidade aqui. Então, no geral, geralmente tudo aqui ainda funciona muito bem, certo? E isso é realmente o quão fácil é atualizar. Então, vamos apenas para completar aqui, vamos fazer algo como Vamos fazer neste ponto que estamos em uma versão como 0.1.5 ou algo assim. Acho que me sinto assim. E então vamos colocar isso 118 do nome da base do arquivo. Não vamos mudar porque isso, claro, ainda é curso de tecido 118 e isso vai ficar bem. Mas agora estamos na micro versão 1800 e a mais nova versão de fio da versão inferior também. E é assim que é mais fácil atualizar o tecido que já tem para esta palestra aqui. Espero que você tenha achado útil e tenha aprendido algo novo. Vejo você na próxima palestra. 91. (Gen) árvores personalizadas (de de mundo): Ou voltarei ao curso de tecido para 118. E nesta palestra, vamos adicionar uma árvore ao Minecraft, certo? Então, adicionar uma árvore envolve também adicionar as folhas e um rebento. E isso também envolverá adicionar os ossos da geração de papéis do urso porque a desova real da árvore é de alguma forma como um pouco misturada com a geração mundial. Mas, por enquanto, em primeiro lugar, vamos para a classe de caixa de correio e vamos criar as folhas e as mudas. Vamos copiar sobre as tábuas aqui das tábuas de flor de cerejeira e vamos dizer folhas aqui, depois sai aqui. E talvez os elifs bloqueiam. E isso vai copiar as folhas de carvalho. Então a mesma coisa aqui, amostragem de flores de cerejeira e depois rebentos aqui também. E este é um novo bloco de queda. E então teremos a mesma coisa que já tivemos anteriormente. O eixo aqui está protegido. Portanto, vamos precisar fazer um mod dessa classe de blocos de construção. Vamos apenas estender a classe do bloco de rebentos, sobre este criador combinando super. E nós só vamos tornar isso público. E em vez do bloco irmão onde você usa o mod sublingual, agora existem, na verdade dois parâmetros que vamos precisar. Você pode ver que precisamos de um gerador de irmãos. Então isso é algo que vamos criar dentro de um novo pacote. Então, curso MC, clique com o botão direito em novo pacote O velho mundo vai criar o pacote mundial. E, em seguida, um novo recurso legal do pacote. E lá dentro vamos fazer um novo pacote chamado pacote de árvore e indústria. Vamos criar uma nova classe Java chamada Cherry Blossom tackling generator. Vamos precisar criar basicamente novos para cada árvore diferente que queremos adicionar. Isso é igual ao gerador de rebentos, rebentos. E isso basicamente apenas implementa um método e esse é o método get three feature. Por enquanto, vamos manter isso nulo. Adicionaremos o recurso configurado aqui em apenas um momento. Então aqui vamos dizer um novo gerador de duplicação de flor. E isso é basicamente tudo o que precisamos fazer aqui. Mas ambos estão feitos. Na verdade, vamos adicioná-los imediatamente à camada de renderização apropriada aqui, porque então não precisamos mais pensar nisso. Então as folhas e a amostragem também. E então também aqui certificando-se que isso copia o rebento, a propósito, isso também é importante dia atrás. E então vamos adicionar imediatamente todos os arquivos JSON porque eles estão prontos. E então podemos basicamente continuar com o código depois disso. Ambos são todos basicamente apenas arquivos JSON normais. Você pode ver apenas as folhas aqui e o rebento aqui, ou o bloco Estados Jason Lange. tradução, quero dizer, neste momento, seria bastante autoexplicativa. Aqui vão as folhas e o rebento do que com os arquivos do modelo de bloco. A única coisa interessante aqui é que a amostragem tem um pai cruzado e uma textura cruzada aqui, mas as folhas são um bloco normal ao redor. Essa é a única coisa interessante aqui. E depois há outra coisa interessante na textura do item ou no rebento. E isso é que o rebento realmente tem uma textura normal como você pode ver. Então, ele realmente aponta para uma textura de bloco aqui, porque o rebento que é exibido no mundo, no padrão cruzado é o mesmo que está, como um item. Basicamente, é isso que é esse o caso. Então podemos apenas adicionar o rebento e as texturas das folhas também. Lá vai você. E então tudo aqui foi adicionado praticamente para que não precisemos mais nos preocupar com isso. E agora basicamente só precisamos adicionar o recurso e figurado aqui que aparece com a árvore, por exemplo, quando a farinha de ossos. Então esta é a primeira parte e, em seguida, a próxima palestra, vamos ver como gerar a árvore como geração mundial. Como parte da geração mundial, porém, vamos criar no pacote de recursos, clique com o botão direito do mouse em nova classe Java. E esta é a classe de recursos configurada pelo modo. E para isso, na verdade, vamos precisar de algumas coisas. Número 1, vá, vamos precisar, vou copiar sobre esses métodos. Todo o código está, naturalmente, disponível para você no repositório do GitHub ou em um indivíduo apenas, você pode ver que registrei método de recursos configurados aqui. Isso é algo que vamos chamar no topo do método inicializado, na verdade bastante drenado, mas é aqui que precisamos chamá-lo uma necessidade fraca de chamá-lo no topo. Caso contrário, a ordem de inicialização não funciona muito bem. E então também temos esse método de registro, que você pode ver que é registrado religioso, um recurso Configurar sob o nome que é dado aqui. E isso é praticamente tudo o que há para ele. E vamos precisar disso porque, na verdade , vou copiar sobre o recurso configurado de flor de cerejeira. E vou explicar à medida que basicamente avançamos, o que você verá é que estamos basicamente registrando com o nome cherry blossom e é uma configuração de árvore de recursos. Então essa é a ideia. Se clicarmos no botão do meio do mouse na árvore, você pode ver que este é um recurso de árvore ou apenas um recurso. E assim que você chamar configurado, ele se transforma em um recurso configurado. E estamos passando um, b. Construtor de conflitos de recursos, que precisa algumas coisas para que possamos clicar no meio do mouse sobre isso também e você pode ver, oh, este é um provedor de tronco, um placer de tronco, fornecedor de folhagem, um totalmente para colocá-la e, em seguida, um tamanho mínimo. Então, a ideia geral aqui é que temos um bloco, digamos provedor. Isso, o primeiro é, fornece o que o log será. Então, isso vai ser o que for o porta-malas. Então temos um diferente, podemos fazer diferentes lugares porta-malas. Então eu posso clicar no botão do meio do mouse sobre isso e pressionar Control H sobre o placer. E você pode ver que existem diferentes tipos de placers de tronco. E sim, você também pode fazer o seu próprio, certo? Eles são, muito conhecimento Java provavelmente é necessário porque torná-los, na verdade , é muito difícil. Então o terceiro parâmetro são as folhas que você deseja ter. E então o blob todo, cada lugar, ou neste caso, é a forma como as folhas são exibidas. Mais uma vez, você pode entrar aqui e dar uma olhada nos placers de folhagem Control H. E você pode ver basicamente que há um monte de opções lá também. Então, mais uma vez, recomendo muito brincar com isso um pouco. E, em seguida, a característica de duas camadas, podemos voltar novamente. Esse era o tamanho mínimo, então ainda não tenho 100% de certeza do que exatamente isso é. O que eu acredito que a ideia geral é que isso é quanto espaço tem que estar ao redor da árvore. Se não me engano, isso é algo, mas, em geral, a geração mundial, há tantas partes móveis que é loucura. E então também mudou de 16º, 170 para 180. Agora, tudo muda com bastante regularidade. Normalmente, no entanto. Às vezes, é difícil acompanhar. Mas isso é, eu acredito, o que é isso. E precisamos devolver isso no gerador de rebentos aqui. Então, precisamos dizer recursos configurados mod que a árvore de cerejeira. Então, devolveremos isso. Tudo deve estar bem. Então, agora em teoria, assim que colocamos o rebento e nós a identificação da farinha de ossos, ou o tempo passar, ele vai crescer em uma árvore. Então, esta é basicamente a primeira parte disso. Então, vamos ver se funciona ou se sou dito de volta no Minecraft como você pode ver, o rebento e as folhas foram adicionadas. Eles não parecem ótimos por enquanto, vamos definir o rebento e menos painço ósseo e vamos ver se conseguimos uma árvore e lá está uma árvore poderosa grande e forte. Então, isso é muito legal. E vamos também tentar colocar alguns deles aqui em baixo. E vamos ver se eles podem realmente crescer. Quando eu ligo a regra de mensagens instantâneas, a velocidade e a antipatia aleatória aumentam por loucura. Vamos ver. Lá vão eles. Deixe este na verdade gerar porque está muito perto. Na verdade, temos que nos deixar afastar um pouco e, em seguida vai surgir provavelmente também. Eles vão lá, é totalmente bom. Então, tudo funciona totalmente bem, como você esperaria, certo? E mais uma vez, para recapitular para cada nova árvore que você deseja ter, você terá que precisar de um novo recurso configurado de conflito amargo, bem como um gerador de rebentos personalizado e, em seguida, um rebento personalizado. E essas são basicamente as três coisas que você vai precisar para basicamente facilitar uma árvore crescendo a partir de um rebento quando ele farinha de ossos ao longo do tempo ou ao longo do tempo. Por quê? Mas isso seria para esta palestra aqui. Espero que você tenha achado isso útil e ele aprenda que o novo, se você o fez, eu agradeceria muito uma revisão sua. Caso contrário, eu o verei na próxima palestra, no entanto. Sim. 92. (Gen) Geração de árvores (de de mundo): Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra vamos dar uma olhada em como você pode adicionar árvores de caule, a geração mundial. Mas fizemos a bandeja personalizada da última vez e agora vamos adicioná-la à geração mundial. E, especificamente, também veremos como você pode filtrar facilmente em que bioma isso vai. Então, o que vamos fazer é que precisaremos de mais algumas aulas para isso. O primeiro está na classe features, clique com o botão direito do mouse em nova classe Java chamada de recursos colocados no modelo é muito importante. Esta provavelmente será a classe principal hoje. E isso vai ser muito interessante porque isso tem dois métodos diferentes que vamos precisar. Mais uma vez, vou copiá-los. O tribunal está disponível para você, é claro, no repositório do GitHub ou em um indivíduo apenas isso, o recurso de local de registro de método e o método da chave do registro. Bem, ambos são muito importantes aqui. E o um deles basicamente, obtém a chave de registro para um local específico recursos. Portanto, isso é o que vamos precisar nos referir quando realmente queremos gerá-lo. E isso, na verdade, registra o recurso de lugar e a chave de registro real que eu também copiarei , na verdade, bastante simples. Você pode ver que é apenas uma chave de registro de uma chave de registro do recurso local que a flor de cerejeira colocou chave. E isso é igual à chave do registro. E então o nome aqui, basicamente o mesmo nome que o recurso colocado também será obtido. Então isso é muito importante. Mas antes que possamos criar o recurso colocado para a árvore, na verdade temos que obter outro recurso configurado aqui, certo? Então, agora há algo muito interessante. Então, para ver basicamente o código de baunilha para os recursos e outras coisas, podemos ir para a classe de recursos. E agora o que você pode ter é a linha azul aqui e basicamente nada mais aqui. Para corrigir isso, podemos ir para o terminal e podemos colocar em pontos, barra de pontos Gradle, w, Jan fontes. E então basta passar por isso e depois deixar isso passar. E depois que isso tiver sido feito, espero, as fontes basicamente gerarão para nós o caminho. Há outro truque que podemos usar basicamente para realmente ver as fontes reais, basicamente para o Minecraft. Bem lá vamos nós. 58 segundos. Construa com sucesso, isso é muito bom. Se você tiver uma compilação falhou e diz: Ei, eu gosto desta. Olhe para isso. Você não está usando a versão correta. O que você pode fazer é adicionar o Java home às propriedades radiais em que você precisa alterar sua variável de ambiente doméstico Java, qualquer uma delas funcionaria. Mas, por enquanto, isso é bom. Então agora podemos fazer é que podemos fazer o botão do meio do mouse, clicar em Recurso e você verá que isso ainda não funciona bem, eu posso escolher fontes. E então direi, vou usar as fontes do mapa. Eu digo sim e vejo de repente que tudo está aqui. E agora podemos realmente ver como é o código-fonte real. E para este, por exemplo, isso não nos interessa muito. Mas se eu voltar do meio do mouse, clicar nele novamente, você pode ver em todos os lugares onde isso foi usado. E você pode ver que ele é usado nas classes de recursos configurados em árvore como, oh, isso é muito interessante, não é? É como, Sim, é muito interessante, vamos ver, por exemplo, o recurso de configuração AUC é um recurso configurado no registro com o recurso de configuração de árvore com basicamente os recursos de OK. Você pode ver isso aqui. Basicamente, é apenas um construtor já feito. Você pode ver o construtor de conflitos em árvore. E então, literalmente, tudo o que fizemos também, certo? Criamos um StateProvider de bloqueio do log. Fizemos um placer de tronco e todo esse jazz. Então, tudo isso é feito aqui também. Mas agora esse recurso de árvore real, recurso configurado de configuração é usado novamente. Então, se eu botão do meio do mouse, clique nele novamente, você pode ver que isso é usado nos recursos do lugar da árvore, certo? E se eu entrar aqui e ver que este é agora um objeto de feição colocado e este, pois a largura sobreviveria ao filtro nele. Mas agora fica ainda mais louco e, por favor, fique comigo por enquanto. Você pode ver que esse recurso de lugar é então usado nos recursos configurados de vegetação com outras coisas aleatórias. Então isso é como uma loucura, certo? Para que você possa ver que esta é a linha, então a linha 66. E veja que esta é a vegetação da floresta escura, que mais uma vez é uma característica configurada do recurso aleatório Conflict. Este é usado em um recurso de lugar. Novamente, embora basicamente estejamos indo do recurso configurado para colocar o recurso para configurar o recurso para colocar o recurso. Parece loucura como uma maneira de fazer isso. O que eu recomendo é passar por todas as aulas de recursos aqui. Basicamente, há uma porcaria de coisas aqui. Na verdade, é insano. Há tantas coisas aqui. Eu só recomendo passar pelo, basicamente as características do lugar da árvore em todo o local são insanamente interessantes. E basicamente para ver, bem, como a baunilha faz isso? Como a baunilha gera coisas? E vamos fazer uma coisa semelhante. Digamos, Bem, a coisa semelhante que vamos fazer é entrar em nossa classe de recursos configurados de modo novamente. Então, aqui mesmo. E, basicamente, iremos pegar esse recurso configurado e fazer outro recurso de configuração fora dele. Agora vou copiar isso também. Este é o único com a configuração do recurso aleatório neste caso. E você pode ver que isso basicamente leva o seletor aleatório de recursos, mistura um novo conflito de feição aleatório configurado aleatório e, em seguida, pega a árvore de cerejeira com o filtro sobreviveria do cereja, rebento ou a mesma coisa. Então, basicamente, isso é um pouco complicado. Provavelmente há uma maneira melhor fazer isso, mas, por enquanto, essa é a melhor maneira que eu descobri basicamente que poderia funcionar e que deveria funcionar. E isso realmente é totalmente bom e vamos trabalhar agora. A razão pela qual precisamos do recurso configurado aqui é porque queremos esse filtro. Agora, o problema é que esse filtro, se eu clicar no botão do meio do mouse sobre isso, você pode ver que isso retorna um recurso de lugar. E o problema é que uma vez que eu tenho um recurso de lugar, não consigo fazer outras colocações nele. Então eu só posso fazer uma colocação em particular aqui. E é isso. Agora, provavelmente há, como eu disse, outra maneira de fazer isso que vai ser extraída e um pouco de amina 1.18 é muito nova e a geração mundial está completamente refeita. Então, talvez haja uma atualização para isso em algum momento. Mas, por enquanto, isso funciona absolutamente a propósito, não há preocupação. Então, vamos usar isso agora e criar um recurso de lugar a partir dele. Então, nos recursos do mercado, último, mas não menos importante, vou copiar isso também. Esta é a flor de cerejeira colocada. E você pode ver que eu estou tomando o aleatório da árvore de cerejeira, que é exatamente este aqui. E eu vou usar isso com a colocação de modificadores de recursos colocados vegetais, que eu tenho, que basicamente posso entrar. Então você pode ver que esta é basicamente uma lista específica de modificadores já construídos. E então eu vou dizer, Ei, pegue a contagem de modificadores extras. O que é isso? Bem, o que isso deve fazer é gerar uma árvore por tronco. Tem 10% de chance de responder a um extra. Acredite que essa é uma espécie de ideia geral em que você está pode até surgir um pouco mais. Mas, no geral, essa é a ideia geral. Então, se você quiser, por exemplo, uma árvore que é super rara, mas você pode fazer é simplesmente dizer nenhuma contagem 0. E então, como uma chance de 0,1% de um patrocinador extra, por exemplo, ou mas para nossos propósitos aqui, é claro que queremos vê-lo. Queremos ver a árvore real. Então, vamos fazer isso assim. Isso basicamente determina o, como isso, a árvore realmente gera. O que é muito importante é que essa chave aqui e esses anos-chave desses livros, livro, esses dois nomes têm que ser os mesmos. Isso é muito importante. E então o que vamos fazer é precisar de duas novas aulas. Na verdade, isso é de classe mundial. Primeiro de tudo, no pacote de trabalho, clique com o botão direito do mouse em novo pacote chamado Jen. E então lá dentro teremos duas novas classes, a classe mod de três gerações e, em seguida, também a classe mod world gen. Então, na classe de gerador de árvore modelo, vamos adicionar um vazio estático público legal, gerar uma árvore. Res realmente faz. Talvez queiramos criar vários. E aqui, disposta a OMS chamou as modificações do mole iam que adicionam seletores de recursos. E então aqui podemos basicamente selecionar biomas diferentes. Podemos dizer, Ei, apenas pegue todos os biomas, topo, leve todos os que estão no excesso de trabalho. Podemos até ir por tag aqui. Então você pode ver que há muitas maneiras diferentes de usar isso. Vamos, vamos fazer as categorias e vamos dizer planos de ponto de categoria para que basicamente apenas o que surgir em aviões por ohms. E então a geração pisa aqui, vamos dizer passo de geração, e esta é a decoração vegetal. Vou mostrar isso em um momento. Em seguida, o mercado apresenta essa chave. Então, queremos que a chave aqui seja passada. E então isso gerará nossa última característica em todos os biomas que têm os planos de categoria na etapa de geração vegetal. Então, na verdade, vamos entrar nisso. Você pode ver que existem diferentes etapas de geração. E é muito importante comer esse pedido basicamente. Então, uma vez que nós, por exemplo, um minério subterrâneo, você pode ver aqueles que vêm antes da decoração vegetal. Portanto, teremos que adicionar os remos antes dele. Então isso é muito importante e você também sempre terá que fazer basicamente a coisa correta aqui. Mas geralmente é muito claro qual é a etapa de geração real na geração do mundo moderno, agora, haverá um método simples também. Esse será o vazio estático público. Vamos chamar isso de geração mundial de modo degenerado, coisas que raio ou nome mais legal, mas será suficiente definitivamente. E então isso chamará a geração de árvore modelo que gerou árvores. E então este aqui será chamado na parte inferior do método inicializado. No entanto, a geração do mundo moderno, gere o mundo moderno novamente, e é isso. Então, vamos recapitular mais uma vez. Vamos fechar tudo o que temos e vamos reabrir os que mudamos. Então, tínhamos um novo recurso configurado que temos que adicionar para basicamente garantir que a árvore de cerejeira só apareça onde uma muda é válida. É por isso que isso é tão importante aqui. Isso é feito, então podemos criar um recurso com isso, que basicamente vai filtrar um pouco ainda mais com algum posicionamento. O posicionamento específico que escolhemos foi a contagem extra, altamente recomendável. Por exemplo, entrando aqui você pode ver modificadores de posicionamento para clicar no botão do meio do mouse sobre isso, e acredito que posso clicar nisso novamente. Então você pode ver, por exemplo, onde todos esses recursos foram usados. Portanto, há, por exemplo, alguns já preparados quando você estiver na classe de recursos do lugar, que você pode usar. Então, há muitas coisas lá dentro. Eu acredito que eles também são usados com o Control H Certamente lá você pode ver que há alguns recursos de posicionamento quadrado , deslocamento aleatório. Há muitas coisas aqui. Só mais uma vez posso recomendar brincar com ele. Esteja aberto à experimentação para isso. Especialmente quando se trata de geração mundial. É muito complicado. E, portanto, se você tem algo em mente que você quer exatamente como você quer, quem, você vai ter experimentar um monte de coisas com isso. Mas esse recurso de lugar basicamente tem a mesma chave aqui que a chave. Portanto, essa chave tem o mesmo nome que o recurso de lugar e isso tem que corresponder. E então podemos chamá-lo na geração da árvore modelo com essas biomodificações, isso é algo que os presentes de tecido para nós agora este é um recurso experimental pode ser removido ou alterado sem aviso adicional. Isso é muito importante por enquanto. Ainda funciona. Ainda podemos usá-lo se ele mudar. Claro, vou fazer e atualizar a palestra em algum lugar para que você saiba como você pode basicamente fazê-lo sem essa aula. Mas, por enquanto, vamos usá-lo porque é muito fácil de usar e funciona perfeitamente. E então, basicamente, isso é capturado na geração do mundo moderno ou mais geração mundial, classe. E que o padrão é chamado no, em um literalismo. Então isso é praticamente tudo o que há para ele por enquanto. Vamos ver se funciona, certo? Não se esqueça de criar um novo mundo para isso também. Porque é claro que mexemos com a geração rural onde toda vez que você faz isso, eu recomendo fazer um novo mundo apenas para ter certeza de que tudo surja corretamente. Então, vamos ver, ou nos encontramos no Minecraft. Então, vamos apenas localizar em aviões aqui. E vamos ver se as árvores de cerejeira surgem lá. E vamos ver, lá estão eles como se não fosse um grande bioma aqui, mas eles estão gerando. E isso é ótimo. Então, como você pode ver, respondendo, isso é uma espécie de general um veado por ano sobre o quanto eles são pequenos se os biomas um pouco maiores, claro que você pode vê-lo um pouco mais claramente. Mas, por enquanto, isso é totalmente ótimo. E como eu sempre digo, quando se trata dos números, você terá que ajustar os números de uma forma ou de outra. Então, essa é uma parte importante disso de qualquer maneira. Então isso é algo que você definitivamente tem que ter em mente, certo? Mas tudo funciona e esta é praticamente a primeira palestra para a seção de geração da Guerra Mundial feita. Espero que você tenha achado útil e tenha aprendido algo novo. Vejo você na próxima palestra. Ah, sim. 93. (Gen) Geração de flores: Tudo bem, bem-vindo de volta ao curso de tecido para 118. Nesta palestra, vamos dar uma olhada em como você pode basicamente adicionar a geração de farinha ao seu MOD. Agora, mais uma vez, muitas coisas serão copiadas, mas, na verdade, desta vez não vai ser muito. O núcleo é, claro, para você disponível no repositório do GitHub ou em um indivíduo também. Agora, a ideia geral aqui é que, quando se trata da geração das flores, uma das coisas que as pessoas podem perguntar é, bem, como você descobriu isso? Na verdade, não é tão louco. É praticamente a mesma coisa que fizemos antes. Clique no botão do meio do mouse na classe de feição e, em seguida, você tem , por exemplo, o recurso flor, certo? E então eu posso clicar no botão do meio do mouse sobre isso e ver onde ele foi usado. Por exemplo, ele foi usado no padrão da flor. Então o que eu faço é eu literalmente copiar sobre o padrão da flor aqui você pode ver que eu apenas seleciono a linha inteira, pressione Control C, Control V e, em seguida, basta dar uma olhada em tudo o que eu preciso. E então você pode ver que, ei, isso leva um leão dandy e eu sou tipo, ok, então eu posso basicamente substituir isso por minha própria flor, coisas assim e assim por diante e assim por diante. E é praticamente assim que você faz isso, certo? Você apenas tribo continuamente e, em seguida, apenas com isso você basicamente, bem, você faz engenharia reversa e então você sabe como funciona. Primeiro de tudo, vamos copiar o recurso configurado aqui, e veremos que uma das coisas aqui é vermelha, e isso é exatamente o conflito de recurso Criar patch aleatório é, eu acredito que está aqui ou na verdade na decoração vegetal, acho que isso é usado aqui. Este não é o que queremos. Queremos dar uma olhada. Este, eu acredito. Não, não é o caso. Então você pode ver que há muitos diferentes aqui , na verdade. E, na verdade, o que queremos é o seguinte. Na verdade, vou copiá-lo. Este é este aqui. Assim como o conflito de recurso de patch aleatório de um provedor sit de bloco e várias tentativas aqui que isso basicamente chama esse método aqui. Portanto, não se preocupe lá. E a ideia geral aqui é que isso agora atende basicamente tudo nisso cria o conflito de recurso de patch aleatório. Podemos realmente dar uma olhada nisso também. Mas isso não vai ser tão interessante para nós, geralmente aqueles como classes de conflitos de recursos são bem, meio complicadas às vezes. Quero dizer, tudo isso é bastante complicado, como você provavelmente terá adivinhado e percebido neste momento. Mas, no geral, esse é o recurso configurado. E agora, quando pensamos, ok, temos um recurso configurado, mas o que também precisamos é que também precisamos de um recurso colocado que esteja exatamente certo. Então, na nossa classe de recursos colocados no modelo, agora, vou copiar isso. Agora, este é realmente bastante simples porque você pode ver isso a rosa rosa colocada e esta será alguns registros, um recurso de lugar. Vamos pegar o recurso configurado da nossa classe de recursos configurados em modo quando, digamos, com um determinado posicionamento. E neste caso, vamos adicionar o posicionamento do filtro de raridade de quatro e um posicionamento quadrado, apenas um modificador normal aqui com também o mapa de altura e, em seguida, o modificador de posicionamento biológico. Então isso é muito louco, como de onde isso vem? Bem, mais uma vez, ele reproduz características de algumas das flores reais. Se dermos uma olhada neste recurso correto de configuração vegetal. Nós só vamos pegá-los e então podemos, por exemplo, ver as características da vegetação, local de vegetação aqui. Nosso calor, que é a linha 73. E podemos apenas ver uma raridade aqui, quadrada também. Ele também pega o mapa de altura do bloco de movimento e o modificador de posicionamento do bioma. Então, é basicamente de onde todos eles vêm. Basicamente, peguei tudo isso da baunilha e funciona lindamente. Então essa é praticamente a ideia geral. Agora, o que também vamos precisar é de uma nova chave de registro para isso. Então esta será a chave sublinhada da polícia de rosa rosa . Isso terá o mesmo nome que isso mais uma vez, porque eles terão que corresponder. E então isso é praticamente tudo o que precisamos fazer agora, é claro, precisamos ainda gerar isso. Mas para isso precisamos no pacote gen no New Mode, barramento de geração mais baixa. E, na verdade, vou copiar o método aqui. Não é nada muito louco. Oh, olhe para os recursos colocados no modelo, eles vão e então tudo o ano deve ficar bem. Então, mais uma vez, esses só vão surgir nos aviões apenas para que o tenhamos basicamente no mesmo bioma. E então isso só terá que ser resfriado aqui. Portanto, isso pode ser chamado acima ou abaixo dele. Isso importa porque ambos são decoração vegetal. Tudo aqui é chamado de engenharia, foi adicionado corretamente. Vamos ver se funciona. Mais uma vez, não se esqueça de criar um novo mundo, pois mais uma vez mexemos com a geração mundial. Então, vamos ver o que podemos ver. E por sorte, já estamos ao lado de um avião e lá estão eles, as rosas cor-de-rosa manhã em pequenos remendos aqui. E você pode ver que há outro patch. E então há como um grande remendo aqui. Então, isso é muito legal. E você pode ver, é claro, mais uma vez, mexer com os números é a principal coisa que você terá que fazer para obter sua geração. Basta escrever se você quisesse um pouco diferente. Claro, não se preocupe. Você sempre pode experimentar isso. Mas, por enquanto, isso é realmente ótimo e todos eles geram, bem, isso é muito legal, certo? Mas isso já será para esta palestra aqui. Espero que você tenha achado útil e ignorância do novo. Mais uma vez, todo o código está naturalmente, disponível para você no repositório do GitHub ou em um indivíduo também. E te vejo na próxima palestra. Então, sim. 94. (Gen) de minério de: Tudo bem, bem-vindo de volta ao curso de tecido para 118. Nesta palestra, vamos fazer o que vocês estavam esperando. Vamos ver como adicionar ou gerar ao Minecraft quando se trata da geração geralmente, ou geração é praticamente a única coisa em que todos gostam, Oh meu Deus, eu preciso saber como ou geração funciona. Essa é a coisa mais importante de todos os tempos. Eles querem o esporte deles no mundo. E isso é exatamente o que vamos fazer agora. Mas, mais uma vez, descubra isso. Vamos clicar no botão do meio do mouse no recurso. E o que você encontrará é que aqui ou isso, ou sim, de fato, é um recurso ou. E se eu clicar nisso, você pode ver que existem alguns recursos configurados. Por exemplo, existem alguns diamantes, pequenos diamantes, grandes diamantes enterrados. Mas vamos dar uma olhada no pequeno recurso de diamante configurado. Você pode ver que isso tem um ou recurso Conflict Diamond ors. Então, o que é isso? É uma lista de todos os conflitos futuros, nosso alvo, nós realmente teremos que fazer isso nós mesmos também. Mas não se preocupe. Isso não é como se isso não fosse tão difícil. Agora, mais uma vez copiarei tudo, mas tudo aqui está, é claro, também disponível para você no repositório do GitHub ou em um indivíduo também. E para um, ou, como eu disse, precisamos de uma lista desses destinos aqui, bem como um recurso configurado. Agora isso é praticamente tudo o que precisamos. E você pode ver que preening o alvo aqui, existem basicamente duas alvos de taxa. Então, se eu basicamente fizer isso um pouco diferente para que ele seja um pouco diferente aqui. Então lá vai você. Agora você pode ver claramente ambos os alvos e ambos basicamente blocos associados a ele. Um alvo tem um teste de regra que segue, certo? Então, o teste de regras que você pode ver aqui basicamente apenas verifica, Ei, isso corresponde a esse bloco específico aqui? Então, neste caso, estamos realmente dizendo: Ei, tudo o que pode basicamente substituir por uma pedra, a pedra ou, em seguida, também há ardósia profunda ou substituível. Então essa é a ideia geral aqui. Por causa, claro, nosso normal ou pode substituir, ou deve ser capaz de substituir a pedra normal e depois dormir profundamente ou deve ser capaz de substituir ardósia profunda. Agora isso não é apenas armazenar, isso pode, por exemplo, também gerar diretamente e coisas assim. E o mesmo com o sono profundo. Há como outras coisas, outros tipos de blocos que também podem surgir no estado profundo e , portanto, isso é necessário. Agora, o tamanho aqui vai ser muito interessante porque o tamanho, se realmente entrarmos aqui, você pode ver que ele só diz tamanho e o tamanho lá significa que este deve ser o tamanho médio de uma veia. Portanto, esse deve ser o tamanho da veia, na verdade. E então, como ele aparece no mundo real, você será capaz configurar com o recurso colocado novamente, que realmente precisamos uma coisa muito interessante e que é uma nova classe e o recursos embalados. Então este é o modo ou comedores e vamos apenas copiar sobre dois métodos. Agora, esses métodos vêm do recurso ou em si. Então, a partir da baunilha ou dos recursos, eu basicamente os levei e os tornei públicos aqui para que possamos ter acesso a eles para que possamos facilmente API sobre o recurso local aqui, que é o oracle reclama como você pode ver, porque o oracle vem ou com um posicionamento específico e depois os modificadores com contagem. Então, a contagem nos vários que você está basicamente diz quantas veias devem surgir por tronco. Este é pelo menos meu entendimento atual disso, realmente, que o modificador de contagem é quantas veias surgem por tronco. E então temos um modificador de posicionamento de faixa de altura do trapézio. Então você pode ter visto essa imagem de como os minérios agora surgem. E existem diferentes tipos de recursos basicamente, ou diferentes tipos de modificadores geraram? Há o trapézio, há uniforme e você pode até fazer fornecedores de altura personalizados. Podemos ver que há constante trapezoidal uniforme, muito tendenciosa, ponderada, tendenciosa em relação a eles. Então isso é muito interessante. Portanto, existem diferentes provedores de altura que você pode basicamente colocar lá. Se, por exemplo, você é como, não, eu quero que isso apareça como um provedor muito, muito chato, muito tendencioso para a muito chato, muito tendencioso para a altura inferior pode ser feito. Você pode ver que você pode criá-los com muita facilidade na verdade. Então, mais uma vez, experimente, experimente, experimente, esteja aberto à experimentação, especialmente com isso visualmente brincando com isso. Este é um exemplo de como fazer isso, certo? Nós vamos basicamente dizer, Ei, isso pode surgir em qualquer lugar de menos 80 a mais 80. Isso é basicamente para fins de teste, por enquanto. Se eu quisesse realmente fazer esse recall do nosso provavelmente até mesmo usar o muito tendencioso como no modificador de posicionamento inferior oito porque eu sinto que isso seria o refrigerador e seria provavelmente diminuem a contagem também. Mas só queremos mostrar que basicamente funciona aqui. E então a chave, mais uma vez, é muito fácil, mas é apenas a chave recalc, sublinhada ou desaparafusar. Então a mesma coisa aqui. Este tem que ser o mesmo nome que este, é claro que mais uma vez, reproduz mesmo recurso com a chave de registro. E então só precisamos de uma nova origem de modelo aqui. Então mod ou generation também copie isso rapidamente. É praticamente o mesmo que os outros. Isso é apenas recursos colocados em demoed eles atrás. E então isso é praticamente encontrado em todo o mundo. Então este é outro e isso está na etapa de geração de ors subterrânea. O que é muito importante é que isso seja chamado antes da decoração vegetal. Portanto, MAR ou geração geram portas. Isso é muito importante. Caso contrário, não funcionará corretamente. Mas isso é mais uma vez, na verdade, tudo o que precisamos. Então, só precisamos de um recurso de configuração que realmente tenha uma lista de alvos, o que é muito importante porque é claro que você quer que a loja e o estado profundo ou apenas o tamanho pequeno seja o tamanho das veias, basicamente o tamanho da veia aqui. E, em seguida, coloque o recurso. Podemos dizer quantas veias por transcrições nasceram e, em seguida, de que tipo de maneira elas devem surgir. Mas neste caso trapézio e, em seguida, um deslocamento Y. Então, basicamente, diga: Ei, de que nível Y até que nível eles devem gerar? Essa é a ideia geral. Mais uma vez, recomendo vivamente brincar com ele. Você pode clicar no botão do meio do mouse e ver o que você pode mudar. Diferentes provedores HIE, tudo isso. Eu recomendo vivamente. Apenas brinque com isso. Se você tiver valores diferentes ou funcionalidades diferentes onde você quer que seu cavalo apareça. Mas, por enquanto, vamos ver se funciona. E, claro, como tantas vezes porque nós mexemos com a geração mundial. Vamos criar um novo mundo, ou um farmacêutico no Minecraft lá, na verdade, é um comando muito bom que podemos usar, que basicamente apenas preenche todas as coisas abaixo aqui com ar. E nós podemos basicamente, então, vou dar uma olhada em tudo isso. Então, vamos ver se algo que queremos surgiu aqui. E para este, na verdade não se parece com isso. Bem, então vamos entrar em não sobrevivência, mas na verdade, no modo ditador. E vamos apenas passar e ver se conseguimos descobrir que o, OU aqui, temos. Então, algumas delas surgiram. Você pode ver aqui um pouco mais. Na verdade, homens velhos, veia ainda maior aqui. Como você pode ver, ele gerou perfeitamente bem. E provavelmente há ainda mais disso ao nosso redor. Lá está lá alguns, alguns mais até mesmo. Então, isso é realmente o quão legal é. E isso é, claro, um sono profundo. Agora também gera e pedra, é claro. Então olhe para isso lá, por exemplo, nós imediatamente o encontramos. Então isso é praticamente o quão fácil isso, certo? Acho que enfatizo isso o suficiente para que você deva experimentar isso um pouco e experimentá-lo. Então, não vou me repetir, mas direi que é isso para esta palestra aqui. Espero que você tenha achado útil e anos de idade do novo. E te vejo na próxima palestra. Então, sim. 95. Como fazer um arquivo JAR a partir de sua Mod: Tudo bem, bem-vindo de volta o curso de tecido para 118. Nesta breve palestra, veremos como você pode fazer um arquivo JAR fora do seu modelo. E a maneira como você faz isso é abrir o terminal e colocar na barra de pontos Gradle w construído. Agora você está basicamente apenas deixar isso passar. Isso não deve demorar muito. Serão redondos cerca de 10 segundos. Lá vai você. Cinco segundos, na verdade, talvez um pouco mais se o seu PC for um pouco mais lento, mas não se preocupe. Se você receber um erro aqui talvez você não esteja usando a versão correta do Java. Você pode especificar a variável home Java aqui para que ela use o JDK correto. Além disso, agora você encontrará seu arquivo JAR dentro de suas pastas. Então, na pasta Build, na verdade, vamos clicar com o botão direito do mouse neste Explorer aberto aqui. Vamos construir libs de pasta e, em seguida, este aqui. Portanto, aquele com o nome mais curto é o arquivo JAR. E agora você pode adicionar isso e tentar e vamos jogar com isso adicionado a um servidor, coisas assim. Isso tudo funciona basicamente como qualquer outro arquivo JAR que você possa baixar, por exemplo, de forragem de trabalhadores ou algo assim, certo? Mas é isso para esta palestra aqui. E isso também é para o conteúdo planejado, digamos, para o primeiro lote de conteúdo deste curso. Agora, haverá mais tópicos adicionados no futuro. Então, após basicamente, essa palestra será uma seção chamada alguns tópicos adicionais ou algo assim, onde tópicos adicionais no futuro serão adicionados. Então, talvez se você estiver assistindo este curso logo após ele sair, talvez não seja nada lá. Mas no futuro, algo pode estar fora de lá. Isso é bastante frequente, legal. Então, espero que alguns tópicos mais avançados também sejam abordados lá. como, talvez alguns tópicos não tão avançados que ainda possam ser úteis e que possam ter sido solicitados bastante, certo? Mas isso seria para esta palestra aqui. Espero que você tenha achado útil e ignorância do novo. Vejo você espero na próxima palestra. Então, sim. 96. (tópicos adicionais) de tela de atualização (1.18.1): Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos atualizar nosso tecido para a versão mais recente. Pelo menos para mim. Quero dizer, acho que provavelmente será uma versão um pouco mais nova, mesmo para você. Mas para isso, é claro, vamos para o arquivo de propriedades do Gradle e, em seguida, podemos navegar para isso aqui. Então, duas versões de rede da EMC, HTML e eu já abrimos isso. Então, essas são as novas versões aqui dos mapeamentos de fios, do carregador e da versão de malha , pois continuamos uma mensagem do futuro, já que 118 para dois foram praticamente lançados. Eu recomendo vivamente o que você faz é mantê-lo em cento, oitocentos e um. Se você acompanha as palestras com 118, eu recomendo que você fique em um 1800 em vez de atualizar imediatamente para 172 porque um 1800 e toda a próxima geração mundial é não vai funcionar com 1800. No final do curso, haverá uma seção onde podemos assistir se você quiser passar com um 1800 para apenas ter isso em mente. Então, recomendo, mantenha-se em 181. E então você pode atualizar no final do curso, vamos fazer é que eu realmente vou colocar isso no outro monitor e eu vou copiá-lo exatamente assim. E então temos os outros três aqui. Então, esses são aqueles três que eles atrás e então nós vamos movê-los. E isso é praticamente isso. E então vamos clicar no pequeno elefante aqui é que não aparece. Você sempre pode abrir a guia Gradle e clicar neste botão também. E então, à medida que é construída, mais uma vez, pode demorar um pouco. Pode levar um minuto ou dois, ou também pode demorar apenas trinta segundos, depende da sua velocidade na conexão com a internet, se você atualizou ou não no passado, coisas assim. Mas uma vez que isso seja basicamente executado, vamos basicamente esperar pacientemente até que este passe e, em seguida veremos se algum erro pode ocorrer ou não. Tudo bem, então você pode ver por mim que levou 50 segundos, então não muito tempo, na verdade totalmente bem. E, no geral, no momento, não estou recebendo nenhum erro ou o que podemos fazer é simplesmente iniciar a tarefa do cliente de execução e vamos ver se alguns erros podem ocorrer ou não. Claro, mais uma vez, pode ser um pouco vermelho aqui, alguns avisos diferentes , pelo menos, que devem estar totalmente bem enquanto os clientes reais começarem, ficaremos bem. Esta era, é claro, como sempre, é apenas um erro normal que vimos basicamente toda vez que iniciamos o cliente. Portanto, não se preocupe lá. E lá vai você. Portanto, a janela já está carregada. E vamos ver. Aí estamos nós. Então, tudo funciona totalmente bem e isso é realmente o quão fácil é atualizar. Agora, se é claro que já vi uma atualização anteriormente , no entanto, eu queria fazer isso mais uma vez basicamente antes de entrarmos na parede, os tópicos adicionais que vamos discutir no, nas próximas palestras. Então, esses serão muito interessantes, algumas coisas realmente avançadas. Mas tenho certeza de que conseguiremos passar por isso e será realmente interessante. Mas isso já está pronto para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. Vejo você na próxima palestra. 97. (tópicos adicionais) de XP de para blocos: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos dar uma olhada em como você pode adicionar gotas experientes aos seus blocos. Agora, isso é algo que enigma de poucas pessoas no passado, mas na verdade é bastante simples quando você sabe onde procurar. E isso é basicamente que vamos pressionar a tecla Shift duas vezes e depois vamos dar uma olhada na classe de blocos orais onde vou garantir que isso inclua não projetos. E então vamos escolher este aqui. E então, na verdade, vamos fazer o, vamos realmente entrar no terminal aqui. E digamos que Gradle w fontes apenas no caso após as atualizações. Às vezes, você precisa quando o, quando muitas coisas são atualizadas, você precisa realmente fazer as fontes de geração aqui. E vamos deixar isso passar e então podemos ver o que a classe real tem a oferecer para nós. Lá vai você. Demorou cerca de um minuto e depois foi feito. E agora o que podemos fazer é, em teoria, podemos procurá-lo novamente, certificando-se de mais uma vez, selecionaríamos isso e aqui ainda temos a barra azul, mas agora podemos escolher fontes aqui. Quem são as fontes mapeadas, diga, ok, e depois que ele recarregar, então devemos obter a classe adequada. Normalmente, a diferença não é cegonha, mas às vezes pode ser uma diferença. Certificar-se de que temos as fontes adequadas aqui em vez de apenas as descompiladas. Agora, a classe de blocos laranja aqui nos dá a capacidade de também passar um uniforme no provedor, que é a experiência que cai quando, na verdade, enquanto destrói esse bloco. Isso é, na verdade, tudo o que precisamos fazer. Então, em nossa classe de blocos de modo, vamos, por exemplo, pegar o resultado do oracle ou o caso do mais, provavelmente não gostaríamos que a experiência extra caísse. Mas vamos fazer isso aqui porque faz sentido fazer isso como um exemplo, geralmente são, é claro, porque nosso cálcio ori ou bloco cai de cálcio Rory, geralmente você não gostaria de adicionar a experiência aqui. Mas só por exemplo, faremos isso após as configurações do bloco de tecido. Vamos apenas adicionar outro parâmetro aqui e esse será o uniforme na criação de pontos do provedor. Vamos apenas dizer algo como três a sete. Vamos ver o que podemos realmente dar uma olhada no bloco ou aqui, vamos dar uma olhada em onde isso foi usado. Então, clique no botão do meio do mouse sobre isso e, por exemplo, vendo o Esmeralda ou apenas como exemplo, vamos ver o provedor. Aqui está exatamente 37. Esse é aproximadamente o tamanho que você quer. Isso eu acredito, deve ser todos os diferentes ou blocos onde isso foi usado. Mas é claro que você pode mudar isso. Talvez você tenha uma ordem incrivelmente rara e talvez queira que isso seja muito maior, mas é claro que também seja o caso. Isso é tudo o que você precisa para ter sua experiência de queda de blocos também. Então, para fins de conclusão, vamos ver se funciona ou se Francis de volta ao Minecraft. Então, vamos apenas meu um pouco disso e lá vai você. Veja isso também cai a experiência. E como eu disse, você pode simplesmente mudar os números inteiros que eles são, e então basicamente tentar diluir em quantas experiências você quer que ele caia. E podemos ver, posso continuar aqui e h está trabalhando continuamente. Na verdade, é assim que é fácil adicionar alguma experiência do cliente que derruba a sua. Isso já aconteceu, para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo e eu te vejo na próxima palestra. 98. (tópicos adicionais) como adicionar blocos transparentes: Ou eu sou bem-vindo de volta ao curso de tecido para 118. E nesta palestra vamos adicionar um bloco transparente personalizado ao Minecraft. Isso, na verdade, mais uma vez , uma daquelas coisas que na verdade é bastante simples quando você sabe o que fazer, é claro, isso geralmente é o truque disso. Mas vamos entrar e vamos apenas copiar sobre as folhas de flor de cerejeira bem aqui. E esta será a janela de sublinhado de inverno, mesmo que o inverno esteja lentamente mas seguramente desaparecendo. Mas isso é claro que está bom. Há, é claro, vai voltar algum tempo. O inverno está chegando. Claro. Vamos fazer deste um novo bloco de vidro que eles atrás e isso vai apenas copiar sobre o vidro do bloco aqui. Isso é praticamente tudo o que precisamos. Agora vamos, na verdade, também adicionar não foi opaco. Isso é realmente muito importante e vamos adicionar alguma força aqui também. Por que não alguma força personalizada? E isso vai ficar bem. E para o bloco, na verdade é tudo o que precisamos. Agora, a razão pela qual precisamos da classe de bloco de vidro é se entrarmos nela, ponto mais médio, clicar nele e, em seguida, clicar no botão do meio do mouse clicando no bloco de classe abstrata, você pode ver que ele tem primeiro de tudo, a forma de colisão da câmera vazia. Então temos o nível de luz de oclusão ambiente. É necessário para que a luz passe. E então também temos o método translúcido, basicamente retornando verdadeiro aqui. É por isso que usamos o bloco de vidro, só faz sentido. Agora, o que também precisamos fazer para que a janela de inverno seja adicionada corretamente na classe de cliente do curso MC, vamos copiar sobre a amostragem aqui. Não vou fazer desta a janela de inverno, e vamos tornar essa camada de renderização translúcida. Então fique translúcido. Muito importante que adicionemos isso também. E então a transparência real é feita. Agora, é claro, ainda precisamos adicionar os arquivos JSON normais que vamos copiar sobre tudo aqui, é claro, disponíveis para você no repositório do GitHub, um indivíduo também. A corrida do mar, o bloco dos Estados é completamente apenas um dia normal, na verdade meio chato. Block diz arquivo JSON. E então vamos também copiar a tradução aqui. Isso não é nada, nada muito louco. Nada que o alarme de qualquer forma, forma ou forma. É apenas coisas normais como já vimos muitas vezes. mesmo com o arquivo JSON do modelo de bloco. Você pode ver completamente normal o arquivo do militarismo e nós vamos ir 33. Sim, vamos passar com um arquivo JSON modal de item três também completamente normal. E então, na verdade, também vamos obter a textura que você acabou e isso seria praticamente isso. Isso é tudo o que precisamos. Então, duas coisas muito importantes, tornando-o um novo bloco de classe não opaco. E também certificando-se de que isso é chamado obter a camada de renderização translúcida. E depois de ter adicionado tudo isso, vamos ver se funciona ou se respostas no Minecraft z, a janela de inverno foi adicionada com sucesso ao jogo. Então, vamos colocá-lo para baixo e você pode ver, lá vai você. Podemos ver isso e parece incrível. Então, trabalhar praticamente exatamente como o vidro normal, como você esperaria. E vamos ter mais uma coisa e vamos dar uma olhada nos textos de mais uma vez para mostrar basicamente uma outra coisa que é muito importante para blocos transparentes personalizados. Abrimos a janela de inverno PNG bem aqui. E uma vez, é claro, muito importante aqui é que esses pixels aqui são, claro, transparentes. Eles têm um valor alfa associado a ele que é menor que um. Isso é muito importante que o valor alfa aqui para alguns dos pixels seja, é claro, menos de um. Caso contrário, não será transparente. Então, isso é praticamente tudo o que há para ele também. Você pode fazer isso no GIMP, em pintura na rede ou em dois ótimos programas. Eu pessoalmente uso o Photoshop, mas esses dois também funcionariam. Mas seja qual for o caso, isso já é para esta palestra aqui. Espero que você tenha achado útil e tenha aprendido algo novo. Vejo você na próxima palestra. 99. (tópicos adicionais) Adicione itens animados: Tudo bem, bem-vindo de volta ao curso de tecido para 118. Nesta palestra, vamos adicionar um item animado personalizado ao Minecraft. Agora, adicionar um item animado é , na verdade, um processo bastante simples. Agora isso vai ser uma textura que vai ser animada e mudando ao longo do tempo. Para isso, é claro, vamos precisar de um novo item. Então, vamos entrar na nossa classe mais itens, a menos que apenas uma cópia superior sobre o item da tigela, na verdade, isso provavelmente será mais fácil. E entre o nosso chamado isso, o realce mágico sublinhado recalc vem sublinhar poeira. E então o mesmo aqui. Sublinhado mágico ou um sublinhado de cálcio poeira. Agora isso vai ser um item normal. Curioso, não é? Sim, o item real em si é muito, muito simples de ser feito. O interessante será, na verdade , a textura em si , bem como o metarquivo MAC associado. Interessante, o que faz isso, o que vamos ver. Mas antes de tudo, vamos adicionar a tradução aqui para que a tenhamos. E, em seguida, também vamos adicionar o arquivo do modelo. Agora, o arquivo do modelo, pode dizer, Bem, o arquivo modelo tem que ser um louco complicado, não é? Provavelmente vai ser realmente incrível. E não, na verdade, é apenas um arquivo de modelo normal, como você pode ver claramente, que apenas aponta para uma textura. E a textura é a coisa que vai ser a parte interessante, bem, interessante de tudo isso. Então, vamos copiar isso, incluindo o arquivo MC Mehta. Agora, é claro, tudo está disponível para você no repositório do GitHub em indivíduos também. E você pode ver aqui, este é o pó real em si. E você pode ver que essas são várias texturas. E esses são os quadros referenciados no metarquivo MC. Você pode ver 012345, é praticamente 012345. Eles vão, eles serão basicamente animados em um termo francês de 16. Eu recomendo mudar isso e brincar um pouco com isso, estar aberto à experimentação aqui. interpolação significa simplesmente que ela meio que desaparece de um quadro para o outro em vez de mudar discretamente. Essa é a ideia geral de interpolação neste caso, e essa é a ideia aqui. Então, isso é realmente tudo o que há para ele. Agora é muito importante que o metarquivo MC tenha o mesmo nome que o, como a textura incluindo o ponto PNG. Isso é incrivelmente importante. Certifique-se de que isso esteja escrito corretamente. Mais uma vez, uma daquelas coisas em que é melhor verificar ou triplicar a ortografia. E para alguns exemplos, para blocos. Por exemplo, você pode ir para as bibliotecas externas aqui para mapas de projetos de micróbios de rede, assim por diante e assim por diante. E vamos entrar na pasta de ativos, bloco de texturas Minecraft. E vamos dar uma olhada no bloco magma porque esse também é animado. Você pode ver que a textura do magma é realmente livre, texturas diferentes. E aqui está o metarquivo MAC. Mais uma vez, quase exatamente o mesmo que com o metarquivo real que temos aqui. Você pode ver que é apenas um tempo de quadro diferente para o magma e isso é praticamente tudo o que há para ser altamente recomendável, como eu disse, brinque um pouco com isso. Experimente e veja o que você pode basicamente inventar. Mas, caso contrário, vamos ver se a textura animada funciona corretamente. Ou um Minecraft. Como você pode ver, o pó mágico foi adicionado com sucesso e você pode ver que parece atrito, incrível. Ele gera ou melhor anima automaticamente. Você pode ver que ele apenas, parece muito legal, pois tem um, você sabe, como um efeito cintilante para ele. E, como eu disse, isso é completamente personalizável. Você pode simplesmente mudar o metarquivo MC, brincar um pouco com isso e, em seguida você pode apenas com isso, apenas com coisas básicas como essa, você já pode adicionar algumas coisas muito legais e frequentes em seu modelo. Isso já foi para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo e eu te vejo na próxima palestra. 100. (tópicos adicionais) Tela de menu personalizada: Tudo bem, bem-vindo de volta ao curso de tecido para 118. Nesta palestra, vamos fazer uma tela de menu personalizada. Agora isso vai ser muito interessante, porque uma tela de menu personalizada é algo que é algo muito interessante para adicionar ao seu MOD. Agora, uma das coisas que eu quero mencionar imediatamente aqui é que quando estamos fazendo a tela do menu nesta palestra, vamos fazer com que ela sempre seja exibida. E então, na próxima palestra em que vamos falar sobre configurações, vamos fazer isso para que você possa descobrir se a coisa é exibida ou não. Isso é muito importante que você adicione isso. Porque, caso contrário, seu MOD nunca será adicionado a nenhum mod pack nunca. Você precisa tornar isso configurável. Mas isso é algo que vamos ver na próxima palestra. Neste, vamos fazer a tela de título personalizada da parede. Agora, o que vai ser realmente interessante é que eu vi muitas maneiras de isso ter sido feito anteriormente, mas basicamente sempre usando a classe de tela de título. Então esta será a tela de título. Lá você vai por baixo deste aqui e tela GUI do cliente de micróbio. E foi muito estranho porque eles sempre basicamente acabaram de fazer o título inteiro. criador de tela fez um mixin e acabou de mudar. Quero dizer, muitas coisas aqui. E eu estava tipo, não consigo imaginar que essa será a única maneira de fazer isso. E, de fato, na verdade, não é a única maneira de fazê-lo. Eu encontrei uma maneira muito, muito mais fácil e melhor. Então, ainda vamos precisar de um mixin, mas vai ser muito simples. Então, antes de tudo, vamos fazer uma nova classe imita e mixagem de tela de qualidade empacotada. Vá e vai parecer assim. Vou copiá-lo. Vou dizer, Oh meu Deus, isso é exatamente demais. Não é quase nada. Você vai fazer disso uma interface. Isso vai misturar a classe de tela. E ele só vai ter um acessador aqui ou a lista de drawables. Isso é tudo o que vamos precisar aqui. Isso é literalmente tudo o que precisamos. Então, é claro, para a mistura, também precisamos adicionar isso são misturados aqui agora, muito importante, isso está sob o cliente. Isso é muito importante porque isso só afetará o cliente. É por isso que temos que ter isso aqui. Também podemos ver isso no ambiente de tela, valor, tipo de ambiente aqui é cliente. Isso só aconteceu no cliente. Portanto, precisamos colocar a mistura no cliente, na mistura JSON. Depois que fizermos isso, agora estamos log. Ok, como vamos proceder agora? Vamos fazer uma nova tela de título. Vamos estar no pacote util. botão direito do mouse em nova classe Java chamada de, vou chamar isso de kelp e tela ociosa do título. Lá vai você. Isso vai estender a classe da tela de título. Você pode ver que na verdade não temos que passar o mouse sobre isso e não temos que fazer nada aqui. Mas o que vou fazer é copiar o conteúdo disso. Mais uma vez, tudo isso está disponível para você no repositório do GitHub e individual também. Vou explicar o que é o FREC. Hubbard aqui. Podemos ver esse respingo. Este é o identificador real que aponta para minha imagem que eu queria substituir a largura normal da imagem. E então também temos a textura das telas de título do Minecraft. Este é apenas o Minecraft que está escrito basicamente no topo, no meio, topo da tela de título real porque tivemos que realmente adicionar isso. Mais uma vez. A maneira como isso funciona é que chamamos esse método de renderização. A primeira coisa que ele faz é renderizar a tela de título normal. Então, como você pode ver, eu separei isso em quatro métodos diferentes aqui. Em seguida, estamos desenhando nossa tela de título personalizada. Depois disso, vamos desenhar o logotipo da Microsoft com eu vou desenhar os avisos de direitos autorais e, em seguida, vamos desenhar a tela de título e os botões. Eu era muito importante é que definitivamente sempre mantenha os avisos de direitos autorais lá e não 100% de certeza. Mas eu acho que se você não os tiver, você pode estar cometendo fraude de direitos autorais ou algo assim. Então, mantenha-os lá. Apenas mantenha assim. Este é praticamente o mesmo código que também está na tela de título. A maioria dessas coisas foi tirada da tela de título. O logotipo real aqui completamente da tela de título. Os botões de tela retirados da tela de título e, em seguida, da tela de título personalizado de desenho. Este aqui é um pouco do eu não diria necessariamente o máximo de coisas do cliente, mas a maior parte disso como clientes, você pode ver que a maioria das coisas é muito semelhante a isso também. Estamos basicamente desenhando uma textura diferente aqui. E isso é praticamente tudo o que estamos fazendo. Agora. O que vamos fazer com esta tela de título? Bem, vamos tornar um novo evento interessante. No pacote de eventos RV, vamos clicar com o botão direito do mouse em nova classe Java e este será o evento de tela de título de substituição. Vamos exatamente o que vou chamá-lo. Isso implementará o ponto Eventos da tela antes nele, e precisamos levar este aqui. Esse evento é essencial antes de um evento específico ser inicializado. Em seguida, vamos implementar o método before init aqui. E então vou copiar o conteúdo, o que também será muito simples. Mas o que vamos dizer é hey, se a tela que está sendo inicializada atualmente for uma tela de título e não for nossa tela de título. Vamos apenas definir essa tela em direção à tela de título. Isso é exagerar aqui com facilidade suficiente. Isso é literalmente exagerado. E agora só precisamos basicamente fazer esse registro, este evento real aqui. E isso vai ser feito na classe do cliente. Então, cliente do curso MC, muito importante. E então aqui vamos dizer eventos de tela antes nessa época da fábrica de eventos aqui. E então vamos apenas dizer um registro, um novo evento de substituição, substituir o evento da tela de título. É isso. Agora, a tela de título será substituída por essa textura aqui. Temos curso, ainda tenho que adicionar essa textura. Caso contrário, vamos apenas obter textura preta e rosa, não é o que queremos que isso vá GUI e, em seguida, em segundo plano, então novo diretório, seu plano de fundo eles atrás. E depois copiaremos isso. Isso também está disponível para você. No entanto, observe que há um aviso de direitos autorais associado a isso. Mais uma vez, pode ser retirado aqui do arquivo de créditos. Você pode ver alguns pelo joelho. Então, esta é mais uma vez a mesma licença Creative Commons. E então você só precisa vincular a página do Fiverr ali mesmo. Isso também manterá isso em mente se você quiser usá-lo. Eu recomendo não usá-lo porque não faz sentido porque quando você verá a textura real aqui, eu simplesmente não, você não precisa usá-la. Bem, seja qual for o caso, isso é tudo o que precisamos. Então agora vamos ver se funciona ou está começando a carregar aqui e devemos imediatamente, é claro, vê-lo. E lá estamos nós. A tela de título personalizada está funcionando exatamente como você esperaria. Os botões ainda funcionam. Posso dizer, isso é como um exemplo muito ruim, mas lá vai você. Então eu posso basicamente clicar em tudo e tudo ainda funciona. E temos o personagem micróbio Milo aqui segurando um sinal tutoriais por coluna e linha. Aqui, à esquerda, temos um pouco de um spoiler bem aqui. Então, quem sabe o que isso combinado significa? Quem sabe? Mas, no geral, eu realmente gosto que seja muito legal e tudo está para funcionar. E assim você pode até acessar os direitos autorais aqui. Você ainda pode clicar nisso e tudo ainda está funcionando muito bem. Na verdade, é como é fácil adicionar uma tela de título personalizada ao meu ofício, certo? E, como eu disse, recomendo também verificar a próxima palestra, onde vamos adicionar um conflito a isso também. Porque se você não tiver o conflito, então você tem que tornar isso configurável. Eu vou apenas dizer isso, mas por enquanto, é isso para esta palestra aqui. Espero que você tenha achado útil e tenha aprendido algo novo. Vejo você na próxima palestra. 101. (tópicos adicionais) Adicione Configs simples e básicos: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos adicionar um simples conflito ao Minecraft. Então, o que isso significa? Como funcionam os conflitos? Bem, primeiro de tudo, vamos usar uma aula já feita. E isso é aqui do tecido, lábios simples aqui. Isto é de um magistrado Vmax. E tenha cuidado ou tenha certeza de que isso está sob um direito autoral. E então esta será a licença do MIT só para que você esteja ciente disso. Então, certificando-se de que você saiba que esse é o caso. O simples conflito aqui é, na verdade , quero dizer, é bastante simples. Na verdade, não é muito complicado, mas vamos usar isso. E isso é claro que tudo está disponível para você também no repositório do GitHub em indivíduos também. E eu realmente copiarei sobre todas as três classes que são feitas no pacote de curso MC clique com o botão direito novo pacote chamado config. Então lá dentro, vou copiar sobre as três aulas. Como eu disse, eles também estão disponíveis para você para download. Mas vamos ver. Lá vai você. Lá estão eles. Temos a classe de conflito simples, que geralmente é apenas uma classe Java normal. Dentro daqui, nada aqui é basicamente para Minecraft ou tecido. Tudo isso é um código Java normal. Aqui eu tive, fiz uma pequena modificação aqui, é que ele reconhece um comum depois de um valor que é tudo o que eu basicamente adicionei aqui também. Vamos só, porque meu, achei um pouco mais legal por causa da maneira como eu configurei para que tenhamos esse provedor de conflitos aqui. Podemos ver que essa é apenas uma configuração padrão. Agora, o que isso faz? Realmente é apenas uma lista de pares. Então, teremos um par de chave-valor para um conflito ser razoavelmente sensato, onde há uma string que será a chave, então algum tipo de valor. Não sabemos qual valor porque podemos basicamente salvar coisas em valores diferentes e isso está na classe de conflitos mod é basicamente tudo bem feito aqui temos esse método de conflitos de registro, que vamos chamar em apenas um momento. Mas o que isso faz? Bem, ele faz um novo provedor de conflitos. Em seguida, cria os conflitos. Esta é a criação real dos conflitos. Você pode ver que estamos apenas adicionando pares de chave-valor a este moderno provedor de conflitos aqui. A ideia é que essa é a chave. Então você pode ver que acabei de ter alguns exemplos aqui. Valor do teste T, temos outro valor de teste. Outro valor de teste é uma string em dobro, ou tenha esses comentários aqui apenas para que seja um pouco mais fácil para o jogador ou o usuário real alterar esse conflito para que eles saibam que tipo eles quer mudar isso para. Você também pode adicionar outras coisas a ele também. Como possíveis coisas que você pode colocar aqui, algo assim também seria o caso. E você pode ver que tem o valor eletrônico da tela de título de substituição aqui, que é o mais importante, e qual é o que basicamente vamos dar uma olhada em apenas um momento por enquanto, vamos aqui e no topo dos não inicializados, queremos dizer conflitos mod, não conflitos registrados. Isso é praticamente tudo o que precisamos fazer aqui. Então, como eu disse, é claro que todo o código está disponível. Agora, sobre isso, o muito importante é que você não pode usar seus valores configurados aqui em todos os lugares. E isso é algo que é muito importante aqui. Porque alguns, isso, basicamente o que vamos fazer é vamos administrar um cliente por apenas um momento. E vou explicar por que pode haver alguns problemas aqui. Então, temos dois tópicos diferentes, certo? Portanto, há o thread do servidor e o cliente para isso, é claro, também por isso temos o mod de núcleos MC aqui e a classe de cliente do curso MC. Porque este é apenas o cliente, isto é, isso é para ambos. Isso deve ser quatro comuns. Basicamente. Nossa configuração agora será interessante porque no, se estivermos no servidor, será realmente carregado. E então, se estivermos no cliente, ele também será carregado. Então agora eu tenho meu microfone, ele começou e então eu posso sair. E agora eu deveria ser capaz de encontrar meu conflito na pasta R1 em conflitos. E lá vai você, conflito de curso MC ou propriedades. E você pode ver que eles estão. Então você tem a chave real aqui e, em seguida, seja qual for esse valor, e então você também pode ver o valor padrão, bem como o comentário que eu basicamente adicionei aqui. Essa é a ideia geral, e é assim que ela é exibida. Agora, mais uma vez, o interessante é que esse arquivo realmente será o mesmo para o servidor e o cliente. Agora, se nós, por exemplo, mudássemos algo no que quer que seja nos itens mais, por exemplo, e dissemos que há uma contagem máxima diferente aqui. Isso vai ser uma incompatibilidade entre o servidor e o cliente. Seja muito cauteloso de onde você está usando isso. Descobri que conflitos em tecido são muito mais difíceis de fazer corretamente. Então, em Forge, não sei se não há uma boa solução que encontrei. Todas as APIs do Config são incrivelmente complicadas e não são muito fáceis de seguir. Não tenho 100% de certeza. Este simples conflito aqui será suficiente para definitivamente algumas ou algumas coisas de clientes, 100% para as coisas do servidor. Bem, veremos. E você também pode separar isso para fazer um, essas três classes basicamente, ou melhor, essas duas classes fazem disso um mod. conflitos de clientes só chamam isso no cliente, então ele nem deve ser uma cratera no servidor porque, é claro, a tela de azulejos substituída neste momento, neste caso aqui, na verdade, na verdade, algo que só acontece no cliente real. Mas, no entanto, deve ser totalmente bom. Então, vamos entrar no evento de tela de título de substituição. E então aqui vamos dizer que vamos dizer mod, mod client, sem mais conflitos. Eles vão mais conflitos que substituem a tela de título. E vamos apenas adicionar um fim e será isso. Basicamente, você só vai verificar se isso é verdade ou não. E se fôssemos, por exemplo, mudar isso para falso aqui, e depois começar de novo. Depois que isso foi basicamente criado uma vez, agora ele deve ler o valor real em. E vai dizer, ei, substituir a tela de título é falsa e, em seguida, não substitua a tela de título. Mas, como eu disse, ainda existem alguns obstáculos na frente do conflito. Portanto, essa definitivamente não é a melhor, a melhor solução no momento. Lá vai você. Funciona. Esta é a melhor solução no momento, no entanto, não é a melhor solução provavelmente para sempre. Ainda não encontrei uma implementação muito boa de qualquer coisa que seja uma boa API de conflito para malha, mas é o que é. Mas, no entanto, agora, pelo menos adicionamos como o ano de conflito para a tela, que é basicamente a coisa mais importante aqui. Você também tem algo para conflito, modo que pelo menos eles tendiam a entrar na direção certa. A wiki de tecido MC, a propósito, tem uma lista de alguns conflitos diferentes. Como eu disse, não achei nenhum dos outros tão interessante ou tão bem feito. Pelo menos eu realmente não, passei um pouco de tempo com cada um deles. E o conflito simples realmente é facilmente usado enquanto o caso de uso que temos. Vou vincular isso também para que você possa basicamente dar uma olhada em alguns dos outros também. Mas, por enquanto, acho que ficaremos bem. Isso já está para esta palestra aqui. Espero que você tenha achado útil e novo, e te vejo na próxima palestra. 102. (tópicos adicionais) Adicione efeitos personalizados: Tudo bem, bem-vindo de volta ao curso de tecido para 118. Nesta palestra, vamos adicionar um efeito personalizado ao Minecraft. Isso é uma coisa muito interessante porque o efeito real vem de outro aluno que realmente importou esse efeito em sua multidão, mas teve um problema. E eu consegui consertá-lo. E eu fiquei tipo, Isso é um efeito muito legal. Eu quero basicamente mostrar como isso funciona e isso é realmente muito mais direto do que você imagina. Em nosso pacote de cursos MC. Vamos clicar com o botão direito do mouse em novo pacote em vigor. E então, em vez de lá, vamos fazer duas novas aulas. Um deles será a classe Mode Effects. Então o outro será o efeito de congelamento. O efeito de como isso vai funcionar é basicamente congelar uma entidade ou que ela não pode mais se mover. Sabe, um pouco de eu não diria necessariamente nenhum problema aqui, mas vai ser uma coisa interessante de se ver porque há algum tipo de maneiras interessantes, digamos, que isso funciona, mas vamos ver como isso funciona. Vou copiar o conteúdo da classe real, estender a classe de efeito de status que você pode ver. E então, basicamente, eles terão um construtor normal aqui. Vamos sobrescrever o método de efeito de atualização de aplicação. Portanto, esse será o método de ticking que basicamente irá segurar cada tick que uma entidade tem esse efeito de status aplicado a ela. E então, também, muito importante, temos que substituir o método de efeito de atualização pode aplicar e retornar um verdadeiro aqui para que esse método seja uniforme porque se isso for falso, então isso é nem mesmo casaco. Você pode ver que basicamente estamos apenas pegando as coordenadas atuais das entidades reais e, em seguida, definindo-as, deixando a entidade real voltar para essas coordenadas. Pode haver alguns problemas com isso, especialmente com o voo. No entanto, para o jogador real, esse método chamado é muito importante. E para qualquer outra coisa, então qualquer coisa que tenha uma entidade que está acontecendo no mundo, então a velocidade definida é importante porque isso basicamente faz com que os animais ou um zumbi ou o que quer que possa não ser mais capaz de se mover. Então, ambos são importantes, e isso é praticamente tudo o que você precisa fazer aqui na classe Mode Effects. Mais uma vez, vamos simplesmente copiar isso porque por que não? Isso não é muito. E também, é claro, tudo disponível para você no passado ou para um indivíduo também. Você pode ver basicamente nada muito louco. Temos o efeito de status do que estamos registrando aqui. E estamos registrando isso dentro do carvão de efeitos de registro, o que é claro que é algo que precisamos chamar em vez do curso MC Ahmad classe aqui, vamos passar por cima do fundo aqui. Vamos dizer mais efeitos, não registrar efeitos. Lá vai você. E isso é tudo o que precisamos fazer agora, precisamos ainda adicionar mais uma coisa e isso vai estar na pasta Texturas do curso MC de ativos. Você quer criar um novo diretório chamado mob underscore effect. Efeito. Lá vai você, Effect. E então queremos adicionar o PNG de congelamento a ele será o PNG real ou a imagem real que é exibida quando você tiver esse efeito. Isso é, na verdade, tudo o que há para ele. Na verdade, não é tão complicado, especialmente o efeito de status por si só. A categoria aqui deve ser bastante autoexplicativa. Esta é apenas a cor que você pode ver, esta é apenas a cor real disso, desse efeito de status que vai ser usado, acredito em oceanos e persas, basicamente vamos ver a próxima palestra também. Por enquanto, vamos ter esse efeito sem porção. E depois de ter adicionado tudo isso, vamos ver se funciona ou se estava de volta ao Minecraft. Então, vamos apenas adicionar e ver se posso me dar o efeito aqui. Então, este será um jogador lá e você pode ver o efeito de congelamento do curso MC está lá. Então, vamos dar para mim e você pode ver, eu não consigo mover alguns tentando pressionar as teclas, ou seja, não funciona, certo? E você pode ver que não temos uma tradução real no momento, mas isso vai ficar bem. E você pode ver que eu não consigo, nem consigo mover o mouse. Ainda posso acertar blocos se eu estiver feliz. Mas você pode ver que isso é muito , estou basicamente congelado. Provavelmente há algo que você também pode fazer para que você não receba essa agitação quando estiver tentando mover o mouse para cá. Mas, no geral, funciona. E então, assim que o efeito desaparecer, lá vai você. Agora pode sair novamente e tudo está funcionando bem. Então isso é muito legal. Como eu disse, todo o resto será adicionado na próxima palestra, incluindo uma parte e toda a tradução estará lá também. Mas isso será para esta palestra aqui. Espero que você tenha achado útil e milhões no Novo, e eu te vejo na próxima palestra. 103. (tópicos adicionais) Adicione poções personalizadas: Tudo bem, bem-vindo de volta o curso de tecido para 118. Nesta palestra, vamos adicionar poções personalizadas ao Minecraft. Agora, porções personalizadas são muito interessantes, e isso é claro que vai se afastar do friso efetivo que adicionamos na última palestra. O que vamos fazer é fazer um novo pacote aqui, e vamos chamar isso de pacote de poções. Lá vai você. Então, em vez de lá, vamos fazer uma nova classe Java chamada mod oceans. Eles atrás. Mais uma vez, eu realmente copiarei o conteúdo aqui. Mas antes que possamos copiar o conteúdo, o que queremos fazer é realmente copiar sobre isso aqui. Se quisermos obter o friso da porção e, em seguida, registrar o método de poção ou isso está naturalmente, disponível para você no repositório do GitHub e interesses individuais também. Portanto, não se preocupe. Então eu vou realmente adicionar o método de poções de registro modificado aqui, porque poderemos adicionar as receitas da poção Registrar em apenas um momento porque para as receitas que adicionamos, nós realmente precisamos de um misto aqui, mas não se preocupe. Na verdade, também não vai ser complicado. Mas esse método de poções de registro chamará aqui. Então, sob os efeitos motores, mais poção, comece a registrar a poção. Então lá vai você. Isso deve ser isso. Agora, isso é realmente importante atribuirmos esse campo dentro do método de poções de registro. Não tenho 100% de certeza. É só um pouco estranho aqui, mas descobri que isso funciona. E se, se o atribuirmos imediatamente aqui quando inicializarmos o campo e ele não funcionar. Mas seja qual for o caso, agora precisamos de uma mistura. Então, se realmente dermos uma olhada no registro de receitas de fabricação de cerveja aqui agora, eles estão em uma receita de micróbios líquidos. Esta é uma ótima classe que registra todas as diferentes receitas para poções. E você pode ser como, isso é ótimo, mas infelizmente, o método de receita de poção de registro é privado. Isso é um tipo de problema aqui, é claro, porque isso significa que não podemos simplesmente adicioná-lo. Se isso fosse público, será muito mais fácil. Mas, felizmente, podemos usar um misto. E para isso, vamos fazer uma nova classe Java, e esta será a receita de fabricação de cerveja. Você registra mixin. Lá vai você. Então isso vai ser, eu realmente copiarei e isso é mais uma vez muito direto e, claro, tudo disponível para você. Vou mudar isso para uma interface. Isso é claro que vai misturar a aula de registro de receitas de fabricação de cerveja. Então vamos basicamente ter esse método estático chamado apenas invocar receita de porção de registro, certificando-se de que esse nome aqui é o mesmo que, deixe-me voltar aqui como esse nome aqui. Então esse nome tem que corresponder a esse nome no Volcker. E então estamos apenas adicionando essa afirmação porque isso nunca deveria ser frio. Se o misturado e funcionar corretamente, então esse método deve ser chamado de entalhe, o que quer que esteja escrito aqui, Isso é apenas outra coisa. E então também temos que adicioná-lo no curso EMT, raça mista. E muito importante, você quer adicionar isso, mas vamos adicionar isso aqui mesmo sob o mixin. Portanto, isso é muito importante em mixagem, não Cliente aqui, certificando-se de que isso está escrito corretamente. Assim, podemos verificar novamente a cópia, saltar isso e tudo escrito corretamente. Isso é ótimo. Então o que queremos fazer é ir para a classe de porções MOD mais uma vez. E vamos fazer uma dívida privada marcar. Não, lá vai você. Vazio estático. Vamos chamar isso de receitas de poções de registro. E então, dentro daqui, o que vamos fazer é chamar a mistura de registro de receita de cerveja, invocar receita de porção de registro. E então vou dizer que vamos usar as porções. Desajeitado, estranho. Eles atrás. E então eu quero que os itens mod comecem ou lingote de cálcio, temos que ser adicionados e, em seguida, vamos obter mais poção começar a porção levantada aqui como resultado. E isso é praticamente tudo o que precisamos agora que este precisa estar frio aqui. Então vamos chamar isso na parte inferior bem aqui. Depois que todos os persas tiverem sido registrados para nossas porções personalizadas , registraremos as receitas da porção também. E isso vai registrá-lo a propósito, para todas as três partes diferentes vezes sem poção. Poção, bem como a porção persistente. Isso é praticamente tudo o que precisamos aqui. E então ainda precisamos da tradução, que é muito importante. E vamos adicionar a tradução também. Mas a tradução é muito interessante porque os itens aqui, então as partes estão realmente sob o namespace Minecraft. Não é 100% certo por que esse é o caso. Eu acho que, quero dizer, é obviamente o caso porque quando registramos uma poção, o item da porção real será registrado no Minecraft. É apenas o que é, mas tudo bem. E então também precisamos de um para o efeito aqui. Só vou acrescentar isso. Vamos apenas acrescentar isso na parte inferior bem aqui. Então, efetue o congelamento do curso MC, e isso é gratuito. Então, essas são as quatro traduções que precisamos também. E isso é, na verdade, tudo o que precisávamos adicionar, a porção incluindo a receita da poção. Então, acho que vamos ver se funciona ou fósseis de volta ao Minecraft. Então, vamos tentar ver se posso ou não criar minha parte personalizada. Então, se eu colocar o oráculo entrando, já estamos começando a ter algum progresso aqui. Isso já é muito bom, é claro, porque isso significa que está pelo menos trabalhando a receita. Agora, espero que também estejamos recebendo as porções reais corretas aqui também porque, de outra forma, às vezes você recebe a poção desconfortável se algo deu errado, mas não congelamos a poção, porção de congelamento e o oceano persistente também. Mas, por enquanto, podemos realmente ir e ver também como funciona para as mães. Vamos matar o ano das ovelhas. E vamos realmente ver o que podemos ver. Se eu adicionar algumas ovelhas aqui, na verdade , são algumas delas. Mas se eu acabei de quebrar isso, você pode ver agora eles estão todos congelados. E o que eu posso realmente fazer é que você pode ver que se eu bater nele, isso realmente vai ser interessante porque eles realmente vão flutuar no ar, bem como o Y é de claro também um congelado lá. Vamos realmente ver, vamos fazer o seguinte. Vamos, na verdade, mais uma porção de congelamento aqui. Vamos colocar alguns zumbis. E vamos ver. Vou voltar para sobreviventes que eles vão me seguir e depois congelá-los. E então você pode ver que todos eles estão congelados. Muito, muito engraçado, mas na verdade funciona. E, às vezes, eles são descongelados novamente. Volte aqui, lá vai você. E isso é, na verdade, o quão fácil é. E como você pode ver, todas essas coisas foram adicionadas corretamente, as porções foram adicionadas, tudo funcionando também. Então, vamos voltar aqui e ver todas as porções e as receitas de poções também. Então isso é muito legal. Isso já seria para esta palestra aqui. Espero que você tenha achado útil e tenha aprendido algo novo. Vejo você na próxima palestra. 104. (tópicos adicionais) Adicione entidades personalizadas com Geckolib: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra vamos adicionar uma entidade personalizada ao Minecraft. A tão esperada palestra sobre como você pode adicionar uma multidão personalizada ou entidade personalizada ao Minecraft finalmente está aqui. E, no geral, será bastante simples. Acho que todas as coisas consideradas, há muitos passos que temos que passar, mas cada um dos diferentes passos na verdade não é tão difícil por si mesmos. Agora, a primeira coisa que quero dizer é que todas as entidades que vamos fazer aqui serão entidades labiais de gecko. Então, não vamos fazer nenhuma entidade de baunilha. Começaremos imediatamente com as entidades labiais reais da gecko. E, na verdade, vou vincular algo aqui. Então esse será o lábio de gecko, basicamente o repositório do GitHub aqui. Então o lábio de gecko que você pode ver é uma biblioteca de animação ou matemática de micróbios. E no momento, basicamente o que vamos fazer com isso é que vamos usar isso para realmente implementar as entidades reais. E isso também nos permitirá ter uma maneira um pouco mais agradável de animá-los. Então eu recomendo também fazer isso. Quero dizer, também, a palestra aqui e as próximas palestras sobre as entidades sempre vão exigir a biblioteca labial gecko lá, não contornar isso. E também isso não é uma coisa. Algumas pessoas são como, Oh, eu não quero que outras pessoas também tenham que baixar outro março, coisas assim. Não se preocupe com isso. Eu recomendo estar aberto a isso porque, para o usuário, geralmente muitas coisas acontecem em mod packs de qualquer maneira. E então algo como o lábio de gecko provavelmente está lá de uma forma ou de outra. Seja qual for o caso, você pode ver o uso do tecido. Temos algumas coisas diferentes que precisamos copiar. O que vou fazer é realmente ter isso no meu outro monitor já aqui para mim. O que vou fazer é copiar as coisas para que você possa ver que precisamos primeiro adicionar um URL maven aqui nos repositórios. Então este será esse que sempre será o mesmo. E então podemos realmente dar uma olhada nisso. Então, isso vai ser 32 que são na verdade a mesma versão que eu tenho aqui também. E isso vai estar sob dependências. Então, vamos colocar isso aqui. A maioria das implementações software queima gecko lib, equilíbrio, arquivo tracejado, fabric dash 118 e, em seguida, 3032. E isso é, na verdade, todas as coisas que precisamos. Você pode ver que isso é para forjado, então não precisamos disso. E depois há algumas coisas de inicialização aqui, basicamente o que vamos ficar bem com isso. Então, vamos voltar aqui e vamos recarregar isso. Então vamos recarregar isso mais uma vez, certo, para levar alguns minutos, talvez, algo assim. Também pode levar 20 segundos. Claro que depende muito da sua conexão com a internet e também da sua parede em geral, a velocidade do seu PC enquanto eles passam 13 segundos. Isso é meio legal. Então, vamos realmente dar uma olhada no que podemos ver agora. Há algumas coisas que precisamos adicionar em nosso pacote de cursos MC. Clique com o botão direito do mouse em novo pacote chamado entidades ou entidade, na verdade, vamos fazer isso. Lá vai você. E então, em vez de lá, faremos um novo pacote chamado Custom. E, em primeiro lugar, no pacote de entidades, vamos clicar com o botão direito do mouse em nova classe Java chamada entidades mod. Lá vai você. E quanto mais entidades classe realmente será preenchida em apenas um momento. Em primeiro lugar, precisamos das entidades reais. Então, em nosso pacote personalizado, clique com o botão direito do mouse em nova classe Java, e essa será a entidade guaxinim. Lá vai você. E então temos isso feito. Agora vou copiar uma quantidade bastante sensata de coisas aqui, o que vai ser, você vai dizer, ok, isso é um pouco de coisa aqui. Não se preocupe com isso. A ideia geral aqui é que, embora haja algumas coisas que eu quero basicamente copiar e copiarei. Primeiro de tudo, é claro, tudo isso está disponível para você no repositório do GitHub no indivíduo também. Então eu recomendo que você vai ter que verificar isso de uma forma ou de outra. E também há muitas coisas que vou tentar explicar o melhor que posso fazer. Primeiro de tudo, isso vai estender a entidade animal aqui. E, em seguida, também implementará a IA animável. Você pode ver que isso é da Ecolab. Vamos passar o mouse sobre isso e implementar métodos. E então vamos dizer, ok, depois que isso for feito, você vê que o método de teste Create é que, para a entidade animal, vamos manter isso nulo por enquanto. Na verdade, não vamos dar uma olhada na desova de entidades tribais agora. Nas próximas palestras, veremos talvez haja outra palestra sobre isso no futuro. Mas, por enquanto, nada como planejado. Seja qual for o caso, também tem os controladores de registro e a fábrica de animação aqui. Esses são da interface animável para os olhos. E então passamos o mouse sobre isso de novo. Basicamente, então crie um construtor correspondente super. E lá vai você. Agora vamos tornar esse construtor imediatamente público para que tenhamos isso. E então vamos fazer é adicionar o fator de animação aqui. Então, vamos animar na fábrica de animação, você pode ver uma nova fábrica de informações privadas bastante simples , fábrica, nova fábrica de animação. E depois passando isso, então vamos devolver isso aqui. Não vamos adicionar animações nisso. Palestra na verdade, seja lá o que for, configurá-lo aqui não é nenhuma preocupação. Então isso vai ser totalmente bom. Depois, há duas outras coisas que definitivamente conhecemos. Então, a primeira coisa que realmente precisamos é que queremos dizer que esse ponto ignore a câmera para Ostrom é igual a verdade. Sinceramente, não tenho 100% de certeza do que isso faz. Só sei que devemos chamá-lo. Então essa é a ideia geral. Às vezes, esse é o caso em entidades, também o tópico bastante complexo, então não se preocupe lá. Mas seja qual for o caso, essa é a coisa mais fácil. Em seguida, queremos adicionar alguns atributos. Vamos copiar sobre o método de atributos definidos. Você pode ver que aqui, estamos basicamente construindo alguns atributos. Você pode vê-lo máximo, saúde, velocidade de dano e coisas assim. Então, estamos basicamente configurando isso nessa entidade específica, esses números, é claro, você pode alterá-los como quiser, mas eles precisam estar lá. Isso é muito importante. E então também precisamos de alguns objetivos. Esta é a IA da sua marca geral. Basicamente. Agora eu tenho duas coisas aqui que são basicamente, já posso excluir. Vamos precisar deles em um pouco. Vamos basicamente em palestras futuras quando estamos fazendo essa entidade guaxinim, também T-Mobile. Isso é algo para as futuras palestras. Como eu disse, podemos ver que existem alguns objetivos diferentes aqui e eles têm prioridades diferentes. Quanto menor o número de prioridade, maior a meta real está em sua prioridade. prioridade 0 seria a primeira coisa que acontece. E então, se houver um conflito entre o basicamente, se dois objetivos pudessem ser executados do que aquele com a prioridade mais baixa e executados na cara porque é assim que funciona. E isso é, na verdade, todas as coisas diferentes que precisamos adicionar. Não há mais nada que precisemos adicionar nessa entidade em si. Todo o resto vem, bem, quero dizer um pouco mais tarde, quando vamos começar com a entidade da tabela. Então, nas futuras palestras, a entidade de gravação está concluída. Então, vamos para a classe de entidades mod. E mais uma vez, eu vou realmente copiá-lo, mas não se preocupe. Porque mais uma vez, tudo isso está disponível para você e vamos passar por isso para que possamos ver que vamos, vou criar um novo tipo de entidade da nossa entidade de registro de clientes aqui? E então vamos chamar registro, registro, que registre novo tipo de entidade. Vamos dizer que isso se chama guaxinim. E, em seguida, vamos chamar o tipo de entidade de malha de Construtor, criando um novo tipo de entidade. Eu vou dizer que este é um grupo jurado de criatura , é claro, diferentes tipos de pontes, como você pode ver. Você também pode ver onde diz que é pacífico, sim, e então isso vai ficar bem. Em seguida, criar uma nova entidade guaxinim garante que você esteja, que você fez seu instrutor Republic. Caso contrário, você receberá um erro aqui, é claro. E as dimensões aqui são as dimensões caixa do quadril dessa entidade. E então vamos chamar o prédio ali mesmo e será isso. Isso é, no entanto, é claro que não é tudo porque nada pode ser tão simples assim. No pacote de entidades, vamos clicar com o botão direito do mouse novo pacote chamado cliente. E dentro daqui vamos fazer o modelo e o renderizador. Serão duas aulas, então será o modelo de guaxinim. E também vamos fazer o guaxinim. Se você for o renderizador de guaxinim de classe Java, lá vai você. Essas são as duas aulas que vamos precisar, mais uma vez, copiar algumas coisas aqui. Então, vou fazer o modelo primeiro. Bem ali. Isso vai realmente estender o modelo GO animado. Você pode ver a entidade de guaxinim do tipo. Lá vai você. E então, se eu passar o mouse sobre isso, posso realmente ver três métodos que precisamos implementar. Estes são os três obtém localização modal, modelados como local de textura e são animados por localização. E mais uma vez, como eu disse, vou copiar sobre a abundância , mas nada muito louco. Estamos apenas criando novos identificadores sob nosso ID de modelo e, em seguida, colocando o diferente, bem aqui está o local da textura, local da animação e a localização do modelo. Vamos adicioná-los em apenas um momento. Primeiro de tudo, temos que basicamente terminar o código ou quero terminar o código e, em seguida, também vamos mudar para bancada de bloco para realmente ver nosso modelo de guaxinim personalizado. E vamos antes de tudo ir aqui para o renderizador real. Então, vamos dizer que isso estende o renderizador de entidade geo do tipo guaxinim. E eles vão. E então vamos passar o mouse sobre esse super construtor rápido. E então temos que tirar o primeiro modelo. O segundo parâmetro aqui, na verdade, porque aqui queremos passar em um novo modelo de guaxinim. Isso é o que queremos. E então, apenas para ter certeza, também vamos substituir o método de localização de textura get. Eu vou basicamente passar o passatempo disso. Então você pode ver isso aponta para a mesma textura. Este aponta para. Isso deve ser praticamente tudo o que precisamos. E isso é, na verdade, essas duas aulas feitas. Agora ainda precisamos combinar o renderizador com as entidades. Então, como fazemos isso? Bem, vamos entrar em nosso curso MC, método cliente. E então, na parte inferior, onde vamos dizer, vamos dizer a entidade, renderizar um registro, este aqui, registrar entidades de modo, aquele guaxinim. Então vamos dizer que o renderizador de registro dois pontos, dois pontos sabiam que não deveríamos ter erros se tudo tiver sido configurado corretamente. Portanto, as entidades reais, a classe CRF e configuradas corretamente, as extensas foram configuradas corretamente, então não devemos receber nenhum erro. E agora a coisa realmente funciona. Mas agora é claro que ainda precisamos de uma entidade. De onde obtemos uma entidade? Bem, a entidade que você obtém de um banco de blocos. Agora já vimos isso praticamente antes, mas vamos entrar nisso novamente. E aqui você pode ver o guaxinim. Não parece incrível? Eu gosto, eu realmente gosto disso, mas isso é feito pelo Euro ou assim, isso vai, é claro, fazer o arquivo dos credores. Isso vai ser um link lá também. Mas eu realmente gosto disso. Você pode ver que basicamente isso é um, este é um modelo labial gecko. O que você vai precisar, na verdade, está em plugins de arquivo. Não, isso não é necessário, certo? Vamos fazer plugins. Estas são as animações labiais da gecko util. Você precisa deste plugin aqui. Caso contrário, não vai funcionar. E então você pode fazer, se você fizer um novo, você pode fazer um modelo animado labial gecko. Então este é um lábio gecko animar o modelo. E o que há de tão especial nisso? Bem, você tem essa guia animada aqui, e você pode ver que existem animações diferentes para isso. Mas essas animações neste caso já estão feitas, mas não se preocupe, é claro. Vamos vê-los em uma palestra posterior quando estamos realmente passando pelas animações por enquanto, o só queremos é que basicamente só queríamos exportar o modelo de gecko é que isso não aparecem para você a propósito, vá para converter, converter projeto e, em seguida, certifique-se escolher o modelo animado ao vivo da gecko. Se isso aparecer nisso, você poderá fazer isso corretamente. Então eu posso economizar, posso dizer exportar modelo glicolítico. E então vamos basicamente exportá-lo. Agora, na verdade, vai copiá-lo também. Então, vamos voltar aqui. Portanto, o modelo é um arquivo geográfico, ponto geográfico JSON, e isso tem que ir para a pasta de ativos. E então vamos criar uma nova pasta aqui, diretório GO, e então ela entra lá. Então, vamos apenas copiar isso. Lá vai você. E você pode ver que esta é a geometria do guaxinim. Então, às vezes eu tinha um erro de digitação lá, mas não se preocupe. Isso ainda deve funcionar porque o que realmente procura, é esse nome aqui. E desde que esse nome funcione com o nome dado aqui, você pode ver o geode do cão guaxinim GO adjacente. Isso é o que, este aponta para a localização do meio. Ainda precisamos do local de textura que estará sob texturas, é claro. Em seguida, em uma nova pasta chamada entidade. Que em vez de lá vamos fazer uma nova pasta chamada guaxinim. Então este será o guaxinim dot PNG. Então, vamos copiar isso também. Lá vai você. E agora tudo está configurado. A duração da animação que podemos ignorar por enquanto. Como eu disse, vamos dar um passo de cada vez, e isso é praticamente tudo o que precisávamos fazer para adicionar o guaxinim real. Claro, como eu disse, dentro do banco do bloco, haverá muitas coisas que você tem que fazer aqui. Este arquivo de bancada de blocos também estará disponível para você. Portanto, não se preocupe lá. Você pode basicamente pegar isso e experimentá-lo e depois ver o que você pode usar com isso. Caso contrário, é muito importante que basicamente usaremos a gecko ao vivo a partir deste ponto em diante. E, no geral das outras coisas praticamente devem ser feitas aqui, selecionamos o neste rio registrado o guaxinim e o renderizador. E apenas para passar por cima disso para uma entidade personalizada, o que você vai precisar é que você precisará da classe de entidade. Você não precisa de um renderizador e um modelo. Agora, isso é realmente o mesmo se você não estiver usando a Ecolab. No entanto, a extensão aqui, é claro que vai ser diferente porque este vai ser um modelo GO animado aqui para lábio de gecko. E não será isso para um tipo de entidade normal ou baunilha, certo? Então, há mais uma coisa que precisamos fazer e que é definir sobre os atributos. Agora vamos fazer isso em nossos registros, aqui mesmo, os registros de modo, vamos apenas fazer uma nova classe privada estática nula. E esses serão os atributos de registro, mas isso vai ser um resfriamento da entidade de malha, vamos chamá-la de registro de atributos padrão de malha . Eles atrás registram entidades mod, aquele guaxinim. E então vamos chamar os atributos do conjunto de dados da entidade guaxinim que eles atrás. E isso deve ser que o erro aqui seja ou o aviso aqui deve estar bom. E então, é claro, vamos chamar isso aqui, registrar atributos que eles são um objetivo. E então mais uma coisa que é, claro, bem importante. Todas as coisas consideradas serão os ovos de desova. Então vamos precisar de um ovo de desova para o guaxinim. Vamos entrar na nossa classe de itens de modo e vamos adicionar isso também. Vamos apenas copiar isso. Este vai ser o sublinhado de guaxinim sublinhado ovo sublinhado. Agora isso vai ser chamado de ovo sublinhado de sublinhado de guaxinim. Este será um novo item aqui. O primeiro parâmetro do qual será os tipos de entidades de entidades mod que guaxinim e entre elas terão cores primárias. Então, eu realmente vou copiar isso porque eles são basicamente justos, essas são as cores do esperma e do óvulo reais basicamente. E já me instalei para que não precisemos adicionar isso novamente. Agora, o que precisamos fazer, e isso é muito estranho, mas quero dizer, é o que é. Na verdade, precisamos adicionar um spawn AG Jason arquivos enquanto estiver no arquivo adjacente do modelo de item. Então, na pasta de itens de modelos e copie isso. Agora isso vai ser muito, muito direto. Você pode ver que ele só tem o pai do modelo de item gerando ovo e, em seguida, eles respondem em ficar coloridos. Também adicionamos a tradução porque, então, também temos isso feito. Este é um item aqui. Vamos colocá-lo aqui. Lá vai você. Assim, o guaxinim gerou ovo agora também adicionado com sucesso também e deve imediatamente enquanto apenas trabalha. Quero dizer, isso é praticamente o quão fácil isso deve ser. E agora estou bastante certo que tudo aqui foi adicionado. Podemos ver que existem alguns passos aqui. No entanto, uma vez que você passa por eles uma e outra vez, isso é praticamente sensato nos objetivos aqui. Quero dizer que há muitos objetivos. Então, se nós clicar no botão do meio do mouse no objetivo aqui, você pode ver a classe de meta. E se eu pressionar clicar nisso e depois pressionar Control H, você poderá ver todos os diferentes objetivos que estão em baunilha e eu posso até expandi-los. Há ainda mais objetivos aqui. Você pode dar uma olhada neles. Você pode até fazer seus próprios objetivos. Em teoria, isso é muito complicado. Não vamos entrar nisso tão cedo. Os objetivos são muito, muito complicados e as melhores maneiras dar uma olhada nisso como definitivamente antes de tudo, os objetivos de baunilha. E, em segundo lugar, você sempre pode dar uma olhada em alguns repositórios do GitHub de outros mods onde pode haver algumas entidades com objetivos interessantes que você já viu. E você pode então dar uma olhada em como eles são feitos e aprender com o fato de que os objetivos são muito complicados. É IA, é o que é. Mas, por enquanto, isso é tudo o que precisamos. Então, acho que vamos ver se funciona ou se as respostas na microfísica veem que a desova de guaxinim foi adicionada. Então agora vamos ver se podemos gerá-lo. E aí está, o guaxinim realmente aparece e lá vão eles, andando por aí, é claro, neste momento, não é realmente animado. E eles também têm alguns deles. Mas se eles realmente sobreviveram como dois hits, três acertos com outra fonte de luz. Então isso é muito louco porque eles ajudam, é claro, foi bem alto. Mas isso é algo que você sempre pode mudar. Isso é algo que está sempre aberto à experimentação aqui, mas você pode ver os animais reais surgem. Então isso é muito legal. E bem, quero dizer, vamos ver onde o futuro dos leads com eles. E vamos realmente dar uma outra olhada na classe de entidade porque há mais algumas coisas que podemos adicionar, o que pode ser interessante para você, onde nos encontramos de volta no classe de entidade e só para que você tenha visto porque isso provavelmente será algo que as pessoas vão perguntar. Porque, quero dizer, é claro que você sempre pode entrar na aula de animais aqui e dar uma olhada em todos esses métodos que você pode substituir. mesmo a propósito, com a entidade passiva e a entidade consciente do caminho e assim por diante e assim por diante. Podemos ver que as entidades estão indo todo o caminho de volta para a entidade viva, que basicamente todo o resto aqui são basicamente descendentes da hierarquia. É altamente recomendável também verificar esses. Há muito a ser ganho ao olhar para as entidades de baunilha. Você sempre pode encontrar coisas interessantes da maneira como elas funcionam. Mas uma coisa que também pode ser perguntada, como adiciono sons personalizados à minha entidade? E para isso temos quatro métodos diferentes aqui , onde vou copiar sobre o som ambiente, o som hertz para o som surdo e o som passo. Esses quatro métodos, você pode simplesmente retornar um evento sonoro. Isso, é claro, então, inclui os eventos sonoros personalizados que já vimos em palestras anteriores. Então, isso também funcionaria. Então, altamente recomendável, você pode basicamente fazer isso e, em seguida, ele vai reproduzir esses sons em circunstâncias específicas. Eu definitivamente queria mostrar isso também. Isso pode ser algo muito interessante para você. Caso contrário, todo o resto realmente recomenda dar uma olhada em alguns dos exemplos de baunilha. E então também basicamente, bem, dando uma olhada em como podemos fazer isso nas próximas palestras. Porque, como eu disse, vamos fazer algumas palestras diferentes sobre, bem, quão diferente, como as entidades reais funcionam. Então, vamos basicamente configurar as animações reais. Da próxima vez. Vamos dar uma olhada em algumas das variâncias e, em seguida, algumas outras coisas também, o que é realmente interessante. Então eu recomendo verificar esses também. Mas, por enquanto, isso será para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo se você o fizesse, eu agradeceria muito uma revisão sua. Caso contrário, verei você na próxima palestra. 105. (tópicos adicionais) Adicione animações de entidades com Geckolib e BlockBench: Ou eu dou as boas-vindas de volta ao curso de tecido para 118. Nesta palestra, vamos adicionar animações personalizadas à nossa entidade personalizada. Para isso. Primeiro de tudo, vamos voltar para o banco quebrado. E, como é claro, na última palestra, nós adicionamos a entidade guaxinim. Este modelo de bancada de bloco está disponível para download. E quando você tem isso, o que é muito importante é que este é um modelo labial gecko aqui. Se isso não for formatado corretamente, você pode converter o projeto em um modelo animado de lábio de gecko. E então você deve ter essa guia do Animate aqui. E na guia Animate, você pode ver se você já trabalhou com algo como qualquer coisa que seja um programa de edição onde você tem certas chaves, seus quadros-chave que você pode definir. Isso também é animação em, por exemplo, unidade, algo assim é basicamente o mesmo aqui. E o que podemos fazer é clicar na animação da ilha. E por exemplo, posso clicar na cauda e você pode ver que defini algo na rotação aqui. O que posso fazer é simplesmente reproduzir a animação. Você pode ver que sobre a cabeça e o corpo estão lentamente subindo e descendo. E a cauda aqui está apenas balançando um pouco para frente e para trás. O que você pode ver se eu clicar neste quadro-chave que podemos até colocar em certos métodos chamadas de função aqui, você pode ver Query anime time math sin, esta é apenas a onda senoidal que somos em seguida, colocando o tempo real de animação em. E isso basicamente só, bem faz isso no eixo y. Então, ele vai girar isso no eixo y. Essa é a ideia geral aqui. Você pode colocar muitas coisas diferentes aqui. Você também pode, é claro, colocar os quadros-chave manualmente. Assim, você pode fazer um quadro-chave, fazer algo a respeito e, em seguida, avançar o tempo, criar outro quadro-chave, avançar o tempo fazer outro quadro-chave e assim por diante e assim por diante. E é claro que você pode fazer isso manualmente sobre o que eu fiz como eu disse, aqui no corpo. Eu fiz a onda senoidal na cabeça. Eu também fiz uma onda senoidal para cima e para baixo. E então, para a cauda, também fiz uma onda senoidal. Então você pode ver que esta é onda senoidal e, em seguida, a posição aqui também está em uma onda senoidal apenas um pouco de valores diferentes ou diferentes aqui, que parece um pouco diferente, mas no geral, parece muito bom. Então, é apenas muito simples, mas basta dar uma impressão de alguma vida que eles são em vez de apenas ter uma estática. E também podemos dar uma olhada na animação da caminhada. Você pode ver lá você vai, a animação de caminhada. E então também podemos dar uma olhada na animação sentada de que uma é realmente completamente estática neste caso, também seria algo adicionado lá. Mas, por enquanto, estou muito feliz com o que é isso. Também é apenas um exemplo aqui, sem preocupações lá. O que fazemos com isso? Com todas essas animações? Então, como salvamos essas animações enquanto vamos à animação? E então vamos salvar todas as animações. Primeiro de tudo, então você pode ver onde eu quero salvar isso na idade Tracer file raccoon animação, esse traço. Então, vou salvar isso. E então podemos basicamente usar esse arquivo JSON para o nosso projeto. Vamos voltar para um tecido. E se nos lembrarmos disso no modelo, temos que especificar o local para as animações. Isso vai acontecer mais uma vez, ativos pasta do curso MC aqui. E então aqui vamos fazer um novo diretório chamado animações. E então lá dentro, vamos colocar a animação de guaxinim, aquele arquivo adjacente, a ressalva está aqui. E então eu só tenho que mudar rapidamente o nome de guaxinim CR2. Isso é algo que deve ser consertado para você. É só que havia um erro de digitação lá antes, e então deveríamos ser ferro. Agora temos essas animações que somos basicamente feitas aqui. Agora, como vamos usá-los? Como eles podem ser usados? Bem, eles podem ser usados na classe de entidade. Então, lembramos que adicionamos os controladores de registro e a fábrica aqui. E agora temos que adicionar mais duas coisas lá. Então, antes de tudo, vamos adicionar o predicado. O predicado é um método, então vou adicionar isso na parte inferior aqui. Vamos fazer algo como animação. serão as animações onde você pode ver este é o nome da animação que basicamente usará esse nome aqui, tem que corresponder a esses nomes, certo? Então você pode ver que esta é a animação sentada que não vamos usar neste tutorial laranja em vez desta palestra. Vamos usar isso na palestra posterior. E então essa animação da animação ambulante aqui é realmente algo que usamos aqui. E então a animação ociosa aqui, esses nomes têm que corresponder muito importante. E então a questão é, quando isso está acontecendo? Bem, você pode ver que a animação de caminhada está acontecendo quando o evento está se movendo, você pode realmente dar uma olhada no evento de animação e ver alguns exemplos aqui. Normalmente, não há muitos exemplos. Algumas outras coisas que veremos, especialmente com o evento de configuração. Veremos em um pouco como podemos , em uma palestra futura, como podemos basicamente implementar isso quando tivermos a animação sentada também. Mas, por enquanto, queremos isso e, em seguida, o que queremos adicioná-lo ao evento controllers registrado está seguindo. Mais uma vez, é claro que tudo isso está disponível para você no repositório do GitHub e individual também. Vamos realmente pegar este. Portanto, esses são dados de animação no controlador de animação. Vamos fazer um novo Animation Controller apenas com um controlador de animação aqui. E então vamos passar para este kit de produto de pontos ou este produto de cólon. E este produto aqui é solicitado, e agora essas animações devem ser, bem, basicamente, basicamente funcionais já. Isso é tudo o que precisamos para essas animações específicas aqui, porque já configuramos tudo com o modelo aqui. Isso é aponta para o arquivo JSON real. Atualizamos e exportamos tudo do banco de blocos aqui. Pior, se você quiser ter algumas animações loucas e legais, há sempre, há muita coisa que você pode fazer sobre isso. Mas, como eu disse, no geral, é apenas uma questão de experimentá-lo. Estar aberto à experimentação mais uma vez aqui, certo? Quero dizer, nós não vamos passar por todas as coisas e você também terá que experimentar algumas coisas por conta própria. Mas, no geral, é praticamente assim que você faz isso. Sim. Vamos ver se funciona. Ou o que encontramos foi de volta ao Minecraft. E, como você pode ver, as animações reais foram adicionadas com sucesso ao jogo. Então você pode ver que você sabe, a animação ambulante também. Então, ambos funcionam a propósito, os sons também funcionam a partir da última palestra que podemos ouvir. Esses também funcionam. Vamos realmente pegar o som surdo que eu acho que era de um porco. Vamos ouvir isso também. Sim. Isso é meio estranho, mas tudo bem. E então o ambiente real soa ou do golfinho, quero dizer, não se encaixa, mas é meio engraçado que realmente funciona. Mas, o mais importante, as animações funcionam, como você pode ver, que isso é muito legal e foi bastante fácil de implementar todas as coisas consideradas, posso dizer o que definitivamente mais fácil implemente algumas dessas animações personalizadas. Neste caso, em vez fazê-los com o modelo de baunilha, isso é muito mais difícil, posso dizer isso, mas muito legal. No entanto. Isso já está para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E te vejo na próxima palestra. 106. (tópicos adicionais) Adicione as variantes de entidade: Ou eu sou bem-vindo de volta ao curso de tecido para 118. E nesta palestra vamos adicionar multidão personalizada, variância ao Minecraft. Então, o que isso significa é basicamente, você provavelmente já viu a entidade do cavalo, a multidão de cavalos em Minecraft, e ela pode ter cores diferentes ou códigos diferentes. E isso é exatamente o que vamos fazer pelo guaxinim. Agora, isso é surpreendentemente uma coisa muito simples de se fazer. Agora, há alguns lugares onde realmente precisamos adicionar algumas coisas. Mas, principalmente, é claro , na classe de entidade e também no renderizador, se não me engano, sim, está no renderizador e no modelo, na verdade, há alguns lugares onde precisamos mudar algumas coisas, mas não se preocupe lá. Na verdade, uma vez que você entende o que estamos fazendo aqui, na verdade é bastante simples. Mas a primeira coisa que vamos fazer é no pacote de entidades, vamos clicar com o botão direito do mouse em novo pacote chamado de variação. Então, em vez de lá, vamos fazer uma nova classe Java. Vamos selecionar enum, e este será o guaxinim uma variante. Agora vou copiar o conteúdo disso. No entanto, basicamente haverá o mesmo toda vez que você fizer uma nova variante. É assim que parece. As únicas coisas que você precisa mudar são basicamente as referências reais aqui ao nome dessa classe. Caso contrário, está tudo bem. E então aqui, assim como qualquer outro enum que vimos anteriormente, você apenas lista todos os diferentes enquanto enums aqui e depois apenas se lembra deles. Quero dizer, aqui isso é provavelmente como verde e esse ID que provavelmente é um pouco mais sensato aqui neste caso, seja qual for o caso. Então, vamos ter um invariante padrão, uma variante escura e uma variante vermelha. Agora, como escolhemos esses? Como sabemos o que vai acontecer aqui? Bem, o que vai acontecer é na classe de renderizador de guaxinim aqui, vamos adicionar um mapa. Mais uma vez, eu realmente copiarei isso. No entanto, é muito simples uma vez que você realmente vê como ele se parece e, em seguida, parece talvez um pouco louco e no primeiro sinal, mas então você vai ser como, Ok, isso é na verdade, não é muito louco. A única coisa que estamos fazendo aqui é que estamos dizendo bivariante de localização, um novo mapa da variante Raccoon para o identificador. que significa apenas que se o, se estivermos passando para essa variante, o guaxinim padrão variou aqui. Vamos apenas apontar para essa textura. Se for a variante escura, vamos apontar para essa textura. Se for a variante vermelha, vamos apontar para essa textura. Isso é literalmente tudo o que há para ele. Se você tiver vários, basta adicionar mais aqui, saída mapeada e, em seguida, com uma nova variante e assim por diante e assim por diante. É isso. A localização real da textura aqui e agora tem que ser alterada. Então, temos que dizer ponto bivariante de localização obter. Agora a questão é, bem, como obtemos a variância? Bem, temos que de alguma forma colocar a variante na entidade. Isso é o que faremos a seguir. Vamos deixar essa área aqui por enquanto, e vamos mudar algumas coisas na entidade. Isso é um pouco mais complicado, digamos, onde há mais partes nisso. No entanto, estou mais uma vez, tenho certeza de que tudo ficará bem. Vou copiar todos os métodos diferentes agora isso vai ser alguns deles, mas vamos suportar comigo e vamos passar por isso. Vou então explicar todos os métodos diferentes que teremos um erro aqui, ou seja, as setas de dados. Então, na verdade, precisamos de algo chamado de dados de trato do tipo inteiro. E eu vou realmente adicionar isso ao topo aqui, porque geralmente gosto que os dados de prática reais aqui estejam no topo e, em seguida, não há mais erros na classe de entidade. E então, na verdade, vamos explicar o que o FREC está acontecendo aqui. Mas o que temos? Temos antes de tudo, esse rastreador de dados, isso é interessante, certo? Portanto, os dados de rastreamento aqui que você pode ver são, bem, é uma maneira de armazenar dados em uma entidade que é rastreada tanto pelo cliente quanto pelo servidor. É claro que isso é muito importante que esses sejam os mesmos. E podemos ver por um exemplo aqui, se eu clicar na entidade animal pressione Control H e, por exemplo, entrará na entidade espaço OR. Podemos ver que há algumas coisas de dados práticos aqui. Você pode ver que existem algumas bandeiras. Existem os dados do proprietário UUID. E acho que podemos ir mais longe na entidade talvez no cavalo. Lá vai você. Temos uma variante de identificação sem osso de armadura aqui também. E isso é praticamente exatamente o mesmo mundo funciona. Então, é praticamente aqui que consegui como isso funciona da entidade cavalo. Então, mais uma vez, é só mostrar mais uma vez. Está tudo nas aulas de baunilha também. Você pode dar uma olhada neles e você pode encontrar quase qualquer coisa lá também. Eles são a ferramenta West e o melhor recurso que você tem em mãos. Agora, o que mais temos na classe em que usamos isso, certo? Então, vamos usar isso. Você pode ver em primeiro lugar aqui no rastreador de dados init, isso é incrivelmente importante. Você precisa adicionar este ano, caso contrário, não funcionará. Precisamos inicializar esses dados. O rastreamento desse tipo real de dados. E então podemos ver que temos um método de variante definido que, na verdade, é usado apenas nesta classe específica e é usado apenas no método inicializado. Enquanto o método inicializado, bem, isso é chamado quando uma dessas entidades é gerada e especialmente quando é vínculos, por exemplo, através de uma desova. O que é suposto responder ovo, o que é claro que queremos é que queremos uma variante aleatória aqui. Vamos definir essa variante e então ficaremos bem. Vamos o que acontece aqui. Em seguida, também temos um método de leitura e direito para dados NVT. Isso deve ser bastante autoexplicativo. Estamos apenas salvando a variante aqui e depois estamos lendo aqui. Praticamente tudo o que você precisa saber, enviando-o mais uma vez, também bastante autoexplicativo. Esta é a única coisa que é meio estranha aqui com esse fim. E no 255, isso é apenas algo que é necessário. Não vou entrar em muitos detalhes. São apenas algumas travessuras Java basicamente com o ID. Porque na variante aqui você pode ver que ela é meio que salva dessa maneira. Então, vamos basicamente mantê-lo assim e ficar bem com isso. E vamos dizer, ok, é o que é. É assim que precisa ser feito, mas tudo funciona bem. É praticamente isso. Esses são os diferentes métodos. E agora, claro, o que podemos fazer aqui é que podemos dizer entidade e o T. Lá vai você, certo? Ponto de entidade obtém covariante. E então lá vai você. E então precisamos fazer a mesma coisa no modelo aqui, onde, claro, também temos a textura. Mas podemos literalmente pegar a mesma coisa, esta. E nós só temos que dizer aqui , então o renderizador de guaxinim, Isto é o que queremos levar esse local bivariante, mas obter entidade, obter variância. E é isso. Agora, é claro, ainda precisamos da textura, então não nos esqueçamos de copiar sobre ambas as texturas. Caso contrário, isso seria definitivamente um pouco de supervisão. Então, vamos guaxinim, lá vai você. E então temos guaxinim escuro e o guaxinim vermelho também. Lá vai você. E isso deve ser praticamente tudo o que precisamos. Vamos apenas garantir que tudo isso também esteja escrito corretamente. Raccoon escuro deve estar bem, guaxinins vermelhos também estão bem. Isso deve funcionar. Isso deve funcionar e ser funcional, então isso é muito bom. E isso é realmente o quão fácil é adicionar alguma variância. Agora, mais uma vez, é claro, há muitas coisas pequenas diferentes. Digamos que o mapa aqui não seja muito louco. Isso não deve ser muito louco. Isso não deve ser muito louco. mesmo com a entidade real. A quantidade de métodos não é muito quando você pensa sobre isso, não são muitos métodos. É muito para envolver a cabeça quando você pensa sobre isso. Esses dados, variante de empate de identificação de dados, ok Há um pouco estranho, mas no geral, não deve ser nada muito louco. Você sabe, neste momento, espero que a maioria de vocês tenha conhecimento Java suficiente para você apenas passar por isso e entendê-lo de uma perspectiva Java. E mais uma vez, é claro, como eu disse, as aulas de baunilha oferecem todos os exemplos diferentes. Existem incríveis e realmente bons e você pode trabalhar com eles também. Mas, por enquanto, porque adicionamos tudo, vamos ver se funciona. Ou células de gordura em Minecraft. Então, vamos gerar alguns guaxinins, e lá vai você. Já temos toda a outra variância aqui, gerando alegremente. Aqui, a partir do ovo de desova, você pode vê-lo, tudo funciona perfeitamente bem. E isso é só, isso é simplesmente incrível, não é? Então, neste caso, é claro, a variante realmente é um pouco de uma textura de parede diferente em termos de coloração. Mas quero dizer, isso ainda é muito legal, realmente incrível. E quero dizer, está funcionando muito, muito bem. E quero dizer, é geral, eu acho e espero que você concorde com isso é realmente bastante simples e não muito difícil de fazer. Então isso é muito legal, certo? Como sempre, é claro que todo o código está disponível para você no repositório do GitHub em indivíduos também. Mas, caso contrário , isso seria para esta palestra aqui. Espero que você tenha achado isso útil e aprenda algo novo. E te vejo na próxima palestra. 107. (tópicos adicionais) Adicione entidades de Tameable: Ou eu sou bem-vindo de volta ao curso de tecido para 118. Nesta palestra, vamos adicionar a funcionalidade de capacidade à nossa entidade guaxinim. E para isso, o que vamos fazer é antes de tudo, vamos mudar a superclasse real aqui para uma entidade alcançável e alcançável. Entidade atingível. E então só precisamos copiar isso aqui para o tipo de entidade. E então vamos fazer a mesma coisa com os atributos aqui. E o que vamos fazer então é que vamos adicionar mais uma vez algumas coisas agora vou copiá-las mais uma vez, mas não se preocupe. Tudo isso está disponível para você no repositório do GitHub em indivíduos também. E não devemos ter erros na teoria. Isso incluirá, mais uma vez, em algum trato um dado aqui, esse tipo, desta vez do tipo de booleano. Como você pode ver, um booleano. Este é o booleano sentado. Isso é muito importante porque isso vai salvar se este guaxinim, esta entidade está sentada ou não . Agora já existe uma configuração. Digamos, o que você diria uma variável sentada na entidade da tabela, acredito que isso deveria estar aqui, bem aí você vai. booleana privada. No entanto, isso aqui é que acredito apenas no servidor. que significa que esse tipo de coisa interessante porque isso está apenas no servidor se agora também adicionarmos o seguinte, uma animação para sentar nesta aqui. Então, vamos adicionar isso também. Você pode ver se isso está sentado, então este é meu booleano personalizado aqui, que realmente leva o rastreador de dados sentado. Se isso é antigo, não funciona porque isso aqui, tudo o que o laboratório de gecko faz praticamente é apenas no cliente. As animações acontecerão no cliente. Portanto, a variável sentada tem que ser de alguma forma traçada. É por isso que precisamos adicionar uma variável sentada personalizada. É por isso que este existe aqui. E é por isso que este existe. E isso realmente chama esses conjuntos sentados. Este é realmente chamado de super método aqui que define isso como igual a ele, mas não podemos usá-lo. O método normal está sentado nesse caso, porque isso simplesmente não funciona. Também é uma coisa muito importante. Por favor, note que temos que adicionar a variável are sitting ao rastreador de dados aqui. Isso é incrivelmente importante. Por favor, não se esqueça disso, caso contrário, seu jogo falhará quando você entrar em nosso mundo. Isso é muito importante agora para provavelmente o grande método aqui, e esse é o método móvel Interact. Então podemos ver que temos um conjunto, definir um método is sitting. O placar é necessário para a equipe real. Então, isso é apenas para que a coisa real da equipe central das entidades e, em seguida, possa ser lixiviada. Vamos apenas colocar isso em falso porque tem sido um problema com a gecko live e basicamente colocando a liderança em entidades que não funcionam bem. Seja qual for o caso, eles interagem método mob. O que é isso? Bem, isso é claro que é um código quando você clica com o botão direito em uma multidão. Agora, quando clicamos com o botão direito nessa multidão, o que queremos fazer, é claro, é que queremos alcançar. Possivelmente. O que eu tenho aqui, por exemplo, é o item para domesticar. Acabei de criar um pouco de uma variável aqui. Acabei de definir isso para uma maçã. Então, se você quiser mudar isso, você pode simplesmente mudá-lo aqui. E então podemos ver, bem, se o item é realmente o item para domesticado com o qual estamos clicando com o botão direito do mouse. E é, a entidade real ainda não está domada, então o que faremos desde que estejamos no servidor real. Então isso acontece no servidor. Então o que vamos fazer é basicamente Hey, basta definir o dono para o jogador que é clicado com o botão direito do mouse. Vamos fazer algumas coisas básicas de recálculo. Vamos enviar o status da entidade aqui e, em seguida, definiremos imediatamente para definir o, depois de realmente domar uma entidade, vamos configurá-la para sentar. Interessante. Agora, se ele já estiver domado, estivesse no servidor e a mão principal está certa e clicamos com o botão direito do mouse, então vamos apenas alternar essa configuração. É muito importante que tenhamos essa mão aqui também porque esse é um problema real. Isso é frio para ambas as mãos. Então é por isso que talvez se você não tiver isso, na verdade não vai funcionar. Já vi esse erro ou erro algumas vezes antes. Agora, se fôssemos executar isso assim, teríamos um pouco de problema e é que a entidade real não se senta. Agora, por que esse é o caso? Bem, porque na verdade temos que adicionar mais dois objetivos aqui. E isso será o número um, o objetivo definido com prioridade um, é incrivelmente importante que esse objetivo seja acima de todos os outros objetivos maravilhosos. E eles olham em volta de metas e tudo isso. Porque, como você pode ver, onde é importante que eles se sentem a meta é maior do que o objetivo maravilha. Caso contrário, o que acontecerá é que o guaxinim se sentará e então ele vai se perguntar, e então ele vai se sentar novamente e então vai se perguntar, e isso pode se sentar novamente. É por isso que a prioridade aqui tem que ser, bem, quero dizer menor nesse caso, mas uma direita mais alta? Então, só precisa ser um número menor aqui neste caso. E então o dono do caminhão ataca ou um gol. É que eu nem acho que precisamos disso, porque na verdade não acho que o guaxinim atacaria um ataque alguém que detecta o dono. Mas, na verdade, não tenho certeza disso porque parte disso também foi tirada do lobo. É claro que também podemos dar uma olhada nisso. Basta procurar lobo com entidade. Lá vai você. E então podemos basicamente dar uma olhada em todos os objetivos aqui que você pode ver que é realmente bastante extenso, como muitas coisas diferentes. Principalmente o atacante cairá o objetivo do proprietário. E você pode ver mais uma vez, o objetivo definido está no topo aqui. Prioridade dois, muito, muito importante que este seja o caso. Caso contrário, você pode ter alguns problemas. Portanto, tenha isso em mente. Isso é incrivelmente importante. Agora, além disso, a habilidade é realmente feita assim. É uma entidade tributável e depois tem a possibilidade domá-lo exatamente com a variável sentada aqui também. Agora, a variável sentada, se você tem algo que você realmente não quer que ele fique sentado, totalmente bem, então você não precisa adicionar isso. Você não precisa adicionar o sentado. Você não precisa adicionar isso basicamente só precisa do método de mob de interação. Isso é praticamente tudo o que há para ele. Mas, por enquanto, eu diria, na verdade porque adicionamos tudo por causa da conclusão, vamos ver se funciona ou se o conselho está de volta ao Minecraft. Uma coisa mais importante aqui também é dizer, a propósito, quando você está usando isso em tecido, basicamente, toda vez que você entra no mundo, você tem um jogador diferente, mas é muito importante ou um nome diferente. Portanto, é muito importante que, quando você tem isso, às vezes, seja muito difícil testar isso às vezes. Qual o caso pode ser? Vamos realmente tentar clicar com o botão direito do mouse. E lá vai você, melhores amigos para sempre. Agora, como você pode ver, está sentado direito. Então, geralmente, o que eu faço é apenas envolvê-lo em alguns quarteirões aqui apenas para garantir que ele diga realmente, não diz sentar que é a entidade real. Fique aí, mas parece muito bom, certo? Eu também posso me afastar um pouco. Ele deve ficar lá. E mais uma vez, posso clicar com o botão direito do mouse e agora não está mais sentado. Agora, a animação mudou, e agora ela também deve começar a se mover sozinha ou eu, na verdade, não coloquei em um vazio, segui o objetivo do proprietário, então ele deve fazê-lo sozinho. Lá vai você. Agora ele está ampliando em um Eu posso clicar com o botão direito do mouse novamente e depois está sentado novamente e deve estar funcionando totalmente bem. Mas, na verdade, é assim que é fácil adicionar a habilidade da equipe também. Então isso é muito legal. Você pode ver que é o quão fácil pode ser. E quero dizer, é, você sabe, é muito legal. Quero dizer, isso também é com as animações do cliente, certo? Você pode fazer uma animação sentada personalizada. Você pode fazer todo tipo de coisas. Quero dizer, isso é simplesmente incrível. Isso já é para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E te vejo na próxima palestra. 108. (tópicos adicionais) Adicione entidades de rentável: Tudo bem, bem-vindo de volta ao curso de tecido para 118. Nesta palestra, vamos adicionar uma entidade que seja tabela e gravável. Isso é uma coisa muito interessante porque, claro, é muito semelhante ao cavalo mais uma vez. Mas neste caso, na verdade, queremos uma entidade gravável. E eu diria que, você sabe, algumas coisas que você basicamente precisa ter em mente. E para isso, vamos basicamente fazer tigre. Agora isso é muito legal também. Então, vamos começar e como iríamos sobre isso? Bem, antes de tudo, é claro que iríamos e tornaríamos a classe da entidade tigre aqui. Então eu vou, na verdade, mais uma vez, é claro, como muitas vezes copiando sobre um monte de coisas aqui. Agora, para o tigre real, vou copiar praticamente toda a classe. Agora, importante é que, claro, tudo aqui disponível como sempre no repositório do GitHub em ajuste individual também. Porque isso também é um pouco tão tão leve comigo aqui pois basicamente copio tudo, incluindo as coisas que se estendem. Então vamos ver que você pode ver 270 linhas e então eu acredito que preciso ter um suporte de fechamento lá. Lá vai você. E agora tudo deve estar funcionando aqui, então não devemos ter erros. Agora, a primeira coisa que existe realmente o ID do tipo, na verdade, não precisamos disso, na verdade, isso é muito interessante provavelmente ainda está lá. Mas não se preocupe lá. Temos o resto aqui. Entidade de tabela praticamente sensata. Já vimos isso antes. Atributos que o produto obtém para as diferentes animações devem ser razoavelmente sensatos. Os objetivos aqui registram isso, ou isso é praticamente, você sabe, compreensível. O T-Mobile é um pouco diferente, principalmente o método Interact mob aqui. Então aqui, por exemplo, o item T-Mobile é o termo, é claro, o tigre realmente não faz muito sentido, mas é apenas um exemplo aqui, é claro. Você pode ver que essa coisa toda aqui é um pouco diferente. Então você pode ver que, se um jogador está se esgueirando, então podemos realmente fazê-lo sentar. E se o jogador real não estiver se esgueirando, começamos a escrever. Você pode ver mais tarde começar a escrever isso. Então isso é muito interessante. Então isso é algo para ter em mente também, que há basicamente uma pequena diferença aqui. Quando os esgueiramos, tornamos capaz de sentar a entidade. E então, se apenas clicarmos com o botão direito do mouse, então, se for domado, começaremos a escrevê-lo. E também você pode ver que temos isso aqui. Portanto, temos a possibilidade de realmente tê-lo atribuído aleatoriamente aos proprietários. Então, há o que dizemos, há uma chance de vinte e cinco por cento, creio eu, de realmente ser domesticado aqui neste caso. E então essas entidades, status, isso estaria gerando os corações e isso passaria pequeno e eu não quero ser seu amigo. Basicamente. Partículas diferentes aqui. Mais uma vez, sentar aqui, tanto com a configuração SETT quanto com a variável de detract sentado aqui. Essa também é a mesma palavra que muda a saúde ali mesmo, a equipe real e isso, e depois o init. E então aqui vem a parte rideable. A parte montável, praticamente tudo isso foi tirada da entidade espacial do cavalo, bem como da entidade de cavalos. Isso é praticamente tudo o que há para ele. Posso mais uma vez dizer que você pode ser como, Como você descobriu isso? Como literalmente, acabei de dar uma olhada na potência, entidade base do cavalo, a entidade do cavalo copiada sobre tudo. Copiei o método por método até que ele funcionasse. Isso é praticamente tudo o que há e depois mudou um pouco, acredito no método de viagem, havia algumas coisas com a velocidade de salto, que eu realmente não tenho aqui. Portanto, a entidade tigre que você realmente não pode pular é apenas um exemplo aqui. Mais uma vez, altamente recomendado. Basta conferir a entidade do espaço do cavalo e a entidade horse se você quiser alguma funcionalidade mais basicamente aqui. E então temos apenas dois métodos interessantes, que é o passageiro de atualização para desmontar e os locais salvaram essa posição de montagem, que estão realmente acostumados , Ei, onde o jogador pode agora ir atrás da montagem em disco? Isso é tudo o que há para isso. Então, esses parecem muito complicados, completamente copiados. Não precisamos entrar muito neles porque o nome praticamente já diz o que ele faz e não precisamos entender cada pequeno detalhe no máximo, digamos o máximo, a resolução mais alta possível. Isso não é necessariamente o que você sempre quer ter. É como tudo bem, localize a posição salva, desmantelando, sabe o que isso faz? É como, ok, apenas localiza uma posição no mundo onde podemos gerar o jogador após essa montagem a partir dessa entidade gravável. Isso é tudo o que há para isso. Normalmente, isso deve ser muito bom. E, no geral, como eu disse, você sempre pode dar uma olhada em algumas outras montarias aqui. Então, se eu pressionar Control H aqui, você pode ver uma entidade de cavalos, uma entidade de cavalo, altamente recomendável. Dê uma olhada nisso. Quero dizer, tudo está aqui. Não sei mais o que dizer a você. Basicamente, neste ponto, o material real de baunilha é. É muito prevalente e é uma coisa muito boa basicamente dar uma olhada. Agora vamos adicionar o renderizador e o modelo também. Então, haverá o modelo tigre. É claro que também o renderizador de tigre. Vá. E mais uma vez, as coisas aqui serão copiadas, mas é bastante simples. Tudo considerado, você pode ver apenas um modelo de vídeo animado da entidade tigre e , em seguida, apenas apontando para os três métodos aqui mais uma vez. Na verdade, vamos adicionar isso também. Lá vai você. E então, para o renderizador, quero dizer, isso vai ser ainda mais engraçado. Basicamente. Isso é ainda menor, como você pode ver. É só mais uma vez o contexto aqui, o local real da textura. E isso é praticamente isso. Desta vez, não teremos variantes diferentes aqui. Mas é claro que isso é algo que você pode adicionar também. Usamos visto, como funciona com os guaxinins, então não se preocupe lá. Em seguida, vamos criar um novo tipo de entidade aqui. Mais uma vez, praticamente a mesma coisa que o guaxinim, apenas tigre qualquer nível direcionado aqui. Neste caso, estou realmente tendo uma criatura também, apenas tornando-a um nome diferente aqui, é claro. E então, apenas tendo um pouco de uma dimensão diferente aqui também. E isso é praticamente todos os autores colocam. Agora, isso é quase tudo o que precisamos fazer agora no cliente aqui. Vamos apenas duplicar esse Controle D e depois dizer tigre. E então aqui este será o tigre ou renderizador. Isso seria praticamente o quê? Quero dizer, isso é praticamente tudo o que há para ele. Agora também precisamos adicionar os arquivos JSON. Temos, é claro, o modelo de tigre real também. Então, vai estar bem aqui. Também temos este modelo de tigre, que é claro que está disponível para você mais uma vez com algumas das diferentes animações aqui. Portanto, tudo isso também está disponível para você, incluindo os arquivos JSON. Vamos apenas pegar a animação de tigre aqui. Vá. E então também precisamos da broca, é claro, e depois da textura. Último, mas momento, vamos pegar o geo aqui. Lá vai você. Em seguida, a textura deve estar em entidade e, em seguida, um novo diretório chamado tiger. E então, dentro de lá, vamos adicionar o tigre PNG. Curiosamente, isso é realmente tudo o que há para ele. Agora, é claro, mais uma vez, muita coisa aqui foi copiada. Tudo isso está disponível no repositório do GitHub e, também, geralmente muitas coisas, a maior parte disso é bastante simples, tudo considerado. Eu acho que a maior parte disso é a mesma que o guaxinim com uma capacidade especialmente. E também quando se trata da habilidade certa, como eu disse, aulas de baunilha, essa é a melhor coisa que você pode dar uma olhada. Agora não vamos esquecer de adicionar também os registros aqui. Então, esses serão os atributos aqui. Então isso é bom para o Tiger. E então esta será a entidade tigre. Eles atrás. E isso deve ser praticamente tudo o que precisamos para a entidade tigre. Então, como eu disse, quero dizer, eu não sei quantas vezes tenho que dizer isso, mas o material de baunilha está tudo lá para você olhar. Se for meio difícil de entender. Mais uma vez, você só precisa de um pouco mais de Java e falha, a introdução do trabalho, experimentando algumas coisas e esteja aberto à experimentação. Apenas experimente. Veja até onde você pode chegar sem apenas, você sabe, apenas experimentar coisas. Quero dizer, no final do dia você sempre tem controle Z. Você sempre pode voltar. Se você tiver uma configuração de repositório do GitHub, certifique-se de que você e envie suas alterações com frequência, você sempre pode reverter se algo quebrar completamente, isso também é algo para ter em mente. Mas, por enquanto, isso é realmente tudo o que precisamos. Então, acho que vamos ver se funciona ou onde nos encontramos de volta no Minecraft. Então, havia, é claro, uma coisa que eu realmente esqueci e que está adicionando o desova real, o ovo de desova. Mas não se preocupe, podemos apenas alguns dos tigre como este eles atrás e depois vamos ver, então funciona. As animações também funcionam imediatamente. Vamos ver, clique com o botão direito. Na verdade, tive muita sorte aqui. Agora posso clicar com o botão direito do mouse e eles vão, agora estou escrevendo sobre ele e é muito rápido. Agora, o que é muito importante aqui é que eu realmente não posso subir as escadas como você pode ver, porque o problema é que, eu não posso realmente pular com o Tigre. o que eu disse, onde esta é a forma como ela está configurada no momento. E então se eu simplesmente mudar o turno para a direita ou Kraut, e isso funciona. E então, se eu puder basicamente mudar o botão direito do mouse, então ele não fica mais sentado. E agora ele também deve se mover sobre como ele normalmente funciona. Vamos ver, deixe-me esperar um segundo e provavelmente vai embora, acho que a cauda realmente se mexe um pouco. É muito estranho . Mas lá vai você. Agora ele começa a andar. E eles atrás, há um pouco de estranheza, claro, acontecendo. E como sempre escreva com as entidades. Quero dizer, é apenas sobre refino. A velocidade real aqui com a qual você vai é que ela pode ser um pouco alta demais. Acho que isso é algo que você também pode mudar. Mas, no geral, é muito legal e isso é realmente o quão fácil é adicionar uma entidade gravável ao Minecraft escrevendo apenas para fins de conclusão, vamos também adicionar o outro ECG de spawn aqui, porque isso só faz muito sentido. Lá vai você. O mais importante são as duas cores aqui. Caso contrário, será o ovo de tigre, tigre. E, claro, aqui também, a geração de tigre, por exemplo, de tigre, eles atrás. E então só precisamos do arquivo JSON, mas podemos simplesmente copiar sobre o outro arquivo JSON Porque é claro, como eu disse esta manhã, Jason Hall é como a coisa mais fácil de sempre. Vai ser o alto e nojento Baunach. E podemos realmente manter isso como está. Só precisamos da tradução. A desova de tigre, então aqui também, a desova de tigre. Mas agora temos tudo aqui configurado também. Mas isso vai ser totalmente bom. Mas sim, isso é praticamente tudo o que há para ele. Como eu disse, qualquer modificação, você é livre para fazer qualquer modificação aqui, apenas experimente um monte de coisas. A velocidade de movimento, como você pode ver aqui, é bastante avançada aqui. Então, é quando é domado, na verdade tem uma velocidade de movimento bastante alta. Você também pode dar uma olhada em alguns dos outros objetivos também. Mais uma vez, tudo aqui está disponível para você no repositório do GitHub em cópias individuais, bem como cópias de over, experimente um monte de coisas, veja alguns exemplos de baunilha, e então eu tenho certeza de que esperamos que você chegue à entidade dos seus sonhos. Eu também posso, é claro, sempre recomendar alguns dos repositórios do GitHub de outros modos populares onde você também pode dar uma olhada no código deles e isso também é sempre muito, muito valioso. Normalmente agora, você precisará de um pouco de conhecimento Java, pelo menos intermediário a avançado. Caso contrário, às vezes você não vai passar por isso porque outras pessoas podem ter maneiras diferentes de, digamos, codificar e programar em Java, então você faz isso às vezes você precisará se acostumar com lendo o código de outras pessoas. É diferente de ler o seu próprio definitivamente. Mas quero dizer, seja qual for o caso, é isso para esta palestra aqui. E isso também conclui o tipo de excursão de entidade que fizemos aqui para as palestras. Mas ainda espero que você tenha achado útil e tenha aprendido algo novo. Se você o fizesse, eu agradeceria muito uma revisão sua. Caso contrário, verei você na próxima palestra. 109. (tópicos adicionais) como adicionar a geração de um mundo de entidades: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra vamos olhar para a geração mundial de entidades. O que isso significa? Bem, basicamente queremos adicionar nossas entidades personalizadas à geração mundial para que elas surjam em biomas particulares. Agora isso é incrivelmente fácil de fazer, como genuinamente. Em nosso pacote gen, vamos criar uma nova classe Java com o formulário de entidades mod. Aqui, vamos fazer um vazio estático público chamado adicionar entidades telefone. Quanto mais vou fazer é copiar as duas coisas que precisamos, mas é incrivelmente fácil porque você pode ver muito fácil por modificações que adicionam telefone. Deixe-me apenas mais uma vez, ele precisa alguns seletores de bioma aqui. Neste caso, vamos fazer com que os guaxinins apareçam no bioma das planícies e os tigres para surgir no bioma da selva. Mais alguma coisa aqui? O grupo de spawn só precisa corresponder ao grupo real da entidade aqui, o peso determina com que frequência eles geram. Se você aumentar isso, eles vão aparecer com mais frequência. Mas esteja ciente de que outras multidões geram menos. E o tamanho mínimo do grupo, o tamanho máximo do grupo deve ser bastante autoexplicativo. Agora, onde chamamos isso? Bem, em nosso mundo moderno e Jen, aula de matemática aqui no método de geração de mundo de modo gerado, vamos dizer mais entidades em Add, entidade, spawn. É isso. Terminamos. Isso é literalmente tudo o que precisamos fazer. Agora, as entidades reais serão adicionadas ao jogo nas palmas das mãos. Quero dizer, vamos ver se funciona. Na verdade, fui a um avião por ele para encontrar alguns guaxinins aqui, como você pode ver, porque eles eram um pouco mais fáceis de encontrar como os tigres na selva realmente eram. Bem, quero dizer, muito esparso. Pode ser por causa das grandes árvores e da densidade das árvores onde é difícil para elas desovar. Mas, independentemente disso , vamos dar uma olhada em mais uma coisa no código. Agora, é isso que também é importante ou IDE. Então, mais uma coisa que basicamente queremos adicionar tanto para o guaxinim quanto para o tigre ou para as restrições de desova. Embora eu possa realmente te mostrar isso. Na verdade, vamos adicionar isso ao tigre também. Lá vai você. A ideia geral é por que gostaríamos de adicioná-los? Bem, se realmente dermos uma olhada nessas restrições de resposta aqui, você pode ver que existem alguns locais que basicamente queríamos dizer: Ei, onde esses animais ou essas entidades podem ser gerados. E você pode ver que a maioria deles só pode detectar no chão, o que na verdade é um pouco importante. Então, se você fosse, por exemplo, adicionar um, digamos um zumbi personalizado ao jogo. E você não adicionaria essa restrição de spawn aqui. Ele também pode surgir no ar e, em seguida, simplesmente cair quem é surdo e então seria isso. Então, na verdade, é importante adicionar isso. Você pode ver que isso é, na verdade, o animal é uma geração natural válida. No entanto, também existem diferentes que você veria. Husk chamada entidade, entidade hostil pode surgir e escurecer. Portanto, há algumas coisas aqui são altamente recomendáveis verificar a classe de restrição de spawn aqui mesmo em uma entidade de microfone de rede ou mais algumas informações sobre isso. Mas, caso contrário, isso é praticamente tudo o que você precisa para as entidades surgem aqui. Como eu disse, o peso às vezes é um pouco instável, preciso. Basicamente, dependendo do bioma aqui, você pode querer fazer isso bem alto ou bastante baixo. Basta brincar com os números como sempre. Mas, caso contrário, isso seria para esta palestra aqui. Espero que você tenha achado útil e governantes do novo. Vejo você na próxima palestra. Sim. 110. (tópicos adicionais) Adicione negociações personalizadas aos aldeões: Tudo bem, bem-vindo de volta ao curso de tecido para 118. Nesta palestra, vamos adicionar negócios personalizados aos aldeões. Agora, esta é mais uma vez uma daquelas coisas muito interessantes que é realmente muito mais fácil do que você poderia esperar. Então, por favor, note que não vamos adicionar aldeões personalizados. Esta não é essa palestra. Isso pode acontecer no futuro, entanto, sem promessas no momento, porque isso é definitivamente um pouco mais complicado do que o que vamos fazer agora. Basicamente, vamos adicionar negócios personalizados à aldeia de profissões já existente. E para isso vamos entrar em nosso pacote util, registros modernos e anotá-lo aqui, vamos fazer um vazio privado, um vazio estático. Na verdade, eles usam vazio estático. Este é o método de negociação do cliente registrado. Você realmente ficará surpreso com a facilidade com que esse método inteiro parece. Eu vou mais uma vez, é claro que copiado, mas tudo isso está disponível para você no passado ou para um indivíduo também. E é isso. Essas são duas ofertas comerciais diferentes que são adicionadas. Vamos, na verdade, imediatamente chamar isso aqui antes de esquecermos. E então vamos passar pelo que está acontecendo aqui. Temos este ajudante de oferta direta onde estamos registrando ofertas de aldeão. Você pode ver as ofertas do aldeão de registro. E então você pode ver com uma profissão selecionada. Então você pode ver que esses são os profissionais que você tem apenas em baunilha. E vamos escolher o fazendeiro aqui. Você escolhe o nível em que as coisas específicas que você está prestes a adicionar basicamente devem ser apenas uma lâmina. Então, este é o nível um. Então, o agricultor normal no nível um tem essa atitude. Você pode ver que há uma fábrica e então você tem esses suportes encaracolados aqui. Você pode adicionar vários trade-offs ou sérios, você pode ver, eu também posso adicionar outra pessoa como sementes de nabo. De repente, você sabe, talvez aqueles para seis ou 24 ou algo assim. E você pode adicionar vários para o mesmo nível. Se você quiser outro nível, você só precisa adicionar este livro inteiro novamente. Mas, no geral, isso deve ser bastante autoexplicativo. A primeira pilha de itens aqui é exatamente o que você precisa pagar. Então você não precisa necessariamente colocar esmeraldas, você poderia colocar qualquer outra coisa. O segundo aqui é basicamente o que você ganha com isso. Eu acredito no trade off ou você também pode adicionar, se você adicionar três itens diferentes textos aqui você pode ver, então você realmente tem dois itens que você precisa pagar com que também funciona. É claro que isso é algo que é implementado, por exemplo, na canalização de coisas onde você dá em um tipo, por exemplo, e então eu não sei, como 60 milhas ou estou pronto para esmeraldas e então você ganha uma espada encantada. Isso também funciona. Assim, você pode adicionar uma terceira pilha de itens e isso também funcionaria. Os próximos usos são quantas vezes você pode usar isso basicamente factível, a experiência do comerciante deve ser bastante autoexplicativa. É a quantidade de experiência que o comerciante recebe quando você realmente negocia essa oferta. Ou alguns exemplos que acredito que você pode dar uma olhada, sim, Você pode dar uma olhada nas ofertas reais aqui. Então, a experiência aqui, vamos ver. Então esta é a verdadeira fábrica de guisados suspeitos. Isso é algo diferente. Vamos ver, talvez possamos encontrar outra pessoa aqui. Não tenho 100% de certeza de onde estão as ofertas comerciais normais reais, sejam elas ou não, elas são outras nesta criação aqui, essa experiência. Vamos ver. Lá vai você, ok, lá estão eles. Ele pode ver que há uma parte da experiência. Lá vai você. Na verdade, eles estão na classe de ofertas comerciais este ano. E eles realmente usam isso por um para esmeralda. E você pode ver aqui a experiência para dois. Então, essa é, na verdade, uma experiência bastante baixa. River tem uma experiência, cinco experientes e a experiência com 6120 pode ser realmente um pouco alta demais, mas você pode simplesmente brincar com isso, é claro, também. O multiplicador de preços é apenas a multiplicação do preço. E isso é praticamente tudo o que há para o imposto de itens normais aqui você pode fornecer a contagem e isso praticamente tudo o que há para ela. Aqui temos um para o mito das ferramentas, onde são seis esmeraldas para o oráculo vêm Paxil. No nível três. Isso é literalmente tudo o que há dois são altamente recomendáveis apenas brincar com isso, como sempre estar aberto à experimentação. Dê uma olhada em ambas as ofertas comerciais nas classes de ofertas comerciais para ver alguns exemplos de baunilha. E para o bem de conclusão, vamos ver se funciona. Ou influenciadores de volta ao Minecraft e eu já preparamos algumas cabines comerciais de aldeões, digamos que não, mas aqui você pode ver o fazendeiro já tem os nabos aqui, para que possamos apenas negociar com ele. E você pode ver, lá vai você. Isso é muito legal. E então aqui Vamos apenas trocar algumas ferramentas aqui. E também vamos pegar alguns dois pontos lá. E vamos ver que podemos negociar com ele até que ele atinja um nível três. Basicamente, eles vão pegar alguns sinos aqui, pegam um pouco deste. Talvez um pouco de ferro também. Nivele-os também. Vá um pouco disso, pegue um pouco mais disso. Isso é um pouco mais de carvão e então devemos ser capazes de levá-los ao nível três. Aí está, lá o solo compacto oracle está, bem, lá vai você. Isso é muito legal, realmente incrível. E bem, isso é realmente o quão fácil é, como você pode ver também. Bem, basicamente adicione algumas características personalizadas aos aldeões. Isso já foi para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E te vejo na próxima palestra. 111. (1.18.2) Atualização de tecido para 1.18.2: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra vamos atualizar nosso MOD ou um projeto para 118 para fazer isso. Ou, claro, precisaremos alterar as coisas no arquivo de propriedades Gradle. Na verdade, não vamos verificar este site em particular. O que vamos verificar é, na verdade, o site de desenvolvimento da rede de malha porque isso também tem as coisas mais recentes aqui. Basta copiar isso e basicamente colá-lo aqui. E então vou fazer com que tudo esteja formatado corretamente. Mas não se preocupe lá. Eles atrás. Então, vamos mudar tudo isso. E depois mais uma coisa que queremos mudar, é claro, antes de tudo, acertar a versão mod. Vamos apresentar alguns termos como 19 ou talvez até todos Vamos fazer 21. Sim, isso é incrível. Em seguida, também no arquivo construído ou Gradle, queremos alterar a versão Looom de dez para 11. E depois de ter mudado isso, o que podemos fazer é carregar as alterações do Gradle. Agora isso deve ser praticamente tudo o que precisamos. Apenas deixe isso passar como sempre, seja paciente até que isso seja feito. E lá vamos nós, 22 segundos. Pode demorar um pouco mais para você, dependendo da sua conexão com a internet e coisas assim. O que também queremos fazer apenas no caso é atualizado para a versão mais recente aqui para gecko lip. Então, isso é aqui, 035 apenas por precaução, porque mesmo que as outras versões funcionem , eu me sinto um pouco melhor se tivermos a versão mais recente também. Mas você pode realmente fazer isso antes de recarregar as alterações e, em seguida, você pode recarregar todas elas ao mesmo tempo. Então, vamos deixar isso passar novamente. E então lá vai você. Na verdade, apenas sete segundos. Isso é ainda melhor, mas isso deve ser praticamente tudo o que precisamos fazer aqui. Agora, no entanto, vamos nos deparar com alguns problemas. Ou seja, o que mudou foi a geração mundial e as tags. Então, se entrarmos na classe fiscal de argamassa, você pode ver todos os tipos de vermelho, mas não se preocupe, vamos consertar isso. Então, o que mudou é que não temos mais o TAC identificado. Isso agora é chamado de tecla Tab. Então eu vou colocar em brega e vamos pressionar Alt e Enter para alterá-lo. E o que nós basicamente queremos fazer é mudar toda a etiqueta identificada para essa aderência que ele, então o que eu vou fazer é eu vou eleger a imprensa Control R, e então vamos substituir todas elas por chaves TAC. Vamos também nos livrar das importações aqui , porque não precisamos mais delas. Porque isso aqui agora será, na verdade, tag E ponto o f. E então precisamos passar no primeiro parâmetro, a chave de sublinhado do bloco de dados do registro. E temos que fazer isso para esta corrida aqui também. Vamos fazer a mesma coisa. E então aqui embaixo vamos apenas copiá-lo para o momento. E então vamos mudar isso para, é claro que seja. E então vamos mudar isso para a chave do item. Eles atrás, o mesmo aqui, mantenha o item. E então devemos ficar bem. Isso deve ser praticamente tudo o que precisamos fazer aqui. Agora, é claro, também precisamos mudar isso na classe de item de haste de dowsing personalizado aqui. Então, há algumas maneiras de fazer isso. Há uma, há uma maneira que é muito complicada e só exige que mudemos isso. E então há uma maneira um pouco mais complicada de que realmente usamos o estado de bloco aqui. E eu vou fazer o modo do estado do bloco porque acho que isso é melhor. Então, podemos simplesmente dizer que o ponto de bloco está dentro e, em seguida, mod ataca blocos pontos que dowsing rod ou blocos detectáveis. Claro, o problema aqui é que estamos realmente passando o bloco real e o estado do bloco, o que, claro, não está certo. Então o que precisamos fazer é, vamos fazer, é duplicar isso pressionando Control D. E este agora vai ser o estado abaixo. E vamos mudar isso de um bloco, o estado do bloco. E então, simplesmente não chamando o bloco get aqui. Você pode ver agora que temos o estado, agora podemos fazer é em vez de esfriar tudo isso, podemos usar o estado para obter os blocos. Então podemos dizer que podemos dizer que o estado abaixo é bloqueado por obter o bloco. E então aqui temos o estado abaixo e depois passamos para o estado do bloco em vez de apenas o bloco. Isso é praticamente tudo isso que precisamos mudar aqui. E isso agora ainda detectará todas as coisas para as tags. O item Paxil deve funcionar. Na verdade, não precisamos fazer nada aqui porque na verdade está esperando uma chave de tag. Como você pode ver lá você vai. Também é muito importante porque acabei de ver como fontes. O que vamos fazer é voltar para o terminal, colocar na barra de pontos, Gradle w, fontes Jen e deixar isso passar também. Pode levar um minuto ou dois para gerar essas fontes. Mais uma vez, dependendo do seu PC e também dependendo da conexão com a Internet. Ou apenas seja paciente e espere até obter uma construção bem-sucedida aqui. Lá você vai exatamente um minuto. E agora devemos ser capazes de fazer é quando obtemos a linha azul aqui, podemos escolher fontes e escolher a fonte de nome mesclado aqui, diga Ok. E depois que isso for recarregado, agora deve nos mostrar a classe adequada com as fontes adequadas lá. Mas isso também é uma coisa que devemos fazer. E agora o verdadeiro doozy será a geração mundial porque isso mudou significativamente. Bem, o que mudou é realmente a sintaxe? O que vamos fazer é entrar na classe de recursos configurados de modo e você pode ver muito vermelho aqui. Claro, todas as alterações, todas as coisas estão disponíveis para você no repositório do GitHub, no indivíduo, uh, também. Eu recomendo verificar isso porque há muitas coisas que mudaram. E vamos analisar o básico de como posso basicamente mudar isso. Então, antes de tudo, agora temos uma entrada de registro aqui , em vez de apenas um recurso configurado. E o que vamos fazer é que isso agora será em vez de chamar o configurado aqui neste recurso de árvore, o que fazemos é excluir o configurado e o ponto, substitua-o por uma vírgula e, em seguida, exclua os parênteses aqui. Em seguida, em vez de usar o método de registro, usaremos o método a seguir. Vamos usar os recursos configurados. Este em recursos configurados que registram o método. Livre-se de tudo isso e agora tudo ainda está funcionando. Então, como você viu, temos que mudar isso para a entrada do registro no ponto trich de ponto do recurso configurado apenas para a árvore de recursos. E então basicamente passando o resto da mesma forma que normalmente. Agora, em vez de ir do recurso configurado para configurar o recurso para colocar o recurso, agora, na verdade, temos que colocar um recurso de lugar no meio. Agora, o que vou fazer é copiar o recurso de lugar e o recurso configurado. Agora vou fazer isso e manter as coisas já existentes aqui. Você pode ver que isso é muito parecido com o que já ouvimos, metade. Então você pode ver que esse é o conflito futuro aleatório. Isso é a mesma coisa. E então aqui estão os bosques sobrevividos. Agora é apenas o cheque real aqui. Então, a floresta sobrevive agora acontece neste recurso de lugar aqui. E você pode ver que o resto é praticamente o mesmo. É um pouco diferente, mas no geral não é tão louco. Eu recomendo mais uma vez, assim como na geração normal do mundo, palestras que fizemos, basta conferir, por exemplo, o seletor aleatório ou o breve recurso aqui, meio clique no botão do mouse neste minimalista, clique aqui. E você pode basicamente ver todas as coisas que eles estão fazendo. Você pode ver que o pântano é antigo, por exemplo. Você pode ver o recurso de lugar do pântano, OK, e assim por diante e assim por diante. Assim como passamos nas palestras originais da geração mundial. Eu recomendo fazer isso. Quando se trata da rosa rosa, vou fazer a mesma coisa. Então, vou apenas copiar isso e ver que estamos usando o recurso Configurar, esse método de registro de vez em quando novamente, passando a flor aqui, o conflito de recurso de patch aleatório é bastante a mesma coisa porque estamos usando a mesma coisa aqui embaixo. O que realmente podemos fazer é excluir esses dois métodos porque não vamos mais usá-los. E veja que estamos usando o método de registro de recursos configurado e o patch de criação aqui. Vamos fazer isso na fila, então isso vai ficar bem também. Então a lista real aqui das auras pode permanecer a mesma. E então este é o mais fácil de mudar. O que fazemos é mais uma vez, livrar-se do configurado aqui e do parêntese de fechamento e abertura. Queremos mudar isso para uma entrada de registro aqui, eles atrás e, em seguida, este é realmente de recursos configurados que registram eles atrás. E agora há mais uma coisa que precisamos fazer e que é pegar esse ou conflito futuro e mudar o primeiro ponto de interrogação para esse ou conflito de recursos. Agora esta aula realmente fez os problemas que vamos resolver em apenas um momento. Esses são, naturalmente, problemas com recursos substituídos e coisas assim e também com a árvore. Então, se entrarmos no gerador de mudas e C, isso também não é mais uma retórica válida aqui é apenas para excluir o método real, passar o mouse sobre este Implement Methods, então tudo aqui está escrito corretamente. E então podemos apenas dizer recursos configurados mod que a árvore de cerejeira. Lá vai você. E então imediatamente deve funcionar. Não são necessárias mais modificações. Vamos passar para o MOD ou recursos. Agora, você vê muito vermelho aqui. Isso é só porque a classe real se moveu. Então, o que queremos fazer é importá-los novamente. Então clique neles Alt e Enter para importar isso. Você pode ver lá você vai no modificador de posicionamento, meu pai também. Lá vai você. Isso deve ser praticamente tudo o que precisamos fazer aqui. Agora o resto está nos recursos do mercado. Então, a primeira coisa que é muito legal é que não precisamos mais das chaves do registro. Então, isso vai ser só tirar isso daqui. Também não precisamos mais desses métodos. Podemos fazer é que vamos usar o método de registro de dados de recurso colocado que realmente já usamos aqui, por favor, registre pontos, então vou copiar isso para o novo lista, aqui, bem aqui, e aqui mesmo, e depois aqui. Mais uma vez, não queremos chamar o posicionamento no real, no recurso configurado real. O que queremos fazer é passar os recursos configurados. Então isso deve ser uma vírgula e então esse deve ser o desova. E então vamos nos livrar disso e disso, e isso não é um recurso de lugar sobre uma entrada de registro, mais uma vez, de um recurso de lugar e, em seguida, ele deve funcionar totalmente bem. Então você pode ver que eles estão funcionando totalmente bem. Vamos apenas adicionar a entrada do registro aqui para ambos também. E então, mais uma vez, alterá-lo para liderar o posicionamento da largura e o ponto também. Lá vai você. Precisamos importá-los. Eles acabaram de mudar. Lá vai você. Já está trabalhando. E então o mesmo aqui com o posicionamento será excluído, substituído por uma vírgula aqui. E então isso também vai ser reimportá-lo. E então todas as outras entradas que não são mais válidas, vamos nos livrar. E eles atrás, isso é literalmente em, isso é praticamente todas as coisas que precisamos fazer. É quase muito louco, mas não é muito quando você realmente pensa nisso. Como olhar para tudo o que aqui está, é bastante simples. Todas as coisas consideradas. Mais algumas coisas na geração, mas isso também é bastante trivial. Então, é apenas a forma como você escreve basicamente que mudou a funcionalidade subjacente permanece praticamente a mesma nas classes de geração que colocamos na chave aqui. O que podemos fazer agora é que podemos apenas tomar a geração de flores. Então, queremos este, ponto, ponto, ponto, e então é isso. Então, só queremos substituir isso pelo ponto, obter todas as coisas diferentes aqui. Então este vai ser o ponto de reclamações da Oracle, ponto get. E então o mesmo com uma árvore aqui. Esta é a flor de cerejeira colocada, mas pegue ky.gov. E é isso que deve praticamente tudo o que precisamos mudar. Isso pode ser como algumas outras coisas em algum lugar. Mas acredito que é isso. O que é realmente engraçado também é que as tags e o mundo são como as grandes coisas que mudam também mudariam por qualquer motivo que seja o real. Enquanto no util na tela de título, não sei por quê, mas a tela de título não funciona mais corretamente. Na verdade, eu estou, quero dizer, eu não diria furioso, mas estou um pouco zangado com isso porque eu tinha esse tipo de classe quase completamente personalizada que eu tirei um pouco de forragem e refiz um pouco e, em seguida, funcionou totalmente bem. E agora, por qualquer motivo, eles mudaram para mudar a tela de título novamente, e eu não sei por quê, mas é o que é. Às vezes, essas coisas acontecem. Nós só temos que lidar com isso e você vai ver mais. Quero dizer, em apenas um momento em que realmente fazemos isso, deixe-me realmente verificar o conflito. E nós desligamos isso. Sim, nós desativamos isso, então vamos apenas ativar isso para que possamos realmente ver qual é a diferença para a tela de título. Você vai ver que atualmente não funciona realmente. Portanto, essa também é uma das outras razões pelas quais algo como um conflito para a tela de título realmente é importante. Vamos realmente começar isso e ver se estamos recebendo algum erro. Não tenho 100% de certeza de que não devemos obter nada. Pode ser como uma ou duas coisas que talvez fossem uma importação estão faltando, mas parece, meio que parece bom no momento. Então, vamos ver, deixe-o passar por isso, é claro, nossa seta normal que sempre obtemos quando começamos o Minecraft. E acredito que deve estar tudo bem. Começando no outro monitor. Vamos apenas trazê-lo aqui. E então nós também, você pode ver que o problema aqui, é claro, é que não há nenhum título de splash aqui e, em seguida, que também no canto inferior esquerdo, a versão real e outras coisas também estão ausente. Não sei por que esse é o caso. Eles mudaram de alguma forma no back-end em seu código. Mas seja qual for o caso, é 1, 1000th 2. E o que podemos fazer é simplesmente criar um novo mundo e vamos criar um novo mundo e vamos realmente, tudo ainda estar funcionando totalmente bem. Então isso vai das entidades até as entidades de bloco, até a não desova de árvores e tudo no meio ainda deve funcionar totalmente bem. Então isso é muito legal e vamos conferir. O spawn praticamente fazendo exatamente. Quero dizer, isso é ótimo. Esse também é um local muito interessante aqui. Mas sim, as árvores ainda estão de luto, as flores reais ainda estão desovando também. Isso vai ser muito legal. E vamos dar uma olhada em todas as coisas do nosso curso aqui. Então, vamos acabar com isso e ver o tigre ainda funcionando como os guaxinins ainda funcionam com variância também. Então, tudo ainda está completamente bem. E, na verdade, também vamos testar os registros de dowsing. Isso foi algo que mudou. E vamos ver quando encontrarmos algo que eles encontraram minério de ferro, então tudo completamente bem, ainda funcionando. Não se preocupe lá. Sim, isso é praticamente o quão fácil é atualizar a partir da década de 1820. Há algumas coisas que você tem que ter em mente, mas no geral não é tão ruim, certo? Então, obviamente, todos os tópicos adicionais que virão depois disso serão para 182, altamente recomendável, é claro que agora atualize para isso, você provavelmente deve passar neste momento. E então podemos continuar com alguns tópicos adicionais em 118 para, mas isso seria para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E te vejo na próxima palestra. 112. (1.18.2) Estruturas personalizadas (REpo de exemplo de tutorial): Ou eu dou as boas-vindas de volta ao cavalo de tecido para 118. Nesta palestra, vamos adicionar estruturas personalizadas ao Minecraft. Agora, a maneira como isso vai funcionar é essa palestra e as duas palestras a seguir serão sobre estruturas. Agora, nesta primeira palestra, recomendo vivamente que você continue comigo através desta palestra porque depois de basicamente implementarmos estruturas uma vez, adicionar mais estruturas a ela é incrivelmente fácil. Você só precisa copiar alguns arquivos JSON e basicamente construir sua estrutura, salvá-la e, em seguida, é isso. É muito, muito direto. Mas essa palestra, como você provavelmente poderá contar, é bastante longa. E a razão para isso é porque vamos passar por esse repositório aqui. Este é o repositório de mod tutorial estruturado por um grunhido telepático. É provavelmente o recurso número um para estruturas personalizadas. É incrivelmente ótimo , é muito bom. Ele tem muitos comentários diferentes em cada arquivo. E é só que isso torna isso muito, muito simples. Agora 1, 1000th 2 realmente introduz uma maneira de criar estruturas que literalmente não requerem nenhum código. Agora isso é realmente incrível, mas também veremos uma estrutura específica que realmente existirá com código. E nós vamos basicamente passar por isso. Então, vou explicar como eu percorro esse repositório em particular. Vamos passar por isso na íntegra. Vamos implementar ambas as estruturas que são basicamente dadas a nós aqui. E da maneira como passamos por isso à medida que entramos na pasta de origem aqui, vamos abrir o código e os recursos separadamente. Então, antes de tudo, queremos basicamente olhar para todas as diferentes classes que temos. Veremos que há um misto na aula, há uma classe de estrutura, havia as estruturas de St e a classe principal. Então, temos quatro classes diferentes. E você pode ver, no geral, eles são bastante longos, mas você pode ver também que há muitos comentários diferentes aqui. Recomendo em seu próprio tempo. Percorra os comentários, veja o que cada parte significa, porque algumas coisas são muito diretas, outras não são tão diretas. Eu só recomendo isso. Então você pode ver em geral o nasdaq louco quando você pensa sobre isso. Mas, basicamente, é aqui que começamos. Então, estamos começando com o código. Primeiro de tudo, este será o acessório do recurso de estrutura. Vou copiar isso e vamos começar imediatamente aqui no pacote de mixagem. Agora, você também pode obter todo o código e os arquivos JSON no repositório do GitHub do curso e os riscos também. Mas eu recomendo passar por isso uma vez, basicamente trabalhando com o código tutorial real de grunhidos telepáticos, repositório do GitHub tutorial Eu recomendo altamente ou seja qual for o caso pode estar no pacote misto e, vamos fazer um recurso de estrutura V excesso ou com terça atrás. E devemos ser capazes de colar isso e, em seguida, importar todas as coisas importantes aqui. A etapa de geração também. Lá vai você. E isso deve ser que agora, é claro, indo para o curso MC mixin Jason e adicionando isso como um misto aqui também. Isso deve ser praticamente o que precisamos fazer aqui. E então vamos voltar para o tutorial GitHub aqui nós vamos, vamos fechar a guia e depois vamos passar para o próximo. Estas serão as estruturas do céu. Vou copiar tudo incluindo as importações aqui. E isso vai para o pacote mundial, em um novo pacote chamado rupturas. E então, em vez de lá, vamos fazer uma nova classe chamada módulo. Estas são as estruturas do céu. Lá vai você. E então vamos colar isso em movimento. Precisamos mudá-lo este ano para MC core smart, um madeireiro, e então esta não é uma casa degradada, mas esta é a fratura do céu. E então, aqui em cima, só precisamos mudar é este. E então não há mais erros aqui. Então, tudo deve estar funcionando. No geral, como você pode ver, embora pareça muito, eles são, na verdade, apenas uma esfera comum diferente. E tudo é basicamente explicado nesses comentários que eu recomendo vivamente, como eu disse, passar por isso no seu próprio tempo. Você pode ver, por exemplo, este aqui determina a posição Y. Isso é colocado coisas assim. Eu recomendo olhar para isso e apenas garantir que você entenda um pouco disso. Você não precisa entender tudo aqui, especialmente se você quiser, digamos, uma estrutura normal para gerar, então isso vai ficar totalmente bem. Se você quer algo mais extenso como um reduto personalizado. Quero dizer, nesse ponto vai ser muito, muito difícil realmente fazer isso. Isso vai exigir muito mais trabalho. Isso é muito só para alguns, digamos básico para estruturas intermediárias. Agora temos a classe de estruturas desses caras. Então, vamos fechar isso também. E então podemos ver que precisamos ter esta st estruturas aqui. Agora vou renomear isso para estruturas mod porque essa é a nomenclatura que eu vou com. E vamos apenas ir com estruturas modais. Lá vai você. E eu só vou colar isso, mudar isso de volta para rupturas mod e você não deveria que realmente escrevamos isso corretamente. Lá vai você. Importando o recurso de estrutura aqui, acessório futuro retrô. Este vai ser o curso de MSC mod esse modelo ID. Então este é o passo de geração mais uma vez como eles atrás. E então você pode ver mais uma vez que é tudo o que há para ele. Agora só precisamos chamar esse método aqui mesmo em nosso curso MC, mais classe e o construtor aqui. Portanto, as estruturas modais não registram recursos de uma estrutura e é isso. E depois há também a última coisa aqui. Você pode ver, lá vai você, Nicole, isso, e isso é feito e feito. Agora, todo o código, na verdade, já foi criado. E agora o resto acontece na pasta Recursos e, nomeadamente, na pasta de dados. Aqui, há muitas coisas aqui. Vamos descobrir, na verdade é apenas um monte de coisas que você pode ver, em primeiro lugar, uma tag. Vou explicar isso em apenas um momento. E então temos a pasta de dados para este tutorial aqui você pode ver que temos estruturas, temos mais algumas tags e, em seguida, também o mundo novamente. Essa tag é, na verdade algo que vamos ignorar um pouco. Mas este é o dos mapas do explorador do oceano. Isso é algo que você pode adicionar. Você pode ver que o micróbio tem algumas tags de recursos de estrutura configuradas que podem adicionar determinado comportamento. E neste caso, você pode realmente adicionar a estrutura aos cartógrafos, aldeões, mapa do oceano, mapas de monumentos. E basicamente isso é o que essa tag em particular faz. Você não precisa adicionar isso. Não vou adicioná-lo. Isso é apenas adicionar um recurso extra que pode ser muito legal. Então isso é algo que basicamente também podemos ignorar. Também vamos fechar isso e agora só temos a pasta de dados para o tutorial de estrutura. É claro que esse é o ID do modelo. Então, para nós, esta seria a pasta do curso MC de dados. E você pode ver que existem algumas pastas aqui. Então, vamos abrir os dois primeiros porque este vai ser mais extenso. Então as estruturas se dobram, só tem os dados NVT para as estruturas extras. Então, a ideia é que você construa estruturas no mundo e, em seguida, você pode usar certos blocos. Esses são chamados de bloco estrutural para salvar esse edifício específico em dados NVT. E vamos ver como fazer isso realmente nesta palestra também, porque precisamos mudar algumas dessas coisas nesses arquivos NVT também. E então também veremos isso na próxima palestra e na palestra depois disso com uma única estrutura personalizada. E também veremos as estruturas de quebra-cabeças também na última palestra deste tipo de três séries de palestras para estruturas. Mas, por enquanto, vamos pegar essas estruturas que eu recomendo, mais uma vez, passando por esse tutorial, não mude muito. Certifique-se de que tudo isso funcione. Se você fez tudo isso e tudo aqui funciona, você obtém a casa degradada, você tem o fã do céu. Adicionar uma nova estrutura é uma coisa de cinco minutos no máximo. É muito, muito direto. E então, claro, você ainda tinha que construí-lo. Mas o código real ou os arquivos JSON que o alteram é muito simples. Então faça com que isso funcione uma vez com um tutorial mod estruturado. Então você pode adicionar suas próprias estruturas realmente altamente recomendadas. É apenas a melhor maneira de fazer isso. Basicamente, queremos baixar tudo isso em arquivos VT. Agora, eu já fiz então o que você pode fazer é abrir e baixar aqui e eles se foram. Então você tem esse arquivo NVT. Você pode ver, na verdade, quatro que já baixei algumas vezes. Então você pode ver que está praticamente lá. Então, basta baixar todos os quatro e você também pode obtê-los no repositório do GitHub também que eu tenho. O que vamos fazer é entrar no curso MC da pasta de dados, e vamos criar um novo diretório chamado estruturas. E então, dentro de lá, vamos precisar dos seguintes arquivos NVT. Todos os quatro. Lá vai você. Então, vamos precisar da casa degradada, esquerda, lado direito, lado direito, Golden e os fãs do céu. Então aqueles quatro que precisamos nessas estruturas pasta, pasta dados no ID do modelo aqui. E isso seria bom. Então, depois de termos feito isso, podemos fechar isso também. E então você pode ver que temos as tags aqui. Então, isso estará sob seus dados por mais uma vez, tags que os biomas belgas possuem estrutura. Essas tags são muito interessantes porque elas realmente determinarão em quais biomas sua estrutura personalizada pode gerar. Muito simples entender o que isso faz e o que vamos fazer é abrir os dois. E eu vou primeiro criar a estrutura real aqui. Então, nas tags mais antigas à direita, sob o ID do seu modelo, vamos criar um novo diretório chamado World Jen. E então, dentro de lá, queremos criar um novo diretório chamado bioma. E então, dentro de lá, vamos fazer um novo diretório chamado tem estrutura de sublinhado, certificando-se de que escrevemos isso corretamente. E então, dentro daqui, precisamos de dois novos arquivos. Então, eu vou fazer, na verdade é porque esses são nomes muito longos. Na verdade, vou copiar esse nome aqui. E vou clicar com o botão direito do mouse em novo arquivo, colar esse nome. Lá vai você. E então eu vou voltar, colar o conteúdo deste ponto aqui novamente, e vamos dar uma olhada nisso em um momento. Na verdade, também vamos criar o outro arquivo também. Então, este é o único biomas domésticos adjacentes. Então esta única casa do G Jason que vamos gerar uma estrutura que fizemos, a estrutura do céu para a qual criamos o código, e a casa vai gerar completamente apenas com arquivos JSON é realmente incrível. E eu estou, na verdade, estou muito surpreso com o quão fácil é quando você começa a ver, especialmente nas próximas palestras, depois de passarmos por isso, uma vez, você está vai ver como é fácil adicionar várias novas estruturas, é realmente simples uma vez você passa por isso, uma vez, eu não posso recomendar isso o suficiente, enquanto é um pouco de tempo para configurá-lo para cima e passar e explicar tudo. Vai valer muito, muito a pena, certo? Então, temos os biomas do céu. Biomas para o fã do céu, você pode ver montanhas é oceano e oceanos profundos. Você pode ver que essas são tags como você pode ver. E então também adicionamos isso ao pântano ou à única casa que você pode ver, estamos adicionando a todas as coisas que é um tigre, selva, floresta e, em seguida, também desertos, planícies e outros biomas também. Então aqui você pode usar os biomas. Em especificar em uma palavra um biomas, sua estrutura personalizada será gerada. Então, isso é muito legal. Então podemos fechar isso, vamos fechar tudo isso. Lá vai você. E então podemos prosseguir mais uma vez. Podemos fechar isso, fechar isso e fechar isso. E agora estamos de volta aqui que fizemos as estruturas e fizemos a tag tem estruturas e agora indo para o mundo. E então eu posso realmente abrir isso nesta guia e você pode ver há mais quatro diretórios diferentes aqui. E podemos basicamente abrir ou quatro deles. E você vai ver, vamos abrir os três primeiros porque isso vai ser especial. E você pode ver que o primeiro só tem mais uma vez para arquivos JSON nele. Estes são recursos de estrutura reconfigurados. Então o que vou fazer é copiar o nome aqui só para não perder o tipo de nada. E isso vale, e isso é incrivelmente importante. Por favor, note aqui. Agora isso vai para a pasta world gen, não nesta pasta world gen. Em seu curso MC de dados ou em sua foto MOD ID, você precisa criar uma nova pasta world gen. Olhe para isso. Olhe. Esta pasta world gen é diferente desta. Isso aqui é em vez da pasta de impostos, você pode ver, lá vai você. Se eu abrir isso, você pode ver que essas são pastas diferentes. Isso é incrivelmente importante. Por favor, não cometa o erro de colocar tudo em sua pasta de impostos. Então, por favor, esteja ciente disso. Esta é uma pasta diferente. Vou manter isso aberto e você pode ver núcleos MC, Jen rural, você vai lá, tudo entra e nós vamos ter um novo diretório aqui, que será chamado de configurado recurso sublinhado estrutura sublinhado. Na verdade, vamos criar o resto dos outros também. A outra é a lista de sublinhados do processador. E então vamos arrastar isso para a mesma pasta segurando o controle para duplicar isso. E este é o conjunto de sublinhados da estrutura. E então o último será o pool de sublinhado do modelo. Lá vai você. Esses são os quatro diretórios ou pastas diferentes que precisamos nos mundos e seguimos mais uma vez, certificando-se de que isso está na pasta correta, mundo de núcleos MC de dados. Jen, este não é o mundo das tags e cheio de muito, muito importante que você tenha essa ordem interna correta, certo? Depois de se certificar de que esta é a pasta correta, você vai aqui e vamos abrir esses dois raios e arquivos. Então, mais uma vez, vou copiar o nome aqui primeiro consistir apenas torna um pouco mais fácil para mim, para que eu não tenha que digitar isso. Então, o que vamos clicar com o botão direito do mouse em novo arquivo, é claro que eles atrás, e então vamos obter o conteúdo aqui. Então, vamos apenas copiar isso . Lá vai você. E então vamos entrar aqui. Aí está ele. Vamos mudar essas coisas em apenas um momento. Na verdade, vamos criar o outro arquivo adjacente, bem como a única casa adjacente mais uma vez. E vamos clicar com o botão direito do mouse novo arquivo, colar apenas casa. E depois vamos, e depois vamos aqui. Lá vai você. Mais uma vez, o conteúdo do qual ele sobre N, lá o temos. Mas antes de tudo, você pode ignorar as setas aqui para os comentários reais. Isso vai ficar bem, então não se preocupe lá. E agora você pode ver que esse arquivo JSON específico é basicamente o recurso de estrutura ou o recurso que vamos adicionar, a configuração dele. O que isso significa? Bem, antes de tudo, você pode ver que isso realmente volta e aponta para sua tag que criamos aqui. Então você pode ver que essa é a estrutura. Tem estrutura, sim. E então a estrutura de código sky fã de biomas, que é exatamente esse Jason of Alright, aqui precisamos mudar esse ID do modelo para o nosso modelo. Muito importante. Também queremos alterá-lo esse ID inteligente para o nosso ID mod. E só para ter certeza absoluta de que tudo funciona, queremos também alterar esse ID do modelo. Então, em todos os lugares onde diz a modalidade tutorial de estrutura, basicamente queremos mudar para o nosso ID do modelo. Agora isso deve ser bastante autoexplicativo. Como eu disse, isso aponta para esse firewall JSON em particular aqui, a tag do bioma, que é basicamente responsável por dizer, ok, esse recurso de estrutura em particular ou esse particular estrutura só pode ser gerada nos biomas que estão dentro desta tag deve ser bastante autoexplicativa. Nada de loucura acontecendo bem ali. Eles começam o pool é algo que vamos adicionar em apenas um momento. Isso será adicionado à pasta do pool de modelos. E vamos ver isso em apenas um momento. Esta é basicamente a profunda, uma das peças centrais da geração disso. E então podemos ver que também temos algumas substituições de desova aqui, onde alguns Volcker e fantasmas podem surgir aqui. Então você pode ver que isso é o que os esfregões podem gerar horas extras nessa estrutura. Então, isso é algo que você também pode brincar com altamente aconselhar isso também. Além disso, a única casa adjacente é muito semelhante. Você pode ver que a estrutura base aqui é realmente completamente diferente. Esta é, na verdade, uma aldeia ou não 100% certa onde isso faz sentido. Você pode ver que isso basicamente faz uma verificação extra de terreno. Então eu acho que isso significa que isso basicamente gera semelhante a uma aldeia. Então, ele vai verificar se há um terreno plano, coisas assim. E isso vai fazer algumas coisas assim. Não tenho 100% de certeza, mas esse parece ser o caso. Agora, mais uma vez, o tutorial de estrutura, mudando isso para o nosso ID do modelo. Mais uma vez curso MC, curso MC. E esta é a piscina de tipo casa degradada. E isso mais uma vez aponta para os biomas adjacentes apenas. Então este arquivo aqui, para ser bastante autoexplicativo, o barulho adulto, você pode ver que há um ótimo comentário aqui o que isso basicamente faz se verdadeira terra ao redor dele estará em torno do parte inferior da estrutura. Então isso vai mudar a estrutura real da terra em torno de sua estrutura real. E então, uma vez que ele possa abranger substituições, também podemos adicionar algumas criaturas que ouvem sons de pais podem surgir aqui também. Então lá vai você. Agora eles configuraram o recurso de estrutura está pronto e, em seguida, podemos seguir em frente para que possamos. Aqueles, este, este e este. E então podemos ver a lista de processadores. Agora este é um arquivo Jason especial que na verdade não é necessário. Isso é algo personalizado. Esta é a quebra de pedra aleatória e é realmente incrível. E vou explicar o que isso faz também. Vamos criar isso em nosso processo, nossa lista mais antiga aqui e meu tijolo de pedra. E então vamos voltar para aqui e vamos colocar toda essa loucura aqui. E isso basicamente faz está no gist geral aqui é c lista de processos executará um processador para cada bloco colocado eu edito o arquivo NVT. Quando criamos nossas estruturas personalizadas. É claro que tudo é salvo na NBA em um arquivo MVT. E, basicamente, para cada bloco que é colocado neste processador passa por ele. E você pode ver, isso é muito legal. Você pode basicamente especificar certas regras aqui. E a regra aqui é que, por exemplo, se encontrarmos um tijolo de pedra, então ele tem 50% de chance de ser substituído por um tijolo de pedra infestado. Isso é realmente incrível e isso é muito legal. Você pode ver aqui, alguns tijolos de pedra também podem ser substituídos por esmeralda ou algum cobalto. ardósia profunda pode ser substituída por uma guerra de restaurantes em estado profundo. Isso é muito legal e isso pode ser, você pode basicamente adicionar mais variabilidade às suas estruturas personalizadas com isso, com essas regras aqui. Portanto, não tenho 100% de certeza de todas as regras que existem. É claro que este é apenas um exemplo em que você pode basicamente mudar um bloco para oito outro bloco. Mas é muito legal e isso pode ser uma coisa muito legal basicamente adicionar a algumas de suas estruturas. Mas, mais uma vez, isso não é necessário. Isso é completamente opcional. Então você vai ver que isso vai ser usado na estrutura do céu aqui, mas não na casa. Na verdade, a casa não vai usar isso. Então é isso que estou dizendo. Isso não precisa ser adicionado, mas ainda é bom. E eu recomendo vivamente para os propósitos desta palestra e do tutorial estruturado, recomendo também adicionar isso. Tudo bem, para que possamos fechar isso também. E então estamos no conjunto de estrutura trans mundial. Mas, mais uma vez, podemos abrir os dois arquivos do Jason e eu vou fazer a mesma coisa. Vou copiar o nome aqui, e vamos fazer um novo arquivo. Lá vai você. Então, mais uma vez, vamos aqui e apenas obter o conteúdo do qual você pode ver, na verdade, não tanto tempo. E mais uma vez, vamos realmente criar um dos dois arquivos primeiro e depois vamos analisar o conteúdo e o que esses realmente significam. Eles não são tão loucos. No geral, cada parte individual aqui não é tão complicada, tudo considerado. É que às vezes pode ser um pouco assustador porque há tanta coisa, mas quando você realmente olha para ele, as partes individuais ou não tão loucas. Então, antes de tudo, é claro, mais uma vez , a estrutura aqui, isso não é 100% seguro, mas acredito que isso aponta para o recurso de estrutura configurada aqui. Então, este, podemos simplesmente mudar isso para o curso MC e, em seguida, ele irá apontar para este arquivo JSON aqui. E então o posicionamento é muito importante. A colocação aqui, você basicamente quer ter certeza de que seu sal aqui você pode ver nos torna únicos e garante que ele não corresponda a nenhum outro conjunto de sal. Agora, a razão para isso é porque, caso contrário as estruturas reais seriam colocadas no mesmo local, o que, claro, é algo que você definitivamente não quer fazer, porque isso seria muito estranho. Às vezes, ainda acontece que eles vão se cruzar, mas isso é apenas a aleatoriedade. Isso geralmente não deveria acontecer, especialmente se você fizer a separação aqui. Então, o espaçamento, esta é a distância média à distância e esta é a distância mínima à distância. E então, claro, isso deve ser sempre menor do que isso. Faz sentido, certo? Se a distância média for menor que a distância mínima não faz nenhum sentido. Então lá vai você, apenas certifique-se. E eu acredito que isso definitivamente seria valores depurados porque 166 você vai ver quando realmente entrarmos no mundo, que isso não é incrivelmente raro. Isso é incrivelmente comum nesta mistura, nossa, nossas diferentes estruturas insanamente comuns. Portanto, tenha isso em mente, mas eu recomendo manter esses números por enquanto. mesmo aqui com a casa única do Jason. Vamos mudá-lo, este aqui, curso MC. Então também podemos ver este aponta novamente para essa estrutura aqui. Agora, o que você vai descobrir é que isso é, naturalmente, uma lista. Então, em teoria, poderíamos adicionar outra estrutura aqui. Assim, você pode, mesmo em teoria, na estrutura Skype e onde quer que você possa atribuir as diferentes taxas aqui. Podemos ver neste comentário que ele basicamente tenta e escolhe uma dessas estruturas. Se dois ou mais analistas de estruturas puderem surgir em um bioma em um local, um aleatório será escolhido com base nos pesos. Esta é a ideia geral aqui. Assim, você também pode fazer uma lista de muitas estruturas e basicamente ter uma delas gerada em um determinado lugar. Então isso também funcionaria. Então este é o conjunto de estrutura basicamente apontando volta para o recurso de estrutura configurada, a preocupação, o recurso de estrutura aqui, é claro, apontando para o imposto aqui e, em seguida, também apontando para o pool de modelos, que é a última coisa que agora precisamos adicionar. Então, vamos voltar ao repositório do GitHub aqui, e vamos fechar tudo isso e, em seguida, abrir o pool de modelos porque isso é como eu disse, um pouco mais complicado. Vou pegar o fã do céu e, em seguida, também a casa degradada. Então, vamos fazer assim. Vamos pegar o fã do céu primeiro. Na verdade, isso vai ser um pouco mais fácil. Então este é apenas o céu sublinhado base de fãs e o arquivo dentro daqui. Então, vamos fazer um novo arquivo. Lá vai você. E, mais uma vez, copiar sobre o conteúdo disso também não muito tempo que você possa ver, isso, neste caso, o que queremos fazer muda este aqui é o ID real mais. Não acho que isso seja totalmente necessário. Você também pode ver que isso realmente aponta para a piscina lateral aqui. Isso realmente não faz sentido porque esse não deveria ser o caso. Na verdade, esse deve ser seu próprio nome. Portanto, esse deve ser o Skype. E acredito que isso na verdade não é tão importante para o nome real aqui. E então você pode ver este é claro, também, curso MC. E você pode ver este como você pode ver o caminho final aqui, estrutura de dados de recursos para rolar. Isso seria estruturas de curso MC executadas na casa esquerda nota que aponta para o céu e jurou fã e VT. Então esse nome aqui tem que ser o mesmo nome que este. Portanto, a localização aqui aponta para o arquivo MDT na pasta de estruturas dentro da pasta do curso MC neste caso, porque fizemos isso. Agora você pode ver que também temos os processadores randomizados pedra, tijolo. Também é necessário mudar para o curso MC, certo? Então, o mesmo aqui, curso MC. Isso então procura a lista de processadores, tijolo de pedra randomizado, e então vamos aleatorizar um tijolo de pedra para cada um dos diferentes, basicamente vai passar por exatamente essa regra que Eu mostrei a você alguns minutos atrás, basicamente. Sim, e isso é praticamente o fã do céu feito. O que agora queremos fazer é também o lado e a piscina armazenada para a casa degradada. Então vamos fazer uma nova pasta aqui chamada Run underscore down underscore house. E então, dentro de lá, vamos fazer dois arquivos JSON armazenados Pools Fool e sites ou clicar com o botão direito do mouse em novo arquivo armazenado pool sublinhado ponto json. E então também queremos o ponto de piscina de sublinhado lateral Jason. E vamos copiar o conteúdo. Este é o pool de armazenamento. Vamos apenas copiar isso sobre a meta e depois vamos por último, mas não menos importante, copiar sobre o tolo lateral e depois temos tudo copiado. Então nós basicamente precisamos, esse é o único para começar a piscina. E antes de tudo, mais uma vez, a nova lista para o curso MC, mudando isso para o curso MC. E isso é tudo o que precisamos. Então você pode ver a casa degradada deixada para isso mais uma vez, esta aqui mesmo, este NVT to File. E então aqui temos o pool do site. Isso vai ser muito interessante. Isso é necessário para o bloco de quebra-cabeças e o material de quebra-cabeça. Então, vamos ver basicamente o que isso significa e o que isso faz em apenas um momento. Vamos mudar todos os locais aqui. Vá para o curso MC. E a ideia geral aqui é que você tem um, você tem a piscina de armazenamento, que será o lado esquerdo da casa. E então você tem um bloco de quebra-cabeças em ambos os lados da casa e do lado esquerdo e direito da casa. E eles estão conectados uns com os outros. E então ele basicamente chama o pool do site e, em seguida gera o lado direito House, normal ou dourado. Essa é a ideia geral. Mas vamos ver isso em um pouco mais de detalhes na palestra de quebra-cabeças também, onde realmente fazemos uma nova estrutura personalizada completamente personalizada com nossos próprios blocos de serra de vaivém personalizados e coisas assim também. Portanto, não se preocupe lá. Vamos entrar em um pouco mais detalhes nisso no futuro. Mas agora, na verdade, tudo aqui foi adicionado e deve funcionar. Se essa coisa que não deve funcionar é na verdade a esquerda e o lado direito dentro desses arquivos MVT no bloco de quebra-cabeças, há um ID de modelo errado associado a ele. Portanto, o ID do modelo ainda é o tutorial sublinhado da estrutura e na verdade precisamos mudar isso. Agora, o que deve surgir já é nosso fã do céu e do lado esquerdo da casa. Então, o que vamos fazer é fazer um novo mundo. E vamos fazer o que vamos fazer é realmente entrar no Minecraft, fazer um novo mundo. E então, quando vejo que o fã do céu realmente possuía, e então também a casa degradada. Vamos ver se funciona. Muito importante notar, você chegará a este mundo usando configurações experimentais. Depois de adicionar suas estruturas personalizadas, é exatamente o que é. Você não pode se livrar disso facilmente. Há, eu acho que há um mod que você pode adicionar ou basicamente para obter isso como um misto, mas você só vai ter que lidar com isso. Basta clicar em Continuar e permitir que o mundo gere. E se você se juntar a um mundo já existente vai dizer algo como, Oh, ele está usando configurações experimentais. Apenas diga, sim, eu sei o que estou fazendo. Entre no mundo e você ficará totalmente bem. Não se preocupe que eles sejam de todo. Tudo bem, então nos encontramos no Minecraft e geralmente as estruturas devem ser bastante prevalentes. Lá vamos nós. Na verdade, há 1,5 da casa já existente. Então vamos descer aqui e você pode ver que é só meia casa, certo? Então, o bloco de quebra-cabeças real é colocado aqui. E então deve haver outro lado da casa que vamos consertar em apenas um momento. Mas você também pode ver alguns exemplos muito legais e legais de mais algumas coisas aqui. Basicamente TreasureChest como você pode adicionar algumas inclusões também. Então, eu recomendo verificar isso também. E então vamos, na verdade, também ir slash localizar o código do curso MC apenas estruturas Chi Fan. E então também devemos ser capazes de descobrir isso, digamos que meus dois phi up. Agora lá está. Ok, podemos ver que você vai e nós também devemos ser capazes de ver quebras de pedra e, em seguida, alguns deles são tijolos de pedra infestados e em vez de terem sido substituídos por esmeraldas. E, em seguida, aqui estão algumas delas que foram substituídas pelas diferentes ORS. Muito legal tudo funcionando exatamente como você esperaria. E agora precisamos consertar a casa. Então, como consertamos a casa? Bem, o que precisamos fazer é precisamos obter um certo bloco e esse será o, esse bloco aqui. Então, vamos apenas nos dar o, este é o bloco estrutural. Lá vai você. Vamos fazer é que vamos defini-lo e, em seguida, clique com o botão direito do mouse nisso. E o que precisamos fazer é que precisamos obter o nome da estrutura. Há um curso de MSC dois pontos, e isso é sublinhado para baixo sublinhado casa, sublinhado lado sublinhado esquerdo. Acho que é isso. Vamos carregar e, em seguida, você iria realmente carregá-lo. Vamos, vamos selecionar esse controle um controle C para copiá-lo e, em seguida, clicar em carregar novamente para carregar a estrutura. E você pode ver essa estrutura carrega em largura uma rocha aqui. Esta é a bebida tão bloco. E você pode ver que isso leva o tutorial sublinhado da estrutura, uma casa degradada ao lado da piscina. É por isso que não funciona e nós realmente queremos fazer a mesma coisa aqui. Vamos apenas ir um pouco mais longe. E, em seguida, vamos clicar com o botão direito do mouse, copiar isso e colar isso. E então vamos fazer um lado direito, aqui, lado direito, carregar. Ele também deve carregar. Vamos sair disso. Lá vai você, carregue isso . E então vamos fazer a mesma coisa mais uma vez com os lados dourados. Então isso vai ser um direito, vou sublinhar o ouro. Então, esses são todos os nossos diferentes arquivos NVT. Vamos carregar isso também. Lá vai você. E agora temos todos esses blocos diferentes. Como você pode ver, vamos começar com a casa esquerda. Então, o que precisamos é necessário mudar isso, é claro, para o curso MC. Então, curso MC, agora ele vai olhar para o nosso arquivo JSON do pool de sites. Então o que vamos fazer aqui é o lado direito. Não precisamos necessariamente mudar isso, mas eu gostaria de mudar isso também . Este é o nome do alvo. Vou selecionar isso novamente, controlar a, controlar C para copiá-lo. E então vamos dizer que acabou. Agora esse nome aqui, o nome do alvo tem que corresponder ao nome aqui. Então, se eu clicar com o botão direito do mouse neste, você pode ver que isso tem um nome específico e aqueles têm que corresponder. Na verdade, é verificar isso duas vezes. Sim. Este é o Steve. Eu sabia que tinha um w lá porque meio que me movo um pouco cedo demais. E lá vamos nós, este também feito. Agora, o que queremos fazer é salvar esses dados MVT novamente. Como fazemos isso? Bem, mais uma vez, em nosso bloco de estrutura, vamos para o modo de segurança, e vamos salvar isso com o mesmo nome, seguro. Lá vai você, pronto. E o mesmo aqui, vá para o modo Salvar seguro. E depois indo aqui para o modo de segurança seguro. Então, se isso foi um pouco rápido, não se preocupe, como eu disse, próxima palestra e especialmente a palestra depois disso, vamos discutir os blocos de quebra-cabeças um pouco mais de detalhes quando na verdade, construindo uma estrutura personalizada própria e como você pode salvar isso facilmente. Então, se isso foi um pouco, não tenho 100% de certeza de que tudo funciona. Você é, não se preocupe com isso. Vamos ver isso em apenas um pouco nas próximas palestras também. Mas agora essas estruturas diferentes foram salvas e agora a única coisa que precisamos fazer é trocar os dados NVT que já temos com nossos dados acabados de salvar em VT. Então, vamos mudar para a inteligência e ver como isso funciona. Tudo bem, então encontramos um suspeito na inteligência e queremos ir para a pasta de execução para seus cofres. E então você quer entrar no mundo que acabou criar onde você realmente tem essas estruturas. Deve haver uma pasta gerada aqui com exatamente esses dados NVT. Mas isso é exatamente o que queríamos. Vamos pegar isso e vamos movê-lo todo o caminho até as estruturas aqui. E diremos que substitua tudo. E é isso. Agora, a casa degradada funcionará corretamente porque agora basicamente vai procurar o pool adequado do site porque tivemos que especificar isso na casa esquerda e também vai trabalhe com o lado direito adequado. Então, isso deve ser praticamente tudo o que precisamos fazer. Então, vamos criar um novo mundo e vamos ver se a casa agora aparece corretamente. Tudo bem, encontramos no Minecraft e você pode ver, lá vai você. Na verdade, existem dois deles. Como eu disse, eles são muito, muito comuns. Então você definitivamente quer mudar os números se quisermos torná-los um pouco mais raros. Mas, como você pode ver, lá está. E vamos ver, tive sorte. Lá vai você, 50% de chance de conseguir o ouro aqui. Agora, o lado direito também aparece. E podemos realmente ver, vamos entrar aqui e ver se este é ou não os outros. Então eles puderam ver que existem variantes diferentes. Lá vai você. Este é o único que sem o ouro. Então isso é realmente incrível e muito legal e todas as coisas não são tão loucas. Mais uma vez, é tudo sobre fazer isso rolar, porque eu prometo a você a próxima palestra quando realmente fizermos nossa própria estrutura, você ficará surpreso com o quão fácil é adicionar isso depois de passar por isso, entenda todas as diferentes partes e como você pode, basicamente , mudá-lo para o que quiser que sua estrutura seja. Então, é assim que pode ser fácil. Mais uma vez, para resumir rapidamente o que a aberração vem acontecendo aqui, certo? Isso foi um pouco. Basicamente, temos um pool de armazenamento que começa a gerar sua estrutura. Isso examina um arquivo MDT na pasta de estruturas aqui e, em seguida, gera esse arquivo MVT específico. Agora, como ele sabe onde gerar isso? Bem, ele vai usar essa tag aqui. Assim, neste caso, por exemplo, os biomas domésticos adjacentes apenas marcam e dizem: Ok, se estivermos em qualquer um desses 113. (1.18.2) Estruturas personalizadas (única peça): Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra vamos fazer uma estrutura personalizada. Já nos encontramos no Minecraft e já criei uma estrutura personalizada aqui. Assim, você pode baixar o arquivo NVT para isso. No entanto, eu realmente recomendo o que você faz é criar sua própria estrutura personalizada. Não precisa ser grande, não precisa ser complicado. Definitivamente tem que estar abaixo de 48 por 48 por 48. Eu diria que você pode simplesmente pausar o vídeo, criar sua própria estrutura e, em seguida, continuaremos. Espero que você tenha construído uma estrutura que é, ela tem, pode ser semelhante a isso ou o que quer que seja. Mas, basicamente, agora queremos o bloco de estrutura real. Então, se você não tem isso, você pode simplesmente dar isso a si mesmo. Basta dar ao seu próprio jogador aqui, o bloco de estrutura, este aqui. Você pode ver, lá vai você. Este é o bloco de estrutura. E o que queremos fazer é colocar isso praticamente fora de toda a estrutura. Então, queremos colocá-lo aqui para que tudo dentro dele vá, Bem, basicamente ele os salvou mais tarde e então queremos o outro aqui. Então, queremos aqueles nesses dois cantos e, em seguida, os outros dois blocos devem ir para os outros dois cantos. Mas eles basicamente formam um, formam um cubo em torno disso. Nesse caso, só vou colocar isso aqui. Lá vai você. Então vamos começar aqui. O nome da estrutura deve ser dois pontos do curso MC, e eu vou chamar isso de casa sublinhada do tapete. E vou copiar esse nome. Então, uma vez que você possa controlar a para selecionar tudo, controle C para colá-lo. E então estamos mudando para o modo de canto e dizemos Concluído, vou aqui, colá-lo no modo de canto de controle V pronto. Por aqui, eles se sentam em hormônios feitos. E então nosso último aqui, nós realmente queremos ir para o Modo de Segurança, colar isso e dizer detectar, e então ele deve detectar toda a estrutura para que você possa ver e garantir que tudo que você quer está dentro das linhas reais aqui e tudo parece ótimo. Agora, o que podemos fazer é dizer seguro. Agora o arquivo, o arquivo NVT, na verdade, foi salvo. Isso é realmente o quão fácil isso por um tempo, uma estrutura de peça única a ser salva neste caso, é claro, construí-la. Isso é, claro, uma outra coisa. Quando se trata dos blocos de quebra-cabeças, isso é algo que vamos ver na próxima palestra. Mas, por enquanto, vamos voltar para o IntelliJ. E vamos dar uma olhada no que podemos basicamente vê-lo ali mesmo. Então, na inteligência, vamos entrar na pasta R1, salva. Isso foi no mundo das estruturas que eu acredito que gerado lá é a casa da cabine e nós vamos apenas copiar isso sobre o controle C. E então eu vou colá-lo em minhas estruturas. Siga aqui. Hothouse NVT eles atrás, este agora é o meu acostume. Como é que eu construí? E agora, é claro, precisamos adicionar algumas coisas que já fizemos antes. Então, agora o que vamos fazer é abrir a pasta de origem com todos os diferentes Jason final CR, o mesmo com o imposto. E agora basicamente a ideia é que uma vez que você passou por isso é por isso que eu disse na última palestra, uma vez que você passou por isso, uma vez, adicionar novas estruturas é incrivelmente fácil. Porque o que vamos fazer é levar a casa única do JSON. Você vai fazer essa estrutura única adjacente. Nesse caso, vamos pegar cada um desses arquivos e apenas duplicá-lo. Então, vamos arrastá-lo para a mesma pasta que está no controle de retenção da bile. Então isso vai duplicá-lo. Vamos chamar essa empresa sublinhada de casa. E vou selecionar todo o nome aqui, controlar C para copiá-lo porque vamos usar isso algumas vezes com os outros arquivos JSON. E esses biomas são realmente totalmente divertidos, então vamos mantê-los. É claro que, mais uma vez, é apenas o arquivo JSON que especifica em quais biomas nossa estrutura personalizada pode gerar. E ele configurou o recurso de estrutura. Vamos copiar isso também. E, mais uma vez, basta copiar e colar o nome aqui. Aqui queremos alterar esse nome para cobrir a casa sublinhada, a piscina da loja. Vamos criar isso em apenas um momento. E então este é, claro, a meia estrutura de carbono casa Jason, que aponta para aqui. Então, talvez o que realmente não queremos, não queremos nenhum monstro aqui. Então, vamos apenas fazer este. Vamos ter uma criatura gerada, talvez um papagaio. Isso deve ser bom no geral, o resto aqui está bom. Não precisamos de nenhuma lista de processadores neste caso, não quero que nada seja substituído aleatoriamente. Você poderia, claro, ainda fazer isso. Vimos isso, a última palestra, a lista de processos foi bem legal, mas não queremos isso. E então temos um conjunto estruturado, mais uma vez , também cobrimos a casa sublinhada. Aqui ele aponta para a casa de sublinhado de carbono e muito importante, isso é incrivelmente importante para tornar a colocação aqui no Salt única. Tem que ser único. E então também vamos mudar o espaçamento um pouco. Não vamos ficar muito loucos ano mais uma vez, 166 ainda são muito, muito pequenos. Isso definitivamente deve ser maior quando você está realmente implementando algo no jogo. E, claro, você viu como era a distância geral para a estrutura anterior também. Em outra última coisa que precisamos são os pools de modelos. Vamos pegar toda a pasta da casa resumida aqui. Vamos renomear isso para lidar e abrigar. E então vou abrir o do site e o pool da loja. Eles começam a piscina aqui, discípulo, podemos realmente excluir, isso é ainda melhor. Então, vamos apenas fazer sim, excluí-lo. E então o pool de armazenamento aqui, certificando-se de que temos esta casa de piscina inicial aqui. E então aqui vamos dizer em vez da casa degradada à esquerda, isso é claro, apontando para o arquivo NVT. Vamos apontar para o arquivo NVT da casa comum. É isso. Agora você vai dizer que não pode ser tudo. Isso é, na verdade, tudo o que precisamos. 1234 arquivos JSON e nossos arquivos NVT e um total deles, dependendo de quão complicado seja o seu compilado, pode levar muito tempo para realmente salvar o arquivo NVT, mas isso é bastante muito tudo o que você precisa fazer. Agora, é claro, você ainda pode mudar algumas coisas por aqui, bem nesses arquivos Jason, configurar alguns elementos diferentes lá. Mas, no geral, isso é praticamente tudo o que você precisa. Então, para o bem da conclusão, o que vamos fazer é fazer um novo mundo, entrar e ver se conseguimos encontrar nossa casa de carbono. Eles são muito curiosamente o suficiente aqui, eu realmente tenho uma flecha aqui. 114. (1.18.2) Estruturas personalizadas (Estruturas de (1.18.2): Tudo bem, bem-vindo de volta ao curso de tecido por 100 mil vistos nesta palestra, vamos criar uma estrutura de quebra-cabeças. Você pode ver que eu já preparei esse lex na verdade, esses dois blocos aqui. E vamos realmente criar isso do zero. Então eu já construí a estrutura aqui. E o que vamos fazer é economizar 1,5. Tão praticamente com o, com a separação aqui. Uma vez arquivo NVT e , em seguida, a outra parte em outro arquivo NVT. E então o que vou fazer é fazer uma variação de três diferentes. Um com ferro aqui, um com esmeraldas e diamantes de uma largura. No mundo, essa plataforma de armazenamento pode surgir com a Oracle vindo de um lado e, em seguida, o outro lado será determinado aleatoriamente. Então, antes de tudo, o que vamos fazer é precisamos dos blocos estruturais. Então, mais uma vez, vamos fazer é que vamos dar a nós mesmos este bloco. Então vamos apenas dizer Give e depois procurar o bloco de estrutura aqui. Também vamos precisar do bloco de quebra-cabeças. Então, vamos dar isso a um eu imediatamente para que o tenhamos. E então o que vamos fazer é, primeiro lugar, pegar a estrutura principal aqui. Este curso deve estar aqui. Acho que isso deve ser bom. E então o que precisamos é, claro, no topo também, vamos nos certificar de que estamos altos o suficiente. Isso deve ser bom. E depois mais um ou eles atrás, tudo bem. E então aqui, você precisa estar abaixo de um. Então, bem ali. E então, mais uma vez, mas subiu todo o caminho pela mesma altura. Acredito que isso deve ser bom. Agora isso foi claro aqui, lá vai você. Isso deve estar tudo bem. Mas vamos ver em apenas um segundo, então vamos entrar aqui, ir para o modo canto, e isso vai ser dois pontos do curso MC. Vamos chamar isso de plataforma de sublinhado de armazenamento. Lá vai você. E eu vou, é como tudo isso com o Controle a, Controle C para copiá-lo, feito. E vamos com este ou controle remoto V para colar o nome no controle V para colar o Neyman e, claro, também mudou o modo de canto. Muito importante. E então aqui, vamos para o Modo de Segurança, colar o nome, e então vamos dizer detectar. E lá vamos nós. Então, temos toda a estrutura aqui, então isso é exatamente certo. Agora, o que também queremos definir é o bloco de quebra-cabeças. Agora, como funcionam os blocos de quebra-cabeças? Bem, a ideia geral é que a forma como a seta aponta. Então, basicamente, queremos duas setas sempre apontando uma para a outra. Então o que vamos fazer é encontrar o meio aqui. Vamos apenas pegar este. E então a seta aponta nessa direção. E então também queremos que o outro bloco de quebra-cabeças aponte na mesma direção. Então você vê que eles se formam, eles formam esse tipo de linha e as setas apontam umas para as outras. É assim que o outro será colocado. É por isso que eu já o construí bem ao lado do outro. Vamos rapidamente fazer isso direito. Lá vai você. Você pode ver que este está dentro da primeira estrutura, certo? Então este está dentro dessa estrutura e o outro estará dentro da segunda estrutura, o que faremos em um minuto. O que isso faz é que este aqui tem um nome definido. Então, esta será apenas plataforma de sublinhado do lado dos dois pontos do curso MC, por exemplo. Vamos selecionar isso e copiar esse nome aqui. Esta é a única coisa que precisamos fazer no bloco de quebra-cabeças secundário. No bloco de quebra-cabeças primário, queremos colocar isso sob o nome do alvo e, em seguida, no pool de destino. E isso é incrivelmente importante e queremos fazer o curso MC. E então isso será isso, digamos que o conjunto de sublinhado do site de barra da plataforma de sublinhado de armazenamento . Então, aqui, ele aponta para o arquivo adjacente dentro de nossas pastas de dados. Se eu abrir rapidamente, você é para que você possa ver isso para a casa degradada, esta piscina lateral aqui. Isso é isso. É claro que ainda não criamos a plataforma de armazenamento , mas essa é a ideia. Portanto, temos esse arquivo JSON de pool lateral, que define diferentes variantes desse particular, deste site específico. E, na verdade, coloque a ironia aqui, mas isso vai ficar bem. Eu só vou ter a geração de ferro e então esta será a plataforma lateral. Quero dizer, não importa de que maneira você faz isso. E sim, então basicamente a plataforma do site, esse nome e esse nome têm que corresponder. Essa é a única coisa. E então, para os principais, então este é o principal. Esta é a estrutura que vai surgir quando você usar a estrutura, a plataforma de armazenamento, esta aqui, que será a principal onde temos esse pool lateral. Portanto, este é o arquivo JSON. Este é apenas o nome do outro quebra-cabeça nascido. E também o que podemos definir aqui é o que o bloco de quebra-cabeças se transforma. Vamos apenas excluí-los e deixá-los se transformar em ar. Mas você poderia, em teoria, também mudar isso. O que vamos fazer é também pegar o segundo aqui só para que tenhamos. Então, isso seria aqui. Isso deve ser eu acho que não, acho que isso deve ser bom. Então, devemos ter tudo lá dentro. E então aqui, também vai colocar o bloco de estrutura aqui. E então o outro bloco de estrutura para escrever seu eu acho que deveria ser isso. E isso agora vai ser o que vamos chamar isso, não a forma de plano do site disso será a plataforma de sublinhado de armazenamento de sublinhado de renda da Oracle . Vá, vou selecioná-lo, pressione controle C para copiá-lo, modo Warner, controle V para colar. Eles não estavam no modo de canto. E então aqui também, eles se sentam no modo e claro, este será o modo salvo novamente, eles se sentam, dizem detectam, e devemos ter isso no dia deles atrás. Agora temos a plataforma de armazenamento de cálcio oral, que também inclui este bloco de quebra-cabeças aqui. O que é muito importante nesse caso. Então o que vamos fazer é pegar a plataforma de armazenamento teria salvado isso. Vamos pegar a plataforma Oracle, salvar isso e, em seguida, múltiplos fazer é mudar isso para ser um tipo diferente de ordem e vamos salvar um exemplo diferente disso também. Tudo bem, então eu mudei tudo para esmeraldas neste caso que vou fazer é agora vamos mudar o nome aqui. Vamos mudar o nome para a plataforma de armazenamento Emerald. Vou selecionar tudo. Pressione o controle C para copiá-lo. E vamos mudar todos os nomes aqui. Isso é muito importante. Então, mais uma vez, há controle a2 coletado ou controle V para colar o novo nome. E isso deve ser bastante autoexplicativo aqui. Vou fazer o mesmo aqui e depois vamos detectá-lo mais uma vez. E você vai ver, lá vai você. Esta é a plataforma de armazenamento esmeralda, neste caso, certifique-se também quando você seleciona quando você coloca em um novo bloco que você está, não esteja fora dos limites aqui. E então vamos salvar este também. Agora temos duas variantes diferentes. Só por uma questão de argumento, vamos fazer outra variante. Vamos também fazer a variante de diamante. Vamos fazer isso rapidamente. Eu senti isso com um diamante. Então, mais uma vez, vamos mudar os nomes aqui. Então esta será a plataforma de armazenamento de diamantes. Mais uma vez, Controle a para selecioná-lo, Controle C para copiá-lo. E depois faremos a mesma coisa para todos os cantos diferentes aqui. Lá vai você. E então este também. Lá vai você. E então vamos aqui mais uma vez para detectá-lo. E nós detectamos com sucesso, e agora podemos salvá-lo também. Lá vai você. E agora salvamos três variantes diferentes dessa parte da plataforma e basicamente uma plataforma principal aqui. Esses são basicamente conectados através deste bloco de quebra-cabeças aqui. Mas esta é a, toda a ideia aqui. Vamos mudar para até um DJ e ver o que podemos ver em primeiro lugar, claro que precisamos obter os dados NVT para é claro que precisamos obter os dados NVT para este vai entrar na pasta R1 nos cofres. Da mesma forma, você basicamente salva isso e isso vai ser todos os quatro. Vamos precisar dessas plataformas de armazenamento e das três diferentes lá. Vamos copiá-los para nossas estruturas, siga aqui. E então o que vamos fazer é mais uma vez, vamos copiar os arquivos JSON da casa do balcão. E você vai ver que mais uma vez, mesmo com os blocos de quebra-cabeças, não é tão louco. Vamos copiar sobre este que será a plataforma de sublinhado de armazenamento. Este será o nome da própria estrutura geral e a lua fará assim que você puder configurá-la. Recurso de estrutura, também plataforma de armazenamento, mas só precisamos alterar o nome aqui para a plataforma de armazenamento. E o nome dos biomas aqui era apenas esse arquivo JSON aqui, plataforma também. A mesma coisa de lista na estrutura, defina. A estrutura de extinção de volta ao recurso de estrutura configurada. E então este só vai ser algo assim. Então, mais uma vez, um sal e o espaçamento, quero dizer, podemos praticamente mantê-lo como está, apenas mudando um pouco. Lá vai você. E então é para a casa do modelo, os conjuntos de modelos. Então, vamos realmente usar a casa degradada aqui. Quero mudar isso para a plataforma STORD e temos os dois Jason fantasier, o pool do site e o pool de lojas. Vamos começar com o pool histórico aqui, mudando isso para nossa plataforma de armazenamento, pool estrela número um e, em seguida, este para a plataforma de armazenamento. Esta será a citação principal sem aspas no arquivo VT para a qual ela aponta. Então, isso vai apontar para este arquivo NVT aqui. E então a piscina lateral vai ser interessante. Isso vai ser, é claro, mais uma vez, mudar o nome aqui e a ferida é em vez de apontar para o lado direito da casa, nós realmente queríamos apontar para o, por exemplo, diamante plataforma de armazenamento sublinhado. Sim. E então também queremos que os outros dois vamos excluir este aqui. Nós também vamos excluir os comentários por uma questão de argumento. Vou fazer isso e depois copiar isso duas vezes. E também podemos mudar o peso aqui. Então, digamos, por exemplo, que tenhamos trinta e três por cento de chance de gerar qualquer um deles, digamos. E então este não será o momento em um, mas o item de Orange County sublinha a plataforma de armazenamento e então esta será a plataforma spot de armazenamento esmeralda Emerald. Mais uma vez, esses locais aqui apontam para os arquivos NVT. E vai levar um desses arquivos NVT e vai gerar isso com pesos diferentes aqui. Se tivermos os pesos dos três, então será praticamente um sobre três. E também poderíamos dizer, bem, talvez você saiba o que, Na verdade, isso é duas vezes mais provável. Talvez seja cinco anos. Então, isso vai surgir 50% do tempo. Isso vai subir 20% das vezes. Nesses 10% das vezes, são apenas os pesos basicamente sobre como ele é gerado. E isso é literalmente tudo o que você precisa fazer. Já terminamos de configurar isso. Mais uma vez, quando temos os arquivos JSON já preparados depois de copiá-los, você está feito como se fosse muito, muito simples. E sim, é claro, se você tem idéias mais loucas, se você tiver um múltiplo, vários blocos de quebra-cabeças e coisas assim, é claro que vai ficar cada vez mais complicado. Mas digamos um ótimo começo. E eu recomendo estar aberto à experimentação, especialmente e apenas experimentar coisas e ver o que você pode basicamente inventar. Então, pela última vez para as estruturas, vamos ao Minecraft, criar um novo mundo e vamos ver se nossa nova plataforma de armazenamento aponta ou uma fantasia Minecraft e eu já espionamos algo aqui, e este é provavelmente o pior cenário. Você pode ver que apenas metade do esporte, isso é muito interessante. Então provavelmente haverá um erro de digitação em algum lugar, o que é muito estranho, mas vamos ver esperar um segundo. Vamos apenas que o problema é muito engraçado porque acabei de mudar os nomes da casa degradada uma vez. Então você pode ver na casa degradada, eu mudei as coisas reais para a plataforma de armazenamento. E a plataforma de armazenamento tem essas coisas na casa degradada. Então isso não é bem o que eu tinha em mente aqui. Vamos fazer isso assim. Vamos apenas copiar isso. E então vamos fazer é que este só vai ser excluído. Então, vamos tirar o nome disso, é esse nome de volta à casa degradada. E então esta será a planta de sublinhado de armazenamento. Mas agora isso deve estar funcionando bem. Então, vamos ver. Este é o lado da plataforma de armazenamento de inicialização da plataforma de armazenamento por enquanto, devemos ficar bem. Então, o problema aqui foi que eu acidentalmente alterei os arquivos JSON da casa resumida em vez da plataforma de armazenamento. Os arquivos Jason podem acontecer a qualquer momento, então não se preocupe lá. Mas ele realmente viu que às vezes você não consegue encontrá-lo. Então você teria que passar pela sentença. Você vê que você pode realmente encontrar algo no terminal. Não estava nada aqui. Era apenas uma flecha aqui nos arquivos, mas não se preocupe. Então, agora vamos realmente dar uma olhada se é ou não gerado corretamente. Tudo bem, se responder na Microsoft mais uma vez e vamos ver, eu nem sei se isso aparece neste bioma real. Então, vamos apenas localizar a plataforma de armazenamento do curso MC e vamos ver se isso funciona. N está lá vamos nós. Finalmente funciona. Então você não pode ver nenhuma preocupação. Sempre pode acontecer que haja um erro de digitação em algum lugar. Mas, no geral, você viu que não era nada de um ano louco. Foi muito, muito simples de corrigir. Vamos ver se eu não consigo voar e realmente encontrar outra dessas plataformas de armazenamento, talvez com outra coisa, então já o cálcio parece que também é um cálculo. Na verdade. E é de fato, vamos apenas tp para algum lugar muito, muito distante. Vamos apenas ir como, eu não sei, 20 K. E vamos ver se consigo localizar outro. Vamos localizar a plataforma de espada dele e ver se esta tem algo diferente do que calculamos. Claro que não, porque isso seria muito fácil. Vamos ver o P1 da última vez e vamos ver talvez possamos encontrar algo. Vamos para menos 20, K a K, tudo bem. E então vamos localizar o curso MC em direção à plataforma Mais uma vez. Vamos ver se isso vai funcionar. Acho que estamos realmente abaixo dele. Aí está. E, na verdade, encontramos alguma diferença. Então aqui podemos ver aquele com as esmeraldas também. Então, tudo funciona totalmente como você esperaria. E realmente incrível. Então, tudo funciona muito bem e sim, é praticamente o quão fácil é para algumas estruturas de quebra-cabeças serem adicionadas ao Minecraft. Mas isso seria praticamente para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. Todos os arquivos JSON nas fontes NVT também estão disponíveis para download no repositório do GitHub, um indivíduo também. Mas, de outra forma, verei você na próxima palestra. 115. (1.18.2) Modelos de armadura 3D personalizados: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra vamos adicionar um modelo de armadura 3D personalizado ao Minecraft. Vamos transformar nossa armadura Oracle come em um modelo de armadura 3D personalizado. E para isso, vamos mais uma vez usar um banco de blocos. Como você pode ver, eu já preparei o oráculo vem armadura aqui. Mas isso é, na verdade, bastante simples. Então, vamos usar o eco lip mais uma vez. E a maneira como isso funciona é se você fizer um novo modelo animado ao vivo aqui, podemos apenas fazer uma armadura de teste aqui. Então o que você pode fazer é ir Configurações do modelo labial do arquivo gecko. Você pode simplesmente transformar isso em armadura e, em seguida, ele vai gerar o jogador do Minecraft aqui. Você pode ver que não toca nisso. Então, basicamente, esses blocos diferentes não devem ser tocados. Então tudo o resto que você deseja adicionar sob a cabeça da armadura, corpo de armadura e assim por diante e assim por diante. Faça, por exemplo, você pode clicar neste Add Cube e, em seguida você pode começar a adicionar sua armadura personalizada aqui, Z, basta dimensioná-la. E, no entanto, você era basicamente como sua armadura para olhar. Você pode duplicá-lo, Control D. Lá vai você. E então você pode simplesmente adicionar coisas a ele e você pode, claro, torná-lo tão personalizado quanto quiser. Agora o que eu descobri é que fazer a armadura é realmente muito difícil. Como fazer com que pareça bom não é tão fácil. Então isto é, na verdade não parece tão bom, especialmente quando você realmente pega, por exemplo, o braço aqui por uma questão de argumento, podemos girá-lo ao redor. Você pode realmente ver se eu rodar um pouco, que ele realmente falta aqui e coisas assim. Portanto, não é, não é tão interessante, não é tão louco. É apenas um exemplo de um pedaço de armadura. E o que você pode fazer aqui também é o seguinte. Quando você criou tudo, o que você pode fazer é excluir essa textura no momento. E então você pode ter algo assim. O que você pode fazer é pressionar Control a, e então isso selecionará cada parte da coisa diferente que você tem aqui. E então podemos fazer é que você pode fazer uma nova textura com isso. Então, vamos manter essa textura e então você pode vê-la basicamente substitui tudo nessa textura. Agora, se você salvar essa textura, eu vou fazer isso. Você já preparou algumas coisas aqui. Pior do que eu posso fazer é que eu serei capaz, bem, é assim que parece, certo? Quando eu o abro, você pode vê-lo basicamente lhe dá uma tese da armadura onde você realmente quer desenhar isso. Então, o que podemos fazer é apenas adicionar isso aqui diretamente à textura. Vamos apenas abri-la. O que você pode fazer então é que podemos entrar aqui e depois mudar algumas coisas. Por exemplo, aqui, acredito que deveria ser como a parte de trás da cabeça ou algo assim. Podemos simplesmente desenhar tudo isso e depois salvá-lo. E se eu entrar no banco de blocos novamente, clique com o botão direito do mouse em atualizar, então você pode ver agora que isso mudou e na parte de trás da cabeça, você veria lá, e eu vou ter essa cor, colorir e fazer a textura muito difícil, como se não fosse tão fácil de fazer. Você também pode clicar nas fases individuais e ver onde isso está. Então você pode ver que a barra na parte superior da cabeça é realmente isso. Então eu posso dizer, Ok, este aqui, eu acredito, ou não enganado. Então eu posso dizer, oh, faça isso azul e depois salvá-lo novamente. Mais uma vez, vá aqui, atualize. E você pode ver agora no topo da cabeça é azul. Então, isso é definitivamente uma coisa que vai demorar algum tempo. Eu só quero mostrar como você pode basicamente adicionar. Então eu já preparei a textura. Vamos apenas pegar a textura do resultado do oracle aqui. E também o que eu fiz foi acrescentar esse preto aqui , porque o que eu queria fazer na cabeça e outras coisas, eu queria movê-los para o fundo para que fosse um pouco mais fácil basicamente, veja a distinção entre minha armadura real e o jogador. Então eu posso fazer isso aqui também. Lá vai você. E então a outra perna também. Então, basicamente, todos os Não toque uma vez. Acabei de me mudar para a armadura preta aqui, só para que eu possa basicamente ter um contraste menos lá para que eu possa ver, ok, enquanto isso, o que estou fazendo aqui? Este modelo de pinça de bloco, é claro também estará disponível para download. E o que você faz é simplesmente ir para File Export, Export , gecko lip model. Este vai ser um modelo geográfico uma vez não mais uma vez, eu já tenho isso, é claro, então vamos substituir isso. E o que você pode fazer então é entrar em tecido aqui e depois continuar de forma inteligente, vamos continuar e realmente adicionar isso. Do que vamos precisar? O que vamos precisar de três coisas diferentes. Um deles é um item personalizado. Então, no pacote de itens personalizados, faremos com que a conta venha o item de blindagem. E isso vai fazer isso. Vamos estender o item de blindagem mod, na verdade que ele tem a mesma funcionalidade. Vamos criar um construtor combinando super. E então também vamos fazer, o que é muito importante é que, na verdade, houve um problema no item de blindagem de resultados ou no item mais blindado. Neste método de armadura aqui, normalmente vou fazer é que eu realmente tenho o método correto aqui. Você pode ver, basicamente, apenas verificando lançamos isso para o item de armadura, se ele realmente é ou não um item de armadura aqui, A razão para fazer isso é de outra forma, quando você tem um elétron e o resto das armaduras preenchidas, e uma delas é o item mais armadura, então o jogo realmente vai falhar porque você não pode lançar o elétron em itens de armadura. Portanto, tenha isso em mente, mas isso é praticamente tudo o que precisamos fazer aqui. E então, para o item de armadura de cálcio, o que realmente queremos são algumas coisas. Então, na verdade, queríamos adicionar os implementos que eu animável também. Passe o mouse sobre este Implement Methods implementará o método de controladores de registro , bem como o método de fábrica GET. Mas você também pode fazer é pressionar Shift duas vezes e olhar para o item colocar a armadura de batata aqui. Este é um exemplo. Então, isso também é ótimo. Você pode basicamente, em teoria, simplesmente copiar tudo. Então, o item de armadura de batata e batata é praticamente o exemplo dado do lábio de gecko aqui. Então você também pode dar uma olhada nisso. Vamos continuar. Então, é claro, precisamos do eu animo toda a fábrica de animação. Isso é algo que vimos com as entidades personalizadas também. Vamos basicamente devolver a fábrica aqui. E então, para o predicado, o que vamos fazer é praticamente o que você poderia, em teoria, fazer, como eu disse, literalmente apenas pegue todo esse método aqui, o predicado, porque esse é o coisa que vamos precisar. E podemos simplesmente assumi-lo e copiá-lo porque praticamente será sempre o mesmo. A única coisa que vamos mudar, a animação aqui será chamada de ociosa neste caso. E então aqui em baixo, nós realmente queremos que isso seja um pouco diferente. Portanto, não há, eu sou registros. Isso vai ser itens mod, cabines de início, e então vamos passar por mais e mais itens, começar leggings. Nós vamos buscar quanto mais itens começarem a ser jogados e , por último, mas não menos importante, quanto mais itens iniciarem capacetes eles atrás. E isso deve ser praticamente tudo o que precisamos aqui. Então, é claro, o predicado para ser bastante autoexplicativo aqui, vamos usar isso no método de registro aqui. Certo, vamos renomear isso para dados. Lá vai você. Deveria ser isso. Todo o código também está disponível para você no repositório do GitHub, um indivíduo também, mas isso deve ser praticamente tudo o que precisamos. Você também tem alguns bons comentários aqui, o que é realmente útil. Isso também é muito legal, logo após ter adicionado como este item de armadura, agora precisamos mudar todas as quatro peças de armadura para isso, ou pode se tornar um item de armadura Isso é realmente muito necessário aqui. E então podemos usar isso no modelo e no renderizador. Então, eles entrarão pacote do cliente da minha entidade aqui sob um novo pacote chamado armor. Você também pode movê-los para qualquer lugar do item, cliente, seja o que for. Então eles não precisam ir aqui, mas vou colocá-los lá. E haverá o Oracle vem braço ou modelo. E o outro vai ser o resultado da armadura Oracle renderização, eles estão atrás? O modal vai estender o modelo real animado do tipo ou um item de armadura de cálcio. E então vamos passar o mouse sobre isso, implementar os métodos. Então, esses serão os três métodos que retornam identificadores. Agora eu já preparei isso. Só vou copiar isso, mas deve ser bastante autoexplicativo. Isso aponta para o arquivo JSON modelo que exportamos da bancada de blocos. Este é apenas o nosso arquivo de textura e essas são as animações. E eu preparei as animações. É quase um arquivo Jason em branco. Não é bem, mas é bastante autoexplicativo. Então, vamos adicionar os arquivos JSON aqui. A animação também está disponível. E isso eu praticamente usei para todas as diferentes texturas, para todas as diferentes armaduras. Se você não tiver animações específicas associadas a ela. E você pode simplesmente fazer essa animação que não tem nada nela. E então o que vamos fazer é pegar a armadura GO e também conseguir isso aqui, eles atrás. Claro, modelo real neste caso. E então a textura que você pode ver isso deve passar por texturas, armadura modelo ou textura de armadura de cálcio. Então, haverá uma nova pasta aqui, modelos e, em seguida, um novo diretório chamado armadura. E então vamos acabar com a textura também. Este vai ser este aqui. Lá vai você. Apenas para fins de teste, é claro, ou textura de armadura de renda. Isso está correto. Lá vai você. Então, isso deve ser bom. E então o modelo está pronto. Em seguida, podemos continuar adicionando coisas ao renderizador. renderizador vai estender o renderizador de blindagem geográfica mais uma vez do tipo já contará o item de armadura. Vamos passar o mouse sobre isso e criar um super combinando construtor. E na verdade não queremos que nada entre aqui e aqui queremos o novo modelo Oracle Cloud Armor. Isso é bastante autoexplicativo. E então o que vamos fazer é que queremos definir isso, então queremos definir o osso da cabeça, o osso festa e assim por diante e assim por diante para os nomes. E esses nomes serão os nomes aqui. Podemos ver que esta é a cabeça de armadura aqui. Estamos colocando o osso da cabeça na cabeça de armadura. Este tem que ser o caso. Também podemos dar uma olhada mais uma vez, o renderizador de armadura de batata. Acredito que se eu realmente der uma olhada nisso, o renderizador aqui, ver que eles também fazem a mesma coisa. Isso é só, você só precisa definir isso. E foi muito interessante e não sei por que esse é o caso, mas você tem que colocar o osso da perna esquerda para a armadura perna direita no osso da perna direita para a armadura esquerda. Como se eu não soubesse por que esse é o caso. Pelo menos isso é o que eu achei que funciona. Não sei por que ele mudou por aqui. Não posso dizer o porquê, mas foi exatamente o que eu encontrei. É uma correção muito fácil. Então isso não é um erro de digitação, é assim que você precisa fazer isso, pelo menos foi para mim. E depois de adicionar isso agora, podemos realmente usar isso em nossa classe de cliente do curso MC. Então, haverá aqui. Queremos fazer é, queremos fazer, é claro, no método do cliente não inicializado, queremos dizer GU armor renderer.org, armadura registro nos renderizar com um novo ou o renderizador de blindagem de cálcio. E então queremos passar todos os nossos itens que temos. Mais uma vez, queremos passar as botas e depois os itens de modo. Não. Estas serão as leggings. E então temos itens mod, comece a dividir. Não, isso definitivamente não. Há sinal de flor de cerejeira e, em seguida, temos mais itens, esse elemento. Lá vai você. E isso deve ser bom. Sem erros. Deve ser presidente aqui. E acredito que todas as coisas consideradas, isso deve ser praticamente tudo o que precisamos. Há mais uma coisa que eu só quero acrescentar, só para que a tenhamos aqui. Vamos apenas adicioná-lo também. Podemos chamar gecko LEP dot initialize. Não tenho 100% de certeza se isso é ou não necessário. No entanto, é insanamente apenas uma boa ideia adicionar isso apenas para que tenhamos em nosso próprio método inicializado. Não tenho 100% de certeza de que o testei. Se ele basicamente quebra ou não o mod, não, se você não adicioná-lo, apenas com certeza, vamos adicionar isso também. E caso contrário, acho que isso deve ser praticamente tudo o que precisamos. Quero dizer, se algo não funcionar, então, é claro, será capaz ver isso imediatamente no jogo também. Vamos apenas entrar no Minecraft e ver se ele funciona. Conselhos em Minecraft. E vamos apenas pegar a armadura aqui e vamos ver se ela funciona. E, de fato, sim. E é claro que ainda temos nosso efeito de armadura de clientes aqui. E parece incrível. A coisa também funciona, como eu disse, fazendo a armadura parecer muito, muito legal. Isso é uma coisa muito difícil, como adicionar o ARMA como você viu, certo? São apenas algumas aulas que mudam as coisas um pouco. E então você tem a armadura, a exportação, os arquivos JSON e coisas assim. É bastante simples, mas depois faz com que pareça muito legal, tendo uma textura legal, legal, um modelo legal que é definitivamente muito difícil, mas quero dizer, é assim que é fácil adicione a armadura ao Minecraft, certo? Isso conclui esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E te vejo na próxima palestra. Sim. 116. (1.18.2): Ou eu dou as boas-vindas de volta ao cavalo de tecido para 118. E nesta palestra vamos adicionar um aldeão personalizado ao Minecraft. Sim, este agora vai ser um aldeão personalizado. Em vez de apenas adicionar alguns negócios aos aldeões já existentes, vamos adicionar um aldeão de clientes, mas isso é realmente muito mais direto do que eu pensava no pacote de cursos MC. Vamos fazer um novo pacote chamado aldeão. Em vez de lá, vamos fazer uma nova classe Java chamada de aldeões de modo. Agora isso vai conter tanto o ponto de interesse quanto o profissional ou o conteúdo desta classe que vou copiar, mas vou explicar tudo à medida que avançarmos. E também, é claro, tudo está disponível para você no passado ou indivíduo do GitHub também. Você pode ver se você tem um ponto de interesse e um profissional aldeão, eles estão, naturalmente, relacionados entre si. Um ponto de interesse é onde um aldeão recebe sua profissão do profissional. Então, é claro que é apenas o profissional. Então, vamos antes de tudo dar uma olhada no ponto de interesse real. Você pode ver que o que estamos fazendo aqui é basicamente registrar um tipo de ponto de interesse logo abaixo do ID do modelo. E nosso nome deve ser bastante autoexplicativo. E você pode ver o que estamos fazendo aqui é que estamos chamando esse acessor porque senão temos que chamar essa interface, essa mixagem. Caso contrário, não vai funcionar. Mas a ideia geral é que estamos basicamente criando um ponto de interesse com o nome que nos é dado aqui. E, em seguida, um bloco de um determinado estado. Embora a ideia seja que, se um bloco que estamos colocando aqui, quando chamamos esse método de ponto de registro, então o oracle vem blaster e todos os seus estados diferentes são basicamente vai ser registrado como um ponto de interesse. Essa é a blastopore, essa é a ideia. E depois de registrarmos o ponto, registramos a profissão. E você pode ver aqui mais uma vez com um nome dado e, em seguida, o tipo de ponto de interesse específico da idade que estamos passando para o relatório de explosão aqui e dentro da criação da profissão real. Então este é o nome, este é o tipo de ponto de interesse cada dois conjuntos imutáveis aqui. Podemos realmente fazer é que podemos do meio do mouse, clicar no lado profissional aqui, e devemos ser capazes de ver isso. Portanto, esses são os itens coletores e os locais de trabalho secundários. Acabei de colocá-los em apenas conjuntos imutáveis vazios porque isso vai ser mais fácil por enquanto. Você sempre pode dar uma olhada na aldeia ou na profissão e outros que estão sendo usados. Então, podemos realmente dar uma olhada neste aqui. Acho que o método de registro, por exemplo, o fazendeiro aqui. Você pode ver que tem ervas daninhas, sementes de ervas daninhas, assentos de beterraba excelentes, pode realmente pegar. E também há uma terra agrícola como um local de trabalho, por assim dizer. Mas vamos mantê-lo assim. Não quero que isso seja muito complicado. Você sempre tem à disposição todas as aulas de baunilha para dar uma olhada em como elas funcionam. E isso deve ser praticamente o que você vai precisar. Então, esse método de configuração de meninos aqui, na verdade, precisamos chamar a configuração para cada ponto. Então, se você tiver outro ponto, basta adicionar isso também. Adicione sua pesquisa aqui e, em seguida , tudo ficará bem. E isso precisa ser frio dentro do seu curso de MC inicializado, vamos chamá-lo aqui. Estes serão os aldeões MOD que configuram meninos atrás, e isso deve ser praticamente todo o código que precisamos. Agora, na verdade, vamos fazer mais duas coisas. Então, mais uma coisa no código, ou nós vamos fazer é , na verdade adicionar ou pelo menos uma ou duas negociações diferentes, porque as características que realmente vamos adicionar da mesma maneira que adicionamos esses traços com algo como duplicar isso. E então, em vez de escolher aldeia ou profissões, vamos escolher aldeões motorizados, não um mestre de explosão. E, em seguida, basta adicionar um aqui. E vamos apenas dizer algo assim, como nove esmeraldas. E então vamos adicionar um segundo. Talvez para a conta possa escolher machado. Lá vai você. E, em seguida, basta adicionar um terceiro, que será o nível dois. E isso talvez seja a pá ou uma quantidade diferente de ar que você vai, isso vai ser cinco, tudo bem. Então, é assim que você adiciona as diferentes ofertas comerciais também. Pode haver uma maneira diferente de fazer isso aqui, mas achei que isso era absolutamente, totalmente bom. Há também trabalhos e depois há uma coisa que é muito estranha e que será a textura ou as texturas. Vamos apenas ir para as bibliotecas externas até aqui, o nome mesclado do projeto e assim por diante e assim por diante para a pasta Assets, texturas Minecraft. Isso deve estar sob entidade de não confundir uma entidade e, em seguida até um aldeão aqui, e depois as profissões. Então, temos as profissões aqui e o aldeão bem aqui. Então, na verdade, vamos precisar do aldeão, bem como da nossa profissão personalizada. Agora acabei de pegar o profissional de armadura aqui, a imagem e apenas a fiz azul porque estou fazendo uma roupa de aldeão personalizada é na verdade muito, muito, quero dizer, não é tão fácil, certo? Então é como, é, é bastante. Então o que vamos fazer é ir e copiar isso. Portanto, a estrutura estará sob o namespace do curso da EMC. Então isso vai ser, vai estar sob ativos MC texturas grosseiras. Já temos a entidade aqui, e então precisamos do aldeão aqui. Um aldeão vai e então vamos precisar da profissão também. Eu realmente vou copiá-lo aqui para que você possa ver que temos a profissão aqui, o mestre da explosão, bem como o aldeão. Não sei por que precisamos da aldeia ou pelo menos nos meus testes, eu precisava do aldeão, um PNG. Não sei por que esse é o caso, mas é o que é. E então a massa de explosão aqui, nós temos, como você pode ver, apenas a tornou azul basicamente, porque estou fazendo um visual completamente personalizado para um aldeão. Na verdade, muito difícil. Portanto, é semelhante à armadura 3D personalizada. Então, sim, isso é praticamente uma coisa. E então a última coisa que vamos precisar é a tradução para o nome da profissão. E isso vai para o ENR nos parafusar o arquivo adjacente. E isso vai ser o seguinte. Então, vamos aqui. E vai ser uma micro aldeia de entidade ou um mestre explosivo. E lá vai você. O mestre da explosão será o que diz quando abrirmos o inventário para negociar com o aldeão. E isso vai ser praticamente isso. Agora, esses são os passos. Mais uma vez, é claro, tudo disponível para você na postura do GitHub em indivíduos também. E isso é praticamente tudo o que você precisa para um aldeão personalizado. Então, vamos ver se funciona ou se nos encontra no Minecraft. Então, vamos responder a um aldeão e definir o blaster. E lá vai você, funciona totalmente bem. Agora temos um mestre explosivo que negocia exatamente os traços que basicamente demos aqui. Então, vamos pegar algumas esmeraldas e vamos levá-las para o próximo nível aqui. Vamos ver, uma vez que o nível subir nos níveis literais das coisas, vamos ver, e lá vamos nós. E agora, como você pode ver, agora podemos obter a pá também para esses níveis dois. E também é aprendiz. Isso é realmente incrível. E, na verdade, como é fácil adicionar um aldeão personalizado ao Minecraft. E então isso seria praticamente para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. Como sempre, todo o código está disponível no repositório do GitHub, um indivíduo também. E te vejo na próxima palestra. 117. (1.18.2): Bem-vindo de volta ao cavalo de tecido para 118. E nesta palestra, vamos adicionar entidades de bebê personalizadas ao nosso tigre. Agora isso é realmente muito mais fácil do que eu pensava que vou pai, isso foi muito mais complicado, mas na verdade não é a única necessidade de mudar coisas na entidade, bem como no renderizador. E vamos começar na própria entidade, o que estamos realmente entrando em algumas coisas. A primeira coisa será os objetivos da carne animal. O que vamos fazer é duplicar a pista ou o objetivo aqui. E vamos chamar isso de, este é o objetivo de companheiro animal aqui com isso e depois também passando em um. D vai ser o trans aqui e a prioridade três deve ficar bem. Normalmente, isso vai ficar tudo bem. Isso é muito importante que adicionemos isso e, em seguida, também queríamos adicionar o método do item de leitura aqui. E então aqui podemos basicamente filtrar se um determinado item com o qual clicamos com o botão direito nessa entidade irá fazê-lo para que possamos classificar a criação, por assim dizer. E para o nosso caso, vamos usar itens de carne escura neste caso, se clicarmos com o botão direito do mouse no tigre com carne bovina, então ele basicamente entra no modo de reunião. Essa é a ideia geral que você tem. E então, é claro, a última coisa aqui é a criança criada. Mas isso vai exigir que façamos entidades mod, não criar pontos de tigre e depois passar o parâmetro world aqui, e é isso. Agora, em teoria, os bebês já surgiram. No entanto, eles teriam o mesmo tamanho que o tigre, o que, claro , não é exatamente o que você tinha em mente, eu acho. E para isso, vamos entrar no renderizador e vamos apenas substituir os esforços do tipo get render. Então este vai ser este aqui. E o que queremos fazer é só queremos manter isso sozinho. Vamos modificar isso um pouco lá, ele vai ler um pouco melhor. Nós só queremos fazer é uma declaração if para ponto animável é bebê, e depois fazer outra coisa. Vamos fazer outra coisa. O que queremos fazer é que só queríamos pegar a pilha e escalá-la. Então esta será a escala do animal. 111 é claro que vai ser a mesma escala que era antes. E então, no bebê, se passarmos isso aqui, queremos, por exemplo, fazer esse kernel 0.4 para que faremos o bebê cerca de 40% do tamanho do adulto normal. E é isso. Isso é tudo o que precisamos. Mais uma vez, muito facilmente factível, mutável. Você pode simplesmente alterar este aqui para um item diferente. Se você não quer carne bovina, se quiser outra coisa, há algumas coisas que você pode querer fazer. Você pode pensar, mas se você clicar com o botão direito do mouse no tigre com um, com a carne, você pode querer fazer outra verificação e seu método Interact mob aqui mesmo que você não começa a escrevê-lo. E também pode ser que você não possa escrever um bebê porque no momento podemos realmente escrever um bebê. Essas devem ser coisas que são bastante autoexplicativas. Neste ponto, estou realmente muito confiante que você deve ser capaz de fazer isso sozinho facilmente. Mas seja qual for o caso, esta é a criança. Então, vamos ver se adicionamos crianças ao Minecraft ou fósseis no Minecraft. Então, vamos apenas chegar aos tigres e vamos pegar um pouco de carne aqui. E vamos apenas ver, clique com o botão direito, clique com o botão direito E então vamos ver. Eu não recebo nenhuma partícula no momento porque eu realmente desliguei partículas, mas você já pode ver que isso funciona. Então, vamos configurações de vídeo sob partículas. Vamos apenas pegar todas as partículas aqui. A menos que você veja Há mais uma vez, lá vai você. Também obtemos as partículas e lá está. Vamos ver, lá está o animal bebê em uma versão menor do que as grandes. Na verdade, é totalmente bom funcionar completamente como você esperaria. Também podemos clicar com o botão direito do mouse sobre ele e, em seguida , ele também deve gerar um animal bebê. Isso também é outra coisa que você pode fazer. Lá vai você. Eles vão realmente crescer a propósito, é só demora um bom tempo. Eu posso realmente mostrar se está na classe de animais. Bem, mas é assim que é fácil adicionar alguns animais de bebê aos micróbios. Se descermos a árvore aqui, há dez entidades capazes de obter, entidade animal na classe de entidade animal. Aqui a reprodução esfriar, talvez esteja dentro, em algum lugar aqui. Acho que pode estar ainda mais abaixo. Talvez h lá esteja, na entidade passiva, menos 24 mil. Então isso deve ser de 24 mil tomadas, creio eu, até criar um adulto basicamente. Então você poderia, em teoria, também mudar isso. Talvez eu não tenha certeza se é um arquivo, então talvez isso não possa ser alterado, mas há basicamente onde ele está. E isso é praticamente o quão fácil é adicionar algumas entidades personalizadas à sua entidade, à sua entidade. E isso concluiria esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo. E te vejo nas próximas palestras. 118. (1.18.2) geodos personalizados: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra vamos adicionar um geode personalizado ao Minecraft. Portanto, o rendimento acostumado é, na verdade , bastante simples, tudo considerado. Então, vamos ver como isso funciona no pacote mundial, pacote recursos na classe de recursos configurados R, vou copiar sobre a loucura real da configuração do recurso geode. E parecerá muito. Mas não se preocupe, passaremos por quase todas as linhas e veremos o que elas significam. Então este é o oráculo vem geode aqui. Vamos apenas formatar é um pouco diferente, talvez, para que eles possam ver tudo o que há. E a ideia geral é que temos um conflito de feição geode com alguns conflitos de camada. Aqui. Os conflitos de camada são realmente a coisa realmente interessante porque aqui podemos definir, você pode ver 12345 blocos diferentes e, em seguida, também uma lista de blocos ou blocos estados neste caso, mas praticamente a mesma ideia. Se entrarmos no conflito da camada G0, podemos realmente ver quais são esses diferentes estados de blocos. Assim, podemos ver que há uma camada interna do provedor de preenchimento. Há um intercalar ampliado alternativo. Há uma camada intermediária uma hora depois e um bloco interno que ela não pode substituir e, em seguida, também uma tag de blocos inválida também. Então, o que todas essas coisas malucas significam? Bem, vamos falar sobre os blocos internos primeiro. Os blocos internos são basicamente, no caso da baunilha, são a ametista brotante. Então, se nós o botão do meio do mouse, clique nisso e podemos ver a classe de recursos configurados subterrâneos aqui e ver os clusters de geode ametistas entrarem aqui e ver o ar é o primeiro um. Então, este é apenas o bloco mais interno absoluto. E, claro, geralmente o que você gostaria é que seu DEUS fosse cheio de ar. É por isso que isso é ar neste caso. E o bloco emesis é o, vamos ver, estes são os provedores da camada interna. Então, esta é basicamente a primeira camada interna. E então temos um provedor de estado de bloco de uma camada interna alternativa. Agora essas são a ametista em ascensão. Então, esses são os blocos onde a Terra está realmente crescendo. Também temos uma calcita aqui. Portanto, esse seria o provedor da camada intermediária. E então também temos o, deixe-me realmente verificar isso aqui, os músculos lisos e que seria o provedor da camada externa. Então, temos uma camada intermediária e uma hora depois, você verá em nosso exemplo aqui, se eu voltar para isso, podemos ver que o erro é a mesma coisa que temos uma ardósia profunda o maquiagem geral da camada interna. O oráculo vem ou será nossa ametista brotante, por assim dizer, uma camada externa de sujeira. E então a nossa camada completa será o bloco Esmeralda, enquanto o recalc e o bloco bem aqui, onde esta lista é basicamente, esta será nossa ametista crescente. Então, na lista aqui, você pode ver que esses são os botões de MFAs que podem surgir. E no nosso caso, estes serão nossos blocos de cálcio apenas por causa de um exemplo aqui, certo? A espessura deve ser bastante autoexplicativa. Basta definir a espessura aqui. Uma configuração de craqueamento basicamente determina tamanho de algumas aberturas nesse geodo. E então você tem algumas coisas que você pode basicamente mudar a distribuição, multiplicador de ruído e algum deslocamento de geração, altamente recomendável, como sempre, brincar com os números aqui. Isso é como a melhor coisa que você pode fazer. Também brinque com os blocos aqui. Você verá em apenas um momento em que realmente geramos isso em um novo mundo, como isso realmente parece. E você entenderá muito facilmente como isso funciona. Portanto, não se preocupe lá. E essa é basicamente a ideia geral. Brinque com isso. Agora, é claro, tudo disponível para você em um repositório do GitHub e individual também. Portanto, não se preocupe lá. Vamos prosseguir para a classe de recursos do mercado. Então, vou copiar isso também. Mas isso também não será muito louco. Na verdade, faça algo assim. Talvez você possa ler isso. Lá vai você. Há o oráculo que se tornou real e você pode ver que estamos apenas fazendo uma colocação de raridade aqui de 42 porque por que não? E então precisamos do recurso de posicionamento quadrado, modificador de posicionamento quadrado desligado. E então temos a altura uniforme de seis a 50. Acabei de escolher isso porque vai ficar bem uma vez, uh, mais uma vez, é claro, brincar com isso, certo? Escolha, escolha deslocamentos diferentes, certo? Você pode usar o fixo abaixo, tudo isso. Basta experimentar um monte de coisas aqui e depois ver o que você pode encontrar com os diferentes valores aqui. E para gerar isso, bem, é bastante simples. Nós só queremos entrar em nossa geração aqui. Vamos apenas duplicar este e queremos mudar isso para o oráculo que vem ou colocado para o oracle vem, GO TO colocado. Também certificando-se de que o recurso Configurar aqui é o geode. E então aqui também estamos referenciando o geode e é isso que deve pequeno nicho, você está em um novo mundo. Vamos criar um novo mundo e ver se ele funciona. Ou na França ou em Minecraft. E lá já temos um exemplo. Então encontramos um, um geodo e você pode ver, é claro, a camada mais interna basicamente é o ar aqui. E então você pode ver que essas são as diferentes camadas. Você pode ver que isso é profundamente a sujeira aqui. Em seguida, temos a substituição de ametista em brotamento para r ors. E então, em alguns deles, o Oracle pode bloquear o spawn e esses seriam os lugares de onde os clusters reais surgiriam. O bloco Esmeralda em si, você pode ver, na verdade, está muito fora dele. Então você pode ver que é aqui que o geodo já começa e é bastante. Então você pode ver aqui , então tudo isso é sujeira e, em algum momento, você basicamente começa a encontrar alguns dos diferentes blocos aqui também. E então, em algum momento depois de cavar muito, então você pode ver que é bastante. Então você realmente chegou ao outro lado de fora novamente. Podemos ter que ir por esse caminho. E então, em algum momento, vamos ver. Nós poderemos encontrar o GO real lá dentro também. Então, isso é praticamente o quão fácil pode ser adicionar alguns campos personalizados. Mais uma vez, brincando com os números, brincando com os blocos. Tudo depende de você. Mas, no geral, é muito simples tê-lo, gerá-lo. E, como sempre, como eu disse, o código está disponível no repositório do GitHub e no indivíduo também, mas seria isso para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo e eu te vejo na próxima palestra. Então, sim. 119. (1.18.2) bloco que interaja com o Redstone: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra, vamos dar uma olhada em como você pode implementar o Redstone em seu bloco de clientes. Então, o que isso significa? Bem, vamos fazer com que o oráculo se torne uma lâmpada, um bloco que, em vez de clicar com o botão direito do mouse para ligá-lo e desligar, vamos fazê-lo funcionar com minério redstone isso, certo? Temos um exemplo e esse é o bloco de lâmpadas redstone. Como sempre o código-fonte de micróbios é seu melhor amigo. Vamos apenas pressionar Shift duas vezes e vamos procurar o bloco de lâmpadas redstone aqui. E você pode ver que temos o método de atualização vizinho, bem como esses métodos programados para tomar. Então, esses são os dois métodos que precisamos. Vamos apenas copiá-los, selecioná-los e copiá-los sobre o controle C, controlar V para colá-lo. E então só precisamos trocar a tampa aqui para coletar em todos os lugares onde diz LET, você só quer dizer o mesmo aqui também, e gostou também. E então podemos tornar isso um pouco mais fácil de ler. Então, em vez do valor booleano, nós só queríamos gostar disso. E então o elenco aqui também, não precisa acontecer agora a questão é o que está acontecendo aqui? Bem, o método de atualização dos vizinhos é chamado quando um vizinho dessas atualizações de estado de bloco específico no mundo não deve ser muito louco para as ideias gerais que queremos saber se isso bloco específico está ativado. Se estiver em n, não está recebendo energia, queremos desligá-lo e ao contrário. Se estiver, se estiver desligado e está recebendo energia do que queremos ligá-lo. Essa é a ideia geral. Agora isso é um pouco mais complicado em minha mente do que tem que ser, mas vamos ficar bem porque é praticamente assim que a baunilha faz isso também. E então estamos agendando um tiquetaque basicamente é feito aqui. Então você pode ver que isso é chamado quando um carrapato programado é bem executado basicamente. E estamos basicamente apenas definindo o estado nessa posição específica para o ciclo de estado de flick. O que é ciclo significa? Bem, estamos basicamente apenas invertendo qualquer que seja o valor booleano real. Então, ciclo, apenas percorra todos os valores. É muito difícil de ver neste caso. Mas a ideia geral é que ele apenas percorre todos os valores diferentes dessa propriedade de estado de bloco em particular porque é um booleano, existem apenas dois valores possíveis que ela pode ter. Portanto, ele só vai transformar uma dobra em um verdadeiro e um verdadeiro em um falso. E isso é tudo o que precisamos. Então você pode ver que está recebendo o poder Redstone nesta posição específica, e isso é tudo o que precisamos, certo? Então este é apenas um método booleano aqui que pergunta: Ei, esse bloco está recebendo poder? E isso é tudo o que você precisa para verificar se a energia é aplicada ou não a esse bloco. E então só para que tenhamos isso que é realmente comentar isso aqui. E vamos apenas criar um sistema para fora da linha de impressão e vamos dizer alimentado por. E então vamos dizer isso ao mundo e temos um pouco de poder. Bem, as coisas aqui você pode ver que há um poder emissor, ler algum poder e receber energia, ser emitido. Redstone está recebendo Redstone e, em seguida, o mais forte, vamos apenas produzir o poder mais forte. Então isso vai retornar um número inteiro neste caso, e será qualquer coisa de 0 a 15 porque, claro, poder Redstone, o máximo é 15 e o menor seria 0, que não seria nenhum poder. Isso será exibido no console aqui dentro da inteligência quando clicarmos com o botão direito do mouse neste bloco específico. Agora isso é realmente tudo o que precisamos fazer, maior parte da baunilha. Agora, como sempre, é claro, todo o código aqui estará disponível para você em uma descrição no repositório do GitHub e individual também. Agora vamos entrar em um mundo e vamos ver se ele funciona. Tudo bem, amigos no Minecraft novamente, e eu já defini o laboratório de ícones oracle aqui. Então, vamos pegar uma alavanca e vamos ver. E então nós vamos, ele liga e depois desliga quando eu, mas a alavanca desliga novamente. E então o que podemos fazer tão bem quanto podemos com isso. Então lá vai você. E isso também funciona. Se eu agora clicar com o botão direito do mouse e dar uma olhada aqui na inclinação, devemos ver o poder por 14. Então, é claro que este é o caso porque isso seria 15 e , em seguida, mais um junto com a linha Redstone aqui, isso seria 14. Se eu também ligar a alavanca aqui e clicar com o botão direito do mouse novamente, então você pode ver que ainda estamos recebendo 14. Curiosamente, isso deve ser 15. Na minha mente, isso é muito interessante. Vamos ver se podemos fazer isso assim. Esse é esse trabalho. Agora ele funciona com 15. Tudo bem, então a alavanca, na verdade não funcionou bem. Eu acho. Isso é muito interessante para mim. Na verdade, eu esperaria esse trabalho, mas justo o suficiente. Então, essa agora é basicamente a maneira como isso funciona e é assim que pode ser fácil adicionar um bloco que funcionará com Redstone, Minecraft. Obviamente, qualquer funcionalidade adicional que você queira adicionar quando o restaurante for aplicado, claro que você precisa adicionar no bloco ou se esta for uma entidade de livro, você também pode claro, faça isso também e , em seguida, mude-o por lá também. Mas isso é claro, algo que você pode fazer sozinho. E espero que você possa fazer isso e adicionar alguma funcionalidade a ele também, mas será isso para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo e eu te vejo na próxima palestra. Então, sim. 120. (1.18.2) Renderer de entidade com bloco personalizado: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra vamos adicionar um renderizador de entidade de bloco de clientes ao Minecraft. Então, o que é um renderizador de entidade de bloco? Bem, basicamente, será uma certa renderização extra que adicionamos a uma entidade de bloco de clientes. E qual será nossa entidade de bloco? Bem, vamos ter um modelo de bloco personalizado que se parece com isso, mas vai ser um pedestal. E então, quando clicamos com o botão direito do mouse com um item e o item vai passar o mouse sobre esse pedestal em particular. Essa é a ideia geral. Nada muito louco, mas ainda é muito legal olhar para esse firewall de bancada de blocos em particular , é claro, também estar disponível para download. E então podemos ir para Exportação de Arquivos, Exportar , modelo de item de bloco, o pedestal adjacente. Agora eu já tenho isso, então vamos ficar bem e vamos adicionar isso em pouco tempo como um modelo de bloco adjacente. Mas primeiro vamos começar adicionando o bloco. Então, em nosso livro, em nosso pacote de blocos personalizados, clique com o botão direito do mouse em nova classe Java chamada pedestal. Olhe. Agora estarei vindo sobre a maior parte disso, mas não se preocupe. Tudo isso está disponível para você em um repositório do GitHub em indivíduos também. Agora vamos ter uma flecha aqui e mais algumas setas aqui. Mas não se preocupe, poderemos corrigi-los em apenas um momento depois de adicionarmos a classe de entidade de bloco também. Agora, o que está acontecendo aqui? Bem, no geral, o mais importante aqui é, claro , que estende o bloco com classe de entidade e também que temos o tipo get renderizado sobrescrito pelo modelo. Isso é extremamente importante. Se você não fizer isso, seu bloco personalizado ficará invisível, pois realmente vai para o fundo. Então, esses são três métodos auxiliares. Também temos o estado substituído. Isso simplesmente derruba basicamente todos os itens que estão dentro do inventário. Nada muito louco. E então temos o não utilizado. claro que esse método é chamado quando você clica com o botão direito do mouse neste bloco específico. E o que acontece aqui é que, se o item em vez do pedestal estiver vazio e nós realmente estamos segurando um item, então vamos colocar este item que o jogador está segurando neste inventário e exclusão do item posterior em sua mão. Se realmente não houver item dentro desse pedestal em particular, então estamos apenas gerando para o jogador e, em seguida, estamos excluindo o item do pedestal bem aqui. Então, isso é tudo o que realmente estamos fazendo no método não utilizado. Recomendo verificar isso também. Não é tão complicado, todas as coisas consideradas. E um de nós, temos esse bloco. Na verdade, vamos entrar no pacote de entidades e criar as entidades personalizadas. Então esta será a entidade do bloco de pedestal e há algo esgueirado aqui, e isso vai ser um erro de digitação. Então lá vai você. Entidade de bloco. Lá vamos nós. E mais uma vez, copiarei sobre os continentes. Isso é, na verdade, acho que isso é ainda menor do que o bloco real. Curiosamente. Há apenas 67 linhas de comprimento. Não é tão louco. E você pode ver isso, é claro, estende a entidade de bloco e ela implementa o inventário implementado que adicionamos na palestra de entidades de bloco de clientes também. Temos a lista padrão de itens pilha que é apenas o inventário não deve ser nada louco. E então também temos uma falha aqui, que é a rotação. Mas precisamos das rotações neste caso, porque elas precisam ser salvas na própria entidade do bloco. Porque não podemos realmente salvar isso no renderizador de entidade de bloco porque eles já existem apenas um renderizador de entidade de bloco enquanto a própria entidade do livro. Se o guardarmos nisso, isso não interferirá. Porque quando você o salva no bloco e no renderizador D, o que acontece é que cada vez que você se senta uma nova entidade de bloco de pedestal, a coisa fica cada vez mais rápida. E isso, claro, não é exatamente algo que queremos. Portanto, é por isso que a rotação será a rotação do item. Então é por isso que salvamos aqui. Nós também temos o direito em um método de leitura e beleza não deve ser nada louco, certo? Estes são apenas para salvar o inventário quando saímos do mundo, certo? Quando salvamos o mundo. E também incrivelmente importante é que queremos atualizar o método de pacote sobrescrito pela entidade de bloco, atualizar para servidor para cliente para ver o pacote e criá-lo com isso e, em seguida, também para dados iniciais do bloco e b t. Queremos que isso se pareça com isso. Então esses dois são incrivelmente importantes. Caso contrário, haverá uma sincronização em D entre o servidor e o cliente. Portanto, tenha isso em mente que esses também precisam ser adicionados. Como já mencionei. Tudo isso está disponível para você no processo ou para um indivíduo também. Podemos copiá-lo de lá, então vamos para a classe de entidades de bloco e vamos apenas copiar sobre o pedestal. Então, antes de tudo, vamos copiar isso. Então, vamos duplicar isso e fazer com que a entidade de bloco de pedestal seja chamada de pedestal. E então vamos apenas duplicar este selecionado e pressionar Control D. Este vai ser o pedestal. É claro que isso é igual a, primeiro lugar, o nome aqui, pedestal. E então aqui queremos mudar isso para uma entidade de bloco de pedestal. E então aqui queremos usar o pedestal. Agora, é claro que isso ainda não foi implementado , mas não se preocupe. Vamos apenas adicionar isso também. Então, as entidades de bloqueio de modo azul, agora podemos ir para a entidade pedestal rock. O erro aqui deve desaparecer e não deve haver mais erros presentes do que no bloco. Agora podemos importar a classe de entidade do livro de pedestal e todos os erros aqui também devem desaparecer. E é ótimo. E então, para nos livrar desse erro, só temos que registrar o bloco real. Então, vamos fazer isso também. Vamos apenas copiar sobre a janela de inverno. Isso vai ficar bem. E este vai ser o cavalo pedestal, mesmo com o nome aqui no assalto. E este será o bloco de pedestal. Agora não vamos copiar vidro. Vamos realmente fazer de pedra material. Acho que isso faz mais sentido, não opaco. Na verdade, não precisamos disso. Força três, vai ficar bem. E, claro, em nosso grupo de itens, em nosso grupo de itens personalizados aqui. E isso deve ser bom. Agora essa seta também deve desaparecer, e agora todos os erros desapareceram. Agora ainda precisamos do renderizador personalizado. Portanto, no pacote de entidades, vamos clicar com o botão direito do mouse em novo pacote chamado cliente. E então lá dentro faremos uma nova classe chamada renderizador de entidade Volokh de pedestal. Você vai e isso é realmente bastante simples, mas isso implementará o renderizador de entidade de bloco Renderizador, renderizador aqui do tipo. entidade de bloco de pedestal passará o mouse sobre esses Métodos de Implemento. Este é o método render aqui, e isso é praticamente tudo o que precisamos fazer. Faça. Então, podemos fazer um renderizador de entidade de bloco de pedestal público. Em vez de aqui, queremos chamar a entidade do livro renderizar nosso contexto de ponto de fábrica, contexto e meta. Então, queremos apenas o construtor padrão basicamente aqui com esse parâmetro específico e o método de renderização também, o conteúdo do método aleatório que eu realmente copiarei. Você pode ver que estamos basicamente recebendo a renderização do item aqui e, em seguida, também estamos recebendo a pilha de itens. Agora, o que estamos fazendo com as matrizes aqui, a pilha de matrizes basicamente é que somos, tudo isso apenas determina a tradução. Então, onde está nossa pilha de itens em particular, escala determina o tamanho dela e, em seguida, multiplique aqui, apenas gira o item real em erupção. Isso é o que esses três resfriados fazem do que o item Renderizador do item renderiza apenas o item. Então temos que estourar essa pilha de matrizes em particular e, em seguida, estamos adicionando a rotação a ela também. Então isso é praticamente tudo o que estamos fazendo aqui. Tão legal, tudo considerado. E eu recomendo apenas dar uma olhada nisso e estou tentando entendê-lo. Não deve ser tão louco. Mas também direi que a renderização definitivamente não é meu forte. Eu gosto especialmente disso. É, pode ser muito louco, mas tudo considerado, deve estar bem, certo? Uma coisa minúscula, vamos realmente chamar o não opaco aqui. Só para que tenhamos isso. Faz sentido, acredito porque o, porque é menor que um bloco. Então, vamos chamar isso. E então, como registramos esse renderizador de entidade de bloco específico? Bem, este bloco é que seu Hendra está realmente registrado de forma bastante direta na classe de cliente do curso MC mais uma vez, é claro, agora isso exigirá o seguinte. Queremos chamá-lo de registro do renderizador de entidade do livro. Este aqui, não registrado. Mais entidades de bloco, pedestal de ponto e, em seguida, a entidade pedestal de rocha Renoir colon, dois pontos novos. Também queremos chamar a instância de ponto do mapa da camada de renderização de blocos instância de ponto do mapa da camada que coloca o pedestal de ponto de blocos ou blocos. E, em seguida, defina a camada do renderizador para ser cortada que você obteve. E isso deve realmente ser todas as coisas que precisamos. Agora, é claro, também precisamos dos arquivos adjacentes, mas esses devem ser bastante autoexplicativos, certo? Então, esses não devem ser muito loucos. Mas, mais uma vez, no estado de bloco está Jason na pasta Block States, à direita, Vamos começar adicionando o arquivo JSON de status do bloco para o pedestal real. Eles vão, este é apenas um arquivo normal do Bloc declara Jason. Nada de louco acontecendo aqui também adicionou a tradução. Temos um bloco, porém , esse nome pedestal. Então, vamos adicionar isso. Neste ponto, isso deve ser praticamente rotineiro, não deve ser nada louco por aqui. Agora, este será o arquivo exportado, então haverá pedestal adjacente aqui. E aqui. É claro que mais uma vez precisamos mudar isso para a pedra lisa do bloco de dois pontos do Minecraft. Porque, de outra forma, não vai encontrar uma pedra lisa. Então, essa é uma das coisas que você precisa alterar do arquivo json exportado e, em seguida, do arquivo JSON do item também. Praticamente a mesma coisa que já vimos muitas vezes antes. Isso se refere ao arquivo JSON do modelo de bloco e, em seguida, nenhuma textura é necessária. Então, essas são, na verdade, todas as coisas que precisamos. Bloquear estados, tradução, bloco, um modelo de item, arquivo JSON e deve ser ele. Então, isso deve ser tudo o que precisamos. Agora. Vamos entrar no jogo e ver se ele funciona. Tudo bem, então nos encontramos no Minecraft e, como você pode ver, o pedestal foi adicionado. Então, vamos configurá-lo e vamos tentar clicar com o botão direito do mouse com o erro bruto cálcio. E lá vai você. Está sentado. E também podemos adicionar um pouco mais aqui. E você pode ver, basicamente, todos eles são apenas coisas para cima e para baixo e se registrando aqui. Então eu posso clicar com o botão direito do mouse e tirá-los dele novamente. E posso clicar com o botão direito do mouse e colocá-los. E você pode ver que estou sempre perdendo um ou cálcio basicamente. E então eu também posso tirá-lo. Então, exatamente como esperaríamos que funcionasse. Na verdade, funciona, e isso é muito legal. E esse é um exemplo de um renderizador de entidade de bloco de clientes. Mas, como eu disse, o código está disponível no repositório do GitHub em indivíduos também. Mas isso seria para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo e eu te vejo na próxima palestra. Então, sim. 121. (1.18.2) Chests loot em estruturas personalizadas: Tudo bem, bem-vindo de volta o curso de tecido para um ATP. Nesta palestra, veremos como você pode adicionar baús de saque personalizados às suas estruturas personalizadas. Então isso é algo com o qual algumas pessoas lutaram, mesmo que com o qual algumas pessoas lutaram, a estrutura personalizada do solo telepático aqui tivesse isso muito bem explicado aqui. Mas algumas pessoas ainda precisavam de alguns exemplos, então vamos aplicá-los com esse exemplo. Vamos ver o que temos que fazer. Que o que temos que fazer é que podemos gerar um baú aqui. E novamente ele nasce com esse comando em particular. Então defina o bloco na posição que estamos em pé, um baú do Minecraft, eles ignoram. Então, ele vai enfrentar a mesma direção que estamos investigando. E então a mesa de saque vamos definir para bungees simples no peito. Então, vamos fazer isso. E você pode ver agora que a confiança surgiu. Agora, se eu abrir, certo, e então vamos entrar e salvar isso. Então, se eles vivem, este é o Davidson. Se eu pedi agora salvar essa estrutura, então cada estrutura teria esse conteúdo específico desse baú. Esse é um dos problemas que algumas pessoas enfrentaram porque o que você precisa fazer é quando você realmente o gera. Então, vamos dividi-lo novamente, aqui com mais uma vez, a mesa de saque, simples masmorra. Você também pode adicionar suas próprias tabelas Lu e também pode fazer diferentes tabelas de rotas aqui, mas certifique-se de ter basicamente uma tabela especificamente para xadrez. E depois de mostrar o baú, não abra o baú. Você pode abrir o baú porque assim que você abre o baú, você solidifica o que está dentro dele. Você quer que isso não seja aberto depois de engoli-lo e, em seguida, você deseja salvar sua estrutura personalizada. Mas agora vamos salvar a estrutura. E agora podemos substituir os dados NVT que já temos. E então esse baú em particular sempre terá carga diferente quando a estrutura é gerada no mundo. Agora vamos para inteligente e alterar o arquivo MPT, certo? Portanto, o arquivo NVT está, claro, mais uma vez sob o cofre. Agora este deve ser o, outro dia, outra estrutura, se eu me lembro corretamente, Lá vai você, o mouse de contagem. Vamos copiar isso. Vamos para a pasta Dados, estruturas do curso MC, e vamos colá-lo aqui, conta mhos MVT, vamos substituí-la. Tudo bem. E agora isso é tudo o que precisamos fazer. Agora vamos criar um novo mundo e ver se ele funciona. Tudo bem, então nos encontramos no Minecraft novamente. Então, vamos voar para a primeira contagem, minha casa aqui que surgiu e acredito que há outra nessa direção. Bem, antes de tudo, encontraremos o baú dentro daqui. E se eu clicar com o botão direito do mouse, você pode ver que essa é a carga específica. Então, temos armadura de cavalo de ferro e três carne podre. Então, vamos salvar isso em nosso cérebro e vamos ver. Ok, então havia uma armadura de cavalo e três carne podre, e vamos ver se conseguimos encontrar outra. Outra conta minha casa, quer este seja ou não também o caso. Tudo bem, então finalmente vamos, finalmente achei que outro mouse de conta seria muito difícil encontrá-los. Lembre-se, havia três, carne podre e uma armadura de cavalo, e podemos ver que isso é completamente diferente. Agora temos disco de música. Ainda temos uma armadura de cavalo, mas nenhuma carne podre. Mas você pode ver que cada estrutura tem um loop diferente dentro delas. Então, isso é praticamente o quão fácil é adicionar um baú de saque personalizado, suas estruturas personalizadas, certo? Mas isso já seria para esta palestra aqui. Espero que você tenha achado útil e aprenda algo novo e vejo todos vocês na próxima palestra. Então, sim. 122. (1.18.2) ATUALIZAÇÃO PARA 1.19: Tudo bem, bem-vindo de volta ao curso de tecido para 118. E nesta palestra vamos atualizar nosso projeto para 119. Agora, isso realmente vai ser um processo bastante simples, tudo considerado. Felizmente, as mudanças entre 11819 e tecido não são tão loucas. Então, vamos começar. Primeiro de tudo, vamos começar com o arquivo adjacente mod de tecido, onde temos que mudar essas dependências ou aqui. Agora queremos mudar esses dois. Carregador de tecido sendo 14,6. Quero alterar a versão do Minecraft para ser a linha squiggly aqui, tilda 1.19. Claro, isso deve ser bom. Em nosso curso MC misturando o arquivo Tracer, queremos alterar o Java, java 17 e, em seguida, podemos continuar com o arquivo Gradle de compilação, onde antes de tudo, queremos alterar a versão do Looom de malha aqui para 12 . E então, é claro, também queríamos mudar a implementação do lábio da gecko aqui. A força de equilíbrio tem que ser atualizada. Então, este seria um tecido em 22,1. E então, no arquivo de propriedades maiores, é aqui que temos que mudar a maioria dessas coisas. Queremos mudar a versão micro para 1 nono, mapeamentos de fios ou 119, construir um carregador de tecido. A versão inferior aqui é 14,6. Podemos então, é claro, também mudar nossa própria versão mod aqui. E então isso será 55.11.19. E isso deve ser praticamente todas as coisas que precisamos mudar aqui. E então podemos carregar as alterações do Gradle. Agora, mais uma vez, isso pode levar de alguns segundos a talvez até dois minutos, três minutos, dependendo da rapidez com que seu computador seja, dependendo da rapidez com que sua conexão com a Internet seja, tudo isso loucura. Vamos deixar isso passar e ser paciente. E então veremos uma vez que isso tenha chegado como uma construção bem-sucedida, tudo bem, aqui estamos 32 segundos. Se você entrar, por exemplo, para sua classe mod principal e algumas das classes estiverem marcadas como taxas vermelhas em que inicializador poderia, por exemplo, ser Margaret, não se preocupe, espere um segundo até que tudo tenha construído e, em seguida, ele deve se fixar em teoria. Então, isso é praticamente tudo o que precisamos fazer. Agora, é claro, vêm as mudanças de código, que são, eu não diria numerosas necessariamente, mas existem algumas delas. Então, vamos antes de tudo começar no topo de nossas aulas. Então, o primeiro em que precisamos mudar algumas coisas é, acredito que não é a classe de pedestal, deve ser o bloco rápido. Agora, curiosamente, a coisa que realmente precisamos mudar aqui é o texto aqui. Portanto, a classe de textos literais não existe mais, mas, felizmente, é muito fácil mudar isso. Só precisamos chamar literal de ponto de texto. E isso é praticamente tudo o que precisamos fazer mais uma vez aqui, texto ponto literal, e agora temos um erro nas importações. Você conserta isso, podemos apenas pressionar control alt e O. E isso deve corrigir isso também. Agora você pode ver que a tela Aleatória também não está funcionando. Agora, por que isso poderia ser? Bem, a razão é que a classe aleatória também mudou. Atualmente, estamos usando Java util random. Vamos apenas excluir essa importação. E se importarmos a classe aleatória novamente, você pode ver que ela realmente quer importar o Minecraft net, bela matemática aleatória, aleatória. Na verdade, temos uma nova classe aleatória. Isso agora, é claro, tem algumas funcionalidades diferentes. Então, na verdade, temos que fazer o seguinte no duplo. Então, aqui no nosso próximo duplo, nós simplesmente não vamos passar em nada neste caso. E isso também deve ser nesse caso. Lá vai você. Isso deve estar tudo bem. Então, se você tem um método em que aleatório é um parâmetro, provavelmente é o motivo pelo qual ele não está funcionando. Se ainda estiver usando a classe Java util aleatória, é um pouco, não é a melhor convenção de nomenclatura aqui para nomeá-la da mesma forma que a Java util one, mas isso vai ficar tudo bem. Mas essa é a classe aleatória lá e esse é o bloco rápido e isso deve ser bom. Agora, uma das grandes mudanças vai estar em nossas coisas high-end. Então este deve estar bem. Mais entidades de bloco devem estar bem. Você pode, claro, passar por isso. Aqui. Acabamos de ter um texto. Mais uma vez, serão textos tão literais e depois Alt, Control e O, e então nenhum erro deve estar presente. Então, tudo isso é ótimo. Você pode ver que a maioria dessas coisas vai ficar muito bem. A classe mais blocos também está correta. Isso é ótimo. A ciência também é boa. Então, os blocos estão todos feitos. Algumas mudanças aconteceram nos comandos. Vamos ver isso em um momento. O método de cancelamento de registro também mudou , mas tudo bem. Vamos apenas mudar os textos tão literais por enquanto. E então, mais uma vez, Controlar Alt O. E então, para este comando em casa, a mesma coisa. Vamos dizer, texto literal dia atrás e depois Controlar Alt O novamente. E lá vamos nós. Os comandos são alterados por enquanto. E o que é muito importante aqui também é que tudo, é claro, está mais uma vez disponível para você na descrição abaixo no repositório do GitHub e individual também. Agora, os conflitos mod não devem mudar porque esses são todos basicamente novos. Selecione classes personalizadas mais ou menos os efeitos, elas não alteram os Encantamentos, elas não alteram as entidades. Então, algo mudou no lábio de gecko e esses são os nomes desses métodos específicos. Então, o que podemos fazer é simplesmente fazer o seguinte. Podemos simplesmente selecionar isso. Então, vou copiar o nome aqui. Vou para minha conta pequeno pacote de imprensa Control, Shift R e colar isso. E eu quero mudar isso em todos os poços em todos os lugares em que estamos basicamente surge e esse nome aqui muda para o recurso modelo. Em suma, escrevemos isso corretamente lá você receberá mais recursos. Nós só vamos substituir todos. E então isso será corrigido em todas as nossas classes de modelos personalizados. Como sei que essa é a mudança? Bem, se nós apenas o botão do meio do mouse, clique na massa modal GO animada aqui, podemos basicamente ver as diferentes coisas são, isso é realmente no provedor do modelo. Acredito que eles vão modelar recursos, recursos de textura. E o outro são os resorts de animação. Então, isso é praticamente o que ele muda também. Então, mais uma vez, vamos fazer a mesma coisa, Control Shift R no pacote do calendário. Agora vamos alterar o local da textura para o recurso de textura. Está tudo bem. Mas vamos substituir todo o ego. Isso vai ficar tudo bem. E, em seguida, a localização do arquivo de animação também é a mesma coisa. Substituindo isso pelo recurso de animação o coloca, substituí-lo. Agora, não há mais erros presentes em nenhum dos nossos arquivos de modelo. Isso também é bom e você pode ver isso também tudo mudado, mas também tudo ainda está funcionando. Então, exatamente como você iria querer para as entidades reais. Não há alterações nas entidades. Há uma mudança aqui. O que é isso? Este é o fim, ser controlado por escritores. Então, vamos realmente dar uma olhada no que é isso. Bem, eu não tenho 100% de certeza por que o gravável aqui não tem mais o pode ser controlado pelo escritor. Mas, honestamente, vamos remover a substituição de adição e esperamos que ela ainda funcione. Essa provavelmente será a melhor ideia aqui. E então, quando se trata do resto aqui, tudo ainda deve estar funcionando totalmente bem. Portanto, as entidades também são feitas. Os eventos também devem estar bem neste caso, isso é ótimo. Os fluidos também são totalmente bons. E então chegamos ao item. O item é o primeiro. Somos algumas mudanças que aconteceram, mas também não tão loucas. Embora a maioria das mudanças no item tenha acontecido no tablet de dados e na haste de dowsing. Porque mais uma vez, temos alguns textos, textos tão facilmente que literais aqui controlam Alt O, e então o mesmo no item da vara de dowsing aqui temos textos traduzíveis, então isso vai ser textos traduzíveis. E então aqui também, temos em vez de novos textos traduzíveis, temos textos traduzíveis e, em seguida mesmos aqui, textos traduzíveis. Então aqui, mais uma vez, temos textos literais de textos, controle literal de dados, Alt O, controle literal de dados, Alt O, e então nenhum erro deve estar presente. Além disso, o resto dos itens está tudo bem. Pode haver algo na classe mais itens. Não há nada na classe mais itens. Então, tudo aqui funciona também. O mixer deve estar bem, exceto por esses recursos estruturais mixin, podemos realmente excluir isso aqui. E também muito importante, exclua isso do curso MC ou da corrida mista também, que não é mais necessário. Agora as pinturas têm a pintura estranha? Sim, as pinturas realmente mudaram. É uma loucura, eu sei, mas é o caso agora. Não é mais chamado de motivo de pintura. Agora é chamado de pintura, uma variante. Mas o que podemos fazer é basicamente selecionar esta pressão Control R e seguida, mudar isso para a variante de pintura e, em seguida, basta dizer Substituir tudo, e então deve ficar bem. E então aqui queremos mudar isso para uma pintura, uma variante, e então ela deve funcionar também. As poções não mudaram, e acredito que as receitas também não mudaram. Então, tudo aqui ainda está funcionando. Ótimo. As telas estão bem, os sons estão bem, e então você até agora, em Utah há realmente quem muda. Um deles é o modificador de mesa de saque. Então, esses mudaram um pouco. Então, agora não usamos mais o evento de retorno de chamada de carregamento da tabela de saque. Agora estamos usando os dados de eventos da tabela de saque modificam esse registro, mas essa é a mudança que temos que fazer aqui. E então a mudança aqui é que não usamos mais o construtor de pool lascivo de tecido. Agora estamos usando o construtor de dados do pool loot pool. E aqui estamos usando o construtor de dados de pool de saque e, em seguida, criando um novo edifício aqui. Isso chamará o método de aplicação e isso o chamará de método pool. E então podemos simplesmente copiar sobre a primeira linha aqui e, em seguida, apenas substituir este Diego e depois o mesmo aqui. Isso é aplicado e, em seguida, o pool de largura é chamado de Pool. Mais uma vez com funções chamadas Apply e esta é chamada, bem, agora isso deve funcionar totalmente bem. Mais uma vez, as importações, vamos pressionar Control Alt O, e isso deve ser bom. Vamos continuar com o Model Registry é onde realmente temos um problema com o evento aqui. Agora, o evento, na verdade, podemos importar isso novamente, mas você pode ver nossos métodos de registro não estão mais funcionando. Então, o método de registro mudou um pouco. Então, vou copiar os novos parâmetros do método de registro. Então, agora temos três parâmetros. Como você pode ver, o despachante agora é o dispatcher fonte de comando do servidor. Portanto, isso é tudo o que precisamos fazer mais uma vez, é claro, isso está disponível para você no repositório do GitHub e individual também. Então você pode basicamente, bem, nós somos facilmente dar uma olhada nisso lá. Então, vamos apenas copiar os parâmetros mais uma vez aqui. Você entra neles. Estamos pegando este e apenas mudando. E agora pista de pouso normal esteja presente, Controle Alt O. E então os registros mod também estão bem. Mas depois há algumas mudanças malucas nos aldeões aqui. Agora, a mudança aqui em baixo será que, em vez de um ponto de interesse tipo acessor, estamos apenas fazendo um novo ponto, novos interesses aqui. Então você pode ver que estamos apenas criando isso. Também não precisamos mais chamar a configuração do método poise. E então aqui nas profissões de registro, enquanto queremos fazer é realmente chamar o registro construtor de profissão de aldeão que cria. Esse ID com um novo identificador como visto em nosso ID de mod de curso MC e o nome. E, em seguida, chamando a estação de trabalho passando o tipo. Também temos que mudar isso em um momento. E então também queremos chamar os eventos sonoros de casca, essa entidade funciona Amara, que constroem, posando com parênteses e eles vão e isso deve ser praticamente o que precisamos fazer aqui. Para o tipo de ponto de interesse, queremos alterar isso para um registro E do tipo, tipo de ponto de interesse. Lá vai você. E então aqui, em vez de passar isso, queremos ver uma chave de registro, ponto da chave registro do ponto de interesse dos dados do registro para digitar uma chave com um novo identificador. Mais uma vez, claro MC, curso Mod modelo ID. E então a explosão ou ponto eram importantes para isso. O blastopore aqui é o mesmo que este nome aqui ou o ponto de gesso. Agora também queremos dizer Control Alt O para se livrar das importações. E então, em nossa aula de mod de curso MC, queríamos remover a chamada de equilíbrio de configuração e isso deve ser bom. Os aldeões agora devem trabalhar também. E agora, por último, mas não menos importante, é claro, geração mundial, o que mudou aqui? Bem, na verdade, não muito louco. No gerador de mudas, mais uma vez temos a classe aleatória diferente. Então, se apenas removermos a importação aleatória e a importarmos novamente, então aqui tudo deve funcionar bem. Então, isso é ótimo. Nada mudou nas outras classes de recursos. E então as mudanças estão apenas na classe gen porque agora temos uma maneira diferente de selecioná-la. Então, o seletor é, na verdade, agora incluir por chave todos os outros encontrados em N. Então, há uma pequena diferença aqui, mas podemos dizer isso e, por exemplo, dizer ponto de teclas de bioma aviões. E então aqui devemos ser capazes dizer incluir por bioma chave, selva de pontos de chaves, por exemplo. Então, isso agora também deve funcionar. A mesma coisa acontece aqui, certo? Os aviões, digamos chaves do bioma, aviões para as flores aqui, e depois para a árvore, a mesma coisa, carregam aqui. Planos de ponto de teclas de bioma. E isso deve ser bom. A ração de origem não mudou e a origem moderna do mundo também. A mesma coisa. Agora, as estruturas mudaram novamente porque, claro, é por isso que não podemos ter coisas boas por assim dizer. Mas isso vai ficar bem, não se preocupe lá. Então, vamos começar com as estruturas do céu aqui. Essas estruturas caras, vou copiar mais uma vez o conteúdo sobre isso e vamos apenas ver isso brevemente. Então, agora temos um codec. O que faz o codec? A coisa mais simples de explicar isso, pois basicamente é uma maneira de ler uma classe de um arquivo JSON que é praticamente a maneira mais fácil de dar uma olhada nisso. Agora, mais uma vez, isso estará disponível, e isso também foi feito por terra telepática mais uma vez. Então, podemos basicamente agradecê-los por basicamente atualizarem isso muito, muito rápido. E eu recomendo verificar os grunhidos alopáticos, fazer pausa para mais uma vez e verificar todos os novos comentários que são adicionados lá que provavelmente devem ajudá-lo também. Agora, as estruturas mod se parecem com isso. Agora, na verdade, eles podem ser mais um problema aqui. Agora, isso deve estar tudo bem. E então estruturas íntimas, basicamente uma das seguintes. Então, agora queremos um tipo de estrutura aqui. Então, vamos adicionar isso. Então, queremos isso, este é um método de registro. O método de registro, parece assim. O curso MOD ou este é MC é igual a MOD Diego. E, em seguida, basta excluir todas as entradas que não estão mais funcionando e isso deve estar bem. Você pode ver que as mudanças de código não são tão loucas, mas também há mudanças Jason que podemos, eu acredito que já abordamos porque isso deve ser tudo o que precisamos mudar aqui. Sim. Basicamente, podemos entrar nos arquivos adjacentes e dar uma olhada neles também. Então, esse será, claro, os traços do curso MC e arquivos da geração mundial. A primeira coisa que fazemos é que precisamos renomear esse recurso estrutural configurado de pasta específica agora é chamado de estrutura. Estrutura. Agora, o conteúdo disso mudou um pouco também. Então, vamos dar uma olhada nisso. Mas antes de tudo, queremos remover o conflito aqui para que ele tenha apenas o pool de armazenamento e o tamanho em linha. E então também queremos adicionar a distância máxima do centro. Então, este aqui, você também quer adicionar mais três coisas. E isso será, basicamente, substituímos o ruído de adição com a altura absoluta das estruturas de superfície. Agora, na verdade, também podemos definir dentro do arquivo JSON, começando a mapear a altura deste aqui. Agora precisamos fazer a mesma coisa para todos os arquivos adjacentes. E o importante é que, para a única casa adjacente, nós realmente queríamos mudar esta aqui para quebra-cabeça, isso é muito importante. Em seguida, remova os conflitos mais uma vez, AMA na linha esta distância do centro aqui abaixo do tamanho. E agora queremos adicionar quatro coisas diferentes, mudando o ruído adepto. E esse será o hack de expansão dos EUA aqui também. Isso é muito importante disso é basicamente necessário para quando você usa o quebra-cabeça aqui. A mesma coisa aqui. Apenas mudando isso. Você vai, não se esqueça de adicionar a vírgula aqui. Eles são. Lá vai você. Vamos substituir o ruído de adição aqui. E, claro, mais uma vez, a distância máxima do centro. E isso também deve ser bom. Então, por último, mas não menos importante, a plataforma de armazenamento também ou a plataforma mudando o tipo para quebra-cabeças, livrando-se da configuração aqui, distância do centro e, em seguida colocando o ruído do anúncio aqui . Lá vai você. E isso deve ser praticamente tudo o que precisamos fazer no traço estruturado de nós. As estruturas de chumbo agora devem funcionar totalmente bem. E acredito que, olhando para isso, isso deve ser como grandes mudanças. Há mais uma mudança que é muito irritante, e isso é, na verdade, com os arquivos recentes aqui. Há uma mudança para a porta. Então, temos uma porta de flor de cerejeira aqui e esta aqui. E eles também mudaram. Portanto, tanto o arquivo JSON de estados de bloco quanto os arquivos JSON do modelo de bloco para as portas foram alterados. Tínhamos quatro deles, dois para baixo, dois para o topo. E agora, na verdade, há quatro para cada. Portanto, há quatro de baixo e para os de cima. Então, o que podemos fazer é ir para as bibliotecas externas até este aqui mesmo, micro projetos de rede, assim por diante e assim por diante. Sob os ativos Minecraft, podemos antes de tudo ir para os estados de bloco e copiar sobre a porta da acácia, neste caso R1. Então, vamos fazer isso. Lá vai você. Vamos voltar para baixo novamente e vamos para o bloco de modelos. E você pode ver aqui porta de acácia, de repente há oito deles. Na verdade, é insano. Não sei por que eles mudaram, mas tudo bem. Então, copie esses também. E então podemos mudá-los um por um. Então, este aqui, a porta de acácia, basicamente, tudo o que precisamos fazer é apenas mudar um microfone aqui para o curso MST, Substituir Tudo, e depois selecionar acácia e mudar isso a flor sublinhada da cereja. Substitua tudo. Lá vai você. E então podemos excluir a porta da flor de cerejeira aqui. Pressione Shift F6 mais uma vez para renomear a porta de sublinhado de flor de cerejeira. E então o bloco afirma que um é alterado, mas é claro que vem a coisa real e esse é o arquivo do modelo. Agora, o que podemos fazer é clicar na pasta do blog, pressionar Shift Control R e, em seguida, mudar não flor de cerejeira, mas na verdade acácia para flor de cerejeira. Você pode dizer que ele substituiu tudo. Sim, por favor. E então podemos fazer a mesma coisa. Vá para bloquear novamente, Control Shift R e, em seguida, queremos alterar um curso Minecraft MC. Agora temos que ter muito cuidado para não apenas substituir tudo porque ele vai substituir os pais também. E não queremos isso. Só queremos mudar a parte inferior e superior. Você pode ver o fundo. Posso substituir o topo. Substitua. Agora temos um pai não. Parte inferior. Sim. Para cima. Sim. Mais uma vez, os pais não. Parte inferior. Sim, top. Sim. Por favor, certifique-se de fazer isso corretamente. Caso contrário, você terá um erro lá ou ele não será exibido corretamente. Mas, por favor, tome cuidado ao substituí-lo assim, para cima e depois de baixo e de cima novamente. E agora só temos pais, então agora terminamos. E agora só precisamos mudar os nomes aqui. Mais uma vez, Shift F6 para renomeá-los e, em seguida, sempre mudando a acácia para flor de cerejeira. E então eu acredito que devemos ficar bem aqui. Depois que fizermos isso. Agora, como você pode ver, há um pequeno loop tedioso. Espero que você não tenha adicionado como 20 portas diferentes. Caso contrário. Quero dizer, sinto muito. É o que é. Provavelmente vai ser apenas uma tarde muito chata para você, em seguida renomear tudo isso porque meu Deus é isso irritante, mas é o que é. As portas mudaram e isso vai ficar tudo bem. Mas agora podemos remover os arquivos antigos do Jason da porta. E com isso, finalmente terminamos. Por enquanto. Vamos abrir o jogo e ver se ele funciona. Ou temos outro carrapato aleatório aqui. Isso é claro que mais uma vez por causa do aleatório, certo, basta remover a importação Alt e Enter sobre isso, e então tudo deve funcionar bem. Vamos ver e vamos continuar. Vamos ver se há outras setas. Pode haver outro tick agendado mais uma vez, o mesmo erro aqui, sem preocupações. Vamos apenas remover esse Alton enter aleatório, e então vamos continuar e agora acho que devemos ficar bem. Tudo bem, então o tecido começou. Então, vamos entrar e ver se podemos criar um novo mundo. E isso parece ótimo. Então, se chegarmos a este, tudo ficará bem. E vamos fazer um novo mundo e vamos ver. Tudo bem, então aqui estamos no Minecraft mais uma vez. Então, vamos antes de tudo dar uma olhada e lá temos isso. Tudo ainda está disponível. Então, vamos dar uma olhada se algumas dessas coisas ainda funcionam ou não da maneira que esperaríamos. Vamos pegar uma vara de dowsing. Vamos pegar um tablet de dados aqui. Vamos ver se ainda conseguimos encontrar alguns minérios. E lá temos isso. Encontramos alguns minérios e ele foi salvo no tablet de dados. Então isso parece estar funcionando bem. Vamos gerar as entidades. Eles também ainda estão bem. Eles parecem estar respondendo muito bem. Vamos então dar uma olhada no recalc e no blaster. Isso é sempre uma coisa que é um pouco interessante, certo? Entidades do bloco D se elas ainda funcionarem. Vamos ficar um pouco legal. Vamos pegar um machado picareta aqui. E então, por último, mas não menos importante, vamos ter um lingote de cálcio preocupado e vamos ver se isso também funciona. E, de fato, ainda funciona. Achei o coelho. Acho que você tem um pequeno problema aqui. Tudo bem, lá vai você. O Oracle pode escolher x também ainda funciona. Então, isso também funciona bem. Então vamos realmente dar uma olhada se conseguirmos localizar um bioma de links e y-naught. E vamos ver se isso produz algumas coisas para nós. Então, devemos descobrir que esse não é o caminho certo. Queremos ir com o espectador mais. Lá vai você. Podemos encontrar algumas das árvores aqui. E talvez também possamos encontrar algumas de nossas flores. E, de fato, podemos, lá temos isso. Então, apenas algumas de nossas flores, curiosamente, resistem a isso como um modelo de empreendimento. Eventual mais. Lá vai você. E então temos rosas cor-de-rosa. Então, tudo aqui parece ainda estar funcionando exatamente como você esperaria. Na verdade, também vamos localizar uma estrutura apenas para que tenhamos isso. Então, este deve ser o curso MC. Vamos ver, contando casa e há uma contagem de Mao disponível e lá temos isso. Então, tudo ainda está funcionando totalmente bem, mesmo com nosso loop personalizado aqui, que é exatamente o que você quer ver. Então, sim, isso é praticamente o quão fácil pode ser atualizar o tecido para 119. Tudo bem, e isso praticamente conclui o curso. Muito obrigado por assistir. Espero que você tenha achado útil e aprenda algo novo se você o fez, apreciaria muito uma avaliação sua. Caso contrário, espero vê-lo em possíveis palestras futuras agora, não há mais nada planejado atualmente, mas quem sabe, pode haver uma ou duas coisas extras que possam surgir. Caso contrário, espero vê-lo em qualquer outro lugar, talvez em cursos futuros também. Então, sim.