Modéliser par Kaupenjoe : Modéliser les orge pour Minecraft 1-18-1 | Kaupenjoe (Nico) | Skillshare

Vitesse de lecture


1.0x


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

Modéliser par Kaupenjoe : Modéliser les orge pour Minecraft 1-18-1

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

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Skillsahre dans

      0:53

    • 2.

      Installation et téléchargement (Java)

      5:52

    • 3.

      (Java) Java Datatypes

      8:11

    • 4.

      (Java) Syntaxe Java

      5:42

    • 5.

      (Java) Sortie et entrée

      7:28

    • 6.

      (Java) Les erreurs et comment ne pas paniquer lorsque vous les obtenez !

      6:41

    • 7.

      (Java) Les intrus et les méthodes arithmétiques et les méthodes de mathématiques

      6:23

    • 8.

      (Java) Les exploitants de missions

      4:40

    • 9.

      (Java) Les booléens et les opérateurs de comparaison

      7:02

    • 10.

      (Java) Les booléens et les opérateurs logiques

      3:30

    • 11.

      (Java) Déclarations si et autres

      6:52

    • 12.

      Déclaration de changement (Java)

      4:08

    • 13.

      ATTRIBUTION 1 : Jeu Trivia

      2:59

    • 14.

      SOLUTION 1 : Jeu Trivia

      2:32

    • 15.

      (Java) les chaînes et les méthodes de chaîne

      9:41

    • 16.

      (Java) Casting

      3:49

    • 17.

      (Java) Opérateur ternaire

      4:13

    • 18.

      (Java) tableaux Java

      9:09

    • 19.

      (Java) boucles

      8:55

    • 20.

      (Java) Méthodes Java

      10:14

    • 21.

      ATTRIBUTION 2 : Jeu trivia avec des méthodes

      2:30

    • 22.

      SOLUTION 2 : Jeu Trivia avec des méthodes

      5:13

    • 23.

      (Java) Collections Java

      16:43

    • 24.

      (Java) La programmation axée sur les objets expliquée

      7:37

    • 25.

      (Java) Cours et objets Java

      9:20

    • 26.

      (Java) Modificateurs d'accès

      7:42

    • 27.

      (Java) Héritage et polymorphisme

      10:50

    • 28.

      (Java) Interfaces et cours abstraits

      5:52

    • 29.

      ATTRIBUTION 3 : Jeu trivia avec des cours

      1:15

    • 30.

      SOLUTION 3 : Jeu Trivia avec des cours

      3:08

    • 31.

      ATTRIBUTION 4 : Système de gestion des banques

      1:20

    • 32.

      SOLUTION 4 : Système de gestion des banques

      2:17

    • 33.

      (Java) Cours anonymes

      2:44

    • 34.

      (Java) Enums et les Enums avancés

      3:00

    • 35.

      Exceptions (Java)

      5:14

    • 36.

      (Java) Les expressions de la Lambda

      3:24

    • 37.

      (Java) Génériques

      3:37

    • 38.

      (Les bases de la mine minecraft) Installation et installation et GitHub

      15:11

    • 39.

      (Les bases du minecraft) à l'aide de cartographies des parchemin

      4:05

    • 40.

      (Les bases de Minecraft) Créez un article personnalisé

      16:00

    • 41.

      (Les bases de Minecraft) créer un bloc personnalisé

      13:44

    • 42.

      ATTRIBUTION 5 : Bloc et article

      1:05

    • 43.

      SOLUTION 5 : Bloc et article

      1:09

    • 44.

      (Les bases de Minecraft) onglet créatif personnalisé

      2:34

    • 45.

      (Les bases du minecraft) Nouvelles recettes

      5:58

    • 46.

      (Les bases de la mine minecraft) bloquer les gouttes avec des tables de butin

      7:07

    • 47.

      ATTRIBUTION 6 : Recette et tableaux de butin

      1:13

    • 48.

      SOLUTION 6 : Recette et tableaux de butin

      1:11

    • 49.

      (Les bases de Minecraft)

      12:02

    • 50.

      (Les bases de Minecraft)

      5:55

    • 51.

      (Les bases de la minecraft)

      3:12

    • 52.

      (Les bases de la minecraft)

      3:13

    • 53.

      (Les bases de Minecraft) Conseils personnalisés

      5:39

    • 54.

      (Les bases de Minecraft) Tout sur les étiquettes

      8:16

    • 55.

      (Les bases de la minecraft) Escaliers personnalisés et les dalles

      6:32

    • 56.

      (Les bases de la minecraft) boutons personnalisés et les plaques de pression

      3:52

    • 57.

      (Les bases de la minecraft) les clôtures personnalisées et les portes et les murs

      5:20

    • 58.

      (Les bases de la minecraft) Portes personnalisées et portes piégées

      4:45

    • 59.

      Créer un nouvel ensemble d'outils

      5:50

    • 60.

      Réaliser un multi-outil (Paxel)

      5:08

    • 61.

      (Tout sur les outils) Les armes qui appliquent les effets

      2:12

    • 62.

      (Tout sur les outils) Créer un nouvel ensemble d'armures

      7:49

    • 63.

      (Tout sur les outils) Effet complet des armures

      4:18

    • 64.

      (Tout sur les outils) Armure de cheval personnalisée

      3:04

    • 65.

      (Tout sur les outils) Enchantement personnalisé

      6:58

    • 66.

      (intermédiaire) Propriétés de BlockState

      14:37

    • 67.

      (Intermédiaire) Comment les données NBT does ?

      8:59

    • 68.

      (intermédiaire) Propriétés des articles

      5:28

    • 69.

      ATTRIBUTION 7 : Les États de blocs et les TNBB

      0:57

    • 70.

      (intermédiaire) Les cultures personnalisées

      10:13

    • 71.

      (Intermédiaire) Ajouter des éléments au composteur

      1:38

    • 72.

      (intermédiaire) fleur personnalisée

      2:51

    • 73.

      (intermédiaire) pots à fleurs personnalisés

      3:51

    • 74.

      (intermédiaire) les sons personnalisés

      7:06

    • 75.

      (intermédiaire) les sons personnalisés pour les blocs

      3:48

    • 76.

      (intermédiaire) disques musicaux personnalisés

      4:08

    • 77.

      (intermédiaire) modèles de blocs personnalisés dans Minecraft avec BlockBench

      19:08

    • 78.

      (intermédiaire) modèles d'articles personnalisés avec BlockBench

      3:08

    • 79.

      (intermédiaire) des noeuds personnalisés

      3:34

    • 80.

      Commandes personnalisées (intermédiaires)

      9:05

    • 81.

      (intermédiaire) les particules de fraie

      2:34

    • 82.

      (intermédiaire) les avancées faites sur mesure

      3:45

    • 83.

      (intermédiaire) peintures sur mesure

      3:31

    • 84.

      (intermédiaire) Les modifications du butin mondiales

      9:52

    • 85.

      (intermédiaire) des fluides personnalisés

      6:24

    • 86.

      (intermédiaire) les bases des événements

      7:13

    • 87.

      (Intermédiaire) Mettre à jour les cartographies des orge et des Parchment

      2:39

    • 88.

      (Avancé) Entité de bloc personnalisé

      28:29

    • 89.

      (Avancé) Créer des types de recettes personnalisés

      24:03

    • 90.

      (Avancé) Bois sur mesure

      8:19

    • 91.

      (Avancé) signe personnalisé

      6:58

    • 92.

      (Gène du monde) Créer un arbre personnalisé

      9:43

    • 93.

      Génération d'arbres sur mesure (Gène du monde)

      11:40

    • 94.

      Génération de fleurs sur mesure (Gène du monde)

      5:31

    • 95.

      (Gène du monde) Génération de minerai personnalisée

      7:07

    • 96.

      Exporter votre mod

      1:25

    • 97.

      (Sujets supplémentaires) Mettre à jour les orge (1.18.1)

      5:33

    • 98.

      (Sujets supplémentaires) Ajouter les gouttes d'XP aux blocs

      3:26

    • 99.

      (Sujets supplémentaires) Ajouter un écran de menu personnalisé

      6:35

    • 100.

      (Sujets supplémentaires) Ajouter des configues personnalisées

      10:50

    • 101.

      (Sujets supplémentaires) Ajouter des blocs transparents

      3:45

    • 102.

      (Sujets supplémentaires) Ajouter des éléments animés

      5:18

    • 103.

      (Sujets supplémentaires) Ajouter des effets personnalisés

      5:43

    • 104.

      (Sujets supplémentaires) Ajouter des potions personnalisées

      8:44

    • 105.

      (Sujets supplémentaires) Ajouter des entités personnalisées avec Geckolib

      25:24

    • 106.

      (Sujets supplémentaires) Ajouter des animations d'entités avec le geckolib et le banc de clic

      11:05

    • 107.

      (Sujets supplémentaires) Ajouter des variantes d'entité

      9:50

    • 108.

      (Sujets supplémentaires) Les entités amables

      11:51

    • 109.

      (Sujets supplémentaires) Les entités rigides

      8:55

    • 110.

      (Sujets supplémentaires) Ajouter un bateau personnalisé

      11:08

    • 111.

      (Sujets supplémentaires) Génération mondiale d'entités

      3:20

    • 112.

      (Sujets supplémentaires) Ajouter les métiers personnalisés aux villageois

      4:07

    • 113.

      (1.18.2) Mettre à jour les orge à 1.18.2

      11:02

    • 114.

      (1.18.2) Structures personnalisées (travailler à travers des tutoriels)

      31:56

    • 115.

      (1.18.2) Structures personnalisées (pièce unique)

      8:17

    • 116.

      (1.18.2) Structures personnalisées (structures de sciages)

      13:14

    • 117.

      (1.18.2) Modèles d'armure 3D personnalisés

      12:25

    • 118.

      (1.18.2) Les villageois personnalisés

      10:06

    • 119.

      (1.18.2) Les entités pour bébés

      4:37

    • 120.

      (1.18.2) Géodes personnalisés

      5:49

    • 121.

      (1.18.2) Bloc qui interagit avec Redstone

      5:05

    • 122.

      (1.18.2) Rendu d'entité à bloc personnalisé

      13:22

    • 123.

      (1.18.2) Les coffres au pillage dans les structures personnalisées

      4:01

    • 124.

      (1.18.2) corriger certaines erreurs

      3:43

    • 125.

      1.18.2 MISE À JOUR vers 1.19

      34:03

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

646

apprenants

--

projets

À propos de ce cours

Minecraft ! C'est le jeu le plus populaire de tous les temps et Minecraft Modding est de retour dans la bouche de tout le monde ! Certains mods Minecraft sont devenus si populaires que chacun les connaît. La communauté modéliser Minecraft continue de grandir tous les jours et c'est une excellente et créative vaillante sortie !

Ce cours vous apprendra à fabriquer votre propre mod Minecraft ! Non seulement vous apprendrez le langage de programmation Java mais aussi comment utiliser efficacement la forge d'API Modélisation Minecraft.

Pour les débutants, j'ai ajouté une introduction Java pour vous, donc même sans aucune expérience dans la programmation, vous pouvez commencer à fabriquer des modes Minecraft en passant d'abord par l'introduction Java !

Dans la partie du cours Concepts de base, vous apprendrez à ajouter des articles, des blocs, des recettes personnalisées, un outil pour Minecraft ! Les concepts intermédiaires vous permettront de récupérer quelques compétences étonnantes nécessaires pour que les moqueurs minecraft soient appropriés avec la forge ! Nous allons parler de BlockStates et de données NBT, ajouter des cultures personnalisées et voir comment vous pouvez ajouter des modèles de blocs personnalisés à Minecraft !

Mais ce n'est pas tout ! Vers la fin du cours, nous abordons des sujets avancés tels que les entités de blocs, les types de recettes personnalisées et même la production de minerais, entre autres.

Avec un peu de créativité et l'application des leçons que vous obtenez de ce cours, vous pourriez simplement faire frayer le prochain Mod Minecraft !

Ce cours est accessible pour compléter les débutants. Même si vous n'avez jamais programmé votre vie ! La seule condition est que vous possédiez Minecraft et que vous êtes très familier avec le jeu et quelques mods Minecraft populaires ou même les mods Minecraft modpacks.

Exercer les fichiers et l'ensemble du code source seront disponibles pour que vous puissiez suivre tout ce que je fais dans les vidéos.

Si vous avez des questions ou des suggestions, n'hésitez pas à me contacter ici. Je suis heureux de vous aider à apprendre à coder en Java et à créer votre propre mod Minecraft avec la forge.

EXCLUSION : PAS UN PRODUIT MINECRAFT OFFICIEL. N'APPROUVEZ PAS LE MOJANG, OU QUI EST ASSOCIÉ À CELUI-CI.

Rencontrez votre enseignant·e

Teacher Profile Image

Kaupenjoe (Nico)

CS Student, Nerd and Educator

Enseignant·e

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... Voir le profil complet

Level: All Levels

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. Skillsahre dans: Bonjour, je suis Nico m'a surpris sur un étudiant à la maîtrise informatique et un joueur passionné de Minecraft. Vous me connaissez peut-être à partir de mes tutoriels sur la chaîne YouTube de Cotton Joe, où je réalise des tutoriels de modélisation micro-ondes. Eh bien maintenant, nous allons aller encore plus loin parce que c'est ma classe de modélisation Minecraft 118 avec forge. Ici, vous apprendrez tout ce que vous devez faire pour créer un mod Minecraft génial et incroyable avec l'API Minecraft matinale la plus utilisée, forge. Les débutants absolus peuvent commencer par passer par l'introduction du fournisseur Java, ce qui va vraiment vous aider à comprendre certains des fondamentaux. Au début, nous allons apprendre quelques concepts simples tels que l'ajout d'un élément, l' ajout de blocs, de recettes et même d'outils personnalisés. Ensuite, nous continuerons en examinant des modèles de blocs personnalisés, des cultures personnalisées et de nombreuses autres fonctionnalités intéressantes et intéressantes. En fin de compte, nous aborderons même des sujets avancés tels que les entités de blocs et la génération mondiale. Alors, qu'attendez-vous ? Inscrivez-vous à ce cours maintenant, et qui sait que votre MOD sera peut-être le prochain grand succès. Je vous verrai dans la première leçon. 2. (Java) Installation et téléchargement: Bienvenue dans le cours fabric 118 et voici l'introduction de Java. Nous commençons donc un petit peu d'introduction à Java. Soit si vous n'avez pas du tout utilisé Java, cela vous sera très utile. Sinon, si vous avez déjà travaillé avec un autre langage de programmation ou avec Java lui-même, c'est une idée très intelligente d'avoir cela comme un bon rafraîchissement ici au début. Je recommande donc vivement passer en revue l'intégralité de l'introduction de Java. Il y aura également quelques tâches en cours de route, que vous pourrez faire pour consolider davantage les concepts dont nous allons discuter dans cette introduction ici. Et il va y avoir quelques conditions préalables dont nous aurons besoin. Le premier sera un JDK. Jdk est un kit de développement Java, et il existe des saveurs différentes, pour ainsi dire. Mais ce qu'on va utiliser, c'est celui de l'adopter ici, et on va devoir utiliser 16. Donc JDK 16 dans ce cas, est ce que l'on appelle le tamarin 16. Et j'ai lié cela dans les ressources que vous pouvez télécharger. Cela garantit que vous sélectionnez votre système d'exploitation et votre architecture. Donc pour moi, ce serait Windows et l'architecture 64 bits. Je recommande fortement de télécharger le MSI ici car il s'agit essentiellement d'un installateur, qui installe ensuite le JDK sur votre machine comme tout autre programme, vraiment. Eh bien, installez cela normalement comme vous le feriez n'importe quel autre programme, et ensuite nous pouvons continuer. Une fois que vous aurez installé le JDK, nous aurons également besoin d'un IDE. Et IDE est un environnement de développement intégré qui, dans notre cas, nous allons utiliser IntelliJ Idea. C'est que j'ai trouvé un excellent outil à utiliser pour cela, nous pouvons utiliser la version communautaire qui est gratuite et basée sur l'open source, qui inclut à peu près tout ce que nous aurait jamais voulu ou besoin. Assurez-vous donc de choisir la version communautaire ici. Une fois de plus, téléchargez simplement l'EXE si vous êtes sous Windows, et comme vous l'avez peut-être vu ici, vous pouvez également vérifier Trick ici si vous êtes sur Mac ou Linux, basculez et installez-les également. Et il suffit également d'installer ceci comme vous le feriez avec n'importe quel autre programme. Et puis une fois que cela est installé , nous pourrons continuer. Lorsque vous ouvrez Intelligence pour la première fois, une fenêtre semblable à celle-ci apparaît également pour vous. Maintenant, ça va paraître un peu différent, mais il y aura ces trois boutons, le bouton Le Nouveau projet avec le bouton Ouvrir et le bouton Obtenir de VCS. En cliquant sur le bouton Nouveau projet, une nouvelle fenêtre s'affiche. L'important, c'est que nous voulions sélectionner le nouveau projet ici. Ici, nous pouvons simplement le nommer comme nous voulons. Par exemple, l'introduction de Java, vous pouvez choisir un emplacement ici en utilisant le langage Java Build System Intelligence et le JDK étant 16 pour nos besoins ici pour l'introduction de Java, l'exemple de code doit être vérifié par eux. fois cela fait, nous pouvons cliquer sur le bouton Créer, puis une nouvelle fenêtre apparaîtra. Tout d'abord, ce que nous devons faire dans les nouvelles versions pour l'intelligence, c' dans les nouvelles versions pour l'intelligence, qu'ils ont changé certaines choses. Je ne sais pas pourquoi c'est le cas, parce qu' ils ont tendance à changer beaucoup de choses, ce qui est plutôt ennuyeux. Mais notre classe principale ici, pour que vous puissiez voir ce principal, si je double-clique dessus , il s'ouvrira. Vous avez peut-être déjà ouvert pour vous. C'est très bien aussi. Maintenant, pour aller de l'avant, ce sera en fait dans certains paquets. Donc, nous devons le faire manuellement pour notre cas ici, mais ça va aller. Mais il suffit de cliquer avec le bouton droit sur le dossier source pour que vous puissiez voir la source cliquer avec le bouton droit sur le nouveau package. Et puis on va, je vais appeler ce filet. Et puis sur ce net, je vais cliquer avec le bouton droit sur un nouveau paquet et je vais appeler cela de l'aide. Et Joe, maintenant tu vas juste appeler ça quel que soit ton nom. Fondamentalement, vous allez avoir filet et ensuite votre nom, par exemple, je vais faire glisser la classe principale dedans, disons Refactor, et tout ira bien. Ensuite, vous avez ce paquet ici aussi. C'est très important car il y a des conférences à venir. Nous allons l' avoir aussi. Maintenant, si cela s'affiche différemment pour vous, il se peut que ressemble à ceci. Je vais vous montrer juste une seconde que ça se compacte ici, le nombre de points nets Joe, le tout en une seule ligne. Si c'est le cas, vous pouvez passer à cet équipement ici. Pour l'apparence de l'arborescence, la hauteur, le MT, les paquets du milieu, vous pouvez le désélectionner ainsi que paquets aplatis également désélectionnés. Et ensuite, vous allez avoir exactement la même chose que nous avons là aussi. Nous allons maintenant continuer avec Pascal et Joe pour le reste des conférences. Donc, dans ce cas, ce que nous allons avoir, c'est que nous allons avoir quelque chose appelé principal ici et un autre principal ici. Et puis c'est courant où il dit écrire votre code ici. Maintenant, nous n'allons pas écrire de code dans cette première conférence ici. Nous allons commencer immédiatement lors de la prochaine conférence. Ce n'est vraiment que la configuration. Dans l'ensemble, c'est à peu près tout ce que nous devons faire. ensemble du code sera toujours disponible à chaque cours. Ainsi, dans chaque conférence, vous allez trouver un lien de ressources ou vous allez trouver ce lien essentiellement endroit où vous pouvez avoir soit le référentiel GitHub. Tout cela va donc être enregistré dans un référentiel GitHub. Et chaque conférence sera individuelle, essentiellement une branche individuelle. Ou vous avez également des juristes individuels où chacun des différents codes, chaque code, tout le code de cette conférence y est également lié. Donc, pas de soucis là-bas. Tout est accessible avant même de pouvoir y jeter un coup d'œil car, bien sûr , certaines personnes préfèrent avoir le code devant elles et ensuite le changer un peu. Certaines personnes veulent juste le coder, comme pendant que je le codais. Et c'est tout à fait très bien. Les deux approches sont absolument valables dans ce cas. Mais pour le moment, c'est essentiellement ça. Donc, tout le code sera disponible et j'espère que vous y êtes arrivé. Et puis voyez si une fois que la prochaine conférence commence, vous pouvez voir si tout a fonctionné là-bas ou non. Mais ce serait mieux pour cette conférence ici. Et je vous verrai lors de la prochaine conférence. Donc, oui. 3. (Java) Datatypes Java: Bienvenue dans l'introduction de Java pour une modélisation Minecraft. Et dans cette conférence, nous allons parler de types de données. Nous commençons donc très, très lentement. L'idée est qu'en programmation, nous pouvons enregistrer des choses dans des variables. Maintenant, quelles sont ces choses, n'est-ce pas ? Il existe différents types de données. En gros, dans cette conférence, nous allons passer en revue les types de données qu'il s'agit, c'est-à-dire essentiellement les types de données. Il existe donc quelques types de données différents , comme même aller plus loin. Et le premier serait les types numériques, essentiellement comment enregistrer des nombres. Il y a un tas de types de données différents ici. Il y a donc un entier, un float et le double. Ce sont donc ceux qui sont principalement utilisés. Je vais en parler un peu. Vous pouvez donc tout d'abord voir que lorsque vous créez une sorte de nouvelle variable, c' est-à-dire que vous pouvez considérer cela comme un conteneur contenant une certaine valeur. Et le type de valeur est déterminé par, dans ce cas ici, le premier mot, vous pouvez voir qu'il est même marqué en orange. Ce ne sera pas toujours le cas. Cela ne sera le cas que pour les types de données primitifs. Mais qu'est-ce que nous allons voir un peu plus tard dans une conférence plus tard. Et vous pouvez voir que c'est ce qu'on appelle un numéro. Il s'agit du nom de la variable , puis la valeur est 42. Maintenant, un entier, comme je l'ai dit, est le type particulier de type de données de A, un type de données numérique, qui est un nombre entier. Cela ne peut donc enregistrer que des nombres entiers ou des nombres entiers. Et la fourchette réelle qu'il peut économiser, elle passe de 2 milliards de dollars négatifs à plus 2 milliards comme vous pouvez le constater. Il s'agit donc essentiellement des nombres que vous pouvez enregistrer et qui peuvent être stockés dans un entier. C'est ça l'idée. Et puis il y a float, ou quand vous avez besoin d'une virgule. Maintenant, ce qui est très intéressant avec les flotteurs et doubles qui sont presque la même chose, pas tout à fait, mais presque la même chose. Ce sont tous les deux des nombres flottants. Et l'idée est que cela n'est pas stocké comme ça, est en fait stocké comme une notation scientifique. Vous l'avez peut-être déjà vu quelque part. Et c'est quelque chose comme 1,412 fois dix contre quatre alors 14 120. Et essentiellement dans cette notation ici, les nombres à virgule flottante sont stockés. Et ce qui est important avec un flotteur lorsque vous les utilisez, qu'ils ont une précision de sept virgules, ce qui signifie que vous pouvez avoir sept nombres. Peu importe qu'ils soient ou non à gauche ou à droite de la virgule, mais sept chiffres et ensuite ils seront précis, puis ils seront arrondis. C'est aussi pourquoi vous ne voulez généralement pas sauvegarder des choses très, très, très précises dans des flotteurs. Par exemple, si vous avez dix milliers ou 100 milliers de Bitcoins, quelque chose comme ça. Cela ne devrait certainement pas être enregistré dans un flotteur car cela pourrait être très facile d'obtenir une erreur d'arrondi. Il s'agit donc d'erreurs d' arrondi à virgule flottante. Ceux-ci sont très courants. Maintenant, un double est un peu meilleur en ce sens qu'il a une précision de 15 virgules. Cependant, ils pourraient l'être, cela pourrait encore entraîner des problèmes d'arrondi. C'est donc quelque chose dont il faut être conscient. Habituellement, dans la plupart des cas, par exemple, dans notre cas, cela n'a vraiment pas d'importance. Donc, si vous avez un flotteur, généralement qui peut représenter, par exemple, vous avez certaines positions de blocs dans le monde écrit ceci entre ces positions parce que bien sûr un bloc est pas comme un seul point dans l'espace, il y a un peu de dégradé. Et puis il y a un peu d' arrondi qui va tout à fait bien se passer. Et c'est probablement l'une des raisons pour lesquelles, si vous allez comme des millions de millions de blocs dans une direction à un moment donné, le monde est vraiment foiré parce que les erreurs à virgule flottante et autres choses comme que. C'est probablement aussi l' une des raisons. Maintenant, il y a d'autres types numériques qui ne sont pas utilisés aussi souvent, du moins personnellement, je ne l'ai pas vu aussi souvent. Beaucoup de gens pourraient dire : Eh bien, je veux dire que ce n'est pas tout à fait juste. Bien sûr, vous devez en être conscient. Mais d'habitude, je n'ai plus vu ceux utilisés aussi souvent. Un octet est donc de huit bits et il peut stocker des nombres de 128 à 127. Donc, j'appellerais cela un petit nombre parce qu'il ne peut stocker qu'une certaine quantité de valeurs. En gros ici, dans ce cas, un court est un petit nombre qui peut stocker entre 32000 et 32000 négatifs. Et puis, d'un autre côté, c'est un long qui, comme vous pouvez le constater, peut stocker de neuf quadrillions négatifs à un quadrillion de neuf quadrillion positif, ce qui est joli, c'est assez stupéfiant. C'est un très grand nombre, généralement très rarement utilisé. Comme je l'ai dit, d'après ce que je peux dire, un entier est le nombre le plus courant pour un nombre entier. Et puis les flotteurs ou doubles sont utilisés pour, gros, des nombres décimaux ou quelque chose comme ça, n'est-ce pas ? Le type de crochets de données suivant sera celui des booléens. C'est en quelque sorte la logique. Donc, ce à quoi vous pouvez penser, c'est que nous avons un booléen. Un booléen peut être vrai ou faux, sorte qu'il peut être égal à un ou à 0. Cela peut être représenté en un seul bit car un peu, si vous le savez ou non, peut être soit 0, soit un, ce sont les deux seules valeurs possibles qu'il peut prendre. C'est donc à peu près la même chose. Il peut être vrai ou faux. Il en va de même pour ces superbes vidéos, je l'espère. C'est donc vrai. Et c'est ce code HTML. Eh bien, j'espère que vous ne pensiez pas cela parce que c'est faux en fait. C'est donc une sorte de truc booléen. Et la logique est en fait incroyablement puissante, comme l'ensemble du champ logique. Parce que l'ensemble de nos ordinateurs et de nos systèmes d'exploitation et tout cela repose sur du code binaire. Et en théorie, les booléens ne sont rien d'autre que du code binaire, non ? Parce qu'un vrai est un et qu'une force est 0. Par conséquent, les mêmes lois s'appliquent en ce sens. Vous pouvez le considérer comme cela, mais dans l'ensemble, les Booléens , de même que pour les entiers, nous allons examiner ces éléments un peu plus en détail à l'avenir. Mais je voulais vraiment vous en présenter. Dans la troisième et dernière sorte de gros crochets ici, nos personnages et nos cordes à un personnage, comme vous pouvez le voir, marquent un omble. Et il s'agit d'un seul caractère, donc il est marqué par ces guillemets simples ici. Et cela peut stocker un seul caractère et des caractères spéciaux, une virgule régulière. Je peux donc mettre une virgule ici, c'est très bien. Je peux mettre un tiret ici, comme un hashtag, l'étoile du symbole plus, tout va bien. Eh bien, je peux même mettre dans un espace et ça marche. Cependant, ce que je ne peux pas faire, c'est que je peux mettre deux caractères ici, puis cela ne fonctionnera pas car deux caractères ou plusieurs caractères l'un à côté de l' autre s'appellent une chaîne. Pour une chaîne, comme je l'ai dit, n' est qu'une séquence de caractères. Et cela est marqué par des guillemets normaux. Donc, deux guillemets ici et deux guillemets ici. Et comme vous l'avez probablement vu, la fin de chaque ligne comporte toujours les points-virgules. Ceux-ci sont également très importants ici. Et c'est en quelque sorte l'idée. Vous avez donc des caractères singuliers singuliers et un, a, une chaîne de caractères est une chaîne. C'est en quelque sorte l'idée ici. Et puis, à la toute fin, j'ai voulu mentionner quelque chose que nous verrons définitivement à l'avenir, qui est null, le mot-clé null. Vous pouvez donc voir que ce test de chaîne est égal à la valeur null. Et ce qui est très important, c'est que null n'est pas 0. Il est littéralement vide, comme s'il n'avait aucune valeur. Cependant. C'est parfois au début, surtout un peu difficile de faire la distinction entre ce que je ne comprends pas, pas de valeur. Qu'est-ce que cela signifie ? Eh bien, il n'a pas de valeur indéfinie, pour ainsi dire. Il est inexistant. Écrivez ce test comme s' il était défini ici, il n'est pas, il n'a pas de valeur, il est nul. Et nous allons certainement examiner cela et le voir dans une conférence ultérieure également. Ne vous inquiétez donc pas si c' est un peu déroutant, pas de soucis. Le reste devrait être au moins assez compréhensible dans la mesure où, d'accord, nous avons quelques seaux, nous pouvons y penser, certains conteneurs dans lesquels nous pouvons économiser certaines valeurs. Et selon le type de valeur qu'ils sont, nous devons écrire différentes choses devant. C'est en quelque sorte l'idée générale que je voulais faire connaître ici, mais les types de données, sinon, j'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau et je vous verrai dans le la prochaine conférence. Donc, oui. 4. (Java) Syntaxe Java Java: Bon, bienvenue dans l' introduction Java de Minecraft Martin. Et dans cette conférence, nous allons examiner comment lire du code. Ou je vais aussi appeler cela peut-être la syntaxe Java. Donc, l'idée est d'abord, et cela pourrait être que certains d'entre vous ont peut-être déjà voulu attendre une seconde. Il a ignoré tout cela ici. Qu'est-ce que c'est ? Tout d'abord, nous allons nous calmer car nous allons devoir commencer à construire d' autres fondamentaux avant parler de tout ce qui se passe ici. Pour l'instant, ce que je recommande, c'est que vous ignorez tout cela. La seule chose qui nous préoccupe vraiment c'est que cette tranche précoce ici. Et puis, si je mets mon curseur là, vous pouvez voir que celui-ci illumine tout. Tout d'abord, il faut maintenant se produire entre ces deux crochets bouclés. C'est tout ce qui nous préoccupe. Nous ne nous soucions pas de ce que cela signifie. Nous ne nous soucions pas de ce que c'est, de ce que tous ces publics, statiques, vides, principaux, cordes, tout cela, pas de soucis du tout. Nous allons comprendre tout cela dans les prochaines conférences qui seront à venir pour le moment. Nous allons comprendre cela essentiellement à l'intérieur ici. C'est notre prérogative principale pour le moment, mais tout d' abord, le code est lu de haut en bas. Et c'est intéressant. Eh bien, oui. C'est pourquoi nous avons ici ces lignes, qui sont très utiles, peuvent être très utiles pour déterminer les flèches. On peut dire, Hé, vous avez un problème à la ligne 18. Vous le regardez en ligne. 18, c'est là. OK. Assez juste. C'est très utile. Et généralement, il y a, bien sûr, des exceptions à la règle. Mais en général, vous lisez de haut en bas. Maintenant, si vous avez deux barres obliques ici, vous avez un commentaire sur une seule ligne. Et si vous avez cette barre oblique, étoile et étoile, et vous pouvez avoir des commentaires sur plusieurs lignes. C'est donc aussi quelque chose dont il faut être conscient. Et le, Il y a quelques choses différentes que vous pouvez faire quand vous avez une variable, n'est-ce pas ? Nous revenons donc aux variables. Et nous les avons bien sûr vus, n'est-ce pas ? Différents types de données. Et la variable était un peu comme un compartiment ou un conteneur dans lequel nous pouvions stocker une valeur d' un certain type et nous devons spécifier cela. Ainsi, lorsque vous déclarez une variable, déclaration d'une variable signifie que vous déclarez le type de données de cette variable et le nom de la variable. Notez encore une fois que toutes les lignes se terminent par un point-virgule. C'est normal. Ainsi, chaque ligne, chaque instruction se termine par un point-virgule. C'est d' ailleurs très intéressant, car je pourrais en théorie, non ? Un autre. Donc en x et je pourrais juste faire ça. Eh bien, cela ne fonctionne pas tout à fait parce que nous utilisons tous ce jour 0. Par exemple, je pourrais le faire aussi. Cela fonctionne également parce qu'il s'agit d'une instruction unique, donc il ne doit pas nécessairement s'agir de chaque ligne. Et en fait, cela fonctionnerait également même s' il y a deux lignes. Et au fait, c'est comme une chose horrible. C'est comme un formatage du diable. Ne faites jamais quelque chose comme ça. Mais quel que soit le cas. Il ne s'agit donc pas nécessairement de lignes, mais c'est dans une seule instruction. C'est une sorte d'idée. Et vous direz généralement que chaque ligne doit se terminer par un point-virgule est un bon début. En gros, c'est un bon début. Ce n'est pas toujours le cas, mais c'est généralement le cas. Maintenant, il s'agit de déclarer une variable et nous pouvons également attribuer une certaine valeur à une variable. Et c'est ce que nous faisons ici. Nous l'avons déjà déclaré. Donc, si j'existe maintenant quelque part dans l'éther du programme, disons, et maintenant nous disons que j'ai 30 ans. Nous avons donc attribué une valeur à cette variable, d'accord ? Maintenant, nous pouvons faire les deux en même temps, en déclarant et en attribuant une valeur, qui est alors l'indice égal à 10. Et cela s'appellerait initialisation ou initialisation de cette variable dans ce cas. Et c'est très intéressant. Habituellement, les gens ne jettent pas nécessairement ces termes. C'est juste quelque chose dont il faut être conscient un peu. Ok, j'ai déclaré cette variable, maintenant je l'ai initialisée ici, j'ai assigné cette variable, donc c'est juste quelque chose que les termes ici devraient être, au moins la stocker dans votre esprit. C'est le point le plus important ici. Ensuite, il est possible d' accéder à des variables ou des méthodes. Nous avons déjà parlé de méthodes de certaines variables ou objets. Nous ne savons pas encore très bien quels sont les objets, mais nous allons également le comprendre à l'avenir. Mais par exemple, si nous avons une chaîne, nous pouvons obtenir la longueur de la chaîne. Donc, combien de caractères y a-t-il dans cette chaîne en faisant des points, puis quelque chose après. Donc, si je mets ça, vous pouvez voir qu'une quantité énorme de choses me sont jetées à titre de suggestion, connaisseurs au mur, nous allons également examiner ces choses dans une conférence future. Pour le moment, nous savons simplement que l'opérateur point nous permet également d'accéder à certaines variables ou méthodes d'une autre variable. C'est en quelque sorte ce que nous devrions stocker pour le moment. Et ensuite, l' application réelle de cela, nous verrons dans une conférence ultérieure de loin, de loin, dans une plus grande mesure et beaucoup plus détaillée que cela. Mais pour le moment, c'est en quelque sorte l'essentiel de la lecture du code ici. Comme je l'ai dit, ce n'est évidemment pas exhaustif. Ce n'est pas tout, mais ce sont en quelque sorte les principales choses que je voulais faire connaître pour le moment. Vous avez donc l'idée de déclarer une variable, d' attribuer une variable, puis de faire les deux en même temps, puis d' accéder à quelque chose avec l'opérateur point. Et surtout, que l'école de cette année soit ignorée et que tout cela soit ignoré et que tout ce qui se trouve entre ces crochets bouclés devrait vraiment faire l'objet d'une attention particulière pour le moment. être. Mais comme je l'ai dit, nous allons sortir de là, ces crochets bouclés vengés, mais ce sera tout pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 5. (Java) Sortie et entrées: Bon, bienvenue dans l'introduction de Java ici pour la modélisation micro-ondes. Et dans cette conférence, nous allons jeter un coup d'œil à sortie des choses et à l'entrée des choses. Il s'agit donc à la fois de sortir quelque chose sur la console et lire quelque chose de l'utilisateur. Donc, nous stockons essentiellement pour améliorer notre capacité à faire quelque chose. Et la première chose que nous allons faire , c'est que nous allons simplement sortir Hello world car c'est quelque chose que chaque programmeur apprend dès la première fois. Et c'est ce que nous allons faire. Nous allons donc taper un système. Et vous pouvez voir que certaines choses sont en fait suggérées pour nous. Nous allons juste écrire ce système avec un S majuscule, très important, tout en minuscules puis en ligne d'impression, impression LN. Ensuite, nous allons faire une première parenthèse ouverte. Les parenthèses fermantes doivent être générées automatiquement. Et puis on peut juste aller ici et mettre un point-virgule. Maintenant, c'est l'Oregon. On va bien se passer ici. Cependant, nous voulons maintenant mettre quelque chose entre parenthèses et cela va être produit. Maintenant, nous devons en faire une corde. Par conséquent, nous allons entrer les guillemets ici. Et ensuite, les deuxièmes guillemets devraient également être générés automatiquement. Et puis on peut taper Hello World. Aussi simple que ça. Et maintenant, pour commencer ce programme, nous allons ici, nous nous assurons que tout va bien. Cela devrait ressembler à peu près le même. Et nous allons simplement cliquer sur ce bouton Exécuter. Et après quelques instants, vous avez Helloworld. Si c'était la première fois que vous lancez un programme où vous commencez à programmer pour la première fois littéraire en ce moment. Et c'est la première fois que vous exécutez ça. Et tout ici dit bonjour le monde et cela dit que le processus est terminé avec le code de sortie 0. Félicitations. Je ne suis même pas comme si je ne l'étais pas, je ne veux pas être condescendante ici parce que c' est en fait une étape que chaque programmeur traverse. À un moment donné, ils vont écrire un programme Helloworld et ils vont être comme attendre une seconde, je peux faire afficher les choses comme I1. Je pourrais donc, par exemple, dire bonjour aux étudiants. Et vous allez être comme, comme ça ne peut pas être le cas. Je peux juste le faire. Oui, je peux juste exécuter ça. Si je le fais correctement, tu y vas. Très bien, alors exécutez ce Hello étudiants, et maintenant il est dit Bonjour les étudiants, pas de soucis du tout. Donc, comme vous pouvez le voir, c'est vraiment vraiment cool et cela va être encore plus surchargé parce que maintenant, disons que nous avons une variable entière x, qui est égale à 10. Eh bien, pourquoi ne pas sortir une fois de plus le système et je peux commencer à écrire ceci et vous pouvez voir que c'est un peu comme le taux sélectionné est en quelque sorte mis en évidence, pour ainsi dire. Et quand j'appuie sur la touche de tabulation, elle se termine automatiquement. Je peux donc écrire cela très rapidement. Ainsi, vous pouvez le voir comme déjà, fondamentalement est une ligne suggérée ici, puis une ligne d'impression par points également. Et je peux juste mettre le x dedans et regarder ça. Tout fonctionne et parfois très vite. Vous pouvez donc regarder ça comme ça, eh bien, c'est tellement pour ça, non ? Ainsi, une ligne d'impression système, vous pouvez voir à quelle vitesse cela fonctionne parfois. Mais pas de soucis. Je vais essayer de rendre cela, surtout au début ici, un peu plus lent pour que tout le monde puisse rester au courant. Et bien, nous pouvons simplement mettre le x ici, sorte que la variable à l'intérieur de ces parenthèses et ensuite la valeur est en sortie. C'est vraiment cool, n'est-ce pas ? Où vous avez la possibilité de générer quelque chose qui se trouve dans une variable. Et maintenant, on va devenir encore plus fou. Donc, une fois de plus, System.Out, ligne d'impression. Encore une fois, il suffit de le compléter automatiquement avec la touche Tab. Et maintenant, je peux dire quelque chose comme donner de la valeur. Et maintenant, regardez ça. Je peux aller au-delà de la ficelle. Faites un plus x. Aucune erreur. Tout va bien. Que va-t-il se passer maintenant ? Eh bien, regardez ça maintenant. sortie d'une valeur puis la valeur de la variable y sera affichée. C'est donc assez fréquent, malade si je le dis moi-même. C'est vraiment cool. Une autre question se pose, eh bien, comment lire quelque chose de la part de l'utilisateur ? Maintenant, c'est un peu plus compliqué. Habituellement, c'est quelque chose, vous savez, c'est une sorte de semi-limitation de Java, je dirais. C'est un peu ennuyeux que c'est compliqué, mais ce que nous allons écrire n' est pas le suivant. Nous allons écrire un scanner et ensuite tout espacer quand quelque chose devient rouge ici, pas de soucis du tout. Nous allons rester calmes. Tout va bien. Ensuite, Scanner est égal à un nouveau. Puis, une fois de plus, scannez avec un gros S avec un S majuscule à l'intérieur des parenthèses. Nous allons donc créer un système de parenthèse . En terminant cela par un point-virgule. Maintenant, le scanner ici et le scanner ici devraient être prêts. C'est tout à fait très bien. Ce que vous devez faire, c'est de cliquer dessus et d'appuyer sur Alt et Entrée pour l' importer ici. Comme je l'ai dit, nous voulons généralement ignorer tout cela, mais nous pouvons faire un petit sommet ici. Vous pouvez donc voir importer Java util scanner. Ceci est essentiellement importé. Ce n'est donc pas du tout inquiétant. Vous pouvez, si cela est important pendant que vous écrivez ceci, car lorsque vous appuyez sur la touche Tab, lorsque vous écrivez le scanner, cela peut être important automatiquement, pas de soucis. Il suffit de s'assurer que c'est la bonne phrase, pour ainsi dire ici. Et que c'est écrit comme ça. Nous n'allons pas nous inquiéter de ce que cela signifie. Que faisons-nous ici ? Rien de tout ça, nous allons juste savoir, d'accord, nous en avons besoin pour lire quelque chose. Alors, on va dire que la ligne d'impression de points système est sortie, tapez votre nom d'utilisateur, quelque chose comme ça. Et puis ce que nous allons dire, nous allons créer une nouvelle variable de chaîne appelée entrée. Et on va faire en sorte que ça soit égal au scanner. Prochaine. là que tu y vas. Ok, donc ensuite, comme vous pouvez le voir, doit être écrit comme ça pour mettre suivante, puis ouvrir et fermer la parenthèse. Et c'est très bien. Donc, cela va maintenant enregistrer tout ce que nous allons saisir dans la console dans cette variable ici, et ensuite nous pourrons faire quelque chose avec elle. Par exemple, nous allons juste sortir immédiatement à nouveau. Donc, système de ligne d'impression, votre nom d'utilisateur est, et ensuite nous allons juste dire entrée. Donc juste pour le, pour tester cela en gros, alors stockons ceci. Et ce que nous devrions voir, c'est que beaucoup d' étudiants ont tendance à produire une certaine valeur. Et vous pouvez voir que tout d'abord, le programme ne se termine pas automatiquement car il attend nos commentaires. Disons simplement ceci. Eh bien, mon nom d'utilisateur est le comte Andrew. Je vais appuyer sur Entrée et vous verrez ensuite que votre pseudo est vrai. C'est donc plutôt cool quand on y pense. Et cela commence vraiment là où vous pouvez simplement jouer un peu avec ça. Vous savez, vous avez une certaine intractabilité avec le PC. Vous pouvez maintenant parler au PC, pour ainsi dire, ce qui est vraiment cool. C'est donc l'une des premières étapes. Je vous conseillerais vraiment vous conseillerais essayer un tas de choses ici, de taper quelques trucs, de taper des trucs. En fait, ça peut être vraiment amusant. Mais nous allons bien sûr utiliser cela dans conférences futures et dans les prochains devoirs, où nous allons en gros lire des choses évaluées, puis faire choses en fonction de l'entrée. est. Donc, c'est plutôt cool. Mais pour l'instant, c' est pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 6. Erreurs de Java) et comment ne pas paniquer de panic lorsque vous les portez !: Bon, bienvenue dans l'introduction de Java ici pour la modélisation Minecraft. Et dans cette conférence, nous allons examiner certaines erreurs et comment demander de l'aide lorsque vous obtiendrez ces erreurs. Donc, tout d'abord, nous commençons à nouveau avec du code prédéfini ici. Mais pas de soucis. Bien sûr, tout cela est disponible dans le référentiel GitHub ou en tant qu'individu. Et c'est très intéressant. Donc tout d'abord, nous pouvons fondamentalement décommenter certaines lignes pour trouver des erreurs. La première erreur que nous allons avoir est que Java ne trouve pas d'erreur de symbole. Et c'est comme ça que tu vas voir ça, c'est bon, quelque chose est rouge à l'intérieur du code. Par exemple, je vais simplement décommenter cela et vous allez voir qu'a2 31, essentiellement une variable à laquelle nous essayons d' accéder ou de référencer n'existe pas réellement. Cela va donc être rouge. C'est peut-être quelque chose que vous n'avez pas remarqué. Donc, le rouge sera aussi comme souligné ici et dans la classe principale apparaîtra et vous allez avoir un symbole de problème et un problème là-bas. Il y aura donc beaucoup de signes ici, mais vous ne remarquerez peut-être pas cela, ce qui est tout à fait très bien. Donc, si vous continuez à exécuter votre programme, ce qui vous accueillera est le suivant. La première chose à dire, c' est que lorsque vous obtenez une erreur, ne vous inquiétez pas du tout. Honnêtement, le fait d'avoir une erreur au début peut sembler très intimidant et vous pourriez devenir nerveux. Disons, ne soyez pas nerveux du tout. Obtenir des erreurs est en fait quelque chose qui est en quelque sorte attendu lorsque vous programmez pour que quelque chose fonctionne la première fois vous rend très suspect. Parce qu'il est très rare que lorsque vous travaillez sur un code, il fonctionne lors de la première exécution. Donc, s'il vous plaît, tout d'abord, restez toujours calme lorsque vous obtenez une erreur. Il n'y a rien de tel. Il n'y a aucune honte là-dedans. Vous n'avez rien fait de mal et vous pourrez toujours y remédier. Donc cette flèche, dans ce cas, elle dit, comme je l'ai dit, Java ne peut pas trouver de symbole. Il nous dit en fait quelle est la variable ici et où elle se trouve. Et si vous jetez un coup d'œil au sommet ici, vous pouvez voir ce 1128. Et cela signifie en fait que c'est à la ligne 28, au caractère ou à l'autre ligne 11, caractère huit. Donc, c'est vraiment vraiment cool. Nous pouvons donc immédiatement trouver où se trouve cette flèche. peux dire, d'accord, j'ai fait une faute de frappe ou j'ai oublié de faire une variable, quelque chose comme ça. Ce serait cette flèche ici. La deuxième chose que vous pourriez rencontrer à un moment donné est l'exception dans thread main, Java, Lang, NullPointerException. Cela signifie donc que quelque chose est nul, ce qui signifie qu'il n'a pas de valeur. Par exemple, nous avons une variable de chaîne ici. Et nous définissons la valeur sur null, ce que je vous ai déjà dit est fait, signifie qu'elle n'a pas de valeur. Il n'existe pas vraiment. Maintenant, si nous devions maintenant essayer d'appeler la longueur là-dessus, cela n'a évidemment aucun sens parce que la longueur de rien n'est plus comme si vous ne pouvez pas appeler une longueur sur quelque chose qui n'existe pas, ce qui signifie que nous allons obtenir une exception NullPointerException. Donc, ça ressemble un peu à ça. Et cela s'appellerait la trace de la pile. Donc, une trace de pile en termes de profanes en général. Donc, vous savez, il s'agit essentiellement de savoir quel code a été appelé jusqu'à ce stade, jusqu' à ce que l'erreur se produise. Et vous pouvez voir que cela s'est produit à Cotton Domain Main, puis 16. Nous pouvons donc cliquer dessus et cela nous donnera la ligne exacte et parfois même le code exact où cela s'est produit. Il s'agit donc de l'exception NullPointerException. C'est quelque chose qui arrive régulièrement même avec des développeurs avancés, que parfois on oublie d'initialiser quelque chose. Parfois, vous appelez simplement quelque chose dans le mauvais ordre, vous oubliez d'appeler une méthode qui arrive trop souvent. Encore une fois, rien à craindre, mais c'est l'exception nulle. Vous pouvez généralement résoudre ce problème en attribuant correctement une variable. Et puis la dernière chose qui ne ressemble pas vraiment à une exception, mais nous l'avons également vu ici. C'est donc ce processus terminé avec le code de sortie 1, ou parfois il peut aussi dire terminé avec une valeur de sortie non nulle un, quelque chose comme ça. Ou cela pourrait aussi être différent de 1, 13042, peu importe. Il peut donc s'agir d'un nombre qui n'est pas 0. C'est la chose la plus importante. Cela signifie qu' il y a une erreur. Vous ne devriez jamais poster uniquement ceci. Si vous ne publiez que, hé, j'ai eu une erreur et que vous avez terminé avec code de sortie 0 ou terminé avec une valeur de sortie non nulle. Tout le monde sait que vous ne connaissez pas Java. Bien sûr, ce n'est pas un problème, car il faut commencer quelque part. Mais c'est juste si quelqu'un veut vous aider, non ? Donc, par exemple, si vous deviez aller dans les Q et A et que vous êtes comme, Hé, mon vous savez, j'ai une flèche et ça dit ceci. Si vous publiez ceci, tout d'abord, je vais savoir que vous n'avez probablement pas regardé cette introduction de Java, qui trouve bien sûr votre propre décision. Cependant, ce que je remarquerai aussi que ce n'est pas le cas, cela ne me donne aucune valeur. Cela me dit juste qu'il y a eu une erreur. C'est ça. C'est tout ce que cela dit. Si la valeur de sortie n'est pas 0, cela signifie simplement qu'il y a eu une erreur quelque part. Je ne sais pas quelle est l'erreur. Je ne sais pas quelle était l'exception. Je ne sais rien. Ce qui signifie que je vais devoir demander à nouveau. Cela peut être un peu frustrant parce que vous devez demander à nouveau, Hé, pouvez-vous me montrer le journal des erreurs s' il y a une sortie là-bas. Il suffit de mettre la flèche là-dedans. Habituellement, lorsque vous avez une erreur, il vaut mieux donner trop d'informations plutôt que trop peu. C'est donc généralement le cas. Ce n'est pas toujours le cas. Comme ne vous contentez pas de déposer 80 fichiers différents sur quelqu'un qui veut vous aider ou dans les questions-réponses, quelque chose comme ça. Mais d'habitude, tu devrais avoir quelque chose comme ça, non ? Et exception et erreur, type de journal quelque chose qui dit une chose particulière comme cette exception. Vous avez peut-être une exception quelque part, quelque chose comme ça. Cela devrait donc être comme ce que vous voulez faire attention. C'est juste quelque chose que je voulais vous donner, qui peut être très important, n'est-ce pas ? Mais c'est déjà le cas. Il s'agit donc d' un aperçu général de ces erreurs. Et bien sûr, n'hésitez pas à demander s'il y a des erreurs. Si vous rencontrez des erreurs en cours de route et que vous demandez de l'aide, c'est tout à fait correct. Je voulais simplement mentionner en particulier cette année parce que cela peut être frustrant, pas seulement parfois pour moi parce que, bien sûr, je dois poser une question de suivi. Et ensuite, selon combien de temps ça va marcher et peut-être que tu cherches ça. Et une autre réponse n' est pas venue dans 20 minutes, donc il faut aller faire autre chose et ça prend beaucoup de temps. Cela peut donc être parfois un peu frustrant. Quoi qu'il en soit, c'est pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai au cours de la prochaine conférence. Oui. 7. (Java) Integers et méthodes de thétiques et de calculs de calculs: Ou je reviendrai sur l' introduction de Java ici pour le cours de modélisation Minecraft. Et dans cette conférence, nous allons regarder des entiers. Nous allons examiner les mathématiques, et nous allons examiner les opérateurs arithmétiques. Maintenant, ce sont tous de très gros mots. Cependant, je suis certain que nous y arriverons. La première chose que nous allons faire, c'est d'initialiser deux entiers. Cela va être int x est égal à 100 et int y est égal à 20. Jusqu'à présent, tout devrait être assez clair. Dans l'ensemble, c'est juste que ce sont deux variables, x et y. Elles ont respectivement la valeur 120. Ce sont tous deux des entiers. Nous avons donc commencé avec le conseil int. Cela devrait donc être assez simple. Et nous aurons également un entier appelé résultat. Maintenant, nous allons simplement déclarer cette variable sans lui attribuer de valeur, car nous allons l'utiliser de la manière suivante. La première chose à laquelle nous allons jeter un coup d'œil, c'est l'ajout. s'agit donc essentiellement d'opérateurs arithmétiques , d' addition, de soustraction, de multiplication , de division, puis il y a un cinquième type, que nous allons examiner dans un instant. Donc, le résultat de l' ajout sera bien sûr x plus y donc ça ne devrait pas être trop fou. On va juste entrer en x ici. Et cet opérateur, x en partant de la gauche. A, un entier peut également être un nombre flottant. Cela fonctionnerait donc aussi. Donc les deux, les deux, si X et Y, alors que les deux flotteurs fonctionneraient également totalement. Maintenant, bien sûr , le résultat devrait également être à flot. C'est très important. Pensez-y. Nous en verrons également un exemple dans une prochaine conférence. Comme si vous commencez à les mélanger, mais cela devrait être raisonnable. Nous avons simplement mis le symbole plus et ensuite, en gros, nous allons ajouter x plus y. Donc, nous allons sortir le système, imprimer la ligne et imprimer le résultat juste pour que nous voyions, eh bien, ceci devrait être un 120. Voyons voir. Et bien sûr, c'est un 120. Tout fonctionne parfaitement bien. Bien sûr, nous pouvons également utiliser une soustraction par n. Ce que je vais faire, c'est que je vais vraiment laisser tout cela correctement ? Je vais donc simplement faire glisser ma souris ici, puis appuyer sur contrôle C pour copier tout cela pour ma souris ici, contrôle V pour le coller. En général, je fais quelque chose comme ça juste pour que, vous savez, c'est un peu plus facile parce que c'est bien sûr très dupliqué dans ce cas. Maintenant, pour la soustraction, vous l'avez probablement deviné. Il suffit de mettre un signe moins ici. Et tout d'un coup, nous soustrayons y de x, ce qui signifie que cela devrait être 80. Et bien sûr, c'est tout à fait bon. Et nous allons en faire une copie complètement. Encore une fois, je vais sélectionner ce contrôle C , puis Control V ici. Et ensuite, nous allons également examiner la multiplication et, bien sûr, la vision également. multiplication va donc être une étoile ici. Et puis la division n' est qu'une barre oblique. Cela devrait donc être assez sensé, rien pour être trop fou. Dans l'ensemble. Ce ne sont que les façons normales de calculer les choses. C'est à peu près tout ça. Passons en revue le C 2005. En fait, c'est très bien. Et maintenant, la question devient, eh bien, quel est le cinquième type ? Eh bien, le cinquième type est en fait le reste. Cela est donc parfois appelé opérateur modulo. C'est comme des termes mathématiques réels. Mais pour nous, c'est le reste de l'opérateur et cela ressemble à un signe de pourcentage. Par exemple, nous pourrions dire 20 autres deux, ce qui serait bien sûr 0. Donc, si nous allons juste copier cela une fois de plus, Control C, contrôle V, Cela sera 0 parce que lorsque nous divisons 20 par deux, il n'y a plus de reste. C'est donc une très bonne façon de voir si un nombre particulier est pair ou impair. Donc, c'est plutôt cool. Et ce sont les cinq opérateurs arithmétiques. Un tout considéré assez simple. À quelle fréquence sont-ils utilisés ? Eh bien, je veux dire, vous allez utiliser des maths dans toute la programmation. Qu'il s'agisse ou non modélisation ou de programmation en général, des maths y sont associées, bien sûr. Ces choses sont donc très importantes à voir auparavant. Et puis la dernière chose que nous allons examiner ici, c'est les méthodes mathématiques. Maintenant, tout d'abord, nous n'allons pas nous inquiéter de trop de problèmes. Eh bien, c'est une méthode. Eh bien, vous pouvez considérer cela comme une fonction particulière. Par exemple, passons un appel à ce calcul. Donc vous pouvez voir si je tape en maths, vous pouvez voir Java Lang et obtenir cela le suggère. Et puis, si je mets un point, on m'a suggéré tout un tas de choses que je peux appeler. Et il y a des choses, par exemple, comme la méthode max ici, où absolue, juste. Je peux donc appeler max ici et je peux dire x, y. Et puis ça va me renvoyer la valeur maximale de chacun d'entre eux, ce qui, bien sûr, dans ce cas, ce sera 100. Nous devrions donc voir à la toute fin ici une centaine d'entre eux. Donc, en fait, assez simple. Et ensuite, dupliquons cela pour le bien des arguments ou du contrôle D pour dupliquer cela. Et obtenons la valeur absolue, par exemple, disons moins 500, ce qui serait 500. Donc, en mathématiques, comme les mathématiques, c'est écrit comme ça. Vous avez peut-être déjà vu quelque chose comme ça avec ces lignes absolues, pour ainsi dire. Et cela se transforme alors en 500 car nous ne nous soucions pas vraiment du panneau qui se trouve devant lui. Nous allons donc en voir 500 aussi. Et comme je l'ai dit, il y a beaucoup plus de choses ici, comme vous pouvez le voir, ce sceau. Donc, vous pouvez en gros arrondir, arrondir. Vous pouvez attraper le cosinus, vous obtenez des exposants. Vous pouvez donc mettre quelque chose à la puissance du logarithme 10. Comme s'il y avait des trucs fous ici, arrondis au hasard Même, même au hasard, il y a même des constantes comme e et pi. Il y a donc un tas de choses ici. Habituellement, il est très rare que vous ayez besoin d'utiliser. Beaucoup d'entre eux sont particulièrement semblables à la méthode max et Min et la méthode absolue sont parfois très utiles. Et c'est bien d'avoir vu cela auparavant, que vous n'aimiez pas quand vous rencontrez cela, lorsque vous regardez peut-être certains référentiels GitHub d' autres modes ou tout simplement froid en général de la part d'autres personnes. Et ils utilisent quelque chose comme ça, alors vous n'êtes pas complètement pris au dépourvu. Mais ce serait tout pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 8. Opérateurs de projet de Java) de Java): Bon, bienvenue dans l'introduction de Java ici pour la modélisation Minecraft. Et dans cette conférence, nous allons examiner les opérateurs d'affectation. Nous avons maintenant vu l'opérateur d'affectation normal, qui est le symbole égal. Et il y a en fait une chose très intéressante à ce sujet, parce que c'est en fait un opérateur latéral, n'est-ce pas ? Nous allons donc attribuer la bonne valeur à la variable gauche. Donc, nous ne pouvions pas simplement taper quelque chose comme, par exemple, 30 est égal à y. Cela ne fonctionne pas, n'est-ce pas ? Nous devons en fait l'avoir dans un ordre particulier dans ce cas. Eh bien, est-ce que ça va être la conférence ? Est-ce que c'est ça ? Non, bien sûr que non. Il existe des opérateurs d' affectation spécifiques et très intéressants qui, vous savez, vous avez besoin les opérateurs arithmétiques comprennent en quelque sorte. Mais ce que nous pouvons faire, c'est bien sûr que nous pouvons dire x, par exemple, est égal à x plus y, n'est-ce pas ? Donc, nous ajoutons simplement y à x dans ce cas. Et puis en écrivant cela dans la variable x, cela fonctionne totalement. Ce ne sera pas une flèche, c'est tout à fait très bien. Cependant, nous pourrions également écrire ceci d'une manière un peu plus agréable, ce qui sera x plus égal à y. Donc cela fonctionne également ici. Et c'est vraiment cool. C'est donc là que c'est incroyable. Oh, c'est beaucoup plus facile que ça. Et généralement, c'est aussi un peu plus facile à comprendre. Maintenant, si cela vous embrouille plus que cela, c'est tout à fait très bien. Vous devrez cependant jeter un coup d'œil aux opérateurs d' affectation, surtout si, par exemple, si vous regardez le code d'autres personnes, ils ne peuvent utiliser que ces derniers et pas longtemps. la façon de l'écrire pour que vous soyez conscient de cela. Donc, même si vous n'utilisez peut-être pas certains outils dont nous parlons ici, tout cela est essentiellement des outils, des droits de programme. Vous devez toujours les connaître pour lire le code que d'autres personnes pourraient, non ? Donc, nous allons simplement imprimer la variable x ici, et ensuite passons par le reste aussi, non ? Nous allons donc le sélectionner, copier et ensuite, vous savez, il suffit de le coller cinq fois. Alors, qu'est-ce qui peut bien sûr faire un moins égal. Bien sûr, nous pouvons aussi faire des temps égaux. Bien sûr, nous pouvons aussi faire comme Ned, comme diviser les égaux. Et puis, à la fin, nous pouvons même faire le reste égal. Et ce que je n'ai jamais vu comme ça auparavant est vraiment quelque chose qui est probablement un moment très précis où c'est, doit être froid. Mais voyons simplement si cela fonctionne. Bien sûr, ça marche très bien de commencer par un 140 parce que nous en avons ajouté 20 ici, non ? Nous commençons donc ici avec 120. Un adéquat est à nouveau un 140, puis le soustraire est un 120, puis 20 est 2400, puis divisé par 20 est à nouveau 100120, puis diviser ou restant, il est bien sûr 0 parce que nous pouvons diviser un 120 de Wendy parfaitement, ce qui serait bien sûr exactement pris. C'est très bien, très bien fait. Donc, si je voulais juste en ajouter un, n'est-ce pas ? Alors, peut-être que je veux juste faire quelque chose comme ça. X est égal à x plus 1, non ? Mais je veux juste l'ajouter par un. C'est ce qu' on appelle incrémentation ou incrément x par un. Eh bien, je veux dire, bien sûr que nous pourrions écrire ça aussi, non ? Nous pouvons simplement le faire. Oui, bien sûr, ça fonctionnerait très bien. Mais il existe encore un moyen plus simple de le faire. Et ce sera X plus. Regardez-moi ça. C'est plutôt fou. Nous allons donc d'ici à ici, mais c'est vraiment comme ça que ça peut être fou. Et nous allons simplement imprimer ça. Et puis bien sûr, vous savez, x moins moins, bien sûr, fonctionne aussi. Ce serait le décrémenter. Donc, gardons ça un peu ici. plaquettes, donc s' incrémentent, s'incrémentent, et ensuite cela serait également décrémentant. Donc, au fond, nous n'en ajoutons un ou nous en soustrayons un. Jetons juste un coup d'œil. Nous commençons à 0 ici. En ajouter un, en ajouter deux c'est deux ou en ajouter un autre, à droite, 23. Ensuite, nous l' imprimons, puis nous le décrémentons, puis nous sommes de retour à 2 heures. C'est en quelque sorte l'idée générale ici. Ce sont les opérateurs d'affectation, puis augmentent et décrémentent l'Europe, ce qui est également important. Mais ces deux-là vont voir beaucoup de choses, en particulier ces X plus plus et x moins moins. Ce sont des choses qui sont définitivement utilisées très souvent à certaines capacités, disons à l'intérieur du code. Mais ce serait déjà pour cette conférence ici. J'espère que vous avez trouvé cela utile et qu'il a appris au Nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 9. (Java) Booleans et opérateurs de comparaisons: Bon, bienvenue à l'introduction de Java ici pour Minecraft matin. Et dans cette conférence, nous allons examiner un booléen et des opérateurs de comparaison. La dernière fois que nous avons examiné des entiers, et maintenant nous allons passer à autre chose et regarder les Booléens. Ainsi, les Booléens en général, nous pouvons nous en souvenir de la deuxième conférence, sont essentiellement un type de données qui peut enregistrer un vrai ou un faux. Eh bien, par exemple, nous allons créer un nouveau booléen ici. Par exemple, j'aime les conférences. Des conférences, veillé à ce que cela soit écrit correctement et que c'est bien sûr vrai, espérons-le. Et créons également un booléen, qui est, par exemple, posé une question. Et faisons simplement faux pour le moment, peut-être que cela deviendra vrai plus tard, mais pour le moment, c'est faux. Nous nous souvenons donc de Booléens, comme je l'ai dit, d'un vrai ou d'un faux, 1 ou 0, c'est l'idée. Et on peut même imprimer ça, n'est-ce pas ? Par exemple, nous pouvons dire que vous l'avez fait ou que vous aimez ces conférences. Disons que vous aimez ces conférences. Qui aime ces conférences ? Ensuite, je peux appuyer sur Control D pour dupliquer cela. Par exemple, vous pouvez dire que vous avez posé une question dans les questions et réponses. Je pourrais donc, par exemple, prendre cela. Et puis, au lieu d' aimer les conférences, je peux dire poser des questions. Si je devais le faire, alors ce que nous allons voir est juste vrai et faux, essentiellement comme une sortie de chaîne, ils vont tout à fait bien. Ok, donc c'est le genre d' idée des Booléens, n'est-ce pas ? Vrai ou faux, assez juste. Mais maintenant, que sont les opérateurs de comparaison ? Eh bien, réfléchissons à ces opérateurs de comparaison, n'est-ce pas ? Eh bien, il y en a quelques-uns. Et l'idée d' opérateurs de comparaison que, bien sûr, nous allons comparer deux valeurs différentes l'une à l'autre. Et cela va renvoyer un booléen parce que, bien sûr, si nous comparons quelque chose, par exemple, nous pourrions dire plus grand que juste ? Donc, nous avons quelque chose qui est plus grand que quelque chose d'autre, alors bien sûr, il va être vrai ou faux, non ? Si je veux dire, j' ai une pomme de la taille d'un baseball. Comme d'accord, assez juste. Et puis j'ai une pomme comme un ballon de football. Bien sûr, la taille d'un ballon de football est plus grande, donc il va y avoir comme un vrai en dessous ce qui est aussi plus grand ou égal. Il y a aussi des égaux, il n'y a pas d'égal. Ils sont plus petits que, plus petits ou égaux. Ce sont donc les opérateurs de comparaison. Nous n'allons pas examiner chacun d'entre eux individuellement. Et nous allons y jeter un coup d'œil un peu. Donc, l'exemple que nous allons examiner est, par exemple, que vous avez un score à, ou peut-être que vous avez passé un examen, n'est-ce pas ? Vous avez passé un examen et votre score est de 98. Eh bien, merci beaucoup. C'est un très bon score et c'est en fait votre jour de score, vous y allez. Alors vous pouvez dire, eh bien, que nous pourrions écrire dans un booléen qui s'appelle la classe passée, n'est-ce pas ? Et vous réussissez ce cours quand exactement. Nous pouvons y penser. Bien sûr, vous avez besoin d' au moins 50 points. Disons simplement que, par souci d'argumentation, il faut 50 points pour réussir cette classe. Eh bien, c'est très facile. Vous pouvez simplement dire que votre score doit être supérieur ou égal à 50. Est-ce logique ? Cela devrait donc avoir un sens intuitif. Toutes choses considérées comme cela, cela serait vrai dans notre cas, bien sûr, mais si votre score change , la réponse ici change, n'est-ce pas ? Parce que dès que ce n'est plus comme si c'est 49 ans, vous ne réussissez plus le cours, non ? Cela devrait donc être considéré comme assez explicite. Donc, nous pouvons même simplement imprimer ça. Donc, il suffit de sortir le système, d'imprimer la ligne, disons par exemple, vous avez demandé, mettons ça dans donc et passons ensuite la classe, non ? On va donc obtenir un vrai si c'est vrai et un faux si ce n'est pas le cas. Et nous pouvons même dire quelque chose comme avec votre score et vos points, quelque chose comme ça. Nous pouvons dire cela. Et si je le fais maintenant et que je vois que tu passes vrai avec 98 points. Si je devais mettre cela à 49, ce qui, bien sûr, dans ce cas, n'est plus vrai. Donc, aucun 49 n'est plus plus grand ni égal à 50. Eh bien, cela va maintenant renvoyer un faux. Vous verrez, voilà. Vous avez passé faux avec 49 points. Gardons cela comme DOE de 1998. Et réfléchissons à cela aussi. Prenons une autre idée ici. Donc, nous pouvons également avoir un booléen, par exemple, a un score parfait, non ? Et cela pourrait alors être égal à votre score est égal à 100. Il s'agit de l'opérateur égal. Il est très important que ce soit deux signes égaux. Et c'est quelque chose que parfois les gens se confondent sur les connaisseurs. Un signe égal est l'opérateur d'affectation dans lequel nous affectons une valeur à une variable. Et deux signes égaux sont l'opérateur de comparaison dans lequel nous comparons si cette valeur de cette variable est égale ou non à la valeur de celle-ci. C'est très important. Et ici, bien sûr, c'est faux. Comme bien sûr, 98 n'est pas égal à 100. Cela devrait également être assez simple dans l'ensemble. Et nous pouvons même faire quelque chose comme ça qui est très intéressant. On peut même nier quelque chose. Il s'agit donc essentiellement de la marque de déclamation ici. Cependant. Nous pouvons aussi dire quelque chose comme, hé, nous passons la classe ici, puis nous pouvons créer une autre classe booléenne appelée classe échouée, nous a échoué. Et cela peut être égal à, eh bien, ne pas passer la classe, non ? Nous annulons donc simplement si nous réussissons le cours ou non. Et bien sûr, c'est logique. Donc, si c'est un peu déroutant, vous l'écrivez, comme écrire un texte d'auteur. Si la classe échouée est vraie, car la classe est fausse, bien sûr. doivent donc toujours être opposés les uns aux autres. Nous pouvons donc toujours simplement nier cela. Cela pourrait également être une idée. Donc, négliger l'année, c'est bien sûr la négation signifie essentiellement les deux mettent le point d'exclamation devant, signifie que le vrai devient faux. Et si c'est faux, c'est vrai. Où est-ce que c' est vrai alors ? C'est en quelque sorte l'idée. Opérateurs de comparaison. Vous pouvez également y penser. Ils renvoient un opérateur de comparaison. Vous pouvez y penser comme ça. Lorsque nous avions une note plus, nous avons pris un entier à gauche, plus un entier à droite et nous avons renvoyé un entier. Encore une fois, c'est absolument intuitif. Vous n'y pensez même pas quand vous l'êtes, lorsque vous travaillez sur les mathématiques et que vous calculez des choses. Lorsque vous faites 5 plus 5, comme bien sûr cela va revenir à 10, ce qui est un chiffre. Eh bien, l'opérateur de comparaison est à peu près le même. Vous venez d'entrer, par exemple ici un entier et un entier, et vous renvoyez un booléen. C'est, c'est tout ce qu' il y a à faire. Mais la seule chose qui change vraiment c'est le type de retour, pour ainsi dire. Je pense à cela et c'est tout, quelque chose à garder à l'esprit ici. Et ce serait là les opérateurs de comparaison. Je recommande vivement de jouer un peu avec ça. Ça ne devrait pas être trop fou. Il s'agit en réalité de comparer deux valeurs différentes l'une à l'autre. Et cela s' exprime alors sous la forme d'un booléen, ce qui devrait être logique, c'est qu'il n'y a jamais une seule réponse juste dans ce cas, n'est-ce pas ? Si le score est supérieur ou égal à 150 ou non, cela implique. Mais quel que soit le cas, c'est tout pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 10. (Java) Booleans et opérateurs logistiques de logique: Bon, revenez à l'introduction de Java ici pour la modélisation micro-ondes. Et dans cette conférence, nous allons examiner un opérateur logique. J'ai donc préparé quelques Booléens ici, regardé des conférences, posé des questions, terminé mes devoirs et engagé un examen. Ceux-ci sont bien sûr liés à un scénario semblable à un cours, disons. Et nous allons maintenant jeter un coup d' œil aux opérateurs logiques. Et il y en a trois, au fond, que nous allons jeter un coup d'œil. Il y a la fin, il y a la salle d'opération et le non. Nous avons donc vu précédemment où nous pouvions nier quelque chose et l'AND, et la salle d'opération est également très intéressante. Les opérateurs logiques prennent donc deux booléens et vous donnent un nouveau booléen. Par exemple, pour la fin des booléens, vous devez le donner, être vrai, puis il retourne vrai. Sinon, il renvoie false. Et pour le, ou l' un ou l'autre d'entre eux doit être vrai, puis cela retourne un vrai. Cela renvoie donc faux uniquement si les deux sont faux. Par exemple, vous pourriez y penser comme ça. Boolean a terminé le cours, non ? Donc, si vous voulez terminer le cours, vous devez avoir regardé les cours et terminé les devoirs. Cela devrait être logique. C'est un bon exemple concret ici. Et puis on pourrait aussi dire, eh bien, un fan, n'est-ce pas ? Donc, disons que c'est un fan, non ? Donc, quelqu'un qui est fan finira le cours. Donc les noyaux finis et l'examen d'Eva, cela devrait également être logique dans l'ensemble. Et maintenant, quelqu'un qui pourrait apprendre, comme peut-être beaucoup d'apprentissage, a regardé les cours ou a posé la question. C'est donc quelque chose que quelqu'un apprend, n'est-ce pas ? Soit je regarde les conférences ou pose une question. Donc, l'un ou l'autre d'entre eux pourrait être vrai et ensuite apprendre serait vrai. Nous allons en quelque sorte une idée générale ici. Et il y a encore une chose que j'ai, et ça va être ici même. s'agit donc que d'un aperçu général de ce qui se passe fondamentalement. Vous pouvez également le télécharger sous forme de feuille de triche. Ceci est disponible dans les ressources. Et l'idée ici est que cela vous montre simplement quels sont les différents types de résultats, c'est essentiellement ce que sont les résultats. Donc vous avez un et B. Et ensuite, selon ce qu'ils sont, c'est le retour qui est donné, comme je l'ai dit, les deux doivent être vrais pour que les réponses soient vraies. Et ici, si l'un ou l'autre d'entre eux est vrai, alors cela renvoie un vrai. Sinon, c'est faux. Vous pouvez aussi y penser, écrire A ou B vers une sorte de, c'est vraiment dans la langue quand on pense à la négation, comme je l' ai dit, nous avons déjà parlé, c'est en quelque sorte le général ajustez en ce qui concerne les opérateurs logiques. Bien sûr, il y a un peu plus que cela, est-ce vraiment un bon début pour cela ? Et puis, bien sûr, la vraie chose à laquelle vous pouvez penser, c'est que lorsque vous en avez un qui renvoie un booléen, vous pouvez bien sûr les enchaîner ensemble. Vous pouvez donc aussi dire, par exemple, poser une question, n'est-ce pas ? Vous pouvez donc voir que, comme cela renvoie bien sûr un booléen, nous pouvons maintenant utiliser à nouveau l'opérateur AND. Cela fonctionne donc à peu près très semblable à celui des opérateurs arithmétiques. Bien sûr, vous pouvez aussi plus, plus, plus. Vous pouvez en avoir 5 plus 8 plus 7 plus 9 plus 15. Cela fonctionne très bien. la même manière, vous pouvez également enchaîner les opérateurs logiques ensemble, n'est-ce pas ? Mais ce serait tout pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose nouveau et je vous verrai lors de la prochaine conférence. Donc, oui. 11. (Java) Si et autres déclarations: Bon, bienvenue dans l'introduction de Java pour Minecraft matin. Et dans cette conférence, nous allons examiner les déclarations if et else. Maintenant, dans cette conférence , nous allons vraiment commencer à avoir une interaction avec l'ordinateur. Beaucoup de conférences précédentes étaient très théoriques, montrent en quelque sorte des concepts. Mais dans cette conférence, nous allons vraiment bien interagir avec l'ordinateur. Commençons par créer deux entiers. Exam 1, Supposons par exemple 65 et deuxième examen, qui sera 51 pour le moment. Et nous pouvons imaginer que, voyons voir, nous devons rédiger un programme qui évalue les valeurs de ces deux examens. Et dit en gros, Hé, vous avez échoué ou passé l'examen 1, vous avez échoué ou passé l'examen 2. Et puis à la fin, peut-être que lorsque les gens ont réussi les deux examens, peut-être que quelque chose est imprimé comme si vous avez réussi le cours ou quelque chose comme ça. Alors, comment pouvons-nous faire cela ? Eh bien, ce que nous pouvons faire, c'est que nous pouvons faire une déclaration si. Et pour cela, nous aimons littéralement juste si, ici. Ensuite, nous pourrons faire ce qui suit. Nous pouvons mettre entre parenthèses. Et si vous le placez entre parenthèses ouvertes, les parenthèses fermantes doivent automatiquement être générées. Et à l'intérieur de ces parenthèses, nous devons mettre une valeur booléenne. Nous nous souvenons donc des deux conférences précédentes où nous avions des opérateurs de comparaison. Ce que nous pouvons dire, c'est que si l'examen 1 est supérieur ou égal à 50 , nous savons que nous avons réussi l'examen. Et puis quand on met caché ici c'est après les parenthèses fermantes, on met un crochet bouclé. Et si je place le support bouclé ouvert et que j'appuie sur Entrée, le crochet bouclé fermant devrait automatiquement être généré pour vous. Et maintenant, ce que nous pouvons faire, c'est que nous pouvons écrire comme autre chose. On peut donc dire « système out », « print line ». Et ensuite, par exemple, vous avez passé un examen. Cependant, tout le code entre ces deux accolades entre ces deux accolades ici va se produire quand tout ce qui se trouve à l'intérieur de l'instruction if. Donc, à l'intérieur de ces parenthèses, c'est vrai. Donc, si c'est vrai, cela va se produire. C'est plutôt cool en fait. Et puis nous pouvons en quelque sorte surcharger cela en ajoutant une LLC ou à la fin, et en mettant également un support bouclé. Et encore une fois, nous mettons le support bouclé ouvert dans n'importe quelle pression Enter un crochet bouclé fermant devrait automatiquement générer ici. Et ensuite, par exemple, nous pouvons simplement sélectionner ce contrôle C control V pour le coller. Et nous pouvons dire que vous avez échoué à l'examen 1. Donc cette année, non ? Car l'autre se produit réellement lorsque c'est faux. Cela fonctionne très bien pour nous. Nous pouvons donc utiliser cela pour vérifier si l'examen 1 a été réussi ou non . allons donc exécuter ça et nous devrions passer un examen passé. Et bien sûr, nous obtenons cela parce que dans ce cas, l' examen 1 est supérieur, supérieur ou égal à 50. C'est donc ce qu'on appelle. C'est plutôt cool. Nous pouvons maintenant faire exactement la même chose pour le deuxième examen. Nous allons donc copier tout ce contrôle C, Control V sélectionné et ensuite, nous allons dire examen 2. Ici, nous allons dire l'examen 2, et ici nous allons également dire l'examen 2. En fait, c'est plutôt cool. Toutes choses prises en compte. Et puis la question se pose, eh bien, je veux dire maintenant que nous voulons sortir lorsque vous avez réussi les deux examens. Alors, comment pouvons-nous faire cela ? Eh bien, maintenant, nous sommes assez fous. Les deux dernières conférences sembleront donc un peu plus cohérentes, pour ainsi dire. On va dire l'examen 2. L'examen 1 est plus grand ou égal à 50, non ? Donc, ça réussit toujours cet examen final 2, 0, n'est-ce pas ? Cet examen 2 ici est plus grand ou égal à 50. Et si cela, si les deux sont vrais, alors nous savons que vous avez réussi la classe afin que nous puissions copier le système ici et ensuite nous pouvons simplement dire que vous avez réussi, disons que la classe vient de vous par souci d'argumentation ici. C'est vraiment cool, non ? Nous avons maintenant des déclarations et des déclarations si autres, et ce que vous pouvez également faire d'ailleurs, lorsque vous avez une autre déclaration que vous pouvez mettre une autre déclaration if ici, n'est-ce pas ? Vous pouvez donc simplement mettre celui-ci là-dedans. Fondamentalement, si c'est faux, alors sinon et ensuite mettre une autre déclaration if est essentiellement juste pour l'argument, dites juste vrai ici. Bien sûr, cela fonctionnerait aussi, mais, vous savez, et ensuite nous pouvons dire autrement et essentiellement les enchaîner ensemble afin que vous puissiez faire si autrement, sinon, le dernier sera toujours sinon, vous ne pouvez pas non plus avoir d'autre ici. Cela fonctionne également. Je voulais également mentionner cela. Mais maintenant, ce qui est vraiment cool, c'est que réfléchissons à ça. Supposons qu'il s' agisse d'un programme où le professeur intervient et écrit réellement les résultats de votre examen. Oh, quoi ? Eh bien, nous nous souvenons comment peut-on lire quelque chose dans lequel nous devons écrire dans un scanner, scanner, un scanner équivaut à un nouveau scanner. Et puis system.out.print. Et puis ce genre de choses ne fonctionne que pour nous. Nous nous souvenons que nous ne voulons pas trop nous inquiéter de ce que cela signifie. Ensuite, nous pouvons dire quelque chose comme la ligne d'impression de système et dire les résultats ou l'examen premier. C'est vrai ? Et ensuite, nous allons juste dupliquer ça. Réalisez des résultats pour un examen 2. Et puis on peut simplement dire que l' examen 1 est en fait égal au scanner point suivant int ici, n'est-ce pas ? Nous allons donc lire dans un entier, puis enregistrer dans la variable de l' examen 1. Et la même chose que nous allons faire pour y aller. Maintenant, ce qui va se passer est vraiment cool. Maintenant, nous commençons cela et maintenant il s'attend à ce que nous passons un examen. Malheureusement, 32, en fait, pas 320 mais 32. Eh bien, et les résultats de l'examen deux étaient en fait bien meilleurs. Ils avaient 68 ans, malheureusement, juste un peu, pas assez pour 69 ans. Et ensuite, vous pouvez voir que vous avez échoué à l'examen 1 et à l'examen 2. Maintenant, nous commençons vraiment à entrer dans une partie de cette introduction de Java où vous pouvez vraiment faire quelque chose avec l'ordinateur. Et vous allez vraiment voir cela dans la première tâche aussi pour la prochaine conférence sera une sorte de version alternative de l'énoncé if, ce qui peut également être très important. Et puis la première tâche, je vous recommande vivement de faire les devoirs ici pour l'introduction de Java, surtout lorsque vous n'êtes qu'un débutant car ils peuvent être vraiment, vraiment utiles. Et avec cela, bien sûr, le noyau est disponible dans le référentiel ou tout aussi bien. Mais jetez un coup d'œil à ceux qui se trouvent dans les ressources. Et je recommande vivement jouer un peu avec ça, lire quelques chiffres en les comparant, faire des déclarations, faire tout un tas de choses sympas. Avec cela, vous pouvez déjà faire un jeu vraiment cool. Donc, mais pour le moment, ce serait pour cette conférence ici même. J'espère que cela vous a été utile et que vous apprendrez quelques nouveautés. Et je vous verrai lors de la prochaine conférence. Donc, oui. 12. Déclaration de commutateur de Java: Ou je reviendrai sur l' introduction de Java ici pour la modélisation Minecraft. Et dans cette très courte conférence, nous allons examiner l'énoncé de switch. L'énoncé de changement est un peu comme le petit cousin de la déclaration if, pour ainsi dire. C'est donc très similaire. Jetons juste un coup d'œil. Nous allons donc créer un entier appelé placement métallique, qui n'est pour le moment qu'un dans. Vous pourriez imaginer que celui-ci représente le placement, par exemple, aux Jeux Olympiques, n'est-ce pas ? On serait donc la médaille d'or, l'argent, le bronze. Donc deux, c'est de l'argent et le bronze est trois. Et puis n'importe quoi d'autre en tant que disques, pas de métal. Et nous pourrions le faire en faisant simplement quelques déclarations si, qui que nous puissions également faire une déclaration de changement. Vous pouvez voir si je tape un commutateur ici, puis à l'intérieur des parenthèses, je mets la variable que je veux que nous évaluions. Ensuite, une fois de plus, faites le crochet bouclé ou le second devrait générer automatiquement. Et maintenant, je dois préciser dans chacun de ces crochets bouclés chacun des cas que cette variable peut prendre. Je peux donc dire le cas 1. Cela signifie donc qu'il a pris la première valeur, la ligne d'impression et, par exemple, la médaille d'or. Et puis je peux dire le cas deux. Et puis je peux dire système de ligne d'impression, argent, métal. Et encore une fois, à la toute fin, je peux dire le cas trois, système. La ligne d'impression de sortie du système. C'est là que tu y vas. bronze. Cependant, il est formaté, c'est tout à fait correct. Et puis nous pouvons également dire par défaut, ce qui signifie que cela va être appelé si ce n'est ni l'un ni l'autre, cela obtient plus ce cas. Nous avons donc des cas prédéfinis ici. Et puis, dans le cas par défaut, il va être appelé si c'est autre chose que nous pouvons dire sans métal. Et la première chose que vous remarquerez est d'attendre une seconde. Nous devons définir chaque cas. Oui, ici, le problème est que vous pouvez utiliser quelque chose comme plus grand ou égal, ce qui facilite immédiatement la réduction de quelque chose. Si je voulais faire l'évaluation de l' examen ici, il faudrait que je passe en revue chaque cas. Je dois donc passer en revue les cas d'un 50 ou d'un à 49 pour avoir dit, hé, vous avez échoué, puis les autres pour vous ont réussi ou vous avez réussi. L'énoncé de commutateur n'est donc pas toujours le meilleur choix. Cela peut parfois être le cas. Jetons donc un coup d' œil à cette liste. Il faut bien sûr imprimer la médaille d'or. Mais la première chose que vous allez dire, c'est attendre une seconde. En fait, il a tout imprimé exactement. Parce qu'il y a encore une chose que nous devons faire. Et c'est à ce moment que vous avez l'affaire, la toute fin, il faut finir par une pause ici. Nous devons faire cette pause. Sinon, il sera simplement préservé. Il va juste passer par l'instruction switch va juste continuer et retirer tous les cas. Et si nous avons la pause ici, vous verrez que seule la personne pertinente sera réellement prise. Mettons-en trois juste par souci d'argumentation ici. Comme vous pouvez le constater, cela fonctionne maintenant. C'est donc très important pour que le mot clé break ici doit être utilisé avec l'instruction switch. Cela peut parfois être un peu gênant. Donc, les commuter généralement pour entiers sont corrects, peuvent être utilisés. Il est généralement utilisé pour les énumérations car énumérations ont des valeurs définies qu'elles peuvent prendre et c' est généralement plus facile pour les cas ce qui est très rare ou qui est fondamentalement impossible. Vous ne devriez pas utiliser de floats dans les instructions de commutateur , car ici, vous devez bien sûr définir la casse exacte. Et en raison de l'arrondi flottant ou des erreurs qui peuvent se produire, cela pourrait ne jamais fonctionner. N'utilisez donc jamais de flotteurs et d'instructions de commutation. En gros, c'est une chose très importante à retenir. Sinon, une instruction switch, même si vous n'allez pas l' utiliser vous-même, pourrait bien sûr apparaître dans le code de quelqu'un d'autre. Vous devrez au moins avoir vu cela avant, n'est-ce pas ? Mais ce serait déjà le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile et que les neurones et le nouveau, je vous verrai dans la prochaine conférence. Oh, oui. 13. PROJET 1 : Jeu de Trivia: Bon, bienvenue dans l'introduction Java pour Minecraft modding ici avec la première affectation. Dans la première mission sera un jeu de création, un simple jeu de trivia. J'expliquerai prochainement ce que cela implique. Bien que l'idée soit que vous devez définir au moins trois questions. Je recommande de poser trois questions, trois réponses, ce qui suffira. Sinon, le code sera très encombré très rapidement. Et ce que je veux que vous fassiez, c'est que vous demandiez à l'utilisateur de saisir sa réponse. Vous pouvez utiliser l' analyseur pour cela pour obtenir ce qu'ils ont tapé puis évalué avec des instructions if and else pour vérifier si la réponse que l'utilisateur a saisie était correcte ou non . Je recommande donc de reregarder la conférence d'entrée de sortie est très importante dans ce cas. Et la conférence de déclaration if else pourrait également être très intéressante à regarder une fois de plus. Donc, s'ils étaient corrects, sortez qu'ils étaient, et s'ils avaient tort, indiquez à l'utilisateur qu'ils étaient incorrects et obtenez également la bonne réponse. Une autre chose que vous devriez faire est essentiellement d'incrémenter un total de points, ce qui signifie que lorsque l'utilisateur a une réponse correcte qui nomme augmentée d'un, alors à la fin, vous avez juste un sortie unique pour chacun des totaux de points différents. Donc en gros trois, en disant, hé, vous avez tout fait correctement à quelque chose comme 0 minutes, accord, une erreur, une et ainsi de suite et ainsi de suite. Donc fondamentalement de 0 à trois, ayant des déclarations si autrement à la toute fin, il y a deux choses à garder à l'esprit. Ce sont donc quelques conseils que vous devrez garder à l'esprit lorsque vous lisez une chaîne de l'utilisateur, veuillez utiliser le point du scanner à côté et non le point du scanner suivant la ligne suivante. Parce que si vous utilisez la ligne suivante du scanner point, cela gâche parfois la façon dont cela est lu. Mais je recommande vivement de le faire. Et puis, lorsque vous lisez une réponse à partir de ceci, nous avons une chaîne et vous voulez la comparer à une chaîne. N'utilisez pas égal, égal, mais utilisez le point d'entrée égal, puis placez la réponse, la bonne réponse entre parenthèses ici. Cela renverra également une valeur booléenne, ce qui facilitera un peu cela. Sinon, parce qu'il y a parfois ne fonctionne pas et cela fonctionnera certainement. Donc, gardez cela à l'esprit. Et c'est à peu près le devoir ici. Ceci est également écrit sous forme de texte ici. Et je soupçonne que pour un débutant, c'est environ 45 à 60 minutes. Je vous recommande vivement de prendre votre temps avec ça. Je reviendrai probablement aux anciennes conférences, en regardant la conférence d'entrée de sortie, conférence if et else. Et avec cela, vous devriez presque être complètement terminé. En gros, c'est à peu près ce dont vous avez besoin. Et une fois que vous aurez terminé, vous aurez accès à la solution, bien sûr, et je parcourrai également la solution dans une autre vidéo. Ce serait donc ça. Non, bonne chance. 14. SOLUTION 1 : Jeu de Trivia: Très bien, donc vous avez réussi la première mission et voici la solution à pas. Donc, vous avez probablement déjà vu à quoi ça ressemble à une heure. Bien sûr, les questions ici dans ce cas sont en fait faites sous forme de chaînes. Bien sûr, cela a beaucoup de sens, n'est-ce pas ? Sinon, vous pouvez vraiment enregistrer les questions de n'importe quelle façon. Et la seule réponse est en fait dans un entier, cela fonctionne. Cependant, je vois également l'intérêt de faire cette chaîne une chaîne normale. Les réponses seraient correctes. Donc, pas de soucis. Là. Nous avons un nombre entier , puis un scanner, puis nous commençons tout juste, nous sortons la première question. Nous disons ensuite l' entrée utilisateur numéro 1. On va juste mettre ça ici. Nous allons voir si c'est égal à la première réponse. Si c'est le cas, nous allons incrémenter les points, indiquer que c'était correct et vous avez autant de points. Sinon, nous allons dire incorrecte et donner la bonne réponse. Après cela, nous faisons à peu près la même chose. Je vais poser la deuxième question, obtenir à nouveau l'entrée de l'utilisateur et l'égaler ou dire : Hé, est-ce égal à la réponse ici, incrémentant les points si c'est correct, en sortant et ensuite dire non, c'est incorrect, c'est en fait la bonne réponse. Et puis la troisième fois encore. Et puis, à la toute fin , vous pouvez voir qu'il passe essentiellement par une sorte de cascade ici. Donc, les points passent par trois à 0. Ensuite, j'ai aussi une sorte d'œuf de Pâques ici. Lorsque vous avez moins de 0 point que vous obtenez, comment obtenir des points négatifs ? Parce qu'il n'y a aucun moyen de les obtenir. Vous pourriez bien sûr aussi quelque chose où vous obtiendrez points négatifs si vous faites une réponse particulièrement stupide ou quelque chose comme ça, cela fonctionnerait également. Mais je n'ai rien mis en œuvre ici. Ce n'était qu'un exemple. C'est donc en fait comme ça que cela pourrait fonctionner. C'est donc un exemple. Encore une fois, si le programme fonctionne bien ? Donc, si cela fonctionne pour vous et que vous pouvez jouer à ce jeu et que cela fonctionne, mais cela ressemble différemment à cela. C'est tout à fait très bien. Comme « Pas de soucis du tout ». C'est donc la beauté ici. Il y a plusieurs façons de le faire, et nous verrons cela dans les affectations à venir et nous allons toujours utiliser ce jeu trivia également, une sorte de modèle. Et nous allons redessiner ces prochaines missions d'une manière différente. Et c'est, j'espère que vous serez en mesure de voir que cela devient plus facile et différent, disons dans les futures conférences et les futures missions. Mais ce sera le cas pour cette solution ici. J'espère que cette mission vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 15. (Java) String et méthodes de cordes et de cordages: Ou je reviendrai sur l' introduction de Java ici pour la modélisation Minecraft. Et dans cette conférence, nous allons examiner les chaînes et certaines méthodes de chaîne. Eh bien, en gros tout autour de la corde pour ainsi dire. Et nous allons commencer par créer une nouvelle variable de chaîne appelée phrase. Et cela va être égal à, c'est une merveilleuse introduction à Dava. Espérons que c'est également vrai. Mais quel que soit le cas, c'est la valeur de notre variable de chaîne ici. Et nous allons juste imprimer ça. Donc, phrase juste ici, phrase de ligne du système. Et maintenant, la question est : que pouvons-nous faire d'autre ici ? La première chose que nous allons faire, c'est qu'on va vraiment le dupliquer. Allons aligner. Et ce que nous allons dire c'est fait par Control D au fait. Et ce que nous allons faire, c'est que nous allons dire que la longueur, c'est que nous allons dire quelque chose comme plus. Et puis on peut dire la longueur du point de phrase. Comme vous pouvez le voir, je peux appeler la longueur du point avec les parenthèses ici, ce qui signifie qu'il s'agit d'un appel de méthode. Nous ne sommes pas encore sûrs à 100 % de ce que c'est, mais nous l'avons déjà vu plusieurs fois, et cela ne fait que nous rendre la longueur. Et si jamais je survole cela, vous pouvez voir dans un entier renvoie la longueur de la chaîne, longueur est égale au nombre de caractères de cette chaîne. Il s'agit donc essentiellement d'unités Unicode. Ne nous inquiétons pas à ce sujet. Il est essentiellement égal aux caractères de cette chaîne. Voyons voir. La longueur est de 35. C'est donc intéressant ici. Et puis, bien sûr, nous sortons également la chaîne réelle. Mais que pouvons-nous faire d'autre ? Nous devons pouvoir faire des choses intéressantes. Bien sûr, nous le pouvons. Nous allons en fait obtenir cette sortie ici. Nous allons juste le dupliquer trois fois. Pourquoi pas ? Et la première chose, c' est de crier. Cela va donc signifier que tout ici, je vais me transformer en majuscules. Comment pouvons-nous faire cela ? Eh bien, on peut faire des phrases Dat en majuscules ici. Cela a déjà suggéré. Et puis, bien sûr, la même chose serait tout simplement chuchoter, n'est-ce pas ? Et ensuite, nous allons faire la phrase en minuscules ici. Donc, cela va tout simplement passer majuscules et en minuscules alternatifs. Et puis juste pour le bien du milieu, c'est aussi juste sortir la phrase une fois de plus. Ajoutons également un commentaire, n'est-ce pas ? Il s'agit donc de majuscules et de minuscules. C'est assez simple. Nous pouvons simplement transformer la chaîne entière en majuscules, une chaîne entière en minuscules. Et puis ici, eh bien, nous devrions juste obtenir la chaîne minuscule aussi, non ? Donc, si nous sortons ça, vous pouvez tout crier en grosses lettres, donc tout en majuscules, puis tout en minuscules. Et puis le voilà, c'est la chaîne normale. C'est étrange, n'est-ce pas ? Eh bien, voici la partie très intéressante à ce sujet. Ces méthodes renvoient en fait une copie de cette variable de phrase. Ils ne modifient pas la variable en eux-mêmes. Donc, quand nous avions des choses comme x égal à x plus 1, nous avons en fait changé x est 0 ou x plus égal à 1. Cela a changé la variable x. Dans ce cas, nous en retournons une copie. C'est donc très important et il faut vraiment garder cela à l'esprit. Mais pour la prochaine chose, disons, je vous dis, Hey, quelle est la position que Java a trouvé le mot Java. Tu vas être comme, je ne sais pas, c'est exactement comme ça. Donc, ce que nous allons faire, c'est qu'on va encore copier sur la ligne d'impression. Et nous allons dire ce qui suit. Nous allons dire que le mot Java ou quelque chose comme celui-ci se trouve en position. Maintenant, nous pourrions compter, nous n'allons pas appeler pour l'instant. Nous allons compter dans un instant. Nous allons dire index de points de phrase, nous pouvons voir qu'il y a quelques types d'index différents ici, mais nous voulons cette chaîne 1. Au fait, ce n'est pas important, celui que vous choisissez ici, vous pouvez voir que dès que le curseur est à l'intérieur des parenthèses suggérez ceux que vous voulez faire. Nous allons prendre essentiellement, et je vais dire Java ici. Alors, Java, voyons juste quand est-ce que c'est ? Comme où cela se produit-il ? 17, d'accord, comptons juste. Je vais donc commencer par ici. Mon curseur sera donc toujours sur le côté gauche du personnage sur lequel je compte, 123456789, 10, 11, 12, 13, 14, 15, 16, 17, 18. Et tout le monde va être comme Attendez une seconde. Mais cela disait 70, n'est-ce pas ? Oui. Il a dit 17. Maintenant, pourquoi est-ce que c'est 18 ans ? Ah, vous voyez, c'est une chose très intéressante car en Java ou dans la plupart des langages de programmation, nous comptons en fait à partir de 0. Maintenant, cela pourrait être absolument fou pour vous, surtout si vous étiez vraiment débutant. C'est tout à fait très bien. Ne vous inquiétez pas à ce sujet. Le problème, c'est que vous vous y habituez très rapidement. Il y a quelques autres endroits où nous devons utiliser cela. Mais si nous commençons à compter à 0, vous pouvez voir que c'est 0, 1, 2, 3, 4 , 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17. Tout d'un coup, le j est exactement le 17e caractère, ou plutôt c'est le personnage avec l'index 17, n'est-ce pas ? Donc parce qu'il s'agit bien sûr de l'index, l'index de ce mot, l'index de ce mot. Et nous sommes essentiellement à la recherche du premier personnage ici. C'est vraiment très intéressant, quand on y pense vraiment. Et bien que se passe-t-il si nous le sommes réellement, nous ne le sommes pas, ce n'est pas correct. Là où nous en sommes, c'est en fait que nous voulons remplacer quelque chose. Donc, système de ligne d'impression et nous voulons dire une phrase qui remplace, et nous voulons remplacer Java par, disons C Sharp. Mais pourquoi pas ? C'est vrai ? Vous pouvez donc voir la cible que nous voulons remplacer en Java, et ce que nous allons la remplacer est en C pointu. Donc, si je devais courir ça maintenant. Nous verrions que c'est une merveilleuse introduction en C car ce n'est pas correct, ce n'est pas correct. Mais dans cet exemple, bien sûr, c'est tout à fait très bien. Il s'agit donc de la méthode de remplacement et c'est également très intéressant. Encore une fois, il n'est pas remplacé dans la phrase. Il a renvoyé une nouvelle chaîne, une copie de celle-ci qui remplace fondamentalement celle-ci. C'est très important. Peut-être voudrions-nous voir si une phrase commence ou non par quelque chose. C'est très facile, en fait, nous allons juste dupliquer le remplacement de votre commande par Control D. Et ce que nous pouvons dire, ça commence, vous pouvez voir, et je pourrais juste dire, hé, J'écris et ce serait vrai dans ce cas. Et puis nous pouvons aussi, pouvez-vous deviner ce que l'autre est, bien sûr, se termine, ce qui serait, disons un A majuscule, qui est bien sûr faux dans ce cas, ce serait vrai, cela devrait être faux. Voyons donc simplement par souci d'argumentation. Et là, vous pouvez voir vrai et faux. Très facile à faire. Que se passe-t-il si nous avons une, une chaîne et que nous allons appeler ce S pour le moment, et que ce sera juste une chaîne vide, n'est-ce pas ? Donc, une ficelle qui n'a rien dedans. Comment pouvons-nous vérifier que c'est vide ? Eh bien, nous pouvons vider un booléen. Par exemple, nous disons simplement que S est vide. Et voilà que tu y vas. C'est à peu près tout ce dont nous avons besoin. Et si nous devions sortir le système, imprimer une ligne qui est vide, nous pourrions bien sûr aussi mettre S dot est vide à l'intérieur de votre, pourquoi s'embêter, c'est tout à fait très bien. Et ils vont, c'est là où est-ce vrai ? C'est vrai. Bien sûr , c'est vrai. Désolé. Vous y êtes, n'est-ce pas ? Bien sûr, c'est vrai parce que c'est vide. Et il y a une autre chose qui est vraiment intéressante lorsqu'il s'agit de méthodes booléennes pour les chaînes. Et c'est le contenant, un. C'est très intéressant. Donc la phrase de ligne d'impression système qui contient, disons Java. Et c'est bien sûr vrai, n'est-ce pas ? Parce que cela contient Java, nous devrions également voir r2 ici . Superbe. Qu'en est-il de l'inverse ? Quand on pense aux frais généraux de l'indice ? Qu'en est-il d'un personnage à une certaine position ? Absolument aucun problème. La ligne d'impression, la phrase, l'omble à quelle position ? Disons 17. Nous savons donc que ce sera un. Ils savent donc que ce sera un j. Cela va être très important et qu'il y a un J. assez facile. Encore une fois, nous commençons à compter à 0. Par conséquent, bien qu' il s'agisse du 18e caractère, c'est le personnage avec l'index 70, très important. C'est peut-être difficile, mais après un peu de temps, je suis sûr que vous vous y habituerez. Et faisons simplement une autre chose. Et ça va être la sous-chaîne. Sous-chaîne intéressante. Qu'est-ce que ça fait ? Eh bien, faisons la ligne d'impression système, et disons simplement une sous-chaîne de points de phrase. Et par où commence-t-on ? Commençons par l'indice 17. Mais ce qui va se passer maintenant, c'est qu'il va tout prendre à partir de 17 ans et il va tout rendre par la suite. Donc maintenant, la sous-chaîne 17 ans devrait dire introduction Java, point d'exclamation. Et bien sûr, c'est aussi le cas. C'est très joli. Donc, si nous prenons une autre phrase que vous pouvez voir qu'il y a bien sûr un tas de méthodes que vous ne pourriez pas appeler, ce n'est pas une liste exhaustive que j'ai montrée. Je viens d'en montrer quelques-uns qui pourraient être intéressants ici. Je recommande toujours d' essayer un peu. Vous essayez un tas de choses. Ce qui est génial ici, c'est qu' il suffit de taper un tas de choses, de cliquer sur le bouton Exécuter et de voir ce qui se passe. Et si quelque chose arrive, c'est cool, encore mieux. Et si ce n' est pas le cas, s'il y a une flèche près de la flèche, travaillez-la et voyez si vous ne pouvez pas le réparer. Mais ce serait à peu près tout cela pour la conférence de la méthode des cordes et de ces cordes. J'espère que vous avez trouvé cela utile et que vous apprendrez quelque chose de nouveau si vous avez beaucoup apprécié une critique de votre part. Sinon, je vous verrai lors de la prochaine conférence. Oui. 16. Casting de Java: Ou je me réjouis de revenir à l'introduction de Java pour la modélisation Minecraft. Et dans cette conférence, nous allons regarder le casting. Vous pouvez également considérer cela comme une conversion de types de données les uns entre les autres. Qu'est-ce que cela signifie vraiment ? Eh bien, jetons un coup d'œil. Par exemple, nous voulons obtenir un prêt entier, soit 750 euros, quel que soit le cas. Ensuite, nous avons un taux d'intérêt, qui est bien sûr flottant, n'est-ce pas ? Et cela va être de 0,0525, disons. Cela équivaut donc à taux d'intérêt de 5,25 % à ce stade, si tout cela aurait du sens. Nous voulons donc maintenant calculer les intérêts. Maintenant, l'intérêt, nous devrions calculer cela comme un flotteur pour le moment. Et je vais vous montrer pourquoi dans une seconde. L'intérêt est donc égal au taux de prêt multiplié par le taux d'intérêt. Cela devrait également être logique. Vous pouvez voir que même si je prends un entier fois un float, tout fonctionne parce que nous sauvegardons cela dans un float. Intéressant. Ok, faisons le système, imprimons la ligne et imprimons simplement les intérêts, la mer. Et ça devrait être quelque chose comme 39, c'est bon. Bien sûr, si vous le sentez ici aussi, c'est tout à fait très bien. Maintenant, la question est de savoir comment faire comme multiplier un entier et un float et en extraire un float. C'est assez fou, n'est-ce pas ? Eh bien, ce qui se passe, c'est que cet entier en arrière-plan est converti en float. Nous pouvons rendre cela explicite en tapant le mode entre parenthèses devant la variable réelle. Et ensuite, nous avons explicitement cela. Il s'agit donc d'un casting explicite avant qu'il ne s'agisse d'un casting implicite. Le problème, c'est que nous passons ici d'un entier à un float. Que se passe-t-il si nous établissons les intérêts réels en entier ? Tout d'abord, ce qui va se passer c' est que cela va montrer une erreur car dès que nous aurons un flotteur dans une expression mathématique ici, tout va se transformer en flotteur. parce que les flux ont plus d' informations, n'est-ce pas ? Parce que tout après la virgule est plus d'information, tout est donc converti en charge. Maintenant, passons explicitement cela en entier. Maintenant, disons Mori, le fond ici étant jaune signifie qu'il s'agit d'un, est essentiellement un avertissement. Nous n'allons pas nous inquiéter à ce sujet parce que je veux vraiment vous montrer quel est l' avertissement, nous avertir parce que tout d'un coup c'est un gros 0 et vous allez me dire, Attendez, comment se sont-ils transformés en 0 ? Eh bien, lorsque nous jetons un float sur un entier, ce qui va se passer, c' est que tout ce qui après la virgule est simplement coupé. Donc, en gros, c'est comme ça. Donc, tout d'un coup, le taux d'intérêt sera égal à 0 lorsque nous le transmettons en entier, ce qui signifie que vous allez simplement dire que le temps de prêt 0 est bien sûr 0. Et vous pouvez voir que c'est aussi ce que dit l'avertissement ici. C'est pourquoi nous voulons revenir au flotteur juste ici. Ils y vont donc. Et puis, au lieu de faire de cela un entier, nous allons simplement maintenir cela au taux d'intérêt et à la normale. Et tout va bien se passer. C'est en quelque sorte l'idée lorsque vous passez d'un nombre entier à un float. Donc, de moins d' informations à plus d'informations, c'est généralement très bien. Passez des flux à un entier. Donc, pour plus d'informations à moins d'informations, cela peut avoir des conséquences, disons simplement. C'est donc toujours ce que vous devez garder à l'esprit. Et c'est aussi une chose. Donc, fondamentalement, cette idée d'écrire un autre type de données devant une variable pour transformer en un autre type de données est quelque chose que nous verrons un peu plus tard dans une conférence ultérieure. C'est donc quelque chose à garder à l'esprit. Eh bien, mais ce serait déjà le cas pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 17. (Java) Opérateur de terrain de Java): Bon, bienvenue dans l'introduction de Java ici pour la modélisation Minecraft. Et dans cette conférence, nous allons examiner l'opérateur ternaire. À première vue, l'opérateur ternaire sonne comme quelque chose de complètement fou, vraiment compliqué, mais en fait, ce n'est pas le cas. Nous allons donc créer deux entiers. L'un d'eux va être l'examen. Ce sera simplement le résultat de l'examen à titre d'exemple ici. Et puis un entier appelé cadeau pour cela est, disons que notre Père veut nous offrir un don de X montant. Nous allons toutefois préciser que lorsque nous réussirons cet examen, nous réussirons cet examen, comment nous pourrions le faire comme suit. Nous pouvons dire si l'examen est supérieur ou égal à 50. Donc, fondamentalement, nous réussissons l'examen, puis nous allons dire que le cadeau est égal à 10 et ensuite le cadeau est égal à 0. Maintenant, nous n'aurions pas nécessairement besoin d'autre chose ici, mais je vais juste ajouter cela là-dedans. Et ensuite, nous allons simplement mettre en réseau la ligne d'impression si deux. Donc, pas de soucis là-bas. Tout cela devrait être logique. Mais maintenant, ce que nous pouvons faire, c'est que nous pouvons écrire toute l' année en une seule ligne. Et ce que nous pouvons faire, c'est que nous pouvons dire que le cadeau est égal à. Ensuite, la première chose que nous devons faire est d'écrire une expression booléenne. Par exemple, l'examen est plus grand ou égal à 50. Ensuite, nous allons écrire un point d'interrogation. Et puis ce que nous voulons renvoyer si l'expression booléenne est vraie ici. Donc 10, puis deux points, puis tout ce que nous voulions retourner si l'expression booléenne est fausse, donc c'était 0. Et c'est l' opérateur ternaire, point d'interrogation deux-points. Et c'est à peu près la même chose que ça. Donc, ce que nous pouvons faire, c'est que nous pouvons simplement copier cela. Commentons les deux afin que, indépendamment de ce qui se passe ici, cela ne soit pas affecté. Nous allons d'abord avoir une sortie 0, puis un 10. Voyons voir. Vous y allez. Donc, le 0 est bien sûr ce 0 ici que nous avons assigné ici. Et puis le 10 ici est l'opérateur ternaire. Donc, c'est plutôt cool. Maintenant, l' opérateur ternaire est généralement utilisé. Je ne recommanderais pas de l'utiliser trop fondamentalement, mais parfois avec des choses assez simples comme celle-ci. Vous pourriez aussi penser prendre cette expression booléenne, en faire un booléen en disant comme un examen demandé. Et puis cela est un peu plus agréable juste après l'examen, que c'est 10, sinon c'est 0. Vous pouvez donc y penser aussi. Donc je ne le garderais probablement pas comme ça parce que c'est quelque chose comme ça pour ne pas redoubler le taux. Il y a trop de puissance cérébrale qui permet de considérer l'examen égal, un peu plus grand est égal à 50. D'accord ? OK. Oh, je comprends. Si vous avez quelque chose comme un is, réussit l'examen ou quelque chose comme ça en booléen, ce qui a du sens dans ce cas. Mais quel que soit le cas, il s'agit de l'opérateur ternaire et fondamentalement la même chose dans les déclarations if. Maintenant, ce n' est pas parce que tout cela est en une seule ligne que c'est nécessairement mieux. Le nombre de lignes n'est aucune indication de code qualité, d'accord ? Et je veux que vous le fassiez, je veux que cela soit très, très clair. Ça n'a pas d'importance. Un excellent programme peut être de 1000 lignes. S'il doit être long de 1000 pieds, il doit être long de 1000 nuits. Ce n'est pas parce que vous pouvez créer ce programme 800 lignes que cela ne signifie pas nécessairement que c'est mieux. C'est très important. Parce que le plus important lorsque vous écrivez du code, c'est que vous puissiez le lire et que quelqu'un d'autre puisse le lire, ce qui comprend vous dans six mois. Parce que vous êtes dans six mois va être une autre personne parce que vous aurez oublié tout ce que vous avez écrit dans votre code. Par conséquent, vous devez rendre votre code lisible ou d'autres personnes, c'est le point le plus important. Et si un opérateur ternaire sens dans ce cas, c'est génial. Je ne le ferais jamais, je vous conseillerais certainement de ne jamais mettre plusieurs opérateurs de terminaux sur la même ligne. Parce que vous pouvez bien sûr mettre un autre opérateur ternaire sur le vrai ou le faux ici. Ne faites certainement pas cela parce que ça devient très, très compliqué, très rapide. Restez aux instructions if. Dans ce cas, quel que soit le cas, ce serait déjà le cas pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 18. (Java) Arrays Java: Bon, bienvenue dans l'introduction de Java ici pour la modélisation micro-ondes. Et dans cette conférence, nous allons regarder des tableaux. Les tableaux sont définitivement le sujet le plus compliqué que nous allons examiner, vous savez, jusqu'à présent. Cependant, ce que je veux d'abord vous dire, c'est que si vous avez du mal avec cela, ne vous inquiétez pas du tout. C'est tout à fait normal. J'ai aussi du mal avec nous, quand nous avons appris cela. Et à la fin de la conférence, je vais raconter un peu une histoire à ce sujet. Mais pour le moment, rappelons-nous que nous avions des cordes E3, n'est-ce pas ? Nous sommes à la question 1, à la question 2, question 3, et nous répondons à une réponse à trois. Bien entendu, la première réponse était en fait un entier, mais dans ce cas, c'est une chaîne. C'est tout à fait très bien parce que c'est à des fins de démonstration. C'est un peu plus facile à montrer. Et ce que nous avions ici , c'est l'idée que nous avions ces questions. Disons simplement, je vous le dis, vous savez quoi, votre jeu trivia qui était dans la première mission, vous devriez en fait faire en sorte que cela ait 150 questions. Maintenant, vous allez être assis là pour être comme, excusez-moi. Oui. Une question de 150. Bien, d'accord. Ensuite, vous commencez à dupliquer cela, puis à changer chacun d'entre eux. Maintenant, alors peut-être, vous savez, je sais une chose que vous pouvez rester pressé et, vous savez, changer plusieurs choses en même temps, mais ensuite elles changent toutes au même nombre et c'est tout simplement J'ai foiré. Ce n'est pas très bon. Cela ne fonctionne donc pas tout à fait. OK. Comment pourrions-nous le faire autrement ? Eh bien, ce que nous pouvons utiliser, c'est un tableau. Maintenant, un tableau, vous pouvez considérer cela comme une liste. Ce n'est pas 100 % de la liste, n'est-ce pas ? C'est un peu différent car il existe également quelque chose appelé une liste en Java. Cependant, nous allons le considérer comme une liste. Et vous alliez créer un tableau de questions et une chaîne de réponses. Et nous allons juste jeter un coup d'œil à ce que cela implique essentiellement. Alors, comment créer un tableau ? Eh bien, nous n'avons qu'à taper le type que nous voulons. Donc, le type de données que nous voulons, puis ces crochets ici, et ce sera des questions et c'est égal à nouveau. Nous devons donc prendre le nouveau mot clé et vous pouvez voir que cela nous est déjà proposé. Je vais taper cette chaîne puis une fois de plus, l'angle des crochets ici, puis se terminer par un point-virgule. Maintenant, ce n'est pas encore fait car à l'intérieur de ces crochets, nous devons en fait fournir la longueur de ce tableau. Combien y a-t-il d'éléments là-dedans ? Dans notre cas ? Eh bien, c'est à peu près tout. C'est plutôt cool. Maintenant. C'est ça. C'est comme si oui, c'est à peu près tout. Et maintenant, bien sûr, nous devons attribuer quelque chose. Ce que nous pouvons dire, c'est des questions. Vous pouvez voir que je l'ai complété automatiquement avec la touche Tab, n'est-ce pas ? Encore une fois les crochets, puis attribuez, par exemple, un est égal à deux. Et puis prenons ça juste ici, non ? Donc, quelque chose comme ça. Et je peux continuer avec ça, n'est-ce pas ? 23. Et puis, eh bien, comment puis-je faire ça correctement ? Comment, comment est-ce possible ? Eh bien, déconnectez la ligne d'impression, et ensuite nous pouvons simplement dire des questions, pas de questions, voilà. Et ensuite, par exemple, trois ans maintenant, à ma moyenne, c'est la même chose, n'est-ce pas ? Maintenant, changeons ça, copions ça. Sélectionnez donc ce contrôle C control V, comme ce Control C Control V. Et sortons les trois ici. C'est juste que C et O savent ce qui s'est passé ici ? Eh bien, ce qui s' est passé ici, c'est que nous avons peut-être oublié. Maintenant, je n'ai pas oublié, je voulais vraiment vous montrer ceci. Mais ce qui s'est passé ici, c'est que nous devons commencer à compter à 0. C'est donc là que nous revenons quand nous avons vu les chaînes où nous commençons à compter à 0 an, nous avons également compté 0. Mais cela signifie que lorsque nous avons trois éléments dans ce tableau de questions, le premier est de l'index 0, le second est celui de l'index un et le troisième est de l'index 2, qui signifie que trois n'existe pas ici, et nous obtenons une exception. Nous allons voir cela à la fin de la conférence, car je veux que vous aimiez voir l'exception et je veux que vous compreniez ce que cela signifie. Mais pour le moment, c'est ainsi que vous attribuez différentes chaînes, dans ce cas différentes valeurs au tableau. Et vous pouvez également le lire à peu près comme ça. Mais c'est en fait ce qu'il faut. Et il suffit aussi de copier cela par souci d' argumentation et d'appeler cela les réponses, n'est-ce pas ? Ensuite, nous allons copier la houle. Je vais donc sélectionner ce RP ici, ici et ici. Et ensuite, nous allons simplement changer cela pour les réponses ici. Cela va donc être 50. Ce sera bien sûr Londres. Et puis le dernier sera très intéressant. Et ensuite, ce que nous pouvons faire, c'est par exemple que nous pouvons produire les réponses ici. Nous allons donc voir les réponses 1 dans les questions 1. Et puis tout d'un coup, on dit quelque chose comme, quelle est la capitale du Royaume-Uni ? Londres ? Très facile. Et nous allons en fait changer cela pour, en fait, nous n'avons pas besoin de changer cela par 0. C'est tout à fait très bien. Tout ce qu'on peut faire, c'est maintenant, eh bien, ok, alors peut-on juste aimer réaffecter ça pour qu'on puisse prendre ça. Je vais juste prendre ça. En fait, je vais écrire ces questions. Encore une fois, la parenthèse 0 est égale, par exemple, quel âge a Ian ? Msc, Gregor, en 2020. C'est juste sortir avec nous-mêmes. Pourquoi pas ? C'est tout à fait très bien. Et puis on vient de sortir ça à nouveau. Maintenant, le 0, disons, et le 0 ici. La question. Nous avons réaffecté ici, et la réponse sera toujours correcte. Au fait, c'est quelque chose que j'ai vérifié. Au fait, car je voulais que cela soit correct. C'est plutôt cool. Toutes choses prises en compte. vraiment génial, c'est que tout est en quelque sorte dans un seul type de données, n'est-ce pas ? Donc, les questions ont maintenant toutes les questions. Au lieu d'avoir trois chaînes différentes, nous avons en fait tout dans ce tableau de chaînes de questions. C'est plutôt cool. Nous pouvons également obtenir la taille de la longueur de ce tableau, de cette liste, pour ainsi dire, en posant des questions de la même longueur que vous pouvez voir ici. Et nous pouvons juste jeter un coup d'oeil là-dessus. C'est bien sûr 3 parce que c'est ce que nous avons fourni ici, n'est-ce pas ? C'est pourquoi nous avons dû fournir la longueur. Par conséquent, c'est à peu près tout ça. Et vous avez peut-être également vu beaucoup de suggestions ici. Nous n'allons nous inquiéter d' aucun de ces facteurs à l'heure actuelle parce que tout cela est très, très compliqué. Et nous avons aussi, c'est que je vais en fait copier le plus petit peu ici. Il s'agit donc de l'exception d'index de tableau hors limites ici. C'est à peu près ce que nous avons déjà vu, mais je vais le montrer encore une fois. Donc, si nous mettons un nombre entre parenthèses qui n'existe pas, nous obtiendrons une exception d'index de tableau hors limites. Vous pouvez donc y penser comme ça. Eh bien, c'est un tableau et il y a une certaine limite, d'accord, assez juste. Comme un index. Donc, l'indice que nous transmettons, c'est le taux d'indice trois. Je veux la question avec l'index trois. Bon, c'est assez juste. Mais c' est hors limites car cette zone ne comporte que trois éléments et nous commençons à compter à 0. Par conséquent, l'index ou l'élément avec l'index trois n'existe pas. Et encore une fois, vous obtenez la très belle trace de pile ici afin obtenir l'emplacement exact où le problème s'est produit. C'est donc également quelque chose que je voulais mentionner ici. Sinon, ce serait à peu près l'essentiel des tableaux. Et maintenant, bien sûr, le genre de chose que je vous ai dit au début. Quand j'ai appris des domaines universitaires, est intéressant, c'est que je ne les comprenais pas complètement. J'ai dit : Vous savez quoi, je n'ai pas besoin de zones. Je n'utiliserai jamais les zones . Ça n'a pas d'importance. Je vais juste m'en tenir à ça. Je vais créer des variables individuelles. Mais bien sûr, vous allez rencontrer des problèmes très difficiles dès que quelqu'un le dira, eh bien, en problèmes très difficiles dès que quelqu'un le dira, eh bien, faites 20 différents et ensuite, tout comme donnez-moi les sortir, mettez-les dans un ordre aléatoire. Cela ne va pas marcher parce que ces choses doivent absolument être apprises. Ce n'est pas non plus la bonne approche, blanche. Oh, je ne comprends pas ça. Par conséquent, je n' ai pas besoin de l'apprendre. Par conséquent, ce n'est pas important, aucun. Et bien sûr, s'il existe, il y a un certain mérite en ce sens dans la programmation ici. Je recommande donc vivement de jeter un autre coup d'œil là-dessus. Rester calme, essayer quelques choses pour comprendre cela. Et encore une fois, si vous obtenez des erreurs, ne vous inquiétez pas du tout. Les erreurs sont tout à fait normales lors de la programmation. n'y a rien de tel qu'il n'y ait pas de honte , ce n'est pas tout à fait normal vraiment chaque programmeur, il reçoit plusieurs flèches chaque jour quand ils programment . Même les programmeurs vétérans reçoivent toujours des flèches tous les jours. Ne vous sentez donc jamais mal à ce sujet. Et oui, c'est en quelque sorte l' idée générale des zones ici. J'espère que j'ai pu comprendre que c' est vraiment comme une liste, n'est-ce pas ? Ce n'est pas une ellipse à 100 %, mais vous pouvez la considérer comme une liste. Vous mettez différents éléments dans, essentiellement avec des indices ou des index différents, vous savez, quelque chose comme ça, n'est-ce pas ? Mais sinon, ce serait le pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 19. Boucles de Java: Bon, bienvenue dans l'introduction de Java ici pour la modélisation Minecraft. Et dans cette conférence, nous allons parler de boucles. Ce dont nous aurons besoin pour cette conférence sont ces deux tableaux de chaînes que nous avons créés précédemment pour les questions et les réponses de toute façon. Mais avant de faire quoi que ce soit avec les régions, je veux tout d' abord que vous fassiez ce qui suit. Sortie. Tous les chiffres de 0 à 99, n'est-ce pas ? Vous allez être comme, Ok, système out, imprimer la ligne 0, alors vous pourriez être comme un double, dupliquer deux. Maintenant, vous allez rester assis là tout le temps comme ça. Soyons honnêtes, ça va prendre beaucoup de temps. Eh bien, puis venez des boucles. Les boucles sont donc quelque chose où vous pouvez exécuter plusieurs fois un morceau de code. Et le premier type de boucle que nous allons examiner est la boucle for-loop. Pour cela, nous allons taper quatre, puis des parenthèses. Encore une fois, les parenthèses fermantes doivent être générées automatiquement. Et puis nous allons taper int I égal à 0 point-virgule I est plus petit qu'un point-virgule de 100 point-virgule I plus, plus les parenthèses fermantes, puis un crochet ouvert. Ensuite, le crochet bouclé fermant devrait être généré une fois que vous appuyez sur Entrée, lorsque vous retirez la ligne d'impression du système et la placez à l'intérieur des crochets bouclés ici. Et je vais changer le 0 en un œil et maintenant voir les merveilles de la programmation. Comme vous pouvez le voir clairement, tout est sorti de 0 jusqu'à 99. Mais que se passe-t-il ici ? Eh bien, dans une boucle for-loop, l'idée est que ce que nous faisons , c'est que nous définissons, comme vous pouvez le voir , nous initialisons un entier i e à 0. Ensuite, nous disons que nous avons une sorte d'expression booléenne ici, puis un incrément. Ce qui se passe, c'est que je suis réglé sur 0. Ce qui est vérifié, c'est si je suis inférieur ou non à 100. Si c'est vrai, nous continuons avec cette boucle. Donc, si c'est vrai, tout se passe à l'intérieur de vous, alors nous allons augmenter moi et ensuite cela sera vérifié à nouveau. Et puis nous refaisons cela, en augmentant moi, vérifiez en augmentant i et ainsi de suite et ainsi de suite. Cela se fait donc pour toujours jusqu'à cette année. Cette expression booléenne est fausse. Et une fois que c'est faux, ce qui signifie que je n'est plus plus petit qu'un 100, qui arrive une fois que j'ai un 100, alors cela n'est plus exécuté et tout après, après le crochet bouclé ici commence à se produire. C'est pourquoi il s'arrête à 99 et non à 100, car quand j'ai 99 ans, c'est toujours vrai. 99 est inférieur à 100. Tout le monde est d'accord, oui. Mais dès qu'il s'agit d'un 100100 n' est pas inférieur à 100. En fait, il est égal à 100. Par conséquent, cela n'est plus fondamentalement vrai. Par conséquent, cela n'est plus exécuté pour 100. Et c'est en quelque sorte l'idée. Et c'est vraiment cool, n'est-ce pas ? Comme si nous pouvons le faire très facilement ? Et maintenant, je vais absolument vous faire sauter l'esprit. Maintenant, je vais vous dire, eh bien, sortir toutes les questions et réponses et vous allez simplement occuper la ligne d'impression du système. Maintenant, question 0, réponse 0, comme nous l'avions fait auparavant. Eh bien, ça va être plus facile car int I est égal à 0. Je suis plus petit que les questions longueur de point I plus, plus. Et ce que je vais faire, c'est que je vais copier celle-ci deux fois. Et puis, au lieu de cela, je vais appeler des questions, oh, c'est intéressant, n'est-ce pas ? Et je réponds. Maintenant, c'est plutôt cool. Vous pouvez donc passer l'entier ici entre crochets et accéder à l' index que vous voulez et quel que soit l'index que cet entier prend. Une autre chose vraiment folle, c'est parce que nous regardons la longueur ici, n'est-ce pas ? Parce que nous avons la longueur, cela nous évite immédiatement de toute erreur. Maintenant, la seule erreur qui pourrait se produire est si nous faisons tout à coup ces quatre ici, n'est-ce pas ? Parce que nous prenons la longueur des questions alors que les réponses ne sont pas les mêmes. Nous pourrions donc rencontrer une erreur. Encore une fois, l'exception de zone hors limites ou l'exception de l'index de tableau hors limites. Mais pour le moment, quand on utilise le plus long, ça va tout à fait aller. Et si je viens de lancer ça, vous pouvez voir qu'il imprime tout. Harmony se trouve dans la capitale américaine AIR 50 du Royaume-Uni, Londres. Et puis le symbole chimique du fer est Fe. Pour que tout fonctionne. Donc c'est joli, c'est plutôt fou, non ? C'est plutôt cool. Ou des boucles incroyablement précieuses et peuvent être utilisées pour toutes sortes de choses. Il existe un autre type de boucle très similaire à la boucle for-loop, qui est la boucle pour chaque boucle. Maintenant, vous pouvez voir si je peux vraiment taper ça et je pourrais appuyer sur la touche Tab pour le compléter automatiquement. Cependant, je ne le ferai pas, car la mise en forme est un peu bizarre pour moi. Je ne sais pas, je sais très bien ce que c'est le cas. Nous allons juste écrire pour cela, je peux dire questions sur la Pologne occidentale. Et la façon de lire ceci est pour chaque question de chaîne dans les questions, c'est comme ça que vous le liriez. Et ensuite, vous pouvez simplement faire un système, imprimer une ligne, une question. Et je peux simplement imprimer chaque question ici. Encore une fois, ça va juste marcher. Donc, comme vous pouvez le voir, voilà, euh, maintenant, accéder à ce que les éléments individuels à l'intérieur de cette liste ou de cette matrice dans ce cas, et je n'ai pas à le spécifier via l'index ici. En fait, je les ai tous bien individuellement. C'est donc la boucle pour chaque boucle et ceci pour chaque fois que vous allez, c'est un autre type de boucle qui est intéressant. Et puis le dernier type de boucle que je veux vous montrer est la boucle while. Maintenant, j'ai la préférence personnelle d' utiliser très rarement la boucle while simplement parce qu' elle peut être, eh bien, cela peut vous causer des ennuis. On peut donc dire quelque chose comme si c'est vrai, puis des crochets bouclés. Ce qui se passe donc, c'est que tout ce qui se passe à l'intérieur d'ici va se produire tant que c'est vrai. Maintenant, évidemment, lorsque vous y réfléchissez une seconde, attendez une seconde. Si je dis vrai, cela sera toujours vrai exactement. C'est maintenant une boucle de temps et une boucle de temps et sans fin, non ? Il s'agit donc d'une boucle sans fin et c'est le danger que vous pourriez rencontrer avec une boucle de temps. Vous pourriez également rencontrer le problème avec les boucles for en théorie, mais il est très rare que cela se produise réellement. Mais dans les boucles de temps, c'est très souvent le cas ou c'est peut-être le cas que vous ayez une boucle sans fin. Maintenant, tout le monde doit passer par là à un moment donné. Je dis juste que mon parti pris est que je n' aime pas vraiment les boucles de temps. Mais ce que nous pouvons faire, c'est , bien, procédons comme suit. Ajoutons en fait une entrée pour la personne. Donc Scanner ici, le scanner est égal nouveau système de scanner.in et ensuite terminé. Mais ce que nous allons faire, c'est que nous allons juste dire quelque chose comme la ligne d'impression suivante du système. Voulez-vous continuer ? Mais donc nous allons juste dire : Hé, est-ce que la personne veut continuer à utiliser ? Nous voulons continuer. Et puis on va juste dire, hé, si le scanner point suivant, non ? Si c'est le cas, oui. Alors, ce que nous allons faire, c'est que nous allons continuer, n'est-ce pas ? Continuez donc le mot clé réel sinon nous allons casser. Il s'agit ici d'un exemple du mot-clé Continue et du mot clé break. Le mot-clé continue ignore tout ce qui vient après lui à l'intérieur de la boucle et revient en haut de la boucle où le mot-clé break sort de la boucle. Donc, en gros, cela va jusqu' à la fin de l'année et tout est ensuite exécuté à nouveau. Ce serait la même chose si tout à coup cela devient faux. Dans ce cas, il s'agit bien sûr d'une boucle sans fin, n'est-ce pas ? Donc, tant que je tape, oui, ça va continuer et dès que je tape autre chose, ça va s'en sortir. C'est donc en quelque sorte l'idée de cette boucle de temps ici. Jetons un coup d'œil à ça pour que je puisse taper. Oui. Et je peux taper, oui. Et je pourrais taper. Oui. Et puis je vais faire une erreur ici et un OH, non, tout d'un coup, le code s'arrête. C'est en quelque sorte l'idée. Il pourrait donc s'agir d'une boucle sans fin avec une sorte de système de freinage. Maintenant, ce qui est très important, c'est que le mot-clé continue et break ne devrait probablement être utilisé qu'avec parcimonie, car beaucoup de développeurs n' aiment pas cela. Parce que si vous avez comme j'aime, disons une boucle FOR plus longue ou une boucle alors plus longue et que vous avez beaucoup de continuez et de ruptures là-dedans. Parfois, cela peut être un peu déroutant. Vous aimez le lire, n'est-ce pas ? Parce que vous allez avoir plus de branches pour ainsi dire. Vous pouvez donc penser, si vous pouvez penser à la façon de le faire d'une manière un peu différente c'est généralement mieux. Quel que soit le cas. Ce sont les boucles que je voulais vous montrer. Des trucs vraiment très cool. Et nous commençons vraiment à trouver des outils très sympas dans notre boîte à outils pour vraiment travailler avec du code et simplement programmer quelque chose de vraiment cool. Donc, mais pour le moment, c'est pour cette conférence ici même. J'espère que vous avez trouvé cela utile et que vous apprendrez quelque chose de nouveau si vous le faisiez, j'apprécierais beaucoup un commentaire de votre part. Sinon, je vous verrai lors de la prochaine conférence. Donc, oui. 20. Méthode Java (Java): Bienvenue dans l'introduction de Java pour la modélisation Minecraft. Et dans cette conférence, nous allons jeter un coup d'œil à une méthode. Tout d'abord, nous avons une fois de plus besoin des zones de chaînes ici. Nous n'en avons pas nécessairement besoin, mais nous allons les utiliser dans cette conférence. Et bien, les méthodes. Que sont les méthodes ? Eh bien, nous avons déjà vu ce mot lancé quelques fois auparavant avec les méthodes de chaîne. Et aussi quelque chose comme la ligne d'impression système est aussi une méthode. Et j'aurais peut-être dit une ou deux fois avant la méthode principale. Il y a donc quelque chose là-dedans. Nous avons également vu les méthodes mathématiques, donc nous avons définitivement entendu ce mot avant. Qu'est-ce que c'est vraiment ? Eh bien, en théorie, une méthode, vous pouvez la considérer comme quelques lignes de code, une ligne de code ou 100 lignes de code en théorie, qui sont exécutées lorsque vous appelez cette méthode. Vous appelez donc une méthode comme, par exemple, lorsque nous tapons un système, ligne d'impression système, n'est-ce pas ? Et je dis bonjour, lisez ceci. C'est quelque chose en arrière-plan, n'est-ce pas ? Donc cette ligne d'impression, quand nous appelons cela, cette méthode ici, quelque chose en arrière-plan se passe. Maintenant, dans ce cas, nous ne savons pas nécessairement ce qui se passe exactement. Mais quelque chose arrive à ça ce bonjour, non ? Une fois que j'ai exécuté ceci, de sorte que lorsque cela se produit, quelque chose se passe en arrière-plan que ce bonjour est maintenant affiché dans cette fenêtre Exécuter. Nous ne savons donc pas vraiment quoi, mais il se passe quelque chose en arrière-plan, donc du code est exécuté. Donc, si nous avons un morceau de code que nous voudrions peut-être réutiliser, disons 100 fois dans notre code. Alors vous pourriez dire, eh bien, nous pouvons simplement faire une boucle for-loop, vous savez, 100 fois. Eh bien, mais que se passe-t-il si je veux le faire à différents endroits de mon code, n'est-ce pas ? Je voudrais peut-être poser une question dans ce cas, n'est-ce pas ? Et une sortie et une réponse , puis vérifiez la réponse. Ensuite, je voudrais poser des questions à nouveau. C'est comme, eh bien, je veux dire, vous pourriez faire une boucle for, mais peut-être que nous voulons faire des déclarations si là-dedans. Ça va devenir un peu compliqué. Cela ne fonctionne donc pas toujours. Disons donc, par exemple, que ce que je veux faire, c'est que je veux juste que je ne puisse pas taper quelque chose que je peux donner, disons un tableau ici, rouge. Ainsi, la chaîne de questions, une zone de réponses, et que les sorties répondent toutes les réponses et à toutes les questions. Donc, toutes les questions, répondent juste en s'inscrivant. Je pourrais donc bien sûr écrire quelque chose comme ça. L'œil droit pour la boucle int I est égal à 0. Je suis plus petit que les questions qui relient, disons que je suis plus, plus. Et puis je pourrais juste dire « système out », imprimer des questions en ligne. J'écris quelque chose comme ça , puis je duplique ça, puis je dis des réponses. Je pourrais le faire. Eh bien, disons encore une fois que je veux que cela soit fait 100 fois tout au long de notre code. Maintenant, l'observateur d'entre vous pourrait dire, eh bien, pourquoi ne pas mettre cette for-loop dans une autre boucle for. Et vous auriez tout à fait raison. Vous pouvez aussi le faire. Cependant, ne soyons pas trop intelligents. Réfléchissons à cela et faisons de cette méthode une méthode. Maintenant, ce que nous allons faire, c'est que je vous ai déjà dit que nous ne fonctionnons entre ces deux crochets bouclés. Nous sommes en train d'élargir notre monde maintenant et de passer à l'extérieur de ces crochets bouclés. Parce que maintenant nos nouveaux crochets bouclés sont essentiellement ces deux-là. Maintenant, c'est notre nouvelle maison. Et cela, vous avez peut-être pensé à cela. Eh bien, c'est la méthode principale qui est essentiellement exécutée lorsque nous appuyons sur le bouton Exécuter, puis la méthode principale est exécutée. Nous allons maintenant ajouter une nouvelle méthode. Et tout d'abord, je vais écrire ça. Ensuite, je vais expliquer ce qui se passe ici. Nous allons donc écrire public statique, vide. Et je vais appeler ce résultat des questions et des réponses. Ensuite, je vais taper une parenthèse, les parenthèses fermantes devraient être générées automatiquement. Et puis je vais créer un tableau de chaînes ici. Donc, ce sera les questions et ensuite un autre tableau de chaînes répond, n'est-ce pas ? Et puis je vais faire un support bouclé. Et vous voyez que le deuxième crochet bouclé a déjà été généré. Je peux simplement appuyer sur la touche Entrée et le formatage doit également être terminé. Et avec cela, une méthode plus récente a été créée. Donc, pour l'instant, nous allons ignorer ce public et statique. Nous ne savons pas encore très bien ce que c'est, mais nous sommes très près de le comprendre dans une prochaine conférence. Nous allons vraiment comprendre ce que cela signifie pour le moment. Nous savons simplement qu'il s'agit d'un modificateur d'accès. Nous ne savons pas encore ce qu'il fait. Nous savons simplement qu' il faut que le public soit écrit ici et que tout va bien se passer. Il y a un vide ici, c'est en fait le type de retour de cette méthode. Donc certaines méthodes retournent quelque chose et nous verrons cela dans un instant. Donc, après avoir fait cette méthode, nous allons en créer une autre qui retournera un entier. Ensuite, nous aurons le nom de la méthode. Maintenant, c'est quelque chose que vous pouvez décider vous-même. Habituellement, les variables de dénomination et les méthodes de dénomination doivent être très expressives. Donc, même si cela peut être très long pour vous, ne vous éloignez méthodes longs ou des noms de variables longs. S'ils décrivent exactement ce qu'ils font, ce sera la meilleure chose. Ensuite, après le nom, venez, les parenthèses ici. Et à l'intérieur des parenthèses, nous définissons essentiellement une sorte de discours variable. Et c'est ce que l'on appelle des paramètres. Nous avons donc deux paramètres ici, et les deux sont de type string array. Et dans l'ensemble, tout ça ici. Donc, tout cela, à droite, les modificateurs d'accès, le type de retour, le nom de la méthode et les paramètres sont ce qu' on appelle la signature de la méthode. Donc, parce que nous devons le savoir, signatures de méthodes doivent l'être. Signification unique que je ne peux pas avoir la même chose. Je vais donc sélectionner tout cela. Et puis je vais dire Control C puis Control V. Et vous pouvez voir que si je survole ça maintenant, nous allons dire que c'est déjà défini ici. C'est donc exactement la même chose et c'est déjà défini. Ça ne fonctionne pas, n'est-ce pas ? C'est donc très important. Cependant, si je change la signature de la méthode, ce qui signifie par exemple que j' en fais un de moins, je mets ici un paramètre de moins qui fonctionne. Vous aurez le même nom, ils auront une signature différente. Donc, dans ce cas, cela s' appellerait désormais la surcharge de méthode parce que nous avons le même nom, ceci avec une signature différente désactivée. Par exemple, un nombre différent de paramètres, différents types de paramètres, différents types de retour. C'est en quelque sorte la façon dont vous pouvez alterner l'année pour avoir des méthodes du même nom. Cela va devenir intéressant, peut-être plus tard en bas de la ligne pour le moment, nous allons supprimer celle-ci et nous allons simplement garder la seule méthode ici. Et ce que nous allons juste faire c'est que nous allons simplement prendre ce Control X pour le couper, Control V pour le coller. Et tout d'un coup, vous pouvez voir tout fonctionne parfaitement, car bien sûr, nous avons les paramètres ici, les occidentaux et les réponses. Et l'idée est que nous allons les transmettre. Donc parce qu'en ce moment, bien sûr, ces questions , ces réponses ne sont pas les mêmes que ces deux-là. Je peux appeler cela, disons Q0, Q, Q u, e, juste par souci d'argumentation. Et je vais appeler ça E&S juste pour qu'il n'y ait pas de malentendu. Cette année n'est pas la même chose car je pourrais appeler cela avec, bien sûr, un tableau de questions différent dans une chaîne de réponses différente. Cela va donc être très général. Ça va juste faire ça pour n'importe quel domaine que je vais mettre en place. Donc, c'est vraiment cool. Alors ce que je peux faire, c'est que je peux appeler ça, je peux dire sortie. Et vous pouvez voir dès que j'ai tapé, la méthode réelle est reconnue par le programme. Il a en fait suggéré ici. Je peux donc simplement mettre la touche de tabulation. Je peux appuyer sur la touche de tabulation et cela génère automatiquement votre et je peux simplement dire Q0 et ANS. Donc maintenant, j'ai passé le tableau de chaînes de questions comme périmètre de questions et le tableau de chaînes de réponses comme paramètre de réponse. Ce que vous avez peut-être vu, c'est peut-être que la méthode est passée du gris au jaune. Cela signifie simplement que cette méthode est réellement utilisée, donc appelée. Et c'est aussi une idée importante. Et si je l'exécute maintenant, vous verrez que cela fonctionne réellement. Vous pouvez voir combien de sets. Les États-Unis, ils ont 50 capitales, Royaume-Uni, Londres, et le symbole chimique du fer est F, e. Donc il produit ceci et il appelle simplement tout le code de cela à l'intérieur d'ici. Et maintenant, bien sûr, les méthodes peuvent appeler des méthodes, et les méthodes peuvent appeler d'autres méthodes. Donc, bien sûr, cela devient assez compliqué à un moment donné. Cependant, pour le moment, c'est vraiment cool. Maintenant, nous allons également créer une méthode qui pourrait être très compliquée. Donc, ce que nous allons avoir comme on va aller au public statique int. Nous allons donc maintenant renvoyer un entier et nous allons additionner deux nombres ensemble. Alors, de quoi avons-nous besoin ? Bien sûr, un entier x et un entier y. Maintenant, encore une fois, les noms des paramètres peuvent aussi être ce que vous choisissez. Habituellement, vous voulez qu'ils soient également très expressifs en général. Maintenant, nous avons cette méthode de somme ici. Et ce que nous allons faire, c'est que nous allons saisir le mot-clé de retour x plus y. Nous allons donc simplement renvoyer x plus y car c'est bien sûr la somme de ces deux entiers dans ce cas, rien de trop spectaculaire. Cependant, ce que je voulais vous montrer, c'est essentiellement le mot-clé retour et que vous pouvez également renvoyer différents types. Donc, la méthode SAM dans ce cas, nous pouvons juste jeter un coup d'oeil là-dessus, n'est-ce pas ? Donc, déconnectez la ligne d'impression, puis nous allons en dire une dizaine et disons 12. Et ensuite, si je fais ça et que ça devrait dire 22, tu y vas. Donc, pas de soucis du tout, que tout fonctionne. Et ce genre d' idée générale que vous avez ici avec les méthodes. Il peut donc soit renvoyer quelque chose soit il peut renvoyer quelque chose, puis il faut écrire dans un vide. Mais c'est en quelque sorte un regard provisoire sur les méthodes. Bien sûr, encore une fois il faut vraiment appliquer cela un peu pour vraiment comprendre ici. Cependant, il s'agit là d'une importante séquence de la mission qui va se dérouler ensuite. Je recommande fortement de faire comme faire la prochaine affectation parce que ce sera essentiellement des méthodes. Et même si vous ne comprenez pas Sue fera tout ce qu'il y a là-dedans, au moins en regardant la question et la solution à cette question éclairera également la façon dont vous pouvez utilisez des méthodes dans votre propre code. Mais pour le moment, ce sera le cas pour cette conférence ici même. J'espère que cela vous a été utile et que vous apprendrez quelque chose nouveau et je vous verrai lors de la prochaine conférence. Donc, oui. 21. PROJET 2 : Jeu de Trivia with Methods: Très bien, Bienvenue dans la deuxième affectation de l'introduction de Java ici. Et dans cette courte vidéo, je veux essentiellement expliquer la mission. Donc, dans l'ensemble, l'affectation n' est pas si compliquée que je veux toujours vous guider à travers cela. L'idée est donc que vous devriez recréer le jeu trivia dès la première mission. Donc, fondamentalement, à peu près la même chose. Mais cette fois-ci, vous devriez avoir cinq questions et cinq réponses. Et la façon dont vous devez les sauvegarder est dans deux domaines. Un pour les questions et les réponses. Et ce que vous devez également faire, c'est de créer au moins deux méthodes pour rendre le code plus lisible et plus facile à suivre. Et en gros, comme indice, vous allez y penser comme ça. Lorsque vous avez du code en double, vous devriez probablement en faire une méthode. Nous y réfléchirons. Pensez à l'endroit où vous pourriez appeler quelque chose deux fois, puis vous pouvez en faire une méthode. Et ce que vous devriez également faire, c'est que vous devriez faire une boucle sans fin, puis quelques instructions if là-dedans dans une certaine capacité. Donc, une logique qui oblige l'utilisateur à demander à l'utilisateur de continuer à jouer ou non s'il ne le souhaite plus. Je recommande fortement de jeter un autre coup d'œil à la conférence des boucles car ils ont en fait un cas d'utilisation très similaire qu'ils savent que nous avions une boucle sans fin que vous pouvez arrêter avec eux. Les instructions IF et les mots-clés break et continue. Ceux-ci pourraient donc être très utiles ici. Sinon, dans l'ensemble, cela devrait être assez simple. Le jeu en soi devrait jouer de manière très similaire à celle du premier. Il devrait juste paraître un peu différent. Donc, dans l'ensemble, ce serait l'idée entière. Bien sûr, n'oubliez pas non plus des choses comme les points. Aussi, vous savez, ajoutez-les aussi. Sinon, c'est à peu près tout ce que vous devez vraiment faire. Je suggère d'aller environ une heure pour cette tâche, en fonction de votre niveau, vous pourriez aussi le faire en 30 minutes, 45 minutes, qui sait ? Mais ne vous stressez pas vous-même. Prenez le temps de vraiment creuser là-dedans. Regarder quelques conférences à nouveau, la conférence en boucle, je recommande vivement les méthodes cours étaient très agréables si vous ne les comprenez pas tout à fait, je le recommande vivement. Sinon, bien sûr, la solution sera également à votre disposition. Donc, pas de soucis là-bas. Sinon, je vous souhaite la meilleure des chances pour cette mission. Oui. 22. SOLUTION 2 : Jeu de Trivia avec des méthodes: Ou je me réjouis de revenir à la deuxième mission et la solution à l'affectation réelle ici. Encore une fois, le code est bien sûr disponible pour vous. Et en tant que disclaimer ici, si votre code ne correspond pas à 100 pour cent au code que j'ai, est bien sûr tout à fait très bien. n'y a pas de honte à cela, car il y a toujours plusieurs solutions à ce problème. Et je pense que ma solution utilise peut-être quelques méthodes trop nombreuses. En fait, ce qui est intéressant, mais pour le moment, nous allons juste passer par là. Bien sûr, les tableaux de chaînes, les questions et les réponses devraient être assez explicites ici. Idem avec le scanner une fois de plus pour lire les choses, puis un total de points ici, juste des points de base. C'est donc assez simple. Nous avons une boucle de temps qui est toujours vraie. Vous pouvez donc voir que c'est essentiellement toute la boucle while ici. Et jetons d' abord un coup d' œil au fond ici. Donc cette impression rejoue, méthode imprime, Hé, voulez-vous jouer à nouveau ? Si vous mettez un y ici, il réinitialise essentiellement les points et continue ensuite avec cette boucle while. Sinon, il se détache simplement de la boucle while. Et puis le prince de adieu ici. C'est en quelque sorte l'idée. Sinon, vous pouvez très facilement suivre cela. Les noms des méthodes décrivent-ils presque entièrement ce qu'elles font , puis consultez Imprimer le titre, assez juste ? Et ensuite, nous allons passer en revue chacune des questions ici pour cette boucle for-loop, très, assez simple aussi. Et nous avons ici la question imprimée pour la question qui est essentiellement posée par, puis lue dans la réponse de l'utilisateur. Et puis nous avons une déclaration if qui appelle une autre méthode ici. va de même de la réponse correcte de cette réponse de l'utilisateur. Et cela compare essentiellement cela à la réponse qui convient à cette question. Si c'est le cas, donc si cette méthode renvoie true, nous imprimons alors, vous avez eu une réponse correcte où le total des points est de plus en plus élevé et l' écrivez dans la variable points. Et puis, ici, nous imprimons également le total des points actuels en gros. Et si ce n'était pas la bonne réponse , nous imprimons que vous aviez une réponse incorrecte et nous imprimons également la bonne réponse. C'est à peu près tout ce dont nous avons vraiment besoin ici. Et vous pouvez voir à la fin ici que nous imprimons simplement le total des points, puis demandons au joueur de s'il veut jouer à nouveau. C'est donc toute la logique ici. Et ensuite, si nous descendons, nous pouvons voir qu'il y a beaucoup de méthodes ici. Et ils sont tous très, très simples, n'est-ce pas ? Presque tous n'ont qu'une seule lumière, en gros tous une seule ligne. Maintenant, vous pouvez présenter un très bon argument qui, peut-être un peu trop bien, peut aussi être une mauvaise chose dans ce cas, non ? Ou trop de méthodes peuvent être trop nombreuses. Cependant, c'est très facile à suivre ici. Il y a aussi des points à dire que nous pourrions peut-être prendre toute cette déclaration IF et faire une méthode. Est-ce que c'est aussi possible que nous puissions prendre toute la boucle for, faire une méthode entière. Nous pouvons prendre cette partie et en faire une autre méthode. Il y a donc plusieurs idées que vous pouvez suivre et vous pouvez encore, bien sûr, en faire plus de méthodes ou moins. C'est tout à fait très bien et c'est tout à fait correct. Tant que cela fonctionne, vous avez quelques méthodes que vous avez faites, alors tout ira bien. Donc encore une fois, si ce n'est pas exactement votre solution, ne vous inquiétez pas du tout. Encore une fois, ce qui est beau dans la programmation, c' est qu' il y a toujours, je veux dire, qu' il y a toujours des millions de façons différentes de le faire. Bien sûr, certains d' entre eux seront plus optimisés que d'autres. Mais à la fin de la journée, quand on y pense vraiment, ça va se passer tout à fait bien généralement. Donc, si ce n'est pas correct à 100 % comme vous l'avez, c'est bon. Si ça marche, j'en suis déjà très content. Sinon, c'est à peu près ma solution. Bien sûr, ce code est également disponible pour vous. Sinon, j'espère que cette mission vous a été utile pour approfondir l'idée des méthodes et comment les utiliser. Je peux toujours, bien sûr, simplement suggérer de jouer avec ça à votre temps, essayant un tas de choses. À ce stade, vous disposez de nombreux outils différents. Vous avez des instructions if, des boucles, des méthodes, des tableaux. Il y a donc beaucoup de choses avec lesquelles vous pouvez jouer. Vous pouvez lire des informations provenant de l'utilisateur. Vous pouvez écrire des choses sur la console, ce qui, à ce stade vous ouvre tout un tas de choses. Donc, si vous voulez faire une sorte de choisir votre propre aventure, juste une petite chose, n'est-ce pas ? Allez-y, c'est vrai, essayez juste un tas de choses. Je recommande vivement d'être expérimental avec elle. Vous, vous ne pouvez rien casser ici, n'est-ce pas ? Tant que vous écrivez votre code ici est fait pour vous, tout ira bien. Comme je l'ai déjà dit dans la conférence sur les erreurs. Si vous avez des erreurs, pas besoin de vous inquiéter, ce n'est pas la fin du monde et tout le monde a des flèches, n'est-ce pas. Je reçois des flèches à tout moment, comme quand je programme, bien sûr, il y aura des flèches et c'est tout à fait correct. Tant que vous travaillez à travers eux, vous essayez de comprendre pourquoi j'ai eu cette erreur ? Comment cela s'est-il produit ? Et quelque chose comme ça. Mais ce serait là pour la solution ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau et je vous verrai lors de la prochaine conférence. Donc, oui. 23. Collections Java de Java (Java): Bon, bienvenue dans l'introduction de Java ici pour la modélisation Minecraft. Et dans cette conférence, nous allons jeter un coup d'œil aux collections. Cela comprendra des cartes et des ensembles réalistes. Bien que les ensembles soient particulièrement utilisés dans la modélisation Minecraft en général, mais dans la base de code Minecraft. Les ensembles sont donc des choses très intéressantes, mais nous allons commencer par une ArrayList. Cependant. Nous reviendrons au tableau de chaînes que nous avons pu définir comme ça, n'est-ce pas ? Par exemple, des questions, ici, avec un nouveau tableau de chaînes, disons de la taille deux. Ensuite, nous avons pu poser ces questions comme celle-ci. Quel est le nombre d'États, pas d'États ? Doit. La moitié des États-Unis va quelque chose comme ça. Et nous pourrions dupliquer cette ligne. L'autre aussi. Par exemple, faire de cette capitale un peu plus courte du Royaume-Uni. Cela fonctionne donc très bien. Aucun problème, quel que soit le taux. Cependant, l'une des choses que vous pourriez vous poser est juste, mais que se passe-t-il si je veux modifier le nombre de questions à l'intérieur de ce domaine ? Eh bien, vous devez changer ce numéro ici. Et ça peut être un peu gênant, non ? Parce qu'alors vous devez aller ici, changer cela, assurez-vous que si vous avez alors une zone qui contient des réponses, vous devez également modifier la taille de cela, etc. Donc, ce n'est pas la meilleure chose. Et pour cela, nous allons jeter un coup d'œil à une liste maintenant. Nous allons donc taper la liste, donc la liste. Et vous pouvez voir que cela nous suggère déjà essentiellement à celui-ci. Et nous allons simplement appuyer sur la touche Tab, qui va maintenant importer quelque chose en haut ici. Si ce n'est pas le cas, je vais vous montrer dans un instant comment vous pourriez y remédier. Et ensuite, vous allez mettre le support d'angle juste ici. Ainsi, le support d'angle et l'autre doivent également générer automatiquement. Et puis on va mettre une ficelle ici. Ensuite, nous allons appeler cela la liste de questions. Et cela équivaut à une nouvelle ArrayList. Vous pouvez voir que cela nous est déjà proposé essentiellement. Une fois de plus, je vais appuyer sur la touche Tab pour générer automatiquement. Et nous allons finir ça par un point-virgule. Et la première chose que vous allez voir, c'est que nous n' avons pas défini de longueur pour cette liste. Et c'est tout à fait exact parce qu' il n'est pas nécessaire de définir une longueur pour une liste, car une liste est en quelque sorte dynamique pendant que Lengthen solaire parle. Donc, en gros, nous pouvons simplement y ajouter des éléments, y ajouter des éléments et la liste que nous allons développer dynamiquement. C'est vraiment cool. C'est la première chose très cool. On peut donc dire liste de questions, pointer, ajouter, puis mettre une chaîne. Par exemple, quelle langue est parlée en Allemagne ? En guise de question ici. Et ensuite, je peux juste dupliquer ça. Par exemple, disons, quelle est la capitale du Canada ? Et puis à la fin ici, peut-être quelque chose comme, vous savez, disons simplement dans quel hémisphère ? L'hémisphère est le Brésil. Mais juste par souci d'argumentation. Donc ces trois exemples de questions, il suffit de l'ajouter à la liste, et ce sera maintenant l' élément avec l'index 0. Il s'agit de l' élément dont l'index est un, et il s'agit de l' élément avec l'index deux. C'est vraiment cool. Et la première chose que nous pouvons dire essentiellement , c'est ces listes, n'est-ce pas ? Il s'agit essentiellement d'ajouter des entrées ou des éléments dynamiquement. C'est vraiment cool, non ? Nous pouvons donc ajouter et bien, même enlever des trucs. Comment enlèveriez-vous des choses ? Eh bien, c'est plutôt facile aussi. Nous pouvons simplement dire suppression de points de liste de questions, puis soit je peux mettre dans l'index que je veux supprimer, soit mettre dans l'objet réel que je veux supprimer. Je pourrais donc aussi passer la chaîne ici, ou je pourrais simplement en dire une. Et ensuite, il va supprimer la question : quelle est la capitale du Canada ? C'est plutôt cool. Maintenant, la prochaine question que vous pourriez vous poser est, eh bien, comment pouvons-nous obtenir la longueur de tout cela ? Eh bien, on peut dire un point de liste de questions. Tout d'abord, vous allez recevoir beaucoup de choses suggérées ici, comme vous pouvez le voir clairement. Beaucoup de choses qui ne nous intéressent pas pour la plupart . Nous devons en fait utiliser la méthode de la taille ici. Donc, la taille avec les parenthèses, signifie bien sûr qu'il s'agit d'un appel de méthode. Et cela renvoie la longueur ou la taille de cette liste. Et comment puis-je obtenir un élément de cette liste ? Eh bien, nous pouvons simplement taper le système, imprimer la ligne pour imprimer ça. Et puis on peut dire une liste de questions que GET. Et puis, ici, nous devons passer dans l'index. Donc, dans ce cas, 0 par exemple. Et si je viens de lancer ça, vous verrez que nous allons en obtenir deux pour la taille car bien sûr, nous avons supprimé la première question ou la chaîne avec index 1. Et puis l'élément avec l'indice 0 va toujours être la langue parlée en Allemagne. C'est plutôt cool. Toutes les choses sont prises en compte. Maintenant, jetons un coup d'œil à autre chose. Et ça va être une liste d' entiers, par exemple, n'est-ce pas ? Les nombres sont donc égaux à une nouvelle liste de tableaux. Et ce que vous allez voir, c'est que c'est un problème ici. ArrayList évalue donc quelque chose comme ça. Et ensuite, vous pouvez voir que c'est en quelque sorte, vous savez, qu'il ne se comporte pas tout à fait correctement. Il y a comme un soulignement rouge ici. Que se passe-t-il ? Eh bien, si nous survolons cela, vous pouvez voir que l'argument type ne peut pas être de type primitif. Cela signifie que nous ne pouvons pas utiliser en booléen et dans ce genre de choses. Cependant, devant vous. Cela peut dire : Oh mon Dieu, c'est la pire chose qui soit. Ne vous inquiétez pas. Il existe des classes d'enveloppe que vous pouvez utiliser pour que vous puissiez réellement voir le remplacer par un entier Java Lang. Eh bien, je peux soit cliquer dessus soit je peux simplement taper un entier ici. Donc, celui-là, dans ce cas. Et si vous utilisez cela, tout fonctionne bien. Voici donc cette liste et ces crochets d'angle sont ce qu'on appelle des génériques. Et l'idée est que vous pouvez placer n'importe quel type de données ici, l' exception des types primitifs. C'est très important pour ceux qui ont besoin de ces cours d'emballage. Il y a donc des cours d'emballage, non ? Nous pouvons utiliser, utiliser au lieu du primitif, un type de données primitif le u. Il est donc très important de se rappeler qu'il existe des classes d' enveloppes et qu'elles devraient exister pour chacune des primitives. types de données. Donc, pas de soucis là-bas. Et ici, nous pouvons très facilement dire des chiffres à 20 par exemple. Et les chiffres ajoutent quelque chose comme 42. Ne vous inquiétez pas du tout. Comme vous pouvez le voir, nous pouvons simplement ajouter ces nombres ici et ce sont des entiers normaux et nous pouvons utiliser o. C'est très bien. Mais je voulais mentionner que vous ne pouvez pas utiliser les types de données primitifs dans ces génériques comme on les appelle. Comme je l'ai dit, les génériques sont ces crochets d'angle, n'est-ce pas ? Ces crochets angulaires. Et tout ce qui se trouve à l'intérieur est appelé générique car, eh bien, il est générique dans le sens où nous pouvons mettre dans n'importe quelle autre classe ou tout autre objet, n'importe quel type de données que nous voulons entrer ici. Et ça va juste marcher. Au fait, cela inclut également une liste, n'est-ce pas ? Nous pouvons donc avoir une liste d'une liste. Bien sûr, pourquoi pas ? C'est vrai ? Nous avons plusieurs listes qui fonctionneraient également. Mais pour le moment, ce sera le cas pour les listes. Jetons un coup d'œil aux cartes. Les cartes sont donc très intéressantes. Lisez, une carte est ce qui suit. Une carte contient une clé et une valeur. Et la clé, la clé est en fait mappée, clé droite correspond à une certaine valeur que tout devrait avoir du sens. C'est ce qu'on appelle une paire de valeurs clés. Bon, c'est assez juste. Que pouvons-nous voir ? Il suffit de taper ceci sur la carte comme vous pouvez le voir, et nous avons deux choses différentes entre crochets cette fois-ci. Alors, importons ça, n'est-ce pas ? Vous pouvez donc voir que cela est également importé ici. Si cela n' est pas important automatiquement, vous pouvez voir que les choses deviennent rouges et vous pouvez très facilement le faire vous-même. Vous pouvez simplement cliquer dessus et appuyer sur Alt et Entrée, et il importera cette classe. Vous pouvez voir que j'ai également dû faire de même avec ArrayList. Et puis ici pour la carte, n' ai pas encore à le faire parce que je n'ai pas encore fini, mais nous verrons cela dans un instant. Nous allons avoir une carte qui mappe une chaîne à une autre chaîne. Et nous allons appeler cela la carte du pays à la capitale, ce qui sera égal à une nouvelle HashMap dans ce cas. Et ce que nous pouvons faire, c'est que nous pouvons simplement appuyer sur Alt et Entrée. Et ensuite, ça va être important ici aussi. Mais ceux-ci sont très importants, ces importations essentiellement, pour que le programme sache que nous utilisons ces types de données, n'est-ce pas ? Donc, la liste, la ArrayList, la carte et des choses comme ça. Et ce que nous pouvons faire maintenant, c'est que nous pouvons également ajouter à ce pays le MAB capital. Nous pouvons donc simplement dire « mettre » et cela introduit de nouvelles valeurs. Par exemple, l'Allemagne serait Berlin. J'espère que vous connaissiez celui-là. Allons en faire un autre. Donc, nous allons juste dupliquer cela quelques fois. Et on va dire la France. Vous savez que celui qui est Paris, bien sûr, tout de suite, l'Italie, Wu devient maintenant intéressante Rome bien sûr. Ensuite, nous aurons un USA, et ce sera Washington DC. C'est très simple. Tout ce qui est considéré ici, comme vous pouvez le voir, je peux mettre deux cordes, n'est-ce pas ? Parce que c'est ce que j'ai défini ici. n'est pas nécessaire que ces derniers soient les mêmes. Je pourrais mettre une année entière, un float ici, je pourrais mettre une chaîne ici, une liste ici. N'importe quoi fonctionnerait. Il n'est pas nécessaire que les deux soient les mêmes. C'est très important. Je voulais également mentionner cela. Et comment pouvons-nous maintenant obtenir une valeur d'une carte ? Eh bien, disons que la ligne d'impression du système est sortie. Et ensuite, nous allons dire de pays à capitale. Et vous pouvez voir que je dois fournir une chaîne. Et ce que je vais sortir, c'est bien sûr une ficelle ici, mais c'est ce que je dois fournir. Et c'est ce que j'en retire. Donc le type de retour et je mets en Allemagne, puis Berlin sera produit car Allemagne est la clé de la paire clé-valeur, Allemagne, Berlin devraient être assez simples. Je peux également demander si la carte contient ou non une certaine clé ou contient une certaine valeur. Donc je peux dire la ligne d'impression système. Et juste pour que tout le monde sache ce que nous demandons ici contient l'Allemagne clé. Et ensuite, nous allons dire que le point de pays à capitale contient la clé, l' Allemagne, ce qui va bien sûr être vrai. Ensuite, nous allons juste dupliquer cela. Ensuite, nous allons dire qu'il contient une valeur. Nous pouvons donc également demander des valeurs, Londres par exemple. Et puis nous pouvons appeler la méthode contient une valeur ici, passe et Londres ici. Et puis, si nous ne faisons que faire ça, nous devrions voir. Tout d'abord, ici même, taux de Berlin est la capitale de l'Allemagne et contient ensuite la clé. L'allemand va être vrai car il contient cette clé, puis contient de la valeur. Londres va être fausse car, bien sûr, nous n'avons pas d'urine de Londres ici en tant que valeur. Nous pouvons également supprimer des éléments d'une carte. Donc une fois de plus, système, imprimez la ligne et connectez-vous pour dire, je peux dire pays à capitaliser, supprimer les points. Et ce qui est cool avec le Remove que vous pouvez voir, c'est que je peux soit passer la clé, soit je peux également passer à la fois la clé et l'objet. Et ensuite, cela retournera un vrai si cela a été supprimé parce que peut-être ceux-ci ne correspondent pas et que vous voulez une fonctionnalité spécifique ici. Sinon, vous pouvez simplement passer la clé et vous obtiendrez également le retour. Vous obtiendrez donc une dernière année de valeur. Il faut donc maintenant dire Paris. Et après cela, les marques sont en fait, comme vous pouvez le voir, et après que cela soit fondamentalement supprimé de cette carte, c'est une idée très intéressante des cartes. Ils peuvent être incroyablement utiles. Cependant, bien sûr, c'est parfois difficile de cette manière abstraite quand je montre simplement à ceux où on peut vraiment les utiliser. L'utilisation de ces types de données peut parfois être, eh bien, ce n'est pas une science exacte, n'est-ce pas ? Donc, parfois, vous voulez utiliser quelque chose. Je ne suis pas sûr que cela corresponde. Encore une fois, il suffit de l'essayer. Steve travaille et ça ira bien. Et puis, enfin, ce que nous allons jeter un coup d'œil aux décors. ensembles, comme je l'ai mentionné, sont des choses largement utilisées dans la base de code de Minecraft. Et un ensemble n'est qu'une collection, une collection qui ne contient aucun doublon. C'est la définition la plus simple d'un ensemble. Il s'agit simplement d' une liste ou d'une collection qui ne contient pas de doublons. Ainsi, un ensemble de chaîne, par exemple, nous pourrions avoir ceci comme noms d'utilisateur, par exemple, avec chaque problème qui est égal à un nouveau HashSet dans ce cas, alors vous pouvez voir que cela a également été importé et maintenant cela s' est transformé en une histoire ici parce que tous sont dans, sous le paquet util. Il n'y a donc pas trop d'importations ici. C'est en quelque sorte le fait seul. C'est très joli. Nous avons donc maintenant un ensemble et nous pouvons bien sûr ajouter à ce point de noms d'utilisateur, par exemple, le travail de coton. Ou on pourrait dire que les noms d'utilisateur dot add, nano tech ici. Et puis on peut dire, eh bien, d'accord, assez juste, c' est vraiment cool, mais qu'est-ce qu'un ensemble fait d'autre ? Eh bien, encore une fois, si nous voulons maintenant ajouter quelque chose deux fois, pour que vous puissiez, par exemple, dire quelque chose comme l'ajout de noms d'utilisateur, disons FV, non ? Et puis je duplique cela, et je veux l'ajouter deux fois le même nom, n'est-ce pas ? Nous allons en fait nous rendre huit défauts. Ici, nous obtenons un vrai, ici nous obtenons un faux parce que c'est déjà là-dedans, la chaîne est déjà à l'intérieur de la collection. Et parce qu'il ne contient pas de doublons, nous ne pouvons l'avoir qu'une seule fois. Si je réalise tout cela, vous verrez que le premier est vrai car bien sûr F ou V n' a pas encore été ajouté. Et une fois qu'il aura été ajouté et que nous essayons de l'ajouter à nouveau, nous obtiendrons un retour faux. C'est donc très intéressant. Sur tous les ensembles, vous ne pouvez pas vraiment appeler des choses individuelles à l'intérieur de l'ensemble. L'ensemble est vraiment une collection qui devrait être utilisée ensemble. Et je voulais juste présenter doucement les décors ici pour que vous en ayez entendu parler. Donc, une fois que nous les aurons vus à l'intérieur du jeu, ou à l'intérieur du code Minecraft, vous ne serez pas complètement pris au dépourvu. Donc, la dernière section ici, les flèches que vous pourriez rencontrer, n'est-ce pas ? C'est donc toujours une chose importante. Tu peux juste, faisons-le simplement. Les flèches n'étaient pas commentées. Je viens de voir où les erreurs, s'il vous plaît, pas pour les terroristes qui ne seraient pas bonnes. allons en fait copier cela par souci d' argumentation et nous allons simplement changer ce C un petit c et n va bien se passer. Le premier est donc l'exception de l'indice hors limite. Nous allons donc simplement faire ce qui suit. Décommentons cela. Tout d'abord, il s' agit de la liste de questions. là que tu y vas. Ne vous inquiétez pas du tout. Et si nous le faisons, vous verrez que nous obtenons ici une exception, l'exception de l'indice hors limites. Il s'agit donc d'une exception très, très similaire à l'exception de l'index de tableau hors limites, uniquement avec une liste. C'est presque tout ce qu'il y a. Nous avons donc essayé de transmettre un index dans la GetMethod qui n'existe pas pour les listes. Donc, bien sûr, lorsque nous n'avons que deux éléments, le premier est de l'index 0, le second est celui de l'index un. Tellement important ici que, bien sûr, passer deux ne fonctionnerait pas, n'est-ce pas ? C'est donc la première exception. Et puis, eh bien, l'autre chose n'est pas vraiment une exception, mais elle va retourner une valeur nulle. Donc, si nous transmettons une clé dans une carte qui n'existe pas, nous allons obtenir une valeur nulle, non ? Et cela pourrait conduire à une flèche en bas de la ligne. Donc, si je fais cela, vous verrez que si je fais cela, nous aurons une valeur nulle en bas ici. Et c'est tout à fait juste, bien sûr, Malte, nous n'avons pas cela dans notre pays pour capitale Mab. Cela va vraiment nous faire renvoyer une valeur nulle. Par conséquent, il peut être très utile de voir s'il contient une clé avant d'essayer de l'obtenir. Se faire restituer une valeur nulle n'est pas la fin du monde. Bien sûr que ce n'est pas fini si vous ne vous attendez pas à ce que cela soit nul ou si vous ne gérez pas que cela soit nul, vous risquez de rencontrer certains problèmes. Eh bien, voilà quelques-unes des erreurs que je voulais absolument mentionner ici. Il s'agirait donc la somme des collections. Bien sûr, il y en a beaucoup plus, il y a beaucoup plus de types de données que vous pourriez utiliser. Vous savez, il n'y a pas que les cartes et les ensembles de la liste , il y en a beaucoup d'autres, mais pour le moment, cela suffira pour commencer. Ce serait donc le cas pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Si c'était le cas, j' apprécierais beaucoup un commentaire de votre part. Sinon, je vous verrai lors de la prochaine conférence. Donc, oui. 24. (Java) Programmation axée sur des objets expliqués: Ou je me réjouis de revenir à l'introduction de Java pour la modélisation Minecraft. Et dans cette conférence, nous allons parler de programmation orientée objet. Et comme vous pouvez le constater, nous sommes en fait sur PowerPoint. Dans ce cas. Nous allons en fait avoir un peu de présentation PowerPoint ici. Commençons donc par l'idée de savoir quelle est cette programmation orientée objet ? Eh bien, dans cette conférence, nous allons passer en revue un peu la théorie et certains des termes avec lesquels vous aurez besoin de vous familiariser afin de savoir ce qui est et de comprendre le langage quand on parle avec des gens qui connaissent programmation et quand je continue avec cela, donc surtout dans la partie Minecraft de cette conférence ou de ce cours, vous êtes Je vais voir que je vais toujours utiliser les termes qui sont nécessaires à utiliser. Donc des classes, des méthodes, des objets, des choses comme ça, et vous devriez savoir ce que c'est. La première chose à laquelle nous pouvons penser c'est que tout est un objet. D'accord, stockons cela sous forme d'information, et nous pouvons créer des objets personnalisés avec des fonctionnalités personnalisées. intéressant, d'accord, et ça s' appellerait des cours. Donc, une classe est que nous pouvons créer un objet à partir d'une classe, d'accord, intéressant. Et dans les classes peuvent hériter des fonctionnalités, qui seraient des méthodes, des variables d'autres classes. Et nous allons voir deux exemples théoriques de cela. Ensuite, lors de conférences ultérieures, nous allons également jeter un coup d'œil à quelques exemples pratiques. Eh bien, tout d'abord, passons revue les termes très importants ici. Par conséquent, une ou plusieurs classes sont des types de données personnalisés ou définis par l'utilisateur. Mais maintenant, nous arrivons au point où vous pouvez créer vos propres types de données. Et ces classes peuvent ensuite être utilisées comme modèles pour créer des objets. Et ces classes incluent des méthodes et des champs appelés membres. Passons à cette étape à la fois. Une classe est donc un type de données personnalisé ou défini par l'utilisateur qui est plutôt cool. Il s'agit notamment de méthodes et de champs dont nous allons parler ici. Il s'agit de membres et de la façon dont ils peuvent être utilisés pour créer des objets. Qu'est-ce qu'un objet ? Un objet n'est rien d'autre qu' une instance d'une classe particulière avec des données définies. Nous allons en voir un exemple dans un instant. Cela deviendra donc beaucoup plus clair. Mais tout d'abord, parlons des membres. Ceux-ci doivent être assez explicites ou bien plus faciles que les objets. Les membres d'une classe sont donc soit une méthode, soit un champ, et vous pouvez également appeler des fonctions de méthodes. Maintenant, les gens qui aiment un peu plus Java savent peut-être que ce n' est pas strictement nécessaire. Les fonctions sont donc un peu différentes des méthodes. Pour nos besoins, c'est tout à fait très bien. Certaines personnes disent toujours des fonctions, même s'il y a des méthodes, tout va bien se passer et personne ne va devenir fou de ça. Nous n'avons pas besoin d'être trop pédantes là-dessus, n'est-ce pas ? Ainsi, les méthodes ou les fonctions définissent essentiellement un comportement spécifique pour un objet, et des méthodes peuvent être appelées pour des objets spécifiques. Un exemple de cela, que nous avons déjà vu, est quelque chose comme la méthode de taille d' une liste particulière. Bien sûr, chaque liste aura la même méthode de taille. Ce qui va être renvoyé est spécifique à une liste spécifique. Donc pour cet objet, mais c'est en quelque sorte l'idée générale, champs ou les attributs, car ils sont également appelés nos variables définies dans la classe qui stocke certaines données liées à cette classe. Par exemple, si nous devions avoir une classe de personnes qui pourrait enregistrer une chaîne appelée name, cela devrait également avoir du sens et devrait être assez explicite comme cet exemple ici. Et encore une fois, tout cela nous verra bien sûr, aussi en direct en action, je crois que la prochaine conférence nous allons immédiatement commencer à sauter dans les classes et les objets. Donc, pas de soucis là-bas. Jetons d' abord un coup d'œil à l'idée d'hériter de choses. Donc, je veux tout d' abord préfacer avec l'idée que si vous ne comprenez pas complètement cela, c'est tout à fait très bien. L'héritage est très compliqué. Je voulais juste mentionner cela que vous l'ayez déjà entendu une fois. Mais l'idée est que nous pourrions avoir une classe d'animaux, n'est-ce pas ? Et cela hérite essentiellement de toutes ses fonctionnalités et de toutes ses variables jusqu' à deux classes. Ainsi, l'animal à deux pattes et la classe des animaux à quatre pattes, et ceux-ci sont liés de la manière suivante. La classe des animaux est la superclasse de l'animal à deux pattes et la classe supérieure pour l'animal à quatre pattes. Alors que les classes d'animaux à quatre pattes et d' animaux à deux pattes sont sous-classes de la classe Animal. Vous ne pouvez toujours avoir qu'une seule superclasse, mais comme vous pouvez le constater, vous pouvez avoir plusieurs sous-classes. Et là, nous pouvons même aller plus loin et hériter encore plus de choses et ajouter plus de fonctionnalités. Donc, vous passez d'un très générique ou très abstrait, très spécifique, n'est-ce pas ? L'animal est une catégorie très abstraite. Animal à deux pattes. Nous commençons vraiment à entrer dans des choses plus spécifiques, humaines et autruches. Maintenant, nous sommes très, très précis. C'est donc une idée à laquelle vous pouvez penser, n'est-ce pas ? Pensons donc à un cours de chien maintenant, non ? Nous avons donc une classe qui s'appelle un chien, qui peut avoir certains attributs ou certains sont des champs, n'est-ce pas ? Ce qui va être une photo, un nom et un âge. Et on va se dire, OK, c'est très bien. C'est bon, qu'il y a assez de bien pour décrire un chien en particulier. Et bien maintenant, nous voulons créer un nouveau chien. Nous voulons donc créer une nouvelle instance de la classe de chiens. Nous voulons créer un nouvel objet. Eh bien, faisons-le simplement. là que nous l'avons. En ce moment, nous avons créé un nouveau chien. Benji avait sept ans, et voici une photo très mignonne de lui. N'est-ce pas juste sympa ? Oui, si je le dis moi-même, je pense que c'est une photo très mignonne ici, et c'est un chien en particulier, n'est-ce pas ? Nous n'avons vraiment rien changé ici. La seule chose que nous avons faite, c'est que nous avons créé un objet. Lorsque nous revenons ici une fois que chaque chien a une photo, un nom et un âge, et il s'agit d'un cas particulier ou d'un objet particulier de la classe de chiens. Maintenant, créons-en un autre. Par exemple ici, Gracie cinq ans et a aussi une photo très mignonne juste là. Il y a, vous pouvez voir qu'il s'agit deux objets différents ou deux instances différentes de la classe Dog. Cependant, ce sont tous les deux des chiens. C'est donc une sorte de séparation que je veux traverser quand il s'agit de classes et d'objets, que la classe est le modèle. Ensuite, une fois que vous avez créé un objet particulier, cela devient alors une instance de cette classe. Cela peut parfois être un peu bizarre, surtout pour les débutants. Mais pas d'inquiétude à la fois. En fait, nous allons commencer à programmer avec cette étrange chose ou quand nous utiliserons concrètement, cela va être beaucoup plus clair. J'en suis sûr, non ? Quelle serait déjà la fin de la conférence ? En fait, la chose la plus importante de cette conférence, permettez-moi de revenir rapidement ici c'est celle-ci ici, n'est-ce pas ? Cette diapositive est donc probablement la plus importante. Les diapositives sont également disponibles en tant que ressource, ce qui vous permet également de télécharger ces diapositives. Donc, pas de soucis là-bas. Vous avez donc également accès à ces deux photos de chiens mignonnes. Ce sera donc un très grand avantage, bien sûr. Sinon, ce serait le cas pour cette conférence ici même, comme je l'ai dit, un peu plus de théorie et la prochaine conférence, nous allons mettre tout cela en pratique. Ce sera donc tout pour cette conférence ici. J'espère que vous avez trouvé cela utile et que les neurones sont les nouveaux. Et je vous verrai lors de la prochaine conférence. Donc, oui. 25. (Java) Cours de Java et objets: Bon, bienvenue dans l'introduction de Java ici pour la modélisation Minecraft. Et dans cette conférence, nous allons essentiellement appliquer la théorie que nous avons apprise la dernière fois. Lors de la dernière conférence, nous allons parler de cours et d'objets. Donc, tout d'abord, bien sûr, nous devons créer une nouvelle classe, une classe personnalisée maintenant. Et pour cela, nous allons entrer dans cette fenêtre de projet juste à l'intérieur de notre paquet. Donc, c'est le paquet, n'est-ce pas ? Net a aidé Monroe était le paquet que nous avons créé ou autre que j'ai créé. J'espère que c'est votre nom. Ensuite, dans votre package de noms, cliquez avec le bouton droit sur la nouvelle classe Java. Ensuite, vous allez appeler cela la classe de chien, en vous assurant que la classe ici est sélectionnée, puis appuyez sur Entrée. Cette année, cette fenêtre n'apparaît que pour moi car j'ai un référentiel GitHub associé à ce projet. Si vous ne l'avez pas, c'est tout à fait très bien. Ne vous inquiétez pas du tout à ce sujet. Je voulais juste mentionner cela. Et maintenant, au lieu de ces crochets bouclés, oh, ajoutez des membres à cette classe. Par exemple, nous pourrions ajouter quelques champs, n'est-ce pas ? On peut donc dire quelque chose comme ajouter, ajouter des champs, n'est-ce pas ? Revenons ensuite à la présentation PowerPoint que nous avons vue, n'est-ce pas ? Nous avions une photo de String publique. Nous étions en train de penser à une photo. Nous allons juste dire qu'une chaîne qui est totalement bonne pour le moment, un nom de chaîne publique. Disons ensuite un entier public, qui est la variable d'âge. Maintenant, c'est très bien pour le moment. Nous allons encore une fois ignorer le public ici. Nous devons simplement rendre cela public une fois de plus dans un très très court laps de temps. En fait, nous allons voir les modificateurs d'accès. C'est donc littéralement la prochaine conférence. Ensuite, nous comprendrons ce que cela signifie pour le moment. Nous devons le rendre public. Et ce que nous pouvons également faire, c'est par exemple quelqu'un comme un vide public. Et ensuite, par exemple, nous pourrons faire des champs et des méthodes, non ? C'est donc une méthode ici, et c'est bien sûr que c'était des champs ici. Ensuite, je peux faire quelque chose dans cette méthode, ce qui n'est que par souci d'argumentation. Je vais juste dire ça, en ce moment. Bon, donc maintenant tout est mis en place. Maintenant, que faisons-nous avec sa classe de chiens, n'est-ce pas ? Comment en fabriquons-nous un nouvel objet ? Eh bien, nous pouvons faire ce qui suit. On pourrait dire chien, non ? logo. Et maintenant, au début, nous pouvons dire quelque chose comme ça, par exemple. Pour la première fois, cela pourrait être un peu déroutant. Peut-être aimer attendre, mais je veux dire, j'ai pensé que tu devrais reconnaître ça, non ? C'est juste une variable normale que nous avons déclarée ici, n'est-ce pas ? C'est juste un type de chien. Maintenant, comme je l'ai dit, parce que vous commencez à utiliser des classes personnalisées. Donc, des types de données personnalisés essentiellement. C'est peut-être un peu bizarre, mais c'est exactement la même chose que si je devais le faire, non ? Vraiment, quand on y pense, c'est juste une variable. Cette fois-ci de type chien. Et une autre façon initialiser est que je peux dire nouveau chien et vous pouvez voir qu'il génère cela automatiquement pour nous. Et maintenant, j'ai créé un nouveau chien. C'est donc l'idée générale de la façon dont vous pouvez créer un nouvel objet. Vous devez donc utiliser le nouveau mot-clé, que nous avons déjà vu à quelques reprises. Par exemple, avec le scanner, nous avons dû créer un nouveau scanner. Et maintenant, c'est aussi logique. Scanner n'est qu' un autre objet ou une autre classe que nous pouvons instancier un nouvel objet ou une nouvelle instance d'un pouce peut essentiellement utiliser cela. C'est en quelque sorte l'idée. Maintenant, la vraie question est que ça va, comme si j'avais ce chien ici, mais comme dans les champs, que sont-ils, qu'est-ce qu'ils sont maintenant ? Eh bien, essayons juste. Système d'écriture, ligne d'impression, Togo, nom du point par exemple. Voyons, eh bien, comment ce chien a été nommé comme chien ? Non, en fait, le nom est nul car nous n'avons attribué aucune de ces valeurs. Par conséquent, ils sont tous nuls car ici nous avons utilisé, à droite, le constructeur par défaut par défaut. Qu'est-ce que ça veut dire ? Eh bien, le constructeur est une autre partie d'une classe qui est très importante, et ce n'est en fait pas classé comme membre dans ce cas, c'est autre chose. Ainsi, le constructeur, comme son nom l'indique, est quelque chose qui construit un objet à partir de ce modèle, partir de cette classe, n'est-ce pas ? Mais le constructeur par défaut, chaque classe que vous créez a quelque chose comme ça. Il est donc écrit comme ceci avec un modificateur d'accès. Et puis le nom de la classe immédiatement suivi par une parenthèse, qui n'a rien dedans. Et puis essentiellement comme une méthode normale, juste sans type de retour ou plutôt le type de retour est le même que le nom. Vous pouvez aussi y penser comme ça. Et cette année, c'est le constructeur par défaut. Et c'est ce que nous avons utilisé pour ce document ici, n'est-ce pas ? Il s'agit donc du constructeur par défaut maintenant. Et le vrai problème ici, c'est bien sûr que vous pouvez voir que rien ne se passe là-dedans. Aucune de ces choses n'a donc de valeur attribuée. Cependant, nous pouvons également créer nos propres constructeurs. heure actuelle, nous pouvons créer un constructeur personnalisé. Par exemple, chien public, chaîne, image, nom de chaîne et âge, écrivez quelque chose comme ceci et nous pouvons les attribuer. Cette image est donc égale à l'image, ce .name est égal à nom, et cet âge de point est égal à l'âge. Et vous verrez que tout d'un coup, tout fonctionne encore très bien. La première chose que vous pourriez demander, c'est quoi, ce mot clé ? Eh bien, cela fait référence à l'objet que nous créons du taux. Par exemple, vous pouvez y penser lorsque nous appelons la méthode Wolf. Si nous devions appeler cela, nous devrions appeler cela sur un objet particulier. Ainsi, chaque fois que j'utilise cela à l'intérieur de cette méthode, cet objet particulier est essentiellement fait référence. Vous pouvez donc y penser comme ça. même manière avec le constructeur. Lorsque j'utilise cela, cet objet particulier que nous venons de créer est fait référence car le nom du paramètre ici porte le même nom que le champ. Ils ne sont pas nécessairement obligés de le faire, mais dans ce cas, ils le font. Ensuite, nous voulons utiliser cet outil très bien spécifier, hé, c'est le champ et comme paramètre. Et maintenant, ce que je peux faire, c'est au lieu d' créer un avec le constructeur par défaut ici, je peux faire quelque chose comme, par exemple, chien et Benji, disons que c'est un nouveau chien, non ? Et puis vous pouvez voir si j'attends une seconde ici, peux jeter un coup d'œil à ça. C'est là. Nous avons donc maintenant une suggestion ici, soit pas de paramètres ni de chaîne, de chaîne d' image, de nom, de chaîne ou d'âge entier. Nous recevons donc la suggestion ici. Disons Benji Dot PNG, non ? Disons Benji pour le nom, puis sept ans pour l'âge. Et vous pouvez voir que c'est presque la même chose qu'un simple appel de méthode normal, mais dans ce cas, il crée réellement un nouvel objet. Et puis nous pouvons faire la ligne d'impression système. Maintenant, nom de point Benji, et disons Benji dot h. Et maintenant cette sortie sera Benji et un sept comme vous pouvez le voir. Donc, c'est vraiment vraiment cool. Il y a encore une chose. Disons simplement, par souci d'argumentation, quand nous avons beaucoup de champs, non ? Parfois, il peut être un peu fastidieux de les mettre tous ici dans le constructeur. Ce que nous pouvons faire, c'est que nous pouvons également cliquer avec le bouton droit de la souris sur générer un constructeur. Ensuite, vous pouvez simplement sélectionner tous les champs que vous souhaitez initialiser, vous verrez par le constructeur et nous disons, OK, et cela génère exactement la même chose que nous avons fait précédemment. Je voulais le mentionner parce que cela peut parfois être très utile, n'est-ce pas ? Il y a donc beaucoup de choses ici qui peuvent être générées automatiquement. Gardez cela à l'esprit également. Mais faisons aussi un autre noir. Pour illustrer cela, alors le chien Gracie est égal à un nouveau chien, non ? C'est le gros point PNG, Gracie, et je crois que Gracie avait cinq ou cinq ans, c'est très bien. Maintenant, sortons cela aussi. Je sélectionne donc ce Control C, Control V pour le coller , puis changer la variable ici et une sorte de Benji en Gracie. Et bien sûr, cela fonctionne aussi maintenant et il va avoir des valeurs différentes. Encore une fois, ce sont les deux chiens de raid, mais ce sont deux chiens différents. Il y a donc deux objets différents. Et j'espère que la théorie de la dernière conférence se répercutera très facilement vers cet exemple illustratif ici, une fois que nous l'utilisons réellement, elle deviendra très claire. Et nous le ferons aussi, c'est que nous changerons ce loup que vous êtes en fait pour ce nom de point, juste waft. Ce que nous pouvons voir, c'est aussi que lorsque nous appelons cette méthode, une fois de plus, cette méthode en particulier, nous devons faire appel à un objet particulier, n'est-ce pas ? Nous devons donc sauver Benji Dot, WAF ou racy dot. Tout devrait avoir du sens. Et maintenant, ce qui va se passer, c'est que ce ne sera pas la même chose pour chacun d'entre eux, n'est-ce pas ? Benji vient de déménager ou Gracie est juste Swift. Cela fait donc encore une fois référence à l'objet réel où cela est appelé pour ainsi dire. C'est donc l'idée. Et puis une dernière chose qui pourrait être un peu différente ou un peu bizarre. C'est comme, eh bien, attendez une seconde. âge de Benji Dot, non ? D'accord. Puis-je simplement attribuer ça à quelque chose ? Oui, je peux. Eh bien, c'est très intéressant, non ? Tout d'un coup, non ? Benji a 10 ans et vous pourriez être comme, Attendez, ce n'est pas, ça n'a aucun sens, n'est-ce pas ? Il n'y en a que sept. Ce n'est pas juste, est-ce que oui, cela a maintenant été sauvé. Et c'est quelque chose que nous allons examiner lors la prochaine conférence en ce qui concerne les modificateurs d'accès. Parce que tout cela étant public signifie essentiellement que vous pouvez modifier cela et y accéder depuis n'importe où dans le code. Et parfois, ce n'est pas ce que nous voulons. Vous voulez parfois restreindre l'accès à certains champs, variables, méthodes, tout ce jazz essentiellement. Et comme je l'ai dit, nous allons y jeter un coup d'œil lors de la prochaine conférence. Cependant, ce serait le cas pour cette conférence ici même. J'espère que cela vous a été utile et que vous apprendrez quelques nouveautés. Et je vous verrai lors de la prochaine conférence. Donc, oui. 26. Modificateurs d'accès (Java): Bon, bienvenue dans l'introduction de Java ici pour Minecraft matin et dans cette conférence, nous allons examiner les modificateurs d'accès. Vous aurez donc besoin de tout le code de la dernière conférence. Ne vous inquiétez pas, bien sûr, cela vous est disponible en tant que ressource. Alors, jetez un coup d'œil à ça et puis, eh bien, nous allons juste sauter. L'idée était donc que nous avions tous nos champs ici en tant que public, n'est-ce pas ? Donc, tout était public ici. Et on se disait, eh bien, d'accord, alors comment allons-nous utiliser ça ? Ou comment pourrons-nous ne pas rendre certains champs modifiables ou modifiables ici en dehors de cette classe. Eh bien, passons en revue tous les modificateurs d'accès. Il y a donc public, protégé et privé. Ensuite, il y a deux autres choses que nous allons voir qui sont statiques et le final, eh bien, ce ne sont pas vraiment des modificateurs d' accès, mais ce sont aussi des modificateurs que vous pouvez mettre devant les champs. et, ou méthodes. Donc, quand il s'agit de protéger le nom, par exemple , ici, cela ne fera rien. Maintenant, la raison pour laquelle il ne fait rien est qu'un champ protégé ou une méthode protégée peut être appelé dans le même paquet. Et parce que le chien et la classe principale ou dans le même paquet, nous pouvons toujours nous référer à ce champ ici dans le mot-clé protégé fonctionne également ou les classes qui s'étendent de là. Donc, fondamentalement, les acides héritant de la classe de chiens pourraient désormais utiliser la variable name. Qu'en est-il de la variable d'âge ? Eh bien, faisons ce qui suit. Faisons en sorte que ça soit privé. Et tout d'un coup, nous pouvons voir des problèmes connexes, n'est-ce pas ? Tout devient fou. Tout le monde panique parce que tout d'un coup, nous pouvons y accéder parce qu'une variable privée n'est accessible que dans la même classe, ce qui signifie que nous ne pouvons pas y accéder directement. Cependant, nous pouvons faire quelque chose qui va être une méthode, renvoie cette valeur. C'est donc ce qu' on appelle une guitare. Et ce que nous pouvons faire, c'est que nous pouvons cliquer avec le bouton droit sur Générer et vous pouvez voir que nous pouvons réellement générer des getters et des setters. Les réglages sont à peu près la même chose que lorsque vous définissez le taux variable. Donc, là où vous pouvez définir cela et un getter, c'est juste la chose où vous obtenez ceci. Je peux donc sélectionner la variable d'âge et dire, ok, et voir qu'elle génère une méthode pour nous entier public parce que bien sûr c'est le type de retour ici, obtenir l'âge. C'est donc ainsi que vous entendiez ceci ou que le nom de celui-ci était généralement obtenu , puis juste le nom de la variable ou du champ. Et puis nous retournons de l'âge dans cette méthode. Et puis, au lieu de l' appeler directement, on peut dire avoir de l'âge à l'âge, à l'âge. Et maintenant, voici ce qui est très intéressant. Bien sûr, cela ne fonctionne pas. Nous ne pouvons pas attribuer quelque chose à une méthode. Par conséquent, cela ne fonctionne pas, n'est-ce pas ? On peut donc dire que ça ne fonctionne pas. Nous ne pouvons donc pas attribuer de nouvelle valeur à cette variable d'âge. C'est vraiment ce qu'il y a de cool. Ensuite, nous pouvons également avoir un mot clé statique et un mot clé final. D'accord, qu'est-ce que c'est ? Eh bien, l'électricité statique va être très intéressante. Donc, quand j'ai un int statique public, et que je vais appeler ça le chien au multiplicateur d'oreille humaine. Multiplicateur, qui est égal à sept si je ne me trompe pas ici. Et c'est ce que nous pouvons penser de cette façon. Chaque chien doit-il avoir un champ spécifique pour lui, c' est-à-dire ce multiplicateur ? Je veux dire, si on est vraiment honnête, pas vraiment, vrai, quand on y pense. Le docteur ici, Dr. multiplicateur de l'année humaine est vraiment quelque chose qui fonctionne pour tous les chiens. Exactement. C'est pourquoi il est statique. statique s'agit d'une variable statique ou d' une méthode et ne nécessite pas et ne nécessite pas de création d'objets spécifiques. Donc ce que je peux faire, c'est , par exemple, au lieu d' appeler Benji que HE, je peux dire chien, point, humain, médecin, multiplicateur d' année humaine. Vous pouvez voir que j'appelle cela sur la classe réelle et non sur l'objet. C'est donc une chose très intéressante. Et cela pourrait vous briser un peu le cerveau ici, parce que d'abord, entrer dans la statique est un peu bizarre et cela semble peut-être très contre-intuitif à première vue, mais pas de soucis du tout. Quand on utilise vraiment ça, ça va se passer. Et l'essentiel est que, vous savez, si quelque chose de statique est généralement le même pour tous les objets, n'est-ce pas ? Parce qu'une fois de plus, le multiplicateur d'année humaine Dr ne change pas d'un chien à l'autre. Maintenant, ignorons le fait que cela change peut-être s'il y a des races différentes et des trucs comme ça. Ignorons simplement cela. C'est juste un exemple ici, bien sûr, non ? Et puis la question est aussi, eh bien, attendez une seconde. Cela n'a vraiment pas besoin de le changer car maintenant nous avons le même problème une fois de plus, donc les chiens, votre multiplicateur et tout d'un coup, équivaut à dix. Nous pouvons simplement changer cela et c'est comme si ce n'était pas vraiment intelligent, n'est-ce pas ? Cela ne doit pas nécessairement arriver. Heureusement, il y a aussi le dernier mot clé. Et cela fait en sorte que si j' appuie réellement sur Control Z pour revenir en arrière, vous pouvez voir que vous ne pouvez pas attribuer une valeur à une variable finale. Parce que lorsqu'il s'agit d'une variable finale , la valeur ne peut jamais changer une fois qu'elle a été affectée. C'est également très intéressant. Cependant, il existe bien sûr une différence nette entre un privé et un taux variable final. Parce qu'une dernière variable nous pourrions en théorie changer, n'est-ce pas ? Nous pourrions dire quelque chose comme, par exemple, de faire un vide public et public. Anniversaire public nul, non ? Pour un chien, où nous disons « âge plus ». Mais cela fonctionne toujours même si c'est privé, nous pouvons modifier cette variable. Nous ne pourrions jamais modifier cette variable une fois qu'elle sera définitive. C'est donc la différence, qui est compréhensible en ce sens, n'est-ce pas ? Regardons donc un autre regard sur ce qui suit, n'est-ce pas ? Donc, nous pouvons aussi dire quelque chose comme : Eh bien, je veux dire, ajoutons un, ajoutons simplement une chose de plus, quelque chose comme un int public. Donc, GetAge dans les années humaines, n'est-ce pas ? où nous pouvons utiliser le multiplicateur ici, nous allons renvoyer la variable d'âge le médecin ici, le médecin humain, le multiplicateur de l'année humaine juste là. Maintenant, nous pouvons simplement appeler cela habitude, vous pouvez bien sûr aussi dire le point de chien. Nous n'avons pas à le faire parce que nous sommes à l'intérieur de la classe de chiens, donc nous pouvons simplement l'appeler sans cela. C'est une préférence très personnelle, que vous vouliez ou non le faire. Mais ce que nous pouvons dire, par exemple, c'est que nous pouvons dire que Benji dot vieillit dans les années humaines, et ce sera alors, qu'est-ce que c'est ? 49 ? Oui, 49 ans. Vous y allez. C'est tellement facile. C'est en quelque sorte l'essentiel général. Nous avons des services publics, protégés et privés pour les modificateurs d'accès. Et puis il y a aussi des éléments statiques et finaux. Et nous le serons certainement, nous allons rencontrer tous ces sujets lors de conférences futures, surtout lorsque nous nous lancerons dans la modélisation des micro-ondes, cela va être très pertinent ici, surtout quelque chose comme le mot clé final et le mot-clé statique, ils seront beaucoup utilisés. Encore une fois, s'ils ne sont pas clairs, c'est tout à fait très bien. Ne vous inquiétez pas du tout. Une fois que vous commencerez à travailler avec eux, cela deviendra beaucoup plus clair. Et encore une fois, je peux vous conseiller d'essayer un tas de choses. Il suffit d'allumer l'intelligence. Faites un tas de cours, et essayez un tas de choses. Faites quelques cours, faites quelques champs, tout un tas de choses. Vous ne pouvez rien casser. Pas vraiment. Il s'agit donc simplement d' être ouvert à l'expérimentation. C'est donc un conseil que je peux vous donner. Mais sinon, ce serait le pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 27. (Java) Inheritance et polymorphisme: Bon, bienvenue dans l'introduction de Java ici pour la modélisation Minecraft. Et dans cette conférence, nous allons parler d'héritage et de polymorphisme. Eh bien, tout d'abord, un polymorphisme et héritage pour de très grands mots, n'est-ce pas ? Mais dans l'ensemble, ce sont des concepts assez simples, surtout le polymorphisme n'est-il pas fou d'un concept en fait ? Maintenant, un autre avertissement que je tiens à dire dès le départ est que, parce que c'est un exemple, le type de concept réel pourrait ne pas être transparent à 100 %, ce qui est tout à fait correct. Au fait, c'est quelque chose qui, encore une fois doit être construit en essayant un tas de choses, non ? J'ai généralement à peu près la même chose ici. J'ai oublié. Je vois. Je m'en souviens. Je le sais. Je comprends. doit donc toujours y avoir des actions qui vont de pair avec cela. Quel que soit le cas. Disons, par souci d' argumentation que quelqu'un dit : Vous savez quoi, je veux vraiment un cours de chat aussi parce que je ne suis pas un chien , c'est très bien. C'est tout à fait correct. Eh bien, ajoutons un cours de chat ici aussi. Donc, une nouvelle classe, chat. Et voilà. Maintenant, ce que vous allez vite réaliser, c'est que, comme soyons honnêtes, le rein du chat devrait également avoir une photo , un nom et un âge. Et vous pourriez être comme, eh bien, je veux dire, nous allons simplement copier ces champs. Et puis vous pourriez être comme, eh bien, j'ai aussi besoin d'avoir l' âge que l'obtenteur, puis le loup, peut-être le bébé et Mimi Chao et vous arrivez à un point où vous copiez beaucoup de code et généralement tabulation sur beaucoup de code est un signe que vous pouvez optimiser quelque chose. Maintenant, l'optimisation prématurée est la voie de l'enfer. Je comprends cela. Cependant, parfois, cela a beaucoup de sens où vous avez comme cela copié, copié, copié, et c'est comme, faisons simplement une méthode ou une classe à partir de là ou autre chose. Et que quelque chose d'autre sera en fait une super classe pour le chat et un chien qui est la classe animale. Nous allons donc créer une nouvelle classe appelée animal, et cela va maintenant stocker ça. Je vais donc découper ça avec Control X et Control V pour coller ça ici. Et maintenant, tout d'un coup, ce que nous pouvons faire, c'est que nous pouvons étendre la classe des chiens par classe Animal, ce qui signifie que le, faisons-le bien ? Nous allons donc tout hériter de l'animal ici. Nous allons dire qu'il s'étend à l'animal, et c'est maintenant l'héritage. La classe de chiens est donc maintenant la sous-classe des animaux, et l'animal est maintenant la superclasse du chien, ce qui signifie que tout ici a été hérité. Maintenant, je peux littéralement supprimer cela. La seule chose qui va devenir rouge, c'est l'âge, car je dois en fait protéger cela ici pour qu'il soit accessible dans la sous-classe. Mais nous l'avons vu lors de la dernière conférence où j'ai dit que lorsqu'il s'agit d'une variable protégée, vous pouvez également y accéder depuis la sous-classe. C'est en quelque sorte l'idée. Débarrassons-nous de quelques-uns de ces commentaires ici également. Nous pouvons également nous débarrasser du constructeur par défaut qui n'est plus nécessaire. Maintenant, nous avons cette classe d'animaux, non ? Et c'est plutôt cool. Maintenant, vous pouvez voir ce b-a, cette classe Dog, tout est en train d'être mis en place. Cependant, nous voulons nous assurer que tout le monde, que chaque classe héritant réellement de la classe Animal fonctionne également. Nous allons donc créer un nouveau constructeur aussi. Cliquez avec le bouton droit de la souris, générez un instructeur, assurez-vous que tout est sélectionné ici , puis appuyez sur OK. Et puis nous allons immédiatement être accueillis avec une flèche ici. Parce que si nous survolons cela, vous pouvez voir qu' aucun constructeur par défaut n'est disponible dans un animal de zoo net com. Qu'est-ce que cela signifie ? Eh bien, lorsque vous ajoutez un constructeur spécifique ici, ce n'est pas le constructeur par défaut. Le constructeur par défaut ne fonctionne plus. Donc, une fois que vous avez un constructeur qui est, n'est pas le constructeur par défaut, vous devez l'ajouter à nouveau comme manuellement. Je pourrais donc, par exemple, dire animal public, n'est-ce pas, sans rien dedans, n'est-ce pas ? Donc, quelque chose comme ça. Cependant, bien sûr, ce n'est pas le cas. Maintenant, vous savez, encore une fois, nous ne voulons pas vraiment cela. Cela va donc être supprimé et le constructeur par défaut ne fonctionne plus. Et maintenant, que doit-on faire ici ? Eh bien, ce que nous pouvons faire, c'est que nous pouvons appeler le super-héros, et cela appelle essentiellement le constructeur. Donc, nous pouvons réellement mettre en PI comme vous pouvez le voir déjà pour simplement dire, prenons tous les paramètres ici et les mettre en année. Et maintenant, ce super appelle maintenant le constructeur Animal ici. C'est donc parfait dans ce cas. Ensuite, quelque chose d'autre, peut-être par exemple, l' âge d'obtention et l'anniversaire pourraient également être dans la classe des animaux, par exemple. Cela fonctionnerait également très bien. Et le reste ici est tout à fait correct. Je vais m'ajuster, faire en sorte que ça soit un peu différent. Je veux donc généralement que les constructeurs au sommet de la classe, n'est-ce pas ? Tout d'abord, les champs , puis les constructeurs, puis toutes les méthodes et autres choses comme ça. Bien que l'ordre, bien sûr, soit quelque chose qui dépend entièrement de vous, mais c'est généralement la convention 0. Maintenant, que se passerait-il si je disais maintenant, le chat étend également la classe des animaux. Nous allons, nous allons avoir une erreur ici, c' est-à-dire qu'il n'y a pas de constructeur par défaut disponible dans animal. Et puis nous avons cette solution était possible, qui est le constructeur de création de correspondance super, ce qui est quelque chose que nous allons voir beaucoup de fois. Parce que si vous cliquez dessus, vous obtiendrez simplement un nouveau constructeur avec tous les paramètres nécessaires pour appeler le constructeur de votre superclasse. Et c'est à peu près tout. C'est vraiment cool. Et maintenant, nous pouvons créer une nouvelle classe. Vous pouvez voir que tout fonctionne ici. On peut dire que les moustaches de chat sont un nouveau chat, n'est-ce pas ? C'est un nouveau chat ici. Et c'est, par exemple, alors les moustaches pointent PNG. Et puis le nom va être moustaches, n'est-ce pas ? Et peut-être qu'il y avait 12 ans ou quelque chose comme ça. Et puis nous pouvons simplement appeler, par exemple, moustaches et vous pouvez voir que je peux appeler tout avoir de l'âge. J'ai maintenant accès à la variable d'âge ici. C'est simplement le cas parce que nous sommes dans le même paquet. Cela ne devrait généralement pas être le cas. Je voulais juste mentionner cela parce que généralement, lorsque vous étendez réellement une classe particulière, il est très peu probable que vous soyez dans le même paquet. Je voulais juste mentionner cela. Et c'est une, eh bien, je ne dirais pas une limite, c'est juste une réalité fondamentalement. Mais maintenant, la vraie question, la communication, mais qu'est-ce qui est si intéressant d'avoir cela ? Eh bien, réfléchissons à ça, non ? Nous avons donc la méthode du loup ici, non ? Supprimons simplement cela ou soyons encore plus intelligents. Il suffit de copier ça ou de le découper, non ? Et puis ajoutez-le à l'animal. Tout d'abord, vous allez dire, attendez une seconde, pas tous les animaux, Wolf a raison. Oui, c'est assez juste. Alors appelons que ça fait du son. Et puis on peut dire ce nom, juste, disons qu' il vient de faire un son, mais on ne peut pas le faire. Et une autre chose vraiment intéressante, c'est que cela définit la classe animale. Cependant, je peux toujours dire quelque chose comme moustaches, un son adamic, non ? Parce que les moustaches sont un chat et qu'un chat est un animal, je peux encore appeler toutes les méthodes publiques ici. Et si j'appelle ça, on peut voir des moustaches qui viennent de faire un son. C'est plutôt cool. Mais maintenant, nous allons surcharger cela parce que même si chaque animal fait un son, un chat émet un son différent de celui d'un chien, n'est-ce pas ? Ce que nous pouvons faire, c'est que nous pouvons réellement remplacer l'implémentation de cette méthode dans les sous-classes. C'est donc assez fréquent, cool. Mais ce que nous pouvons faire, c'est que nous pouvons soit commencer à taper le nom réel de la méthode comme vous pouvez le voir, soit écrire un remplacement, n'est-ce pas ? Nous pouvons commencer à écrire cela. Ensuite, vous pouvez voir toutes les méthodes possibles que nous pourrions remplacer. Nous allons bien sûr choisir la méthode du son de mixage ici et cette annotation sera ajoutée. Cela n'est pas strictement nécessaire, cependant, c'est très précieux pour vous si vous avez et je vous recommande vivement de le garder, car si vous passez par les cours réels, vous pouvez très clairement voir, Ok, donc ça a été remplacé par l'une de ses superclasses. C'est donc très important. Alors, je vais juste prendre celui-ci. Donc, je vais vraiment prendre ça et juste modifié un tout petit peu, n'est-ce pas ? Donc, je vais dire ça, juste moi. Disons que je vais faire de même. Copiez ça au chien ici. Et je vais dire ce nom, juste ralentir, nous avons quelque chose de différent ici. Et ce que vous verrez alors si j'appelle réellement, par exemple Benji dot fait du son. Et je vais aussi voir Gracie, ne fais pas de son. Que va-t-il se passer maintenant ? Eh bien, c'est très intéressant. Miaou, Woof, Woof. Ainsi, comme vous pouvez le constater, les méthodes remplacées sont maintenant appelées la place de celle par la superclasse réelle. C'est vraiment fréquent, cool. Et maintenant, c'est en quelque sorte l' idée de l'héritage, n'est-ce pas ? Nous pouvons hériter à la fois des méthodes et des champs l'Europe dans ce qui fait que tout d'abord, tout est un peu plus bien séparé, et ensuite nous n' avons pas de code dupliqué. La vraie question est maintenant : qu'est-ce que le polymorphisme ? polymorphisme est un grand mot pour désigner un concept très, très facile à comprendre. En fait, dans le concept très facile à comprendre, c'est qu' un chien est simultanément un chien et qu'un animal devrait avoir du sens, n'est-ce pas ? Donc, vous avez un cours de chien qui est à la fois un chien ou un objet de type ? Le chien est à la fois le chien et l'animal suffisent. OK. Qu'est-ce que cela signifie ? Je peux sauver ça chez un animal, n'est-ce pas ? Je peux donc sauver l'animal, l'animal est égal à un nouveau chien. Sauvons juste Jenny Dot PNG. Jenny, peut-être que la Guinée a 15 ans, toute sombre, mais c'est bon. Et maintenant, que se passerait-il si je faisais ça dans un point de taupe. Que va-t-il se passer maintenant ? Je veux dire que c'est un animal. Donc évidemment, il faut dire que Jenny vient de faire un son, n'est-ce pas ? Parce que c'est la chose la plus logique. Attendez une seconde en arrière-plan, c'est un chien. Exactement. Puis il vient de déménager. Parce que même si nous l' enregistrons chez un animal, polymorphisme permet l'objet chien de prendre plusieurs formes, ou n'importe quel objet peut réellement prendre plusieurs formes. C'est ce que signifie essentiellement le polymorphisme. Plusieurs forums dans une traduction très lâche, disons. Et ce que je peux aussi faire, c' est que je peux faire une liste d'animaux, par exemple des animaux de rage, des animaux cool. Et je peux en faire une nouvelle ArrayList juste par souci d'argumentation. Importons ça. Et puis je peux juste dire animaux, pas ajouter. Et je n'ai pas seulement à ajouter un animal car Benji est bien sûr un chien, mais le chien est aussi un animal. Et puis je peux aussi ajouter Gracie, puis ajouter des moustaches. Comme vous pouvez le constater, même s' ils sont tous sauvés comme animaux, n'est-ce pas ? Si je veux les récupérer, des animaux, un point, par exemple, faire du son. Donc ça fait d'eux leur travail, n'est-ce pas ? Et la méthode Get ici vous ramène un animal. Mais encore une fois, nous avons vu que appel d'une méthode à ce sujet provoquait, disons, la méthode la plus spécifique possible. Donc, même si cela est sauvegardé en tant qu'animal, Gracie est sauvé en tant qu'animal ici, le son du micro va faire en sorte que Gracie vient de bouger. C'est plutôt cool. Encore une fois, si vous ne voyez pas clairement la demande pour cela, c'est tout à fait très bien. C'est une introduction très abstraite pour cela, bien sûr. Cependant, pour le moment, ce serait pour cette conférence ici même. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 28. Interfaces de Java et cours abstraits à la syn: Bon, bienvenue dans l'introduction de Java ici pour la modélisation Minecraft. Et dans cette conférence, nous allons examiner provisoirement les interfaces et les classes abstraites. Nous allons donc commencer par la classe abstraite d'abord parce que c'est un exemple très illustratif. Ce à quoi nous pouvons penser, c'est ce qui suit. Qu'est-ce qu'un chien ? Eh bien, je veux dire, vous avez déjà vu un chien ? Oui, bien sûr. Je veux dire, soit en photo, soit quelque part dans le monde, vous avez peut-être vu un chien. Avez-vous déjà vu un animal ? Maintenant, vous pouvez dire que c'est bien, je veux dire, j'ai déjà vu un chien , mais non, non. Avez-vous déjà vu un animal ? Et vous allez vous rencontrer et fusionner, non ? Parce que c'est comme, qu'est-ce qu' un animal en ce moment, ce que nous pouvons faire, c'est que nous pouvons dire animal, disons qu'un est égal à un nouvel animal, n'est-ce pas ? Avec, par exemple, comme x, p et g x et ça comme 10 ans ou quelque chose comme ça. Et alors vous pourriez être comme, à quoi ressemble un animal ? Ce que cela représente vraiment chez l' animal, c'est un concept très, très abstrait. Et des cours abstraits, non ? Vous voyez la congruence là-bas, n'est-ce pas ? Donc, vraiment, nous ne devrions pas être en mesure de créer de nouveaux objets de la classe Animal car à quoi ressemble vraiment un animal ? Les choses peuvent être classées comme des animaux, mais l'animal objet n'existe pas, n'est-ce pas ? Donc, ce que nous allons faire, c'est que nous allons créer un cours abstrait public à partir de ça. Et vous allez immédiatement voir que nous avons un problème connexe, ce qui est bien sûr exactement ici, parce que nous ne pouvons pas créer un nouvel animal s'il est abstrait, vous pouvez voir que l'animal est abstrait, ne peut pas être instancié, ce qui signifie que nous ne pouvons pas créer d'objets en classe abstraite chez le chat et le chien. Rien n'a littéralement changé car, bien sûr, l'animal est toujours là, donc ça marche. Maintenant, ce que nous pouvons aussi faire et c'est vraiment cool pour une classe abstraite, c'est que nous pouvons rendre certaines méthodes abstraites. Par exemple, la méthode du son du micro ici. Donc, nous pouvons simplement simplement supprimer cela. Et puis, ce qui va se passer, c'est que nous pouvons dire public, abstrait, nul, faire du son, n'est-ce pas ? Et maintenant, regardez ça, nous venons de finir. Nous devons donc toujours avoir une année de signature de méthode normale. Cependant, l' implémentation réelle est laissée aux sous-classes. Et si nous ne pouvions pas passer outre cela, ce que vous pouvez voir, c'est que chien de classe doit soit avoir déclaré abstrait. Donc, soit cela doit également être une classe abstraite soit nous devons implémenter les méthodes abstraites d'animal qui peuvent simplement survoler cela dans les méthodes d'implémentation , puis cela sera ajouté également. Je vais juste revenir avec Control Z ici et tout fonctionne très bien. C'est donc en quelque sorte l'idée d'une classe abstraite. Et une interface est amine, quelque chose qui est également très lié à cela. Ce que nous allons faire, c'est que nous allons simplement ajouter une interface, donc une nouvelle classe ici, puis nous pourrons sélectionner l'interface. Nous allons appeler cela l'interface pétale et l'interface IP comestible. Vous êtes dans les interfaces. Nous ne faisons que définir une signature de méthode. Donc nul, animal de compagnie Par exemple, des taux de symboles comme celui-ci, et c'est tout. Donc, pas de modificateur d'accès, juste ça. Et si cette interface est implémentée maintenant par exemple, dans les outils de droite chat, nous avons le droit, alors je suis appétissant que ce que vous verrez est une erreur très similaire à celle qu'auparavant. Mettre en œuvre les méthodes, la méthode et l'ego. Et maintenant, je dois avoir une sorte de mise en œuvre dans cette classe de chats. Pourquoi avons-nous des interfaces et des classes, vous savez, ne pourrais-je pas simplement créer un autre cours ? animal comestible et des trucs comme ça ? Oui, bien sûr, ça fonctionne aussi. Mais la limite ici est qu'on peut toujours s'étendre qu' à partir d'une seule classe. Vous ne pouvez cependant pas implémenter plusieurs interfaces différentes. C'est vraiment ce qui est intéressant ici. Et ensuite, l'interface est essentiellement ce que le nom suggère. Il vous permet d' interfacer quelque chose d'une manière particulière. Donc, quand quelque chose implémente une interface, vous avez en quelque sorte un, je veux dire, vous pourriez penser que c'est comme un contrat non écrit que tout ce qui se trouve à l'intérieur de cette interface a définitivement un certain mise en œuvre. Par exemple, je pourrais dire quelque chose comme, vous savez, juste ce nom était animal de compagnie, quelque chose comme ça, non ? Et ensuite, je peux simplement copier ça juste pour me disputer. Je vais aussi mettre en œuvre cela chez le chien ici. Donc je pédale et je vais juste ajouter ça, puis on va dire quelque chose comme s'il avait été rayé et égratigné derrière les oreilles, par exemple, non ? Et maintenant, ce que je peux faire, c'est plutôt que, par exemple, de faire une liste d' animaux, je pourrais, par exemple, aussi faire une liste d'iptables, n'est-ce pas ? Maintenant, nous avons ces animaux de compagnie qui évaluent la nouvelle ArrayList de cela, et nous pouvons les ajouter aussi, n'est-ce pas ? Les animaux domestiques ajoutent. Et puis disons simplement Benji, puis disons simplement des moustaches, n'est-ce pas ? Et maintenant, nous pouvons créer un zoo pour enfants si nous le voulions. C'est vraiment cool. Et ça n'a pas d'importance. Encore une fois, avec le polymorphisme, peu importe qu'ils soient sauvés en pétales. Une fois de plus, leur implémentation réelle est appelée Quand nous devions appeler, par exemple, Pets dot get one. Ensuite, ce qui se passerait, c'est que la mise en œuvre réelle est appelée moustaches a été corrigée au lieu des moustaches a été rayée derrière les oreilles. C'est en quelque sorte l'idée générale ici. Une fois de plus, les classes abstraites sont inter quelque sorte dans la même veine que l'héritage et le polymorphisme en général. où cela peut être un peu bizarre parce que dans ces exemples, il est parfois difficile de vraiment contourner l'idée. Encore une fois, essayer un tas de choses peut vraiment aider ou suivre les tâches, est également une entreprise valable. Mais sinon, pour le moment, ce sera pour cette conférence ici même. J'espère que vous avez trouvé cela utile et que vous avez appris quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 29. PROJET 3 : Jeu de Trivia avec des cours: Très bien, Bienvenue dans la troisième mission ici pour l'introduction de Java. Et il s'agit en fait d'une tâche assez simple. Comme vous pouvez le constater, ce n'est pas si long. Encore une fois, le temps qu'il faut pour faire cela peut être environ une heure environ, comme généralement une estimation très conservatrice. Il y a donc un peu de marge de manœuvre, ils sont peut-être en mesure de le faire en 30 minutes, non ? Ne vous inquiétez pas du tout. Mais pour le moment, passons par ici. Jeu de trivia avec des classes et des objets. Une fois de plus, nous voulions le même jeu de questions que celui que nous avons fait lors des deux dernières missions. Je veux essentiellement que vous modifiiez les jeux trivia qu'il utilise également les classes. Maintenant, cela peut être de n'importe quelle manière, forme ou forme qui pourrait être le cas. Pensez à la façon dont vous pourriez créer des classes personnalisées qui, vous savez, sauvegardent les réponses et les questions peuvent être ensemble. Vous pouvez peut-être utiliser une liste, quelque chose comme ça. C'est vraiment à vous de décider comment structurer cela. Mais réfléchissez simplement à la façon dont vous pouvez rendre cela plus facile avec les classes et les objets, puis essayez cela. Bien sûr, une fois de plus, la solution sera à votre disposition une fois que vous aurez terminé, je vous suggère fortement de prendre une fissure et de vraiment essayer cela. Et je suppose que je vous verrai dans la solution. 30. SOLUTION 3 : Jeu de Trivia avec des cours: Très bien, Bienvenue dans la solution pour la troisième mission ici. Et bien, je veux dire, je suppose que nous allons juste jeter un coup d'œil. Vous pouvez voir que je n'ai en fait que deux classes, une classe de jeu trivia et une classe trivia. Et la classe de jeu trivia contient essentiellement toute la logique et la boucle de jeu. Et la classe trivia contient les questions et les réponses. Jetons donc un coup d'œil à la classe triviale. Tout d'abord, permettez-moi de zoomer un peu ici pour que nous puissions voir que j' ai une question de chaîne, une réponse de chaîne et juste un constructeur qui transmet ces deux variables de réduction ici. Et puis j'ai un tas de méthodes ici, bonne réponse est fondamentalement un booléen et s'assure également que tout est en minuscules. Donc l'entrée est réellement mise en minuscules, cependant, que vous pouvez mettre en majuscules et elle compte toujours comme la bonne réponse. Nous avons ici la question imprimée, la réponse imprimée. Nous avons également validé la réponse qui apporte une réponse, Hé, c'était une réponse correcte, ou c'était une réponse incorrecte. Et c'est à peu près la classe trivia. Encore une fois, si cela ne ressemble pas exactement vôtre, c'est tout à fait très bien. Ce n'est qu'un exemple de la façon de procéder. Et puis il en va de même pour le taux de jeu trivia. Nous avons ici une liste de trivia. Ce sont donc toutes les questions essentiellement qui sont peuplées ici. Donc, c'est ce qu'on appelle, désolé, dans la méthode de démarrage du jeu, n'est-ce pas ? C'est donc la première chose qui se passe, liste de trivia peuplée. Et c'est le beignet ici où nous avons juste une nouvelle ArrayList et ensuite nous ajoutons un tas de ces triviaux à cette liste ici. Et c'est vraiment cool car cela peut maintenant être fait via une lecture, à partir d'un fichier ou, vous savez, en téléchargeant des trucs depuis Internet. Cette méthode pourrait donc très facilement être remplacée par autre chose. Et c'est vraiment la puissance lorsque vous faites cela séparément dans ces classes, juste avant que nous ayons ces variables de chaîne individuelles, il n'y avait aucun moyen de changer cela très facilement. Dans ce cas, nous pourrions modifier cette base de données en bois sur cela. Vous pourriez mettre, comme je l'ai dit, quelque chose sur Internet. Vous pouvez faire presque n'importe quoi, lire à partir d'un fichier. Et c'est vraiment ce que vous voulez faire avec les cours. Vous voulez créer ce genre de générique dans le sens où vous pouvez très facilement y ajouter et soustraire des éléments. En général, ajoutez, bien sûr, non ? Et puis il y a un tas d' autres choses ici aussi, non ? La boucle de jeu est donc la principale chose où nous avons cette boucle infinie ici, juste là où nous passons simplement en revue chacune des questions, validant les réponses en obtenant l' entrée de l'utilisateur, puis le score si la réponse est réellement correcte. Ensuite, nous allons simplement imprimer la partition après chacune des questions. Puis à la fin, nous demandons : Hé, devrions-nous abandonner le jeu ? Et si l'utilisateur dit oui, il suffit de s'en sortir et d'imprimer le score final à la fin de la partie. C'est plutôt cool. Toutes choses considérées, c'est à peu près tout ce dont vous avez vraiment besoin. Encore une fois, si votre réponse est différente, ne vous inquiétez pas du tout. Mais j'espère que vous avez cette réponse que vous pourrez aborder et essayer de comprendre, d' accord, eh bien, comment pourrais-je faire cela ? Pourquoi cela a-t-il été fait ? Vous savez, les méthodes, ok, c'est des cours très intéressants. C'est en quelque sorte l'idée ici. Mais pour cette solution, ce serait ça. Et j'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 31. DÉSIGN° 4 : Système de gestion de banques: Très bien, Bienvenue dans la quatrième mission ici pour l'introduction de Java. Et dans cette mission, vous êtes censé créer un système de gestion bancaire. Dans l'ensemble, cela peut tout d'abord sembler très compliqué, mais pas de soucis. Je vais vous guider dans l' idée que j'ai eue ici. Le système de gestion bancaire devrait donc comporter quelque chose comme ces éléments, une personne, une banque et un compte courant. Et puis, pour ouvrir un compte courant, vous devriez passer par une banque, peut nécessiter un certain dépôt initial ici. Et les composantes ou classes individuelles dont vous avez droits selon lesquels une personne peut avoir un prénom, deuxième, un nom de famille et un âge. Peut-être que c'est quelque chose comme un numéro de sécurité sociale n' est pas nécessairement nécessaire, mais vous savez, quelque chose comme ça. Une banque peut avoir une liste de clients. Leurs comptes chèques peuvent représenter un dépassement maximal, quelque chose comme ça. Ensuite, un compte courant peut avoir la valeur actuelle et les méthodes pour retirer et déposer de l'argent dans l'ensemble. C'est en quelque sorte l'idée générale. Il y a plusieurs façons d'aborder cette question. Je suis donc très intéressé de voir ce que vous proposez. Et bien sûr, la solution sera encore une fois à votre disposition. Je pense que c'est probablement un peu plus difficile. J'imagine que quelque chose comme 1,5 heure est probablement préférable de réserver pour cela afin que vous puissiez vraiment creuser et essayer de comprendre et de faire quelque chose d'assez cool. Bonne chance. 32. SOLUTION 4 : Système de gestion de banques: Très bien, Bienvenue dans la solution pour la quatrième mission. Et comme vous pouvez le constater, nous avons trois classes différentes, peu près comme je l'ai dit dans la mission réelle. Et bien, passons par là. Nous avons donc un cours de personne assez simple, lu le prénom, le deuxième et le nom de famille, et un âge ou privé cette fois-ci, et essentiellement accessible via des ghettos ici. Et puis nous avons également un booléen ici, qui indique simplement si une personne est plus âgée que ce qui a été fourni ici, qui est très intéressant. Et le compte ici est également intéressant, n'est-ce pas ? Nous avons un identifiant équilibré, nous avons un numéro de compte. À ce stade, il n'est pas vraiment utilisé à ce point, mais il est très possible que vous puissiez faire quelque chose avec cela et ensuite aussi un titulaire de compte. Et cela est utilisé dans la banque pour obtenir un compte spécifique ici. On peut donc voir avoir une liste de comptes, n'est-ce pas ? Et la façon dont nous pouvons obtenir un compte est d'obtenir compte par personne. Mais c'est de cette façon que j'ai personnellement en ce moment les comptes ici. Et le reste, c'est à peu près le compte bancaire, n'est-ce pas ? Donc, si vous pouvez ouvrir ce compte, est-ce le cas ? Et cela valide essentiellement si quelqu'un 16 ans ou plus de 16 ans, et aussi si le dépôt minimum a été atteint ou non . Il y a en fait un petit bug ici, non ? Dans cette méthode, c'est très intéressant. Vous pouvez essayer de le trouver vous-même. Juste un peu un exercice intéressant aussi. Mais sinon, vous savez, dans l'ensemble, ce n'est qu' un exemple de cela. On peut juste jeter un coup d'oeil là-dessus, n'est-ce pas ? Donc, ce que nous allons avoir, c'est que j'ai du code ici, donc nano tech n'est pas assez vieux pour ouvrir un compte bancaire et dix, disons que les euros ou les dollars ne suffisent pas. Nous avons besoin d'au moins 150, puis nous obtenons le solde du compte de Maria, qui est 2000. Ensuite, essayer de retirer 3000 ne fonctionne pas parce que le montant du retrait est en fait 500 ou le dépassement en gros. Et c'est pourquoi cela ne fonctionne pas. C'est en quelque sorte l'idée générale ici. Encore une fois, il y a beaucoup de façons de faire si cela semble complètement différent du vôtre, mais vous travaillez toujours, c'est tout à fait très bien. qu'il en soit, j'espère qu'il s'agissait d'un exercice utile ou d'une deuxième affectation utile, vous terminez et je vous verrai lors de la prochaine conférence. Donc, oui. 33. Cours anonymes (Java): Bon, bienvenue dans l'introduction de Java ici pour la modélisation Minecraft. Et dans cette conférence, nous allons regarder la classe anonyme. Qu'est-ce qu'un cours anonyme ? Eh bien, quand on hérite de quelque chose, on repense à la classe de chiens, non ? Il avait un nom, juste, et hérité de la classe animale. Et maintenant, ce que nous pouvons faire, c'est par exemple que nous pouvons faire une personne ici, n'est-ce pas ? J'ai donc toujours la classe de personnes de la dernière affectation. Par exemple, le personnel est égal à une nouvelle personne, mais c'est tellement nano attaque et il y a huit ans, disons juste pour discuter ici. Maintenant, tout va bien. Si maintenant je voulais une classe qui prolonge cette classe de personnes, qui est un manager. Maintenant, la seule chose que nous allons faire est de faire en sorte que lorsque vous obtiendrez le nom complet, vous obtiendrez également le nom comme Manager imprimé . Bon, alors, comment pourrions-nous faire ça ? On va faire un nouveau cours, non ? Et tout ça. Disons simplement que nous n'avons vraiment besoin que de celui-ci. Ce que nous pouvons faire, c'est que nous pouvons créer un cours anonyme. On peut donc dire que le gestionnaire de personnes est égal à une nouvelle personne. Mais disons simplement John Smith, non ? Disons 42. Et puis on met fin à ça. Maintenant, ce que nous pourrions faire au lieu de terminer cela par un point-virgule, une fois que nous aurons terminé, nous allons en fait faire un crochet sacré et finir le crochet bouclé final par un point-virgule. Vous pouvez voir qu' il n'y a pas de flèches ici. Parce qu'à l'intérieur d' ici, nous avons créé cette classe anonyme car c'est une classe qui étend la classe person. Cependant, il n' a pas de nom, il est donc anonyme. Et quand nous pouvons le faire , vous pouvez voir si je commence à écrire un substitut ici, je peux en fait remplacer tout ce qui se trouve à l'intérieur de la classe de personnes qui est surinscriptible. Préférez l'exemple, je peux dire nom complet et ensuite je peux dire quelque chose comme Manager, puis obtenir le nom complet. C'est donc maintenant ce que fait cette classe anonyme particulière. Et puis je peux, si je système la ligne d'impression, par exemple, nano dot obtenir un nom complet. Et puis je peux aussi faire la même chose pour le gestionnaire point GetName. Vous verrez que la nano-attaque va être une attaque nano. Et puis ce sera le manager John Smith parce que nous avons ajouté ce manager ici. Cet exemple n'est peut-être pas le plus illustrant. J'ai beaucoup de mal à vous montrer un exemple très illustratif de cours anonymes. C'est généralement plus loin que vous allez, vous savez, avec des interfaces, de l'héritage et des choses comme ça, cela devient très difficile si vous n'êtes pas dans un environnement réel où vous en avez réellement classes et quelques fonctionnalités. Mais c'est certainement quelque chose que nous verrons également dans la section modélisation du cours. Parce qu'il y a beaucoup de choses ici qui vont être nécessaires pour cela. Mais quel que soit le cas, au moins vous l'avez vu , même si nous n' allons pas entrer trop en détail ici, j'espère que vous avez trouvé cela utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 34. (Java) Enums et Enums avancés: Bon, bienvenue dans l'introduction de Java ici pour la modélisation Minecraft. Et dans cette courte conférence, nous allons examiner les énumérations et aussi les énumérations avancées, globalement, les énumérations, vous pouvez les considérer comme des types de données qui ont des valeurs prédéfinies, et vous ne peut attribuer ces valeurs qu'à cette variable réelle. Alors, créons, par exemple, une énumération de difficulté, n'est-ce pas ? Nous pouvons donc en faire une classe et ensuite simplement changer cela pour enum ici. Et ensuite, la façon dont une énumération est essentiellement structurée, c'est qu'elle possède les valeurs réelles qu'elle peut prendre juste à l'intérieur de celle-ci. Par exemple, facile, moyen et difficile, par exemple, comme les difficultés d'un jeu pourraient l'être. Et puis, pour créer une nouvelle variable pour cela, c'est à peu près une fois de plus une difficulté. Alors appelons cela la difficulté du jeu, n'est-ce pas ? En dessous comme ça. Et ensuite, c'est égal à 2. Attribuez ceci, vous pouvez voir un point de difficulté, puis nous avons simplement ces trois valeurs comme options possibles. Disons donc simplement de difficulté moyenne ici. Et nous pouvons normalement simplement réattribuer ce droit ? Encore une fois, la difficulté est égale à 2. Difficulté, difficulté difficile par exemple. Et puis deux. Par exemple, nous pouvons également faire des déclarations IF à partir d' un jeu rétro, la difficulté est égale, égale. Maintenant, cela équivaut à quelque chose, par exemple, difficulté facile. Et ensuite, nous faisons quelque chose ici. C'est donc à peu près tout ce que c'est pour les enums normaux. Et il y a quelque chose d'intéressant pour ce que j'appelle des énumérations avancées. Pour cela, nous allons créer une nouvelle classe Java. Encore une fois, c'est le niveau d'outils, et qui va également être renommé en énumération ici, je vais en fait copier certains éléments de l'autre moniteur ici. Donc, bien sûr, cela est également disponible pour vous, un référentiel GitHub ou ajustez également. Vous pouvez voir que bien qu'il s'agisse d'une énumération, il y a un constructeur ici et nous avons quelques taux de champs. C'est très étrange. Oui. L'idée est donc que vous pouvez définir des énumérations. Bien sûr, il s'agit d'une énumération de diamants. Et juste pour des exemples généraux ici. Et ce qui est cool, c'est que ces derniers fonctionnent exactement de la même manière que les autres. Je peux donc dire qu'un niveau à deux niveaux est égal, disons, par exemple, le diamant de l' infobulle, n'est-ce pas ? Et ce que je peux alors très facilement faire, c'est que je peux dire niveau de ligne d'impression système, par exemple, multiplicateur de balise git, qui m'obtient ensuite le multiplicateur d'attaque de tout ce que le niveau a été affecté. Je peux donc avoir une, je ne veux pas l'appeler nécessairement parce qu'une liste est un peu différente, mais vous pouvez avoir des valeurs prédéfinies dans cette énumération ici, dans cette énumération. Il s'agit donc de l'énumération et vous pouvez également y accéder. Donc, en fait, cela finira vraiment, peut être vraiment utile. Et nous verrons certainement cet exemple lorsque nous fabriquons des outils, outils personnalisés ou Minecraft. C'est certainement quelque chose que nous allons voir. Mais sinon c'est à peu près tout pour les énumérations. Je voulais juste vous montrer ceci et mentionner que vous l' avez déjà vu auparavant. Sinon, ce serait le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile dans les neurones du nouveau, et je vous verrai lors de la prochaine conférence. Donc, oui. 35. Exceptions de Java): Bon, bienvenue dans l'introduction de Java ici pour la modélisation micro-ondes. Et dans cette conférence, nous allons jeter un coup d'œil aux exceptions et à l'énoncé « try and catch ». Donc, dans l'ensemble, ce n'est pas le sujet le plus intéressant, ni quel sujet le plus excitant ? Cependant, il peut être assez important . Néanmoins. Bien que des exceptions, nous en avons vu quelques-unes. Par exemple, quelque chose comme IndexOutOfBoundsException et NullPointerException. Il y avait donc quelques exceptions que nous avons déjà vues qui ont été lancées par le code réel. Et ce que nous allons faire, c'est que nous allons maintenant lancer notre propre exception personnalisée. Par conséquent, dans notre package, nous allons créer une nouvelle classe, qui est l'exception de test, car cela nécessite vraiment que nous ayons une exception de test ici. Nous allons simplement étendre la classe des exceptions ici. Et je vais en fait copier les deux constructeurs dont nous aurons besoin ici pour cela. Donc, bien sûr, tout cela est disponible dans le dépôt GitHub ou sous tension. Nous allons avoir un scanner où nous pourrons un scanner où nous pourrons simplement numériser rapidement certains systèmes de trucs ici. Et ensuite, nous allons simplement sauvegarder ce qui suit. Nous allons donc dire suivant int, et nous allons simplement enregistrer quelque chose dans un entier ici. Et juste par souci d'argumentation, ce que nous allons faire, c'est que nous allons lancer cette exception lorsque nous transmettons un chiffre 0 dans une méthode spécifique ici. Donc, privé, statique, vérification nulle pour 0. C'est très simple dans le chiffre. Et ce que nous allons juste faire, c'est nous allons dire si le nombre, si le nombre passait des valeurs résiduelles, alors ce que nous allons faire, c'est que nous allons lancer une nouvelle exception. Comment pouvons-nous faire cela ? Nous allons écrire une nouvelle exception de test, puis nous allons juste dire que le nombre est 0. Par exemple, quelque chose comme ça. Et c'est à peu près tout ce que nous devons vraiment faire ici. Ce que vous voyez, c'est que cela génère une erreur ici car Ajouter une exception à la signature de méthode. Nous devons donc avoir cela à cette méthode ici. Nous devons donc ajouter l'exception de test throws à la signature de la méthode, sinon cela ne fonctionne pas. Et si j'appelle ça maintenant, non ? Donc, si je vérifie 0, je, ce que vous verrez, c'est que cela doit également être ajouté à la méthode principale parce que cela n'est pas géré correctement, donc nous ne gérons pas cette exception. Donc, ce que vous pouvez faire, c'est que nous allons juste exécuter ça. Et si, par exemple, j' en tape un ici, rien ne se passe. Le programme se termine normalement si je mets un 0, vous pouvez voir l'exception et nombre de threads principaux et votre exception de test, chiffres très intéressants 0. Et ensuite, vous pouvez même voir où cela a été appelé, n'est-ce pas ? Voici donc, d'abord puis ici , l'exception qui a été lancée. C'est donc très intéressant. Tout d'abord, commentons cela et débarrassez-vous de la section artistique là-haut. Et ce que nous pouvons faire maintenant, c'est que nous pouvons dire, par exemple, disons que z est égal au point du scanner suivant int. Ou en fait, sautez le moi ici pour ça. C'est très bien. Nous pouvons maintenant faire une déclaration d'essai. Ce sera donc un essai avec les crochets bouclés. Et là, il va y avoir une prise avec une exception e à l'intérieur. Et il s'agit essentiellement de gérer une erreur, n'est-ce pas ? L'instruction try and catch est donc là pour gérer une erreur. Nous allons donc essayer ça ici. Faites une vérification pour 0 I. Et si une exception est détectée ou lancée, n'est-ce pas ? Et nous pouvons l'attraper ici. Et ensuite, nous pourrons faire quelque chose avec ça. Par exemple, nous pouvons simplement simplement faire quelque chose comme ça. Donc, obtenez un message juste pour l'instant, en gros, imprimez simplement ce qui se passe réellement ici, n'est-ce pas ? Donc, l'exception réelle, il y a bien sûr d'autres choses que vous pourriez vouloir faire ou devoir faire si une exception est détectée. Et puis vous avez enfin ça ici, ce que nous allons faire comme suit. Nous allons simplement imprimer enfin, juste pour voir que cela est imprimé, puis nous allons en fait copier la copie. Et cela va se produire, cela arrive toujours. Mais maintenant, ce qui est intéressant, c'est que lorsque vous gérez correctement les exceptions avec une instruction try and catch ici, alors ce qui se passe, c'est que le programme ne brise pas simplement ou qu'il ne se limite pas à sa fin, elle se poursuit en fait. Donc ce que vous pouvez voir, c'est que tout d'abord, quand j'appelle, quand je mets un 1 par exemple, n'est-ce pas ? Donc, un jour, vous y allez enfin, et cela arrive toujours. Ainsi, comme vous pouvez le voir, il est toujours froid et on appelle toujours cela aussi, n'est-ce pas ? Et ce qui est intéressant, c'est que lorsque l'exception est lancée, vous pouvez voir que nous imprimons le message. Mais enfin, ça arrive toujours. Et le, vous savez, cela arrive toujours, il arrive toujours. Le reste du programme continue donc. Ce qui est très important, c'est qu'en général, vous voulez que votre code échoue aussi fort que possible simplement parce que vous voulez voir les erreurs très tôt. C'est pourquoi il peut être utile de lancer des exceptions. Maintenant, accordé dans la modélisation par micro-ondes, est très peu probable que vous deviez le faire, surtout au début, n' est-ce pas ? Je veux dire, pour la plupart, je suppose pour les débutants, n'est-ce pas ? Cela ne sera pas très important pour les débutants. C'est bien plus pour les personnes avancées. Quand tu es vraiment assis là, tu es comme, Ok, je vais faire comme un mode géant maintenant, non ? Je veux faire comme la prochaine expansion thermique, disons à ce niveau quelque chose comme ça, puis faire quelques exceptions personnalisées. idée très intelligente, définitivement. Mais quel que soit le cas, c'est tout pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 36. (Java) Expressions Lambda: Bon, bienvenue dans l'introduction de Java ici pour la modélisation Minecraft. Et dans cette conférence, nous allons jeter un coup d'œil à une expression lambda. Les expressions lambda peuvent donc être très compliquées. Je veux juste vous donner un très bref aperçu de ceux que nous avons et de ce que sont les expressions lamda. Donc, en général, et les vétérans optent pour trois méthodes. Il s'agit essentiellement de fonctions ou de méthodes en tant que variables. Maintenant, c'est plutôt cool quand on y pense. Et nous allons jeter un coup d'œil à ces cinq dans des détails très, très clairsemés. Nous n'allons donc pas entrer dans les détails du tout. Je veux juste que vous ayez vu ces n pour stocker ça à l'avenir. Parce que surtout dans la modélisation 4D, c'est quelque chose qui est très important en fait dans le tissu, pas tellement, eh bien, quel que soit le cas. Ainsi, un fournisseur, par exemple, ici, est quelque chose qui n'a pas de paramètres mais une valeur de retour. Et ça pourrait être écrit quelque chose comme ça, non ? Donc, aucun paramètre entre parenthèses et une flèche, puis le x peut être ce qui est renvoyé. Vous pouvez voir le fournisseur de type entier qui signifie qu' un entier est renvoyé. Et c'est à ça que ça ressemble. Ce qui est cool, c'est que cela signifie également parce que lorsque nous pouvons en faire une variable, nous pourrions également la transmettre dans une méthode, ce qui signifie que nous pourrions, nous pourrions passer ces fournisseurs là-dedans, qui peuvent avoir des fonctionnalités différentes. C'est donc assez cool en fait, cela est également utilisé pour payer beaucoup de programmation ou la modélisation forcée, surtout parce que lorsque le fournisseur, lorsque vous avez quelque chose à l'intérieur, c' est appelé uniquement lorsque la méthode GetMethod ici est appelée. Vous pouvez donc retarder chargement de certaines variables et d'autres choses comme ça. C'est à peu près l'étendue de mes connaissances dans ce domaine également. Donc, nous n' allons pas trop y aller. Et après avoir corrigé cette erreur ici par mètre, bien sûr, non ? Ainsi, le consommateur dans le nom consomme vraiment un paramètre mais ne renvoie pas de valeur. Voici un exemple pour le consommateur pour une chaîne, qui est simplement l'endroit où vous transmettez une chaîne, puis il fait quelque chose avec cette chaîne. Un objet exécutable n'est ni périmètre ni valeur de retour. Très semblable à un fournisseur, cependant, il lance une exception, donc un appel, il est possible que cela appelle également un renversement une exception. C'est l'idée générale. Vous pouvez également toujours survoler cela et vous pouvez trouver un très beau résumé de ce qu'ils sont réellement, n'est-ce pas ? Donc, ici, nous appelons l' appelable dans ce cas, alors un exécutable est quelque chose qui n'a pas de paramètres ni de valeur de retour. Ensuite, une fonction est littéralement comme une fonction qui mappe une certaine entrée à une certaine sortie est juste la fonction du cercle, essentiellement où je n' ai que le pi ici. Mais c'est à peu près tout ce qu'il y a vraiment à faire. Donc, dans l'ensemble, comme je l'ai dit, je voulais vraiment que tu traverses ça une fois que j'ai déjà vu ça, quand je dis, Hé, on va faire un fournisseur que tu ne seras pas assis là et que tu es comme, Oh, je n'ai aucune idée de ce que c'est. Non. Un fournisseur est essentiellement un type de données qui, en quelque sorte, enregistre plus ou moins dans une fonction ou une méthode. Ce n'est pas tout à fait cela, mais c'est très proche , de sorte que, vous savez, surtout pour les débutants, il suffit d'y penser comme ça. Quoi qu'il en soit, c'est en fait cela pour cette conférence ici. Je sais que c'était très court, mais comme je l'ai dit, il s'agit en fait d'un très bref aperçu plutôt que d'en expliquer vraiment tous les détails. Mais j'espère toujours que vous avez trouvé cela utile et que vous avez appris quelque chose de nouveau. Je vous verrai lors de la prochaine conférence. Donc, oui. 37. Généraux de Java: Très bien, revenez à l'introduction de Java ici pour la modélisation Minecraft et pour cette dernière conférence de la section d'introduction de Java, nous allons jeter un coup d'œil sur les génériques. Les génériques, bien sûr que nous les avons déjà vus auparavant, non ? Une liste était générique, par exemple, où nous pouvions insérer un entier comme n'importe quelle classe, et en comme n'importe quelle classe, gros avoir les nombres, par exemple, avec une nouvelle ArrayList ici. Donc, tout a fonctionné très facilement et très bien. C'était bien, assez simple. Mais si nous avons des génériques que nous voulons utiliser nous-mêmes pour cela, nous allons créer une nouvelle classe ici. Nous allons juste être la classe des paires. Et vous pourrez y enregistrer deux valeurs différentes. Nous allons donc simplement créer ces crochets, puis X, Y. Et l'idée est que X et Y sont maintenant des espaces réservés pour certains types de données. Nous allons donc avoir un x carré privé en premier et un mensonge privé appelé deuxième, non ? Et c'est, l'idée est que vous devez maintenant penser à cela comme, d'accord, ce sont des génériques, ce qui signifie que ce ne sont que des espaces réservés, comme je l'ai dit, n'est-ce pas ? Et nous allons simplement générer un constructeur pour cela. Donc, cliquez avec le bouton droit sur générer un constructeur. Et puis pour les deux, nous allons juste lire le constructeur. Et en fait, nous allons également faire clic droit sur Générer des getters et des setters pour les deux. Et voilà que tu y vas. C'est essentiellement la classe entière déjà terminée. Et vous pouvez voir qu'il utilise toujours le x et le y, car ce ne sont essentiellement que des espaces réservés pour les valeurs de données réelles ou les types de données utilisés. Ce qui est très intéressant, ce que vous pouvez également faire, c'est que vous pouvez dire qu'un certain type de données s'étendra à partir d'un autre. Nous pouvons donc, par exemple, dire étendu float, ce qui signifie que le y doit maintenant étendre le float, ce qui signifie qu'il peut s'agir soit d'un flotteur, soit n'importe quelle autre sous-classe de cette classe définie ici. C'est également très intéressant. C'est quelque chose que vous pouvez faire et cela se fait également dans la modélisation Minecraft. Et ce que vous pouvez faire aussi, faisons juste une nouvelle paire ici, n'est-ce pas ? Par conséquent, la paire, disons qu' ils sont comme un entier, un entier float pour le moment, comme ce terme égal à une nouvelle paire d'entre eux. Nous allons en dire quelques-uns comme 2250,55. Bien sûr, c'est bon. S'assurer que c'est un f ici, alors ça devrait fonctionner. là que tu y vas. Cela fonctionne maintenant très bien. Et ce que vous pouvez également faire, au lieu de transmettre une certaine valeur réelle ou un certain type de données, vous pouvez également en faire un point d'interrogation. Et puis le générique va en quelque sorte le comprendre. C'est ce qu'on appelle un générique générique. Nous n'allons pas trop entrer dans les détails à ce sujet. C'est quelque chose que vous verrez également un peu dans la modélisation Minecraft. Cependant, c'est qu'il n'y a pas vraiment besoin de comprendre cela. C'est entièrement parce que les génériques sont certainement quelque chose de bien avancé, comme un sujet très avancé qui, même comme programmeurs qualifiés, n'aime pas beaucoup d'entre eux, ne le comprennent même pas. Comme si je ne m'incluais pas dans cette description, par exemple, je connais les génériques assez bons pour que je puisse en gros m' occuper d'eux. Cependant, faire moi-même comme un vrai cours générique, je serai honnête, c'est très, très dur, non ? C'est donc un sujet très compliqué, donc pas de soucis. Je voulais juste mentionner cela et je voulais que vous sachiez que cela existe et que vous pouvez également créer vos propres génériques. Mais ce serait tout pour l'introduction de Java dans cette section du cours. J'espère que vous avez trouvé cela utile et que vous apprendrez quelque chose de nouveau si vous êtes un débutant complet, j'espère que vous avez maintenant la base Java aurez besoin pour continuer avec le micro-ondes modélisation. Bonne chance pour vous, et j'espère que vous apprécierez la section microbiotique de ce cours. 38. (Principes de base (Minecraft Installation et configuration et GitHub: Très bien, Bienvenue dans la partie microbe pour le cours Forge 118. Et dans cette conférence, nous allons tout télécharger et configurer l'environnement de développement pour qu'il puisse démarrer le modèle microbes. Que vous ayez regardé ou non l'introduction de Java, nous devrons télécharger le JDK 17 cette fois. Parce que, parce que Minecraft 118 et il allait probablement utiliser grotte et un adolescent prêt ici. Une fois de plus, j'ai lié l'adopter ici. Il vous suffit de télécharger la dernière version, en vous assurant que vous êtes sur le tamarin est 17 ici. Si vous êtes sur un autre, il devrait en théorie détecter votre système d'exploitation et tout cela. Sinon, vous pouvez toujours accéder aux autres versions, puis choisir votre système d'exploitation et votre architecture, et tout ira bien. Je recommande sur Windows de télécharger simplement le MSI et ensuite installer sur votre PC comme n'importe quel autre programme. Une chose que je recommande vivement est de dire, oui, nous voulons que la variable Java home soit définie ici, car cela permettra d'économiser beaucoup de problèmes plus loin. Parce que lorsque la variable Java Home est définie une fois, elle nous simplifie un peu la vie après l'installation, nous avons également besoin d'un environnement de développement intégré IDE et nous allons y aller pour utiliser l'idée IntelliJ. Je recommande fortement de l'utiliser également, car sinon il pourrait y avoir des différences dans les bandes lesquelles ils doivent appuyer comme des raccourcis. Nous sommes également là où vous trouverez certaines choses dans votre environnement de développement. Vous allez choisir la version communautaire car elle est gratuite et basée sur l'open source. C'est donc parfait pour nous. Vous n'aurez rien à payer pour ça. C'est absolument gratuit. Il suffit de télécharger ceci et encore une fois, installer n'importe quel autre programme sur votre PC avant d'ouvrir jusqu'à aujourd'hui pour la première fois, nous devons maintenant télécharger micro Forge, dans ce cas pour un microbe 1800. Donc, si vous regardez cela à l'avenir, nous sommes peut-être déjà à cent, huit cent deux ou même une version supérieure. Qui sait ? Ce qui sera certainement plus élevé c'est cette version ici, maintenant nous sommes à 39,5 maintenant, c'est tout à fait très bien. Ce que nous allons faire, c'est que nous allons télécharger le NDK. Mais avant de le faire, un avis très important vient de l'avenir. Veuillez utiliser cent huit cent un au début du cours. Je le recommande vivement. Si vous ne faites pas cela et n'utilisez pas les deux années 1800, certaines choses ne fonctionneront pas comme les balises, l'élément avancé que nous allons utiliser essentiellement avec les balises et avec la génération mondiale. Maintenant, une fois que j'y arriverai, je veux y arriver très bientôt. Mais j'espère qu'à l'avenir, à la toute fin du cours, il y aurait une section qui aura lieu dans les années 1820, si vous le voyez réellement. Il suffit donc de jeter un coup d'œil à toutes les conférences. Et si vous voyez une section à la fin qui ressemble à 1182 mises à jour, vous pouvez y aller et passer par l'intégralité du cours. Et puis chaque fois qu'il y en a un certain, un sujet qui ne fonctionne pas comme des balises. Il s'agira des conférences sur les tags et de toutes les conférences de la génération mondiale. Ensuite, vous pouvez passer en revue tout le reste, aller à la fin du cours, les faire, puis continuer en arrière. Je recommande vivement que le meilleur choix soit de rester avec un XIXe siècle pour le moment puis de suivre tout le cours une fois, puis de le changer à 182 sera également une conférence que je ferai dans l'avenir à la toute fin du cours. Donc, pas de soucis là-bas. C'est juste une idée très intelligente. Sinon, bien sûr, vous êtes libre de le choisir, mais sachez que certaines choses ne fonctionnent pas de la même façon dans les années 1800 qu'en 181. Je voulais juste dire ça. Maintenant, revenons à tout mettre en place. À l'avenir. Vous aurez probablement deux fenêtres ici, une de celles qui est la plus récente puis recommandée, choisissez toujours la version recommandée actuellement, qui n'a pas encore été mise à jour vers une version suffisante. qu'ils disent essentiellement, Hey, c'est la version recommandée, ça ira bien, mais ce sera toujours le M-Cdk que nous voulons. Et puis ici, il suffit d'attendre cinq secondes avant de pouvoir télécharger le fichier zip. Ensuite, nous cliquons sur le bouton Ignorer en haut, puis sur le pare-feu zip télécharger. Je l'ai déjà préparé, donc j'ai mon fichier zip ici. Je vais donc faire un clic droit, puis extraire pour forger un nom fou ici. Et je vais aussi le renommer bien sûr, il y a 1800 ans. Ensuite, nous pouvons supprimer le fichier zip ici. Il s'agit du contenu du dossier du projet ou de celui que vous allez avoir. Et ce que nous pouvons faire, c'est que nous pouvons supprimer tout cela, les crédits, le verrou de changement, la licence et le Redmi parce qu' il y a spécifique à forger étaient en fait ou personnellement, je vais avoir le mien. et tout cela juste un peu après la configuration, nous pouvons maintenant démarrer l'intelligence pour la première fois. Maintenant, la fenêtre avec laquelle vous serez accueilli sera probablement un peu différente de vous. Cependant, vous aurez certainement trois boutons, le bouton Nouveau projet, le bouton Ouvrir, et ils proviennent du bouton VCS. Nous voulons cliquer sur le bouton Ouvrir et accéder à ce répertoire. Donc je peux aussi le copier, mettre ici, puis choisir ce dossier ici, où les dossiers sources à l'intérieur celui-ci disent d'accord, nous allons dire que nous allons dire que nous faisons confiance au projet, alors une nouvelle fenêtre s'ouvrira. Maintenant, les choses vont commencer à se produire en arrière-plan. Vous pourriez avoir des erreurs, vous pourriez avoir quelque chose de rouge ici. Ne vous inquiétez pas à ce sujet. Nous allons tous les réparer étape par étape, de même qu'un avertissement ici, vous pouvez voir le rouge, cet avertissement ici. Tout va bien. Laissez simplement passer ça. Soit nous allons être construits en échec, soit une construction réussie. L'un ou l'autre en ce moment est tout à fait parfait pour nous. Très bien, regardez ça. J'ai eu une construction réussie ici, c'est tout à fait très bien. Comme je l'ai dit, si un projet de loi échoue, nous allons passer par là et voir ce que nous pouvons fondamentalement changer. Il y a quelques mesures que nous devons prendre , peu importe ce qui se passe. Donc ce que nous voulons faire est numéro un, vous voulez aller dans Fichier, puis à la structure du projet, nous voulons nous assurer que dans le SDK du projet , il est indiqué 17e. Nous voulons donc choisir le JDK que nous venons d'installer. Il en va de même pour le projet de langue. Cela devrait être 17. Nous allons cliquer sur Appliquer et dire, OK, nous allons également aller dans les paramètres pour construire le déploiement d'exécution, outils intégrés Gradle, et nous assurer qu'il est indiqué ici avec le kit SDK de projet avec 17. Ces étapes sont extrêmement importantes. S'il vous plaît, assurez-vous que tout est correct ici. Une fois cela fait, il y a une autre modification que nous devons faire. Vous voyez si j'ouvre le dossier Java ici, vous pouvez voir que tout est en quelque sorte réparti ici. Si l'intelligence est ouverte pour la première fois, cela pourrait ressembler à ceci pour vous de simplement passer à l'équipement ici. S'assure que les emballages aplatis et les boîtiers intermédiaires compacts sont désactivés. Et ensuite, ça va ressembler exactement à ça ici que pour moi en ce moment. Tout ici s'est déroulé correctement, c'est génial. Donc ce que nous allons faire, c'est que nous allons ouvrir le terminal ici et nous allons mettre en barre oblique Gradle w Gen Intel J tourne juste là. Et puis nous allons appuyer sur Entrée et le laisser passer pour cela, il suffit télécharger un tas d'autres choses et s'assurer que tout est fait correctement. Et ensuite, nous allons construire avec succès. Si vous avez réussi une première pilule, cela ne sera peut-être pas toujours nécessaire. Cependant, c'est génial de le faire. Et maintenant, nous allons changer certaines choses. Mais tout d'abord, nous allons ouvrir le fichier DOD Gradle intégré. Ensuite, vous voyez ici une version du groupe et une base de noms d'archives. Mais la version, eh bien, mettons juste quelque chose comme 0.01. Et puis généralement, ce qui est conseillé, c'est de mettre quelque chose qui dit aussi la version micro. Je vais donc dire ma version de 0.01 puis tiret 100,801 car bien sûr nous sommes dans 181 maintenant, le groupe ici est le même que les noms de notre structure de paquets. Donc, pour moi, ça va être net et Joe Mc va bien sûr. Pour vous, ce serait net ou calme votre nom. Par exemple, vous pouvez également choisir le cours MC, ou si vous avez un autre modèle, vous pouvez bien sûr choisir une mélodie différente. Ici, nous prenons simplement notre idée de modèle, et cela résume à peu près tout ce dont nous avons besoin ici. Je n'ai vraiment pas besoin de changer autant. Ce que nous ne pouvons pas changer le sien ici, vous pouvez voir le mode exemple. Il est écrit ici que nous pouvons simplement sélectionner cette touche d'appuyer sur Control R, puis de le changer en cours MC. Vous pouvez voir qu'une nouvelle fenêtre apparaîtra en haut. Et puis nous pouvons essentiellement mettre exemple Mater dans le cours supérieur mc ici et ensuite simplement dire remplacer tout cela essentiellement partout où il dit exemple mod dans ce fichier, il remplacera par le cours EMC. Et ce que nous pouvons faire , c'est que nous pouvons charger les plus grands changements en appuyant sur le petit éléphant dans le coin supérieur droit comme vous l'avez vu. Et puis ça va se passer à nouveau. Cela ne devrait pas prendre autant de temps que la première fois qu'ils vont Bien réussir en neuf secondes, c'est génial. Et puis nous allons changer d' autres choses et changer autres choses que nous ferons dans la classe de mod exemple. Parce que ce qui se passe ici, c'est que, en gros, nous n' avons pas de mode exemple. Ce que nous avons, c'est que nous avons une corde de coton filet, un cours MC ou un filet votre nom, cours MC. Donc ce qu'on va faire, c'est en haut du paquet, on va dire net out et Joe Dot MC. Bien sûr, cela est marqué par un soulignement rouge et nous allons survoler ça et dire Déplacer au filet Cotton Joe MC cours Je vais dire oui. Ensuite, vous verrez apparaître une nouvelle structure de paquets ici. Nous pouvons donc maintenant supprimer le reste vide. Ensuite, nous voulons renommer cette classe. Ce que nous pouvons faire, c'est que nous pouvons cliquer dessus, appuyer sur Maj F6, puis nous allons nommer ça le mod de cours MC il y a un jour. Maintenant, il est très important que cette classe, le cours MC mock class, il se réfère plus tard comme une sorte de classe principale ou de votre classe de mod principale. Donc, si jamais je dis que c'est ce que je veux dire, alors nous arrivons au MOD ID. La pièce d'identité est très importante. Alors, écoutez attentivement. L'ID MOD ne peut contenir que des minuscules. L'ID de format est essentiellement un identifiant unique pour votre MOD. Et ça va arriver souvent dans le futur. En haut de l'AdMob, vous pouvez voir que nous avons une chaîne ici. Ce que nous allons faire, c'est que nous allons sélectionner la chaîne entière avec les guillemets. Nous allons cliquer avec le bouton droit de la souris. On va refacturer. On va dire introduire constant. Je vais appeler ça l'ID de soulignement du mod. En fait, je vais copier ça en haut ici. Celui-ci sera utilisé de nombreuses fois à l'avenir. Et c'est pour le cours US MC. Je recommande vivement de rester avec ça et de mettre la même chose ici. Il s'agit d'un cours MC très important tous écrits en minuscules. Cela doit également correspondre dans le dossier des ressources, méta-nième mode Stato Mo. Et vous pouvez voir ici mod ID, cela doit également correspondre. C'est extrêmement important, très important ici. Nom complet, disons par exemple, le mod de cours moderne Minecraft. Quelque chose comme ça propose que diriez-vous de la ligne de coton ? Tout cela ne sont pas nécessaires, mais c'est juste un Idéalement, vous n'avez pas forcément à le mettre. Laissez-moi aussi changer la licence au MIT juste au cas où et l'ego. C'est donc l'idée générale de tout mettre en place. Vous devrez changer ce fichier intime Tom o star. Et ici, c'est très important. Et généralement, cela devrait résoudre presque tout ce que vous avez. Une fois de plus, assurez-vous vérifier la structure du projet dans les paramètres. Et après avoir changé tout ça, courir, la barre oblique Gradle, Jen intelligent s'exécute. Et après que vous ayez fait cela, nous sommes à peu près mis en place. C'est à peu près tout ce que nous devons faire pour la configuration. Ou maintenant, nous pouvons aller en haut à droite dans l'onglet Gradle ici, développer les tâches et le rail de forge, puis double-cliquez dessus, exécutez un client. Voyons si Minecraft démarre pour la première fois. C'est l'étape la plus importante. En gros, ce que je suis très sûr que cela fonctionnera bien. Vous y allez. La fenêtre s'est déjà ouverte et voyons probablement entendre le son très bientôt. Et nous y sommes. Laissez-moi d'abord éteindre immédiatement la musique et le volume. Il y a eux. Dans nos modes, vous pouvez voir le modèle de cours moderne du microbe. Il existe actuellement la version du cours MC 0 car nous ne l'avons pas définie correctement dans le fichier HTML mos dot. Mais c'est à peu près tout ce que vous devez faire. Si vous atteignez ce point et que Minecraft a ouvert ses portes. Eh bien, bienvenue à forge matin. Ce sera un voyage génial et génial, j'en suis sûr. Et la prochaine chose que nous allons faire est de configurer le référentiel GitHub pour ce projet. Je vous recommande fortement de ne pas sauter l'étape car le référentiel GitHub m' aidera à vous aider dans les questions-réponses. Par exemple, si vous me fournissez simplement , votre dépôt GitHub pourra vous aider beaucoup plus rapidement plutôt que si vous dites simplement : « Hé, j'ai eu cette flèche. Cela rend donc notre vie un peu plus facile. Je recommande donc fortement de configurer également un référentiel GitHub. Nous allons passer par les étapes maintenant. Ce dont vous aurez besoin, c'est un compte GitHub, mais c'est entièrement gratuit et je vous recommande vivement de le faire. C'est un outil utilisé par presque tous les programmeurs. Il existe différents sites Web, mais GitHub en soi est très réputé et je recommande vivement de l'utiliser également. Donc, après avoir créé un compte, ce que nous pouvons faire en mode intelligent, c'est que nous pouvons aller au VCS ici et nous pouvons dire partager un projet sur GitHub. Et puis vous verrez que je vais appeler ça le cours de forge le 18. C'est très bien. Je vais personnellement rendre ça privé. Si vous voulez le partager, vous ne pouvez évidemment pas le rendre privé. Et maintenant, si je clique sur le bouton Partager, vous pouvez voir, hé, le compte est vide. Nous allons ajouter un nouveau compte. Et ce que je dirai, c'est que je vais me connecter via GitHub. Je peux cliquer dessus et cette fenêtre s'ouvrira, il suffit de dire autoriser GitHub. Et comme je suis déjà connecté à GitHub ici, cela a maintenant autorisé et vous pouvez voir chair by github.com slash coulomb joule. Maintenant, nous allons dire Partager et un tas de nouvelles choses s'ouvriront ici, vous pouvez voir Ajouter des fichiers, des meubles, des commits. Nous allons dire, bien sûr que c'est très bien. Et ensuite, vous pouvez voir qu'il est réellement partagé sur GitHub et c'est en fait tout ce que vous devez faire. Je peux maintenant cliquer dessus et il devrait ouvrir le référentiel GitHub. Et c'est là. Ce référentiel GitHub sera également disponible pour vous. Au fait, c' est très important. Chaque conférence sera divisée en différentes branches afin que vous puissiez facilement voir et comparer avec ce que vous avez écrit. J'aurai également des idées individuelles pour chaque conférence. Donc, pas de soucis. Tout le code sera disponible sous une forme qui vous sera très utile si vous effectuez une modification ici. Par exemple, je vais dire quelque chose comme un commentaire très important. Vous verrez que le fichier où se produit le changement devient bleu. Et puis ce que je dois faire, c'est que je dois aller cet onglet de validation ici, je devrai sélectionner toutes les modifications que je veux valider. Je dis ensuite qu'il y a ajouté un élément important. Ce n'est donc qu'un nom de ce qui s'est passé. Et je cliquerai sur Commit. Maintenant, d'habitude, vous pourriez aussi avoir, hé, j'ai reçu 63 avertissements. Êtes-vous sûr de vouloir vous engager ? Habituellement, vous voulez vous engager. Maintenant, cela vient de se passer, c' était très important, c'est que ce n'est pas parce que nous avons engagé quelque chose que ce n'est pas encore en ligne, parce que pour le faire en ligne, nous devons réellement le pousser. Donc, en haut, ici, la flèche verte qui pointe vers le haut à droite, il faut cliquer dessus. Ensuite, vous pouvez voir ajouté le commentaire important. Nous pouvons voir les changements en gros, qui, qui a fait ces changements et tout cela. Ensuite, il suffit de cliquer sur le bouton-poussoir. Et puis il est dit qu'il a poussé un engagement au maître d'origine. Ensuite, si je rouvre cela et que je recharge ce côté, vous pouvez voir un commentaire important ajouté. Je ne veux pas que cela devienne un GitHub ou que je reçoive un tutoriel ici. Mais pour le moment, c'est à peu près tout. C'est à peu près tout ce dont vous avez besoin. Et maintenant, vous pouvez vous lancer dans le voyage fou et cool de Minecraft moderne avec 4241801. Mais c'est tout pour cette conférence ici. J'espère que vous avez trouvé cela utile et que vous avez appris quelque chose de nouveau. Je vous verrai lors de la prochaine conférence. 39. (Bases de Minecraft Bas) Utiliser des cartes de Parchment: Bon, bienvenue au quatrième cours pour 118. Dans cette brève conférence, nous allons changer nos mappages pour qu'ils soient des mappages de parchemin. Maintenant, juste un peu d'explication ici. L'idée est que si nous utilisons les mappages normaux fournis fusionnant le serveur officiel passez dans le fichier Gradle Build-up RI. Vous voyez, j'ai ici les mappages officiels pour 180. Et bien que cela soit tout à fait correct, ce qui se passe, c'est que toutes les méthodes n' ont pas de paramètres cartographiques. Cela signifie que chaque méthode que nous pourrions remplacer ou quelque chose du genre, le nom du paramètre sera toujours quelque chose, comme P soulignera certains nombres puis souligne un ou autre. Et c'est vraiment effrayant, ennuyeux, surtout si vous avez des méthodes qui peuvent avoir 56, 57 paramètres. Et ils ont tous ces noms étranges car ils sont fremitus. C'est pourquoi je recommande vivement d'utiliser du parchemin. J'ai maintenant deux liens dans les ressources. un est le référentiel GitHub bibliothécaire de parchemin, et l'autre est le référentiel de parchemin. Et ce que vous constaterez, c'est qu'actuellement la version 118 X n'existe pas. On ne trouve donc pas qu' il n'est pas strictement vrai qu'il y a un instantané nocturne. Maintenant, un instantané nocturne dans ce cas signifie qu' il ne s'agit certainement pas encore d'une version complète. C'est, euh, ça marche et vous pouvez déjà travailler avec elle, mais il n'est pas fortement recommandé, vous savez, ce n'est pas encore fait, pour ainsi dire maintenant, nous allons toujours l'utiliser. Et ce que je dirai, c'est que je vais mettre à jour cette conférence. Ou alors que nous traversons le cheval, je pourrais ajouter un ou deux guides de mise à jour de parchemin dans leur ensemble, généralement le mettre à jour ne fait que changer. Une chose que je vais vous montrer dans un instant. Maintenant, ce que nous pouvons faire, c'est que dans le bibliothécaire ici, vous pouvez voir qu'il dit tout ce que vous devez faire. C'est donc très simple. Par exemple, la première chose que nous devons faire est de l'ajouter ici. Donc, le parchemin du dépôt de parchemin Maven. Laissez-moi copier ça. Allez au cours de fourrage ici. Et puis tout en haut, en dessous, nous voulons coller ça. Vous pouvez voir maintenant que nous avons le parchemin là-bas. Ensuite, nous voulons vérifier la seconde. Et ce sera cependant le bibliothécaire , le théorème du parcours de classe. Une fois de plus, j'ai copié le contrôle C, puis collez-le sous le Gradle ici. Donc, ici, sur les dépendances , nous voulons prendre le plug-in ici, et cela doit être exactement en dessous de ça. Donc, ici, c' est très important. Ne le collez pas ici, mais sous le filet Minecraft Gradle, sinon cela ne fonctionnera pas. Très important. Et puis dernier point mais non le moindre, vous devez modifier les mappages. Je vais en fait copier ça depuis l'autre écran que j' ai ici parce que j'ai déjà fait la version nocturne. Voyons juste les voir il y a. Ce serait donc la version nocturne du 13 décembre, instantané nocturne dans ce cas, comme je l'ai dit, si de nouvelles versions sortent, je les relierai ici quelque part ou j' aurai des conférences ou des changements futurs. cette conférence. Et on va, juste voir, on va faire, pas de soucis du tout. Et dans l'ensemble, cela devrait maintenant se passer si nous avons ces quatre choses. Donc le maven, la dépendance du chemin de classe ici, puis le plugin et la modification du voyant de mappage, tout ira bien. Ce que nous pouvons faire maintenant, c'est que nous pouvons charger les modifications du Graal. Maintenant, cela ne devrait pas prendre trop de temps. Encore une fois, cela dépend de votre PC, cela dépend de la vitesse de connexion Internet dont vous disposez. Il y a quelques facteurs qui pourraient, je suis là, mais encore une fois, cela ne devrait pas durer plus d'une minute ou deux. Mais soyons patients et laissons passer ça, non ? Comme vous pouvez le constater, la construction réussie en 55 secondes, c'est génial. Et maintenant, c'est essentiellement fait. Nous avons maintenant utilisé les mappages de parchemin. Et ça va être génial. Cela va être beaucoup mieux. Je recommande vivement de le faire également. Cela ne modifie vraiment que les noms des paramètres. Il y a donc mappé maintenant c'est presque tout ce qu'il fait, les noms de méthodes et les noms de classe et tout ce qui devrait rester complètement le même. Mais c'est déjà pour cette conférence ici. J'espère que cela vous a été utile dans le nouveau, et je vous verrai lors de la prochaine conférence. Donc, oui. 40. (Bases de Minecraft créez un objet personnalisé: Ou je reviendrai au cours de fourrage pour 118. Dans cette conférence, nous allons ajouter notre premier article client à l'esprit pour l'instant, ce sera une chose très intéressante que nous allons faire. Et ce que nous allons faire, c'est que nous ajouterons deux éléments. Nous allons en ajouter un, nous allons passer par chaque étape. Et puis je vous montrerai immédiatement après avoir vu l'objet en jeu. Ou vous pouvez en ajouter une seconde car parfois c'est un peu déroutant pour les gens. Attendez, comment puis-je maintenant en ajouter un deuxième ? Dois-je refaire chaque étape ? Et non, il y a des raccourcis que vous pouvez prendre. Eh bien, la première chose que nous allons faire et c'est très important, c'est dans notre cours MC MOD ou notre classe principale de mod, nous allons sélectionner cela ici. Donc, tout, y compris le bus d'événements GetMethod avec les parenthèses, et nous allons cliquer avec le bouton droit de la souris sur ce refacteur , puis introduire une variable. Ensuite, nous allons dire remplacer les trois occurrences. Et nous allons appeler cela l'Event Bus. Il suffit donc de double-cliquer sur le bus de l'événement. Et ensuite, tout ira bien. Nous allons également le faire, c'est que nous supprimerons tout ce qui est ici, à l' exception de la méthode de configuration. Nous ne voulons pas les événements de registre, nous ne voulons pas que le serveur soit trié, rien de tout cela. avons-nous besoin ? Et ensuite, nous devrons lire les choses ici pour que nous puissions les supprimer également, de sorte que notre constructeur ne reste que le bus d'événements. Vous êtes l'auditeur ici, le bas du registre du bus d'événements ici et la méthode de configuration, car il s'agit d'une méthode qui devra certainement être utilisée à l'avenir. Il y a une autre méthode qui devra également être ajoutée à une conférence future. Mais nous allons le faire une fois que nous en aurons réellement deux. Passons maintenant à l'ajout de l'article. Ainsi, dans notre package de cours MC, nous allons cliquer avec le bouton droit sur un nouveau package, appelé élément. Ensuite, au lieu de là, nous allons cliquer à nouveau avec le bouton droit la nouvelle classe Java appelée classe d'éléments mod. Maintenant, la classe des éléments de mode va suivre une sorte de schéma ou un certain modèle que de nombreuses classes différentes suivront. Et c'est ce qui va être le suivant. Nous aurons donc un registre différé. Je vais donc juste les taper et voir ce que c'est. Il s'agira d'une finale publique statique, le troisième registre, très important, F2, le nôtre. Mais celui-ci ici des registres de microformes net vérifie si vous écrivez cela correctement parce qu'il y a eu des personnes qui l'ont mal écrit, et cela conduit bien sûr à ne pas fonctionner. bien que vous puissiez le saisir, puis appuyez simplement sur Tab pour compléter automatiquement. Ensuite, nous avons besoin de ces crochets d'angle si vous les tapez dans le premier et le second pour générer automatiquement. Ensuite, nous avons besoin d'un article ici. Il est très important que nous ayons des objets Minecraft World nets. Nous reprenons celui-ci une fois de plus, saisie semi-automatique et ensuite il importera immédiatement la classe ici. C'est ce qu'on appelle les éléments tous en majuscules, très important et c'est un champ final, donc il doit être écrit en majuscules. n'est qu'une convention Java dans ce cas, cela équivaut à un registre différent. Encore une fois, en vous assurant de l'écrire correctement, vous pouvez le compléter automatiquement avec un onglet lorsque vous voyez la congestion qui crée. Et une fois de plus, nous pouvons simplement le compléter automatiquement dans la parenthèse qui va ensuite générer. Ensuite, nous pouvons enregistrer les registres de falsification des éléments de mon modèle de cours MC, cet ID de modèle, puis terminer tout cela par un point-virgule. Vous pouvez donc constater que nous utilisons déjà l'ID du modèle. Voici les différents registres. Dans les termes les plus simples, le registre différé. Vous pouvez considérer cela comme une liste de tous vos objets que vous avez avec votre atome MOD. C'est pourquoi nous devons fournir la mélodie pour que forge sache tous ces éléments proviennent de cet ID de modèle, de ce mode. C'est l'idée générale. Bien sûr, c'est un peu plus compliqué que ça. Mais pour votre compréhension générale, vous pouvez considérer cela comme une liste de tous vos articles et nous devons essentiellement nous y inscrire lorsque vous avez un registre différé pour tout. qui a falsifié des registres ici, je peux y jeter un coup d'œil. Pour toutes ces choses. Nous pouvons essentiellement avoir une autre classe et un autre registre différé. Et chaque fois que nous avons un registre différent, nous allons avoir un vide statique public ou la méthode de registre avec un bus d'événements. Event Bus comme périmètre. On va dire les objets Dot Register Event Bus. Maintenant, si quelque chose peut être rouge à un moment donné. Par exemple, il est possible que l'article devienne rouge ici. Ce qui se passe, c'est que vous cliquez simplement dessus et appuyez sur Alt et Entrée pour importer la classe, vous assurant de choisir l'article mondial net micro-ondes ici, et que l'article mondial net micro-ondes ici, tout devrait fonctionner. Assurez-vous que les importations sont correctes. C'est également très important. Et maintenant, nous avons la méthode de registre et nous devons rappeler cela dans notre classe de mod de cours MC, notre classe de mod principale à l'intérieur du constructeur ici, nous devons dire plus d'éléments dots enregistrer avec le Bus événementiel. Nous devons donc passer dans cet événement le bus la méthode de registre ici. Et ensuite, les différents registres seront également enregistrés. Nous devons donc enregistrer nos listes, pour ainsi dire, de tous nos articles. Et maintenant, comment pouvons-nous, comment commencer à ajouter un article ? Nous avons besoin d'un objet Registre final public statique. Encore une fois avec les crochets d'angle de type item. Et ce sera le lingot de soulignement de cobalt. Maintenant, vous pouvez voir une fois de plus, j'ai quelque chose qui est marqué dans l'objet Registry rouge. Je peux simplement cliquer dessus. Et entrez, et il importera ensuite la classe correcte dont nous aurons besoin. Et cela va être égal à deux objets. Le premier paramètre va être une chaîne. Et ce bus, ou comme vous le verrez bientôt, nom génère automatiquement, vous n'avez pas besoin de le taper. nom est très important pour le lingot de soulignement Walt. Cela suit les mêmes règles que l'ID du mod. Seulement des lettres minuscules, des traits de soulignement ou des tirets et des chiffres, rien d'autre. Et vous pouvez voir après que j'ai ajouté le commun maintenant il dit nom. Encore une fois, cela génère automatiquement, cela est fait par l'IDE, cela se fait par intelligent. Vous n'avez pas à taper ça. Et le deuxième paramètre va être un fournisseur. Nous avons donc des parenthèses ouvertes et fermées, allons par cette flèche, puis un nouvel élément. Donc un nouvel article avec les autres trucs ici. Donc, les nouvelles propriétés d'élément que vous pouvez voir à l'intérieur du constructeur d'élément, je vais juste compléter automatiquement cela, puis dire onglet point. Ensuite, nous devons fournir dans un onglet. C'est donc la mortalité créative qu'il faut. Et vous pouvez voir où c'est juste l'onglet divers. Nous allons simplement double-cliquer dessus , puis nous allons être d'accord avec ça. Nous pouvons voir que c'est maintenant tout ce dont nous avons besoin pour enregistrer l'article. L'objet serait déjà en jeu. Bien sûr, il n'a pas encore de texture, et il n'a pas non plus de fonctionnalité. Nous n'allons pas ajouter de fonctionnalités dans cette conférence ici, mais dans les conférences suivantes, bien sûr, je peux ajouter cela. Maintenant, une chose importante est que propriétés de cet élément ici sont en fait un panneau constructeur, donc vous pouvez le frapper sur un point après, après l'onglet, vous pouvez voir que je peux également appeler d'autres choses comme Réparation sentinelle, résistance au feu, peut-être le reste, des trucs comme ça. Il y a donc quelques choses sympas que je peux appeler ici, et cela a également changé l'article de cette façon. Nous allons nous en tenir pour le moment à simplement avoir l'onglet et utiliser simplement l'onglet divers pour cela, et ce sera cinq. Maintenant. Eh bien, qu'est-ce que ça veut dire ? Eh bien, il n'a pas encore de texture. Comment allons-nous définir cela ? Ne vous inquiétez pas du tout. Maintenant vient la structure du dossier, ce qui est très important. Alors, assurez-vous de prendre soin de vous et d'examiner cela de très près. Il y a une erreur d'orthographe ici. En fait, ça va faire sorte que quelque chose ne fonctionne pas. Au lieu du dossier des ressources, nous allons cliquer avec le bouton droit sur un nouveau répertoire appelé ressources. Et puis à l'intérieur de là, nous allons cliquer avec le bouton droit sur nouveau répertoire appelé cours MC. Il doit s'agir exactement de votre ID MOD. Très important. À l'intérieur, nous allons créer un nouveau répertoire, d'anciens modèles. Nous allons également créer un nouveau répertoire appelé lang LNG. Nous allons également créer un nouveau répertoire dans le cours MOOC sur les textures froides. Et encore une fois, veuillez noter qu' ils doivent être écrits correctement. Donc, dans le dossier modèles, nous allons créer un nouveau répertoire appelé élément. Et puis, à l'intérieur du dossier modèles, encore une fois, nous allons créer un nouveau répertoire appelé bloc. Maintenant, ce que je peux faire c'est parce que nous allons avoir besoin des deux. Je peux les sélectionner tous les deux, puis les faire glisser dans le dossier des textures tout en maintenant le contrôle, ce qui dupliquera ces dossiers. Et parce que, en gros, j'ai besoin du bloc et du dossier d'éléments à l'intérieur du dossier de textures. Commençons maintenant par le haut avec le dossier de longueur. Dans le dossier des longueurs, les traductions vont être localisées. Nous allons donc cliquer avec le bouton droit sur un nouveau fichier. Et ce sera le soulignement EN nous db.json. Il est très important d'ajouter le point Jason, sinon il ne sera pas reconnu correctement. C'est très important. Également E et soulignez-nous que vous devez également écrire correctement, appuyez sur Entrée et le fichier apparaîtra. Cette fenêtre s'affiche. Si vous possédez un référentiel GitHub, si vous ne l'avez pas, vous ne verrez pas cela. C'est tout à fait très bien. Si vous avez un référentiel GitHub, vous voulez essentiellement dire ajouter, car il l'ajoute au référentiel GitHub pour votre prochain commit, et le fichier EN nous souligne le fichier JSON sera construit comme suit. Je vais commencer par un support bouclé, qui va immédiatement générer le deuxième support bouclé pour nous. Ici, nous voulons traduire l'article. Le problème, c'est que nous allons simplement taper ça. Item dot AMC cours point o ball, trait de soulignement, lingot, deux-points, puis Old English. L'idée générale est donc que c'est le nom localisé inconnu de l'article, car celui-ci ici, juste ici. Le lingot de soulignement en cobalt est le nom que nous avons donné à cet objet. C'est un objet, et c' est notre Motet. Tout cela devrait être logique, n'est-ce pas ? Cela ne devrait pas être comme, pourquoi cela se produit-il ici ? Non, non, cela devrait être logique. C'est le nom localisé. Pourquoi avons-nous même cela ? Pourquoi devons-nous définir cela comme un fichier JSON ? Eh bien, il y a différentes langues. Et si vous voulez traduire pour chacune de ces langues que d'avoir le nom localisé et ensuite un nom localisé ici, ensuite un nom localisé cela a beaucoup de sens. En fait. C'est pourquoi nous devons le faire comme ça. Encore une fois, vérifiez que les noms des dossiers sont détruits et que le nom d'un fichier est également présent ici. Sinon, ça a l'air bien. Passons ensuite au fichier de modèle d'élément. Et le modèle de l'article est très intéressant. Je vais taper ça. Donc ce que nous allons faire, c'est dans le dossier des éléments modèles, cliquez avec le bouton droit sur un nouveau fichier appelé le lingot de soulignement de cobalt JSON. Le nom de ce fichier doit correspondre exactement au nom donné ici. C'est également très important et se termine ensuite par le JSON. Maintenant, comme je l'ai dit, je vais taper ça une fois. Nous allons le faire assez rapidement et ensuite je vais expliquer chaque partie de cela. Nous allons donc avoir un parent ici , deux points, barre oblique d'élément, textures de munitions générées, ouvert, crochet bouclé, couche 0. Tout un parcours MC, un objet tombé, une barre oblique ou un trait de soulignement de boulon. Je vais peut-être dire ce que le FREC se passe ici. Ne vous inquiétez pas. Nous allons passer par là. Le parent détermine ici comment cette texture particulière est affichée dans votre main. Et aussi en trois dimensions. Adam généré essentiellement c'est qu' il va rendre la texture un peu extrudée pour qu' elle ait une sorte d'aspect 3D. Et ce sera essentiellement ça. C'est ainsi que n'importe quel élément normal est affiché. Nous devons ensuite définir toutes les textures. Et ce doit être des textures très importantes. Assurez-vous que tout cela est bien écrit. La couche 0, également importante. Et puis, ici, il définit essentiellement le répertoire où se trouve la texture. Cela va donc examiner le dossier des ressources du cours MC. Donc les actifs MC cours à l'intérieur du dossier textures, juste ici sous la barre oblique de l'élément cobalt anglais point PNG, donc élément. Et puis, nous n'avons rien là-dedans. Je vais copier l'extra en ce moment, bouillonné dans Git dot PNG. Et ils s'en vont, et c' est maintenant la texture qu'elle affichera dans le jeu. Un. Les détails très importants ici pour les textures sont que s' il vous plaît noter le fichier de crédits ici. Toutes les textures sont donc réalisées par nano attaque et elles sont distribuées sous cette licence ici. Donc, si vous souhaitez les utiliser dans un référentiel public, suivez la licence, ajoutez simplement ce fichier à votre projet ou à votre référentiel, et tout ira bien. Je voulais juste mentionner que c' est très important. Vous pouvez utiliser les textures. Gardez simplement cela à l'esprit pour un article qui a tout fait, nous l'avons enregistré. Nous avons ajouté une traduction, nous avons ajouté le fichier JSON du modèle d'élément et la texture pour l'instant, pour la première fois, nous pouvons voir pour les travaux, soit dit en passant, n'importe laquelle de ces flèches rouges que vous pourriez être c'est tout à fait très bien. Cela peut parfois se produire après que vous ayez essentiellement ajouté un arrangement pour la première fois, mais c'est tout à fait correct. Vous devriez pouvoir ignorer cela tant qu'il continue et que le Minecraft démarre réellement, cela ne devrait pas vous inquiéter. Et cela n'est arrivé qu'une seule fois ou devant lui, Minecraft. Voyons donc, passons à l'onglet divers et passons tout en bas. Et c'est là. Le lingot de cobalt a été ajouté avec succès au jeu. C'est plutôt cool. Toutes les choses considérées, non ? Et donc juste que vous l'avez vu, ajoutons également la pépite. L'idée de base ici est donc que nous n'avons pas besoin d'une deuxième classe d'articles supplémentaires. C'est parfois là que les gens sont un peu confus. La seule chose que nous devons faire est copier sur cet objet de registre. Je vais faire le contrôle C après l'avoir sélectionné , puis Control V, le coller ici. Il suffit ensuite de renommer cela en pépite, puis de renommer également la synagogue. Pour chaque élément que vous enregistrez un objet de registre est associé à celui-ci. C'est l'idée générale. Et bien sûr, elle porte également un nom. Nous avons donc besoin d'un nouveau modèle d' article, JSON, bien que nous allons tout d'abord dans notre oreille et soulignons le fichier JSON ici. Et ce que nous allons faire, c'est que nous allons simplement dupliquer cette ligne en appuyant sur Control D, puis en ajoutant une virgule ici. Et encore une fois, nous allons renommer cela en pépite. Cette pépite aussi. Et maintenant, dans nos modèles d'éléments, nous pouvons simplement prendre ce fichier JSON et le faire glisser dans le même dossier tout en maintenant Contrôle, puis nous le dupliquerons. Ensuite, nous pourrons changer le nom ici, naviguer également. Puis, à l'intérieur d'ici, bien sûr, changer cette pépite. Ensuite, je copierai à nouveau la texture de l'article. Et c'est essentiellement le processus d'ajout d'un deuxième élément. C'est donc toujours ce que vous allez faire. Il y aura quelques différences, surtout en ce qui concerne les fichiers de modèles. Ils ont peut-être l'air un peu différents. Mais dans l'ensemble, c'est peu près toujours ce que vous allez devoir passer par un objet de registre lors de la traduction vers le E Et nous souligner le fichier JSON sur un modèle d'élément JSON. Et puis la texture, c'est presque tout ce qu'il y a à faire. Ils vont juste pour l' achèvement, voyons si ça marche ou si je suis un tel Minecraft. Comme vous pouvez le constater, le cobalt a également été ajouté avec succès. Le jeu, cependant, comme vous pouvez le constater, c'est plutôt simple une fois que vous savez comment il est fait. Et c'est juste une chose que vous devez simplement vous familiariser avec et simplement routiniser l' ajout d'articles. Et ça va devenir fondamentalement une seconde nature pour vous, n'est-ce pas ? Mais ce sera déjà le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile et que vous avez appris quelque chose de nouveau. En passant, tout le code est disponible dans le référentiel GitHub ou un individu, que vous n'avez pas à tout taper vous-même. Vous pouvez également copier certains éléments si cela est plus propice à l'apprentissage pour votre idée particulière. Sinon, je vous verrai lors de la prochaine conférence. Donc, oui. 41. (Bases de Minecraft créate) de blocs personnalisés: Bon, bienvenue au quatrième cours pour 118. Et dans cette conférence, nous allons ajouter des blocs personnalisés à Minecraft. Les blocs personnalisés sont un peu plus impliqués. Mais comme nous avons vu essentiellement une partie de la façon d'ajouter des éléments, les blocs sont similaires, mais comme je l'ai dit, un peu plus impliqués comme un peu différents, mais pas trop. Ainsi, dans notre package de cours MC, nous allons cliquer avec le bouton droit sur un nouveau package appelé book. Et à l'intérieur de là, nous allons cliquer avec le bouton droit la nouvelle classe Java appelée classe de verrouillage de mode. Maintenant, cette classe sera un peu différente, mais tout d'abord, nous aurons le registre public statique final différé du type de bloc, veillant à ce que nous choisissons le niveau mondial net Minecraft bloc. Très important, non pas l'unité OpenJDK jurée éternelle, mais le bloc de niveau, bloc qui est très important. Et puis nous disons que les blocs sont égaux au troisième registre de création de points de registre, cette boîte avec notre modèle de cours MC que MID. Et qu'il s'agisse d'un registre différent, nous aurons également besoin d'un public qui soit une méthode de registre d'appels nuls avec Event Bus. Bus événementiel. Et c'est ce que nous appellerons Box Dot Register avec le bus de l'événement. Et avant de l'oublier, nous l'appellerons immédiatement dans notre classe de mod de cours MC ici, mod bloque point s'inscrire avec le bus de l'événement. C'est là que tu y vas. Le registre différé est donc maintenant enregistré. Et maintenant, ce dont nous avons réellement besoin, c'est créer deux méthodes d'aide. Je vais tout taper et ensuite j' expliquerai une fois cela fait, le code pour vous est disponible dans le dépôt GitHub ou un individu tout aussi. Vous n'avez pas à tout taper ici. Vous pouvez également le copier. Donc, quand j'ai une statique privée et que le support d'angle T étend le bloc vide. En fait, faisons cet objet, désolons, faisons de ce registre un objet d'éléments. Ensuite, le nom de la méthode est le bloc de registre Atum, qui aura un paramètre de nom de chaîne et un objet de registre de type T, qui sera le bloc. C'est donc le deuxième paramètre. Et cela va renvoyer d'autres articles, des articles qui s'inscrivent sous le nom. Ensuite, un fournisseur d' un nouvel article de livre avec l' onglet Propriétés du nouvel article à points pointus. Et mettons dans l'onglet créatif, MRTK pour le moment. Mais nous allons réellement changer cela. Donc l'un des problèmes ici est que maintenant nous codons en dur, ok, cela va toujours être dans l'onglet divers, va en fait ajouter un troisième paramètre, qui sera le mode réactif. onglet, onglet. Et puis nous allons placer cet onglet juste ici que nous pouvons signifier, Hé, nous allons créer l'onglet plus créatif spécifique. Et puis je vais juste formater ça un peu différemment. C'est là que tu y vas. Ensuite, nous aurons une autre méthode qui est une statique privée. Encore une fois, le crochet d'angle T étend un bloc, qui retournera également un objet de registre cette fois de type T, la méthode du bloc de registre. Et cela prendra une chaîne, nous nommerons le fournisseur de type T, puis un bloc appelé Brock, puis huit, puis un troisième paramètre, une fois de plus, c'est-à-dire puis un bloc appelé Brock, puis huit, puis un troisième paramètre, une l'onglet du mode créatif. Onglet. Maintenant, celui-ci va faire ce qui suit. Il va tout d'abord créer un objet de registre de type T ou renvoyer, ce qui est égal à blocs de registre de points, le nom avec le bloc. Ensuite, il sera refroidi à la méthode de bloc de registre avec le nom à renvoyer et l'onglet. Et ensuite, nous allons revenir ici pour y retourner. Maintenant, ces méthodes ont l'air absolument folles. Cependant, ils ne sont pas si fous que ça. Ce ne sont donc que quelques méthodes d' aide pour nous parce que lorsque nous enregistrons un bloc comme celui-ci, n'est-ce pas ? Lorsque nous appelons simplement des blocs qui s'enregistrent, ce qui arrive, c'est qu'il crée le bloc, mais il ne crée pas d'élément pour le bloc. Et c'est un problème car nous avons besoin d' éléments de blocs pour chacun de nos blocs. Maintenant, le faire comme ça, dans mon esprit, a beaucoup de sens. Si jamais nous rencontrons un bloc qui pas besoin d'un élément de bloc, ce que nous ferons, nous allons simplement créer une autre méthode qui n' appelle pas cette méthode de bloc de registre. Et ensuite, tout ira bien. C'est ce que cela signifie, par exemple ? Eh bien, cela signifie que T n'est qu'un générique et que tout ce qui est mis dans le T ici doit étendre la classe de blocs. Nous allons toujours utiliser la classe bloc de toute façon, car c'est tout ce dont nous aurons vraiment besoin dans ce cas. Mais oui, cela permet de s'assurer que c'est le bon type. L'extraction de la méthode de l'élément de blog de registre devrait également avoir du sens. Cela enregistre simplement l'élément qui est associé à ce bloc ici que nous créons fondamentalement un a le même nom, et cela devrait être tout. que vous devez savoir que ça va mettre ça dans l' onglet que nous passons ici. Donc, tout devrait bien se passer. Voyons simplement cela en action et voyons voir. Faisons donc un objet Registre final public statique de type bloc. Le bloc de soulignement cobalt, qui va être égal au bloc d'enregistrement avec une fois de plus au nom bloc cobalt, double Underscore Block était important cette année, générera-t-il automatiquement la plaque signalétique 2, pour ainsi dire. Et puis un fournisseur d'un nouveau bloc. Et ça va prendre en compte les propriétés de comportement de bloc, ce matérial.me. Et puis si je mets un point, vous pouvez voir qu'il y a encore quelques propriétés que nous pouvons ajouter deux blocs ici. Ce que je veux ajouter, ce sont les propriétés de force. C'est donc le temps qu'il faut pour briser ce bloc. Et puis aussi très important que nous appelons nécessite un outil correct pour les gouttes, ce qui fera exactement ce que je voulais. De plus, il ne s'agit pas de copier ce truc. Oh, je suis vraiment désolée. L'ego. Et puis le troisième paramètre sera le point de tabulation du mode créatif. Nous allons faire une fois de plus divers. Mais celui-ci fait exactement ce qu' il dit sur la boîte nécessite outil correct pour les gouttes car nous devons définir des outils informatiques plus tard, essentiellement pour que le bloc de cobalt tombe lui-même. C'est quelque chose que nous verrons dans une conférence ultérieure. En fait, les blocs tombent, c'est fait avec des tables Lou, des connaisseurs. Nous y arriverons. Mais il s' agit encore une fois du bloc et l'élément de bloc associé enregistré avec cela. Je vous recommande fortement de simplement jouer avec certaines des propriétés que vous pouvez ajouter ici, vous pouvez voir qu'il y en a quelques-unes ici que vous pouvez en gros ajouter. Habituellement, nous verrons quelques-uns d' entre eux passer par les conférences. Mais regardons maintenant les fichiers JSON car ils sont très intéressants car nous avons besoin, dans le dossier de cours MC ici même, ajouter un nouveau répertoire ou des états de bloc. Il est également très important d'écrire correctement. Et je vais encore une fois taper ça. Nous allons donc créer un nouveau fichier ici appelé le bloc de soulignement cobalt Jason, une fois de plus, assurez-vous que cela est écrit correctement et qu'il a le JSON final. C'est donc le nom qu'il doit avoir. Et puis je vais taper ça. Ainsi, R1 secondes crochets bouclés, variance, deux-points, crochets précoces, guillemets vides, crochet bouclé deux-points. Et puis modèle deux-points, cours MC, bloc de deux-points, cils, cobalt, bloc de soulignement. Que se passe-t-il ici ? Eh bien, l'état du bloc définit essentiellement différentes variantes d'un même bloc. Dans notre cas ici, nous n'avons aucune variance car ce sera juste un bloc normal. Et ceci ici pointe maintenant vers un modèle de bloc JSON. Donc, dans nos modèles cassés, il recherche un fichier Block JSON de soulignement cobalt. Nous allons donc cliquer avec le bouton droit de la souris sur ce nouveau fichier, cobalt underscore blog.js. Et cela ressemble en fait au modèle d'article que nous avons vu auparavant. Crochets bouclés, parent, tombé, bloc, cube oblique, toutes les textures de virgules tombées. Enregistrez uniquement. Tous les deux-points, cours MC, bloc de deux-points, cobalt, bloc de soulignement. Le modèle de bloc détermine l' apparence du bloc à l'intérieur du monde. Qu'est-ce que cela signifie ? Eh bien, alors que les états de bloc pointent vers des singes avec un modèle de bloc particulier, le modèle de bloc détermine les textures de ce bloc, puis fait essentiellement référence à cette texture ici. Et nous avons également besoin d'un modèle d'article pour nos blocs. C'est très important. Oh, ce sera en fait un nouveau trait de soulignement de cobalt blog.js. Cela semble cependant un peu différent. Cela va avoir des crochets bouclés , puis le parent tombé dans le bloc de soulignement de cobalt Brock slash. Cela fait donc référence à ce modèle de bloc et fait apparaître de manière 3D que les blocs apparaissent à l'intérieur de l'inventaire t0. Copions la texture du bloc de cobalt ici dans le porte-livre. Et puis ajoutons également la traduction. C'est également très important. Nous allons copier celle-ci. Et puis nous allons appeler cela le bloc cobalt de cours MC bloc. Et c'est bien sûr un pâté de maisons qu'ils y ont. Maintenant, c'est tout ce dont nous avons besoin pour récapituler la force une fois de plus, nous devons créer l'objet Registre pour ce bloc particulier ici. Nous avons ensuite besoin d'un fichier JSON d' états de blocs, d'un fichier JSON de modèle en bloc, d'un fichier JSON de modèle d'élément et de la texture. C'est une idée générale. Et après avoir vu si cela fonctionne ou non, nous verrons également un deuxième bloc B ajouté simplement pour que vous ayez un autre exemple. Mais pour l'instant, voyons si cela fonctionne ou si nous nous trouvons à l'esprit pour cela. Comme vous pouvez le voir, le bloc cobol a été ajouté, alors posons-le et ils partent, ça a l'air assez incroyable, et tout fonctionne bien. Donc, s'il y a des problèmes avec ce bloc, non ? Donc, s'il manque des textures, nous pouvons passer par une liste de contrôle que vous pouvez vérifier. Donc, si le bloc n'a pas texture à l'intérieur de l'inventaire, c'est le modèle d'article Jason, c'est à blâmer. La texture ne fonctionne pas dans le monde, mais elle fonctionne dans l'inventaire. Ce doit être le bloc des États Jason, c'est à blâmer. Et si cela ne fonctionne pas dans l'un ou l'autre d'entre eux, eh bien, c'est soit le modèle de bloc JSON, soit tous. Il s'agit donc d'une liste de contrôle générale que vous pouvez consulter et vérifier en gros. Mais maintenant, juste pour, vous savez que vous avez un autre exemple, ajoutons un autre bloc, n'est-ce pas ? Donc, encore une fois, cela implique en fait beaucoup de copie ici. Nous allons donc copier ça, je vais le coller. Ce sera le cobalt ou le bloc, puis ce sera le trait de soulignement du cobalt ou au lieu du métal, ce ne sera pas le cas. Et ce sera plutôt que cinq forces, juste de la force, n'est-ce pas ? Ça va bien se passer. Maintenant, le reste ici va bien. Cela a maintenant enregistré le bloc. Bien sûr, nous avons maintenant besoin du livre dit que Reason a apporté le modèle Jason et le vieux Jason. suffit de le copier en le faisant glisser Il suffit de le copier en le faisant glisser dans le même dossier tout en maintenant le contrôle et en changeant le nom ici pour bloquer, cobalt ou en thème ici. Cela pointe maintenant vers un modèle de bloc Jason dans le dossier ici, appelé soulignement cobalt ou point JSON. Nous allons également créer cela dans l'année nominale pour la texture qu'elle pointe, que nous ajouterons dans un instant. Ajoutons également la traduction immédiatement. Mais quel OR, et bien sûr le nom ici qui soulignera l'ego. Copiez également sur le modèle de cobalt ou d' article et renommez-le. Ou puis soulignez ou ici aussi. Et ensuite, nous avons juste besoin de la texture pour cela. Je vais aussi copier ça. Et c'est là que tu l'as. Maintenant, le prochain bloc est créé. Et oui, encore une fois, c'est juste la façon normale de s'y prendre. vous suffira de passer par là lors de la prochaine conférence. Fondamentalement, vous allez avoir une affectation pour ajouter deux blocs de votre propre chef. Cela va essentiellement rocher le bloc de cobalt et le cobol ou le bloc à l'état profond aussi. C'est donc juste quelque chose à garder à l'esprit. En dehors de cela, voyons simplement si la recherche d'achèvement, si le bloc or a également été ajouté ou non. Très bien, nous trouvons ces dos et ces microvésicules. Voir le cobalt ou le bloc a également été ajouté avec succès au jeu. Donc, tout fonctionne très bien ici. C'est en fait à quel point il est facile d'ajouter un deuxième bloc, non ? Comme je l'ai déjà dit, la prochaine conférence comprendra quelques devoirs. Je vous recommande vivement de passer par là, car cela peut être très, très positif et juste une très bonne idée de les faire simplement pour les faire que vous ayez un peu de sentiment. Encore une fois, tout le code des cours ici est disponible dans le référentiel GitHub ou dans un individu. Mais ce serait tout pour cette conférence ici. J'espère que cela vous a été utile lorsque vous apprendrez quelque chose nouveau et que je vous verrai lors de la prochaine conférence. Oh, oui. 42. PROJET 5 : bloc et élément: Ou je viendrai ici pour la première affectation pour le quatrième cours de la section Minecraft. Et comme je l'ai déjà dit, ici, vous allez faire deux blocs et un objet. Ce ne devrait pas être trop fou. J'espère donc que vous trouverez le devoir dans un écrit quelque part. Donc, fondamentalement, vous avez également la tâche comme question écrite. Et l'idée est que vous devrez ajouter le bloc de roche cobol ainsi que le cobalt ou le bloc d'ardoise profonde. Désormais, les textures de ces blocs sont disponibles. Même chose avec l'article. Veuillez noter que le fichier de crédits ici pour les textures suit une licence particulière. Donc, si vous voulez les utiliser dans un dépôt public ou quelque chose du genre, veuillez noter que le dossier des créanciers, comme je l'ai dit. Et pour l'article, vous allez ajouter le cobalt brut en gros, et ce serait à peu près tout. Les autres ne devraient pas être trop fous pour vous. J'espère que si vous avez vu les cours précédents , cela devrait être juste, assez facile à faire. Bonne chance et amusez-vous bien sur la mission. Donc, oui. 43. SOLUTION 5 : bloc et élément: Très bien, jetons un coup d'œil à la solution pour la première mission ici. Et bien sûr, j'espère que c' était assez simple. Vous venez d'ajouter les deux objets de registre pour les deux verrous que nous voulions ajouter. Il en va de même pour l'article ici, le cobalt brut. Et puis nous avions juste besoin des blocs, ces fichiers JSON, qui pointent simplement vers deux fichiers JSON différents modèles de blocs, qui à leur tour pointent essentiellement les textures ici. Et ensuite, la traduction qui devrait être à ce stade, je l'espère, deviendra routinière. Et ensuite, nous avions juste besoin des lavabos de modèle d' article. Et cela inclut également le cobalt rocheux, qui pointe juste ici une texture. Dans l'ensemble, j'espère que cela a été facile à faire. Et c'est à peu près tout ce que vous devez faire pour avoir cela dans votre jeu. Et nous utiliserons essentiellement le cobalt brut et toutes les autres choses à l'avenir. Oh, c'est vraiment une bonne idée d'avoir cela dans votre jeu aussi. Bien sûr, tout le code est également disponible dans le référentiel GitHub ou dans, dans, chez un individu . Et je vous verrai lors de la prochaine conférence. Donc, oui. 44. (Bases de Minecraft Bas) Taban créatif créatif personnalisé: Bon, bienvenue au cours de fourrage pour 118. Dans cette conférence, nous allons ajouter notre propre tablette de modes créatifs personnalisés au jeu. Il s'agit en fait d'un processus assez simple et simple. Ainsi, dans notre package d'éléments, nous allons cliquer avec le bouton droit sur une nouvelle classe Java appelée mode créatif du modèle, onglets ou onglet. Cela va mettre en œuvre ce qui suit. Ceci va avoir une lecture finale statique publique de l'onglet Mode appelé onglet Underscore corps, qui est égal à un nouveau. Et vous pouvez voir Norris uniquement dans l'onglet Mode créatif. Et si nous appuyons sur la touche de tabulation, elle générera une classe anonyme pour nous. Il va falloir entrer ça avec un point-virgule ici. Et puis, au lieu de renvoyer null ici, et nous allons passer à baratter est une nouvelle pile d'éléments. Plus d'objets pointent le cobalt, le lingot, le dot get. Et puis à l'intérieur d'ici, nous allons ajouter une chaîne. Cette étiquette est générée automatiquement une fois de plus. Et ce sera juste l'onglet modèle de cours. Quel que soit l'élément que vous mettez ici, quel que soit le bloc que vous mettez ici, sera l'image affichée pour l'onglet réel, et cela est nécessaire pour la traduction. Je vais donc vraiment copier ça. Et nous allons aller à notre E et nous souligner le fichier JSON en bas ici. Et nous allons simplement ajouter le deux-points de l'onglet CourseMatch du groupe d'éléments. Et nous allons appeler cela le cours MC. Non. C'est bon. Maintenant, c'est une valeur aberrante en termes de traduction ici, nous avons un grand G pour le G majuscule pour le groupe d'éléments. Et puis bien sûr mod tab avec l'idée la plus extérieure. Mais c'est à peu près tout ce que nous devons faire pour l'ajouter. Ajoutons maintenant nos articles et nos blocs. Au lieu de dire mode créatif, appuyez ici, nous allons dire plus créatif, plus d'onglet, point onglet Cours. Pour copier cela sur la sélection, appuyez sur Contrôle C, puis sur Control V pour le coller ici et faire la même chose ici. Fondamentalement partout où vous avez l'onglet Divers. Nous allons maintenant mettre dans l'onglet Cours. Et maintenant, tous nos articles et nos blocs seront en quatre étapes. Voyons si cela fonctionne, ou nous nous retrouvons à Minecraft. Et un très bon signe est que nous avons une deuxième page ici pour voir les cœurs de MC MOD et tout est ici exactement comme vous vous attendez à ce que cela se passe. C'est parfait. Et tout fonctionne exactement comme vous voudriez l'écrire qui est déjà pour cette conférence ici. J'espère que vous avez trouvé cela utile dans les yourtes du nouveau, s'il a fait notre critique très appréciée de votre part. Sinon, je vous verrai lors de la prochaine conférence. Donc, oui. 45. (Bases de Minecraft: Bon, bienvenue au cours de fourrage pour 180. Et dans cette conférence, nous allons ajouter des recettes personnalisées à Minecraft, ou des recettes personnalisées sont réalisées via des fichiers adjacents. Ils ne se font pas dans le dossier des ressources, mais dans un nouveau dossier. Ainsi, dans les ressources, cliquez avec le bouton droit sur un nouveau répertoire appelé données ou données à l'intérieur de leur cours MC, puis à l'intérieur de leurs recettes. Maintenant, ce qui est très important, c'est encore une fois que ce répertoire doit être complet, écrit complètement correctement, sinon il ne fonctionnera pas. Et je vais essentiellement montrer un exemple de chaque année de recettes. Comme je l'ai dit, ils sont de nouveau au format JSON. Et ce que nous pouvons faire c'est que nous pouvons aller dans les bibliothèques externes ici. Nous pouvons élargir cette situation. Et puis vous trouverez quelque part en dessous, vous savez, descendre. Mais Minecraft fini neuf extra 180, un ou quelle que soit la version actuelle. Si vous développez ce dossier et accédez au dossier de données, Minecraft, puis tous les fichiers JSON qui se trouvent dans Minecraft. Par exemple, nous pouvons jeter un coup d' œil à chacun de ces fichiers JSON. Ce sont essentiellement toutes les recettes à la vanille comme payer. Comment cela fonctionne-t-il ? Vous pouvez voir le charbon provenant du dynamitage frais ou intéressant, mais il y a déjà, vous pouvez déjà voir qu'il existe différents types de recettes. Comment fonctionne le composteur, comment est fabriqué le combusteur ? Vous pouvez le voir. Vous voyez O tag, intéressant. Ok, nous utilisons des balises ici. Le temps de cuisson pourrait être effiloché. Nous avons des choses comme le biscuit. Vous pouvez donc trouver des exemples de choses ici. Je recommande vivement de passer par là, d'aller ici. Si jamais vous avez une recette que vous voulez recréer, vous pouvez simplement la trouver. Vous pouvez alors dire, par exemple, pour le bloc osseux ici, n'est-ce pas ? Oh, c'est vraiment une chose que je veux faire. Vous pouvez essentiellement appuyer sur le contrôle C pour le copier. Retournez dans vos dossiers, allez ici, contrôlez V pour le coller. Et puis, par exemple, je pourrais dire que le cobalt est un bloc de lingots où ils vont, puis je vais ouvrir cela et vous pouvez voir maintenant que je peux bien sûr le changer. Et les idées générales si bien, vous avez différents types d'ici, n'est-ce pas ? Dans ce cas, nous avons une recette de forme. Le motif est rempli. Quel est le schéma ? Le parent sera-t-il trois chaînes de longueur trois ? Cela représente donc la grille d'artisanat. Il s'agit de la fente en haut à gauche , puis de la fente en haut à droite, etc. Cela ne devrait donc pas être trop fou pour comprendre. On peut mettre les clés ici. Vous pouvez donc voir que ce symbole de hashtag représente essentiellement un nouvel article bol dans ce cas, eh bien, nous allons changer cela pour les articles de nos clients. Nous allons donc dire que MC cours colon ou acheté du lingot de soulignement. Et puis le résultat ici, bien sûr, sera le deux-points de cours MC ou le bloc de soulignement gras. Mais tout cela devrait vraiment avoir du sens pour le moment et ne devrait pas être trop fou. Mais c'est une recette en forme, comme je l'ai dit, car elle a une forme particulière. Maintenant, ce qui fonctionnerait aussi est quelque chose comme ça. Ensuite, vous devrez facturer les deux premières rangées ou les deux rangées inférieures dans le banc d'artisanat. Ils ne doivent donc pas toujours avoir une longueur de trois ou trois cordes. Il y a aussi des œuvres. Donc, quelque chose comme celui-ci, qui serait le bateau, par exemple, fonctionnerait également parce que vous pouvez soit mettre le bateau en haut, soit en bas. C'est donc très important. Et je vais en fait copier tout ce qui sera disponible pour vous dans le référentiel GitHub ou un individu tout aussi. Vous pouvez tout d'abord voir que celle-ci est une recette sans forme, car nous pouvons essentiellement mettre l'ingrédient n'importe où dans le banc d' artisanat. Et c'est essentiellement un bloc de cobalt, non ? Et ensuite, nous obtiendrons des lingots de robot et ensuite neuf d'entre eux. Donc, en gros, c'est la même chose que celle-ci juste en retour, n'est-ce pas ? Par conséquent, à l'inverse, vous pouvez récupérer les neuf lingots d'un bloc. Et puis nous avons ces deux-là qui sont des lingots ou des fonderies. Vous pouvez voir que je peux sentir le cobalt ou le lingot ici. en va de même pour cela, mais la fusion ou dynamitage sera assez explicite, toutes choses considérées. Et puis, à titre d'exemple, vous pouvez simplement utiliser, Nous allons plusieurs clés. C'est ainsi que vous les utilisez. Et vous pouvez également utiliser les objets Minecraft soit en conséquence, soit comme objet d'artisanat qui fonctionne parfaitement. Comme si cela n'avait aucun problème . C'est donc une idée générale, fin d' année, pas tout à fait lors de la prochaine conférence, mais la conférence après ça, si je ne me trompe pas, vous allez faire vos propres recettes personnalisées et fondamentalement j'ai quelques idées de ce que vous faites. Mais ils sont tous assez simples. Mais, dans l'ensemble, c'est tout. Très important. Les bibliothèques externes recommandent vivement de passer par là, car il y a aussi le dossier Assets où tous les états de verrouillage, le Lang, les textures se terminent également ici, Les textures sont ici. Vous pouvez donc jeter un coup d'œil à tout, les fichiers de modèles également. Je recommande donc vivement de parcourir les bibliothèques externes ici car c'est la meilleure chose que vous puissiez regarder. Si vous ne savez pas, Hey, comment puis-je faire une recette exactement comme X à la vanille ? Allez juste ici, jetez-y un coup d'œil. Très facile, pas de soucis. Mais il s'agit d'un processus très simple. Mais pour le moment, voyons si cela fonctionne ou pourquoi nous nous retrouvons dans Minecraft. Essayons d'abord le cobalt intérieur et ils vont bloquer le cobalt et voyons, je peux récupérer les neuf lingots aussi. Et ce que vous trouverez aussi, c'est qu'il sera automatiquement comme ceux-là, tant que recettes dans le livre de recettes également. C'est vraiment sympa. Et voyons simplement si nous pouvons aussi sentir le cobalt ou, bien sûr, c'est tout à fait très bien. Cela fonctionne également. Bien que tout fonctionne bien ici. Et aussi pour des raisons d'argumentation, pourquoi ne pas essayer de faire fonctionner la pile de diamants ici, les diamants ego 64 fonctionnent également. Joli emballage, ce serait déjà le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile et ignorant le nouveau. Encore une fois, tous les fichiers JSON sont disponibles dans le référentiel GitHub ou lorsqu'un individu est également disponible. Et je vous verrai dans la prochaine conférence. Oui. 46. (Bases de Minecraft de blocs avec des tables de film: Bon, bienvenue au quatrième cours pour 118. Dans cette conférence, nous allons examiner l' ajout de tables de routage personnalisées à Minecraft. Ou une table en vrac définit essentiellement ce qu'une goutte d'un bloc. C'est aussi l'une des raisons pour lesquelles nous avons ajouté les outils nécessaires pour les gouttes ici, tout cela bien là. Parce que si nous n'avons pas cela, tout outil que vous pourriez utiliser avec ce bloc laisserait alors tomber la table Lu ou les gouttes de roche, pour ainsi dire. Une fois de plus, dans notre dossier de données, dans le dossier de cours MC, cliquez avec le bouton droit sur un nouveau répertoire appelé tables de soulignement de butin. Encore une fois, assurez-vous qu' il est bien écrit. Puis à l'intérieur de là, un nouveau répertoire appelé blocs. Et puis je copierai sur la table de butin pour le bloc de cobalt pour voir ça. Voici donc à quoi ça ressemble. Il est de type bloc. Il y a un pool et vous avez gros des entrées différentes dans ce pool. On peut voir cette canne une fois qu'il y a l'entrée ici, une entrée de type objet. Et puis on laisse tomber un bloc de cobalt ou tout cela peut parfois devenir un peu déroutant, surtout quand je vais maintenant copier sur la table de butin pour le cobalt ou bloqué à cause de bien sûr qui fonctionne un peu différemment. Nous verrons que c'est plus compliqué qu' au premier abord. Mais ce que nous avons, bien sûr, c'est que nous n'avons qu'une seule entrée. Ce que c'est une entrée alternative, pour ainsi dire. Et l'idée ici est que, eh bien, soit il va laisser tomber ça et ça va disparaître si la condition ici est remplie, ce qui signifie que l'enchantement sur notre outil doit être au toucher de la soie. Et puis il laisse tomber le cobalt ou autrement, il tombera entre 25 Ra. C'est l'idée générale ici. Et vous pouvez voir qu' il s'agit également d'un bonus en ce qui concerne les enchantements de fortune. C'est quelque chose qui est également fait dans ce cas avec une fonction. Je recommande vivement une fois de plus, descendre à l'unité des bibliothèques externes, client micro-ondes supplémentaire 1801, au lieu du dossier de données, vous trouverez également que le dossier des tables fait allusion. Et puis à l'intérieur de là, vous pouvez jeter un coup d'œil à toutes les boucles, tables de tous les blocs de vanille. Je le recommande vivement. Je ne peux pas recommander assez d' aller ici et de simplement jeter un coup d'oeil là-dessus. Je vais également vous donner d'autres ressources qui sont vraiment importantes. un d'eux est l'entrée Wiki de table de luge ici du micro fan et du wiki car ici vous verrez en fait toutes les choses différentes, toutes les différentes choses que vous pouvez essentiellement mis en place. Vous pouvez voir qu'il y a beaucoup de choses ici, recommande vivement de jeter un coup d'œil à cela, essentiellement comment cela fonctionne. Et puis il y en a un autre et cela va être mal aligné sur la table de butin GitHub IO. Et c'est un générateur de table de luge. Assurez-vous simplement que vous êtes sur 118 en haut, ici. Et quand vous avez cela, vous pouvez fondamentalement changer toutes les choses ici. Vous pouvez dire, Hey, je veux des fonctions spécifiques. Vous voyez que ce sont toutes les fonctions, n'est-ce pas ? Vous allez leur demander des conditions spécifiques comme une chance aléatoire. Vous pouvez être comme, Hé, je me demande si l' entité est tuée par un joueur, tout ça, tout ça, tout ça. Il y a donc une quantité folle de choses que vous pouvez ajouter ici. Je recommande vivement d'être ouvert à l'expérimentation, d' essayer un tas de choses. C'est la meilleure chose que vous puissiez faire pour les tables en boucle. Et je suis sûr qu'à ce moment-là, vous arriverez à obtenir quelque chose de vraiment Lu qui soit exactement ce que vous voudriez qu'elle soit. Mais ce n'est pas tout ce que nous devons faire , car nous devrons en fait ajouter autre chose. Et c'est encore une fois dans notre dossier de données, cliquez avec le bouton droit sur un nouveau répertoire appelé Minecraft, le jeu que vous avez peut-être entendu parler. Et à l'intérieur, nous devons ajouter un nouveau répertoire, d'anciennes balises. Et puis à l'intérieur de là, nous devons ajouter un nouveau répertoire appelé blocs. Et puis, à l'intérieur, nous devons ajouter un nouveau répertoire appelé mineable. Maintenant, pourquoi avons-nous besoin de cela ? Eh bien, nous devons définir quels sont nos blocs, notre largeur d'esprit. Et pour cela, nous allons dans le dossier de données, Minecraft, œufs, blocs, et ensuite nous verrons les mandibules ici. Ce que je vais faire, c'est que je vais les sélectionner tous, appuyer sur le contrôle C pour les copier. Ensuite, j'irai ici, appuyez sur Control V pour le coller. Vous avez tous ces fichiers JSON avec tous les blocs de vanille ici. Ce que je peux faire, c'est juste que je vais simplement sélectionner tout cela et simplement me débarrasser de tout cela ou de tous ces fichiers JSON. Mais ce sont des étiquettes. Maintenant, les balises pour le moment, vous pouvez les considérer comme une collection de blocs différents ou d'éléments qui ont des fonctionnalités similaires à eux. Nous examinerons également quels blocs se trouvent dans une conférence ultérieure. Mais pour le moment, ce que nous allons faire, c'est que nous ajouterons tous les blocs que nous avons au Pic X Jason. Il s'agirait donc d'un bloc de soulignement de cobalt côlon MC cours. Et ensuite, je vais juste dupliquer cela quatre fois. Il s'agit alors d'un mur de blocs de roche cobol ou de l'ardoise IEP. Mais le plus important est que vous ne puissiez définir que des blocs qui existent à l'intérieur de votre MOD. Si je n'avais pas la couche profonde de cobalt ou si j'ai ajouté ici, j'obtiendrai une erreur lorsque j'essaierai de rejoindre un monde très important. Et puis il y a trois autres choses dont j'ai besoin. Et c'est là le niveau d'outil dont j'ai besoin pour ce niveau différent. Je peux donc chercher ça. Ainsi, vous pouvez voir le beau diamant 200 a besoin de fer pour avoir besoin d'un outil en pierre. Encore une fois, je vais juste les copier tous les trois. Je recommande vivement de faire de même. Bien sûr, ils sont également disponibles dans le référentiel GitHub ou un individu. Et puis je vais simplement le faire et nous allons juste dire ceci et ensuite l'outil en pierre se débarrasse également . Par exemple, disons, vous savez quoi, je pense que le cobol et ce sont des outils de fer au moins. Donc, ce que nous allons faire, c'est que je vais dire bloc de soulignement du côlon ou du boulon MSE. Et puis vous réalisez que vous savez quoi ? Prenons les, copions-les, mettons-les ici. C'est un peu plus facile. Ils s'en vont. Nous ne pourrons donc extraire que ceux qui ont au moins un outil en fer. Et en haut, c'est l'idée. Donc, outil de fer et plus haut, nous pourrons les extraire maintenant, chaque nouveau bloc que nous ajoutons, vous devrez ajouter à ces étiquettes. Je ne le ferai probablement pas au fur et à mesure. Je ne le montrerai certainement pas parce qu' à ce stade, vous savez, si vous l'avez vu une fois, vous devriez probablement être très facilement en mesure de les ajouter vous-même. Cela devrait être assez simple, mais cela devrait être tout ce que vous avez à faire. Et maintenant, après avoir ajouté les étiquettes et les tables de luth, voyons si cela fonctionne. Ou nous avons trouvé des mots dans Minecraft. Voyons donc si je peux miner ça et ils vont faire des gouttes de blocs. Et là, nous devrions avoir du cru pour Walt et nous l'avons fait. Pour que tout fonctionne parfaitement. Essayons également cela avec une pioche en pierre et vous pouvez déjà voir que cela prend beaucoup de temps, donc cela ne fonctionne probablement pas. Et vous pouvez voir que ce n'est pas la même chose avec le diamant aX. Il faut tellement de temps pour même aimer commencer à voir l'animation de rupture ne vaut même pas la peine d'être essayée. Bien sûr, cela ne fonctionnera pas, il y en aurait déjà pour cette conférence ici. J'espère que vous avez trouvé cela utile en ce qui concerne les nouveaux fichiers JSON, une fois de plus, tous les fichiers JSON sont disponibles dans le référentiel GitHub ou chez un individu tout aussi. Et je vous verrai lors de la prochaine conférence. Donc, oui. 47. PROJET 6 : tables de pettes et de plans de tournages: Bon, bienvenue à la deuxième mission ici pour le cours pour 118. Et dans cette tâche, vous êtes censé ajouter des tables en vrac et des recettes. Les recettes que vous êtes censé ajouter sont donc numéro 1. La recette des pépites. Pour cela, je peux mettre un lingot et sortir neuf pépites. Et puis, bien sûr, l' inverse encore une fois, où je peux mettre neuf pépites dans le banc d'artisanat et ensuite sortir un lingot. C'est le numéro un. La deuxième est que vous devez également ajouter les recettes pour l'ardoise profonde, ou pour fondre ainsi que le cobalt cru ou pour être fondu. Et ensuite, être capable de fabriquer le bloc de cobalt brut et ensuite à partir de lui à nouveau, essentiellement aussi. Et une autre chose est que vous devez ajouter une recette contenant au moins deux articles à la vanille. Tellement semblable aux diamants empilés d'une autre étoile. Avec ce que nous avons fait ici, il suffit de contenir deux objets Minecraft ici. Et ensuite, vous pouvez remplir le reste comme vous le souhaitez. Cela peut donner lieu à tout ce que vous aimeriez simplement être créatif, et essayer un tas de choses, n'est-ce pas ? Bonne chance et amusez-vous bien avec le devoir. Donc, oui. 48. SOLUTION 6 : tables de plans: Très bien, Bienvenue dans cette solution pour cette mission. Et bien sûr, en ajoutant les tables de luge, commençons par cela aurait été assez simple. L'année, nous venons de prendre la table de butin de bloc de cobalt et de la remplacer par le bloc de cobol de ligne. Il en va de même pour l' ardoise profonde, le cobalt ou la table de butin, où au lieu du cobalt ou il laisse tomber le cobalt tardif profond ou cobalt de ligne ici devrait encore tomber normalement. C'est donc les tables de luth. Et puis, quand il s'agit des recettes, vous pouvez voir qu'il y en a pas mal. Dans l'ensemble, ces éléments devraient également être assez simples, n'est-ce pas ? La dernière chose du cobalt d'ardoise profonde ou ce sera assez simple, est la même que la normale, juste, vous savez, avec l'état profond là-dedans. Et il en va de même pour le reste. Tout cela devrait être assez explicite. Toutes choses prises en compte. Si quelque chose n' est pas clair ou si vous avez des questions, bien sûr, vous pouvez toujours utiliser les questions et réponses fournies. Et je répondrai au mieux aux questions de ma capacité. Mais sinon, ce serait le cas pour cette mission ici. J'espère que vous avez trouvé cela utile et les leaders du nouveau. Je vous verrai au cours de la prochaine conférence. Oui. 49. (Bases de Minecraft: Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter un élément avancé personnalisé à Minecraft. Maintenant, ce que j'appelle un élément avancé est fondamentalement un élément qui a sa propre classe associée. Cela ne signifie pas toujours que c'est forcément avancé, mais vous avez la possibilité d'ajouter beaucoup plus de fonctionnalités à cet article. Voyons donc comment faire ça. Dans notre emballage d'articles. Nous allons cliquer avec le bouton droit sur un nouveau package appelé Custom. Et puis à l'intérieur de là, il n'y aurait pas clic droit sur une nouvelle classe Java appelée élément de tige de descente. Je recommande vivement de terminer chaque article personnalisé avec le mot élément afin que vous sachiez de quoi il s'agit. Cela va étendre la classe d' éléments ici, survolera cette création, constructeur correspondant super. Et ensuite, nous allons jeter un coup d'œil à ce que nous pouvons faire. Donc, si nous cliquons sur le bouton central de la souris sur la classe d'articles, nous pourrons en fait voir toutes les différentes méthodes que nous pourrions remplacer. Et vous pouvez voir qu' il y a beaucoup de méthodes que nous pouvons remplacer ici, ce qui est vraiment cool. Et il y a même à l'arrière ici, je forge un élément sur lequel nous pouvons également cliquer sur le bouton central de la souris, et il y a encore plus de méthodes que nous pouvons remplacer. Vous pouvez également voir les méthodes que nous pouvons remplacer si nous saisissons ici le remplacement. Et ensuite, vous pouvez voir fondamentalement toutes les différentes méthodes qui peuvent être remplacées. Et c'est beaucoup de méthodes comme vous pouvez le dire clairement. Donc, beaucoup de choses se résument à une fois de plus, essayer un tas de choses, essayer un tas de choses. Et encore une fois, j' essaye un tas de choses, étant ouvert à l'expérimentation, probablement la meilleure chose que je puisse vous dire. Maintenant, nous allons fabriquer un article de canne de descente. Et je veux en faire ce qui suit. Je veux pouvoir cliquer avec le bouton droit de la souris avec cet élément sur un bloc. Et ensuite, il s'étendra essentiellement dans le sol. Jetez un coup d'œil à chaque bloc situé en dessous du bloc sur lequel nous venons de cliquer. Et s'il trouve un bloc précieux, il imprimera les coordonnées. C'est tout ce que je veux faire. C'est déjà une idée très intéressante. Tout ce que nous allons voir la méthode du clic droit lorsque vous cliquez avec le bouton droit sur blocs car il existe deux méthodes différentes pour cliquer avec le bouton droit de la souris sur Nanoblock et, pour ainsi dire, cliquer avec le bouton droit dans les airs. Nous pouvons donc simplement l'utiliser, et vous pouvez voir cette utilisation ici. C'est celui qui s' appellerait. Cette méthode serait appelée si nous cliquons avec le bouton droit de la souris en l'air pour que ce soit ce que vous voudriez. La méthode US on ici est la méthode appelée lorsque vous cliquez avec le bouton droit sur un bloc particulier. Mais c'est celui que nous allons remplacer ici et voir qu'il a une utilité dans le contexte. Et ce que nous allons faire, c'est que nous allons le faire, eh bien, je vais mettre la fonctionnalité en place et j' essaierai d'expliquer le mieux au fur et à mesure. Nous allons donc avoir une déclaration if dans laquelle nous allons poser essentiellement le contexte p qui obtient un niveau. Donc, nous allons trouver le monde entier. Le niveau ici, on va dire que c'est côté client. Donc, dans ce cas rare et rare, nous voulons tout faire sur le client dans ce cas parce que c' est un peu plus intéressant pour nous. On va donc dire «  Bloquer Pause », position. Cliqué est égal au contextes point, get position, DIA, clic, pause ici. Et le module va importer cela en appuyant sur Alt et Entrée. Ensuite, nous voulons le joueur. Le joueur sera des contextes, joueur à points points que vous allez. Et puis, une fois de plus, cliquez sur le joueur, puis importez cela avec Alton dans également. Et puis enfin, mais non le moindre, nous aurons un livre booléen qui va être trouvé, qui est égal à faux ici. Ensuite, nous voulons une boucle for. Je vais donc juste mettre cette boucle for-loop et ensuite nous allons regarder ce que cela fait essentiellement. Mais nous allons commencer ici. Je vais dire que je suis plus égal à la position que j'ai cliqué sur ça, obtenez y i plus plus. Et puis ce que je veux faire, c'est que je veux obtenir le bloc qui se trouve en dessous du bloc que je viens de regarder. Donc bloc ci-dessous, qui est égal au point de contexte p, une fois de plus obtenir le niveau, pas obtenir le verrouillage, la date à la position particulière, qui est la position cliquée point en dessous, par combien je compte exactement. Ensuite, nous obtenons simplement le bloc et importons le bloc en appuyant une fois de plus sur Alt et Entrée. Maintenant, ce que je veux, c'est que je veux afficher les coordonnées et je dois aussi vérifier, ok, c'est ce bloc, vous savez, quelque chose de précieux. Pour cela, nous allons créer deux méthodes d'aide. Maintenant, je vais copier la sortie des coordonnées, n'est-ce pas ? Il s'agit de la méthode de sortie ici. Nous pouvons donc voir que nous obtenons simplement le nom du bloc , puis nous en sortons les coordonnées. C'est donc tout ce que nous faisons vraiment ici. Et puis nous voulons aussi un verrou booléen privé, vieux est précieux, qui prend juste un bloc ici. Et nous retournerons ensuite un vrai si c'est un livre précieux, ce que nous allons faire, c'est que nous allons renvoyer bloc égal aux blocs points poll ou par exemple, ou LOC est égal, verrouillé ou, ou. Et ensuite, dupliquons ceux qui auront une autre orange ici. Formatez cela un peu différemment. Appliquez ceci. Oui, et ensuite nous mettrons aussi du diamant ou peut-être juste du minerai de fer ici aussi. Et le bloc de fer mais le fer ou il y a encore. Ce sont donc les quatre blocs précieux pour le moment. Si vous en voulez plus, vous pouvez bien sûr ajouter d'autres dans une conférence ultérieure. Nous allons également voir une façon plus robuste de le faire avec les balises. Mais pour le moment, tout va bien se passer. Ce que nous allons dire, c'est que nous allons dire si c'est précieux, marchez un pâté de maisons en dessous. Nous allons sortir les coordonnées dans la position cliquée ci-dessous avec moi ici, car c'est la position réelle sur laquelle nous venons cliquer avec le joueur et le bloc en dessous. Nous allons ensuite définir le bloc trouvé pour qu'il soit vrai. Et ensuite, nous allons sortir de la boucle for ici parce que nous avons trouvé un bloc. Et nous n'avons plus besoin de vérifier essentiellement parce que nous voulons uniquement sortir le premier bloc que nous trouvons. Et puis une fois que nous aurons fini avec la boucle pour ici, nous dirons, s'il n'y a pas de blocs trouvés. Cela signifie donc qu'aucun bloc n'a été trouvé. Nous allons parler des données des joueurs et des messages avec un nouveau composant de texte traduisible. Article, fond de cours MC, point de tige sans valeur de soulignement. Et puis, après les parenthèses, le deuxième paramètre sera l'UUID du point de joueur il y a un an. Il s'agit donc bien sûr d'un moyen de transmettre un message dans le chat. Maintenant, il s'agit d'un composant de texte traduisible, donc nous devons prendre cela ici et l'ajouter au fichier JSON. Nous allons donc simplement ajouter ceci et simplement dire qu'il n'y a pas d'objets de valeur. Je vous recommanderai d'utiliser composants traduisibles partout où vous le pouvez, ce qui rend votre marque un peu plus robuste ou dans d'autres pays parlant également. Donc, en gros, quand vous avez une autre langue qui le rend un peu plus agréable à lire et à utiliser dès maintenant. Quel est le reste ? Que se passe-t-il ici ? Eh bien, tout d'abord, nous veillons à ce que nous soyons sur le client. Ce n'est généralement pas le cas. Habituellement, nous voulons être sur le serveur, mais dans ce cas, parce que nous sortons simplement quelque chose sur le client, c'est bien parce que cette utilisation sera en fait deux fois sur le serveur et celle que le le client va alors créer deux variables ici. Donc, la position sur laquelle vous avez cliqué, puis le joueur. Et nous allons ensuite passer du bas du monde jusqu'à la position réelle sur laquelle nous avons cliqué. Cela va être y et, et nous commencerons quand nous aurons atteint cet objectif. Maintenant, ce que nous allons vraiment devoir faire, c'est que nous devrons changer ce tout petit peu ici dans l'état du bloc. Parce que si je mettais un nombre négatif ici ci-dessous, nous devrions bien sûr dépasser tout d'un coup. Je peux donc m'y attarder. Voyons voir. On va aller en position basse jusqu' à, à cette distance. Maintenant, le vrai problème est, bien sûr, que la distance ici est négative. Et bien sûr, nous allons simplement monter au lieu de descendre. Et nous voulons en fait ajouter un 64 à cela parce que, bien sûr, au lieu de 0 étant la limite du monde, il est maintenant négatif 64. C'est pourquoi nous devons également augmenter 64 ans et le reste devrait fonctionner totalement bien, car le premier bloc que nous allons littéralement jeter un coup d' œil est le bloc lui-même que nous venons de cliqué. Et puis, quand je deviendrai un, nous allons descendre un et ainsi de suite et ainsi de suite jusqu'à 0 quand nous atteindrons cela. Mais le problème, c' est que nous pourrons continuer. Pour en dessous de ça. C'est pourquoi nous ajoutons un 64 ici. Dans l'ensemble, c'est tout ce que nous devons faire. Passons à la classe More Items et créons les éléments. On va juste copier ça, faire la canne d'abattage. Et puis voici la même canne d'abattage. Maintenant, au lieu d'un nouvel article, il s'agit d'un nouvel article de canne de descente. C'est extrêmement important que vous fassiez cela. Veuillez noter qu'il doit s' agir d'un nouvel article de canne de descente. Sinon, il n'aura évidemment pas cette fonctionnalité. Très prudent avec. Ajoutons également la traduction. Il y a donc une tige de descente, puis ici c' est une tige de descente. Copions ici le modèle de l'objet England pour la canne de descente. Et changez le nom ici, canne de descente. Et ensuite, nous copierons également la texture de la tige de descente dans le dossier des éléments ici. Il y a une canne de descente. Et maintenant, cela devrait être tout ce dont nous allons avoir besoin. Cependant. Voyons si ça marche. Très bien, nous nous retrouvons dans Minecraft et, comme vous pouvez le voir, la descente ou a été ajoutée au jeu. Voyons simplement si je clique avec le bouton droit de la souris. Eh bien, c'est une bonne chose à voir. Votre, bien sûr, ce n'est pas tout à fait ce que nous avions en tête. Vous ne pouvez voir aucun objet de valeur trouvé qui fonctionne parfaitement. C'est juste que la sortie réelle est bien sûr, serait rendue un peu plus agréable à lire, mais pas de soucis du tout. Nous pouvons en voir la position réelle. Et bien, je veux dire, c'est absolument parfait. Cela semble fonctionner très bien. Et tout va bien. Maintenant, il y a deux choses que nous devrions également ajouter, et c'est-à-dire dans les propriétés de l'article, je devrais également ajouter la durabilité ici. Et ce serait, par exemple, 16, pour que nous puissions l'utiliser 16 fois. Ensuite, nous devrions également nous assurer que nous endommageons réellement les objets. Cela va donc se faire en dehors de la déclaration if. On va dire les contextes P, point-dot-dot, obtenir un objet en main qui fait mal et se casser. Par un seul. On va dire les contextes P, point-dot-dot, obtenir un joueur. Ensuite, nous allons dire faire une parenthèse où nous mettons le joueur ici, puis un, une flèche, puis nous disons diffusion de points de joueur, événement de rupture avec le point de calque devient la main de l'objet utilisé. Cela va donc ajouter ou soustraire une durabilité à chaque fois que nous utilisons cet article. Et puis cela garantit simplement que nous ayons une certaine durabilité. Ils sont quelque chose que nous ne pouvons pas non plus empiler la tige de descente, ce qui est bien sûr très logique. Allons aussi juste pour argumenter sur celui-ci, au lieu de faire le GetName, faisons simplement comme élément, puis obtenons le nom du registre, puis mettons cela dans une chaîne. Cela devrait également fonctionner. Je crois que cela devrait alors sortir le deux-points Minecraft, et ensuite quel que soit le bloc réel, ce qui est totalement bien aussi. Ce ne sont là que quelques ajustements ici. Bien sûr, tout le code est disponible dans un référentiel GitHub et individuel. Mais ce serait le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile en euros du nouveau, et je vous verrai lors de la prochaine conférence. Donc, oui. 50. (Bases de Minecraft Basics): Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter un bloc avancé personnalisé à Minecraft. Semblable à l'article avancé. Et le bloc avancé a besoin de sa propre classe distincte. Ainsi, dans le package de blocs, cliquez avec le bouton droit sur un nouveau package appelé personnalisé. En quelque sorte, nous allons cliquer avec le bouton droit la nouvelle classe Java appelée bloc SPD. Et le bloc spirituel aura les fonctionnalités suivantes. Si nous sortons de l'avant, nous aurons un effet qui nous sera appliqué. Et voilà que les effets de vitesse de déplacement vont s'accélérer. Maintenant, cela étend la classe de blocs, en veillant à ce que nous choisissons un bloc de niveau mondial Minecraft net. C'est très important. Et puis nous survolons ce constructeur de creed correspondant super. Et si le paramètre ici n'est pas mappé, on peut simplement cliquer dessus, appuyer sur Maj F6, puis choisir Propriétés ici, juste pour qu'il soit un peu plus beau. Et ensuite, la méthode que nous voulons remplacer est la méthode pas à pas. Par conséquent, nous allons simplement taper ça , puis appuyer sur la Tab deux. Terminez cela. Et encore une fois, nous pouvons cliquer avec le bouton droit sur la classe de blocs et nous pouvons voir, eh bien, beaucoup de méthodes différentes que nous pouvons remplacer, probablement plus que dans l'élément. Et ce n'est bien sûr pas parce qu' il y a aussi une interface I4 chaque bloc qui a encore plus de méthodes que vous pouvez remplacer. Vous pouvez voir que c' est fou et beaucoup de méthodes que je recommande vivement. Encore une fois, il est tout simplement ouvert à l'expérimentation. Vous pouvez voir si j'ai commencé à taper override ici. Il existe la méthode américaine utilisée pour cliquer avec le bouton droit ou bloquer. Il existe des méthodes comme ajouter un effet d'atterrissage aux effets de course. C'est un truc fou. bloc de récolte peut récolter le bloc. C'est comme pour un article particulier, Canvas récolte le bloc. Nous avons une quantité insensée de choses comme vous pouvez le dire clairement. Il y a la méthode destruction, Il y a la méthode Hover Text au stylet, puis certains d'entre eux sont déconseillés ici. Maintenant, généralement lorsque vous disposez d'une méthode obsolète comme par exemple la méthode OnRemove ou la méthode américaine. La méthode américaine en est un excellent exemple, elle ne signifie pas toujours, forcément, que vous ne devriez pas l'utiliser. Ce que cela signifie, c'est que vous ne devriez pas appeler cette méthode, y compris le super cool. Mais c'est quelque chose à garder à l'esprit ici. Mais pour nous, nous sommes simplement intéressés par l'étape sur la méthode. Et ce que nous voulons vérifier ici, c'est que nous ne sommes pas sur le client ou que nous devrons taper exclamation P niveau est côté client. Maintenant, ce point d'exclamation est extrêmement important. Ok, ne le faites pas sans cela car sans le point d'exclamation, nous vérifions un étranger, les clients que nous voulons être sur le serveur. Nous devons nier cela très important. Ensuite, nous voulons vérifier si l'entité qui y est intervenue est l'instance d'une entité vivante. Cela signifie simplement que nous pouvons le lancer sans problème. On peut donc dire « entité vivante ». Et l'entité est égale à l'entité E Dot cast. Et puis, le plus souvent, il suggérera déjà une entité vivante. C'est donc génial. Et ensuite, ce que nous pouvons faire, c'est que s'il s'agit d'une entité vivante, nous pouvons appeler « dot add effect ». Et ici, nous voulions simplement appeler une nouvelle instance d'effet de mob. Ici, nous passons dans une foule des effets que ce que nous voulons, dans ce cas c'est la vitesse de déplacement. Et puis le deuxième paramètre ici sera la longueur. C'est donc le moment où cet effet a lieu. Si on mettait un 200, ce serait 200 tiques. Divisez cela par 20 pour obtenir le temps en secondes de base. Et vous pouvez également ajouter un troisième paramètre, et ce sera l'amplificateur. Donc, il s'agit essentiellement d'un amplificateur additif, qui signifie que si vous n' avez rien ici, ce qui signifie que si vous n' avez rien ici, ce sera, vous savez , ce sera sp2, ce sera sp3 et ainsi de suite et ainsi de suite. C'est donc l'idée générale ici. Mettons-en un juste pour que nous puissions voir cela aussi. Et bien, c'est à peu près tout ce que nous devons faire dans le domaine des fonctionnalités de la force de blocage rapide. Maintenant, nous devons encore l'enregistrer. Nous allons juste copier sur le cobol du sommeil profond ou ici et nous allons appeler cela le bloc de soulignement SPD. Et puis le nom est la même chose, bloc de soulignement rapide. Ensuite, c'est très important. Encore une fois, il s' agit d'un blocage rapide cette fois-ci et non d'un bloc normal. Les autres choses que je suis vraiment content, maintenant il s'agit des fichiers JSON que je vais copier. Tous ces éléments sont disponibles , bien sûr, dans le référentiel GitHub ou dans un particulier. Voyez que ce n'est qu'un modèle de bloc normal. Jason. Ensuite, copions celui-ci ici et disons bloc de soulignement ET. Et puis le nom sera un bloc rapide en tant que copie sur le modèle de bloc également. Encore une fois, vers un modèle de bloc normal qui pointe vers une texture. Et le modèle d'article ne possède pas non plus rien de fou ou de spectaculaire. Il s'agit simplement d'un modèle d'article normal comme nous l'avons vu pour beaucoup d'autres blocs qui pointent simplement vers le modèle de bloc. Enfin, mais non des moindres, bien sûr, ajoutons aussi de la texture et de l'ego. Nous avons maintenant ajouté tout ce que nous devons ajouter. Mais voyons si ça marche. Ou les offenses de retour et les migraines peuvent voir le SVD cassé a été ajouté aux jeux. Allons juste le poser. Et ce qui est très important, c'est que si cette flèche pointe vers cette direction, elle pointera toujours vers cette direction, quelle que soit la façon dont je la place vers le bas. Nous allons simplement garder cela à l'esprit. Parce que cette texture va toujours pointer dans la même direction. Nous allons voir dans une conférence ultérieure comment cela peut changer. Allons à l'école ici et vous pouvez voir que j'ai déjà rapidité de postuler à moi pendant que j'y suis. Je ferai en sorte que cela s'applique constamment à moi. Mais dès que je suis parti, vous pouvez voir maintenant que j' ai aussi de la vitesse. Cela pourrait être un bloc vraiment cool, par exemple, pour n'importe quel type de carte d' aventure ou comme carte de parkour, peut-être du caoutchouc qui serait déjà pour cette conférence ici. J'espère que cela vous a été utile pour ce qui est de la nouvelle force. Encore une fois, tout le code est disponible dans le référentiel GitHub ou un individu. Je vous verrai lors de la prochaine conférence. Donc, oui. 51. (Basques de Minecraft Basics): Bon, bienvenue au cours de fourrage pour 118. Dans cette conférence, nous allons ajouter un produit de carburant personnalisé dans Minecraft. L'ajout d'un article de carburant personnalisé est en fait assez simple. Cependant, nous devons en fait créer une nouvelle classe pour cela. Donc, dans notre package personnalisé ici, cliquez avec le bouton droit de la souris sur la nouvelle classe Java appelée objet charbon sliver. Et cela va étendre la classe d'articles. Passons le curseur sur cette création, constructeur correspondant super. Et alors, la seule chose que nous devons faire est remplacer une méthode en particulier. Et c'est D obtenir le temps de combustion. Juste ici. Nous allons simplement double-cliquer dessus, puis nous retournerons quel que soit le temps nécessaire à la gravure de cet article. Maintenant, pour nos besoins, nous allons faire 100. Encore une fois, c'est le temps qu'il faut, donc c'est très important. Et par exemple, le charbon a une durée de combustion de 1600, donc c'est exactement le quart, aussi bon que les plaies froides. Passons maintenant à notre classe plus d'objets et nous allons simplement copier par-dessus la tige de descente. Ce sera le ruban de soulignement du charbon. Et la même année, le charbon souligne l'éclat, en veillant à ce que nous n'ayons aucune durabilité là-dessus. C'est très important. Et que nous sommes en train de créer un nouveau charbon, un objet argenté ici. En dehors de cela, c'est tout ce que nous devons faire. Bien sûr, nous avons toujours besoin d'un modèle d'article. Il suffit de copier le modèle d'article du lingot de cobalt et nous appellerons cela le trait de soulignement de charbon. Et puis j' ai changé cette année. Cool, on va souligner le foie. N'oubliez pas d'ajouter également la traduction. Nous soulignerons l'éclat. Pire s'il s'agit de la force hépatique de l'OLS. Et puis dernier, mais non le moindre, ainsi que copier sur l'article également. Ici, dans notre dossier d' éléments pour l'introduction, le dossier des éléments textures il y a. Et c'est en fait tout ce que nous devions faire. Voyons donc si cela fonctionne ou s'il fait référence dans Minecraft. Et voyons simplement la côte du mari ajouté. Et bien sûr, cela fonctionne très bien. Et vous pouvez voir que le feu diminue bien, assez rapidement. Tout ce qui est considéré, il devrait y avoir 20 secondes avant qu'il y ait des brûlures, donc cela devrait suffire pour exactement deux objets. L'éperlan a complètement, essentiellement exactement le quart de ce que l'élément de base réel est que nous sommes capables de fondre. Je dirais donc que c'est plutôt cool. Très bien, et c'est en fait à quel point il peut être facile d'ajouter le carburant personnalisé à Minecraft. Et oui, malheureusement, ce que vous devrez faire, c'est que vous devrez toujours créer un nouveau cours personnalisé ici, ce que vous pouvez également faire en théorie, c'est que vous pouvez créer une classe anonyme dans les plus d'objets ici. Mais je suggère simplement de le faire comme ça parce que c'est beaucoup plus facile à faire. Soyons honnêtes, car ce n'est pas trop fou à faire. Et ça devrait aussi bien se passer. Vous pouvez toujours faire un nouveau paquet costumé comme des articles de carburant, puis mettre tous vos articles là-dedans si vous aimez vraiment cela, avec ces cours, cela devrait également être possible. Sinon, ce serait le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile et qu'il apprend le nouveau. Et je vous verrai au cours de la prochaine conférence. Oui. 52. (Bases de Minecraft Bas): Bon, bienvenue dans la salle de cours 118 fourrage. Et dans cette conférence, nous allons ajouter un produit alimentaire personnalisé à Minecraft. L'ajout d'un aliment personnalisé n'est en fait pas si difficile. Vous avez simplement besoin d'un nouvel article normal. Nous avons donc juste besoin d'un nouvel article ici. Et ça va être un navet. Et bien sûr, il en va de même ici, navet. Et quand nous devons le faire, nous devons appeler la méthode de la nourriture par points ici et transmettre certaines propriétés alimentaires. Maintenant, au lieu d'ajouter ces propriétés alimentaires en ligne, ce que nous allons faire, c'est que nous allons créer une nouvelle classe et le paquet d'articles cliquez avec le bouton droit sur une nouvelle classe Java appelée les bois de mode. Et là, vous pouvez créer cet aliment. L'exemple de vanille serait la classe de la nourriture. Appuyez deux fois sur la touche Maj et mettez les aliments ici. Assurez-vous de cocher la case Inclure les éléments hors projet ici. Et puis nous pouvons ouvrir cela et ils vont, maintenant vous avez accès à toutes les propriétés alimentaires que Bonilla offre également pour vous permettre de savoir en quelque sorte ce que vous devriez y ajouter. Nous allons donc ajouter notre propre propriété alimentaire ici, donc nous allons rendre un public statique. Finalement, de bonnes propriétés vont apparaître. Et puis cela équivaut à un nouvel aliment de fêtes qui construisent. Et nous allons ajouter de la nutrition. Mais c'est le nombre de rencontres AF que vous êtes restauré. Le mode de saturation est essentiellement ce qui se passe en arrière-plan. Et juste pour que vous l'ayez vu, vous pouvez également ajouter un effet ici, comme vous pouvez voir si nous pouvons simplement utiliser ici un fournisseur d'une nouvelle instance d' effet de mob, par exemple, des effets mobiles, cette vitesse de déplacement ou disons encore 200 ticks. Et puis vous transmettez également une probabilité à quelle fréquence cela se produit. Donc, si vous dites, par exemple, vous savez quoi ? En fait, je ne veux que cela se produise que 10 % du temps. Ensuite, vous mettez le point 1 f. Ensuite, à la fin, vous devez toujours terminer par un point construit ici et l'ego. Et c'est essentiellement le navet fait. Et maintenant, cette année sera appelée ici. Nous allons juste dire mod des aliments qui apparaissent. Et il y a longtemps, c'est tout ce que nous devons faire pour ajouter un aliment personnalisé. Maintenant, bien sûr, nous avons toujours besoin de la texture ainsi que du fichier JSON du modèle d'article ls. Maintenant, oubliez, et la traduction ici aussi. Le navet est bien sûr un verbe. Et ce sera le modèle d'article navet qui est un modèle d'article normal, car nous avons vu beaucoup de temps maintenant, qui montre simplement cette texture singulière ici. Et bien, après avoir ajouté tout cela, voyons si cela fonctionne ou offensant dans Minecraft. Alors, mangeons simplement le navet. Comme vous pouvez le constater, il a été ajouté et il a rempli exactement une barre de faim. L'idée est donc que, bien sûr, si vous en mettez deux, cela remplirait deux moitiés, ce qui signifie un lac, une cuisse de poulet, un seul bar de rencontre juste là. C'est vrai ? Il est donc facile d' ajouter des aliments personnalisés à Minecraft. C'est vrai ? Et ce serait un peu inquiétant pour cette conférence ici. J'espère que vous avez trouvé cela utile et qu'il apprend le nouveau. Je vous verrai lors de la prochaine conférence. Donc, oui. 53. (Bases de Minecraft Bases: Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter une info-bulle personnalisée à Minecraft. Et à quoi sert un outil personnalisé ? Eh bien, c'est exactement ce que vous voyez lorsque vous survolez un objet en particulier. Mais tout d'abord, ce que nous allons faire, c'est que nous allons l'ajouter à article de la tige de descente car nous avons généralement besoin d'une classe d' articles personnalisée pour cela. Cependant, nous verrons également comment nous pouvons le faire et les ajouter essentiellement aux blocs, car c'est quelque chose que beaucoup de gens ont demandé dans le passé. Je voulais donc le montrer également. Nous allons donc commencer par remplacer la méthode append Hover Text ici. Nous allons donc simplement taper un stylet Survol Text , puis le compléter automatiquement avec la touche Tab. Et puis nous n'avons plus besoin de cela parce que ce que nous voulons, c'est que nous voulons passer au-dessus de la tige de vidange réelle, puis ça va dire quelque chose comme Redshift pour plus d'informations. Et puis, lorsque nous maintenons la touche Maj enfoncée, nous pouvons voir l'infobulle réelle. Mais comment faire cela ? Eh bien, nous allons voir si l'écran est déplacé vers le bas, puis nous allons faire une autre chose. Nous allons faire une autre chose. Et la seule chose que nous allons faire, c'est que nous allons dire que les composants de l'infobulle ajoutent. Nous allons utiliser un nouveau composant traduisible ici. Et la clé sera le point d'infobulle, le point, l'abaissement, le trait de soulignement. À propos, disons simplement une infobulle, ce changement. Encore une fois, c'est très important. Ces clés sont juste cohérentes avec lui. C'est la chose la plus importante. Dans ce cas. Je pense que c'est très bien. Nous pouvons simplement copier cela. Et puis, ici, nous allons juste dire sans le changement. Maintenant, où définissons-nous cela va encore une fois, comme nous l'avons fait ici, nous définissons cela à l'intérieur du fichier Yen us JSON. Tout comme nous l'avons fait ici. Nous définissons cela dans le score ENR comme fichier JSON. Nous allons juste le faire en bas , ici, celui-là. Et puis cela va ressembler à ce qui suit. Donc, le décalage est celui qui apparaît réellement lorsque vous maintenez la touche Maj. Et il va y avoir un clic droit pour trouver des objets de valeur. Et nous allons simplement dupliquer la ligne en appuyant sur Control D et en supprimant le décalage ici. Et puis cela invite essentiellement l'utilisateur à appuyer sur Maj. Et la façon dont nous pouvons le faire est que nous pouvons insérer un symbole de paragraphe ici, E, lift et symbole Paragraph r. Et cela fera de cela une couleur différente. Je vais créer des liens dans les ressources, une excellente ressource pour voir ces codes de couleur. Je recommande vivement de jeter un coup d'œil là-dessus. Fondamentalement, ce sont les codes de mise en forme que vous pouvez également utiliser n'importe quel livre Minecraft. Je recommande vivement de les jeter un coup d'œil car alors vous pouvez colorer tout ce que vous voulez et vous pouvez rendre assez cool, toutes choses considérées. Mais oui, c'est en fait tout ce dont nous avons besoin pour cet article. Passons ensuite aux blocs. Les blocs sont un peu différents, mais ils sont également assez simples. Donc on ne va pas le faire pour le bloc rapide, on va vraiment le faire. Eh bien, nous allons passer outre ces deux méthodes, non ? Qu'est-ce que ça veut dire ? Eh bien, nous allons tout d'abord les copier, puis nous obtiendrons une erreur car, eh bien, nous avons deux méthodes qui correspondent à d'autres méthodes. Mais ce que nous pouvons faire, c'est qu'on va juste ajouter un nouveau paramètre ici. Et ça va juste être une ficelle. Et ce sera la clé de l'infobulle, alors la même chose va se produire. Je vais donc juste copier cela dans la méthode du bloc de registre. Et ensuite, vous pourrez voir toutes les œuvres à nouveau. Parce que ce que nous allons faire, c'est que nous allons aussi passer ça ici. Donc, l'infobulle, il va être transmis ici. Et puis ici, au lieu de simplement créer un élément de bloc normal après celui-ci, nous allons créer une classe anonyme. Et puis, ici, nous pouvons simplement ajouter le texte du survol. Ensuite, ce que nous allons dire, c'est que nous allons dire ajouter un point d'infobulle. Ensuite, nous allons juste dire un nouveau composant traduisible avec la touche d'infobulle que nous avons transmise. Et voilà. Maintenant, cela ne sera appelé que si nous ajoutons une infobulle e à la fin du bloc ici. Donc si je ne l'ajoute pas, alors ça va juste créer le bloc sans lui. Si je l'ajoute, je peux le faire. Par exemple, faisons le bloc SPD car cela n'a pas beaucoup de sens. Ensuite, nous pouvons dire, par exemple, outil, pointe, point, verrous ou bloc. Cela n'a pas vraiment d'importance. Speedy block, disons par exemple. Et cela ajoutera ensuite une info-bulle spécifique avec le bloc SPD. Nous devons simplement maintenant mettre cela ici aussi. Donc, quelque chose comme ça fait vraiment des excès de vitesse comme ça. Et cela s'affichera également lorsque nous survolerons le bloc SPD. C'est en fait à quel point il peut être facile d'ajouter cela aussi. Eh bien, des blocs spécifiques aussi. Maintenant, nous n'aurons pas la fonctionnalité particulière du quart de maintien. Bien sûr, nous pourrions également ajouter d'une manière particulière qui fonctionne également. Mais toute modification ici, vraiment avec un peu de connaissances Java, je suis sûr que vous les gérerez aussi, n'est-ce pas ? Maintenant, après avoir ajouté ces deux éléments, voyons s'ils fonctionnent ou si nous nous retrouvons à Minecraft. Voyons voir, voilà. Pour plus d'informations, appuyez sur la touche Maj de plus d'informations. Bien sûr, il fonctionne soit dans l'onglet « Pas de création », soit dans l'inventaire réel. Et si je maintiens Maj, cliquez avec le bouton droit de la souris pour trouver des objets de valeur, exactement comme nous le voudrions. Et puis voici le bloc SVD. Ça devient très rapide, le montre aussi. C'est vraiment génial et c'est peu près à quel point il est facile d'ajouter des infobulles personnalisées à Minecraft. Très bien, et ce serait déjà le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile et que vous avez appris quelque chose de nouveau. Si c'était le cas, j' apprécierais beaucoup un commentaire de votre part. Sinon, je vous verrai lors de la prochaine conférence. Oui. 54. (Bases de Minecraft: Bon, bienvenue au cours de forge pour 118. Et dans cette conférence, nous allons ajouter balises personnalisées à Minecraft. Par conséquent, les balises personnalisées ne sont pas les balises de nom. Il s'agit en fait d'étiquettes nous avons déjà parlé avec les étiquettes mineables et les étiquettes à outils à aiguilles. En gros, ce que nous allons faire, c'est que nous allons maintenant créer non seulement notre propre tag personnalisé, nous allons également voir comment ajouter des balises à l'espace de noms forge. Et cela pourrait aider avec la compatibilité entre votre MOD et le package de cours MC d'autres mois, nous allons cliquer avec le bouton droit sur un nouveau package appelé package util ici. Et puis à l'intérieur de là, nous allons créer une nouvelle classe Java appelée balises de modèle Veeam. Maintenant, les balises de moteur vont ressembler comme suit. Cela est donc essentiellement modélisé sur les balises orange ici. Ils ont donc essentiellement deux classes statiques, quand classe blocs et quand classe items. Et ici aussi très intéressant de regarder essentiellement certaines des balises optionnelles qu'ils ont déjà prédéfinies. Fondamentalement, vous pouvez aussi ajouter des trucs. C'est donc très bien. Je recommande vivement de jeter un coup d'œil là-dessus. Ce que nous allons faire, c'est que nous allons dire classe statique publique appelée blocs. Et puis, en dessous, une classe statique publique, des objets sympas. Ils il y a et maintenant, dans la classe des blocs, nous allons avoir besoin d'un point de balises statiques privées facultatif nommé tag of type block. Nous allons simplement appeler la balise de méthode avec un paramètre de nom de chaîne. Importons la classe de blocs, en nous assurant de choisir le bon bloc de niveau mondial Minecraft, bien sûr. Et ensuite, nous pouvons renvoyer les balises bloc point read en option avec un nouvel emplacement de ressources de notre mod de cours MC, mod ID et le nom. C'est tout ce que nous devons faire. Et ensuite, nous allons copier ça. Et nous allons appeler l'autre, l'étiquette orange est là. Nous créons une étiquette falsifiée. Au lieu de r mod ID. Nous allons passer dans l'espace de noms Forge. Et ensuite, nous pouvons prendre ces deux méthodes et simplement les copier en bas ici et simplement changer ceci en élément, identique à celui-ci. Et puis, au lieu de bloquer les balises, nous avons des balises d'article. L'ego et les classes sont essentiellement construits. Maintenant, la question est la suivante : que voulons-nous ici ? Eh bien, ajoutons tout d'abord notre propre tag personnalisé qui sera une statique publique. Les balises finales sont des balises nommées optionnelles du bloc de type. Et ce sera le soulignement de la tige de descente précieux, égal à un nouveau marqueur. Et puis le soulignement de soulignement, la bataille de soulignement. Maintenant, qu'est-ce que cela fait ? Pour le moment, cela ne fait rien, mais nous pourrons y faire référence plus tard et tout ce qui se trouve à l'intérieur de cette balise sera évalué d'une manière ou d'une autre. Pour ajouter des éléments à la balise, nous passons aux cœurs MC, puis nous allons créer un nouveau répertoire appelé balises. Et puis à l'intérieur de là, nous allons juste créer un nouveau dossier. Il y a en fait ce nom, donc les objets de valeur en bas, la tige soulignent les objets de valeur. Et c'est très JSON, très important que les noms ici correspondent. Ma vie est un peu plus facile. Je vais copier sur, vous savez, la façon dont la chose est structurée. Et ensuite, je vais également copier l'intégralité du contenu. Ils sont tous disponibles dans le référentiel GitHub et dans les particuliers. Cela rend la tâche un peu plus facile ici, vous pouvez voir en gros que j'ai du cobalt ou aussi un tas d'autres minerais ici. Et est-ce que tu es toujours comme Oui, mais qu'est-ce que ça fait, accord, maintenant on a une étiquette pour ça. Comment pouvons-nous en faire quelque chose ? Eh bien, dans l'article de la tige de descente, vous vous souvenez que nous avons cette méthode de bloc précieuse où nous avons dû passer des blocs manuellement pour ainsi dire. Et maintenant, ce que nous pourrions faire, c'est que nous pouvons dire plus de balises qui bloquent, ce gaussien ou des objets de valeur qui contiennent un bloc. Et cela reviendra simplement si le bloc que nous avons passé ici est contenu dans ici est contenu dans l' étiquette des objets de valeur de la tige de descente, et c'est tout. C'est tout ce que nous devons faire. Et maintenant, nous pouvons étendre cela à peu près infiniment. D'autres modes peuvent s'étendre. Cela rend notre mod 10 fois meilleur en termes de compatibilité. Et pendant que nous sommes sur la compatibilité des éléments, ajoutons aussi, finale statique publique, balises, points points, balises, balises nommées facultatives, éléments ou boulons de soulignement. Et cela équivaut à une étiquette forgée. Sous les lingots sont audacieux. Et ensuite, nous allons juste dupliquer cela. Je vais aussi mettre dans les pépites juste pour le spectacle en gros, alors ce serait son véhicule. Maintenant, pourquoi voudrions-nous faire ça ? Tout d'abord, il y a deux distinctions que nous devons faire. Si nous créons une balise optionnelle ici même dans ce mode, la classe fiscale ne fait rien. Cela nous permet simplement de spécifier ou de référencer certaines balises que nous avons créées comme celle-ci à l'intérieur de notre code. Ce n'est pas toujours nécessaire, mais cela peut parfois s'avérer nécessaire. Pour nos besoins, nous allons créer un nouveau dossier dans le dossier de données appelé Forge. Et puis, à l'intérieur, nous allons créer un nouveau dossier appelé balises. Et puis, à l'intérieur, nous allons créer un nouveau dossier appelé éléments. Et puis à l'intérieur de là, nous allons créer un autre dossier, de vieux lingots. Et puis, enfin, cliquez avec le bouton droit sur un nouveau fichier appelé cobalts JSON. Encore une fois, je vais simplement copier le contenu de celui-ci ici pour que nous ayons la structure fiscale de base. Et puis je vais juste dire cours MC, côlon ou boulon soulignent l'Angleterre. J'ai maintenant ajouté mon lingot de cobalt, l'étiquette forgée de lingots de cobalt. Maintenant, ce que le LSAT écrire comme ça ne nous amène nulle part. Pourquoi ferait-on ça ? Regardons ça. Si j'ai une recette dans laquelle j'ai utilisé le cobalt anglais, peut-être notre 1D ou d'autres modes qui ajoutent également du cobalt, vous savez, pour que cela soit également utilisé. Mais maintenant, je peux dire au lieu d'élément, je dis tag, puis au lieu de cela, je dis forge, un nouvel espace de noms. Nous sommes sous des lingots de cobalt. Maintenant, tout ce qui est ajouté à cette étiquette peut être utilisé ici pour créer cette recette. Et c'est incroyablement puissant, surtout quand, vous savez, vous avez un gros pack de mods, vous savez, vous voulez le rendre plus compatible les uns avec les autres. C'est génial, vraiment cool. Pensez-y définitivement, jetez un coup d'oeil là-dessus. Et oui, c'est à peu près les deux raisons méchantes. Je dirais que vous voudrez peut-être ajouter des balises ici, n'est-ce pas ? Ajoutons juste une chose de plus ici. Et ce sera un public qui évitera d'appeler la méthode de registre. Comme nous avons juste besoin d' enregistrer ces deux classes car ce sont des initialiseurs statiques. Il y en a un peu aux États-Unis. Ils le sont, nous allons juste avoir un bloc de tags de registre avec essentiellement rien dedans. C'est très bien. Et le nouvel équipement, et nous allons appeler ça les étiquettes d'articles de cheval. Et ici, nous allons juste appeler ça des blocs, pas bloquer les balises et les éléments, l'article 10 du registre des données. Et que cette méthode de registre sera simplement appelée ici. Donc, nous allons juste dire plus de tags dot, qui est l'ego, non ? Et il y a bien sûr une petite faute de frappe ici. En fait, cela doit être dans la catégorie des journaux. C'est là que tu y vas. Et puis tout devrait bien fonctionner. Voyons maintenant pour les travaux ou la finance ou le pack et Minecraft. Voyons donc si le cobol Ingrid fonctionne. Et voilà que tu y vas. Bien sûr, l' artisanat fonctionne toujours. C'est génial. Prenons la canne d'abattage et voyons, voilà. Je peux même trouver des trucs très tôt et je peux même trouver des choses que je n'ai pas pu trouver auparavant, comme l'or profond ou la guerre de Redstone détruite. Par conséquent, la balise réelle fonctionne également. C'est génial, non ? Encore une fois, tout le code est disponible dans le référentiel GitHub et individuel. Mais ce sera déjà le cas pour cette conférence ici. J'espère que cela vous a été utile et que vous avez appris quelque chose de nouveau. Je vous verrai lors de la prochaine conférence. Donc, oui. 55. (Bases de Minecraft Basics) Stairs personnalisés et labs: Bon, bienvenue au parcours forestier pour 118. Et dans cette conférence, nous allons ajouter escaliers et des dalles personnalisés à Minecraft. Maintenant, cela commence une petite section, pour ainsi dire, d'un bloc non bloqué comme j'aime les appeler. Cela comprendra, comme je l'ai dit, escaliers et les dalles, ainsi que les clôtures, clôtures, les murs, les boutons, les plaques de pression, la porte et la trappe. Il y aura donc essentiellement les quatre prochaines conférences. Et bien, commençons. Donc, dans la classe Modocs, ce que nous allons faire, c'est que nous allons simplement copier, disons le sommeil profond ou ici parce que c'est un peu plus facile pour nous en ce moment. Et puis on va appeler ça l'escalier de soulignement du cobalt. Et là aussi, bien sûr, cobalt souligne, le leur. Oh, puis copiez ça et faites les dalles. Donc les dalles, en fait la dalle, très important, mais les escaliers, c'est Laurel et avec la dalle, c'est singulier. Et là, ce sera un bloc d'escalier, alors que ce sera un bloc de dalles. Et le bloc prend en fait un, un autre premier paramètre qui va être un applicateur de blocs point cobalt, bloc dot-dot-dot obtient l'état de bloc par défaut ou par défaut. Ce n'est que le bloc dont les escaliers sont faits. Ça va bien se passer là-dedans. Fabriquons les deux matériaux en métal juste pour que nous ayons cela. Et puis, à part ça, je suis plutôt content de ça. Maintenant, le problème avec tous les blocs non bloqués, c'est que l'enregistrement réel ? Eh bien, c'est une année assez facile. Ce qui est vraiment le plus que je dirais, pas forcément ennuyeux, mais ça va devenir ennuyeux quand on arrivera aux portes et autres choses comme ça parce qu' il y aura beaucoup de fichiers JSON. Copions simplement les fichiers JSON avant l'IRS et les dalles. Donc, ce que vous remarquerez tout d'abord en ouvrant simplement l'escalier en cobalt, il y a beaucoup de choses ici plus qu'auparavant. La première chose que je veux dire, c'est que tous les fichiers JSON sont disponibles dans le référentiel GitHub ou un individu. Ne tapez pas ça. C'est de la folie, d'accord, ne faites pas ce pire scénario. Si, pour une raison quelconque, vous ne pouvez pas télécharger quelque chose pour moi, vous pouvez toujours aller dans Assets, Minecraft, donc essentiellement les bibliothèques externes et le client micro-ondes supplémentaire 181, puis sur, aux états microblocs d'actifs. Et ensuite, vous pouvez simplement prendre les escaliers Keisha, par exemple. Vous pouvez voir qu'ils sont exactement les mêmes. La seule différence ici est l'ID MOD et le nom. Et je vais vous montrer un tour rapide. Ce que vous pouvez faire, c'est que vous pouvez le sélectionner, puis appuyer sur Contrôle R. Et ici, par exemple, il suffit de changer la devise De. Si vous avez un ID de modèle différent, c'est Remplacer tout, puis il les remplacera tous. même chose avec le nom de l'escalier réel, à droite, est sélectionnée appuyez sur Control R et vous pouvez le modifier. Vous avez du titane, par exemple, Twitter au titane et à l'ego. C'est donc une très bonne chose à avoir. Je vous recommande vivement de le faire si vous voulez vraiment changer quelque chose, mais ne tapez certainement pas cela, ce serait de la folie. Maintenant, que font tous ces éléments, n'est-ce pas ? Nous avons donc des variantes particulières ici, et la variance est définie par des propriétés d'état de bloc. Maintenant, les blocs qu'ils propriétés dont nous allons parler dans une conférence ultérieure pour le moment, réfléchissons simplement à l'idée que certains blocs du monde peuvent avoir des propriétés différentes. Ok, ça ne devrait pas être trop fou. Et puis, en fonction de ces propriétés, à droite, si les propriétés orientées vers l'Est et la moitié sont en bas et que les propriétés de forme à gauche, alors nous allons afficher un particulier modèle avec une rotation particulière ici. Et puis le verrouillage UV, verrouille simplement la rotation de la texture afin qu'elle ne tourne pas avec le bloc. C'est juste, vous savez, que ce n'est pas trop important dans ce cas. Ce sont vraiment les plus importants. Et oui, c'est essentiellement un modèle différent. Et ce que vous verrez, c'est que nous avons les escaliers en cobalt à l' intérieur, puis nous avons soudainement les escaliers cobol extérieur et ici nous n'avons que les escaliers en cobalt. Ce que vous auriez peut-être déjà deviné, c'est qu'il y aura plusieurs fichiers de modèles de blocs pour les escaliers et aussi les dalles. Mais avant de les ajouter, ajoutons d'abord la traduction, juste pour ne pas l'oublier, car cela peut parfois arriver. Je vais juste copier la commande qui sera l'escalier Cobol. Et la dalle de cobol va être la dalle de cobol. Et ici, il y a du blanc et ensuite je peux copier les fichiers JSON du modèle. Ainsi, les fichiers Jason de modèle bloc, comme je l'ai dit, tous sont disponibles dans le référentiel GitHub ou en individuel tout aussi. Maintenant, ils ne seront que cinq. Ce n'est pas vraiment si mal. Et le problème, c'est qu'ils sont eux-mêmes assez simples. Comme si vous regardez ça, par exemple, il n'y a rien de trop fou, n'est-ce pas ? Donc le parent ici est différent, c'est une dalle. Ensuite, nous avons trois textures différentes. Mais en fait, l'OH pointe vers le bloc de cobalt car, bien sûr la dalle de cobol ressemble essentiellement à la moitié d'un bloc de cobol. Et quand ils sont les uns sur les autres, ce qu'on appelle un bloc. Ils vont donc et ensuite la même chose avec le premier. C'est exactement la même chose , sauf pour le parent. Jetons également un coup d' œil à ces escaliers juste pour l'achèvement. Et vous verrez vite que tout d'un coup, ce n'est pas vraiment fou. C'est juste que le parent est différent. Et le parent détermine simplement la forme du bloc réel affiché. Vous avez peut-être des escaliers qui sont des escaliers normaux. Lorsque vous ajoutez des escaliers dans un angle de 90 degrés, vous savez qu'ils ont une forme différente. C'est littéralement ce que fait le parent ici. Et les textures restent les mêmes. Et il s'agit des modèles d'articles. Ils sont en fait assez ennuyeux. Tout compte fait, ce ne sont que des modèles d'articles normaux. Les escaliers pointent juste vers les escaliers et la dalle pointe simplement vers la dalle normale. Ce qui est vraiment cool, c'est que nous n'avons pas besoin ajouter de textures car toutes les d' ajouter de textures car toutes les textures utilisées par les escaliers et les dalles sont le bloc cobol. Vous n'avez donc pas besoin d' ajouter de textures. Et avec cela, c'est vraiment bien fait, fondamentalement fait. Oh, je suppose que pour l'achèvement, voyons si cela fonctionne ou se référer à la microfinance peut voir la fois les escaliers et ces laboratoires ont été ajoutés avec succès au jeu. Et tout ici fonctionne très bien. Je peux bien les installer de la manière que je voudrais. N'est-ce pas tout simplement génial ? C'est en fait à quel point il est facile de les ajouter à Minecraft ou n'importe où ce serait déjà pour cette conférence ici. J'espère que cela a été utile dans le nouveau, une fois de plus, tout le code du fichier JSON est disponible dans le référentiel GitHub où un individu vient. Et je vous verrai lors de la prochaine conférence. Donc, oui. 56. (Bases de Minecraft Bas) Boutons personnalisés et plaques de pression: Bon, bienvenue au parcours forestier pour 118. Dans cette conférence, nous allons ajouter un bouton et une plaque de pression personnalisés à Minecraft, n'est-ce pas ? Donc encore une fois, le bouton et les plaques de pression sont en fait assez simples, ou l'enregistrement lui-même n'est que les fichiers JSON qui sont une année folle. Mais ajoutons simplement un bouton ici , puis tout le bouton Enregistrer. Ce sera un bloc de boutons en pierre car il n'y a pas de bloc de boutons métalliques dans ce cas. Et puis, très important, ce que nous avons également besoin d'un appel, c'est que nous devons appeler la « no collision » ici même. Mais nous pouvons fondamentalement traverser le bloc sans aucun problème. Et puis pour la pression du cobalt, soulignez tard. Et ici, soulignement mobile, la pression sous script en retard va bien sûr être un bloc de plaque de pression 0. Et cela prend en fait un, un autre premier paramètre, qui sera la sensibilité. Nous allons juste tout choisir. Par le bouton central de la souris, cliquez sur le bloc de la plaque de pression. La méthode de puissance du signal ici est essentiellement responsable de la sensibilité. Comme vous pouvez le voir, il y a un interrupteur ici , tout et des foules. Et une idée générale est que si vous voulez vraiment avoir une sensibilité différente, vous pouvez atteindre cette méthode en priorité, puis changer un tas de choses ici. Je recommande vivement certaines connaissances Java nécessaires pour le faire et être, avoir quelque chose de travail, mais cela devrait être réalisable, n'est-ce pas ? Passons maintenant aux fichiers JSON. Tout d'abord, cela a ajouté la traduction parce que ce sera, eh bien, la chose la plus simple est de le porter la chose la plus simple est de le porter rapidement pour que vous puissiez voir le bouton cobalt et la plaque de pression cobol puis les fichiers JSON fous. Une fois de plus, tous ces éléments sont toujours disponibles dans le référentiel ou un individu tout aussi bien que toujours. Et ça va être fou. Donc, la plaque de pression, je veux dire, c'est comme, très bien. Écrivez-le soit faux, donc alimenté ou non alimenté. Et puis, soit nous montrons le jeu de pression vers le bas ou la plaque de pression normale, il y en a assez. Qu'en est-il du bouton ? Eh bien, le bouton est un peu plus fou. Ainsi, le bouton ici, comme vous pouvez le voir, comme une fois de plus sur trois blocs différents propriétés de date, et en fonction d'eux, nous changeons, tout d' abord, modèle vers lequel il pointe et aussi la rotation ici. C'est donc assez dingue. Mais heureusement, le bouton n' a en fait que trois modèles de blocs différents, alors que la plaque de pression, comme nous l'avons vu, n'en a que deux. Alors, encore une fois, travaillez à cinq heures. Il suffit de les copier et jetons un coup d'œil. Mais dans l'ensemble, la plaque de pression, comme vous pouvez le constater, une fois de plus, montre simplement la texture du bloc de cobalt n'est qu' un parent différent. Donc, le modèle Jason est là, pas vraiment intéressant. Il en va de même pour tous les boutons. Ce n'est rien de trop fou. C'est donc quelque chose qui va se produire pour la plupart des fichiers JSON de modèles de blocs réels pour les blocs non bloqués. Ils ne sont pas vraiment intéressants. Il y en a beaucoup pour que vous puissiez définir tout ce que vous aimeriez. Et cela s'étend à peu près aux fichiers JSON du modèle d'élément. Vous pouvez le voir dans l'inventaire global des blocs et cela indique simplement la plaque de pression normale. Encore une fois, nous n'avons pas besoin d'ajouter de texture parce que toutes les textures qu'il pointe seront toujours le bloc de cobalt. Par conséquent, nous avons déjà fini. Encore une fois, tout ce que vous pouvez copier de l'essentiel. Donc, GitHub, je le recommande vivement. Et voyons simplement si cela fonctionne ou pourquoi nous avons trouvé suspect en micro. Comme vous pouvez le constater, tout a été ajouté et cela fonctionne parfaitement bien. N'est-ce pas génial ? Vous pouvez voir que tout fonctionne exactement comme vous l'attendez. Et ce serait déjà le cas pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 57. (Bases de Minecraft Bas) Fences Fences personnalisés et grates de clôture et murs: Bon, bienvenue au cours de forge pour 118. Et dans cette conférence, nous allons ajouter des clôtures, des clôtures, des portes et des murs personnalisés à Minecraft. Il s'agit donc encore une fois d'un exercice assez simple. Toutes choses prises en compte. Il y a, passons simplement dans la classe More Blocks et commençons par copier trois fois sur le bouton ici. Et ça va être la clôture en cobalt. Et puis, bien sûr, ce sera aussi les stylos promoteurs. Ce sera une clôture. Ecoutez, ça va être la clôture sur huit. Et c'est bien sûr aussi la porte de soulignement de clôture, qui est une clôture de huit blocs. Et puis le dernier sera un mur de football. Mur ici aussi. Et c' est bien sûr un livre mural. Maintenant, supprimons la non-collision ici. Ce serait bien, pas la meilleure chose si les clôtures n'avaient tout d'un coup aucune collision qui serait en quelque sorte à l' encontre de leur but. Et le reste va se passer tout à fait bien ici. Encore une fois, les fichiers JSON sont là où ils se trouvent. Tout d'abord, la traduction juste pour que nous l'ayons, nous n'avons plus besoin de s' inquiéter de cela. Je vais juste le copier pour que les fans de découple de clôture de cobalt arrivent dans le mur de cobalt ici. Et puis ajoutons le bloc s3 n'est pas loin, car tous sont bien sûr, une fois de plus, disponibles pour vous dans le référentiel GitHub ou un individu tout aussi. Et vous verrez que c'est en fait un peu différent. Jetons d'abord un coup d'œil au portail de clôture. Encore une fois, il comporte trois blocs différents. Il périmètre ou propriétés boxy, et il pointe simplement vers différents modèles de blocs. Rien de nouveau que nous n'avons déjà vu lors des deux dernières conférences. Mais la clôture et le mur. Ceux-ci sont différents parce qu'ils sont multipartites. Maintenant en plusieurs parties. L'idée générale est que, eh bien, comme vous pouvez le voir ici, n'est-ce pas ? Et le premier multipartie, nous avons appliqué ce modèle. Et ce modèle sera toujours appliqué s'il est assis. Maintenant, lorsqu'une propriété Roxy particulière est vraie, dans ce cas, si quelque chose est vrai, nous appliquons une autre propriété. Vous êtes un autre modèle ici. Et dans ce cas, ce sera du côté que vous savez que si vous posez le poteau de clôture tout seul et que vous ajoutez un poteau de clôture au nord. Nous ajoutons le site par la suite. Mais c'est une chose très fréquente que c' est comme ça que ça marche. Et c'est en fait une façon très simple de le faire. Cependant. C'est définitivement un peu différent. Je vous recommanderai de le vérifier, jeter un coup d'oeil là-dessus. Il ne devrait pas être trop fou de comprendre toutes les choses considérées. Nous ajoutons simplement différents modèles selon que quelque chose est fondamentalement un voisin. Fondamentalement, l'idée. Maintenant, cependant, il y a aussi la chose ajoutée que, eh bien, il y aura beaucoup de fichiers Jason maintenant. Il suffit donc de les copier tous parce que ça va être une folie. Nous les avons tous. Il suffit de les copier plus de 11 au total. Maintenant, nous allons juste jeter un coup d' œil sur eux, car honnêtement, ils sont tous très ennuyeux. Fondamentalement, ce sera toujours le parent différent. Vous pouvez voir clairement tout le temps que nous prenons la même texture ici. Vous pouvez voir que ce sera juste le parent qui est différent. Et fondamentalement, c'est la même chose pour tous les autres. Nous avons toujours pointé la même texture c'est juste le parent qui est différent. Je pourrais encore une fois, je le recommande vivement s'il y a un intérêt pour d'autres fichiers JSON. Accédez simplement aux bibliothèques externes, l' unité, au client micro-ondes, au TIN supplémentaire, et jetez un coup d'œil à toute la trace et rapidement ici même dans le dossier Minecraft des actifs, vous pouvez voir tous les fichiers JSON de modèle de bloc. Vous verriez tout cela, le bloc dit fichiers JSON. Donc, tout est fondamentalement disponible ici aussi. Cela recommande vivement de copier les choses et de ne pas tout taper, surtout si vous avez plusieurs murs et autres choses comme ça. Ce serait juste de la folie, non ? Obtenons également le modèle à trois articles Jason a ressenti au-dessus de n. Ce ne sont pas trop fous parce que nous avons un inventaire de clôtures en cobalt et un inventaire de murs cool. Ils sont essentiellement référencés ici. Et puis celle-ci n'est que la barrière normale en cobalt. Et encore une fois, étant donné que toutes les textures utilisent la texture du bloc de pied, nous n'avons pas besoin d' ajouter de textures. Maintenant, il y a une autre chose que nous devons ajouter pour que les clôtures et une valse fonctionnent correctement. Et ça va être des étiquettes. Ainsi, à l'intérieur des balises Minecraft, balises de blocs ou du dossier de blocs, je veux créer un nouveau fichier appelé les clôtures point JSON. Encore une fois, je vais juste copier la structure que vous avez terminée. Et ce sera le cours MC, booléen, clôture de soulignement cobalt. Ensuite, je vais prendre ça et je vais le faire glisser ici tout en maintenant le contrôle. Et je vais appeler ça des murs. Et ce sera le mur de cobalt. Si je n'ai pas cela, les clôtures et les murs ne se connecteront pas les uns aux autres. Mais c'est également très important. Nous en avons besoin. Mais si nous l'avons ajouté et le reste , voyons si cela fonctionne. Ou si j'étais chez un migrant asic et que tout a été ajouté avec succès et que tout a l'air génial. Vous pouvez le poser l'un à côté de l'autre. Exactement à quoi nous nous attendions. Il y a donc, tout fonctionne bien où que soit déjà pour cette conférence ici. J'espère que vous avez trouvé cela utile et qu'il apprendra le nouveau, et je vous verrai dans la prochaine conférence. Donc, oui. 58. (Bases de Minecraft Bas) Ports personnalisés et trapdoors: Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter une porte et une trappe personnalisées à Minecraft. Alors ouvrons la classe de boîtes aux lettres et voyons simplement le mur de cobalt. Et au lieu du cobalt, ce sera en fait une porte de soulignement de fleur de soulignement Sherry . en va de même dans le nom. Donc, dans ce cas , nous aurons un matériau différent ici, parce que nous ne ferons pas de portes en cobalt, mais à partir du bois que nous ajouterons dans une conférence future. Et ce qui est très important ici, c'est d'ajouter le charbon sans occlusion et aussi que nous fabriquons le matériau, car si nous fabriquons le métal cette porte fonctionnera comme une porte en fer. Si nous le faisons, nous pouvons l'ouvrir en cliquant avec le bouton droit de la souris. Il en va de même pour la trappe de soulignement en fleurs de cerisier. Je vais juste copier le nom ici et ajouter le piège à l'avant. Et il s'agit alors d'un bloc de porte piège. Je suis ici pour m'assurer que ce matériel serait et ensuite ajouter le no occlusion également. En occlusion, le froid est nécessaire ici car nous avons des valeurs alpha dans la texture réelle. Et en raison de ces valeurs alpha, nous devons également entrer dans notre classe de mod de cours MC. Et à l'intérieur, nous devons créer une nouvelle méthode. Nous allons donc créer un nouveau vide privé appelé le client cette méthode avec un ensemble final d'événements ou d'événements du client FML. Et puis à l'intérieur d'ici, nous allons appeler les types de rendu des blocs d'éléments, qui ont dit rendu plus tard. Pour les blocs de mode, point, fleur de cerisier, dor dot get avec le type de rendu que l' adulte, dupliquez la ligne. Et puis ici, assurez-vous que les trappes se fixent. Maintenant, cela n'est pas encore appelé car ce que nous devons faire, c'est que nous devons dire Event Bus, ajouter un écouteur, cette configuration deux-points, deux lignes. Ensuite, une fois cela fait, maintenant les clients FML qui ont la méthode sont appelés ici, la méthode et ces tribus de rendu sont définies correctement avant d'ajouter tous les fichiers JSON fous, Commençons par ajouter la traduction ici. est assez simple, rien de trop fou. Et maintenant, passons aux fichiers JSON. Tout d'abord, bien sûr, le bloc indique celui de Jason. Donc ce ne serait que la porte et la trappe que vous passez. Encore une fois, bien sûr, il y a assez de folie. La porte possède en fait quatre propriétés d'état de bloc différentes, comme vous pouvez le voir. Une fois de plus, tous les fichiers adjacents et tout le code sont disponibles dans le référentiel GitHub ou un individu. Je recommande de les copier quand il s'agit des modèles de blocs. Eh bien, nous sommes prêts à faire un régal parce que ce sera encore sept d'entre eux. Donc, ça va être assez fou. Maintenant, ils sont un peu différents, comme un peu plus compliqués mais pas aussi mauvais. Vous pouvez donc voir encore une fois que cela diffère le plus en tant que parent. Maintenant, parce que les portes sont deux parter block, pour ainsi dire, nous avons une texture supérieure et inférieure. Vous pouvez voir une porte en fleur de cerisier et un fond de porte en fleurs de cerisier. Et puis la charnière ici, vous pouvez voir que c'est juste un parent différent. Mais dans l'ensemble, une fois de plus, cela les jette un coup d'œil, il suffit les parcourir un peu. Vous savez, à quoi ils ressemblent, ils ne sont pas trop fous dans l'ensemble. L'article et les modèles sont également intéressants. La trappe ne doit être qu'un modèle d'article normal. Mais nous pouvons le voir. Cela montre simplement le bassin modèle bloc cette année, la porte pointe en fait sur une texture spécifique de l'article. La porte a-t-elle également une texture spécifique pour l'article ? Nous allons donc tout d'abord obtenir une copie de la texture de l'article ici. Et bien sûr, nous avons également besoin des trois textures différentes en fleurs de cerisier. Il pourrait donc s'agir du bas de la porte, du dessus de la porte et des textures de trappe. Maintenant, c'est en fait tout ce que nous devons faire. Cette configuration client est très importante ici, dont nous aurons également besoin dans les futures conférences. Mais chaque fois que nous avons un bloc qu'il ne remplit pas la totalité de l'espace d'état du bloc de rayons X , pour ainsi dire, nous devons essentiellement ajouter cela également. C'est donc très important. Sinon, voyons si cela fonctionne. Ou si je soupçonne et que les microARN peuvent voir la fois la porte de cerisier ainsi que la fleur de cerisier piégée ou ont été ajoutées au jeu. Et je peux cliquer avec le bouton droit de la souris et les ouvrir. Qui a dit que j'ai avec n'importe quelle autre porte ou trappe à base de bois ? C'est plutôt cool. Rubber, ce serait déjà le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile et que vous alertez le Nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 59. (Tout sur les outils) Créer un nouveau kit d'outils: Bon, bienvenue au quatrième cours pour 118. Et dans cette conférence, nous allons ajouter un ensemble d'outils personnalisés à Minecraft. Cela comprendra donc l'épée, la pioche, la pelle, la hache et le tout. Nous allons en fait créer une nouvelle classe personnalisée et le package d'articles ou les niveaux modernes. Parce que ce que nous devons définir, c'est un niveau personnalisé. Heureusement, forge nous rend la tâche très facile. On peut simplement dire une finale statique publique forgée ici appelée cobalt, ce qui équivaut à un nouveau forgé ici. Et ensuite, nous avons juste besoin de passer beaucoup de paramètres. Le niveau réduit la vitesse, le bonus d'attaque et le bonus de dégâts d'étiquette, la valeur du président. Ensuite, nous devons transmettre des étiquettes de blocs. Dot a besoin d'outils en fer, puis juste un fournisseur d'un dégradé. Et on va dire l'ingrédient d' autres objets, point, dot get. Et je vais vous expliquer tout de suite. Alors, que se passe-t-il ici ? C'est fou, en fait, ce n' est pas si fou. La première chose est, bien sûr, un niveau. C'est juste le niveau que cet objet représente ici ce niveau. Donc, nous pouvons vraiment y aller et vous pouvez voir qu'il y a beaucoup de choses ici. Et le niveau représente essentiellement, vous pouvez le voir ici, représente essentiellement l'idée de, hé, est-ce que ce sont des outils en pierre, des outils en fer ou des outils diamantés ? C'est essentiellement le niveau général, l'idée générale du niveau ici. Et nous avons le nombre d'utilisateurs. C'est donc exactement le nombre d' utilisations de cet article. Cependant, la durabilité, fondamentalement, la vitesse devrait être assez explicite. Il n'y a que la vitesse de l'article réel. Le bonus de dégâts d'attaque n'est qu'un bonus à attaquer. Cela fait, mettons ça à 3 et la valeur Chairman n' est qu'un canal. Il s'agit des balises de blocs. Vous n'êtes pas sûr à 100 pour cent, mais je crois qu'une fois de plus, cela se rétrécit à ce que cette déchirure forgée ou ce niveau d'outils peut essentiellement miner ici. Et puis le dernier, le fournisseur de l'ingrédient ici, est essentiellement l' ingrédient que vous pouvez utiliser pour réparer les articles de cette largeur de niveau. Donc maintenant que nous avons cela, nous pouvons aller à la classe plus d' articles et je peux commencer à prendre le tour. Prenons simplement celui-ci et faisons de cela l'épée de soulignement du cobalt ici aussi. soulignement en cobalt stocké. Débarrassez-vous de toute l'année. C'est plutôt important. Et il va s' agir d'un élément de tableau. Le premier paramètre sera plus de larmes points de cobalt. Le deuxième paramètre est le modificateur de dégâts d' attaque. Et le troisième paramètre sera le modificateur de vitesse d'attaque. Et puis viennent les propriétés réelles qui vont bien se passer. Et nous allons dupliquer cela cinq fois, puis nous obtiendrons les autres. Nous allons donc avoir la pioche murale ou le gros X ici aussi. Il s'agit d'un objet pioche. Et nous avons aussi le voyage qui voyagera ici. Et c'est un article de pelle. va être le robot qui agit. Et le cobalt agit ici aussi. Bien sûr, Item. Et puis le dernier et certainement le moins le cobalt OMS. Mais bien sûr, nous devons tout mettre ici, qui est le cobalt QUI et tout un objet, n'est-ce pas ? Donc, d'habitude, vous pouvez bien sûr changer ces chiffres, n'est-ce pas ? Vous pouvez les modifier. Ainsi, par exemple, les produits faits maison n'ont pas de modificateurs supplémentaires ici. L'ACS peut avoir, vous savez, celui-ci, mais par conséquent, peut-être comme un modificateur négatif, être modificateur ou tout simplement comme un modificateur 0 ici. Et le reste va bien se passer. C'est donc quelque chose que vous devez absolument jouer avec vous recommande vivement de jouer, d'être ouvert à l'expérimentation avec les chiffres ici. Parce que c'est juste équilibrer le modèle. Et dans l'ensemble, c'est à peu près l'enregistrement effectué. Nous n'avons maintenant besoin que la traduction ici, mais ajoutons simplement la traduction. Je vais juste copier ça. Cela devrait être assez explicite, n'est-ce pas ? Tout comme nous l'avons vu un million de fois, je pourrais déjà parler. Et puis les modèles d'articles ont une chose particulière qui est un peu différente avec eux, je vous montrerai quand je les copierai une fois de plus, tout cela vous est disponible dans le référentiel GitHub ou l' individu tout aussi. Vous pouvez voir que le parent ici est une barre oblique d'objet à main. C'est très important, sinon le supplément ne sera pas affiché en 3D dans les vues à la troisième personne. Il est donc très important que vous ayez l'article parent en main ici. Sinon, nous pouvons désormais copier les textures. Tous les cinq aussi, ils y vont. Et c'est à peu près tout ce que nous devons faire pour ajouter des outils personnalisés à Minecraft. Voyons donc si cela fonctionne. Très bien, nous nous retrouvons dans la microfinance et voyons que tous les outils ont été ajoutés avec succès. Voyons donc si je peux vraiment extraire des trucs avec ça. Cette année, bien sûr, ne fonctionnera pas dans ce cas, car nous l'avons défini comme le premier niveau. Cela devrait donc fonctionner. Cependant, voyons y aller. Cela fonctionne très bien. C'est donc un bon signe, bien sûr. L'oiseau devrait également fonctionner. y a certainement pas très vite, mais c'est tout à fait très bien sûr. Et puis un clic droit ici fonctionne également avec ce clic droit. Le décapage des bûches doit fonctionner bien défini, de même que le chemin. Tout ici ne sera que cinq à la vitesse, bien sûr, est défini ici. Donc, vous voulez augmenter la vitesse de ce pas réel de déchirure et le niveau ici, vous pouvez le faire comme ça. Et ensuite, ce que vous pouvez aussi faire, c'est dans le forgé ici, si vous appuyez sur le niveau ici, puis appuyez Control H et voyez les larmes de Minecraft lui-même. Et vous pouvez simplement jeter un coup d'œil à toutes les valeurs vanillées des outils ici. Pour cela, vous pouvez fondamentalement les changer et copier certains d' entre eux, n'est-ce pas ? Mais ils le seraient déjà pour cette conférence ici. J'espère que vous avez trouvé cela utile et qu'il apprendra les nouveautés et je vous verrai lors de la prochaine conférence. Donc, oui. 60. (Tout sur les outils) Créer un multi-outils (Paxel): Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter un objet Paxil personnalisé à Minecraft. C'est tout à fait exact. Nous allons ajouter une sorte de multioutil de testament à Minecraft. Et pour cela, nous avons besoin d'une nouvelle classe et d' un package personnalisé qui sera l'article Paxil, qui va étendre l'article de la pelle ici. Et cela va implémenter la vénérable interface. Passons le survol et créons une correspondance de constructeur super. Maintenant, il va falloir changer un peu cela parce que nous n'avons besoin d'aucun de ces deux. Parce que ces deux paramètres vont ici. Nous devrions faire quelque chose comme ça. Et puis le balisé pour les blocs va en fait disparaître car nous allons l'ajouter à nos balises de modèle maintenant. La façon dont nous faisons cela est que nous allons aller à notre classe de taxe automobile. Ensuite, nous allons juste copier les objets de valeur de la tige de descente. Et ici, nous allons rendre le soulignement de Paxil exploitable. Et puis le nom sera la barre oblique exploitable Paxil. Et cela va maintenant être référencé ici. Donc, mod tags, blocs sombres. Et juste comme ça, tout devrait aller complètement bien, non ? Et maintenant, ce cours devrait être complètement terminé. Et ce qui est génial, c'est que parce que nous avons défini ces balises ici, ce que nous pouvons faire, c'est que nous pouvons maintenant entrer dans notre dossier de données C corps, dans les balises, les blocs, puis cliquer avec le bouton droit sur nouveau répertoire appelé mineable. Et puis à l'intérieur de là, nous allons créer un nouveau fichier appelé Paxil, ce JSON. Et puis, ce que nous allons faire, c'est que je vais juste copier celle-ci par souci d'argumentation juste pour que nous ayons la structure de base de la balise. Et vous pourriez dire que c'est, eh bien, devons-nous maintenant entrer dans la pioche et simplement ajouter tout cela. Sachez que ce que nous pouvons faire, c'est que nous pouvons également ajouter des balises dans des balises. Mais ce que nous devons faire, c'est que nous devons dire hashtag Minecraft. Il s'agit donc de l'espace de noms de la balise que nous voulons ajouter. Et puis barre oblique exploitable, barre oblique minable, choisissez X, par exemple. Et ensuite, nous allons juste copier ça. On va faire l'ACS, ajouter des virgules ici, puis mettre de la pelle ici. Notre Paxil va donc pouvoir extraire tout ce qu'une pioche peut, un axone et une pelle. Et ce qui est le plus important ici , c'est parce que nous l'avons ajouté de telle manière que nous référençons les autres balises. Si un mode différent ajoute des éléments à ces balises, l'élément Paxil fonctionnera également pour ces blocs. Donc, c'est vraiment cool. Maintenant, comment créer l'article Paxil réel ? Eh bien, très facile. Nous allons juste copier le cobalt WHO et nous allons appeler cela le cobalt Paxil ou ce que les packs sont également calques. Et puis, ce sera juste un objet Axl. Et c'est tout. Vous y allez. Paxil est fini. C'est en fait à quel point c'est facile. En fait, ce n'est pas si fou que ça. Donc, bien sûr, vous devez savoir comment utiliser différentes balises dans vos propres balises et des choses comme ça. Mais dans l'ensemble, c'est assez simple. Il y a une limite particulière à l'article du pack et il n' a pas de fonctionnalité de clic droit. Vous pouvez maintenant ajouter la fonctionnalité de clic droit. Si nous cliquons sur l' élément de la pelle et que nous appuyons sur Contrôle H, nous pourrions, par exemple, entrer dans l'ensemble de l'article. Et vous pouvez voir ici les États-Unis cliquant avec le bouton droit de la souris sur la méthode. Et vous pourriez passer outre cela, et vous pourriez y mettre différentes choses. Vous pourriez dire, hé, faisons une action par défaut, entière, ainsi de suite. Et puis faites la même chose pour, par exemple, si vous vous faufilez, vous pouvez cliquer avec le bouton droit de la souris et ensuite cela crée le chemin, vous savez, quelqu'un comme ça, puis cliquez avec le bouton droit de la souris. Vous pouvez également ajouter le clic droit avec la fonctionnalité AKS. Nous ne le ferons pas dans cet exemple ici. Ce sera juste un article Paxil, un objet multi-outils qui sera essentiellement la mine L2, plusieurs types de promenades différents. Ajoutons également la traduction ici. Bien sûr, cela ne devrait pas être trop fou. C'est juste le cobalt Paxil, bien sûr. Et puis pour le modèle d'article, rien de trop fou. Ce sera juste le cobol Paxil qui pointe vers le cobalt Paxil extra, que j'ai bien sûr aussi. C'est un A, B, A, une texture cool que nous verrons dans le jeu dans un instant. Et bien, c'est en fait tout ce dont nous avons besoin pour ajouter l' élément barre oblique inverse au jeu. Voyons donc si cela fonctionne. Ou les inférences reviennent et les migrants peuvent voir que l'élément barre oblique inverse a été ajouté et il air absolument génial. Voyons donc voir. Vous y allez. Je peux l'utiliser comme pelle, exactement comme on s'y attendrait. Voyons si je peux également extraire ces blocs. Ils peuvent prendre un peu plus de temps, mais dans l'ensemble, je peux toujours les miner parfaitement bien. Et puis, trouvons quelque chose. Mais celui-ci devrait maintenant fonctionner car encore une fois, le niveau de cobalt n'est pas assez élevé. Mais si nous creusons un peu, nous devrions pouvoir trouver de la pierre ici. Et puis la pierre, je devrais être capable mien aussi et je devrais avoir des pavés. Vous y allez. J'ai eu des pavés. Comme vous pouvez le voir, tout fonctionne ici. Très bien. Article Axl, absolument. C'est génial, non ? Mais ce serait déjà le cas pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 61. (Tout sur les outils) Armes qui appliquent des effets: Ou je reviendrai au cours de fourrage pour 180. Et dans cette conférence, nous allons ajouter un outil qui ajoute un effet à la carte touchée. Qu'est-ce que cela signifie vraiment ? Eh bien, passons par là et voyons ce que cela signifie vraiment dans le package personnalisé. Cliquez avec le bouton droit sur la nouvelle classe Java, ou il s'agira de l'élément épée de lévitation. Et cela va étendre l'objet de l'épée survolera ce constructeur de creed correspondant super. Et ce que nous allons faire, c'est que nous allons passer outre la méthode de l'ennemi blessé. Et la seule chose que nous devons faire ici, c'est nous devons dire p attacker dot add effect, nouvelle instance d'effet mob, effets mob, pas lévitation, disons pour 200 ticks. Et puis, après les premières parenthèses, l' attaquant P est la source de l'attaque ici. Et c'est à peu près tout ce que nous devons faire pour les idées que nous allons ajouter et qui seront réellement cibles ici ou il y a un jour, la cible à Effect. Et puis voici l'attaquant P. L'idée est donc que lorsque nous blessons un ennemi, nous allons ajouter les effets de lévitation à cet ennemi lorsque nous le frappons avec ce type particulier. C'est quelque chose que beaucoup de gens ont demandé auparavant. Mais c'est pourquoi je le montre. Il est en fait très, très simple de le faire. Maintenant, vous devrez bien sûr utiliser cette classe ici. Par exemple, ici pour notre tri cobol, nous pouvons alors dire un élément de tri de lévitation ici. Et maintenant, chaque fois que nous frappons une entité ou un animal avec l'objet de tri cobalt, il devrait subir une lévitation pendant dix secondes. Ce serait vraiment drôle, mais voyons simplement si ça marche. Ou votre pharmacien de retour à Minecraft. Voyons donc si j'ai frappé l'animal qu'ils avaient pris, il est lévité et il devrait y avoir dix secondes. Mais ils vont juste flotter dans l'urine. Puis, à un moment donné, ils vont revenir sur Terre. Et cela entraînera également la mort. C'est plutôt drôle. C'est un effet cool de l'épée de lévitation n'est peut-être pas fondamentalement le plus intéressant, mais il y a plein d'idées, effets différents que vous pouvez ajouter au coup avec votre arme personnalisée, C'est vrai ? Mais ce serait déjà le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile et que vous apprendrez le nouveau sujet et je vous verrai lors de la prochaine conférence. Donc, oui. 62. (Tout sur les outils) Créer un nouvel ensemble de armes de armure: Ou je souhaite la bienvenue au cours de fourrage pour 118. Dans cette conférence, nous allons ajouter un ensemble d'armures personnalisées à Minecraft. Très semblable aux outils personnalisés pour l'ensemble d'armures, nous devons en fait créer une nouvelle classe. Cela sera inclus dans notre emballage d'articles. Cliquez avec le bouton droit sur la nouvelle classe Java appelée matériaux d'armure de mode. Et cela va implémenter l'interface du matériau d'armure et ce sera une énumération. Ce que nous allons faire, c'est que nous allons cliquer sur le bouton central de la souris dessus, puis appuyer Control H pour accéder aux matériaux d' armure ici. Et ce que je vais faire, c'est que je cliquerai en haut ici, directement sur le crochet précoce, vais tout en bas, maintenez la touche Maj puis cliquez en bas, puis appuyez sur la commande C pour copiez tout, puis Contrôlez V pour le coller. Maintenant, débarrassons-nous de celui-ci ici. Et dans l'ensemble, la seule chose que nous devons faire est de changer le nom du constructeur ici. Et ça va bien se passer. Maintenant, la seule chose que nous n'avons pas, c'est que nous n' aurons pas les noms de paramètres ici mappés. Vous pouvez maintenant les cartographier vous-même. En gros, vous pouvez cliquer sur Shift F6, puis le renommer correctement pour le nommer. Et ensuite, vous pouvez continuer à traverser, mais ce n'est vraiment pas nécessaire. Je vais en fait copier sur le constructeur parce que cela est préparé de manière mappée. Il y a des matériaux. Et voilà que tu y vas. Donc la seule chose qui ne fonctionne pas, c'est que, au lieu d'être une valeur paresseuse chargée, nous allons juste faire de cette année une année paresseuse. Et puis tout devrait bien fonctionner ici , mais le reste devrait aller bien. Bien sûr, tout cela est disponible dans le référentiel GitHub ou un individu tout aussi. Donc, pas de soucis là-bas. Et bien, qu'est-ce que cela fait ? Tout d'abord, nous pouvons voir toutes les valeurs de la vanille ici. Et parce que c'est une énumération, c'est plutôt cool parce que ce n'est pas avancé. Vous savez, même nous pouvons définir plusieurs valeurs différentes ici. Disons simplement que, par exemple, notre cobalt sera en quelque sorte au niveau de l'or. Mais disons que vous sachiez quoi, il va avoir un peu plus de durabilité , disons quelque chose comme 13. Peut-être que l'interopérabilité va être un peu moins, mais pas trop, comme peut-être 21, quelque chose comme ça. L'éclipse de but est très bien. Peut-être qu'il va même avoir un tout petit peu de ténacité. Je ne sais pas, comme 0,5, pas de résistance aux chocs. Et les ingrédients pour le réparer vont être plus d'articles points, dot get. Et ensuite, nous n'avons plus besoin du reste. Ce sera du cobalt. Et puis le nom ici, bien sûr, doit aussi être le cobalt. Et ces valeurs ici sont intéressantes car ces valeurs que vous pouvez voir, c' est le troisième paramètre, sont un tableau entier appelé protections de fentes. Maintenant, les protections lentes sont essentiellement les protections de chaque pièce d'armure différente. Cela commence par le bas. Il s'agit donc des bottes, leggings, de la plaque de poitrine, puis du casque. C'est très important. Et peut-être voulons-nous changer ça un peu, peut-être quelque chose comme ça. Le Talmud est peut-être un peu plus fort. La plaque thoracique et l'ego. Mais encore une fois, quand il s'agit des chiffres, jouez avec eux, soyez ouvert à l'expérimentation. Si vous voulez vraiment équilibrer votre mode, il va falloir jouer avec ça de toute façon. Donc, pas de soucis, il y a cependant une autre modification que nous devons faire, et c'est dans la méthode GetName ici. Parce que ce que nous voulons revenir ici, c'est MC cours mod, mod a, D plus deux-points plus ce nom. C'est très important que vous fassiez cela. Sinon, la texture ne fonctionnera pas comme nous allons la configurer. Donc, pas de soucis là-bas. Mais en dehors de cela, plus il y a de matériaux d' armure, si jamais vous voulez ajouter un autre matériau d'armure, ce que vous devez faire, c'est que vous devez également avoir tous ces pots. Et en gros, séparez-les avec une virgule. Donc, appelons ce cobalt deux par souci d'argumentation, vous pouvez voir, tant qu'ils sont nommés différemment, ça va aller. Ils sont tous séparés par une virgule. Et puis cela se termine par un point-virgule. C'est très important. Je voulais juste mentionner cela aussi parce que quelques personnes ont été confondues avec cela. En fait, ça ne devrait pas être si fou que ça. C'est juste une connaissance de Java très basique dans ce cas. Mais quel que soit le cas, passons maintenant à la classe More Items. Et créons nos objets d'armure ou d'armure. Prenons simplement l'essieu ici et passons au casque en cobalt et au casque ici aussi. Élément de soulignement. Et ce sera l' armure, très importante. Le premier paramètre sera les matériaux d' armure de mode, le cobalt. Ensuite, le nœud a trois paramètres. Pris. L'un des emplacements d'équipement. fente d'équipement dans ce cas avait un objectif. Et puis les propriétés de l'article nous permettent de copier cela trois fois, puis prenons la plaque de poitrine ici. Cette assiette. Et ensuite, la seule chose que nous devons changer , c'est la fente d'équipement ici. Il est très important que nous changions cela. Sinon, nous allons rencontrer certains problèmes. Pour quels leggings ? leggings ici aussi. Et puis, enfin, les bottes. Et puis des bottes ici aussi. Étrange ces deux jambes et ensuite cette fente d'équipement pour manger. Et avec cela, les quatre éléments sont réellement ajoutés. C'est comme ça que ça peut être facile. Maintenant, ce que nous voulons faire, c'est tout d'abord, avant d'ajouter les fichiers JSON, il suffit d'ajouter la traduction. Cela devrait être à ce stade anodin. C'est juste que je viens de le copier pour être assez explicite. Et quand il s'agit des modèles d'articles, ce ne seront que des modèles d' articles normaux. Parce que, bien sûr, à l'intérieur de l'inventaire, ils ressemblent à des articles normaux. Cependant, il y a une chose intéressante. Donc, tout d'abord, vous pouvez voir juste des pointes vers une texture ici. Et ça va bien se passer. Copions toutes les textures. Mais alors la question est, eh bien, comment obtenir cette armure 3D ? Eh bien, dans notre dossier Textures, cliquez avec le bouton droit sur un nouveau répertoire appelé modèles, et au lieu de leur nouveau répertoire appelé armor. Et c'est l' orthographe américaine qui est très importante. Donc, vous, les gens du Royaume-Uni, désolé, mais ce sera juste le cas, alors nous allons copier ces deux bons PNG ici. Il s'agira de la couche de soulignement du cobalt 1 et du calque de soulignement 2 cool. C'est très important. S'il vous plaît, faites attention ici. Ainsi, lorsque nous définissons le plus de matériau d'armure, ce nom ici, cobalt doit correspondre à ce nom ici comme exactement la même chose. Et puis la couche de soulignement, soulignement un sera essentiellement la représentation 3D. On dirait ça. Vous pouvez le changer un peu, mais pas trop. Et ça va être que vous pourrez voir la plaque de poitrine, le casque, un peu d'autres choses. Et puis ici surtout, je crois que les leggings et les bottes doivent correspondre exactement. Il ne peut y avoir aucun espace là-dedans, pas de parenthèses 1 car vous l'avez copié de quelque part. Exactement comme ça. Sachez que cela se trouve correctement dans le bon nom de dossier et qu'ils ont tous les noms corrects. C'est très important. Si jamais vous vous demandez où les autres textures ou vous pouvez aller bibliothèques externes qui microclimatent 118 supplémentaires une dans le dossier textures, puis dans l'armure des modèles, vous ont essentiellement accès à toutes les vanilles et vous pouvez les modifier en théorie si vous le souhaitez. C'est vraiment cool. Mais c'est en fait tout ce que nous devons ajouter. Voyons donc si cela fonctionne. Très bien, nous nous retrouvons dans la pleine conscience. On peut voir que tout ici a été ajouté au jeu et ça a l'air fréquent, incroyable. Oh, c'est à quel point il est facile d'ajouter l'armure. Vous pouvez voir des valeurs d' armure précoces ainsi qu'un peu de ténacité là-dedans. C'est vraiment cool, comme nous l'avons défini dans nos matériaux d'armure. C'est plutôt cool. Et ça fait voler les cochons, non ? Mais ce sera déjà le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile et qu'il apprendra le nouveau, et je vous verrai dans la prochaine conférence. Donc, oui. 63. (Tout sur les outils de votre jeu) Effet de couleur complète: Bon, bienvenue au parcours fourrage pour 118. Et dans cette conférence, nous allons ajouter un effet d'armure complète personnalisé. Qu'est-ce que cela signifie maintenant ? Eh bien, l'idée est que si nous portons tous nos ensembles d'armures, tous les matériaux d' armure en cobalt se trouvent ici. Ce que nous voulons, c'est que nous voulons ajouter un effet de potion personnalisé ou tout simplement normal avec le joueur. Pour ce faire, je vais vraiment copier la classe dont nous aurons besoin. Cela est également disponible dans le référentiel GitHub ou un individu. Très bien, donc c'est toute la classe et dans l'ensemble, nous allons passer par là et je vais vous expliquer au fur et à mesure. La première chose que nous avons, bien sûr, c'est une carte. Cette carte est donc mappée dans matériau d' armure à une certaine instance d'effet de mode. première chose très importante est que cette instance que nous utilisons dans cette carte ne soit jamais utilisée elle-même. Nous n'en prenons que les valeurs. Vous pouvez donc voir que si je mets le matériau d'armure cobalt, je vais m' appliquer un effet de chance avec un amplificateur d'un. Cela signifie donc que je reçois le verrou 2 et ensuite, bien sûr, aussi 200 ticks. Ce serait donc pendant 10 secondes. Actuellement, cela ne fonctionne qu' avec les matériaux d'armure mod, donc uniquement vos matériaux personnalisés et non avec ceux à la vanille. C'est là une limite très importante ici. Maintenant, comment cela fonctionne-t-il bien sur la tique d' armure s'appelle cette méthode ici. Nous surmontons cela et c'est ce qu'on appelle chaque fois qu'une pièce d'armure particulière, dans ce cas l'élément d'armure mode, se trouve à l'intérieur de vos emplacements d'armure. C'est ce qu'on appelle, nous allons nous assurer que nous sommes sur le serveur, puis nous évaluons si le joueur possède ou non une armure complète. C'est une méthode personnalisée que j'ai écrite. Ce n'est pas trop fou ici. En gros, nous obtenons simplement l'armure des emplacements 0 à trois, mais tous les avant-bras sont des fentes, puis vérifions s' ils ne sont pas vides ou non. Donc, si aucun d'entre eux n'est vide, nous allons obtenir un vrai là-dessus et ensuite nous allons continuer à évaluer les effets de l'armure. Pour cela, nous parcourons l'intégralité de la carte ici du matériau pour affecter la carte. Et juste en s'assurant que le joueur a l'armure correcte sur quatre, essentiellement un effet. Et nous allons nous assurer que nous allons nous en assurer. Et celui-là juste ici. Donc, celui-ci dit simplement, hé, est-ce le matériel de toutes ces armures, essentiellement le même matériau que celui-ci. Et si c'est le cas, nous pouvons continuer encore plus loin en ajoutant ces éléments satisfaisants. Nous veillons à ce que le joueur n'ait pas déjà l' effet. Sinon, vous appliquerez essentiellement le fait à chaque tique, ce qui pourrait être un peu trop souvent. Je viens donc d'ajouter ce contrôle de santé mentale ici. Ensuite, nous allons encore une fois vérifier si l'armure est activée et si c'est le cas, nous allons ajouter l'effet. Nous allons donc créer une nouvelle instance d'effet de l'instance d'effet réelle ici, obtenir une itération d'effet peut amplifier, comme je l'ai dit, ce petit effet ici, cette instance n'a jamais utilisé quand nous défini ici, il n' est utilisé que comme modèle afin que nous puissions également mettre dans la durée et l'amplificateur. Oui, c'est presque tout ce qu'il y a à faire. Ça ne devrait pas être trop fou. Vous savez, si la question se pose, vous allez bien, comment avez-vous fait cela ? Comment avez-vous fait ça ? Eh bien, c'est juste à la fin de la journée en Java que vous avez besoin et probablement un peu de connaissances Minecraft aussi. Et comment utiliser ce cours. Maintenant, nous allons dans nos objets mod, je préfère personnellement utiliser le casque en cobalt pour fabriquer un objet d'armure MOD ici. Et ce qui est très important, c'est que vous n'avez besoin que d'un de vos sets ici. Donc, un élément de votre ensemble, l'élément d'armure mode. Comme je l'ai dit, je préfère généralement le casque. Le jeu d'échecs peut aussi avoir du sens, ou les bottes, ce que vous voulez, mais une seule d' entre elles doit être plus une armure. Et si c'est le cas, nous pouvons déjà voir si cela fonctionne ou non ou si des entreprises comme dans Minecraft. Voyons donc, j' ai déjà tout mis sauf le casque et mettons-le et voilà. J'ai de la chance pour maintenant dix secondes. Et si je retire l'un de ces éléments d'armure, dès que l'effet disparaîtra, il ne se renouvellera pas. Comme vous pouvez le voir, vous y allez. Et puis ça n'a pas d' importance essentiellement quand j'ai allumé et lequel quand je n'ai pas lu. C'est vraiment vérifier toutes les autres pièces et ils vous donnent de la chance une fois de plus, n'est-ce pas ? Il y a certainement quelques limites avec ce cours, mais il faut espérer que cela sera une bonne introduction pour vous. Bien sûr, vous pouvez toujours modifier tout le code disponible dans le référentiel GitHub ou chez un individu. Et ce serait déjà le cas pour cette conférence ici. J' espère que cela vous a été utile. Et pour ce qui est du nouveau, je vous verrai dans la prochaine conférence. Oui. 64. (Tout sur les outils de votre chevaux: Ou je reviendrai sur les carottes fourragères pour 118. Dans cette conférence, nous allons ajouter armure de cheval personnalisée à Minecraft. Pour l' armure de cheval personnalisée est en fait un processus assez simple. Cependant, il y a une petite chose que vous devez garder à l'esprit. Eh bien, nous allons juste copier les bottes en cobalt ici. Et faisons-leur simplement une armure de soulignement de cheval de cobalt . Et même ici, Cobalt souligne l'armure de soulignement de cheval. Et ça va être une armure de cheval, non ? Celui-là. Et puis ce que nous voulons, c'est le premier paramètre, disons quelque chose comme 12. Et le deuxième paramètre va être une chaîne pour Bolt. Maintenant, la corde ici est très importante car elle définit le nom de la texture de l'armure du cheval. Nous allons donc tout d'abord ajouter la traduction à nouveau. Nous soulignerons l'armure de soulignement de cheval. Pour une armure de cheval de cobalt, bien sûr. L'ego puis un modèle d'objet. Je vais juste copier le lingot ici, et je vais juste appeler ça l' armure de soulignement du cheval de cobalt. Et ensuite, nous allons le changer ici aussi. Pire, pire armure de soulignement. Et puis ajoutons le modèle d'article ennuyeux, comme dans, c'est juste un article normal. Et ajoutons ici la texture ennuyeuse de l'article. Si ennuyeux aussi, c'est juste la texture normale. Qu'en est-il de la texture 3D ? Eh bien, cela va en fait dans le dossier des ressources, mais dans Minecraft pour un nouveau dossier dans le dossier des ressources appelé Minecraft. Et puis, à l'intérieur , nous avons besoin de textures. Et puis, au lieu de l' urne, nous avons besoin d'Entity. Et puis à l'intérieur de là, nous avons besoin d'un cheval. Et puis, à l'intérieur, nous avons besoin d'une armure. Encore une fois, l'orthographe américaine. Et puis je vais copier ça. Vous pouvez voir une armure de soulignement de cheval, un trait de soulignement du cobalt. C'est exactement le nom que nous lui donnons ici. Donc, si nous cliquons sur le bouton central de la souris sur l'élément d'armure de cheval, vous pouvez voir qu'il prend exactement cela ici. Il faut donc que les détecteurs, les entités, chevaux, les armures, les traits de soulignement du cheval, le soulignement n'importe où l' identificateur que nous mettons ici. Et le point PNG, en gros, est ce qu'il pointe vers 43, l'armure. Et c'est tout ce que vous devez vraiment garder à l'esprit pour l'armure de cheval. L'autre chose qui pourrait être intéressante, c'est que si nous pouvons y jeter un coup d'œil, par exemple, fer comme cinq pièces d'or de protection en a sept et le diamant en a 11 avec 12. Ce serait en fait un peu mieux que armure de cheval en diamant, mais c'est tout à fait très bien. Vous pouvez bien sûr modifier cela comme vous le souhaitez. Mais voyons si cela fonctionne. Ou une fournaise de retour à Minecraft et par chance, nous avons déjà un cheval apprivoisé ici. Donnons juste l'armure de cheval froid. Et c'est là. Il ressemble beaucoup à celui du diamant, mais il semble encore un peu différent. Cependant. C'est vraiment génial et c'est à quel point il est facile d'ajouter une armure de cheval personnalisée à Minecraft. Ecrire ce serait déjà le cas pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai au cours de la prochaine conférence. Oui. 65. (Tout sur les outils de votre plan) Enchantement personnalisé: Bon, bienvenue au cours pour 118. Et dans cette conférence, nous allons examiner comment ajouter des enchantements personnalisés à Minecraft. Les enchantements en eux-mêmes sont donc assez simples à ajouter. C'est difficile, c'est la fonctionnalité réelle des Enchantements. Mais dans le package de cours MC, cliquez avec le bouton droit sur un nouveau package appelé paquet enchantement ici. Ensuite, à l'intérieur, nous aurons besoin de deux nouveaux cours. L'un d'eux s'appelle la classe des minutes d'enchantement de mod. Et l'autre sera notre vrai président que nous allons faire. Et ce sera le brise-éclairs à Shenzhen. Il y a aussi la classe avec laquelle nous allons commencer. Cela va prolonger la classe d'enchantement ici. Et puis passons le curseur sur bon constructeur correspondant super ici. Il est donc très important que nous changions l'équipement en trois points au lieu d'être la zone réelle ici. Et ce que je peux également recommander vivement , c'est de cliquer sur ceci et le président et le pressant Control H pour pouvoir voir tous les enchantements de vanille que vous avez. Par exemple, il y a, je veux dire, il y a tellement de choses différentes, non ? Les épines du Président, il suffit de jeter un coup d'œil là-dessus. Vous voyez, Hé, comment ça marche ? Mais comment cela est-il fondamentalement possible ? Et vous pouvez simplement jeter un coup d' œil à tous ici. Je recommande vivement d'y jeter un coup d'œil, car c' est vraiment une excellente ressource pour voir les fonctionnalités possibles ici. Et pour notre président, ce que nous allons faire, c'est que nous allons d'abord remplacer la méthode de niveau GetMax. Et nous allons retourner a2 car ici, cela détermine essentiellement le nombre de livres générés. Parce que les livres, les livres sont générés automatiquement pour notre enchantement est vraiment cool. Et cela détermine essentiellement le nombre de niveaux qu'il y a. Maintenant, nous voulons écraser la méthode do post attack, qui est essentiellement appelée après un certain temps l'attaque sur une entité. Et nous allons juste passer par là. Je vais donc essayer de m'expliquer. Nous allons donc dire que le niveau de l'attaquant P n' est pas côté client. Donc, en fait, s'assurer que nous sommes sur le serveur. Veuillez noter que le point d'exclamation situé au premier plan annule le côté client. Très important que nous voulions être sur le serveur pour cela, nous voulons dire au niveau du serveur, qui est égal, appelons-le simplement monde, c'est très bien. Donc un peu habitué à appeler le monde du niveau. Et oui, il attaquant point niveau mais cast au niveau du serveur en fait pas au niveau du client, au niveau du serveur. Ils se sont terminés comme ça il y a. Ensuite, nous allons créer une couche serveur pour le joueur, qui sera égale au point de l'attaquant P sur le lecteur serveur. Exactement. Et puis nous allons avoir une position froide de passage de bloc, qui est égale au point cible, obtenez. En fait, c'est juste bloqué. Position. Vous y allez. C'est ce que c'est. Nous allons également importer la classe des articles de blog. Ensuite, à l'intérieur d'ici, vous pouvez voir que nous obtenons le niveau P, qui consiste essentiellement à obtenir un niveau ici, n'est-ce pas ? Nous allons donc obtenir le niveau des Enchantements. Nous allons donc dire que si le niveau P est égal à un, cela signifie que nous n' allons pas échanger un seul éclair. Mais l'idée est que nous voulons appeler l' apparition d' éclair point-points de type entité dans le monde. Pas de position du joueur, type d' apparition mobile , type point déclenché. Et puis vrai, puis vrai. Il s'agit donc essentiellement d'une façon d' engendrer un boulon éclaircissant. Très simple. Et le plus grand, c' est que ce n'est pas seulement un moyen d' allumer un petit boulon, vous allez littéralement engendrer tout ce que vous voulez avec elle, a, b et Ax, petite chauve-souris, une zone, nuage de faits , apparemment, un ensemble d'armures, ce que vous voulez vraiment. Mais pour le moment, nous allons le garder comme ça. Maintenant, nous allons juste copier ceci, faire ce niveau deux, et ensuite nous allons juste réduire les doublures. C'est en fait toutes les fonctionnalités dont nous avons besoin. Si vous voulez une fonctionnalité particulière pour votre enchantement, il s'agit simplement d'apprendre davantage Java et d' essayer un tas de choses. Soyez ouvert à l'expérimentation. Jetez un coup d'œil aux enchantements lunules, vivement recommandés. En gros, vous ne pouvez rien faire de mieux que ça. l'heure actuelle, nous devons encore ajouter des trucs à notre classe d' enchantements de mods. Et cela va avoir quelque chose que vous avez déjà vu auparavant et c'est un registre public statique différé final de type Enchantements. Cette fois, nous allons enchanter. Et cela est égal à d différents registres qui créent ou registres qui enchantent MC cours mod, mod ID, et s'il s'agit d'un registre différent. Il existe également une méthode d' enregistrement public statique des vides avec un bus d'événement oculaire ou un bus événementiel comme périmètre. Nous allons juste appeler les Enchantements qui s'inscrivent dans le bus de l'événement. Et sa méthode de registre est bien sûr, être appelée ici en vertu de la loi, les blocs simulés s'enregistrent, nous allons dire les réalisations mod dot register avec le bus de l'événement. Vous y allez. Et maintenant, c'est enregistré. Maintenant, ce dont nous allons avoir besoin, c'est que nous allons simplement faire suit va être très simple. Nous avons simplement besoin d'un objet Registre statique public de type enchantement, bien sûr, qui sera le marqueur de soulignement de la foudre, qui équivaut à des enchantements, commencer à enregistrer la foudre attaquant de soulignement. Alors, dans un fournisseur de nouvelle foudre ou d' enchantement avec la rareté, faisons cependant peu commun ? Peu fréquent, oui. Pour la rareté et la catégorie Enchantements est une arme que la fente d'équipement ne sera pas alimentée, mais nous allons juste faire cet équipement Slashdot à propos de la main méchante. Oui, tu y vas. Et c'est en fait tout ça. C'est tout ce que nous devons faire pour enregistrer cet enchantement. C'est la fonctionnalité, c'est l'enregistrement effectué. Maintenant, ce que nous devons encore ajouter, c'est que la traduction au lieu du fichier e et nous souligne, nous sommes habitués à, vous savez, je vais mettre ça en bas ici. Nous allons copier ça. Ce n'est rien de trop fou. Ce n'est que les QC d'enchantement, Stryker éclair. Donc, bien sûr, ce nom doit encore une fois correspondre à ce nom ici. Et puis, ce n'est qu' un enchantement Vermont ID. Et vous n'aurez besoin que de celui-ci même s' il y a plusieurs niveaux différents, cela sera traduit pour chacun de ces niveaux, n'est-ce pas ? Donc, après avoir ajouté tout cela, voyons si cela fonctionne ou pourquoi nous fonctionnons de nouveau en microfinance peut voir la foudre ou a été ajouté avec succès au jeu, les Enchantements. Il suffit donc de l'ajouter à notre épée de diamant ici dans ce cas, et utilisons simplement celles qui sont le numéro un. Ensuite, si nous utilisons le numéro deux, ce n'est pas pour remarquer la volonté, mais c'est quelque chose de différent. Alors, tu y vas. C'est en fait à quel point il est facile d'ajouter un client canalisé à Minecraft. Et ce sera déjà le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile dans l'urine. Donc, le nouveau, et je vous verrai lors de la prochaine conférence. Donc, oui. 66. (Intermédiaire) Propriétés de bloc: Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons parler de la propriété de l'état du bloc. Donc, le bloc dit que les propriétés sont une chose très intéressante. Et en gros, nous allons tout d' abord couvrir une sorte de théorie derrière cela. Et pour cela, nous allons sortir les diapositives PowerPoint. Jetons un coup d'œil à la distinction entre les états des blocs et des blocs. Donc, bloquez, vous pouvez penser que c'est une sorte de modèle unique. L'idée est que pour nous, dans notre classe more blocks ou pour les blocs Rindler de la classe blocs, nous avons différents champs pour un bloc particulier. Maintenant, ils sont créés une fois que vous vous souvenez qu'ils sont publics statiques finaux, ils sont donc attribués une fois. n'existe jamais qu' un seul champ pour un bloc en particulier. Vous pouvez donc les considérer comme un motif singleton. Bien que les états de bloc soient les instances qui se trouvent à l'intérieur du monde ou du niveau, les états de bloc enregistrent une position de bloc, les propriétés ce serait la force du bloc. Vous savez comment, combien de temps il faut pour casser des choses comme ça, que Nous avons essentiellement attribuées dans la classe de boîtes aux lettres, puis aussi les propriétés de l'état de bloc. Ce sont donc les trois grands. Bien sûr, il y a beaucoup plus que ça derrière. Ce sont les trois grands. Et vous pouvez y penser comme ça. Les états de blocs sont sauvés par le monde et ils ne peuvent être modifiés que par le monde ou le niveau. Par exemple, en faisant un écran solaire de niveau plutôt que de mettre certains paramètres. C'est l'idée générale. Vous avez un bloc qui est un modèle unique c'est juste l'idée d' un bloc pour ainsi dire. Parce que si je dis Redstone ou bloc, tu es comme, Ok, je sais à quoi ressemble Redstone ou Block, mais si j'ai trois Redstone ou blocs différents dans le monde, ils sont tous différents, mais ils sont tous du même type. C'est en quelque sorte l'idée. Vous pouvez donc considérer un bloc comme une classe et l'état du bloc serait l' objet qui en est créé, disons en termes de langage de programmation, pour ainsi dire , n'est-ce pas ? Alors, que sont les propriétés du bloc assis maintenant ? Eh bien, le petit titre ici, ou comment stocker des données dans des blocs n'est pas correct à 100  %, mais c'est en quelque sorte la même idée. Donc, dans la classe des bloqueurs de calcium dans ce cas, la question générale pourrait être, eh bien, pourquoi ne pas mettre un booléen là et alors cela fonctionnera bien, encore une fois, réfléchissez à cela. Lorsque nous créons un bloc, écrivez le, cette classe ici est créée une fois. Donc, si vous n'avez qu' un booléen pour tous les blocs de ce type, ce sera le même. Et bien sûr, cela n'a aucun sens, car si ce Redstone ou ce bloc est allumé ou non allumé, n' a rien à voir avec celui qui se trouve à deux pâtés de maisons. C'est vrai. Et cela, bien sûr, n'a aucun sens. C'est donc là que la séparation entre en jeu et c'est là que le bloc dit que propriétés doivent être utilisées. Nous pouvons voir ici que nous avons une propriété booléenne appelée lit. Et ce qui est très important, c'est que nous définissions cela dans la classe de blocs. Et puis, nous devons toujours appeler la méthode de définition de l'état de bloc de création méthode de définition de l'état de bloc ici et ajouter essentiellement les propriétés au constructeur. C'est très important, c'est qu'en général, les propriétés ne peuvent jamais être nulles. Ils ont donc toujours une valeur au-dessus, peuvent avoir plusieurs propriétés différentes. Et ces propriétés peuvent ensuite être référencées ultérieurement dans le fichier JSON des états de bloc pour faire référence essentiellement à différents modèles que nous avons déjà vus, n'est-ce pas ? Nous avons vu les escaliers à l'intérieur des portes, tout ça. Ils ont essentiellement beaucoup de blocs différents, les propriétés, puis la fin en fonction de leurs valeurs, ils font ensuite référence à un modèle de bloc différent. Et il était essentiellement un exemple, non ? Ce serait, LET est égal à faux et c'est allumé, est égal à vrai. Modification de l'état du bloc. Eh bien, comment cela se fait-il ? En fait, c'est très facile. Nous avons juste besoin d'un niveau ici. Nous avons donc besoin d'une variable de niveau quelque part, définir un bloc à une position particulière. Ensuite, nous obtenons l'état actuel. Nous définissons la valeur de la lumière exactement ce qu'il y a à l'intérieur d'ici, n'est-ce pas ? Dans ce cas, c'est vrai. Et puis les trois ne sont qu'un indicateur qui détermine le comportement de mise à jour du paramètre réel du bloc. Habituellement, cela se fait sur le serveur. Donc, si vous faites simplement cela sur le client, cela ne fonctionnera pas. Fondamentalement, assurez-vous toujours que vous êtes sur un thread de serveur lorsque vous modifiez l'état du bloc, bien sûr, si le client pouvait simplement modifier les états de Bach, ou cela pourrait conduire à des éléments intéressants. des problèmes qui disent, et oui, c'est à peu près l'idée, non ? Cela se produit sur une position particulière ici. Le deuxième paramètre est le nouvel état à cette position de bloc. Et puis le troisième paramètre, comme je l'ai dit, il modifie le comportement de mise à jour. Nous allons essentiellement passer par 3 4 Amin, essentiellement l'intégralité de ce cours parce que trois à jour tous les voisins et mettent à jour apparence et cela se passe. pour aller bien. Donc, pour le moment, je ne m'inquièterais pas trop à ce sujet si vous avez vraiment besoin de quelque chose d'autre, alors j'espère que vous êtes suffisamment avancé pour comprendre cela. Le vôtre aussi, n'est-ce pas ? Mais ce serait à peu près tout cela pour la théorie ici. Passons donc à l' intelligence et appuyons deux fois sur la touche Maj et mettons une pierre ou un bloc rouge. Nous allons en fait jeter un coup d'œil à ce cours. Et comme vous pouvez le voir, à peu près exactement ce que nous avions ici, une propriété booléenne appelée lit Tout en bas, nous avons la méthode de définition de l'état du bloc credo ici, qui est appelée. Donc, ces deux éléments sont essentiellement importants. Maintenant, la raison pour laquelle j'ai choisi le Redstone ou le bloc ici est parce que c'est l'exemple le plus simple d'une propriété d'état de bloc unique. Et il n'y a pas trop d'autres choses ici. Mais il y a bien sûr d' autres choses. L'attaque ici serait si vous cliquez simplement avec le bouton gauche sur le bloc, puis il commence à rechercher la méthode Interact, qui est essentiellement ici. Et c'est très intéressant. Donc, si la propriété lip est fausse , nous la définissons sur true. Et vous pouvez voir que c'est exactement le réglage de vrai que nous avions dans la présentation PowerPoint également. Nous avons placé le blog à une position particulière. L'état que nous définissons la valeur de LET le vrai, puis le drapeau ici est trois. Je crois donc que si nous survolons cela, vous pouvez voir que les drapeaux du monde entier sont les suivants. L'un est une mise à jour de bloc, deux l'enverront au client pour empêcher le rendu du bloc et des choses comme ça. Et vous pouvez en gros les ajouter. Mais si nous mettons un trois, ce qui va se passer, c'est que cela provoquera à la fois une mise à jour par bloc et qu'il enverra les modifications au client parce que nous mettons 1 plus 2. C'est l'idée de base. Si vous avez besoin de quoi que ce soit d'autre et qu'ils le sont essentiellement , jetez un coup d'œil à cela pour le moment. Nous n'allons pas trop nous inquiéter à ce sujet. Eh bien, tout va bien et très bien, nous pouvons tous y jeter un coup d'œil, mais soyons honnêtes, nous voulons faire quelque chose nous-mêmes, et c'est exactement ce que nous allons faire. Nous allons créer un nouveau cours ici. Dans notre package personnalisé, cliquez avec le bouton droit sur la nouvelle classe Java. Et ça va être la lampe en cobalt noire. Et cela va étendre la classe de blocs. Bien sûr, ici, importez cette image que nous avons choisie, que nous avons choisi la bonne plutôt que o, le constructeur d'écran correspondant super. Et si cela nous fait du bruit, il suffit de cliquer dessus, appuyer sur Maj F6 et de choisir Propriétés ici. Vous y allez. Très bien, maintenant nous avons besoin, bien sûr, d'un bloc, disons une propriété. Maintenant, je vais en faire une propriété booléenne finale statique publique propriété booléenne finale statique appelée clicked, qui est égale à la propriété booléenne dot create. Et c'est tout. plus, vous avez créé une propriété d'ID de blocs personnalisée. C'est tout ce que nous devons faire. Et bien sûr, nous devons toujours remplacer la méthode de définition de jeu de blocs Create. Et puis, en gros, l'appelez P builder dot add, cliquez sur. Vous y allez. Si vous avez plusieurs blocs, les propriétés, vous pouvez simplement les ajouter en les séparant par une virgule. Bien sûr, l'ajout de deux clics ici n' a pas beaucoup de sens, mais si vous en avez plusieurs, vous pouvez simplement les séparer par une virgule et en ajouter autant que vous le souhaitez avec le code d'ajout ici. Maintenant, ce que nous voulons, c'est que nous voulons pouvoir cliquer avec le bouton droit sur ce bloc, puis il s'allume et s'éteint. Nous allons juste prendre la méthode américaine ici. Nous allons passer outre cela. Permettez-moi de rendre cela un peu différent. Et bien sûr, parce que c'est obsolète, vous pouvez voir que nous ne devrions pas appeler cela. Nous allons juste rendre le résultat de l'interaction , ce succès, tout va bien se passer. Maintenant, la question est : d'accord, qu'allons-nous faire ? Eh bien, nous allons dire si le niveau P est côté client. Donc, en fait, s'assurer que nous avons le, il est très important que nous ayons le point d' exclamation au premier plan, ce le point d' exclamation au premier plan, annule cela, n'est-ce pas ? Nous voulons donc être sur le serveur, pas sur le client. Et je vais dire que le chapeau est égal à l'interaction main dans la main. Nous allons seulement appeler celui-ci, c'est l'idée de base. Et c'est très important. Donc, point d'exclamation, veuillez noter cela parce que je l'ai vu plusieurs fois. Les gens ont oublié le point d'exclamation où nous voulons être sur le serveur, pas sur le client. Ensuite, nous allons dire que l'état actuel booléen est égal à celui dans lequel nous avons été transmis. Il s'agirait donc de l'état de bloc réel lequel nous venons de cliquer avec le bouton droit de la souris. Et je vais dire que vous obtenez une valeur de cliqué. Et puis ce que nous allons faire, c'est que nous allons juste dire bloc de réglage de niveau qui ressemble à ce que nous avons vu à cette position particulière sur laquelle nous avons cliqué avec le bouton droit de la souris avec un état sur lequel nous avons cliqué avec le bouton droit et que nous avons défini. la valeur de cliqué sur l'état actuel, annulé les premières parenthèses, orientée, mise en trois, qui est les indicateurs. Et c'est en fait tout ce que nous devons faire pour que cette lampe change. Eh bien, c'est un état bloqué. Et nous allons voir comment nous pouvons représenter cela ou comment nous allons pouvoir le voir dans un instant. Mais oui, c'est à peu près tout ce que nous devons faire. Vous pouvez tout voir ici. Cela ne devrait pas être trop fou à ce stade. Oui, donc nous allons également enregistrer le bloc. Donc, dans notre classe plus de blocs, je vais juste copier par-dessus la trappe en fleurs de cerisier et ce sera la lampe de soulignement en cobalt car c'est la même chose ici, la lampe Cobalt. Et il s'agit maintenant d'un bloc de lampe en cobalt, qui ne va certainement pas prendre du bois. Prenons un métal et alors aucune occlusion n' est non plus le cas. Maintenant, ce que nous allons ajouter est très intéressant. Ce n'est pas strictement nécessaire, mais je voulais le montrer. Fondamentalement, ce que je veux, c'est que si la propriété click est vraie, alors ce que je veux, c'est que je veux que cela soit activé là. Comment pouvons-nous faire cela ? Eh bien, vous pouvez voir que nous avons ce niveau de lac ici, qui est une fonction to Int de l'état du bloc. Qu'est-ce que cela signifie ? Eh bien, cela prend essentiellement un état ici et ensuite nous l' avons semblable à un fournisseur. Vous pouvez voir que c'est similaire à un fournisseur, puis nous devons simplement le renvoyer pour que nous puissions en mettre 15, par exemple. Quel que soit l'état, vous pouvez voir qu'il va juste revenir 15. Ce n'est pas tout à fait ce que j'avais en tête. Ce que j'avais en tête, c'est que nous allions dire point d'état, obtenir une valeur de lampe cobalt noir cliquée. Nous obtenons donc la valeur , puis nous allons utiliser l'opérateur ternaire. Si c'est vrai, nous allons renvoyer 15, soit le niveau maximum de lumière, et sinon nous retournerons 0. C'est l'idée générale ici, c'est juste quelque chose à ajouter. Et aussi vous, maintenant vous savez, c'est comme ça que vous pouvez très facilement ajouter un niveau de lumière à un bloc si vous le souhaitez. Et maintenant, bien sûr, passons aux fichiers JSON. Donc, commençons par ajouter la traduction juste parce que cela va être un peu plus rapide. Je vais juste copier par-dessus la clôture ici. La lampe en cobalt. Ils se tournent autour de la lampe. Et puis je copierai également sur les états du bloc. Bien sûr, ils sont tous disponibles dans le référentiel GitHub ou dans les particuliers. Et voilà. Cliquez donc sur cette lampe égale à fausse cohorte éteinte. Nous allons donc pointer vers ce modèle, ils ont cliqué est vrai. Ensuite, nous allons pointer vers la lampe de soulignement en cobalt sur le modèle bloc. Nous allons donc copier ces deux modèles sanguins. ne devraient pas être trop fous, Ils ne devraient pas être trop fous, n'est-ce pas ? Non, bien sûr que non. En fait, ils ne sont pas trop fous. Et vous voyez, on vient de pointer la lampe au cobalt puis sur l' autre, pouvez-vous deviner ? Oui, dans l'ensemble, de l'agneau. C'est donc très simple, en fait. Les textures que nous leur pointons avec le modèle d'article, vous savez, ça va juste pointer vers le bas, allons en fait pointer vers l'unimodal. En fait, vous savez quoi, faisons valoir ce point au modèle parce que c'est un peu plus agréable dans ce cas. Et puis, bien sûr, il suffit de copier les textures comme nous l'avons vu plusieurs fois. Maintenant. Ils vont et bien, c'est à peu près tout ce que nous devons faire, n'est-ce pas ? La plupart des travaux lourds effectués ici par la propriété booléenne, et le reste devrait être assez explicite. Voyons donc si cela fonctionne. Ou nous nous retrouvons à Minecraft. Comme vous pouvez le constater, le cobol M a été non sollicité et il est là. Il a commencé en position ON. Donc, en gros, cela commence par une propriété booléenne est vraie, c'est tout à fait correct. Bien sûr, il n'y a pas de soucis là-bas. Et ce que vous pouvez réellement voir, comme mettons l'heure nuit ici et voyons si je clique dessus avec le bouton droit de la souris. Maintenant, nous pouvons réellement voir que la lumière est ce qui est allumé et éteint. C'est vraiment fréquent, cool. Mais c'est en fait à quel point cela peut être facile aussi. Mais pour que nous l'ayons, si vous voulez peut-être une autre propriété par défaut, ce que nous pouvons faire, c'est que nous pouvons appeler cela dans le constructeur, cet état par défaut de registre de points. Et puis nous pouvons dire cet état de bloc par défaut, notre valeur définie de clicked sera false. Et avec ça, ce que nous allons faire, c'est que c'est que c'est faux. Par conséquent, la propriété clip sera désormais fausse par défaut. Mais c'est en quelque sorte l'idée générale d'une autre chose intéressante, c' est que, par exemple, si nous allons dans la propriété booléenne, alors cliquez sur le bouton central de la souris, vous pouvez voir qu'il s'agit d'une propriété de type Booléen. Si j'appuie sur Control H ici, vous voyez qu'il s'agit également de propriétés entières et de propriétés enum. L'un des plus nombreux est la propriété direction. Vous pouvez donc également utiliser des propriétés entières et toutes les autres propriétés. Et si nous examinons réellement la propriété booléenne qui crée, par exemple, nous pouvons le faire, mais nous pouvons également jeter un coup d'œil, par exemple, à l'état du bloc. Je pense que c'est bloqué. Trois propriétés. Allez bloquer, disons que les propriétés que la classe a essentiellement tous les blocs de vanille, les propriétés définies ici, nous pouvons voir, par exemple, des propriétés entières, des âges, des âges, des âges, des âges. Nous avons un condensateur de niveau de chaudron de niveau inférieur. Donc, avec quelques exemples ici, je vous recommande fortement de jeter un coup d'œil à cela si vous souhaitez faire de vos propres blocs personnalisés une propriété. Sinon, ce serait déjà le pour cette conférence ici. J'espère que cela vous a été utile pour ce qui est du nouveau, et je vous verrai lors de la prochaine conférence. Donc, oui. 67. (Intermédiaire) Comment fonctionne NBT Data: Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons jeter un coup d'œil aux données NVT ou, comme on l'appelle maintenant balises composées, seront essentiellement des balises MVT. Alors, qu'est-ce que c'est ? Eh bien, il s'agit essentiellement d'un moyen d'enregistrer des données sur, par exemple, des piles d'éléments. Maintenant, la première question qui me vient à l'esprit est celle des piles d' articles d'eaux usées. Eh bien, tout comme les états Bloc sont les représentations d'un bloc à l'intérieur d'un monde, piles d'articles similaires sont représentations d'articles à l'intérieur de votre inventaire. Donc, si vous avez deux épées diamantées différentes, elles sont toutes deux l' objet, l'épée de diamant, mais ce sont des objets différents, des piles, c'est une idée générale. Et pour cela, ce que nous allons faire, c'est que nous allons sauvegarder le résultat que nous avons eu de la dernière canne d'abattage. Cliquez avec le bouton droit sur un puits dans les données NVT. Et ce que nous allons faire, c'est qu'on va faire un nouvel objet pour ça. Ainsi, dans notre package personnalisé, cliquez avec le bouton droit sur la nouvelle classe Java appelée élément de tablette de données. Et cela va étendre l'élément bien sûr, sur tout cela créer un constructeur correspondant super. Et puis, ce que nous allons faire, c'est qu'on va juste ajouter un tas de choses. Tout d'abord, nous n'avons pas vraiment besoin d' ajouter quoi que ce soit pour pouvoir y ajouter des données NVT. Nous pouvons ajouter des données NVT à n'importe quelle pile d'articles que nous voulons. C'est à peu près tout ça. Mais ce que nous allons faire, c'est que nous allons avoir les choses suivantes. Donc numéro un, je veux en fait que les données NVT soient affichées sous forme d'infobulle. On va le faire, c'est qu'on va dire ajouter du texte Hover. Et ce que je vais faire, c'est que je dirai essentiellement, Hé, si la pile réelle ici a des tags. C'est donc la méthode qui vérifie si, vous savez, des données NVT ou une attaque sont présentes ici. Ensuite, nous allons dire que les oranges ne sont qu'une ficelle. Et nous allons lire ça depuis la pile. point est balisé, ce qui permet d'obtenir la balise NVT ou la balise composée. Ensuite, vous pouvez voir qu'il existe différents types de méthodes que nous pouvons obtenir en gros quelques résultats différents. Il y a aussi quelques points. Eh bien, ce que nous allons faire, c'est que nous allons obtenir une chaîne avec la clé suivante, le dernier trait de soulignement du point de cours MC ou. Ensuite, nous allons simplement ajouter ceci à l'infobulle. Donc, les composants d'infobulle P, points ajoutent de nouveaux textes ou un Tout droit, donc nous avons vu maintenant deux des trois méthodes importantes, eh bien, les balises ont essentiellement une balise et sont ensuite balisées. Et ensuite, vous pouvez obtenir n'importe quel tag via une année clé particulière. Et nous le ferons aussi, c'est qu'on va faire ce membre. Nous allons donc avoir l'éclat enchanté sur cet objet s'il y a une prison à étiquettes. On va donc dire que c'est un fleuret et on va juste retourner la pile, pas comme étiquette, mais c'est à peu près tout. Dès qu'il a un composant p tag sur cette pile, il va commencer à scintiller comme si elle était enchantée. Ensuite, nous allons également remplacer la méthode américaine ici. Et ce que nous allons faire, c'est que nous allons dire ce qui suit. On va dire que si le joueur n'obtient pas d'objet en main, il a utilisé la main qui a des étiquettes. Donc encore une fois, si nous avons une étiquette, alors nous allons simplement dire que le joueur GetItems est dire que le joueur GetItems et utilisé la main de cette étiquette. Il s'agit donc du troisième à une nouvelle balise composée. Parce que si nous définissons simplement cela une nouvelle balise composée qui n'a rien d' associé, alors elle va simplement effacer la balise et le hashtag sera désormais faux. Donc, en gros, si nous cliquons avec le bouton droit de la souris sur la tablette de données D en l'air, cela va simplement effacer toutes les données qui s'y trouvent. C'est l'idée de base ici. Et bien, c'est à peu près tout ce qu'il y a à faire, non ? Nous avons le hashtag, nous avons le tag git, et nous avons l'attaque définie. Ce sont à peu près toutes les trois grandes méthodes auxquelles nous devons réfléchir. Et maintenant, nous allons vraiment faire, c'est que nous allons, bien sûr, changer la tige de vidange. Mais pour cela, nous allons avoir besoin d'une classe d'assistance util dans notre package YouTube. Cliquez avec le bouton droit sur une nouvelle classe Java appelée inventaire util. En fait, je vais copier ces deux méthodes parce que cela va simplement rendre cela un peu plus facile. Vous pouvez donc voir que c'est juste, simplement comme une méthode booléenne et une méthode entière. Et la méthode booléenne dit simplement : Hé, est-ce que le joueur, ce joueur a cet objet quelque part dans son inventaire ? Et puis l'autre dit simplement : « Hé, a le, où est l'indice de l' objet que nous transmettons ? Mais c'est essentiellement l'idée générale ici. Et ce que nous allons faire, c'est que dans notre objet Dao, nous allons maintenant changer cela. Bien entendu, l'un des principaux éléments est disponible dans le référentiel GitHub ou un individu. Mais je vais copier sur la méthode principale ici, qui sera l' annonce dans BT to data tablet. Maintenant, comme vous pouvez le constater, nous allons également devoir définir l'onglet Plus de données d'élément. Donc, pas de soucis là-bas. Nous allons juste le faire c'est juste immédiatement l'enregistrer. Donc, tablette de données. Et puis ici la tablette de soulignement des données. Et il s'agit bien sûr d' un élément de tablette de données dont ils n'ont que les propriétés normales. Et ensuite. Ici, tout devrait bien fonctionner. Cela ne devrait pas être trop fou. À ce stade, nous avons enregistré tellement d'articles. enregistrement d'un article doit être presque une seconde nature. Que faisons-nous ici maintenant ? Eh bien, nous obtenons essentiellement l'objet de l'inventaire du joueur. Mais en obtenant le premier index entier, nous obtenons la première instance de cet article dans l'inventaire. C'est très important. C'est donc comme ça que ça va fonctionner. Bien sûr, je vais le montrer lors de la démonstration juste un instant. Ensuite, nous allons créer une nouvelle balise ici, donc les données NVT. Et puis on va juste mettre une ficelle avec cette clé. est très important que cette clé soit correcte, car elle doit être exactement la même lorsque nous lisons cela essentiellement. Et puis nous avons juste mis en place, en gros, les mêmes choses que celles que nous avons mises ici. Nous allons donc simplement imprimer le nom et la position où nous l'avons trouvé. Et ensuite, nous ne faisons que définir la balise de la tablette de données sur les données MVT. Et puis à l'intérieur d' ici, juste après l'avoir trouvé, ce que nous allons faire, c'est que nous allons dire à ce qui suit, nous allons dire si l'inventaire util dot a une pile de joueurs et inventaire avec le joueur et plus il y a d'objets que la tablette de données obtient. Si c'est le cas, ce que nous voulons faire, c'est que nous voulons ajouter des données NVT ici avec le joueur, la position clique en dessous de I, puis verrouiller en dessous. Vous y allez. C'est à peu près tout ça. Bien sûr, cela n' est pas important pour les données NVT en général. C'est simplement la façon dont nous l'ajoutons. C'est donc vraiment comme la partie principale des données NVT ici, dans ce cas, créer une nouvelle balise composée, puis définir la pile sur cette pile d'éléments particulière. C'est à peu près l'idée de base. Maintenant, pour l' achèvement, bien sûr, ajoutons également la traduction ici. Il s'agira de la tablette de soulignement de données. Tablette de données ici. Très joli. Ensuite, ajoutez également le modèle d'article juste là pour que vous puissiez voir soulignement de la tablette de soulignement de données désactivée, texture de soulignement de la tablette de soulignement de données désactivée, curieuse et désactivée. Y a-t-il aussi une texture propre ? Oui, il y en a. Mais c'est quelque chose que nous allons voir lors de la prochaine conférence. En fait. On va juste copier ça. Et cela devrait être à peu près tout ce que nous devons faire pour bien ajouter la tablette de données et certaines données d'entité personnalisées. Voyons donc si cela fonctionne. Ou les farces en arrière et microvésicules voient que la table de données a été ajoutée au jeu. Maintenant, nous allons devoir changer l'empilement maximum ici dans un instant, mais cela va bien sûr être une solution très facile. Et voyons simplement si je peux trouver des objets de valeur. Ensuite, nous devrions voir le premier qu'il s'agit d'une tablette. Vous y allez. Nous pouvons donc maintenant voir Found Minecraft cuivre ou exactement à la position que nous avions là aussi. Donc, tout fonctionne. Si je clique maintenant avec le bouton droit de la souris. Il a maintenant été supprimé. Et ce qui est très important, c'est que si j'en trouve un autre, vous pouvez voir qu' il le remplace pour le premier. C'est essentiellement ce que j'ai dit, mais ça va le remplacer et ne pas mettre la prochaine fois. Vous pourriez bien sûr créer un autre puits, méthode habituelle d' inventaire qui ressemble à une méthode de recherche sans données NVT. Et ensuite, vous allez l' ajouter à la suivante. Cela fonctionnerait également, bien sûr, totalement très bien. Mais pour le moment, c'est plutôt bien. Maintenant, résolvons l'empilement de cela. Maintenant, vous pouvez voir qu'ils ne s'empilent plus. L'un d'entre eux avait des données NVT là-dessus. Mais vous voyez, je peux juste en acheter nouveaux ici et je peux les empiler, ce qui est bien sûr que ce n'est pas tout à fait ce que nous voulons. Donc, résolvons ça rapidement. Mais c'est bien sûr une solution très facile, n'est-ce pas ? Dans les propriétés de l'article, nous allons simplement ajouter la taxe à la méthode ici, et nous allons simplement ajouter un 1. Cela devrait donc être assez explicite ici. Et avec cela, l' ensemble de la tablette de données est terminée. Et ce serait déjà le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile et qu'il apprend le nouveau. Et je vous verrai au cours de la prochaine conférence. Oui. 68. Propriétés d'objets (intermédiaires): Ou je reviendrai au cours de fourrage pour 118. Dans cette conférence, nous allons ajouter une propriété d'élément personnalisée à notre tablette de données. Certains d'entre vous pourraient dire, Attendez Qu'est-ce qu' une propriété de modèle d'article personnalisée ou une propriété d'élément ? Je n'ai jamais entendu parler de ça. Eh bien, c'est fondamentalement très similaire à une propriété d'état de bloc. Cependant, il nous permet d'accéder à 0 pour un fichier JSON de modèle d'élément différent si la propriété modifie sa valeur. Ce que nous pouvons faire, c'est que nous pouvons modifier la texture de l'élément de la tablette de données si, vous savez, par exemple, nous avons des données BT dessus. Ce que nous allons faire, c'est que nous allons créer une nouvelle classe dans le paquet util appelée propriétés de l'élément mod. Ensuite, nous allons créer un vide statique public appelé méthode ajouter des propriétés d'élément personnalisées. Ensuite, nous allons faire ce qui suit. Tout d'abord, nous allons appuyer deux fois sur Maj et nous allons entrer les propriétés de l'article , puis nous assurer que la coche ici est cochée essentiellement dans propriétés de l'article , puis nous assurer que la coche ici est cochée la case incluant les articles non produits. Ensuite, nous allons entrer dans cette classe et vous pouvez voir qu'il s'agit essentiellement de la classe des propriétés de l'article. Et si nous descendons, vous pouvez voir ceci, par exemple, le bol qui a le poteau et les propriétés de traction utilisées pour modifier la texture à l'intérieur de l' inventaire du bol. C'est vraiment cool. Et c'est, eh bien, une de ces choses que si vous ne le savez pas, il est très difficile d' y penser. Mais une fois que nous le savons, une fois que vous aurez vu comment cela fonctionne, cela va être assez simple. Nous allons donc dire les propriétés d' élément qui enregistrent les éléments de mode, la tablette de données, point get, puis un nouvel emplacement de ressources appelé Mod de cours MC, mod ID, puis ainsi de suite. Ce n'est donc que le nom de la propriété. Et ensuite, nous avons besoin d'une méthode Well folle. Et puis, ce que nous allons faire, c'est que nous allons juste mettre entre parenthèses et ensuite l'API. Et vous pouvez voir qu' il n'y a essentiellement qu' une fois que tous générés pour nous la fonction de propriété item. Donc, nous allons juste appuyer sur la touche Tab et c'est très bien. Maintenant, cette fonction de propriété d'élément renvoie un float et il s'agit essentiellement la valeur que prend la propriété item. Ce que nous allons voir, c'est que nous allons dire hashtag point de pile P, marque occidentale un, f deux-points 0, F. Et nous utilisons essentiellement l'opérateur ternaire. Une fois de plus, il en retournera une si l'attaque est réellement présente et 0 si l'attaque n'est pas présente. Eh bien, c'est à peu près tout ce que nous devons faire. Je vais devoir appeler cela dans la configuration de notre client. C'est très important, c'est ce qu'on appelle la méthode directe ici les propriétés de l'article, plus de propriétés d'article qui ajoutent des propriétés d'article personnalisées. Et c'est à peu près tout. Pour chaque article supplémentaire. Nous venons d'ajouter un nouvel appel de registre ici. Et c'est à peu près tout ce que nous devons faire. Maintenant, où pouvons-nous utiliser cela ici ? Eh bien, nous l'utilisons à l'intérieur du modèle d'article. Donc, ce que nous allons faire, c'est d'abord que nous allons avoir un nouveau modèle. Donc, la tablette de données ici, je vais vraiment copier ça. Je vais donc le faire glisser dans le même dossier tout en maintenant la touche Contrôle. Je vais appeler ça la tablette de données. Je vais juste changer ça en tablette de données ici, pas trop tôt, mais sur l'ego. Ensuite, je vais copier sur l'autre tablette de données ou le contenu ici. On va juste ouvrir ça. Nous avons maintenant un trait de soulignement de la tablette de données sur la base d'un fichier. Et ceci, je vais copier le contenu et je vais expliquer en détail comment cela fonctionne fondamentalement. Par défaut, il s'agit de la texture choisie, la tablette de données désactivée. Il y a maintenant une dérogation ici. Il s'agit essentiellement d'une liste de différents remplacements qui comporte un prédicat. Et le prédicat est fondamentalement vous pouvez considérer cela comme un, si c'est vrai, alors nous allons simplement écraser avec ce modèle ici. Et le prédicat est, hé, les cœurs MC sur la propriété item doivent être un. Et ensuite, nous allons le remplacer par celui-ci ici, qui est la tablette de données des éléments de cours MOOC sur laquelle nous venons de créer ici, qui pointe ensuite vers le contexte de la talents de données. C'est à peu près tout ce qu'il y a à faire , c'est que ça ne devrait pas être trop déroutant, ça ne devrait pas être trop fou. Nous le faisons essentiellement d'une manière très similaire car le bloc dit que les propriétés sont un peu différentes. Et oui, c'est presque tout ce qu'il y a à faire. Je vais donc ajouter l'autre tablette de données sur la texture. Et puis ce que nous sommes prêts à jeter un coup d'œil à cela. Encore une fois, je recommande vivement d'être ouvert à l' expérimentation, jouer un peu avec cela parce que les propriétés de l'article sont vraiment cool et j'adore ça. Il est en fait assez facile de le faire. Je recommande donc vivement de jeter un coup d'œil là-dessus. Mais pour l'achèvement, voyons si cela fonctionne. Très bien, nous nous retrouvons à Minecraft. Voyons donc, essayons de trouver des objets de valeur. Et dès que nous l'avons trouvé, c'est là. Et ensuite, la texture réelle a également changé. Donc c'est vraiment cool, et je peux cliquer avec le bouton droit de la souris dessus, nous supprimerons à nouveau les données et la texture reviendra. Donc, c'est en fait à quel point il est facile changer fondamentalement la texture de ceci et juste quelque chose comme ça petit, non ? Changer la texture sur la tablette est un effet tellement cool que c'est sûr, c'est comme si ça va faire savoir tout un mod ? Mais si vous ajoutez quelque chose comme ça à votre MOD, ça va être beaucoup plus fréquent , n'est-ce pas ? Et c'est déjà tout pour cette conférence ici. Tout le code des fichiers JSON est bien sûr disponible dans le référentiel GitHub et pour un individu. Et je vous verrai au cours de la prochaine conférence. Oui. 69. DÉMISSION 7 : BlockStates et NBT: Bon, Bienvenue dans cet exercice ici pour le cours de forge. Et ce que vous êtes censé faire ici, c'est que nous en ferons une propriété d'état de bloc , puis un exemple de données NVT. Fondamentalement, votre créativité est juste vous pouvez faire ce que vous voulez. Fondamentalement, soyez simplement créatif. Ne devenez pas trop fou, n'est-ce pas ? Ne pensez pas que je vais faire un truc fou avec six données NVT différentes. Oh, très lent, très facile, non ? Peut-être faire une autre propriété booléenne, peut-être faire une propriété entière, quoi qu'il y ait, ceci à quelque chose qui est vraiment cool, mais aussi pas trop fou. N'allez pas trop par-dessus bord avec ça. Pensez-y simplement et vous gérerez cette tâche. Il n'y a pas de solution réelle pour cela parce que, en gros, vous pouvez faire ce que vous voulez ici, ce qui peut être un peu trop gros, mais je suis sûr que vous y arriverez, mais je suis très intéressé par Voyez ce que vous pouvez trouver et oui. 70. (intermédiaires): Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter un recadrage personnalisé à Minecraft. Le recadrage personnalisé est donc en fait un processus assez simple. Toutes choses considérées, il y a bien sûr des choses très spéciales que nous n'avons pas encore vues, mais dans l'ensemble, tout va bien se passer. Tout d'abord, nous avons besoin d'un pass personnalisé dans notre package personnalisé, cliquez avec le bouton droit de la souris sur la nouvelle classe Java appelée le bloc Rob navet. Et bien, nous avons deux possibilités différentes ici. Nous pouvons soit l'étendre à partir du bloc de culture, soit, et ce sera plus facile d'abord, nous allons en fait étendre cela à partir du bloc racine de betterave. Maintenant, la raison en sera évidente dans un instant. Tout d'abord, si le paramètre est votre bruit, vous décalez F6, puis renommez-le propriétés et le bouton central de la souris cliquez sur le barrage de la perle ici. N'importe qui verra qu'il possède une propriété entière appelée age. Maintenant, cette propriété entière va de 0 à trois, ce qui correspond exactement au même nombre d' âges ou de valeurs d'âge que notre bloc possède également. C'est pourquoi nous pouvons essentiellement prendre la quasi-totalité de tout cela. Il suffit de remplacer la bonne méthode d'identification des semences ici, dans notre propre classe. Et le reste peut essentiellement rester exactement tel quel. Maintenant, si vous avez un âge différent dans votre culture habituelle, jetez un coup d'œil au bloc de culture. Vous pouvez voir que la chance de récolte a en fait une personne âgée de sept ans dans ce cas. Si vous souhaitez modifier cela, vous pouvez également le modifier en utilisant un autre chaque année ou définir votre propre âge si, vous savez que 12357 et 15 ou 25 ne sont aucun des agents que vous voulez. Vous pouvez simplement créer votre propre propriété entière. Nous l'avons déjà vu. Donc, ça ne devrait pas être trop fou. La seule chose qui pourrait être un peu folle, c'est cette forme par âge ici. Je peux donc effectuer un zoom arrière un peu , puis simplement faire défiler et continuer à faire défiler et faire défiler. C'est juste très mal formaté dans mon esprit. Je n'aime pas ça, c'est que tout soit en une seule ligne. L'idée générale est que nous n'avons qu' une boîte dans le niveau sauvage de cette boîte change. La boîte est le contour noir d'un bloc lorsque vous le survolez. Et le contour change en fonction l'âge de la culture réelle ici. Et puis il en va de même pour le bloc racine de betterave. On peut voir dans le 0e âge, il est 246 et huit ans. Et vous pouvez fondamentalement modifier ceux sur Will aussi. C'est donc quelque chose que vous pouvez également faire. Tout ça ne devrait pas être trop fou. Toutes choses prises en compte. Vous savez, si vous avez une culture entièrement personnalisée que vous souhaitez implémenter avec un âge différent et tout cela, je suis sûr que vous y arriverez car plupart de ces choses n'est pas trop folle. Assurez-vous simplement de savoir que vous remplacez la méthode d'âge GetMax. Il suffit de jeter un coup d'œil à la racine de betterave. Ici, jetez un coup d'œil au bloc de culture ici. Jetez un coup d'œil aux changements qu'ils ont apportés de l'un à l'autre, puis au reste. Je suis sûr que vous allez vous débrouiller et comprendre. Et nous devons en fait remplacer l'ID de départ pour le moment, ce que nous allons faire, c'est que nous allons simplement faire de cela une erreur. Je n'oublie donc pas ça. Ce n'est qu'une petite astuce ici parce que je veux peut-être oublier de changer ça et ensuite tu devras le revoir. Donc, ne faisons pas cela. Et ajoutons ensuite un, eh bien la culture ici dans notre classe de boîtes. Donc, ce sera juste une copie de la trappe ici. Et nous allons appeler cela la culture de soulignement de navet. Ce qui est très intéressant, c'est que, bien sûr, il s'agira aussi la culture de soulignement du navet. Maintenant, ce n'est pas un bloc de registre, il s'agit d'un registre de points de blocs. Et la raison pour laquelle nous appelons blocs ou registres au lieu de faire la méthode de bloc de registre est que nous ne voudrions pas qu'un élément de bloc associé à cet accessoire particulier ici. Ce que nous voulons, c'est que nous voulons faire une graine plus tard. On va donc dire bloc de cultures de navet. Et puis cela va être matériel, mais nous allons dire copie et mono, disons blocs de blé, votre cellule dont nous, faisons de la racine de betterave, faisons de la racine de betterave racines de betteraves, elles partent et le reste est bien. Je pense que la seule autre chose que nous voulons est de ne pas faire de collision non plus. Donc, pas de collision, pas d'occlusion. Longueur 2 dont nous ne devrions pas vraiment avoir besoin ici. Et ensuite, le reste devrait être copié à partir des racines de betterave, donc pas de soucis là-bas. C'est donc le bloc réellement fait et nous avons toujours besoin de l'article. Maintenant, cet article, comme je l'ai dit, ne sera que les graines. Nous allons donc simplement choisir la tablette de données et nous allons simplement dire tourner les graines de soulignement IP. Et puis le nom ici, bien sûr, a aussi fait apparaître des graines de soulignement. Et il s'agira d'un élément, d'un nom, d'un élément de bloc. C'est intéressant, oui. S'assurer que cela s' empile sur plus d'un seul. Et ensuite, nous allons juste changer le nom ici aussi. Donc cet ordre, puis le premier paramètre va être mode bloc bloque le recadrage de points urllib. Pourtant, modifions un peu la mise en forme. Je veux dire, tout va bien se passer. Cela va être bon en lecture. Mais nous allons devoir en faire un élément nommé bloc car nous voulons en fait prendre la tournure du nom des graines au lieu de BlockName of navet crap. Maintenant, ce que nous pouvons faire dans la classe car nous pouvons retourner plus d' articles, le navet, les graines .rb, ici. Et puis la classe a fait, comme je l'ai dit, si vous avez des âges différents et des trucs de ce genre, jetez un coup d'œil à la classe de cultures, jetez un coup d'œil à la classe de blocs de betteraves. Je recommande vivement que ce soit essentiellement tout ce que vous avez vraiment besoin de faire. Et dans le cours MC mod a class, nous devons également ajouter le recadrage de navet à la couche de rendu spécifique. Donc, dupliquons cela avec Control D. et ajoutons ensuite une culture ici. Et c'est également fait. Et puis les fichiers JSON sont tout ce qui reste. Maintenant, faisons d'abord la traduction parce qu'il y a un peu tendance à oublier cela. Alors, montons la culture de soulignement. Et ensuite, ce sera la récolte de navet ici. Et puis ce que nous allons faire, c'est que nous allons juste ajouter, ce sera en fait les graines, elles vont devenir des graines. Et ensuite, la culture sera ajoutée ici. Donc, il va y avoir une récolte de soulignement. Montez, Rob. Donc, vous voudrez peut-être aussi cette traduction, juste pour que vous l'ayez quand vous avez le, quel modèle je regarde qui affiche essentiellement le nom réel des boîtes que vous regardez. Cela peut parfois y contribuer. Avec la traduction basique. Copions sur le bloc des états Jason et je vais vous expliquer. Bien sûr, vous pouvez voir que ce n'est rien de trop fou, rien de ce que nous n'avons pas encore vu. Nous avons quatre âges différents, 0 à trois ans, et nous ne faisons que pointer vers différents fichiers JSON de modèle de blocs. C'est donc essentiellement tout ce qu'il y a à faire. Cela ne devrait pas être complètement nouveau. Nous allons juste les copier aussi. Bien sûr, tous sont disponibles dans le référentiel GitHub ou un individu. Et vous verrez que ce n' est que de la culture ici. Et ensuite, les textures pointent également vers le recadrage. Ensuite, nous nous contentons de pointer vers différents modèles de blocs. Nous indiquons simplement différentes textures de blocs. C'est donc à peu près tout ce qu'il y a à faire. Et copions également les graines ici. Il suffit également de pointer vers une texture. Rien de fou à ce sujet. En fait, ce n'est pas si fou que ça. Toutes choses prises en compte. Obtenons la texture Aedes et obtenons également une texture de plomb pour les blocs. Ils n'ont que 0 à 3 ans. Et puis une autre chose très intéressante sera, eh bien, la table de butin. Comment fonctionne la table Lu ? Eh bien, pour cela, nous allons simplement passer aux bibliothèques externes. Encore une fois, le dossier de données ici, le client micro-ondes droit et 1181 supplémentaire aux blocs de tables de luth. Et ensuite, nous allons simplement dire, par exemple, les racines de betteraves. Nous allons juste ouvrir cela et vous pouvez voir que c' est un peu plus compliqué en ce moment. Mais ce que nous pouvons faire, c'est que nous pouvons simplement sélectionner tout le contrôle C, ou nous pouvons également sélectionner le fichier JSON Control C. Et ensuite simplement aller ici à notre cours MC Lou tables bloque Control V pour le coller. Et puis on va juste dire que si Eve arrive à un trait de soulignement, et qu'il faut juste changer un tas de choses ici. Maintenant, comme vous pouvez le constater, il est très important que nous recherchions un bloc, disons, une propriété, une vieillesse, et il doit y avoir trois ans. Et puis c'est dans cette condition que le battement réel tombe. C'est très important. Ce sera donc le navet de cours MC que nous allons changer cela. Et puis, bien sûr, ce sera le cours MC. Montez les graines de soulignement. Maintenant très important, nous devons également changer ce bloc , n'est-ce pas ? Parce que ce sera maintenant la culture de navet Olin du cours MC. Parce que nous vérifions la propriété de l'âge et que la culture du navet n'est plus le battement, battez les racines en gros. Et ensuite, la même chose se passe ici, veillant à ce que nous changions cette nouvelle fois par le terme « culture ». Et puis voici quelques graines supplémentaires où elles pourraient tomber. Nous allons juste copier ça aussi. Assurez-vous que l'ID du mode ainsi que les noms des éléments et des blocs ont été modifiés. Il est très facile de consulter l'ID MOD ici. Donc oui, bien sûr, ce fichier est également disponible pour vous, donc pas de soucis, mais c'est en fait tout ce que nous devons faire pour ajouter le recadrage personnalisé. Voyons donc si cela fonctionne. Ou si Francis retour et microvésicules voient que les sièges de navet ont été ajoutés avec succès aux jeux. Voyons voir. Je peux aussi les planter. C'est un très bon début. Et prenons juste un peu de farine d'os sur eux et ils partent, donc ils cultivent des produits laitiers est et passons simplement à la violence. Je peux même récupérer quelques navets et quelques sièges. C'est donc exactement ce que nous voulons du C, et voyons s' ils grandissent également lorsque le temps est fait un peu plus vite ici. Donc, les tics aléatoires sont juste pour aimer 2 mille et là ils grandissent aussi. Donc, tout fonctionne incroyablement. Bien sûr, quand je les brise dans la créativité, c'est pourquoi je suis passé à la survie. Donc, si on va survivre, on y va, il y a de beaux navets ici. Et on y va. Et maintenant, nous pouvons devenir le jardinier de nos rêves, n'est-ce pas ? Et c'est déjà le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile et qu'il apprendra le nouveau, et je vous verrai dans la prochaine conférence. Donc, oui. 71. (intermédiaire) Ajouter des éléments aux composites de compostes: Bon, bienvenue au cours de fourrage pour 118. Dans cette très courte conférence, je vais vous montrer comment ajouter vos objets au composteur. Vous pouvez donc les rendre compostables, très, très faciles dans la méthode de configuration que vous avez. J'espère que cela devrait être associé à l'ensemble commun de paramètres d'événement FML. Ce que vous allez faire, c'est que vous allez dire point d'événement et q réalisable. Ensuite, vous allez mettre entre parenthèses, une flèche et les crochets bouclés. Et à l'intérieur de cela, nous voulons appeler composter loc dot, mettre plus d'articles que les graines de navet qui obtiennent, par exemple, 0,5, je crois, est le bon nombre. Ensuite, dupliquez cela avec Control D, puis nous allons le mettre dans un navet ici aussi. Je vais en mettre 65. Nous pouvons donc jeter un coup d'œil à la carte compossible ici. Et ce sont essentiellement les changements que nous avons apportés. Vous pouvez donc en voir trois, donc le ligand voit ici la DMV typique de 3,5 pommes de terre. Je suppose que les graines sont en fait moins nombreuses, donc il y en a trois. Passons ça à trois. C'est tout à fait très bien aussi. 0,3. Vous y allez. C'est à peu près tout. C'est tout ce que vous avez besoin de faire pour les ajouter au composteur, mais pour achèvement, voyons si cela fonctionne. Oh, si mes amis, il y a un Minecraft et c'est parti. Le composteur, tous les deux fonctionnent exactement comme on s'y attendrait. Et maintenant, nous avons eu un repas d'os, ou ce sera déjà le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile et que vous avez appris quelque chose de nouveau et je vous verrai lors de la prochaine conférence. Donc, oui. 72. (intermédiaire) Fleur personnalisée: Ou je me réjouis de revenir au quatrième cours pour 118. Et dans cette conférence, nous allons ajouter une fleur personnalisée à Minecraft. Faire sauter une fleur personnalisée est en fait assez facile. Donc, dans notre classe de blocs modèles, nous allons juste copier la fleur de cerisier, une porte piège. Et ce sera les lignes de soulignement roses. Et bien sûr pour le nom aussi, des lignes de soulignement roses. Maintenant, il s'agit d'un bloc de fleurs, qui prend en réalité trois paramètres différents. Le premier est un effet de mafia ou des effets qui disons la cécité par exemple. Et puis la durée de l'effet, qui est populaire à venir et à partir, est en fait en secondes cette fois-ci au lieu de ticks. Je ne sais pas pourquoi cela semble très incohérent, mais c'est ce que c'est et la cartographie réelle, ce que nous allons faire, c'est que nous n'aurons pas besoin de tout cela. Et puis nous allons copier à partir de blocs ce dandy lion ici pour que nous ayons essentiellement toutes les propriétés nous aurons besoin. Donc, les propriétés dont nous allons avoir besoin sont essentiellement sans collision à l'extrémité séborrhéique. De plus, je crois que le matériel du plan vous permet essentiellement de ne pas occlusion. Donc, ici, nous avons besoin des deux, OK, pas d'occlusion ni de collision. Mais en copiant les propriétés de n'importe quelle ligne où il y a déjà cela ici. Ce que nous allons également devoir faire pour la fleur, c'est dans notre méthode de configuration, nous devons appeler cela pour la rose rose ici. Nous devons donc définir correctement la couche de rendu et, eh bien, il s'agit essentiellement des fichiers JSON. Bien sûr, tous sont disponibles dans le référentiel GitHub ou un individu. Il affirme que Jason n'est qu'un État normal du Bloc. Jason ajoute également la traduction ici, pour ne pas oublier cela, les lignes de soulignement roses. Et puis rose rose juste ici. Vous y allez. Ensuite, ajoutons également le modèle de journal. se passe rien de vraiment intéressant. Cette fois-ci, nous avons un motif croisé et une texture croisée. Vous pouvez voir cette fois que le parent est la croix ici, puis les textures sont également croisées. C'est vraiment la chose la plus intéressante dans ce cas. Et le modèle d'article est également assez intéressant car celui-ci pointe vers une texture de bloc identique à celle du bloc, car bien qu'il s'agisse essentiellement la même chose que vous avez dans votre main, qu'on dirait aussi dans le monde entier, nous allons juste copier ça aussi. Ils vont donc et c' est en fait tout ce dont nous avons besoin pour une fleur personnalisée. Voyons maintenant si ça marche ou on les retrouve en micro. Comme vous pouvez le constater, la rose rose a été ajoutée avec succès au jeu. Et n'est-ce pas juste beau ? C'est donc facile d'ajouter une fleur personnalisée à Minecraft, n'est-ce pas ? Et c'est déjà pour cette conférence ici. J'espère que vous avez trouvé cela utile et qu'il apprend le nouveau. Et je vous verrai au cours de la prochaine conférence. Oui. 73. Pots de fleurs personnalisés: Bon, bienvenue au parcours fourrage jusqu'au 118. Et dans cette conférence, nous allons ajouter un plan de politique personnalisé à Minecraft. Ainsi, après avoir ajouté à la fleur personnalisée, nous allons maintenant faire une partie variera de cette fleur. Et de la façon dont nous allons faire ça, on va juste copier ça et on va dire une partie, rose rose. Et le plus important ici est que celle-ci n'appelle pas la méthode de bloc de registre, mais cela appelle une fois blocs qui s'inscrivent ici. Ce que nous allons faire, c'est qu'on va juste enlever le robinet de secours à la fin. Et ensuite, nous allons aussi faire de cette partie la partie qui souligne la rose rose. Et il s'agit maintenant d'un bloc de pot de fleurs uniquement pour cela. Cela nécessitera également trois paramètres différents. Le premier est nul, le second est mod block, rose foncé, rose, la même chose sans obtenir. Et puis cela va juste prendre l'audit dandy lion alors qu'il copie les propriétés. Maintenant, vous pouvez dire, eh bien, est déjà cela, pas tout à fait, car ce que nous devons encore faire, c'est que nous devons encore l'ajouter avec une liste de fleurs possibles, juste essentiellement. Donc, une fois la méthode de configuration, ce que nous allons faire, c'est que nous allons dire blocs, cette partie florale, ce moulage. Et ensuite, nous allons jeter ça un bloc de pots de fleurs ici. Et puis nous pouvons le faire, c'est alors que nous pouvons appeler la méthode add. Je vais dire le mode bloc, blocs de points, les lignes, le point GetID. Ensuite, le second est juste cartographié blocs dot-product, rose, rose. C'est donc la façon de l' ajouter en gros que vous pouvez cliquer avec le bouton droit de la souris avec vos lignes ici, puis vous allez en sortir ce bloc. Maintenant, il s'agit toujours d'un bloc normal, donc nous avons toujours besoin d'un bloc States Jason, modèle de bloc Jason et d'un fichier de traduction pour la rose de tuyauterie. Je vais juste copier ça. L'état du bloc n'est en fait qu'un bloc normal, dit Jason année, le modèle est un peu différent, mais pas trop fou. Faisons tout d' abord ça. Faisons donc partie de Gross sont des lignes épiques. Maintenant, cette traduction n' est nécessaire que si vous avez quelque chose comme, qu'est-ce que je regarde ? Le mode que vous pouvez fondamentalement, vous savez, que ce que vous regardez essentiellement, c'est le nom du bloc réel que vous regardez. Maintenant cette année, ce modèle de bloc que vous pouvez voir est en fait des partenaires de soulignement de fleurs. Ensuite, nous spécifions l'antérieur. Maintenant, il est également important qu' une fois que nous l'avons ajouté, nous n'avons pas besoin d'autres textures. Ce dont nous aurons besoin, c'est que nous devons également découper la rose publique dans le calque de rendu. Sinon, nous allons également avoir un peu d'affichage. Sinon, c'est tout ce que nous devons faire, même si vous pouvez voir que c'est assez simple, mais il y a des choses intéressantes, surtout avec cela, avec le moulage de la fleur réelle. pot. Une fois que nous avons ajouté cela, voyons si cela fonctionne. Ou les fours de retour en micro. Alors, posons la pièce et voilà. Nous avons les rangées d'encre en pot, ce qui fonctionne parfaitement. Mais c'est exactement ce que vous voudriez. Plutôt que de faire un peu de côté ici à la fin, si quelqu'un se demande, vous savez, oh, comment pouvons-nous faire la table LU pour cela ? Encore une fois, nous avons des exemples vanillés de cela allant aux bibliothèques externes, jusqu'à net micro-ondes client extra 181. Ensuite, dans les tables en boucle, vous pouvez simplement rechercher toutes les plantes en pot. Vous pouvez, par exemple, jeter un coup d'œil à cela et ensuite simplement remplacer cet allium ici par le vôtre. Il suffit donc de copier sur Control C, Control V, puis de changer cela. C'est en fait à quel point cela peut être facile. Vous avez donc toujours tous les exemples de vanille à portée de main. Je recommande vivement de les regarder également. Si jamais vous êtes confus ou si vous voulez quelque chose qui est déjà à vanille, il suffit de le reproduire. C'est souvent très facile à suivre, mais sinon ce serait pour cette conférence ici. J'espère que vous avez trouvé cela utile et qu'il apprend le nouveau. Je vous verrai lors de la prochaine conférence. Donc, oui. 74. (intermédiaires) de sons personnalisés: Bon, bienvenue au cours pour 118. Et dans cette conférence, nous allons ajouter des sons personnalisés à Minecraft. Ou les sons personnalisés sont en fait, je dirais assez simples, toutes choses prises en compte. Maintenant, ce que nous allons faire, c'est qu'il faut bien sûr les enregistrer. Ainsi, dans notre package de cours MC, cliquez avec le bouton droit sur un nouveau package appelé son. Et puis à l'intérieur de leur nouvelle classe Java pour les villes, il y a maintenant, cette classe de sons de mode va avoir un registre public statique final différé de type événement sonore appelé événements de soulignement sonore, qui va être égal à différer le registre qui crée ou enregistre des événements sonores, MC cours MOD, mais modifiés. Maintenant, qu'il s'agisse d'un registre différent, il existe une méthode publique statique de registre des vides avec un bus d'événements, bus d'événement cool ou son paramètre, puis des événements sonores qui s'enregistrent en passant dans le périmètre de bus événementiel. Ensuite, cette méthode est bien sûr appelée juste en dessous des traitements modernes. Donc les sons mod, pas un événement sonore, mais enregistrez le bus d'événement. Vous y allez. À quoi ressemblaient les événements sonores ? En fait, ils sont assez simples. Objet du Registre statique public de type, événement sonore, abaissement, trait de soulignement, soulignement de tige trouvé sous la partition ou va être le nom des heures. Et pour cela, nous allons créer une méthode personnalisée. Laissez-moi le faire une seconde ici. Et je vais créer de nouvelles méthodes de registre statique privé. L'objet de type trouvé enregistrerait les événements sonores. Et ici, il suffit de passer un nom de chaîne. Et puis, ce que nous allons faire, c'est que nous allons créer un emplacement de ressources. Quelle pièce d'identité ? Le nouvel emplacement de ressources, mot du cours MC, le mot ID et le nom comme nom de paramètre ici. Ensuite, nous retournerons événements sonores qui s'inscrivent sous le nom, puis un fournisseur d'un nouvel événement sonore. Et ici, il suffit de lui passer l'emplacement des ressources. C'est la méthode d'aide et cela va en fait nous faciliter la vie. Ici, nous allons appeler ce trait de soulignement doseur. soulignement trouvé sous score ou le nom ici sera très pertinent dans un instant. Ce nom ici va donc être le nom de quelque chose que nous déclarons essentiellement dans un fichier JSON séparé. Le son a donc été enregistré. Maintenant, tout d'abord, nous avons besoin, bien sûr, d'une sorte de fichier audio. Cela va maintenant dans les ressources de votre dossier de cours MC ou dans votre ID. Mais nous avons besoin de deux choses. Premièrement, nous avons besoin d'un nouveau fichier appelé Sounds data JSON, sons très importants pointent JSON. Et il est présenté comme ça. Nous avons des crochets bouclés, puis nous déclarons fondamentalement différents sons. Je vais donc copier la déclaration du son. Et ce que vous constaterez, c'est que ce nom ici est exactement le même que ce nom ici. Ces deux-là doivent donc correspondre. Les sous-titres sont essentiellement ce que vous verrez à l'intérieur de tout ce que vous déclarez à l'intérieur de votre oreille et nous soulignent fichier JSON lorsque vous avez des sous-titres. C'est donc quelque chose que vous pouvez simplement ajouter au fichier JSON EMRS curios. Vous pouvez également appeler cela quelque chose comme des sons points M, C corps, où que ce soit comme ça. Je ne vais pas ajouter la traduction ici car pour le moment, elle n'est pas si pertinente et c' est aussi juste une chose que vous copiez. Ça ne devrait pas être trop fou gâchis avec la traduction pendant un moment. Maintenant, cela devrait être assez simple. Et ce qui est très intéressant, c'est que ça sonne ici, c' est une liste, non ? Cependant, parce que nous avons ces crochets, cette année indique le soulignement de descente, un trait de soulignement trouvé à l' école ou nous allons maintenant, où se trouve ce fichier ? Eh bien, définitivement sous l'espace de noms de cours EMT, mais où exactement bien, dans le dossier de cours MC des ressources s'exécute. Encore une fois, cliquez avec le bouton droit sur sons d'accord New Directory Et puis, à l'intérieur, nous avons besoin d'un fichier OGG portant ce nom. Je vais donc copier ça il y a eux. Et il est très important que ce nom corresponde exactement à ce nom. C'est le cas, il doit s'agir d'un fichier OGG. C'est très important et doit se trouver sous le son mono, type sonore ou l'espace sonore. Il doit s'agir d'un fichier OGG mono. Sinon, vous risquez de rencontrer certains problèmes, très importants. Et vous ne pouvez pas simplement prendre un fichier MP3 et renommer la fin de celui-ci. Mp3 doit être correctement converti en fichier OGG. C'est donc très important. Maintenant, tout ce que vous trouverez, c'est parce qu' il s' agit d'une liste que vous pourriez théoriquement avoir plusieurs entrées ici. Vous pouvez donc voir maintenant que je pourrais en avoir un autre ici et ensuite il en choisirait essentiellement un. C'est donc très important. Nous allons nous en tenir à un pour le moment, mais il y a ici la possibilité d'en ajouter plusieurs. Maintenant, la question est de savoir comment appeler cela ou fenêtre ? Nous allons appeler cela, eh bien, nous allons appeler cela, bien sûr, dans l'article de la canne de descente, en gros, lorsque nous avons trouvé un objet précieux ou ici, nous voulons jouer à ça. Et comment jouons-nous ça ? Eh bien, nous allons dire que les contextes pointent au niveau de la porte. Nous avons donc besoin d'un niveau lorsque je dis jouer du son. Et puis on va chercher le joueur, on va cliquer sur la position. On va avoir des sons modernes. Cette canne d'épuration ou qui obtient une source sonore va être, disons des blocs, ça va aller. Et puis le volume 1, f et le pitch 1 également. Et c'est en fait à quel point il peut être facile d'ajouter un son ou d'appeler un son riche. Vous avez juste besoin du niveau, puis jouez un excellent son. Mais il existe différentes façons de jouer des sons. Je crois que vous avez peut-être vu ce taux comme si j'avais un niveau, pourrait devenir un niveau. Vous pouvez voir que je peux jouer du son. Je peux même jouer un son local, qui serait alors un son local. Je recommande donc fortement jouer un peu avec ça et de voir lequel d'entre eux fonctionne le mieux. Vous pouvez également le faire sur le joueur lui-même. Vous pouvez donc également faire du son du lecteur. Mais vous pouvez voir que vous y allez. Je vous recommande vivement de jouer un peu avec ça et de voir quelle pourrait être la meilleure idée pour vous à cette fin. Oui, mais c'est en fait tout ce que nous devons faire pour ajouter des sons personnalisés. Voyons donc si cela fonctionne. Ou je fais de la ferme au micro-ondes et je m'assure que votre volume est augmenté juste pour que vous soyez sûr de l'entendre. Et voyons voir, c'est là. N Nous l'avons entendu. Bague, bague, bague. Donc, tout fonctionne parfaitement. Et maintenant, ce que vous pouvez aussi voir, c'est quand je pose les blocs parce que nous en avons fait des blocs sources sonores. Et C Maintenant, nous ne pouvons plus l'entendre dès que je retourne les blocs sur le dos. Mais c'est vraiment cool. Permettez-moi de baisser encore un peu le volume. Et ça va être très calme. Peut-être, pour qu'il soit si calme qu'on ne peut même pas l'entendre. Mais oui, c'est à quel point il peut être facile d' ajouter des sons personnalisés à Minecraft, non ? C'est vraiment facile, et je pense que c'est très simple. Maintenant, une chose qui vous tient probablement à l'esprit, oui, mais je veux que mon bloc personnalisé ait également des sons personnalisés. Heureusement, c'est exactement ce que nous allons voir lors de la prochaine conférence. Mais c'est tout pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez de nouvelles choses, et je vous verrai lors de la prochaine conférence. Donc, oui. 75. (Intermédiaire) de sons personnalisés pour les blocs: Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter un type de son personnalisé. Minecraft. Maintenant, le type de son comprend essentiellement cinq sons différents et représente le son pour un bloc particulier. Mais il y a un son de rupture, c'est le son de pas, placement du son, un son de frappe et un son complet. Et nous allons en ajouter les cinq. Maintenant, je vais copier l'enregistrement de base. Est-ce que ce n'est vraiment pas si intéressant ? Tout d'abord, c'est vraiment drôle que ce n'est pas le bon nom, mais c'est bien sûr tout à fait très bien. Ils vont enregistrer des événements sonores dans ce cas. Et vous pouvez voir que, fondamentalement, nous avons la lampe cobalt casser la lampe cobalt pas, touchons et tombons. Ce sont donc les événements sonores, les événements individuels, nous en avons besoin et il faudra aussi que nous ayons besoin d'un type de son forge personnalisé. Je vais donc aussi copier celui-ci et vous pouvez voir que c'est juste les sons de cobol. Et c'est alors égal à une nouvelle mesure de type sonore qui fera des sons d' agneau de collègue pour l'étudier, c' est un peu plus clair à quoi cela fait référence. Et ici, nous avons essentiellement besoin de passer les sons du mode et nous n'avons pas besoin d'obtenir parce que le son fourrage ici en fait une fois fournisseur. Donc, tout va bien se passer. Donc, nous voulons utiliser cela au lieu du type sonore juste pour être sûr parce que cela a quelque chose à voir avec le chargement et l'enregistrement des choses. heure actuelle, ces cinq événements sonores, nous devons encore enregistrer ces sons. Json juste ici. Maintenant, je vais le copier à nouveau, mais pas de soucis. Tout cela est bien sûr disponible dans le référentiel GitHub ou un individu. Et vous pouvez voir que nous avons fondamentalement l'étape de rupture de la lampe cobalt, s'il vous plaît frappez et tombez, qui essentiellement une fois que vous obtenez les sous-titres ici, puis faites référence à un fichier audio particulier. Encore une fois, ils doivent être OGG, c'est très important, et ils doivent aussi être mono. C'est extrêmement important encore une fois, sinon il pourrait y avoir des problèmes avec les fichiers. De plus, vous ne pouvez pas simplement renommer un fichier MP3 en un fichier OGG, il doit être converti correctement. Assurez-vous donc que toutes ces choses sont le cas. Et bien sûr, dans notre exemple ici, vous pouvez bien sûr simplement utiliser ceux que je fournis. Nous allons juste les copier ici. Ils y vont, cinq d'entre eux. Et ça devrait être à peu près , donc les sons sont enregistrés. Tout va bien, mais comment ajouter ça à un bloc ? Eh bien, c' est assez simple, mais dans notre cas, nous voulons ajouter cela à la lampe ici. Donc, nous allons juste ajouter une nouvelle propriété de comportement de bloc et cela va être le son de l'ego et cela suggère déjà cela. Donc ça va être mod sons point pour ce qui sonne, et c'est tout. Tout ce que nous devons faire. Et maintenant, la lampe au cobalt devrait avoir tous les sons associés à ce type de son ici, qui sont tous les cinq. Mais, je veux dire, ça semble très anticlimactique, mais c'est à peu près tout. Voyons donc si cela fonctionne. Ou nous nous retrouvons à Minecraft et nous sommes déjà là. Ça fonctionne très bien. Allons donc là-dessus. C'est tout à fait exact. Et nous allons le casser. C'est exactement exact. Maintenant, la seule chose que j' ai trouvée et qui est très intéressante, c'est que le son qui tombe pour quelque raison que ce soit, ne fonctionne pas tout à fait. Ou ça a fonctionné là. Voyons voir. Maintenant, cela n'a pas tout à fait fonctionné. Je n'en suis pas sûr à 100 %. Le son qui tombe, ça ne semble parfois pas vouloir fonctionner. Honnêtement, je ne suis pas sûr à 100 % de la raison pour laquelle cela pourrait être le cas. Mais les gros, le son de rupture, le son de placement, ce sont les gros, le son qui frappe, je crois que je peux aussi aller ici, puis ici, vous pouvez l'entendre ainsi que le frapper le son et placer le son, des trucs comme ça. C'est vraiment les grands. Cependant. C'est plutôt cool, il y en aurait déjà pour cette conférence ici. J'espère que vous avez trouvé cela utile et qu'il apprendra le nouveau, et je vous verrai dans la prochaine conférence. Donc, oui. 76. (Intermédiaire): Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter un disque de musique personnalisé à Minecraft. Donc, pour conclure notre aventure dans les événements sonores, nous allons maintenant ajouter un disque de musique personnalisé. Maintenant, c'est encore une fois, peu près juste dans un événement sonore normal ici. On va juste copier ça et je vais le placer au-dessus des types sonores réels au cas où. Parfois, ils peuvent être un peu séparés. Voici la bagarre des barres, et l'événement sonore lui-même sera également appelé rôle de soulignement VAR. là que tu y vas. Et puis, bien sûr, l'événement sonore est terminé. Bien sûr, nous devons encore ajouter cela aux noms de Jason à point-dot-dot. Donc, encore une fois, je vais copier ça. Tout cela est également disponible pour vous, bien sûr. Et vous verrez que ce n'est que Barbara. Oh, c'est juste le même nom que celui que nous avons donné ici. Et puis cela pointe vers une bagarre de barre bien, nom, fichier nommé dans le dossier Sounds ici, qui doit être une fois de plus ODD. Et cette fois, il est de plus en plus important qu'il mono, car sinon il sera entendu sur l'ensemble du serveur. C'est très important et vous pouvez voir que nous avons également ce flux vrai ici car la longueur du fichier est d'une certaine longueur. Et le numéro deux est bien sûr un flux qui devrait avoir du sens. Il suffit de copier cette bagarre de soulignement au-dessus de la barre. Là. Tu pars à peu près. Maintenant, pour le disque réel, n'est-ce pas ? Nous devons entrer dans notre classe Plus d'articles et créer un nouvel article ici, prenons simplement la tablette de données et copions cela. Et ce sera le record de soulignement de la bagarre de soulignement de la VAR . Disons maintenant que pour le nom réel que je vais appeler aussi profond sont la bagarre de soulignement et le disque de soulignement de musique seulement empiler 21 est en fait bien ici, et c'est un élément disque. Cela prend maintenant un paramètre entier comme premier paramètre. Et puis le deuxième paramètre va être un mode sonne barre de points, rixe. Vous pouvez voir que le premier paramètre entier est la valeur du comparateur. En gros, eh bien, ce qu'il produit lorsque la force du signal qu'il émet lorsque vous placez un comparateur à côté du juke-box lorsque vous placez cet enregistrement. Maintenant, il s'agit d'un article normal, mais il a une spécialité, pour ainsi dire. Et ce sera, eh bien, quand il s'agit de la traduction dont nous avons besoin pour la traduction, c' est la suivante. Et cela va être exactement cela. disque de musique Barbaro accède donc au nom de celui-ci, n'est-ce pas ? Et ensuite, nous avons également besoin de ce DESC pour la description. Et cela contient généralement avec les artistes qui ont fait cela et ensuite le nom de la chanson. J'ai également inclus CC Zero pour signifier que c' est sous le domaine public, donc vous êtes libre de l'utiliser. Je recommande vivement de toujours créditer l'artiste pour cela parce que c'est juste la bonne chose à faire. Mais c'est aussi un article normal, donc nous avons toujours besoin d'un modèle d'article et je vais juste le copier. Ce n'est rien de trop fou. Il indique simplement une texture normale de l'article ici, ce qui va bien sûr être assez simple. Donc, il suffit de copier ça aussi. Ils s'en vont et c'est presque tout ce que nous devons faire. C'est donc à peu près tout d' ajouter l'enregistrement personnalisé ici. Donc, je suppose que nous allons juste entendre si ça marche. Très bien, nous fermons comme un micro-ondes peut voir la musique du bar Brahms, Cela a été ajouté, alors mettons-le dans le juke-box et c'est là. Et maintenant, ce qui est très important, c'est que lorsque je m'envole loin, on peut l'entendre se calmer et calmer jusqu'à ce qu'il ne soit plus capable de se faire entendre. Et si je me rapproche, je vais redevenir plus fort. C'est donc parfait. Et c'est exactement ce que nous voulons. C'est l'une des raisons, ou fondamentalement vous devez être en mesure d'avoir ce fichier OGG et mono. Sinon, il sera réellement entendu sur tout le serveur lorsque vous jouerez ceci pour vous assurer qu'il est mortel, j'ai déjà commis la même erreur. Donc, en gros, c'est à quel point il est facile d'ajouter un disque de musique personnalisé, Minecraft, n'est-ce pas ? C'est déjà pour cette conférence ici. J'espère que vous avez trouvé cela utile dans l'urine. Donc le nouveau, s'il l'a fait, nous apprécions beaucoup une critique de votre part. Sinon, je vous verrai lors de la prochaine conférence. Donc, oui. 77. (Intermédiaire) Modèles de bloc personnalisés dans Minecraft avec BlockBench: Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter modèles de blocs 3D personnalisés à Minecraft. Mais c'est une chose assez excitante, non ? L'ajout d'un bloc 3D personnalisé, le Minecraft, ce n'est pas un bloc entier, mais simplement une forme différente. Et il y a beaucoup de pièces mobiles là-dedans. Tout d'abord, ce dont vous allez avoir besoin, c'est que vous aurez besoin d' un programme appelé Block Bench. Maintenant, je l'ai déjà ouvert et j' ai déjà préparé notre bloc personnalisé ici. Et vous pouvez voir que c'est, vous savez, c'est définitivement coutume, comme vous pouvez le dire définitivement à ce sujet. Et l' idée générale est que, eh bien, nous allons exporter cela comme un bloc. Donc, ce que vous pouvez faire, c'est que lorsque vous créez un nouveau fichier ici, vous pouvez simplement créer un modèle d'élément de tableau de bord de blocs Java. Vous pouvez même spécifier la taille de la texture, juste un nouveau nom, et ils peuvent en faire des choses. Maintenant, ce ne sera pas une conférence sur le banc de bloc lui-même. S'il y a beaucoup d' intérêts pour cela, je pourrais en ajouter un ici aussi, mais pour le moment, ce n'en sera pas un. En gros, vous pouvez simplement ajouter des cubes ici. Vous pouvez les déplacer, non ? Fondamentalement en construisant Minecraft. Eh bien, mais pas dans Minecraft, pour ainsi dire. Vous pouvez simplement construire quelque chose à partir de blocs et ensuite nous ajouterons cela en tant que bloc personnalisé et vous allez le faire , mais nous allons fondamentalement jeter cela. Nous n'avons plus besoin de ça. Ici, ce que nous allons faire, c'est que nous allons aller fichiers, puis Exporter le modèle d'article de boues de blocs. Et cela nous incitera essentiellement à exporter cela. Nous allons sauver ça. Je l' ai déjà sauvé, mais ça va aller. Et cela va être enregistré dans un fichier JSON. Maintenant, je vais ouvrir ce fichier JSON ici en mode intelligent. Et vous pouvez voir que ça ressemble un peu à ça. C'est donc beaucoup de douceur qui nous amène à confusion. Je ne suis pas sûr de ce que cela signifie. Eh bien, les éléments de cette liste définissent essentiellement les objets 3D qui se trouvent à l'intérieur de notre bloc. Et puis ici, la texture qui est comme la chose la plus importante est fondamentalement définie ici. Maintenant, nous devons changer cela. Habituellement, c'est le cas, donc MC cours deux-points et ensuite je vais mettre ça sous la barre oblique Machines a acheté un blaster. Et ensuite, c'est la même chose pour celle-ci ici. Et je vais ensuite l'API sur la texture réelle également. Laissez-moi d'abord faire rapidement la texture et ensuite nous pourrons parler de ce que fait ce fichier JSON. Créez ici un nouveau répertoire appelé machines. Ensuite, à l'intérieur de là, nous aurons le blaster point de soulignement de cobalt PNG que vous allez. Et puis, où va ce fichier JSON ? Eh bien, c'est juste normal. BMI n'est pas normal, mais il s'agit simplement d'un fichier de modèle de blocs. C'est un modèle de bloc, Jason. Il y a eux. Et c'est là que tu l'as. Et c'est littéralement tout ce dont vous avez vraiment besoin pour que le modèle de bloc personnalisé fonctionne. Maintenant, il y a des choses intéressantes que vous pouvez définir ici. Par exemple, vous avez cet affichage et ici vous pouvez, par exemple, définir comment cela ressemble-t-il en 3D ? quoi ressemblerait-il si un zombie le tient à troisième personne et que vous pouvez faire la respiration à la première personne, personne de Lester juste sur la tête, ce qui est un peu drôle. Et puis il y a sur le terrain, vous savez, peut-être que c'est trop gros ou que c'est peut-être trop petit pour que vous puissiez changer tout cela aussi. Et tout cela fait partie du fichier JSON que vous exportiez ici. Vous pouvez donc voir que c'est exactement ici, cet affichage, tout est défini, donc tout fonctionne parfaitement. Maintenant, nous allons également avoir besoin d'un modèle d'article. Maintenant, cela fait bien sûr référence au modèle de bloc ici. Nous allons juste dire blaster au cobalt, juste là, puis ici aussi. Ou du plâtre il y a. Maintenant, tout cela va déjà fonctionner. Maintenant, nous avons également besoin d'un bloc personnalisé States, Grayson. Maintenant, encore une fois, je vais juste choisir le bloc et nous allons copier ça. Et cela va juste pointer vers le fichier JSON que nous venons de créer et que nous avons exporté ici. Nous allons certainement y jeter un coup d'œil dans un instant, car ce que nous devons certainement changer une ou deux choses là-bas. Mais pour l'instant, ce que nous allons faire, c'est on va faire un nouveau bloc. Nous allons enregistrer un nouveau bloc. On va prendre la rose rose ici parce que les autres ont le registre des blocs. Bien sûr, nous voulons également fabriquer un article. Ce sera donc le blaster de soulignement au cobalt. Ici aussi, Walt souligne blaster. Ce sera pour le moment un bloc normal parce que vous pourriez le faire avec un bloc normal non, ou c'est quoi que ce soit. Et cela ne va rien copier. Cela va être au-dessus. Et puis disons quelque chose comme du matériel, du métal. Et c'est pour le moment, tout ce dont nous avons besoin. Nous allons maintenant voir deux limites très apparentes avec cela. Nous allons en jeu, mais pour le moment, c'est à peu près ce dont nous avons besoin. Maintenant, ce dont nous avons également besoin, c'est la couche de rendu réelle ici. Nous allons donc régler cela immédiatement pour le cobol blaster que vous allez, et ça devrait aller. Maintenant, nous allons encore voir quelques limites avec cela. Mais heureusement, nous allons aussi voir comment les réparer. Donc, pour la première fois dans cette conférence, voyons si cela fonctionne. Ou je me retrouve dans les microARN, je peux voir que le cobol blaster a été ajouté. Nous n'avons pas ajouté la traduction, mais c'est bien sûr quelque chose à corriger facilement. Maintenant, si je le pose, vous pouvez voir que, tout d' abord, nous allons avoir un problème avec la transparence. C'est donc quelque chose que nous pouvons facilement réparer et ensuite vous constaterez que nous sommes d'abord, je l'ai posé, mais cela semble toujours dans la même direction. C'est donc un peu ennuyeux. Et puis les frontières ici ne sont pas tout à fait ce qu'elles devraient être. Maintenant, ils ne sont certainement pas ce qu'ils devraient être. C'est donc vraiment quelque chose à examiner. Heureusement, nous pouvons résoudre ces trois problèmes. Nous allons donc les aborder un par un. La première et la plus simple est bien sûr, car la transparence, eh bien, nous avons juste besoin de la non-occlusion ici sur les propriétés du bloc, les propriétés de comportement du bloc. Et si c'est cool, cela va être corrigé immédiatement. Passons maintenant aux deux autres. Eh bien, pour que la rotation soit correcte, va falloir qu'un client nous bloque pour cela. Nous allons donc créer une classe de blocs personnalisée appelée le dernier bloc cobalt. Et cela va prolonger la classe de blocs a normal pour le moment. Nous allons simplement créer un constructeur correspondant Super Si les propriétés ici non, vous cliquez dessus, Maj F6, puis modifiez-le en propriétés. Et nous allons avoir besoin d' une propriété personnalisée. Maintenant, ce n'est pas nécessairement une propriété personnalisée, va être une propriété de direction finale statique publique ou face, ce propriété de direction finale statique publique ou face, qui est égal aux propriétés de l'état de bloc. Cette face horizontale est très importante ici. Et puis nous allons faire, c'est que nous allons enregistrer la valeur par défaut ici. Donc cette définition obstruée GetState point, point. Une valeur de face va être la direction vers le Nord. Ils vont donc dire que ce sera la direction par défaut à laquelle il va faire face. Et ensuite, nous voulons trois méthodes que je vais en fait quatre méthodes que je copierai. Rien de trop fou ici. Vous verrez donc, bien sûr, tout d'abord, méthode de définition d'état de bloc décrétée, où nous l'avons vu précédemment, nous ajoutons simplement la propriété phasing au constructeur. Cela ne devrait pas être nouveau pour vous. Maintenant, ces trois sont définitivement connus et cela a également ajouté la priorité aux deux, juste pour que nous les ayons. Cependant, le bon état pour placement ne fera qu' une fois de plus s'assurer que bien, le placement particulier est correct. Et dans ce cas, nous voulons en fait le positionnement opposé de ce que je regarde. Je regarde vers le nord. Je veux que le bloc soit face à moi. Il faut donc regarder vers le sud. C'est donc l'idée générale de ce que tout cela fait. Et puis, en gros, ils ont juste tourné et mis en miroir pour être bien dans la bonne face. Maintenant que c'est en fait tout ce dont nous avons besoin dans cette classe ici même pour le moment. Et dans notre classe plus de blocs, assurez-vous que vous avez bien sûr créé la nouvelle explosion ou bloc de cobalt ici et non plus simplement un bloc normal. C'est très important. C'est parfois ce que les gens manquent lorsqu'ils font une nouvelle classe de blocs. Vous savez que cela ne fonctionne pas aussi bien si vous ne l' avez pas créé. C'est donc très important. Bien sûr, nous devons également changer nos États de bloc. Jason et moi l'avons déjà préparé. Maintenant, ce n'est rien de trop fou. Ce que cela fait essentiellement, c' est qu'il dit simplement, hé, si nous sommes orientés dans une direction différente, nous allons juste le faire pivoter sur l'axe Y de 9080 ou 270 degrés. Mais c'est à peu près tout ce que cela fait vraiment, le modèle sera toujours le même. Nous allons juste faire pivoter l'ensemble du bloc. Bien sûr, tout cela est également disponible dans le référentiel GitHub ou un individu tout aussi. Et cela aurait dû maintenant résoudre le problème de rotation. Et bien sûr aussi , vous savez, essentiellement la question transparente, cependant, pour une deuxième fois, cette conférence, voyons si cela fonctionne. accord, donc tout d'abord, vous pouvez voir encore une fois, le véritable puits transparent a disparu. Et puis, si je le place comme ça, tu y vas. Il est maintenant face à moi, comme on s'y attendrait. C'est donc juste le cadre de sélection qui est maintenant le problème. Et bien, comme la chance l'aurait fait ou je suppose que la chance ne l' aurait pas. C'est aussi la chose la plus complexe, ne dirait pas forcément, mais cela peut devenir très ennuyeux. Mais voyons voir, juste pour ne pas l'oublier, je vais en fait ajouter la traduction ici maintenant, cobol 100 score blaster. Parce que sinon, je vais vraiment oublier cela. Alors voilà, Cobol Blaster, et ça devrait aller. Nous allons maintenant devoir ajuster encore une fois le barrage routier de l'explosion du cobol. La classe que vous êtes, mais ce dont nous allons vraiment avoir besoin c'est que nous aurons encore besoin de choses du banc de bloc. Rouvrons donc le bloc punchier. Et ce que vous voyez, c'est que j'ai tous mes cubes sous le groupe appelé formes voxels. Maintenant, c'est très important. J'en ai vraiment besoin sous le groupe des formes voxels. Sinon, cela ne fonctionnera pas très important ici. Ensuite, ce dont j'ai besoin, c'est que j'ai besoin d'un plugin spécifique à 100 plugins que vous pouvez passer sous disponibles et vous voulez rechercher plus d'utilitaires. Maintenant, je l'ai déjà installé. On dirait ça de JDK 22 et de la météo. Maintenant, c'est très important car vous pouvez voir exploiter les formes voxels. C'est exactement ce que je veux exporter ici. Nous voulons passer à la forme du voxel. Je veux le sélectionner pour que tout soit sélectionné ici. Accédez à Export de fichiers, puis vous pouvez voir Exporter la forme voxel. Maintenant, je veux exporter cela sous forme de cartographie MOOC. Mappings officiels ici dans ce cas. Et puis je veux dire confirmer. Maintenant, je veux appeler cela le soulignement de forme voxel n. Maintenant, vous pourriez être comme, Attendez, pourquoi est-ce n ? Eh bien, il va falloir exporter cela pour toutes les orientations différentes. Il va donc falloir faire pivoter ça de 90 degrés. Exporté à nouveau, rotation de 90 degrés, exportez à nouveau, pivotez de 90 degrés, exportez à nouveau. Et puis, c'est fini. Nous avons besoin de quatre voxels, formes différentes. Je n'ai pas encore trouvé de meilleur moyen de le faire. Si vous trouvez une meilleure façon de le faire, n'hésitez pas à me le dire. Je veux vraiment le savoir parce qu'à ce stade, c'est devenu très bien, c'est très ennuyeux parce que nous allons devoir le faire plusieurs fois. Mais je vais vous montrer comment Firefox sera un fichier Java. Et vous pouvez, en gros, vous allez avoir cette année. Maintenant, la première chose que vous allez faire, c'est que vous allez nettoyer cela. Donc, si vous avez ces zéros, vous devez simplement les arrondir ou les arrondir à l'entier le plus proche. Cette année est essentiellement un point zéro, puis 14 zéros. Et puis un trois, c'est comme ça, ça va être un 0 bien sûr. Donc, nous voulons essentiellement nettoyer cela pour qu' il soit beau et bien rangé qu' il ne soit introduit qu'ici. Et ensuite, nous pourrons l'utiliser essentiellement. Et ce que nous allons faire, c'est que l'intérieur de la classe va créer une nouvelle statique privée. Forme voxel finale statique privée, tient la forme soulignée n, qui est exactement égal à tout ce jazz ici. Nous allons copier ceci et Control V pour le coller. Je vais importer la forme voxel. Nous allons importer le flux. Importez les formes voxels. En fait, ce ne sont que des formes. Vous y allez. Il y a des formes. Et puis les fonctions booléennes de l'œil sont également différentes. C'est en fait le booléen qu'il y a. Maintenant, ça va marcher. Donc, les mappages réels ne sont probablement pas encore mis à jour, tout à fait pour le banc de blocs, mais c'est très bien parce que c'est essentiellement ce dont nous avons besoin ici et bien, c'est génial, mais maintenant nous n' avons que la forme pour la direction orientée vers le nord car, bien sûr la forme serait différente si le bloc était orienté dans une direction différente. Mais nous devons le faire, c'est de sélectionner à nouveau les formes voxels. Très important, c'est que le point pivot où vous pouvez le centrer, mais vous pouvez voir que maintenant il n'est pas tout à fait centré, comme s'il était centré, mais il a ensuite ces valeurs décimales bizarres. Assurez-vous que c' est comme défini sur un point qui est également des entiers. Parce que si ce n'est pas le cas, vous allez rencontrer certains problèmes. Et ce que nous allons faire, c'est que nous allons faire pivoter ça de 90 degrés, de cette façon. Et maintenant, vous verrez que cela est pas tout à fait aligné. Maintenant, c'est très bien. Ce que vous devez faire, c'est que vous devez utiliser ces flèches pour le déplacer. Et ensuite, vous pouvez fondamentalement recentrer. Maintenant, ce ne sera pas à C. Maintenant, ce qui s'est passé ici, c'est que je suis allé accidentellement dans le numéro et ensuite il va simplement déplacer chaque cube. C'est quelque chose de très étrange qui concerne le banc de blocs. Je ne suis absolument pas sûr que vous puissiez voir si j'utilise les flèches, alors ça va être très bien que cela les déplace en groupe. Si je change les chiffres là-dedans et que ça va réellement les déplacer individuellement. Je ne sais pas pourquoi c'est le cas. C'est juste la folie avec le banc de bloc. Malheureusement, il n'y a vraiment aucun autre programme pour le moment où je suis familier avec cela, vous savez, est-ce que cela fonctionne tout aussi bien ? Donc, il va falloir s'en tenir à ça. Et puis vous pouvez voir, eh bien, nous avons maintenant fait une rotation et maintenant le bloc est orienté vers l'ouest. Nous devons donc maintenant exporter une fois de plus la forme voxel. Et puis c'est le soulignement de Vox W. Et c'est très important, non ? Assurez-vous de l'exporter sous le tapis, nom correct, à droite. J'ai vu beaucoup de gens. C'est comme si ça ne fonctionne pas bien, si vous avez confondu Est et Ouest, cela peut arriver sous le diamant est nord-est, sud-ouest, non ? Alors assurez-vous de suivre cela à moins de le faire pivoter à nouveau ici. Et vous pouvez voir que nous devons le déplacer une fois de plus, en nous assurant d'utiliser ces flèches ici. Et c'est en fait dans une autre direction. Vous y allez. Et ensuite, ce serait au sud. Il s'agit donc d'exporter une forme voxel soulignant S. Et puis une fois de plus par chance. Et puis, c'est déjà fini ici. Donc de cette façon, puis de cette façon, non, j'ai une fois de plus, j'ai accidentellement cliqué sur le numéro réel, assurez-vous que vous ne le faites pas. Si c'est le cas, vous pouvez simplement appuyer sur Control Z pour revenir en arrière. Pas de soucis là-bas. Et puis nous allons l'exporter à nouveau, exporter la boîte de forme voxel ou le soulignement de forme E Cette fois-ci ou à l'est. Et puis juste pour le récupérer, la position originale ici, 0, et ensuite ça va être 13. En fait. Vous y allez. Je vais gagner ça encore une fois juste pour que je revienne à ce poste afin qu'il soit également disponible pour vous. Et j'ai maintenant les quatre fichiers Java. Alors, nous allons les amener ici. Vous y allez. Encore une fois, sortons ce genre d'imperfections. Vous savez, cela arrive parfois parce que les erreurs en virgule flottante, c'est juste ce que c'est. Mais ce n'est pas trop mal. Il s'agit simplement de supprimer toutes ces erreurs d' arrondi du point de chargement. Et puis, tout va bien se passer. Cela va donc être un 0 à nouveau. Laissez-moi 14 ici et 13 ici. Gardez ça, enregistrez ça, et ensuite nous allons continuer avec E. Mais ce que je vais faire, c'est que je vais juste copier ceci ou plusieurs fois et je vais avoir des moutons E, S, forme W et puis de bien sûr, en veillant à ce que nous choisissons les bons pour travailler là-bas. Donc, c'était E, E et ensuite nous allons simplement changer cela en formes. Et puis ces deux booléens remontent il y a un an. Et ça va être S, et ça va aussi être S. C'est génial. Encore une fois, il ne s'agit que de formes, puis de booléens. Je vais juste copier ça sur un contrôle C de contrôle V et enfin, mais non le moindre, la face ouest en forme de voxel. Encore une fois, Boolean up, booléen, il y a un jour. Si vous envisagez d'avoir beaucoup de blocs avec beaucoup de formes complexes ou peut-être que cela sera déterminé à partir de cela. Je recommande vivement de ne pas devenir fou avec ça. Et si vous avez des formes folles de voxels détaillés pour ne pas les construire complètement. Habituellement, ce n'est que des blocs, non ? Ce ne sont que des blocs normaux. Si vous avez eu quelque chose comme tout d'un coup et que vous le faites pivoter comme ça, mais tout d'un coup, ce n' est plus un vrai bloc. Je suis comme si ce n'est pas un bloc droit. Si vous avez beaucoup de ces différents états de blocs qui ont parfaitement suivi le bloc, ce qui peut arriver, c'est que, eh bien, il peut fondamentalement baisser le jeu assez significativement parce que, bien sûr, les formes voxels ont essentiellement déterminé la collision avec le joueur et les entités. Et cela demande en fait beaucoup de puissance de traitement et d'autres choses. Je recommande donc vivement de ne pas utiliser les formes de voxel folles UW juste au cas où, non ? Donc, ça devrait tout simplement se passer. Mais je voulais simplement mettre en garde contre cela. Et ce que je vais vraiment faire, alors ce que nous allons faire ici, c'est que nous allons remplacer par la bonne méthode de forme ici. Et je vais en fait copier tout le contenu. Ce n'est rien de trop fou. C'est juste une instruction switch que vous pouvez voir qui obtient la valeur de la propriété face. Et si c'est au sud et que nous allons reprendre la forme Sud, Nord et nous allons revenir la forme au nord d'eux, Sud-Ouest, Ouest, Est, Est. Rien de trop fou ici ne devrait être assez explicite. Et c'est à peu près tout ce que nous devons faire. Vous avez vu que c' est assez compliqué. Comme je l'ai dit, si vous avez beaucoup de blogs différents avec des formes de voxels adultes différentes, eh bien, c'est exactement ce que c'est. Si vous avez réellement une meilleure façon de le faire, s' il vous plaît, dites-moi dans les questions et réponses, je suis très ouvert à avoir une possibilité différente de les ajouter. Maintenant, si nous devions changer quelque chose, oui, nous aurions besoin d'exporter à nouveau toutes les formes voxels. C'est donc le cas, cela peut être fastidieux, mais quel que soit le cas, nous l'avons enfin fait. Donc, la dernière fois que cette conférence, voyons si elle fonctionne ou, par exemple, retour dans Minecraft et asseyez-vous et les formes voxelles fonctionnent parfaitement. Voyons simplement, cela devrait fonctionner parfaitement dans toutes les directions qu'ils vont est aussi l'une des choses importantes pour lesquelles vous devriez absolument supprimer les imperfections, car sinon il Ça pourrait être juste le plus petit, le plus petit et le plus petit. Et c'est vraiment ennuyeux. Et aussi, en fait, ça va probablement être mieux s' il s'agit d'un entier, même si je crois qu'il est converti en float de toute façon, mais, vous savez, c'est juste que ça fait les calculs généraux un peu plus rapides. Mais oui, c'est à peu près comme ça que vous pouvez ajouter un modèle 3D personnalisé Minecraft. Une autre chose que je vais supprimer ici, c'est le parent ici parce que nous n'avons pas vraiment de bleu, mais pas vraiment besoin de ces parents. Nous allons juste supprimer ça. Ils le sont. Cela devrait donc aller aussi bien. Mais sinon, c'est à peu près comme ça que vous pouvez l'ajouter. Dans l'ensemble. C'est, eh bien, cela peut être très complexe, surtout si vous avez ces formes folles de voxels, mais sinon, c'est assez simple. Toutes les choses sont prises en compte, en fonction nombre de modèles de blocs 3D personnalisés que vous souhaitez. Mais maintenant, vous êtes équipé des connaissances nécessaires, nous allons les ajouter. J'espère donc que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Mais je vous verrai lors de la prochaine conférence. Oui. 78. (Intermédiaire) Modèles d'objets personnalisés avec BlockBench: Bon, bienvenue au cours de forge pour 118. Et dans cette conférence, nous allons ajouter un modèle d'article personnalisé, Minecraft. La dernière fois, nous avons vu un modèle de bloc personnalisé. Maintenant, c'est sur le modèle d'article. Tout d'abord, nous allons créer un nouvel élément ici et une copie sur la tablette de données une fois de plus. Et ce sera le personnel de soulignement du cobalt. Et puis pour le nom, bien sûr aussi, personnel de soulignement du cobalt. Et ce sera un article normal dans ce cas. Et ensuite, les piles à un vont vraiment bien se passer dans ce cas. Et ajoutons immédiatement la traduction. Sinon, je l' oublierai encore. Donc, bien sûr, nous voulons mourir. Et puis tout le personnel ici. Et encore une fois, nous ouvrons le banc de look ici pour voir le personnel de cobalt vraiment cool ici. Et vous pouvez voir que je viens de le préparer déjà avec quelques vieux suppléments à la vanille ainsi qu'une texture personnalisée. Et je recommande vivement d' aller afficher ici pour voir à quoi il va ressembler à l'intérieur de la main du joueur. Troisième personne à droite, troisième personne à gauche. Nous avons la première personne, première personne qui reste, pas de tête. Cela n'a vraiment aucun sens à ce que cela ressemble sur le terrain, vraiment comme ça. Et puis le cadre est également très cool dans l'interface utilisateur. C'est aussi très sympa. Donc, vous pouvez définitivement changer cela et le faire, aimerait-il quel que soit l'affichage que vous vouliez ? Je recommande vivement de jouer avec ça. Et une fois que vous êtes satisfait de votre article personnalisé, vous accédez au bloc Export de fichiers. ou l'autre modèle l'exportera sous forme de fichier JSON. Et après avoir remplacé parce que j'en ai déjà un. Ensuite, nous allons copier ce fichier. Ensuite, nous allons copier ce fichier dans le dossier des éléments de modèles ici pour les deux employés. Et il y a quelques choses que nous devons faire. Vous pouvez donc voir que les textures ici sont sans espaces de noms. Nous devons donc l'ajouter. Donc Minecraft tout et bloque les cils. Et puis faites de même pour ici, ici et ici. Ensuite, nous pouvons simplement mettre la même chose là-dedans pour le bloc de cobol, mais ce doit être, bien sûr, MC horse, c'est très important ici. Sinon, c'est tout. Si vous avez toutes les textures pertinentes ici, c'est exactement ce dont vous avez besoin. Vous en avez simplement besoin comme modèle d'article et vous n'avez besoin d' aucun autre modèle d'article pour cela. Donc, je veux dire, c'est déjà presque déjà. C'est nous, je veux dire, je suppose que nous allons juste voir si cela fonctionne sur les finances de Minecraft, comme vous pouvez le constater, le personnel froid a été ajouté au jeu et il a l'air fréquent, incroyable. Vous pouvez donc le changer ici. Et ça a fière allure à la première et à la troisième personne. J'aime particulièrement la file d'or, essentiellement comme tout le bloc qui est là sous une forme minuscule. Je ne sais pas. J'aime beaucoup son look, donc oui, c'est à peu près à quel point il est facile d'ajouter un modèle d'article personnalisé à Minecraft, n'est-ce pas ? Encore une fois, la fabrication du modèle est bien sûr, qu'est-ce qui est difficile ? Il suffit de jouer avec Block Venture un peu. Vous vous y habituerez assez rapidement. J'ai l'impression que c'est un programme très facile à retenir et oui, caoutchouc qui serait déjà tout pour cette conférence ici. J'espère que cela vous a été utile et que vous avez appris quelque chose de nouveau. Je vous verrai lors de la prochaine conférence. Donc, oui. 79. (intermédiaires) de petits personnalisés: Ou je reviendrai au cours de fourrage pour 118. Dans cette conférence, nous allons ajouter un Botha Minecraft personnalisé. Un client a donc été assez simple. Allons dans notre classe plus d'articles et allons simplement copier le bâton de cobalt. Et ce sera l'ancien arc de soulignement. Et puis la même chose ici et le nom d'arc en cobalt. Et puis, ce sera un élément 0. Maintenant, les piles non servies 2, 1, 0 vont faire, c'est que nous allons en faire la durabilité, disons 500. Il va y avoir un peu mieux que l'arc normal. Et pour le client, nous devons en fait définir à nouveau les propriétés personnalisées de l'article. Donc, dans notre classe de propriétés d'article, nous allons faire un appel privé statique vide, créer toute la méthode qui prend en compte un élément, un paramètre d'élément ici. Alors travaillons également la classe d'articles et veillons à ce que nous choisissons l'article mondial Minecraft net, l'article. Ensuite, nous allons cliquer sur le bouton central de la souris sur la classe de propriétés de l'article ici. En gros, vous entrez et nous allons choisir essentiellement ces deux-là, appelons le registre, l'arc et le registre avec le bot essentiellement quand un Cabibbo pour eux. Sélectionnez et appuyez sur le contrôle C pour copier le contrôle V à coller. Et nous avons juste besoin d'ajouter les propriétés de l'article devant le registre ici. Ensuite, nous allons modifier les éléments qui s' inclinent par rapport à l'élément qui est le paramètre ici. Ensuite, voilà. Et maintenant, nous pouvons en faire autant que nous le voulons. Nous appelons simplement faire un arc avec plus d'objets pour ce bol. Et si vous avez plusieurs balles, vous appelez cela plusieurs fois. Et ensuite, nous ajouterons les propriétés spécifiques de l'article et en tirant sur cet article. Et pour cela, nous avons essentiellement besoin d'un modèle d'article spécifique, bien précis. Commençons par la traduction ici, juste pour que nous l'ayons. Eh bien, soulignez l'arc et l'arc en cobalt ici aussi. Et puis, en ce qui concerne les modèles d'articles, nos copies sur tout ici sont bien sûr disponibles dans le référentiel GitHub ou un individu tout aussi. Vous pouvez voir que nous avons réellement besoin de quatre d'entre eux. Donc le bol en cobalt, nous l'avons déjà vu avec les propriétés de l'article c'est le modèle par défaut qu'il prend, n'est-ce pas ? C'est juste cette texture ici. Et puis si elle remplace fondamentalement si on tire comme un seul. Donc, si nous tirons actuellement, nous commençons à obtenir ce modèle. Donc, en tirant 0, alors si le pôle est à environ 65 pour cent terminé, nous passerons à en tirer un. Et si c'est fait à 90 % et que nous allons passer à la volonté. Et oui, c'est, je veux dire, c'est à peu près l'idée générale. qui est intéressant ici, c'est que dans le sondage, le parent va être le robot cobalt lui-même. Vous pouvez donc voir que le bot cobalt de l'article MQs est le parent. Et puis, il ne fait que pointer vers des textures différentes. Mais c'est vraiment tout ce qu'il y a à faire. Rien de trop fou. Nous pouvons donc maintenant ajouter les textures ici. Ce sera quatre d'entre eux aussi. Il y a longtemps, et c'est en fait tout ce que nous avons vraiment besoin de faire. Le plus important, c'est l'ajout réel des propriétés de l'article. Maintenant, comme nous l'avons déjà vu avec la tablette de données, cela ne devrait pas être trop fou ou trop déroutant pour vous, espérons-le. Et c'est à peu près tout ce que nous devons faire pour ajouter un rôle personnalisé. Voyons si ça marche. Ou phronèse en arrière et microlentille. Voir que le bot a été ajouté avec succès au jeu. Et comme vous pouvez le voir, si je la photographie, alors la texture change également pour que tout fonctionne parfaitement, c'est en fait comme il peut être facile d'ajouter un tableau personnalisé à Minecraft. Et c'est déjà le cas pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 80. Commandes personnalisées (intermédiaires): Bon, bienvenue au quatrième cours pour 118. Et dans cette conférence, nous allons ajouter des commandes personnalisées à Minecraft. Écrivez des commandes personnalisées, ou bien une chose très intéressante. Maintenant, nous allons commencer, au fur et à mesure. C'est donc l'une des conférences où nous commençons à copier le code. Bien qu'une fois de plus, tout ce qui se trouve dans le code soit disponible dans le référentiel GitHub et dans un individu. Ne vous inquiétez donc pas, vous devriez pouvoir le trouver. Ne vous inquiétez pas. Ainsi, dans notre package de cours MC, cliquez avec le bouton droit sur un nouveau package appelé commande. Ensuite, nous allons immédiatement créer un autre événement appelé événement. Et nous allons jeter un coup d'œil à l'événement un dans un instant. Tout d'abord, nous allons jeter un coup d'œil à la Commande 1, et nous allons copier sur deux classes. En fait, je vais copier les cours dans leur intégralité. Il s'agit donc de la commande set home et de la commande return home, et je vais vous expliquer. Donc, la commande est essentiellement créée avec ce répartiteur. Nous faisons donc un registre de points de répartiteur , puis nous avons quelques littéraux de Commandant. Qu'est-ce que cela signifie « home set », que faisons-nous ici, puis exécutons ? Eh bien, cela signifie que ce que nous devons mettre dans la console, c'est un set maison oblique. Ensuite, la commande est exécutée. Il s'agit donc de la commande réelle, 0 puis définie. C'est l'idée générale. Si nous jetons un coup d'œil au barattage d'Homère, nous pourrons voir sa maison puis revenir. Donc pour la maison, set, dit sa maison, son retour à domicile est le tour d'Homère. Cela ne devrait pas être trop fou. Cela devrait être assez simple. En effet, créer vos propres commandes personnalisées est une chose très complexe. Je dirais donc que c'est quelque chose où, si vous avez une chose très particulière que vous voulez faire avec votre commandement, vous allez devoir énormément faire des essais et des erreurs. Ce que je recommande vivement cette classe de commandes ici, cliquez sur le bouton central de la souris dessus et vous verrez toutes les commandes vanille qui sont à votre disposition. C'est donc la meilleure ressource, pour voir quels types de commandes existent. Et je recommande vivement d'y jeter un coup d'œil. Et je vais vous le dire à l'avance, ils vont être vraiment compliqués, n'est-ce pas ? Même quelque chose comme le « kill command », c'est probablement l'un des plus faciles à regarder. Mais si vous allez dans quelque chose comme la commande fessier, je veux dire, regardez ça, n'est-ce pas ? Comme cela est le cas, il y a tellement de choses ici. Et c'est tellement compliqué que vous pouvez voir ici, non ? Il s'agit d'ailleurs de l'enregistrement réel du répartiteur de commandes. Vous pouvez donc le voir alors, donc c'est comme butin oblique et alors , que faites-vous ? Avoir un outil à poisson peut avoir quelqu'un comme quelqu'un, il y a tellement de choses différentes même si cela nécessite ici. Vous pouvez donc demander : Hé, c'est la personne qui essaie de discriminer, le bon niveau de permission, ne le faites pas et ainsi de suite. recommande vivement. Jetez un coup d' œil à cela plus en détail. Si vous avez quelque chose que vous voulez particulièrement. Dans notre cas, nous allons simplement enregistrer des données sur les données persistantes du joueur ici. En gros, lorsque nous définissons la position d'accueil, nous disons simplement : Hé, cela place les trois coordonnées x, y et z dans une zone dans les données persistantes. Les données ne sont qu'une balise composée ici sur le lecteur. Et je vais juste mettre ça sous MC cours MOD composite. C'est à peu près tout. Et ensuite, nous allons envoyer un succès avec un poste particulier où nous venons de le fixer. Quand il s'agit de la commande retour à la maison c'est un peu plus compliqué, mais pas vraiment aussi. Nous avons une pause booléenne à la maison, qui dit simplement, hé est la longueur de ce tableau GetInt ici, pas 0. Parce que si c'est 0, alors nous savons, d'accord, nous n'avons pas encore de position. Ce n'est pas 0, alors nous savons, d'accord, nous avons un poste à domicile qui est en train d'être fixé. Ensuite, nous ne faisons que téléporter le joueur à cette position ici. Et en gros en disant : Hey player, rentre à la maison. Et ici, nous envoyons un échec sans que le poste d'attache n' ait été fixé. Et c'est à peu près tout ce que nous avons vraiment besoin de faire ici pour les deux commandes. Vous pouvez voir que j'appelle cette commande ici avec la source Git. Il prend en charge une pile de sources de commandes. Et ce qui est très important, c' est qu'il génère une exception de syntaxe de commande, car vous pouvez voir obtenir un joueur ou une exception. C'est donc important ici, non ? C'est donc essentiellement tout ce dont nous avons besoin en termes de commandes. Nous allons maintenant avoir besoin d'un cours événementiel. Nous allons donc cliquer avec le bouton droit sur le package événements que nous avons créé. Et nous parlerons des événements un peu plus en détail dans une conférence ultérieure. Mais les événements sont fondamentalement quelque chose que vous pourriez vraiment créer un cours complet. C'est aussi une dizaine d' heures. Mais nous n'entrerons pas trop dans les détails. Nous allons juste dire au-dessus de la classe add mod, en veillant à ce que celui-ci soit sélectionné. Ensuite, nous allons supprimer les parenthèses, cet abonné au bus d'événements. Ensuite, nous voulons mettre entre parenthèses un ID MOD, qui est bien sûr le MOD du cours MC. Ensuite, nous voulions des méthodes. Je vais les copier tous les deux, mais j' expliquerai aussi, bien sûr, était très important, c'est qu' ils doivent être publics, statiques, nuls, écrire le nom est pas ce qui compte. Ce qui compte, c'est le paramètre ici. agit donc de l'événement de commandes de registre et il s'agit l'événement joueur que clone doit être public statique vide, et ils doivent avoir l' annotation lors de l'événement Subscribe. C'est très important. N'oubliez pas cela, sinon cela ne fonctionnera pas. C'est très important. La méthode de registre des commandes, elle sera assez explicite. projetez une nouvelle commande à domicile et une nouvelle commande de retour à la maison, puis vous l'enregistrez simplement dans cet événement. En passant, cet événement est également utilisé dans le gestionnaire interne forge. Cela devrait donc être là où les commandes de fourrage sont en cours de définition. Vous pouvez voir que c'est la commande fourrage avec tous les trucs. Nous pouvons donc voir qu'il fait essentiellement le TPS, l'entité de piste génère. Dimensions et commande de liste de modes. Ce sont des commandes particulières à forger dans ce cas. Et vous pouvez également voir que l' événement de commandes de registre ici est très intéressant. Tout d'abord, il est dit que l'événement est tiré sur le bus Minecraft forge. Je vais donc expliquer très brièvement ce qui se passe. Eh bien, nous avons différents événements. Si je clique sur cet événement, puis que j'appuie sur Contrôle H, vous pouvez voir que ce sont tous les événements qui nous sont disponibles dans Forge. Et nous pouvons même étendre cela et ensuite nous en aurons encore plus parce qu'il y a des événements qui découlent d'événements, issus d'événements, etc. Vous pouvez donc voir qu' il s'agit de nombreux événements. Celle-ci, ce que je dis comme si vous pourriez probablement un cours de dix heures avec tous les événements eux-mêmes. On ne va pas faire ça. Comme je l'ai dit, c'était juste, vous savez, à garder à l'esprit. Et l'idée est que certains événements sont déclenchés par Minecraft forge, certains événements sont déclenchés par le bus événementiel. Gardons ça à ça pour le moment. Il n'y a rien de trop fou. Nous allons en voir un exemple lors d' une conférence ultérieure. Pour le moment, nous allons juste dire, d'accord, événements assez fous, mais aussi assez cool peuvent être très intéressants. Quel est le deuxième événement ici ? Eh bien, en gros, quand un personnage meurt, ce que nous voulons, c'est que nous voulons mettre les données persistantes du joueur qui vient de mourir et copier au nouveau joueur en gros. s'agit donc simplement de s'assurer que, après la mort, les données restent là et restent persistantes. C'est l'idée générale ici. Mais sinon, c'est à peu près tout ce que nous faisons dans cette classe d'événements de mode. Maintenant, nous n'avons pas besoin de l' appeler nulle part avec cet abonné supplémentaire de bus d'événements ici. Cela a déjà été appelé une méthode qui a lors de l'événement d'abonnement au-dessus elle entre fondamentalement, puis devient froide également. Curieusement, c' est en fait tout ce dont nous avons vraiment besoin pour ajouter la commande, comme je l'ai dit, tout le code est disponible dans un dépôt GitHub et un individu tout aussi. Je recommande vivement d'y jeter un coup d'œil. Je recommande vivement de jouer avec elle, d'être ouvert à l'expérimentation. Et pour l'achèvement, recevons cela fonctionne. Très bien, il nous retrouve à Minecraft, alors commençons à taper slash home. Et voilà. Nous sommes déjà en train de le faire suggérer. Essayons tout d' abord de rentrer chez nous, ce qui ne devrait pas fonctionner, n'est-ce pas ? Aucune position d'accueil n'a été fixée. C'est tout à fait très bien. Maintenant, restons chez nous. Définissez la position à cet endroit. Voyons voir, juste pour être sûr, oui, que ça semble juste, c'est plutôt bien. Maintenant, allons-y ailleurs. Et à moins de dire, Ohm, retour, nous sommes rentrés chez nous. C'est vraiment bien. Maintenant, nous venons de tomber d'une hauteur. Voyons voir. Cela va me tuer et ensuite je vais répondre et ensuite je vais dire que le retour fonctionne parfaitement bien. Et puis sortons de ce monde, sauvons et quittons. Et puis revenons dans le monde. Et alors, voyons si cela fonctionne toujours. Et cela devrait, bien sûr, parce que ce que nous avons enregistré sur les données persistantes et le composé et les BTE des entités sont essentiellement enregistrés là-dessus. Nous allons donc nous envoler une fois plus, puis dire retour à la maison. Et bien sûr, cela fonctionne toujours. Donc, toutes les affaires sont essentiellement terminées et tout fonctionne ici. C'est plutôt cool. C'est à peu près à quel point il peut être facile d'ajouter une commande. Encore une fois, si vous avez une chose très particulière à l'esprit, il vous suffira de jouer avec ça. Je ne vais aider que dans des circonstances limitées. Donc, si, par exemple, vous dites Hey, je veux commander XYZ et juste des trucs fous. Probablement pas seulement le commandement complet pour vous. vous suffira d'essayer un tas de choses, de jouer avec. Et je suis sûr que vous pouvez réussir à faire fonctionner la commande si vous y travaillez vraiment, n'est-ce pas ? Mais c'est tout pour cette conférence ici. J'espère que cela vous a été utile et que vous avez appris quelque chose de nouveau. Je vous verrai lors de la prochaine conférence. Donc, oui. 81. Particules de Spawning (intermédiaires): Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons examiner comment créer particules personnalisées dans le monde. Donc, en particulier, nous allons jeter un coup d' œil à cela pour le bloc rapide, ou en gros ajouter une méthode particulière. Et c'est ce qu'on appelle ici la méthode animate tick. Et puis, en fait, je vais copier le contenu de ce document. Cela va être assez explicite dans un instant, mais nous avons fondamentalement une chance. Et puis nous allons dire, Hé, nous voulons juste le flotteur aléatoire à chaque fois. Et il y a des idées générales que nous avons. Nous avons une chance de frayer particules et chaque fois, cela devrait être de 65 % ici. Donc, parce que nous vérifions essentiellement si le flotteur inférieur au prochain flotteur et un flotteur va se situer entre 01. C'est donc l'idée générale. Et c'est comme ça qu'on peut engendrer une particule, n'est-ce pas ? Vous avez donc besoin d'un niveau et cela doit être sur le client cette fois, c'est très important. Et cette méthode ennemie à cocher n' est appelée que sur le client. C'est donc parfait pour nous. Et nous disons simplement ajouter une particule, le type de particule que nous voulons ajouter, la position , droite, x, y et z, puis la vitesse dans la direction X, la vitesse dans la direction y et la vitesse en z direction. Et quand les particules sont types, vous pouvez voir qu'il y a un tas de choses ici que vous pouvez fondamentalement frayer. Dans ce cas, on va juste prendre la fumée. En fait, ça a l'air plutôt cool et ça va très bien marcher pour nous. Et vous pouvez voir que j'ai aussi la vitesse du vent a essentiellement , vous savez, un peu de hasard là-dedans, de sorte qu' elle semble plutôt inégale et que c'est vraiment cool va paraître. vraiment génial. Et oui, c'est à peu près à quel point c'est facile. Vous avez donc juste besoin d'un niveau et vous devez être sur le client. Maintenant, encore une fois, il ne s'agit pas de particules personnalisées en elles-mêmes. C'est maintenant la façon dont vous pouvez créer des particules particulières quelque part, partout où vous avez accès à une variable de niveau et vérifier que vous êtes sur le client, vous devriez pouvoir pour engendrer les particules également. C'est donc à peu près à quel point c'est facile. Donc, pour l'achèvement, voyons si cela fonctionne. Très bien, nous fantassons dans Minecraft, alors réglons le bloc SPD et voilà. La fumée est déjà en train de s'en sortir. Tout fonctionne donc très bien. Vous pouvez voir. Et bien sûr, c'est quelque chose que vous pouvez ajuster. Vous pouvez ajuster la vitesse qui se produit même à endroit où elle apparaît par rapport au bloc. Dans tout cela, il est tout simplement possible de changer. Et bien sûr, vous pouvez également modifier le type de particules. Mais c'est tout de même plutôt cool. Très bien, et c' est déjà pour cette courte conférence ici. J'espère que vous avez trouvé cela utile et que vous avez appris quelque chose de nouveau, et je vous verrai lors de la prochaine conférence. Donc, oui. 82. (intermédiaires): Ou je reviendrai au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter des avancées personnalisées à Minecraft. L'ajout d'avancées se fait donc uniquement dans les fichiers JSON. Ceci est donc dans le dossier de données, dans le dossier de cours MC. Et je vais juste copier mes 20 avances déjà préparées ici. Et je vais vous montrer une excellente ressource que vous pouvez utiliser pour lire assez facilement vos propres progrès. Et vous pouvez le voir, nous en avons deux, cours MC Jason et une canne d'abattage JSON. La première chose que vous remarquerez, c'est qu'il y a un affichage. s'agit simplement de l'élément ou bloc dans ce bloc dans certains cas, c' est-à-dire qu' il s'affiche comme l' icône de cette avancée. Maintenant, vous avez un titre, la description devrait avoir du sens. Vous pouvez choisir le cadre qu'il s' affiche ou non lors d'un toast. s'agit donc de savoir si elle indique ou non dans le coin supérieur droit de l'écran si une analyse doit être discutée. Et puis celui-ci en particulier a un arrière-plan très particulier car il pointe en fait vers les textures de cœurs MC, loc, 0, Ball Underscore Block PNG, mais vers l'ensemble de la structure de dossier similaire ici. Et la raison en est que celle-ci n'a pas de parent. Et si vous avancez, il n'a pas de parent, alors il crée un nouvel onglet dans la fenêtre d' avancement. C'est très important si vous passez en mode d'arrêt d'abord, deuxièmement, vous pouvez voir que les parents sont ici des cœurs MC, des cœurs MC et qu'il n'a pas d'arrière-plan. C'est donc très particulier, été très intéressant dans ce cas. L'idée est donc que, si vous choisissez un arrière-plan, si vous n'avez pas de parent, vous avez besoin d'un arrière-plan car il s'agira essentiellement de l'arrière-plan de votre onglet, alors le critère est vraiment chose intéressante. Maintenant, nous n'allons pas créer de critères personnalisés car c'est beaucoup plus compliqué. Nous allons simplement utiliser le changement d'inventaire. En gros, dès que j'aurai au moins un cobalt Angleterre dans mon inventaire, cette avancée me sera donnée. Et puis, pour la tige de prélèvement, j'ai juste besoin d'une seule tige de vidage et ensuite j'aurai aussi cette avancée. C'est à peu près tout ce qu' il y a vraiment à faire. Donc, pour l'achèvement, voyons simplement si cela fonctionne. Ou il nous retrouve et Minecraft. Voyons si je prends un lingot de cobol. Ils vont au cours de MC mod. Et je vois aussi que le pouvoir réside dans les cobalts. C'est plutôt cool. Et maintenant, je devrais aussi pouvoir le trouver ici. Nous pouvons voir le mod de cours MC comme l'avancement. Donc, le nom de votre avancement ici sera toujours la première avancée que vous avez essentiellement sans apparente en C, nous avons également l'arrière-plan car le cobalt bloque votre et alors vous pouvez voir le deuxième, la tige de vidage. Si cela ne fonctionne pas, la canne ne vous aime pas. C'est au moins ce qu'on m'a dit. Et si je comprends juste ça et que vous pouvez voir que j'ai aussi l' avancement de la tige d'abattage juste là. C'est plutôt cool. Toutes choses prises en compte. Et c'est en fait à quel point il est facile de les ajouter. Eh bien à Minecraft en ce moment, comme je l'ai mentionné, une fois de plus, une excellente ressource ici est Miss Old GitHub IO une fois plus pour l'avancement du générateur, fortement recommandé. Vous pouvez essentiellement jeter un coup d'œil à toutes les exigences qui existent. Nous pouvons vous revoir une fois de plus, voici les conditions. Ensuite, nous pouvons fondamentalement changer cela en différentes choses. Disons simplement, par exemple, que nous avons une fois de plus modifié l'inventaire. Et ensuite, vous pouvez ajouter des conditions différentes. Vous pouvez voir les machines à sous, les objets. Il y a un tas de choses que vous pouvez ajouter. Je recommande vivement de jouer avec cela ou jeter un coup d'œil à l' avancement de la vanille. Possibilité également d'aller sur GitHub et de rechercher des avancées à partir de différents modes. Cela fonctionne également très bien. Mais il y a beaucoup d'options pour vous acheter, mais c'est déjà tout pour cette conférence ici. J'espère que vous avez trouvé cela utile et que l'assurance des nouveaux fichiers JSON est bien sûr disponible sur le référentiel GitHub ou un individu juste, eh bien, et je vous verrai dans la prochaine conférence. Donc, oui. 83. Peinture personnalisée (intermédiaire): Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter des peintures personnalisées à Minecraft. L'ajout de motifs de peinture personnalisés est en fait un processus assez simple. Tout d'abord, dans le package de cours MC, cliquez avec le bouton droit sur un nouveau package appelé peinture. Et à l'intérieur, nous allons créer une nouvelle classe appelée la classe des peintures modernes. Maintenant, la classe plus de peintures disposera d'abord d'un registre public statique et différé final de motifs de soulignement de type, de motif ou de peinture, ce qui sera égal à un registre différé qui crée ou ajoutez des registres, que les types de peinture sont mon modèle de cours MC, cet ID de modèle. Et encore une fois, qu'il s'agisse de 80 troisième registre, il existe également une méthode de registre public statique du vide avec un Event Bus, périmètre d'acides Event Bus, puis peindre des motifs qui s'enregistrent en passant dans le bus de l'événement. La méthode de registre est quand il fait froid, vous êtes sous les sons du modèle, de sorte que plus de peintures s'enregistrent et passent ensuite dans le bus de l'événement juste là. C'est génial. Et maintenant, nous avons juste besoin d' enregistrer les tableaux. Et cela va être fait en faisant objet Registre final public statique de type motif. Cela va s'appeler plante, et cela équivaut à peindre des motifs, un registre sombre. Le nom va être planifié. Et le deuxième paramètre est un fournisseur de nouveaux motifs. Et les paramètres vont être 16. 16, et je vais expliquer ce que c'est. Donc les paramètres du motif, je peux cliquer sur le bouton central de la souris et vous pouvez voir que c'est la largeur et c'est la hauteur. Le premier paramètre est donc la largeur, le second est la hauteur. Ceci est donné en pixels en gros, mais c'est la taille de votre peinture. Et c'est juste pour l'achèvement que nous allons faire trois tableaux ici. Nous allons aussi avoir le vagabond, qui sera l'émerveillement. Et celui-ci va se coucher du soleil. C'est probablement mon préféré, mais nous allons le voir dans un instant. Il y a chaque coucher de soleil. Et c'est aussi le coucher du soleil. Et c'est la seule rangée qui mesure 32 de haut et la sensibilité est de 32 de large. La question est maintenant, eh bien, où sont censées être inscrites dans notre package de cours MC, insertion du dossier textures. Nous allons juste avoir un nouveau dossier appelé peinture. Et je vais en fait copier cela parce que le contenu est déjà là-dedans. C'est la plante, le coucher du soleil et les merveilles sont toutes disponibles. Cependant, je voudrais que vous mettiez l' attention sur le générique, car les peintures sont également réalisées par le platine G7. Assurez-vous simplement que si vous voulez utiliser ceux d' un dépôt public ou tout ce qui se trouve au Curtis ici aussi et suivez la licence c'est essentiellement tout ce qu'il y a à faire. Sinon, vous êtes fondamentalement libre de les utiliser. Et c'est en fait tout ce que nous devons faire, tant que les noms ici correspondent aux noms du tableau actuel. Les photos ici, les images. C'est tout ce qu' il y a à faire. Donc, je suppose que nous allons voir si cela fonctionne. Ou un pharmacien à Minecraft. Asseyez-vous devant le tableau et voyons, oh, nous y sommes. C'est le coucher du soleil. J' aime vraiment ça et c'est que je crois à l'émerveillement. Et voyons simplement si nous pouvons aussi être planifiés. Très bien, on y va. Nous avons les trois tableaux que nous avons ajoutés. Et oui, c'est tout. Vous ajoutez essentiellement les peintures à la rotation de la peinture ici. C'est donc l'idée générale, non ? C'est en fait à quel point il est facile d'ajouter peintures personnalisées à Minecraft. Et c'est déjà le cas pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Donc, oui. 84. (Intermédiaire) Modifiers de l'film globaux: Très bien, Bienvenue au cours de forge pour 118. Et dans cette conférence, nous allons examiner les modificateurs Luder mondiaux. La première question qui pourrait se poser est quels sont nos modificateurs de butin mondiaux ? Eh bien, ils sont un moyen pour nous de changer, perdre des tables, par exemple tables de vanille Lu, d'y ajouter des trucs, ou même en théorie, soustraire des choses. Vous pouvez donc en emporter et ajouter des trucs. Je recommande fortement de ne pas aller trop loin en soustrayant des choses. Est-ce que cela peut casser le mode en compatibilité ? Votre modèle peut ne pas bien jouer avec d'autres mods, et ce n'est généralement pas quelque chose que vous voudriez. Maintenant, ce que nous allons faire, c'est dans notre package événementiel, que nous allons cliquer avec le bouton droit sur un nouveau paquet appelé glute. Et au lieu de là, tous nos modificateurs de puits vont disparaître. Ce sont essentiellement des cours. Maintenant, je vais les copier et je vais expliquer au fur et à mesure que nous allons suivre les cours. Il s'agit donc du numéro un de la tige de descente dans modificateur d'ajout d' igloo et des graines de navet du modificateur d'ajout d' herbe. Heureusement, les cours devraient être presque explicites par rapport à ce qu'ils font. Mais en gros, nous allons ajouter une canne de descente dans poitrine de structure d' igloo et une graine de navet à l'intérieur de l'herbe. Lorsque nous cassons les cuivres, nous avons une chance dans ce cas, nous avons 100  % de chances d'ajouter les sièges navet au luth qui est lâché. Mais quelle est cette épreuve tout d'abord, les deux se ressemblent beaucoup. Donc, la seule différence ici réside actuellement dans la méthode do apply. Donc, pour nos besoins, nous allons juste jeter un coup d'œil au tour des sièges du modificateur d' édition Grass. Et bien, je vais juste expliquer rapidement l'idée générale. Nous voyons que la classe s'étend de la classe modificatrice lutéale. Allons-y simplement en cliquant sur le bouton central de la souris. Ou vous pouvez également appuyer sur Ctrl, cliquer dessus avec le bouton gauche pour y aller. Et vous pouvez voir que nous avons ici une chose particulière, c'est la méthode do apply, qui est fondamentalement la plus importante. Heureusement, nous avons également de bons commentaires ici. Nous pouvons voir appliquer le modificateur au butin généré. Et puis, fondamentalement, vous pouvez y ajouter des trucs. C'est vraiment cool. Ainsi, le luth généré n'est qu'une liste de taxes sur les articles, c'est ce qui diminuerait si vous ne faites rien, puis vous retournez les gouttes de butin modifiées. C'est donc la chose vraiment cool, mais c'est pourquoi si nous revenons ici, vous pouvez voir dans la méthode do apply, mais j'ajoute une nouvelle pile d'articles de mon édition. C'est donc l'élément que je veux ajouter à cette liste, puis renvoyer la liste avec mon élément ajouté, puis mon élément est juste ajouté à cette liste de butin qui est littéralement sur le point de disparaître. Donc, c'est vraiment cool, non ? Si nous venons de le faire , nous ne changerions rien et aucune charge supplémentaire ne serait ajoutée. Si nous l'avons fait. Cependant, c'est vrai, alors mon ajout serait ajouté. Maintenant, ce que nous pourrions faire, et je recommande vivement de ne pas le faire, c' vraiment dire cela. Puis lisez-le, joueur de luth. Ensuite, nous pourrons simplement effacer la liste complète des choses que nous allons ajouter et laisser tomber notre propre butin. Je recommande vivement de ne pas faire cela, surtout de ne pas exagérer. Parce qu'une fois de plus, vous risquez de rompre votre compatibilité avec votre MOD et d'autres modes. S'ils comptent sur des blocs spécifiques, laissant tomber des choses spécifiques, alors vous risquez de gâcher votre chance que votre mère entre dans un Peck particulier en sera juste conscient. Gardez cela à l'esprit. Permettez-moi d'avoir un cours de sérialiseur ici, ce qui est tout simplement fou. Sérialiseur de modificateur de butin global. Eh bien, nous avons juste une méthode de lecture et d'écriture, dont l'idée générale est simplement qu' elle lit des choses à partir d'un fichier JSON. Et vous pouvez voir ce qu' il fait essentiellement, c'est qu'il obtient la valeur du registre d'éléments. Donc, nous allons passer en revue nos éléments qui vont enregistrer et nous allons dire, ok, nous avons un, quelque chose dans le fichier JSON est défini sous l'ajout. Nous allons voir cela dans un instant. Nous allons dire, d'accord, donnez-moi ceci et ensuite donnez-moi la valeur de cela. Il suffit donc d'obtenir l' élément associé à l'ajout que nous avons défini dans le fichier JSON. Et ensuite, nous allons juste apporter une nouvelle modification supplémentaire ici. Et nous le retournons pour la méthode de lecture. Et la méthode d'écriture est exactement le contraire, en fait simplement le fichier JSON réel. Maintenant, ce n'est pas vraiment fait, mais nous devons toujours le faire. Gardez cela à l'esprit. Et c'est essentiellement tout ce que les modificateurs supplémentaires, cela devrait presque toujours être assez chaud en soi. Je veux dire, si vous avez 20 ajouts, et vous aurez 20 articles différents ici. Et vous allez probablement passer 20 éléments différents dans le constructeur, des trucs comme ça. Mais c'est juste une connaissance normale de Java qui ne devrait pas être trop folle. Toutes les choses sont prises en compte. Maintenant, lorsque vous avez cela, vous aurez également besoin d'une autre classe dans le package d'événements. Cliquez donc avec le bouton droit de la souris sur la nouvelle classe Java appelée bus d'événements mod. Et à l'intérieur de là, tout d' abord, je vais renommer cela pour d'autres événements de bus d'événements. là que tu y vas. Et là, tout d' abord, nous allons avoir besoin d'être au sommet, nous allons avoir besoin de cette chose exacte. Nous avons encore une fois besoin de l'abonné au bus d'événement ad model.py avec la mélodie du cours Armada DMC. Et maintenant, nous devons spécifier le bus est le multi-bus, très important la dernière fois avec les commandes, nous avons vu que, bien, ou par défaut, il s'agit essentiellement du bus fourrage. Maintenant, c'est le mode bus qui va entrer dans les événements un peu plus en détail dans une conférence ultérieure. Mais pour le moment, je vais simplement copier la méthode de base dont nous avons besoin. Et c'est la méthode des sérialiseurs de modificateurs de registre. Le nom de la méthode n'a vraiment pas d'importance. Il est juste important qu'il soit statique, public et qu'il ait une annotation d' événement d'abonnement ici. Et puis, fondamentalement, l'événement ici est l'événement register que ADD enregistre des modificateurs de butin globaux, des sérialiseurs. Et ici, nous disons simplement, Hey, enregistrez tous nos sérialiseurs. Et vous pouvez voir que nous enregistrons le sérialiseur en définissant le nom du registre. Et ce nom ici sera alors le nom du fichier adjacent dont il lit essentiellement. Maintenant, où vont nos fichiers JSON ? Nous en avons besoin pour chacun des différents modificateurs dont nous disposons. Et puis nous en avons également besoin pour le fourrage, essentiellement que forge sait, accord, quels modificateurs avons-nous réellement dans notre dossier de données ? Forge, cliquez sur un nouveau répertoire appelé modificateurs de soulignement du fessier. Et puis je vais copier le fichier JSON. Ceci est appelé soulignement global, modificateurs de soulignement et adjacent très important. Cela doit être écrit correctement. Et puis, ici, nous devons définir toutes nos entrées. Mais vous pouvez voir les noyaux MC terme graines de herbe, puis la tige de descente et l'igloo de cours MC, qui est également le même nom qu' ici avec notre mod ID. Donc, c'est essentiellement les entrées qui s'y trouvent. Et puis dans notre dossier de données, dossier cours MC, un nouveau répertoire appelé modificateurs de soulignement de butin. Et je vais encore copier les deux fichiers JSON. Ils sont tous disponibles , bien sûr, dans le référentiel GitHub chez un individu. Vous pouvez voir qu'ils portent le nom exactement comme nous l'avons défini ici. Il s'agirait d'une extrémité adjacente, essentiellement adjacente. Et vous pouvez voir qu'il y a certaines conditions. Maintenant, dans l'ensemble, les fichiers modificateurs de luth sont les deux, ils sont intéressants en eux-mêmes, non ? Vous devez donc définir une condition particulière ici. Mais dans ce cas, nous avons un identifiant de table de butin et nous dirons que l'ID de table Lu est des coffres Minecraft, un coffre d'aigle. En gros, le coffre d'igloo est actuellement chargé, pour ainsi dire. Ensuite, nous appelons le modificateur de poitrine d' igloo. Et nous procédons ensuite à la méthode d'application, même largeur par exemple, même largeur par exemple, du brûleur provient de l'herbe ici. Donc, si des herbes cassées, vous pouvez voir qu'il s'agit d'une condition différente, bloc disons propriété, et ensuite nous vérifions, hé, si c'est ou non, c'est une compréhension. Ok. Et maintenant, si un bloc d'herbe est cassé, alors nous appelons la méthode do apply. Juste avant de laisser tomber le lubrifiant généré, nous y ajoutons notre allusion personnalisée, notre ajout qui est lu ici. Et puis nous retournons cela avec, en gros, alors que cette chose qui est vraiment cool est que vous pouvez voir, je peux aussi utiliser le getrandom du point contextuel pour m'assurer que, vous savez, quelque chose ne fonctionne pas. Toujours tomber. Ceci. Dans ce cas, cela n'est essentiellement ajouté que 95 % du temps, 5 % du temps. En fait, il n'est pas ajouté. Donc c'est aussi quelque chose d'assez cool, mais aussi des trucs Java très basiques, basiques, non ? Et c'est en fait tout ce dont vous avez vraiment besoin. Parfois, j'ai l' impression que les modificateurs globaux sont un peu maladroits, je dirais qu'ils ne sont pas qu'il y ait beaucoup de bizarrerie. Vous savez, vous devez les définir ici et vous devrez les définir ici. Et vous avez une définition ici et vous devez les diviser ici. Comme s'il y avait beaucoup de choses à faire. Je ne sais pas. C' est parfois un peu bizarre, mais dans l'ensemble, je suis sûr qu'il va s'en sortir. Je vais également relier les ressources qui seront les modificateurs de boucle globale ou la forge Docs ici. Donc, en gros, voici également un petit résumé, dans lequel vous pouvez jeter un dans lequel vous pouvez autre coup d'œil sur la façon dont ils pourraient fonctionner. Cela peut parfois être utile, vous savez, je vais juste le relier essentiellement aussi, ou des fantasmes dans Minecraft. Voyons donc si je casse l'herbe ici, il faut toujours laisser tomber une graine de navet. Et nous y sommes. En gros, nous avons 100  % de chances d'ajouter une graine de navet à la table de butin. Et juste pour l'achèvement, jetons également un coup d' œil à l'Aigle. Très bien, ici, nous pouvons voir qu'il y a une canne d'arrêt dans les échecs légaux. C'est plutôt cool, non ? Encore une chose qui est très importante. Nous devons également ajouter un type dans les fichiers JSON ici, où il nous donne un supplément en 118. Sinon, cela ne fonctionnera pas. s'agit simplement de votre espace de noms, donc de votre ID MOD, puis du nom du fichier réel. ne devrait donc pas y avoir de folie ici, non, ce sera déjà le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile et qu'il apprend le nouveau. Je vous verrai lors de la prochaine conférence. Donc, oui. 85. (intermédiaires) de fluides personnalisés: Très bien, Bienvenue au quatrième cours pour 118. Et dans cette conférence, nous allons examiner les fluides personnalisés. Pour les fluides personnalisés, nous avons une restriction majeure ou disons une limitation qui existe. Et c'est essentiellement que la physique du fluide que vous allez fabriquer sera la même physique que l'eau. Et puis non seulement cela, mais aussi vous n'aurez les mêmes articles que l' eau en gros lorsque vous plongez et des trucs comme ça. Mais c'est une limite qui est actuellement bonne, pas facile à contourner. Attention donc à ça. Et je vais aussi copier la plupart du code. Encore une fois, tout est disponible dans le référentiel GitHub ou un individu. Nous allons cependant expliquer ensuite le package de cours MC, cliquez avec le bouton droit sur un nouveau package appelé fluide qu'ils ne le sont. Je vais copier sur la classe des fluides mode dans son intégralité. Nous devrions obtenir une flèche ici dans le plus grand nombre d'articles, nous devons encore faire un objet de seau à miel. Mais pour que cela soit très facile. Donc, dans la classe plus d'objets maintenant, je vais juste copier par-dessus le bol, le seau de soulignement de miel. Et c'est bien sûr un en dessous, sur le seau de soulignement. Et puis, il s'agit d'un objet de seau. Et le premier paramètre étant modélisé des fluides qu'un liquide IV. C'est là que tu y vas. Et c'est essentiellement ce dont nous avons besoin. En fait, ajoutons immédiatement la traduction et des trucs comme ça, juste pour que nous l'ayons, que nous ne l'oubliions pas. Donc, un seau de soulignement de miel et le seau il y a, puis un modèle d'article, car bien sûr, c'est toujours dans l'article normal. Cela ne change rien. Donc seau de miel, ils vont juste des pointes vers une texture normale. Et ensuite, nous allons juste ajouter la texture, l'ego. Donc, c'est plutôt sympa. Maintenant, regardons à nouveau les fluides. La première chose que nous avons est trois emplacements de ressources. Il s'agit donc de l'emplacement des ressources en eau, l'écoulement et de la superposition. Pourquoi les utilisons-nous ? C'est vrai ? Pourquoi utilisons-nous les sites d'eau ou de ressources de Manille ? Eh bien, parce qu'ils sont gris et que nous pouvons fondamentalement les colorer. Nous avons donc cette couleur de point ici dans les propriétés, ce qui nous permet essentiellement de colorer notre fluide. C'est pourquoi nous les utilisons parce qu'ils sont déjà gris et ils ont l' air totalement bien. Disposer d'un registre différent ainsi que d'une méthode de registre. Comme vous pouvez le constater, cette méthode de registre doit bien sûr être appelée. Appelons cela aussi. Il y aura donc le mode fluids Dot Register avec le bus d'événement ici. C'est déjà quelque chose que nous avons déjà vu plusieurs fois. Ensuite, nous avons deux fluides différents. L'un d'eux est un fluide qui s' écoule et l'autre est un fluide fluide forgé. Ce liquide coule. C'est extrêmement important. J'ai vu cela à plusieurs reprises que des gens viennent de le copier et ont oublié de changer cela. Sachez que l'un d'entre eux doit être source et que l'un d'entre eux doit s'écouler. C'est très important. Ensuite, nous avons besoin d'une quatrième propriété fluide fluide. C'est essentiellement les propriétés, comment cela s'affiche-t-il et des trucs comme ça. Vous verrez beaucoup de superpositions jaunes ici et il est dit, hé, on peut remplacer ça par ça juste ici. Et puis il est même dit que nous pouvons même rendre cela plus facile en l'appelant comme ça. Ne faites pas cela. Nous devons utiliser correctement les fournisseurs ici. Sinon, il ne sera pas chargé dans le bon ordre. Nous devons donc faire appel aux fournisseurs. C'est très important. La plupart des choses, la densité, la luminosité, viscosité, ce sont bien, forgez simplement des valeurs qui ne font rien. Pente, définition de la distance et de la diminution du niveau. Ceux-ci font cependant quelque chose. Mais je recommande vivement de jouer avec les chiffres une fois de plus, ce qui concerne la couleur. C'est très étrange car au lieu d'aller comme on s' attendrait à une valeur hexadécimale dans RGBA. Il s'agit en fait d'un RVB, donc c'est la couleur en gros. Mais cela devrait être assez simple. Il suffit de trouver un sélecteur de couleurs en ligne , puis vous pouvez définir la couleur ici. Nous avons également besoin d'un bloc liquide ici. Donc, je bloque du miel, c'est un bloc particulier. Dans ce cas, nous pouvons voir qu'il s'agit d'un nouveau bloc liquide et nous passons dans le liquide juste là. Mais c'est l'idée générale ici. Rien de trop fou. Je pense parfois que les fluides et les forges sont Will. Il pourrait y avoir un peu plus de facilité, car il y a une autre chose que nous devons ajouter. En fait, il y a quelques choses que nous devons ajouter. Donc, dans notre classe de mod de cours MC, dans la méthode de configuration du client, nous voulions réellement définir la couche de rendu ici, et cela va être pour le papa des fluides de modèle, puis essentiellement le bloc. Et ça va être translucide. En fait. Nous voulons faire la même chose pour le lucide et pour le miel qui coule, puis nous allons fondamentalement rendre cela transparent pour que nous puissions le voir à travers. Et cela nous permet essentiellement d'utiliser la valeur Alpha ici. Pensez-y comme ça. Ensuite, nous devons également ajouter une balise. Et cette étiquette est crédiblement importante pour savoir qu'elle agit réellement comme un fluide. Ainsi, dans le dossier de données Minecraft, balises, cliquez avec le bouton droit sur un nouveau répertoire appelé fluides. Et à l'intérieur de là, un nouveau fichier appelé Water dot JSON. Et maintenant, le contenu va ressembler à ceci. Nous allons avoir le trait de soulignement du miel fluide et couler là-dedans. Ce sont les noms du monde, ce soit la source ou le courant. C'est très important. Et ensuite, nous devrions être finis. Ensuite, vous avez ajouté votre liquide personnalisé à Minecraft et il sera enregistré correctement. Donc oui, c'est à peu près tout ce dont nous avons besoin. Voyons donc pour les travaux ou si on m'a demandé de revenir et de micro Tennessee, le seau à miel a été ajouté au jeu et posons-le. Nous y voilà, le miel y est aussi. Et maintenant, vous pouvez voir que les particules sont des particules d'eau normales. Et quand j'y vais, vous pouvez voir que le genre de superposition est également bleu car vous pouvez voir que le genre de superposition est également bleu ce n'est que deux des limites que j'ai mentionnées. C'est exactement comme ça que ça va se passer. Parfois, c'est exactement comme ça que le biscuit s'écroule. Néanmoins, fluides personnalisés ont été ajoutés aux microbes. C'est plutôt cool et ce serait déjà le cas pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai au cours de la prochaine conférence. Oui. 86. Bases de événements (intermédiaires): Bon, bienvenue au cours de fourrage pour 118. Dans cette conférence, nous allons examiner provisoirement les événements que nous avons déjà vus lors événements que nous avons déjà vus conférences précédentes. Nous avons les événements de bus d'événements en mode, et nous avons également la classe des événements automobiles. Donc, si deux classes, nous avons vu l'événement de commandes de registre, l'événement de clone du lecteur, ainsi que l'événement de registre pour les sérialiseurs de modificateurs globaux mentionnés. Et je voulais juste donner un bref aperçu de ce que c'est réellement comme des événements. Tout d'abord, si nous n'avons pas d'événement ou vous pouvez également changer deux fois et simplement mettre en place ici. Ensuite, incluez les articles autres que les produits. Et puis nous pouvons prendre celui-ci ici même de événement Net Microforms était EPI. Et je peux faire ce qui suit. Je peux cliquer dessus et appuyer sur Contrôle H. Et je vous ai déjà montré celui-ci, mais nous le montrerons à nouveau. Mais nous pouvons tout élargir, et ce sont tous les événements qui forgent des publicités auxquelles nous pouvons nous connecter et ensuite faire des choses lorsque cet événement se déclenche. Il y a des choses vraiment cool ici. La première chose que je veux mentionner, c'est que vous ne devriez pas dire, je veux utiliser cet événement pour le faire. Ce n'est pas comme ça que ça fonctionne. Ce que vous devriez faire, c'est que vous devriez dire, je veux que x arrive. Je veux pouvoir prendre une autre pause et diriger entité cachée avec elle et elle devrait prendre feu. D'accord, alors vous y réfléchissez. Eh bien, je peux changer choses dans la classe d'objets pour la brique inférieure. Maintenant, c'est vraiment un peu codé en dur, n'est-ce pas ? Vous devez changer le code source de Minecraft, ça ne fonctionne pas vraiment. Y a-t-il un événement pour cela ? Je ne sais pas. Comme s'il y avait un événement de dégâts, tous des dégâts vivants. Regardez-moi ça. Cela pourrait être utile. Vous pouvez cliquer deux fois dessus et il y a généralement une très bonne description des événements. Nous pouvons voir que l'événement des dommages vivants est déclenché juste avant que les dommages ne soient appliqués à l'entité. Cet événement est donc déclenché à chaque fois. Juste avant une entité, une entité vivante est blessée. C'est ça le truc, non ? Cet événement est déclenché chaque fois qu'une entité est endommagée dans une entité vivante réellement blessée ou se termine par une couche réellement blessée. Bien que je suggère fortement de jeter un coup d' œil aux événements qui se trouvent dans la hiérarchie des classes ici, il est vraiment très utile de se familiariser avec quelques-uns de ces événements, surtout lorsqu'il s'agit d'un événement. vient aux entités. Il y en a tellement que vous pouvez voir les événements Entity et ils peuvent simplement les ouvrir et ensuite regarder cela. Il y a des événements de joueurs. Il y a tellement d'événements de joueurs différents que vous pouvez vous connecter et faire des choses avec. C'est plutôt fou. Eh bien, il y a une chose intéressante, c' est la classification des bus de puits. Donc, si le bouton central de la souris clique sur ce bus ici, vous pouvez voir qu'il y a un bus forge et qu'il y a un bus MOD. Maintenant, l'essentiel général est ceci. Certains événements sont déclenchés pour Forge, dans certains cas qui sont déclenchés pour un mod. C'est l'idée générale à laquelle il faut penser. Ne compliquez pas trop cela. Oui, bien sûr, il y a beaucoup plus à ça. Vous pouvez voir que nous l'avons déjà vu auparavant, là où nous l'avons déjà vu auparavant. Eh bien, c'est exactement ici, non ? Vous pouvez voir que c'est le bus d'événements MOD, mais c'est exactement l'idée, n'est-ce pas ? Vous disposez du mode Event Bus et du bus d'événement forge. Et plus le bus d'événements dans ce cas, par exemple, est toujours utilisé pour les différents registres ici. Et vous pouvez voir ici lorsque nous faisons des microformes point Event Bus, il s'agit alors de l' autre bus d'événements. Celui-ci est donc celui des événements de la forge. Je ne m' inquièterais pas trop de ça. Dans l'ensemble, vous pouvez généralement voir de quoi proviennent les événements. Lorsque, par exemple, vous dites le registre, le registre événements, si je touche le milieu de la souris, cliquez dessus, puis accédez au registre alors que, par exemple, vous pouvez voir que cela implémente maintenant l'événement Bus en mode IE. Je peux donc appuyer sur Control H là-dessus et je peux voir tous les événements qui se produisent à partir de là. Il devrait donc s'agir essentiellement d'eux. En théorie, il y en a peut-être quelques autres, mais je ne pense pas. Je pense qu'ils doivent toujours mettre en œuvre cela. C'est donc à peu près tout ce qu'il y a à faire. Donc, d'habitude, vous devriez être capable dire et ce que nous allons juste par souci d'argumentation, ce que je vais réellement copier est une méthode qui est bien sûr disponible pour vous et c'est l'ensemble entité en feu lorsqu'elle est touchée. Et cela va se faire dans une autre pause. Mais je voulais juste vous montrer ici dans un exemple, vous pouvez voir que nous choisissons l'événement des dommages vivants. Et cet événement a quelques moelleux, non ? Nous l'avons déjà vu. Eh bien, nous avons la source endommagée et nous avons également , par exemple, le montant et l'entité vivante. Donc, en gros, tous ceux que nous arrivons ici, et c'est plutôt cool parce que nous pouvons obtenir la source des dégâts. On peut dire, Hey, donne-moi juste la source directe, c'est-à-dire le joueur. Et puis on peut aussi dire que l' entité vivante a été touchée. Et ensuite, nous ne faisons que mettre le feu à ça. Mais c'est vraiment cool. Cela signifie donc que nous pouvons ajouter des fonctionnalités supplémentaires, par exemple, aux articles vanille. Encore une fois, n'en faites pas trop. Ne sois pas, ne deviens pas fou Cu2, non ? Être comme un bon. Donc, quand je frappe quelque chose avec une autre étoile, le monde entier va exploser. Je veux dire, ce serait plutôt cool honnêtement, mais n'essayez pas de faire du chausse-pied dans les événements où ils ne correspondent pas. Par exemple, si vous dites, oh, je pourrais remplacer cela par mon article personnalisé. Et j'ai dit : Oui, bien sûr, comme si vous pouviez encore le dire. Vous pouvez voir les éléments de mod. Par exemple, l'abaissement, le point de tige se fait. Et cela fonctionnera également. Maintenant, si je frappais quelque chose avec une canne de descente , je mettrais le feu à quelque chose. Mais alors je me dirais aussi : Pourquoi voudriez-vous faire cela ? Vous n'êtes pas obligé de le faire dans vos articles personnalisés. Vous avez accès au code source. Je pourrais juste entrer dans la canne d'abattage, non ? Un remplacement d'une méthode ici. Il y a la méthode de l'ennemi blessé par exemple. Et je pourrais le faire ici, comme nous l'avons vu avec le genre de lévitation, n'est-ce pas ? Ainsi, avec l' épée de lévitation, si c'est fait, nous avons surmonté la méthode du troisième ennemi et ajouté un effet. Ou en théorie, vous pourriez aussi le faire ici, n'est-ce pas ? Je pourrais juste dire, Hé, prenons le, vous savez, s'il s'agit d'un élément de tri de lévitation, alors bam, Allons-y, allumons le feu ou faisons léviter l' entité vivante qui a été touchée. Bien sûr, je peux le faire, mais si vous avez accès au code source, il n'y a aucune raison de le faire dans un événement. J'espère que j'ai été en quelque sorte une introduction générale aux événements. Les événements peuvent être presque impossibles à maîtriser car ils sont nombreux. Et vous devrez juste voir si, pour ce que vous voulez faire, il y a un événement et s'il y a, super, essayez-le. Ouvert à l'expérimentation. Je peux à peu près ce que je vais dire pour le reste du cours, car il est très important d' essayer un tas de choses. Vous avez toujours le contrôle Z. C'est ce qui est génial dans la programmation. Vous pouvez toujours revenir en arrière et dire : Vous savez quoi ? Non, ce n'était pas une bonne idée ou, oh mon Dieu, cette fonctionnalité est incroyable. Je ne m'attendais pas à ce que cela se produise. C'est vraiment cool. Mais juste pour l'achèvement, nous voyons vraiment que cela fonctionne vraiment ? Voyons si c'est le cas. Ou si je suis dit un Minecraft, donc j'ai une autre pause et voyons simplement si je frappe une entité avec. Vous y allez. Ils sont incendiés et une autre brique est soustraite ici. C'est donc incroyablement cool. Comme vous pouvez le voir. Cela fonctionne simplement. Et c'est, vous savez, que c'est quel point les événements personnalisés muraux ou l' accrochage à des événements peuvent être corrects, et ce serait déjà le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile et qu'il apprendra le nouveau, et je vous verrai dans la prochaine conférence. Donc, oui. 87. (intermédiaire) à mettre à jour les cartes de forges et de Parchment: Bon, bienvenue au cours de fourrage pour 118. Et dans cette courte conférence, nous allons mettre à jour forge et mettre à jour les mappages. Ainsi, au cours d' un certain temps, vous savez, nouvelles versions forgées vont sortir. Vous pouvez donc voir ici sur la page de téléchargement, nous en avons 39 et 0,8 à ce stade, et nous utilisons, je crois, 39,05. Mais nous allons vérifier cela dans un instant, mais nous pouvons la mettre à jour avec la dernière version ici. Et puis il en va de même pour le parchemin. Nous avons en fait une version complète à ce stade, soit 20, 21, 12 et 19. C'est vraiment cool. Ce que nous pouvons faire, c'est que nous pouvons naviguer vers le fichier build.gradle ici. Et vous pouvez voir que nous utilisons 0,5. Donc maintenant, nous pouvons juste mettre un 0,8. Nous n'avons rien à télécharger. Encore une fois, cela va se faire automatiquement pour nous. Ensuite, nous pourrons changer cela pour devenir la version 2021, 12 et 19, puis la version C ici, puis 180, bien sûr. Et puis pour notre version, je veux dire, à ce stade, nous sommes assez loin, donc c'est comme 0.1.5, c'est très bien. Et puis, gardons ça. Et puis on peut juste toucher la charge des changements de Gradle ici, et ensuite nous laisserons passer ça pour moi. Cela n'a pris que trois secondes, mais c'est bien sûr parce que je l'ai déjà fait et toutes les choses déjà téléchargées auparavant. Donc, pour vous, cela prendra probablement environ une minute ou deux à fouiller et alors tout devrait être bien mis à jour, mis à jour et devrait aller bien. Il ne devrait y avoir aucune erreur ici. Ce qui peut arriver, c'est que si vous commencez le jeu, vous recevrez encore une fois beaucoup de flèches ou plutôt beaucoup d' avertissements disant : «  Hé, ça ne marche pas, ça ne marche pas, mais pas de soucis du tout. Continuons simplement à suivre pour que vous puissiez voir que tout fonctionne tant que vous ne vous améliorez pas, je veux dire, la construction a échoué ou tant que vous ne recevez pas de micro-ondes ne fonctionne pas du tout, ça devrait aller. Et vous pouvez voir ici, par exemple, que le microbe est déjà en train de démarrer. Et alors, nous devrions aller bien. Nous y voilà. Nous y allons avec le microphone 3908, tout fonctionne en Grande-Bretagne. C'est en fait tout ce que je voulais vous montrer pour cette conférence ici. Je vous recommande vivement lorsque vous disposez d'une nouvelle version disponible. Je veux dire, si vous regardez cela à l'avenir, bien sûr que vous l'êtes, cette version ici ne sera probablement pas la plus à jour. Et alors, cette version de Forge ne sera certainement pas la plus à jour. C'est pourquoi j'ai relié parchemin une fois de plus les pages pour le parchemin et les pages à télécharger, juste pour que vous puissiez prendre celles où les versions réelles dont vous aurez besoin, où que ce soit pour cette conférence ici, j'espère que vous avez trouvé cela utile et que vous avez appris quelque chose de nouveau. Je vous verrai lors de la prochaine conférence. Donc, oui. 88. (Advanced) Entité de bloc personnalisé: Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons jeter un coup d'œil à un pâté de maisons. Entités. Pour les entités de blocs en général, les blocs auxquels une fonctionnalité particulière est associée. Des données supplémentaires pour ainsi dire. Et cela pourrait, par exemple, inclure une interface graphique et des choses comme ça. Maintenant, avant de commencer à programmer quelque chose, je voulais, en fait passer en revue un peu la théorie. Pour cela, nous allons dévoiler l'outil de puits utilisé le plus souvent et c'est bien sûr notre point de vue ici. Commençons donc tout simplement. L'idée générale est donc que nous avons deux ou trois choses. Le numéro 1 est que nous avons une classe de blocs. Maintenant, nous l'avons déjà fait. Nous avons un, eh bien, le cobol blaster pour nous. Maintenant, pour nous, ce sera un bouton bleu. Sous le fond bleu. Cela n'a pas l'air si beau, donc nous l'avons, lisez-le ici. Mais les idées générales, nous avons une classe de blocs et qui a une référence à une classe d'entités bloquée. Il y a une classe d'entités de blocs que nous allons bien sûr créer dans un instant. Et cela contient des données et des fonctionnalités pour un bloc particulier. C'est l'idée générale. Dans cette classe d'entités de blocs est créée. Nous pouvons y avoir un inventaire, et celui-ci peut ensuite créer un menu. Maintenant, la classe de menu est très intéressante car la classe de menu, n'est-ce pas ? Vous voyez que c'est en quelque sorte séparé, n'est-ce pas ? Nous avons un écran et une classe de menu. Maintenant, ce qui est très important c'est que la classe de menu peut, par exemple, synchroniser les valeurs de l'entité avec un serveur et un client. Cela va être très important, surtout lors de la prochaine conférence. Je recommande donc vivement de jeter un coup d' œil à cette conférence et à la prochaine conférence, en même temps, car nous allons avoir une entité de bloc fonctionnelle à la fin de cette conférence. Bien, nous allons le rendre environ un milliard de fois meilleur lors de la prochaine conférence et tout simplement plus robuste. C'est juste quelque chose à garder à l'esprit. Dans la classe de menu, il y a également des emplacements pour l'inventaire. Vous pouvez donc voir que cela visualise essentiellement cela d'une manière que nous avons ici ces rectangles violets qui sont quelque sorte en corrélation avec les fentes ici. Et ce qui est très important, c'est que le menu où se trouvent ces emplacements soit complètement indépendant de cette image ici. Parce que ce que vous devez garder à l'esprit, c'est que lorsque nous regardons la classe d'écran, n'est-ce pas ? Ce client seulement, ce n'est littéralement que cette image. Je ne peux pas insister davantage sur ce point. Fondamentalement ceci, la classe d'écran est à peu près que cette image. Donc, quelle que soit cette image, les machines à sous peuvent être partout où nous le voulons. Nous définissons donc leur position à l'intérieur de la classe de menu. Bien qu'au lieu de cela, vous savez, l'année GUI, je pourrais avoir une photo de mon visage, je pourrais avoir une photo de mon chien. Vous pouvez mettre tout ce que vous voulez là-dedans. La fonctionnalité fonctionnerait toujours. C'est donc très, très important. Maintenant, il affiche également des éléments comme la progression. Donc, cette flèche de progression ici, ou la quantité de carburant restante dans la fente de carburant. Fondamentalement, c'est quelque chose qui peut être fait avec les valeurs de synchroniseur que la classe de menu synchronise essentiellement pour nous. C'est l' aperçu général de cette situation. Et parfois, cela peut être un peu déroutant. Je dirai aussi ceci, Eh bien, les entités de blocs sont définitivement un sujet avancé. Nous avons donc atteint les sujets avancés à ce stade. Et à ce stade, c'est aussi quelque chose comme si vous ne connaissez pas beaucoup Java, à ce stade, c'est très bien. Il va être très difficile de vous aider avec quoi que ce soit, je vais supposer que vous savez, au moins une connaissance intermédiaire de Java fondamentalement. Je ne vais donc pas dire, Hé, c'est une méthode statique. Vous savez ce qu'est une méthode statique, ce genre de choses. Je vais juste supposer que vous savez tout cela. Soyez donc conscient de cela. Numéro un. Numéro deux, je couvrirai également une grande partie du code qui est disponible pour vous, y compris cette fiche de triche est également disponible dans l'individualiste du référentiel GitHub et pour téléchargement. Donc, pas de soucis là-bas. Mais passons à nouveau à l'intelligence et voyons ce que nous pouvons voir. Donc numéro 1, ce dont nous avons besoin, c'est que nous avons besoin d'un nouveau cours. Nous avons besoin d'un nouveau package dans R, bloc package, cliquez avec le bouton droit de la souris sur un nouveau package appelé entité. Il s'agit maintenant du package d'entités de blocs. Et là, nous avons besoin de deux cours. L'un d'eux sera l' entité Volokh blaster au cobalt. Et puis le second sera un clic droit sur Nouvelle classe JAR appelée les entités de roche boue. Vous y allez. Ces deux cours sont donc nécessaires. Et pour les entités de blocs, eh bien, nous pouvons immédiatement remplir cela avec au moins un peu, et ce sera une finale statique publique, le troisième registre. Nous avons déjà vu ce type d'entité de bloc, puis encore une fois des crochets avec un point d'interrogation. Puis bloquez les entités de soulignement, ce qui équivaut à un registre différent qui crée des registres, des entités de blocs de points. Modèle de cours Mc, cet ID de modèle. Et puis bien sûr, alors qu' un registre existe une méthode de registre public statique des vides avec un bus d'événements ou un bus d'événements, qui refroidit les entités de blocage qui s'enregistrent et passent dans le bus d'événements. Et nous pouvons immédiatement entrer dans notre classe de mod de cours MC et simplement le mettre ici pour que nous puissions dire mode bloc, blocs entités s'inscrivent avec le bus d'événement il y a. Et nous devrons le faire une fois de plus avant la fin de la conférence, mais pas de soucis du tout. Nous n'allons pas encore définir le réel. Entité parce que nous devons d' abord créer cette classe. Je vais croire que nous pouvons faire de ce cours presque dans son intégralité, sauf une chose, mais ça va aller. Cela va donc se rapporter à ce qui suit. Cela va étendre l'entité de bloc et implémenter le fournisseur de menus. Survoyons cela, implémentons les méthodes. Cela va donc implémenter la méthode get display name et la méthode Create menu. Donc, une chose que je ferai, c' est que je vais délibérément faire en sorte que cela ait une flèche ici, parce que je ne veux pas oublier ajouter le menu Créer ici. C'est quelque peu important parfois. Je veux dire, je ne suis pas que j'oublie cela, mais c'est juste très important que nous fassions cela parce qu'il y a beaucoup de parties mobiles à cela, vous savez, ne pas faire une de ces parties va fondamentalement faites en sorte que l' entité de bloc ne fonctionne pas. Et ici, nous pouvons simplement renvoyer une nouvelle composante textuelle de quatre volts dernier terme. Donc, ce sera simplement le nom complet. Puis survolez ce constructeur de creed correspondant super. Et ça va aussi bien se passer. Cependant, ce que nous allons faire ici c'est que nous allons supprimer le premier paramètre et vous obtiendrez bien sûr une erreur ici, mais pas de soucis du tout. Parce que ce que nous pouvons faire, c'est maintenant que nous pouvons définir cela dans nos entités de blocs de mode. Et la façon dont nous définissons cela, je vais en fait taper cela, peut-être pas l'objet final du Registre statique public. Il sera assez explicite du type d'entité de bloc, ce type d'entité de livre de blaster cobalt. Eh bien, le blaster au cobalt, et ça va être égal à des entités de blocage qui s'inscrivent le nom de blaster de soulignement cobalt, ça va aller. Et puis un fournisseur du type d'entité de bloc suivant constructeur de points points-points du deux-points d'entité de bloc blaster cobalt , deux-points nouveaux. Vous pouvez voir qu'ensuite une virgule, puis nous devons faire des blocs, points, des blaster, des points. Puis après le troisième, après la première parenthèse canard à bec, puis passer un null. Voilà donc à quoi ça ressemble à peu près ici. Donc, les blocs que nous passons ici sont essentiellement les blocs associés à cette entité de livre. C'est l'idée générale. Ensuite, au lieu d'avoir le paramètre ici, ce que nous pouvons faire, c'est que nous pouvons dire des entités de bloc, que le point de blaster cobalt est obtenu. Maintenant, vous pourriez penser, eh bien, n' est-ce pas une référence circulaire ? Ce n'est pas le cas en fait. Je le sais. Je ne suis pas sûr de l'aimer. C'est très fou. Comme s'il y avait beaucoup de choses circulaires, pour ainsi dire, dans les entités de blocs. Donc, pas de soucis. Maintenant, nous allons commencer à copier des choses. La première chose que nous allons copier est essentiellement les deux champs que nous avons. Et ces champs se trouvent dans le gestionnaire de pile d' éléments appelé gestionnaire d'éléments de taille quatre. Et c'est aussi une classe anonyme vous pouvez voir car nous devons mettre le contenu modifié ici là où nous avons fondamentalement changé. Dans le cas contraire, nous aurons des problèmes avec le chargement et l'enregistrement de l'inventaire. Ensuite, nous avons une option paresseuse, et nous avons besoin de celle-ci à cause de la capacité. Nous allons également copier celui-ci. Il s'agit donc de la méthode de capacité Git. Et je vais juste mettre ça en dessous. Ils obtiennent donc une méthode de capacité. Vous pouvez le voir en gros dit, Hé, si vous connaissez quelqu'un ou quelque chose demande sur cette entité de bloc, elle n'a pas la capacité de gestionnaire d'éléments, alors nous allons juste renvoyer le gestionnaire d'éléments paresseux . C'est vrai, celui-là. Et nous allons juste dire : Bien sûr, prends ça. Bien sûr, comme vous pouvez le voir clairement, le gestionnaire d'éléments paresseux pour le moment il n' a pas été défini. Comment pouvons-nous le régler ? Ce que nous avons défini dans la méthode onload. Donc ce que nous allons faire, c'est que je vais copier sur le stand la méthode onload et invalidate caps. Ils pouvaient voir que onload devrait être assez explicite, n'est-ce pas ? Lorsque cette entité de bloc se charge, nous allons simplement définir le gestionnaire d'éléments paresseux une option paresseuse de notre gestionnaire d' éléments réel ici. C'est donc l'idée générale. Et lorsque nous invalidons les plafonds, cela se produit lorsque le serveur arrête des choses comme ça. Ensuite, nous invalidons simplement les gestionnaires d'éléments paresseux afin que nous n'ayons aucune fuite de ressources, ce genre de choses. Alors, la question se pose comment sauvegarder les données ? Eh bien, nous sauvegardons les données en procédant, en remplaçant deux méthodes. Il s'agit de la méthode de sauvegarde supplémentaire et de chargement. Vous pouvez donc voir que c'est fondamentalement que je prends le gestionnaire d'article NMC, réalisant cela au NVT. Cela fait donc tout le poids lourd pour nous. Il enregistre toutes les machines à sous. Ce qu'il y a dans ces emplacements sont de nombreux articles dans ces machines à sous. Tout cela est donc très bien fait pour nous et nous n'avons besoin que de ces deux méthodes ici. Ce qui est très important, c'est que nous devons, encore une fois, remplacer cela dans la classe anonyme. Sinon, nous aurons des problèmes avec l'enregistrement des données car la méthode de sauvegarde supplémentaire pour quelque raison que ce soit n'est pas appelée. Chaque fois que nous quittons le monde pour quelque raison que ce soit on ne fait appel qu'à une mise à jour. Je ne suis pas sûr de cela, mais assurez-vous simplement que c'est fait. Et puis enfin, pour les méthodes non statiques, j'aurai aussi la méthode gouttes. Et celui-ci fait simplement un conteneur simple ici, récupérez tous les éléments du gestionnaire d'éléments et puis dit simplement, Hey, déposez tout votre contenu à cette position sur ce niveau. Et ensuite, tout ira bien. Cela va être appelé lorsque nous détruirons le bloc réel. Donc, tout le contenu déborde de ce bloc réel, n'est-ce pas ? Donc, si vous, par exemple, la poitrine du destroyer, et bien sûr, tout le contenu de la poitrine tombera sur le sol. Et c'est bien sûr ce que nous voulons également dans notre fusée juste avant de continuer à faire des choses ici, nous allons en fait passer au verre ou au bloc de cobalt, car maintenant le bloc sera a également changé. Et cela va être très intéressant car au lieu de s'étendre à partir de la classe de blocs, cela va s'étendre à partir du bloc d'entité de base est important. Ensuite, vous pouvez voir que vous devez immédiatement implémenter la nouvelle méthode d'entité de bloc. Ce n'est évidemment pas du tout inquiétant, car nous pouvons simplement mettre en œuvre cela. Et cela va être très facile pour nous car ce que nous pouvons faire, c'est au lieu de retourner null, nous allons retourner une nouvelle entité de bloc de blaster cobalt et passer dans l'EPA a et l'état p ici. Et c'est à peu près tout ce que nous devons faire pour cela. Maintenant, il y a encore quelques choses que nous devons faire, n'est-ce pas ? Vous pouvez bien sûr voir que la plupart des choses concernent la forme réelle du bloc. Mais ce que vous avez alors, c'est que nous devons le faire, et c'est extrêmement important, n'est-ce pas ? Nous devons remplacer la méthode de forme de rendu getter ici. Et nous devons renvoyer la forme de rendu d'un modèle. Parce que si nous ne le faisons pas, notre modèle sera invisible, car il ne s'agit que de la valeur par défaut du bloc d'entité de base. Je ne sais pas pourquoi c'est le cas. va probablement être une raison. Assurez-vous donc de passer outre cela. Sinon, votre bloc sera invisible. Et ce n'est bien sûr pas tout à fait ce que nous voulons en ce sens que je vais passer à d'autres méthodes et je vais en fait les copier. Il va s'agir de la méthode OnRemove. C'est exactement ce que j'ai dit, juste au moment où nous appelons la méthode drops ici. Eh bien, cela permet de s'assurer que, hé, lorsque nous supprimerons ce bloc, tout le contenu de l'entité de bloc tombera sur le sol. Mais c'est génial et c'est juste une méthode vraiment sympa et pas trop folle aussi. Et la méthode américaine est un peu similaire en ce sens que lorsque nous cliquons avec le bouton droit sur ce verrou, nous voulons simplement que l'entité réelle ouvre son inventaire ou ouvre son interface graphique en gros, n'est-ce pas ? Vous pouvez voir ici les crochets réseau qui ouvrent l'interface graphique. Nous voulons donc simplement ouvrir l'interface graphique et nous assurer qu' elle est en quelque sorte synchronisée via le serveur et le client. C'est pourquoi les crochets réseau font tout le poids lourd là-bas pour nous. Il y a une autre chose que nous voulons, c'est-à-dire que nous voulons que la méthode ticker nous voulons que la méthode ticker soit accessible dans l'entité de bloc cobalt blaster. Et une méthode de tick ne sera fondamentalement qu'une méthode appelée chaque tick pour une entité de bloc particulière dans ce cas. Et cela nous permettra d'y ajouter des fonctionnalités intéressantes. Et nous allons essentiellement faire de l' artisanat personnalisé, pour ainsi dire. Et pour cela, nous devons remplacer la méthode getter ticker. Je vais le copier à nouveau et nous obtiendrons une simple erreur ici, mais nous pouvons résoudre cela très facilement. Nous pouvons voir que c'est essentiellement la méthode, eh bien, je reçois le ticker, puis nous appelons l'assistant de création de ticker et revenons à cela avec le type d'entité rock, nous allons passer dans le blaster global mode bloc, année de l'entité de bloc. Et ici, nous pouvons voir que nous voulons passer la méthode de tick d' entité de bloc cobol blaster, qui n'est pas encore créée. Mais nous allons créer cela maintenant. Il s'agira donc de toutes ces méthodes statiques. Il s'agit de quatre méthodes. Je vais juste les copier pour qu'on puisse voir ce qui se passe ici, non ? C'est de la folie, pas de soucis. On va passer par là. La méthode tick est donc la seule méthode qui n'est pas personnalisée. Ces trois méthodes sont donc entièrement personnalisées. Je les ai faits moi-même. La méthode de tick qu'elle est en elle-même va être la même pour chaque entité de bloc. Vous aurez toujours accès au niveau de la position, l'état et à l'entité de bloc elle-même. Et vous pouvez voir que je viens de créer des méthodes d'aide, en gros, la fabrication de l' objet va juste planter. Les éléments vont extraire un article de 0. Nous allons l'extraire de la fente 1. Et ensuite, nous allons juste mettre un objet dans la fente trois. Vous pouvez donc voir que nous allons aussi mettre des lingots de cobalt ici. Nous allons simplement continuer à le faire. Bien sûr, la méthode des objets artisanaux n'est appelée que lorsque nous avons tous les deux une recette et que nous n'avons pas atteint la limite de pile. Jetons un coup d' œil à la limite de pile car c'est un peu plus facile. Nous allons simplement dire, hé, si le nombre de piles réelles ici est inférieur à la taille de la pile GetMax, tout ira bien. Ainsi, tant que nous n' avons pas atteint 64 éléments dans l'emplacement de sortie, nous pouvons continuellement fabriquer des articles qui devraient être assez explicites. La méthode de la recette a. Eh bien, cela vérifie que nous avons dans le slot 0 appelé slivers et que nous avons dans la première fente ou la pente avec index un, nous avons du cobalt brut. Si nous avons les deux là dedans, c'est vrai. espérons que cela sera vrai et ensuite nous travaillerons l'objet. Je vais le dire, c'est une façon très grossière de le faire. Ce n'est vraiment que pour vous montrer une fois comment fonctionne l'artisanat et des trucs de ce genre ? Je vous recommande vivement mettre en œuvre cela et vous pouvez jeter un coup d'œil et vous pouvez dire, eh bien, c'est vraiment cool et c'est très recommandé. La prochaine conférence, nous allons faire une recette personnalisée, Jason. Et puis nous pouvons, fondamentalement, bien définir les recettes d'artisanat à l'intérieur des fichiers JSON, ce qui est bien mieux que de les coder en dur comme ça. n'est vraiment pas une bonne idée de le faire, n'est-ce pas ? C'est juste une très mauvaise idée. C'est très maladroit, ce n'est pas bon, c'est, il est codé en dur. Beaucoup de choses peuvent mal tourner. Je recommande donc vivement, même si c'est juste pour le spectacle une fois ici, c'est une façon très grossière de faire les choses et je voulais juste le préciser. Maintenant, le fait est que c'est peu près fait à part, bien sûr, la méthode Create menu ici. Et même pour le bloc. Le bloc est également fait pour que nous puissions fermer le bloc, nous pouvons même le rapprocher. Nous allons garder la classe d'entités de blocs ouverte un peu, car bien sûr nous devons maintenant l'ajouter à l'écran. Donc, dans notre forfait de cours MC. Cliquez avec le bouton droit sur le nouveau package appelé écran. Et à l'intérieur, nous allons créer deux nouvelles classes, en fait trois nouvelles classes, le cobalt, le menu pilastre. Et ensuite, nous allons faire l'écran de pilastre mural. Et nous allons également faire de la classe des types de menu mode . Et puis n'importe quel paquet d'écran, nous avons également besoin d'un autre paquet appelé slot. Et au lieu de là, je vais en fait copier vers la dernière étoile faite sera le mode que vous allez fenter et le slot de résultat du mode. Je vais les expliquer dans un moment où nous allons réellement les utiliser. Mais je recommande vivement de les copier. Tout cela est bien sûr à votre disposition une fois de plus, référentiel GitHub et un individu tout aussi. Pas de soucis, c'est vrai, nous allons commencer par le menu ou le menu cobalt blaster. Et je vais le faire, cela va étendre le menu du conteneur abstrait. C'est très important. Vous y allez. Je vais implémenter les méthodes toujours valides ici. Et ensuite, nous allons également créer un constructeur correspondant super. Maintenant, ce que je vais faire, c'est que je vais simplement copier l'intégralité du contenu de cette classe. Je vous recommande vivement de faire de même. Et nous expliquerons au fur et à mesure. Nous aurons donc une flèche ici. Nous serons en mesure d'y remédier dans un instant, sans vous inquiéter du tout. Vous pouvez donc voir que nous avons ici deux constructeurs différents, ce qui est en fait très important car l' un des constructeurs sera appelé dans les menus de mod et l'autre constructeur. sera appelé dans l'entité de bloc. Maintenant, nous pouvons le faire immédiatement. Passons donc à l'entité du blog. Et puis ici, dans la méthode du menu Créer, nous allons créer un nouveau menu ou un menu de plâtre boulonné lorsque vous passez l'inventaire de l'ID du conteneur. Et puis le dernier, c'est ça. Vous y allez. Et c'est à peu près tout ce dont nous avons besoin pour passer. Mais maintenant, la classe d'entités de blocs est complètement terminée et nous en avons fini avec cela. Regardons maintenant le menu ici. Donc le menu, comme je l'ai déjà mentionné dans la feuille de triche dans la théorie, gros, c'est responsable des emplacements où ils sont, où ils sont disposés, des choses comme ça. Et vous pouvez le voir ici. Nous pouvons donc avoir, en gros, nous ajoutons l'inventaire, nous ajoutons la barre chaude du joueur. ne sont donc que deux méthodes que j'ai rapidement créées parce que c'est ici. Ainsi, les boucles for sont généralement comme à l'intérieur du constructeur réel. C'est juste, je veux dire, c'est juste que ça me semble être un très mauvais n'est pas si bien codé en gros. Ensuite, il y a une autre chose très intéressante et c'est la pile de mouvements rapides ici. Cette méthode est effectuée par DZ 07, 08 crédit leur est attribué pour avoir fait cela. Je veux dire ceci, c'est pour cliquer sur les choses à l'intérieur de cet inventaire. Ne vous inquiétez pas de cette méthode. Ne regardez pas ça. Dites simplement merci beaucoup pour le 07 qu'ils pourraient que c'est vraiment fou. La méthode que nous pouvions suivre a passé une demi-heure pour expliquer cela. Ce n'est tout simplement pas nécessaire. Je n'aime vraiment pas cette méthode, mais bien sûr, elle doit être faite d'une manière ou d'une autre. Et c'est exactement comme ça que ça va se passer. Les champs statiques doivent également être présents. C'est très important. Et ici, dans le TE, nombre de créneaux d' inventaire, nous devons essentiellement mettre le nombre de créneaux réels. Eh bien, l'inventaire t0 et les archives maintenant c'est un inventaire B. Donc, avant qu'il ne soit nommé entité de tuile, il s'agit maintenant d'entité de bloc nommée. Mais tout ici devrait encore fonctionner parfaitement. Et vous pouvez voir que nous ajoutons quatre emplacements comme vous pouvez le voir. Donc, nous demandons essentiellement : Hé, avons-nous une capacité de gestionnaire d'articles ? Et si c'est le cas, ajoutons des emplacements sympas ici. Vous pouvez voir que j'ai une fente de carburant dans un emplacement de résultat. J'ai fait ces cours parce que je veux dire que c' est très logique. Fondamentalement, avez un emplacement où vous ne pouvez insérer que du carburant , puis un emplacement de résultats ABR où vous ne pouvez rien insérer. Fondamentalement, seule la machine elle-même peut y insérer des trucs. Et je les ai pris dans les machines à sous. Ainsi, vous pouvez taper, ils peuvent mettre en quart de travail deux fois, puis les mettre dans la fente. Et si je fais cela, vous pourrez voir l'inventaire mondial Minecraft net. Et si j'appuie sur Control H, vous pouvez voir tous les différents puits, des emplacements disponibles ici, par exemple. Et puis, en gros, nous avons la fente des résultats du four, comme vous pouvez le voir. Jetons un coup d' œil à celui-ci. Et bien, je veux dire, j'ai pris la plupart des choses ici sont les résultats, non ? Qu'est-ce qui est très important ? C'est juste que cet endroit du 1er mai doit être faux. Et puis la même chose pour la fente de carburant. Nous avons juste, bien pour demander au four abstrait : Hé, est-ce que cette pile est un combustible ? Et si c'est le cas, nous allons juste dire, bien sûr, que vous allez le placer là-dedans. peu près tout ce qu' il y avait à faire. Je veux dire, c'est quelque chose qu' il y a à faire. Ces deux emplacements recommandent fortement de les utiliser car ils sont juste un peu plus agréables à utiliser. Mais à part cela, je crois que la plupart du reste n'est pas trop fou. Nous avons juste une référence à l'entité de bloc, une référence au niveau. La méthode toujours valide vérifie simplement si le joueur peut accéder à ce menu ou non. Donc, si vous êtes dans un chariot de mine, vous cliquez avec le bouton droit sur un four ou quelque chose comme ça et que vous étiez trop loin et soudainement l'interface graphique se ferme. Je pense que c'est ce qui facilite fondamentalement cela. Passons donc à la classe More Menus maintenant, et ajoutons nos trucs là aussi. Je vais maintenant copier cela parce que nous l'avons vu beaucoup de fois. Il s'agit d'un registre différé de type menu, encore une fois de point d'interrogation. Et puis, lorsque nous définissons le type de menu, nous avons besoin d'une méthode de type de menu de registre ici qui n'a qu'une fabrique de conteneurs de type T ici. Et nous sommes simplement en train de l'enregistrer. Normalement, ce ne serait pas trop fou. Toutes les choses considérées recommandent vivement. Encore une fois, tout ce qui est disponible, vous n'avez pas à le taper vous-même. référentiel Github et l' individu tout aussi. Maintenant, dans le constructeur de mod de cours MC, nous allons appeler les types de menus modernes dots register avec le bus d'événement. Et puis tout est enregistré ici. C'est génial. Et puis, fondamentalement, nous n'avons plus jamais à regarder celle-ci, moins pour le moment. Maintenant, celui-ci n'est plus fait d'erreurs. Donc, tout est génial. Maintenant, une chose que les gens pourraient se demander est, eh bien, qu'est-ce que cette exposition, quelle est cette position ici ? Eh bien, pour cela, je vais en fait copier la texture que nous allons utiliser dans un instant. Cela va aller dans les actifs, textures grossières de MC, puis sous Gui. Je vais donc copier ça. On finit. C'est l' interface graphique cobol blasted et je vais l'ouvrir. Bien sûr, nous l'avons déjà vu. Une idée générale est que, eh bien, 850, n'est-ce pas ? Nous avons donc 18 et 50 ans. Pourquoi ce pixel ici est 0000. Si nous allons 18 à droite, à droite, x 18, donc 18 à droite et 50 en bas, nous finissons exactement ici. C'est donc l'idée générale. Vous devrez compter cela en pixels. Si vous utilisez Photoshop, paint.net ou GIMP, vous disposerez généralement d'un outil Select que vous pouvez utiliser. Et ensuite, vous pouvez sélectionner ceci et voir à quel point il est grand. Vous devrez le compter en pixels n'est pas un autre moyen. C'est parfois un peu maladroit, mais c'est exactement comme ça que ça va se passer. Et le reste devrait être assez explicite. Mais le reste est votre 66 et ensuite en baisse 16 par rapport à l' autre est 50 en bas et 66 x et ainsi de suite et ainsi de suite. C'est donc comme ça que cela se présente, n'est-ce pas ? Et puis faisons durer l' écran, mais non des moindres. Et encore une fois, oui, nous allons vraiment copier ça. Maintenant. C'est en fait, je pense que c'est celui qui est le moins compliqué. Il s'agit du flux de conteneurs abstraits de type, ancien menu Glassdoor. est donc très important que vous placiez la classe correcte ici, le menu maître cobalt, car nous y aurons également accès dans cette classe. C'est donc très important. Vous pouvez voir que j'ai l'emplacement des ressources de la texture sous textures GUI cobalt, blaster de soulignement, GUI de soulignement PNG, ce que nous venons de voir auparavant. Et cette année, comme vous pouvez le constater, est essentiellement rendue ici. Et puis nous utilisons cette méthode de doublet sous cette méthode peut être très compliquée. Et nous reviendrons plus en détail sur cette méthode la prochaine conférence lorsque nous ajouterons les barres de progression et autres choses, c'est que nous devons réfléchir, accord, comment pourrions-nous J'ai mis ça en place, n'est-ce pas ? Qu'est-ce que le x ? Quel est le pourquoi ? Quel est le décalage ici ? Quelle est la largeur de cela ? Nous allons comprendre la prochaine conférence. Comme je l'ai dit, pour le moment, cela permet de s'assurer que toute l'image, donc tout cela, sans les choses à droite ici, est essentiellement affiché dans le lecteur. Maintenant, ce que nous devons encore faire dans la classe de mod de cours MC, également méthode de configuration très importante et refusée, écrans de menu, mode de registre de points, types de menu que cobol blaster, menu dot obtiennent. Ensuite, un blaster cobalt crible deux-points, deux-points nouveaux. Maintenant, cela ne devrait pas générer d'erreurs car l'écran plasma froid est de type cobalt blaster menu, non ? Ainsi, les conteneurs criblent le menu de type cobol blaster. Donc, tout ce que nous devrions aller bien ici et y croire ou non, cela devrait être cela. Maintenant, comme je l'ai dit, c'est un peu correct ? Et ce n'est même pas la forme finale, pour ainsi dire. Ce n'est même pas encore la chose complète, mais pour le moment, c'est tout ce que nous devons ajouter. Voyons donc si ça marche ou si ça rebondit et Minecraft. Voyons donc, mettons le cobol blaster vers le bas et cliquons avec le bouton droit de la souris et voyons. Bon, donc c'est vraiment bien. Vous pouvez voir que, bien sûr, l'interface graphique s'est ouverte maintenant. Tous ces créneaux fonctionnent ici. Voyons maintenant si je peux prendre rocher humilié et le placer ici. Je ne peux pas passer une année et je peux le placer ici. C'est exactement ce que je veux. Je peux placer ici, je peux suivre mon cours de foie et placer ici parce que c'est un carburant. Et dès que j'ai mis la cale en haut ici, nous devrions être en mesure de voir que des lingots de cobalt sont en cours de fabrication. Et voilà, à chaque tique. Nous allons donc fabriquer 20 lingots de cobalt toutes les secondes. Et si j'en mets plus ici, ça ne marchera pas. La limite de pile a été atteinte. Par conséquent, nous ne fabriquons plus, mais je vais en retirer la moitié. Vous pouvez voir que l'autre moitié est essentiellement en cours de création. Maintenant, une chose que nous pouvons vérifier, en gros, si je sauve le monde et y retourne, nous aurions dû sauvegarder les données. Mais c'est très important, bien sûr, c'est l'une des choses où nous avions besoin de sauvegarder des données supplémentaires et de la méthode de lecture. Voyons donc si cela fonctionne ou non, mais je suis assez confiant que c'est le cas. Maintenant, nous allons voir que tous nos articles sont toujours là. Et puis la même chose se produit lorsque je détruis ça, vous pouvez voir tout le contenu tomber ici. Donc, tout fonctionne exactement comme nous le voulons. Mais il s'agit définitivement d'une conférence avancée, comme vous pouvez le dire clairement. C'est, c'est. Tout d'abord, cela prend beaucoup de temps et il y a beaucoup de choses dont vous avez besoin pour être en mesure d'obtenir ici. Mais dans l'ensemble, c'est vraiment cool, et les entités de tuiles ne sont que choses incroyables que je peux recommander. C'est l'une des seules fois où regarder le code de la vanille n'est pas aussi utile car dans le fourrage, nous devons le faire d'une manière un peu détournée pour enregistrer nos affaires. Mais je peux fortement recommander de jeter un coup d'œil aux référentiels GitHub de mods populaires ou ils font leurs entités de blocage, des trucs comme ça. Il est vivement recommandé parce qu'il y a toujours, vous pouvez, numéro 1, s' inspirer de cela. Et numéro deux, si vous êtes vraiment coincé, vous avez généralement cela aussi. Bien sûr, vous disposez également de ce référentiel GitHub. Tout le code ici, si vous copiez tout, cela devrait fonctionner même s' il y a beaucoup de parties, bien sûr, non ? Nous avons tout l' écran, le menu, le bloc doit changer un peu en douceur comme ça. Il y a donc beaucoup de choses à faire, mais dans l'ensemble, c'est vraiment cool. Je recommande donc vivement, après avoir terminé cela, de passer immédiatement à la prochaine conférence et de les considérer comme une double conférence, pour ainsi dire, en le recommandant vivement. Sinon, nous avons terminé cette conférence ici. J'espère sincèrement que cela vous a été utile. Si quelque chose n'est pas clair, hésitez pas à poser des questions dans les questions et réponses fournies. J'essaierai d'y répondre au mieux de mes capacités. Sinon, j' apprécierais beaucoup une critique pour mu et je vous verrai lors de la prochaine conférence. Donc, oui. 89. (Advanced) Créer des types de recettes personnalisés: Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons examiner comment ajouter une sérialisation de recette personnalisée à votre entité de blocs. L'idée générale est donc que nous allons ajouter la possibilité de créer des fichiers JSON, fichiers JSON personnalisés que vous pouvez lire et qui contiennent essentiellement les recettes de vos entités de blocs. Donc encore une fois, je vais copier beaucoup de choses dans cette conférence, mais pas de soucis, tout est disponible pour vous dans le référentiel GitHub et un individu tout aussi, recommande vivement de prendre un Regardez-les. Et la première chose que nous allons faire c'est que nous allons faire la recette. Ainsi, dans notre package de cours MC, cliquez avec le bouton droit sur un nouveau package appelé recette. Et puis à l'intérieur de là ou copiez sur les explosions de cobalt ou classe de recettes ainsi que la classe de recettes modèles. Et nous allons jeter un coup d'œil à ces questions. Donc aucun d'entre eux ne devrait comporter d'erreur ? Je crois. Donc. Les deux devraient fonctionner immédiatement. Et nous allons juste passer, nous commencerons par la recette de l'explosion froide. Vous pouvez voir que nous avons trois champs ici, un identifiant d'emplacement de ressource et les éléments sortent et un non analyste des éléments de recette. Et vous pouvez également constater qu'il implémente l'interface de recette avec le conteneur de symboles ici. Maintenant, il devrait être assez explicite que la sortie n'est que le résultat que vous allez obtenir de la recette réelle. L'ID sera, eh bien, l'emplacement des ressources dans lequel se trouve ce fichier Jason. Les articles de la recette seront une liste d'ingrédients ou d' articles utilisés pour la fabrication de l'article en question. Maintenant, nous allons ignorer la méthode correspondances pendant une seconde, car c'est la méthode la plus importante dans toute cette classe. Nous allons donc passer en revue les autres pour les assembler de manière similaire à l'élément de résultat obtenu vous donne juste la sortie. Dimensions de l'artisanat. Nous allons juste revenir vrai parce que nous n' avons aucune dimension. Nous ne sommes pas dans une grille trois par trois ou quelque chose du genre. L'idée, encore une fois, c'est juste l'identifiant de l'emplacement des ressources et nous avons un sérialiseur et un type. Il s'agit en fait classes statiques dans le verre cobalt plus ou recette. Et vous pouvez voir que le type n'a qu'une instance et c'est juste une idée de blasting Jacobo, puis similaire dans le sérialiseur, nous avons également une instance et l'ID ici. Il est très important que celui-ci et celui-ci, mais ce type ici détermine le nom de votre type dans votre fichier JSON. Mais nous verrons cela dans un instant. Maintenant, les zéros, il y a d' autres méthodes. Nous allons d'abord aller au fond ici. Et vous pouvez le voir aussi, en particulier ces deux méthodes qui renvoient essentiellement la classe du sérialiseur de recettes. Et c'est une chose folle de classe demandée. Je ne suis pas sûr à 100  % de ce qui se passe ici. Nous allons juste avoir besoin de ça. Sinon, nous ne pourrons pas retourner la classe correctement si nous n'avons pas ce truc d'emballage fou. Comme je l'ai dit, je ne suis pas sûr à 100 % de quoi ils sont. Nous allons juste le laisser tel quel, et nous allons tout simplement être d' accord avec notre présence ici. Maintenant, l'idée, bien sûr, est juste une fois de plus, l'ID réel ici, l'occasion de la ressource, le nom du registre n'est que l'instance elle-même, où nous retournons simplement l'instance elle-même. Ensuite, nous avons les trois méthodes de Jason, du réseau au réseau. Maintenant, ces éléments sont incroyablement importants. La méthode from JSON détermine essentiellement comment Jason est commandé en gros. Nous pouvons donc voir que nous sommes au tout début de créer un ensemble d'éléments appelé output. Et nous sommes en train de lire cela à partir d'un membre appelé sortie dans le fichier JSON. Encore une fois, nous verrons le fichier JSON dans un instant, mais c'est juste quelque chose que nous allons lire. Ensuite, nous allons lire dans les ingrédients, qui seront une liste. Ici, nous dressons une liste non nulle. Et ensuite, en faisant passer tous les ingrédients dans cette liste. Et puis créer une nouvelle recette Cobol Blast à partir du réseau. Et les deux méthodes de réseau sont également intéressantes. Au lieu d'utiliser l'objet JSON, nous allons avoir un tampon d' octets convivial ou par tampon. Et c'est simplement pour que le réseau puisse communiquer le client et le serveur. Ce qui est important ici, c'est que lorsque nous écrivons des éléments sur le réseau et que nous lisons des éléments à partir du réseau, ils doivent correspondre exactement. Qu'est-ce que cela signifie ? Eh bien, vous pouvez voir que lorsque nous écrivons des choses, tout d'abord, nous écrivons la taille de la liste des ingrédients. Ensuite, nous écrivons chaque ingrédient. Et puis à la toute fin, nous lisons la pile d'articles du résultat des recettes, d'accord ? Et c'est exactement comme ça que nous le lisons. abord, nous lisons la taille ici avec read int. Ensuite, nous lisons les ingrédients. Et puis à la toute fin, nous lisons la sortie ici. C'est très important que cela doive correspondre. Sinon, vous obtiendrez une erreur, non pas dans l' environnement de développement, mais lorsque vous êtes sur le serveur, comme lorsque vous essayez de vous connecter à un monde normal en dehors du développement environnement, vous allez avoir une erreur et ça ne fonctionnera pas pour vous assurer que cela correspond si vous voulez aller chercher d'autres choses. Parce que, bien sûr, encore une fois, nous avons commencé à jouer. Maintenant, c'est une sorte de temps sérieux pour la connaissance de Java. Si vous voulez changer cela, n'est-ce pas, si vous deviez, par exemple, dire : Hé, je l'ai fait, non seulement deux entrées auront comme quatre entrées qui changeront la taille ici, n'est-ce pas ? Pour faire un tas de choses, j'ai en fait différents types de sorties que je voulais en fonction de certaines choses. Eh bien, soit vous faites une nouvelle recette pour cela. Ou si vous voulez avoir tout cela en une seule recette, vous pouvez également dresser une liste de résultats théoriques, choisir parmi eux au hasard, des trucs comme ça. Il s'agit maintenant d'avoir une compréhension très solide parce qu'il va être très difficile sinon de faire des trucs vraiment personnalisés. moment, nous allons passer à la méthode des matches, qui est comme je l'ai dit, la plus importante car cela détermine essentiellement la fonctionnalité ou l'implémentation de votre recette. évalué. Ainsi, qu'y a-t-il à l'intérieur du récipient correspondre à une recette particulière ? Comment cela fonctionne-t-il ? Eh bien, tout d'abord, nous demandons si le 0ème article de la recette, donc le premier élément de notre liste de recettes que nous lisons dans le fichier adjacent, est celui qui correspond à l'article à l'intérieur du contenant avec index 1, y index 1 ? Rappelez-vous que l'indice 0 est en fait heure, vous allez créner. Par conséquent, nous devons prendre l'indice 1 ici. Et si cela correspond, alors nous reviendrons simplement si l' autre correspond ou non. Et alors, bien sûr, cela reviendrait vrai. Sinon, il retournerait faux. C'est très important. C'est essentiellement la pièce dure de votre année de recettes personnalisées. Et encore une fois, si vous avez des choses plus compliquées, si vous en avez plus, si vous avez plus d'ingrédients, si vous avez plus de créneaux, il vous suffit d'y ajouter des trucs, de changer les choses, en gros changez continuellement ça. Encore une fois, les connaissances, les connaissances et la terminologie Java. Je vais continuer à dire cela. La recherche, surtout en ce moment dans la section avancée, est essentiellement terminée. C'est donc ce qu'il faut faire et oui, c' est l'idée générale. Donc, toute la logique d'artisanat, la logique de correspondance va ici, et c'est en fait la classe d'explosion froide ou de recette. Ensuite, jetons un coup d' œil aux recettes du mode. Nous pouvons voir que nous avons ici un registre différent de sérialiseurs de recettes. Et puis juste un sérialiseur de recettes pour le plâtre cobol juste là. Ensuite, nous nous assurons également d'enregistrer un type lorsque nous appelons cette méthode de registre. Donc, cette méthode de registre, bien sûr, doit être appelée une fois de plus dans notre classe de mod de cours MC ici pour les recettes de mode s' inscrire avec le bus d'événement. Et une fois que cela est fait sur ces classes, c' très bien et nous pouvions déjà lire dans les fichiers JSON. Mais bien sûr, maintenant, n'en aurons-nous plus, nous ne faisons rien, n'est-ce pas ? Nous devons donc changer l'entité cobalt plus trois blocs maintenant afin que nous puissions fermer et entrer dans l'entité ici. Et nous allons réellement apporter des changements majeurs ici. Ce que je vais faire, c'est que je vais vraiment copier toutes les différentes choses dont nous aurons besoin. Et nous allons commencer par le sommet. Parce que ce dont nous avons besoin, c'est que nous aurons besoin de données de conteneur. Je vais donc copier ça. Je vais faire quelque chose comme ça , puis on va copier ça ici. Vous pouvez donc constater que nous avons des conteneur final protégées appelées données. Et ensuite, nous avons également pour les domaines qui sont la progression, la progression maximale, le temps de carburant et le temps de carburant maximum. Et tout d'abord, affectons cela à l'intérieur du constructeur, copierons également cela sur tout ce qui est bien sûr, une fois de plus, disponible pour vous dans le référentiel GitHub ou un individuel tout aussi bien. Et vous pouvez voir que les données du conteneur sont également dans ce cas une méthode anonyme qui remplace la méthode GET the set et GetCount. Et nous retournons toujours la progression, le temps de carburant maximum de progression et le temps maximum de carburant ici. Parce que ces quatre champs différents nous voulons réellement synchroniser via le menu. C'est pourquoi on l'appelle les données du conteneur. Le menu conteneur synchronise ces quatre champs pour nous via le client et le serveur afin qu' ils aient tous les deux la même valeur. Parce que, bien sûr, par exemple, Southern, quelque chose comme le progrès et la progression de Ymax. Eh bien, si vous avez les deux, nous pouvons tout d'un coup montrer une flèche de progression. Si nous avons le temps de carburant et la durée maximale sur le terrain, nous pouvons tout d'un coup montrer la quantité de carburant restante à l'intérieur de votre inventaire, ce genre de choses. Et c'est pourquoi il est extrêmement important de l'avoir. Et c'est en fait assez simple à utiliser une fois que vous savez comment l'utiliser. Donc, ce que nous allons faire, c'est que nous allons prendre en compte les revenus du verre de cobalt. Nous allons simplement ajouter les données ici. Donc ces données, maintenant cela va bien sûr générer une erreur, n'est-ce pas ? Nous devons donc entrer dans le menu Blaster et nous pouvons simplement dire, accord, nous allons changer certaines choses ici. Et ce que nous changeons, ce n'est pas le premier constructeur, mais le second. Nous allons ajouter les données ou les données du conteneur ici. Et puis celui-ci va générer une erreur. Et nous allons dire pas de soucis du tout. Parce que ce que nous pouvons faire, c'est que nous pouvons créer nouvelles données de conteneur simples d' une longueur 4. Parce qu'une fois de plus, il s'agit bien sûr de la longueur quatre. Et ensuite, c'est qu'on va aussi créer un champ privé pour ça. Nous allons utiliser cela dans deux méthodes plus tard ou fait je pense que trois méthodes données, n'est-ce pas ? Et ensuite, nous allons juste dire en dessous de ce niveau, quand vous allez juste dire que ces données ponctuelles sont égales aux données. Eh bien, en attribuant cela et maintenant la façon dont nous allons le faire, sorte que cela se synchronise également , c'est que nous allons dire ajouter un slot de données. Donc, les slots en fait des emplacements de données. Ensuite, nous allons transmettre les données ici. Mais c'est littéralement ça. Tout ce que nous devons faire. Ceci est maintenant en cours de synchronisation. Et puis nous allons obtenir quatre nouvelles méthodes dans lesquelles notre Il est en train de fabriquer qui a une méthode carburant qui fait évoluer les progrès, et elle est mise à l'échelle, vous progresserez. Maintenant, ce n'est qu'un tas de mathématiques en arrière-plan , c'est de s'assurer que bien, ok, combien de progrès nous avons, notre progression maximale, maximale, nous avons quelle est la largeur de la flèche dans ce cas, vrai, que nous voulons afficher. Et ensuite, nous nous assurons que tout cela est correctement calculé. C'est essentiellement tout ce que cela fait. Cependant. Vous ne devriez pas trop vous inquiéter à ce sujet. Je suis sûr que vous serez en mesure le comprendre si vous y jetez un coup d'œil pendant un petit moment sans mot. C'est en fait tout ce que nous devons faire dans le menu ici. Maintenant, nous devons faire beaucoup plus de choses dans l'entité de bloc 4. Nous passons à l'écran. Je vais donc une fois de plus copier un tas de choses. Premièrement, nous devons ajouter des éléments aux méthodes de sauvegarde et de chargement. Parce que ce que nous voulons faire, c'est que nous voulons enregistrer la progression du filtre Minimax en le lisant. Donc, chargez-le. Maintenant, c'est en fait, faisons nb t alors et VT. VT et NVT, pas de soucis. Alors, ils y vont. C'est donc ce que nous voulons vraiment faire. Parce que, bien sûr, quand on se charge du monde, comme quand on sauve un monde, n'est-ce pas ? Et puis, lorsque vous vous rejoignez, eh bien, nous voulons que le temps de carburant soit le même, les progrès soient les mêmes, des choses comme ça. C'est pourquoi nous l'enregistrons , puis nous le lisons à nouveau. Il s'agit donc essentiellement de l'idée générale ici. Ce que nous allons faire, c'est que je suis essentiellement tout , y compris la méthode des tick. Je vais, eh bien, je veux dire copier. Ce sera donc beaucoup de code, mais nous allons passer par méthode par méthode. Maintenant, je ne crois pas que nous devrions avoir des flèches maintenant que nous ne le faisons pas. Donc, numéro un, nous avons une méthode non statique et c'est la méthode consomme moins. Vous voyez que je vérifie essentiellement, est-ce j'ai quelque chose à l'intérieur de notre emplacement de carburant ? Parce que encore une fois, souvenez-vous de l'emplacement 0, non ? Comment est la fente de carburant pour nous ? Donc, si ce n'est pas vide , nous allons en tirer le temps de combustion. Nous sommes en train de l'extraire. Nous allons donc extraire exactement un de ces éléments. Nous allons utiliser la fonte de type recette. Parce que, eh bien, pour fondre , tous les temps de combustion sont fournis, ce qui l'économise ici. Et ensuite, nous économisons également le temps de carburant maximum. Et si c'est fait, nous pouvons trouver une méthode de tick. Maintenant, c'est toute notre logique. Maintenant, quelle est cette folie ? Eh bien, tout d'abord, nous demandons si cette entité de livre consomme peu ? C'est une méthode personnalisée que j'ai créée ici. Et c'est simplement vérifier si le temps de carburant est supérieur ou non à 0 est bien sûr, si le temps de carburant est supérieur à 0, alors nous savons qu'il nous reste encore un peu de temps là où le carburant tourne. Bon, c'est assez juste. Tant que c'est le cas, ce que nous allons faire, c'est que nous allons réduire le temps de carburant qui reste là-dedans, n'est-ce pas ? Donc, fondamentalement, nous allons diminuer la flamme qui est affichée et aussi le temps qu'il reste. Et encore une fois, nous avons la méthode de la recette has qui a maintenant changé. Vous pouvez voir celui-ci ici est maintenant la méthode de la recette has. Et cela fonctionne un peu différemment. Donc, nous obtenons maintenant la recette ou le type de recette de hobo blaster avec un inventaire. Donc, ici, nous faisons simplement un inventaire de symboles que nous pouvons facilement ou plus facilement passer parce que c'est bien sûr du type, inventaire simple ou un conteneur simple plutôt haut, nous ne faisons que passer tout cela et nous nous assurons, hé, le faire, c'est en fait, il est présent correspond à l'inventaire que nous avons transmis. Donc, notre interface graphique qui se trouve là-dedans, correspond à n'importe quelle recette de type recette d'explosion de cobalt qui est fondamentalement ce que cela suit ici. S'il est présent, on va avoir un vrai ici. Ensuite, nous cherchons deux autres choses. Peut insérer la quantité dans l'emplacement de sortie et insérer l'article dans l'emplacement de sortie. Ce ne sont que deux très faciles à comprendre. Les méthodes disent simplement : «  Hé, obtenez le troisième élément. Si c'est la même chose que l'élément de sortie, on va dire, d'accord, ou s'il est vide, on va aussi bien se passer parce qu' on peut simplement insérer la sortie. Et puis aussi celui-ci que nous avons déjà vu, à droite, peut insérer la quantité dans l'emplacement de sortie, vérifie simplement, la taille Max Stack est-elle toujours ? Est-ce plus grand que le nombre réel ? L'est ? Si tout d'un coup, le nombre atteint exactement la taille Max Stack, nous ne pouvons plus insérer. Donc, cette expression booléenne entière devient fausse. Mais s'il a la recette est vraie, on va entrer dans cette épreuve de trou et tout cet audio. Eh bien, comme beaucoup de choses que vous pouvez voir ont du carburant et une fente de carburant est demandée en premier lieu , d' accord, donc s'il y a du carburant dans la fente de carburant, ce sera assez explicite. Et ensuite, si nous ne consommons pas de carburant, nous devons d'abord consommer du carburant. Et nous allons également régler le changement ici. Parce qu'une fois de plus, nous devons modifier, sinon les données ne vous sauveront pas. C'est très important. C'est pourquoi nous avons changé trois fois l'ensemble dans cette méthode, sinon il ne fonctionnera pas correctement. Et puis ici, si nous consommons du carburant, donc encore une fois, c'est juste vérifier, hé, est-ce qu'on consomme vraiment du carburant ? Si c'est le cas, allons-y, nous pourrons augmenter la progression de l' article en cours de fabrication. Une fois de plus, chaque coche que nous augmentons les progrès que nous vendons change. Parce qu'une fois de plus, le prêt du changement doit être le cas car chaque fois nous augmentons les progrès, nous voulions sauvegarder à nouveau les progrès . C'est donc très important. Ensuite. Dès que la progression est supérieure à la progression maximale ici , nous allons créer l'objet. C'est donc très similaire. Encore une fois, nous sommes en train vérifier si la progression est enfin là. Et si c'est le cas, nous allons fabriquer l'article. Et vous pouvez voir que la fabrication de l'article est très similaire. Nous avons toujours le match ici. Nous voyons que c'est présent ? Si c'est le cas, plus il y aura de choses à voir avec ce qui suit. Nous allons extraire l'article du premier point. Nous allons extraire l'Adam de la fente 2, et nous allons définir la pile de l'emplacement 3 sur les résultats réels que nous avons lus dans la recette. Et ensuite l'augmenter essentiellement d'un dans ce cas. Donc, dans ce cas également, celui est codé en dur. Bien sûr, vous pouvez également ajouter votre variable de comptage de recettes personnalisée. Et puis vous pourriez l'emmener là ou quelque chose comme ça. Cela fonctionnerait donc également. Et puis notez également ici que ce sont récemment les progrès réalisés ici, qui ont récemment progressé à 0. Parce que sinon, bien sûr, nous le ferons continuellement, encore et encore, ce que nous ne voulons évidemment pas. Et nous sommes aussi récemment le progrès si nous n'avons pas de recette présente simplement parce que, une fois de plus, si nous sortons la recette et tous les progrès resteraient là. Ce n'est pas tout à fait ce que nous voulons. Et j' y installe aussi le changement, non ? C'est donc beaucoup. Je vous recommande vivement de le faire à votre époque. En regardant cela, la méthode des tiques ici est définitivement, j'ai l'impression que personnellement c'est une méthode très bien faite dans ce cas, non ? C'est un code très, très propre. Je veux dire, au moins aussi propre que je l'ai presque lu comme si vous pouviez lire un taux de texte est comme OK. Comme recette dans cette entité contient du carburant et du sel de carburant et ne consomme pas de carburant. Celui-ci, vous pourriez même changer la note ici aussi et ensuite avoir un champ ne consomme pas comme ça. C'est donc un peu plus facile à lire, mais c'est une bonne idée et un bon exemple de la façon dont vous pouvez configurer quelque chose et qui est capable de lire était bien sûr, tous ceux Les choses, n'est-ce pas ? Je pourrais mettre tout cela ici au lieu de la méthode has recette, je pourrais mettre celle-ci, je pourrais mettre ceci ici, cette expression booléenne. Je peux mettre ça ici. Au lieu d'avoir le montant peut insérer dans le slot de sortie, je pourrais mettre ça là-dedans. Mais le problème est que si vous jetez un coup d'œil à cela, il vous faudra au moins cinq bonnes secondes pour être comme, quoi ça fait ? Ok, nous allons récupérer l'article de l'emplacement 3 et nous assurer qu'il est exactement le même que l'extérieur et nous assurer que l'article est vide d'égout en vérifiant si nous pouvons ou non insérer dans la fente de sortie, d'accord ? Mais vous pouvez voir qu'il est tout simplement plus logique de le décrire dans une méthode très bien nommée au lieu de simplement la mettre là-dedans. Donc c'est juste un petit côté pour un peu de programmation propre, des trucs de code propre, mais c'est à peu près toute l'entité de bloc faite. Cela fonctionnerait donc maintenant. La dernière chose que nous devons faire est d'ajouter des choses à l'écran. Maintenant, je vais également le copier et je vais expliquer, ça va être, eh bien, supportez avec moi ici. Donc, vous pouvez voir, je demande essentiellement le menu, Hé, notre recrafting, c'est la méthode que nous avions ici, n'est-ce pas ? Et puis a peu de méthode devrait être assez explicite. Ce sont les méthodes qui proviennent essentiellement des données et s' assurent ensuite que progression de l'artisanat augmente-t-elle ou est-ce plus de 0 ? Et puis ici, le carburant n'est pas supérieur à 0. Mais c'est l'idée générale ici. Et puis une fois le blitz de qualité ici, et puis nous sommes dans des trucs fous parce que maintenant tout d'un coup, nous avons des valeurs folles de Well ici, nous avons x plus 8422, le décalage. Qu'est-ce que c' est, quelle est cette folie ? Ok, on va passer à travers cette pièce par pièce. Nous avons donc une valeur x et un y. Maintenant, la valeur x et y déterminent l' endroit où vous commencez à dessiner quelque chose. Qu'est-ce que ça veut dire ? Que voulez-vous dire par là où nous commençons à dessiner quelque chose ? Eh bien, x et y dans ce cas , sont toujours le coin supérieur gauche de l'interface graphique. Va juste ici. Et ensuite, si nous y réfléchissons, mais 84 à droite et 22 vers le bas, nous allons aller 84 à droite et 22 vers le bas, puis nous finirons ici. Maintenant, je le sais juste pour le moment. Encore une fois, vous devez prendre Photoshop, Paint.NET et vous assurer que vous vous alignez. Cela va essentiellement compter les pixels. n'y a pas d'autre solution, mais nous commençons à dessiner ici. Ok, que sommes-nous censés dessiner ? Eh bien, nous sommes censés dessiner cette flèche. Ok, c'est intéressant. Comment dessiner cela ? Eh bien, tout d'abord, le décalage est maintenant ce que nous voulons dessiner ? Donc, nous voulons dessiner à peine ici, d'accord ? est ce que nous avons fait. Quel est le décalage ? Le décalage que vous pouvez voir est un 17614 pour un 176 est en fait juste ici, et 14 est juste ici, cependant. Maintenant, ça se réunit en quelque sorte, non ? Nous voulons dessiner cette flèche à partir d'ici. D'accord, c'est logique. Maintenant, les deux dernières valeurs des deux dernières valeurs sont la hauteur et la largeur de l'image que nous voulons dessiner. Une autre chose vraiment géniale arrive, parce que nous faisons progresser l' échelle ici même. Ce qui se passe, c'est que lorsque cela augmente, nous augmentons la largeur de cette flèche qui est dessinée. Donc, c'est vraiment cool. Donc, si je pouvais simplement mettre en place en 2006 , alors tout le secteur serait toujours présent. Mais comme nous le synchronisons avec la progression de l'échelle ici, la largeur affichée augmente. C'est l'idée générale. Je recommande vivement une fois de plus, jouer avec les chiffres ici, car sinon, les vieux de sang sont très compliqués à comprendre à un moment donné, je dois encore jouer avec eux Un petit peu. C'est juste ce que c'est. Et puis, pour le carburant, j'admettrai que je viens de prendre le carburant du four réel parce que vous devez ajouter la progression maximale du champ ici , puis soustraire votre échelle. progresser trois fois, une fois pour la hauteur, ce qui devrait avoir du sens, n'est-ce pas ? Parce que maintenant, nous soustrayons essentiellement la hauteur ici, nous disons essentiellement que nous commençons ici, puis nous soustrayons par là, des choses comme ça. C'est juste de la folie. Je le recommande vivement. Une fois de plus, en regardant ici, vous pouvez certainement jeter un coup d' œil à des exemples de vanille. Sinon, il ne s'agit que d'expérimentation. Nous avons donc encore besoin d'une recette. Donc, dans notre dossier de données, les recettes de cours MC, je vais copier sur la pioche cobol de cobalt blaster. Et vous pouvez voir ce que cela fait, c'est nous avons deux ingrédients, sont de type MC cours cobol plastique, et nous avons la pioche d'or et le cobalt en bon état. Et nous devons mettre dans cet ordre, et ensuite la production sera un cobalt cobalt. Donc, en fait, ça semble plutôt cool. Et comme je l'ai dit, vous pouvez maintenant faire autant de recettes différentes que vous le souhaitez. L'une des limites, disons avec cela, c'est que ça va toujours prendre le même temps. Eh bien, vous pouvez bien sûr aussi ajouter la progression maximale au fichier JSON. Il suffit de changer un peu le sérialiseur , puis de l'ajouter également. Tout cela fonctionne. Il s'agit simplement de bien modifier un peu les choses et de changer quelques choses autour. Mais maintenant, voyons si cela fonctionne ou nous trouve dans Minecraft. Alors, nous allons tout d'abord poser le verre de cobalt ou le baisser et tout semble fonctionner encore. On peut encore en mettre. Voyons maintenant le choix X en or en haut, puis un cobalt Angleterre en bas. Et on y va. Les progrès ont commencé. Nous avons maintenant créé une hache qui est vraiment cool. Et ce que vous pourrez voir, c'est que si j'en mets un autre, rien ne se passera car bien sûr, nous choisirons des axes qui ne s'empilent pas. Par conséquent, je dois retirer cela et ensuite seulement nous allons refaire de l'artisanat. Vous pouvez voir que le carburant est, nous allons constamment baisser. Il prend donc constamment le carburant. Et ce que vous pourrez également voir , c'est que si, par exemple, je quitte à nouveau le monde et que j'y retourne, vous verrez que le carburant est resté le même niveau qu'il le ferait, par exemple, un bloc ou un four ou quelque chose comme ça. C'est donc plutôt cool. Je peux donc jeter un coup d'œil et vous y allez. Un carburant va progresser, c'est le même. Et encore une fois, je peux maintenant simplement mettre cela en place parce qu'il nous reste encore du carburant et nous allons toujours pouvoir les fabriquer aussi longtemps que nous le voudrons. Et les foies de cours fonctionneraient encore en passant, tout fonctionne exactement comme nous le voudrions. Et maintenant, vous devez admettre que c'est plutôt cool, n'est-ce pas ? Une fois de plus, cela commence à être très avancé. Je recommande donc vivement, encore une fois, de prendre notre temps avec cela, les deux méthodes, à vrai dire, avec l'entité de bloc et la sérialisation de la recette client ici, c'est pas mal. Mais à part quelques autres choses, c'est probablement l'une des choses les plus complexes que nous puissions vraiment faire. Je veux dire que la génération mondiale, je dirais en fait, est probablement un peu plus compliquée juste parce que parfois elle peut être comme ça. Mais dans l'ensemble, je pense que c'est vraiment cool. Vous avez un très bon exemple ici. Lisez à nouveau tout le code disponible dans le référentiel GitHub et un individu. Il suffit donc de jeter un coup d'oeil, se copier, de jouer un peu avec les chiffres. Et j'espère que vous serez en mesure avoir une idée de la façon dont tout cela fonctionne, n'est-ce pas ? Mais ce serait déjà le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile et que vous en apprendrez nouveaux et je vous verrai lors de la prochaine conférence. Donc, oui. 90. (Advanced) Bois personnalisés: Bon, bienvenue au cours de fourrage pour 118. Dans cette conférence, nous allons ajouter bois personnalisé à Minecraft. Donc, même s'il s' agit d'un sujet avancé, il sera certainement un peu plus facile que les entités de blocs et la sérialisation des recettes du client. J'ai donc pensé que nous allions ajouter une ou deux conférences un peu plus faciles ici avant de sauter dans la génération mondiale parce que ce sera un tout, une autre bête. Donc, pour notre personnalisé, nous avons besoin d'une classe de blocs personnalisée en fait, donc dans notre package personnalisé, cliquez avec le bouton droit sur nouvelle classe Java appelée le mod lambda va faire pivoter le bloc Hitler, un nom long, mais ceci ce qu'il va être et cela va étendre la classe des blocs de piliers pivotés. Et nous allons juste survoler ce constructeur en béton nous agace super. Nous pouvons simplement cliquer dessus, appuyer sur Maj F6, puis à qui les propriétés ici pour le nom. Et je vais copier les trois méthodes que nous devons remplacer. C'est-à-dire que la méthode est inflammable est renvoyée vraie. Ils ont des besoins d'inflammabilité pour revenir cinq et ils se propagent du feu. Il doit également en renvoyer cinq. Maintenant, pourquoi faisons-nous cela ? Eh bien, parce que tous les blocs de piliers tournés que nous avons, nous allons essentiellement être le bois, bande serait la bûche et la bûche. Tous vont bien, ils devraient être inflammables. Cependant, par défaut, ils ne le sont pas. Je ne suis pas sûr à 100 % de la raison pour laquelle c'est le cas. Et nous pourrions également créer des cours anonymes pour chacun d'eux, mais cela va simplement encombrer l'intégralité de notre classe plus de blocs. Donc, pour ces derniers, j'ai choisi de faire en une classe de blocs ou les deux planches. Et plus tard, dans une conférence ultérieure, les feuilles, nous allons le faire dans des cours anonymes. Mais nous allons voir ça dans un moment où notre classe de blocs moteurs, Allons-y, faisons un tri pour copier le cobol blaster. Et nous allons en faire le journal de soulignement en fleur de cerisier . Et puis la même chose, lisez votre journal de soulignement en fleur de cerisier. Et puis il s'agit d'un bloc pilier rotatif MOD ou plus inflammable. Il y a longtemps, celui-ci ne copiera pas un matériel, mais un bloc. Donc, ce sera des blocs points OK, journaux de soulignement, donc consignez que vous partez. Et ensuite, nous aurons une occlusion ici et le reste va bien se passer. C'est donc à peu près ce dont nous avons besoin. Ensuite, nous devons le copier quatre fois pour que nous ayons cinq instances différentes ici. Le second sera que la fleur de cerisier irait et ensuite ici aussi dans le nom, Il est très important que vous changiez les noms. Et puis, ici, nous ne faisons que copier du bois de chêne au lieu du glog. Cela ne devrait pas vraiment faire la différence, mais je suis juste, vous savez, j'aime toujours le faire. Alors, nous avons la bande soulignée bûche de cerisier en fleurs. Il s'agira donc de la bande sous le verrouillage du bouton du commutateur. Et puis ici, cela va bien sûr aussi copier à partir du script. Ok, je devrais applaudir l'ego. Et puis ce sera le strict soulignement en fleur de cerisier, souligner le strict soulignement en fleur de cerisier, le bois. Et c'est aussi bien sûr la fleur de cerisier dépouillée. Et puis enfin, mais non des moindres ici, il copie du bois de chêne dépouillé. Maintenant, il n'y a que des planches de fleurs de cerisier. Maintenant, il est important que ce soit des planches en libéral. Et c'est de quel bloc cela peut-il être ? Eh bien, s'il n'y a pas de bloc normal en fait. Et ce que nous allons faire, c'est que nous allons simplement formater cela un peu différemment. Et cela va bien sûr prendre les plans des blocs de planches. Et puis, après le deuxième paramètre, en fait, ce que les femmes font, c'est que nous voulons mettre un crochet bouclé et ensuite appuyer sur Entrée. Je vais juste le copier encore une fois. Ce ne sont donc que les trois méthodes dont nous allons avoir besoin pour scanner, obtenir l'inflammabilité et la propagation du feu. Et voyez que les chiffres ici, nous sommes un peu différents. C'est donc aussi l'une des raisons pour lesquelles nous ne pouvons pas utiliser ce bloc. C'est un autre que nous allons voir dans un instant. C'est l'idée générale. Et puis tous nos blocs sont enregistrés. C'est plutôt cool. Tout ce qui est considéré, c'est vrai, nous allons ajouter une autre méthode au bloc pilier rotatif inflammable MOD. Et ça va être celui-là même. Donc, je vais juste porter ça. Bien sûr, tout cela est disponible pour vous dans le référentiel GitHub et pour un individu. Et c'est le bon outil, méthode d'état modifié. En gros, l'idée est que nous vérifions si une hache a été cliquée avec le bouton droit de la souris. Si c'était le cas, alors ce que nous allons faire, c'est que nous allons simplement dire, hé, si c'est une bûche de cerisier en fleurs, nous allons transformer cela en blog strip-tease. Sinon, si c'est une perte , nous allons le transformer en bois de cerisier. C'est l'idée générale ici. Et puis nous nous assurons simplement que l'axe reste le même en ce moment, nous ne pouvons pas, nous n'allons pas seulement faire l'état de bloc par défaut qui enverra également l'accès réel. C'est l'essentiel général ici. Si vous avez beaucoup de journaux différents, vous devrez en théorie toujours ajouter ces instructions if. Vous pouvez également le faire comme dans l'article ACS. Donc, si vous avez réellement des millimoles par clic sur cet accident, vous pouvez voir qu'il y a un bloc pour bloquer la carte ici. Je vous recommande vivement de faire quelque chose comme ça aussi. Si vous avez une quantité folle de blocs, de journaux différents et voudriez-vous avoir dépouillé cela a beaucoup de sens. Sinon, cela va être totalement utilisable en ce moment pour la partie préférée de tous les fichiers JSON. Ceux-ci sont, bien sûr, tous disponibles dans le référentiel du laboratoire ou pour un individu tout aussi. Je vais juste les copier. Dans l'ensemble, ils ne sont pas si intéressants que ça. Bien sûr, pour tous les blocs filtrants tournés, nous avons ici un axe comme vous pouvez le constater. Et puis, en gros, il pointe vers différents modèles et fait pivoter le bloc autour. C'est tout ce qu'il y a à faire. C'est en fait tous les trucs intéressants juste là. Et ajoutons également la traduction, car sinon je l'oublierai peut-être, ce que nous ne voulons pas ici bien sûr. Je vais juste ajouter ces journaux, les planches feraient également les variantes de script. Les modèles pour les blocs sont, eh bien, un peu, alors qu' il y en a quelques autres, ils ne sont pas si nombreux. Nous avons le bois, le mot normal, les mots dépouillés. Nous allons donc les copier aussi dans le dossier de blocs. Sept d'entre eux au total. Ils ont simplement des parents différents, mais ils ont toujours les mêmes textures. Donc, à la fin, ce n'est que le haut du bloc réel pour le journal. Et puis les côtés sont essentiellement l'écorce autour. Pour les modèles d'articles, nous ne disposons évidemment que de cinq modèles d' articles. Ils sont et sont exactement comme les choses les plus basiques de tous les temps. Donc, ils ressemblent tous à cet état, tous pointent simplement le fichier de modèle de bloc normal. Et puis bien sûr, enfin, mais non des moindres, les textures aussi. C'est là que tu y vas. s'agit également de cinq textures. Et après avoir ajouté tout cela, il y a une autre chose intéressante que nous voulons ajouter. Et ce sera le cas si vous balises dans le dossier Minecraft, balises, les blocs, et ensuite je vais simplement copier cela. Il s'agit des bûches et des bûches qui brûlent. Nous verrons en fait qu'il faudrait en ajouter un autre ici. Comme vous pouvez le constater, cela pointe en fait vers l'étiquette des bûches de fleurs de cerisier. Et nous voulons également ajouter une balise personnalisée ici. Donc, ce sera les blogs en fleurs de cerisier qui vont aussi copier cela. À ce stade, nous l'avons vu beaucoup de fois. Et je veux simplement ajouter tous nos journaux là-dedans. Il s'agit également du mot et des variantes descriptives. Si vous l'ajoutez aux bûches de cette brûlure, cela vous permettra de le placer également à l'intérieur de la fente de carburant du four afin qu' ils puissent brûler. Et c'est là l'idée générale ici. Et dans les bûches, lorsque nous en avons besoin, si nous ajoutons plus tard les feuilles, le bail ne se désintéressera pas lorsqu'ils sont à proximité de l'un de ces blocs, et c'est presque tout ce que nous devons faire. Voyons donc si cela fonctionne. Ou en France, comme un micro-ondes peut voir que tout le bois a été ajouté avec succès au jeu et il a l'air absolument incroyable. Donc, vous pouvez voir, je peux le poser et voyons ces variantes aussi. C'est là que tu y vas. Et, et aussi les bûches, plutôt les planches, je suppose. Ensuite, si je clique avec le bouton droit sur ceux-ci, vous pouvez voir que je peux également obtenir la variance de bande. Donc, tout fonctionne exactement comme vous penseriez que cela se terminerait comme prévu, n'est-ce pas ? C'est déjà le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile et que vous avez appris quelque chose de nouveau. Je vous verrai lors de la prochaine conférence. Donc, oui. 91. (Advanced) Sign de personnalisée: Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter panneaux personnalisés à Minecraft. Car le signe personnalisé est, eh bien, il a quelques particularités là-dedans, mais nous allons simplement prendre, jeter un coup d'œil maintenant. Donc, pour les panneaux personnalisés, mais nous allons avoir besoin , avant tout, d'une entité de blocs de signes. Ainsi, dans notre package d'entités, cliquez avec le bouton droit sur la nouvelle classe Java appelée entité de bloc de signe de mode. Et cela va s'étendre. L'entité de bloc de signe survole ce constructeur de création correspondant super, puis nous remplacerons la méthode getter. Nous pouvons donc y mettre quelque chose. Je vais donc juste faire une erreur ici pour que nous ayons ceci. Ensuite, nous allons avoir besoin des blocs pour cela. Nous allons avoir besoin de deux pâtés de maisons ici. Vous devez également créer des classes de blocs personnalisées. Cela peut parfois être vraiment gênant pour le panneau. Je ne sais pas pourquoi c'est aussi bien, complexe à faire, mais c'est exactement comme ça que ça va se passer. Il va s'agir d'un panneau de signalisation debout. Donc, le lobe latéral debout de Mott étend celui-ci. Nous allons juste laisser ça tel quel. Et ici, nous voulons simplement remplacer une chose et ce sera la nouvelle méthode d' entité de bloc. Donc, ce que nous allons faire, c'est que nous allons créer une nouvelle entité de bloc de signe de mode avec la position, l' état et l'état qu'ils ont passé. Ça va bien se passer. Ensuite, nous allons créer une autre classe qui est le bloc MOD ALL IN, qui étend le bloc de panneaux muraux. Il y a aussi, ils créent aussi des constructeurs qui correspondent super. Nous allons également copier cette méthode. Encore une fois, bien sûr, tout le code sera disponible dans le référentiel GitHub et un individu. Parce que maintenant je vais faire un péché cardinal et je vais copier ce dont nous avons besoin dans la classe des blocs de boue. Et vous verrez que nous aurons également besoin d'une classe Mod Wood Types parce que, comme je l'ai dit, je ne sais pas pourquoi, mais c' est tout simplement complètement fou, mais pas de soucis nous allons passer à travers cela. Donc mod type, et cela va avoir un champ statique. Donc, type statique public ou fleur de cerisier. Et c'est égal à ce type. Ce taux. Sherry souligne la fleur. L'ego. C'est tout ce que nous devons mettre ici et ici. Et ensuite, dans les blocs de boue, cela devrait aussi fonctionner. Maintenant, les blocs fonctionnent. Donc maintenant, ce que nous pouvons faire dans les entités de bloc de mode, je peux réellement copier cela. C'est exactement la même chose que ça. Comme vous pouvez le voir, nous avons juste l'entité de bloc de signe mod année suivant l'entité Sunblock. Si vous avez plusieurs signes différents, ce que vous devez faire, c'est que vous n'avez pas à modifier ces blocs. Il vous suffit d'ajouter pour prendre en compte deux blocs ici et vous pouvez en ajouter autant que vous le souhaitez. Donc, en gros, il suffit d' ajouter plus de blocs ici et ensuite cela devrait, en théorie, fonctionner de la même manière avec celui-ci. Donc maintenant, ici, nous allons juste dire les entités de bloc de mod, entité dot get. Et cela devrait être aussi bien pour un autre client qui signe essentiellement quel nouveau type de bois à de nouveaux blocs ici. Et ce que vous verrez, c'est que ces blocs qui s' inscrivent au lieu de la méthode de bloc de registre, car nous devons avoir un élément distinct pour cela sera les éléments de signe. En fait, je vais également le copier une fois de plus, tout cela est disponible dans le dépôt GitHub et dans un interauriculaire tout aussi. Ça va être ça ici même. Supprimons donc simplement la durabilité et empilons-en jusqu'à 16 comme n'importe quelle autre ligne le serait. De plus, vous pouvez voir que l'élément de l' enseigne ici nécessite en fait que vous placez le sinus et le panneau mural. C'est donc une autre chose importante ici. Et en dehors de cela, nous avons aussi une autre chose qui était deux autres choses à l'intérieur du cours de MC, la messe. Donc tout en bas ici, nous devons appeler de type important registre de points de classe, mode type point Cherry Blossom. Nous devons enregistrer cette méthode de configuration inclinée. Et puis, dans la méthode de configuration normale, nous devons faire deux choses. numéro un est donc le moteur de rendu de l'entité de blocs. Rend des moteurs de rendu très importants. Mode enregistrement, verrouillage des entités. Maintenant, le point d'entité de bloc de signe obtient, puis le rendu de signe ici, deux-points, deux-points nouveaux. Ensuite, en dessous de cela, nous voulons appeler feuilles dot add typerait, mod, mod taperait étoile, fleur de cerisier, ils vont. Et c'est enfin tout ce dont nous avons besoin en termes de code. Bien sûr, nous avons toujours besoin des fichiers JSON. Et quand il s'agit de l'époque, et pour nous, nous avions besoin des fichiers JSON pour les états de blocs pour nous assurer que vous l'avez. Et ensuite, c'est la même chose pour la traduction. Il suffit donc d'ajouter ça. Nous avons la traduction du panneau. Et puis ajoutons simplement les modèles de blocs. piliers sont en fait un peu intéressants. y a donc qu' un seul modèle de bloc parce que les deux modèles pointent vers le même, car ce modèle de blocs n' a que des particules définies, sont les particules qui vont être vues à quel moment vous détruisez le signe réel. Tandis que le modèle de l'article en fleur de cerisier ressemble à ceci. Il est donc simplement indiqué qu'une texture d' article est bien sûr, une fois de plus, la texture de l'article va être, bien la même chose et nous avons le même article pour deux blocs différents. Dans ce cas, nous allons avoir un signe normal en fleurs de cerisier ici. C'est la texture de l'article. là que tu y vas. Et c'est tout ce dont nous allons avoir besoin. Encore une fois, tout cela est bien sûr à votre disposition parce qu'une fois de plus, c'est un exercice très circulaire et peut être un peu gênant. J'ai donc trouvé que les signes étaient un peu perplexes dans leur complexité. Ou ce que vous pouvez en faire à la fin. En fait, vous allez avoir besoin d'une texture supplémentaire. Et ça va être la texture de cerise en arrière-plan. Et cela doit être à nouveau sous l'espace de noms Minecraft, donc les actifs, les textures Minecraft. Ensuite, au lieu du dossier d'entité, nous aurons besoin d'un dossier de signes. Et puis à l'intérieur de là, la fleur de cerisier PNG. Et maintenant, après avoir ajouté tout cela, voyons si cela fonctionne. Ou en France en tant que micro objectif, nous voyons que le bloc a été ajouté. Maintenant, nous n'avons pas la traduction correcte, mais c'est bien sûr très facilement corrigé. Déposons-le et on peut écrire quelque chose. Donc, par exemple, vraiment bon mot, cheval et fait et ça reste là. Et nous pouvons également le poser sur un mur ici. Comme vous pouvez le constater, tout fonctionne bien, exactement comme vous vous y attendez. Et je viens de réparer la traduction ici. Donc maintenant, tout devrait fonctionner pour le fichier qui l'a déjà pour cette conférence ici. J'espère que vous avez trouvé cela utile et que vous avez appris quelque chose de nouveau. Je vous verrai lors de la prochaine conférence. Donc, oui. 92. (Gen) Créer un arbre personnalisé: Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter un arbre personnalisé à arbre micro-habitué. Eh bien, attendez une seconde. Nous avons déjà ajouté l'écriture personnalisée dans notre classe de blocs de modèles, nous pouvons voir qu'il y a des planches qui auraient les journaux, mais presque tout ce que nous avons déjà. Eh bien, qu'est-ce que nous n'avons pas ? Nous n'avons pas de jeune arbre et nous n'avons pas de feuilles. Très bien, donc ce que nous allons faire, c'est qu'on va copier une planche sur la fleur de cerisier une fois. Et puis je vais aussi copier le script ici. Nous allons en avoir besoin pour les feuilles de soulignement des fleurs de cerisier , puis les laisser ici au nom. Bien sûr, il y a longtemps, ça va être un bloc de feuilles. Ils vont ensuite copier les feuilles de chêne. Et l'inflammabilité de cela va être de 60 ans et la propagation du feu sera de 30. Parce que les feuilles sont incroyablement inflammables. Et maintenant, jetons un coup d'œil au jeune arbre en fleurs de cerisier en bas ici. Il s'agit donc d'un échantillonnage. Et puis même avec le nom bien sûr aussi, changeant cela en fleurs de cerisier soulignent les gaules. Il s'agit d'un bloc de gaule qui va générer une erreur car nous devons lui donner, comme vous pouvez le constater, un arbre abstrait et cette classe que nous allons créer dès maintenant. Et cela va aller dans notre package de cours MC, cliquez avec le bouton droit sur un nouveau package appelé world. Et nous avons commencé à nous aventurer dans la génération mondiale à l'intérieur de leur nouveau paquet appelé eater. Et puis à l'intérieur de là, nous allons créer un autre paquet appelé Tree. Et là, je mettrai la croissance de l'arbre dans cette nouvelle classe Java appelée le cultivateur de cerisiers en fleurs, qui étendra l'arbre abstrait. Grow passera le curseur sur ces méthodes d'implémentation car nous devons implémenter la méthode de fonctionnalité get configure. Et je veux dire que c'est presque tout ce que nous devons faire. Maintenant, je vais encore une fois délibérément faire une erreur ici pour ne pas oublier de la transmettre dans cette méthode car nous n'avons pas encore créé la fonctionnalité configurée dont nous avons besoin. Mais ce que nous pouvons faire, c'est que nous pouvons déjà faire une nouvelle rangée de cerisiers pour que tout soit bien ici et que la classe plus de blocs soit presque terminée. Maintenant, pour le jeune arbre et les feuilles dont nous avons besoin à l'intérieur de la classe de cours MC dans la méthode du client, je vais copier l'explosion ou les découper ici et nous allons dire feuilles et nous allons aussi disent le jeune arbre qu'il y a il y a que nous avons tous les deux les feuilles et le jeune arbre sur la découpe de la couche de rendu, bien sûr. Et ensuite, nous continuerons d'abord à finir les blocs ici. Nous allons donc simplement copier sur la feuille et la scène de poule Jason. Maintenant, ils sont bien sûr tous disponibles dans le référentiel GitHub et un individu tout aussi. Mais vous pouvez voir en fait les états de bloc, très ennuyeux, juste des états de bloc normaux en gros. Et puis, quand il s'agit de l'alkylation, peu près la même chose. Des feuilles et des petites feuilles ici aussi. Alors bien sûr, attrayant et déconcertant. Vous y allez. Il est également nécessaire de bloquer les fichiers JSON du modèle. Bien sûr, les feuilles sont encore une fois assez ennuyeuses, alors que le jeune arbre est un peu plus intéressant, a un parent croisé et une texture croisée qu'il pointe. peu près tout ce qu'il y a à faire. Le modèle d'article est également un peu plus intéressant, moins pour le jeune arbre. Une fois de plus, le sapling, comme vous pouvez le voir, cherche maintenant un supplément dans le dossier de blocs au lieu du dossier d'éléments, mais les feuilles ne sont que des fichiers JSON modaux d' élément normaux, comme vous les avez vus de nombreuses fois. maintenant pour différents blocs en gros. Et puis copions les textures ici aussi, il suffit de les avoir. Et alors ce serait presque tous les fichiers JSON que nous devons faire et nous pouvons maintenant continuer dans notre paquet mondial. Bien que la raison pour laquelle nous avons un monde de paquets parce que les arbres quand vous les frayez, ils sont comme une sorte d'intersection très étrange d'être un peu déjà dans la génération mondiale. Ainsi, lorsque l'arbre reproduit à partir du jeune arbre, il s'agit d'un peu de génération mondiale. C'est exactement comme ça que ça va se passer. Ainsi, dans le package d'entités cette fois-ci, cliquez avec le bouton droit sur la nouvelle classe Java appelée mod configuré l'un l'autre. Et cela va être notre bien, sommes les meilleurs amis pour ainsi dire. En tant qu'inhibiteur, nous allons définir l'arbre réel. Maintenant, je vais copier la définition réelle de l'arbre et je vais vous expliquer au fur et à mesure. Vous pouvez voir que c'est plein de choses, n'est-ce pas ? La première chose que je veux dire c' est qu'en ce qui concerne la génération mondiale, cela peut être très compliqué. Bon, il y a donc beaucoup de pièces mobiles dans toute la génération mondiale. Je vais essayer de tout expliquer au mieux de mes capacités. Cependant, si vous voulez quelque chose de très, très, très particulier, comme vous voulez, je ne sais pas, comme le vôtre apparaisse exactement à 35 ans et vous en voulez exactement autant. Il va y avoir beaucoup de choses que vous devrez ajuster, mais pas de soucis. Je suis sûr que nous y arriverons. Ou maintenant, le cerisier en fleurs ici. Vous pouvez voir que nous appelons fonctionnalité utils dot register, lire des registres, essentiellement cette fonctionnalité configurée. Ensuite, nous passons dans un arbre de fonctionnalités configuré. Par conséquent, une fonctionnalité configurée de type Tree configuration. Nous passons ici la configuration de l' arborescence avec un constructeur. Et puis la question se pose : quelles sont ces différentes choses ? Eh bien, réfléchissez à ça. Eh bien, un bloc dit fournisseur simple. Le premier est le fournisseur de journaux, ce qui signifie que nous devons essentiellement fournir un journal spécifique qui est le tronc réel de cet arbre. Comment cet atout est-il placé ? Eh bien, nous imprimons un nouveau placeur de coffre droit. Si j'ai le bouton central de la souris, cliquez dessus, vous pouvez voir que cela prolonge le coffre place sa classe. Et si j'appuie sur Control H là-dessus, considérez différentes classes de placers de tronc, ce qui signifie qu'en théorie, vous pourriez aussi créer la vôtre. Bien sûr, encore une fois, c'est quelque chose de plus compliqué, plus complexe ici. Donc, bien sûr, tout fonctionne. Vous pouvez bien sûr le faire. Cependant, là. Maintenant, nous sommes juste, à ce stade, il ne s'agit même pas, oh, vous devez avoir des connaissances en Java à ce stade. Nous passons un peu de Java intermédiaire à avancé. Les placers de tronc de cousin et les placers de feuillage personnalisés impliquent également beaucoup de mathématiques. Gardez cela à l'esprit. Ensuite, le deuxième état de bloc fourni ici, le troisième paramètre est les feuilles, et celles-ci sont placées, mais en fonction des placers du feuillage, encore une fois, bouton central de la souris clique sur le feuillage placer et vous pouvez voir qu'il existe différents types de placers feuillages. C'est exactement comme ça que le puits, les feuilles sont placées vers le bas. Et c'est presque tout ce qu'il y a à faire. Et bien, le dernier ici est la taille de l'entité des deux couches. Qu'est-ce que c'est ? Je ne suis pas sûr à 100 %. Donc, cela limite essentiellement l' endroit où cela peut être placé. C'est l'idée générale. L'année cependant, certaines choses dans l'intégralité du, disons que les générations m'échappent encore aussi. Donc, pas de soucis là-bas. Quoi qu'il en soit, c'est maintenant la fonctionnalité qui doit être retournée ici même dans les cerisiers en fleurs, les cultivateurs allaient dire mod configure chaque fleur trois, et cela devrait Qu'il en soit à peu près. Maintenant, aussi fou que ça puisse paraître, ça devrait être ça, c'est fait. Et maintenant, l'arbre est déjà apparu d'un jeune arbre. Ils sont importants, ça ne va pas encore apparaître dans le monde. Dans cette conférence, nous allons juste faire en sorte qu'il apparaisse du jeune arbre afin que nous puissions obtenir une carte d'identité de farine d'os ou une pousse à partir d'un jeune arbre naturel. Je dirais donc, voyons Pour les travaux, ou nous nous retrouvons dans des microvésicules. Voyez que les jeunes plants en fleurs de cerisier ont été bien ajoutés au jeu. Voyons donc si je peux les frayer avec un jeune arbre. Et le voilà, si je fais de la farine d'os, ça marche. Maintenant, les vraies questions, je pense que c'est un peu placé de près. Et aussi si vous entendez exactement, vous devez changer le matériel pendant une seconde. Cela utilise toujours le matériau Je pense la planche. Bien sûr, ce n'est pas tout à fait juste. Faisons ce qui suit. Faisons une règle de jeu, vitesse de tick aléatoire, et augmentons simplement. Et voyons si cela se développe tout seul. Mais il semble que le jeune arbre ne pousse pas seul. Cela a probablement à voir avec le matériel réel qui est celui de la copie. Donc, résolvons ça rapidement. Tout oubli ici, comme vous pouvez le voir, bloquer les propriétés comportementales, copier les blocs supprimés, OK. Non, il que ce soit un arbre de chêne. Ensuite, il prend toutes les propriétés du gaule de chêne. Et la seule chose dont il a besoin est celle-ci ici, des tics aléatoires. Sinon, ça ne va pas prendre de façon aléatoire. Alors ils vont et, eh bien, si nous l'avons ajouté plutôt que pour l'achèvement, voyons s'il grandit ou s' il se retrouve dans Minecraft. Et voyons si nous pouvons libérer la vitesse des tiques. Voyons voir, celui qui grandit, allons-y. Donc, tout fonctionne exactement comme vous vous attendez à ce que les jeunes plants poussent naturellement aussi bien. Et ce qui est très important, c'est que la dernière conférence ou deux conférences, lorsque nous avons ajouté les bûches, droite, celles-ci ici, les bûches en fleurs de cerisier, il était très important que nous ayons ajouté aux balises de blocs également. Donc, les étiquettes pour les bûches ici, et nous faisons essentiellement référence aux bûches de cerisier en fleurs, qui est une étiquette que nous avons dans notre cours de MC, Oda. Et ici, les blocs de fleurs de cerisier, très important que cela soit ici, car si vous n'avez pas cela, les feuilles se décomposent automatiquement. Même s'ils sont à côté de la bûche. Le journal doit se trouver dans cette balise. Sinon, il ne fonctionnera pas dans la balise journaux. Très important. Mais autrement, ce serait déjà le cas pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Oh, oui. 93. (Genre du monde): Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter une génération d' arborescence personnalisée à Minecraft. Nous avons donc ajouté l' arbre à partir d'un jeune arbre. Maintenant, la question est de savoir comment le FREC, allons-nous le faire entrer dans le monde ? Eh bien, en fait, pas si fou que ça. Tout d'abord, passons à notre classe de fonctionnalités configurées par mod ici. Nous allons avoir besoin d'une nouvelle fonctionnalité configurée. Maintenant, ce qui est très important, c'est ce qui suit. Nous pouvons en fait jeter un coup d'œil à quelques exemples de régénération de la vanille. Je recommande vivement de jeter un coup d'oeil là-dessus. Mais ce que nous pouvons faire, par exemple, dans la classe d'entités, nous pouvons entrer dans la classe d'entités et nous pouvons jeter un coup d' œil à toutes les entités. Et les fonctionnalités que vous n'êtes pas si intéressantes. Ce qui est intéressant, c'est, par exemple, où est utilisée l'arborescence que notre bouton central de la souris clique dessus, alors vous pouvez voir qu'elle est utilisée dans la classe d'entités arborescentes. Très intéressant. Et vous pouvez le voir, il y a un tas d' endroits où cela a été utilisé. Par exemple, passons ici au OK, et vous pouvez voir que celui-ci est un registre de fonctionnalités utils. Cela ressemble beaucoup à ce que nous avons fait ici. Et c'est exactement ce que nous avons fait. Celui-ci a donc une méthode spécialisée dans ce cas, ou toutes les fonctionnalités qu'il utilise. Mais quoi, c'est exactement ce que nous avons ici. Maintenant, pouvons-nous utiliser cela ? Où est-ce que cette utilisation est maintenant ? Eh bien, si je clique sur le milieu de la souris une fois de plus, vous pouvez voir que cela est utilisé, par exemple, dans les emplacements de l' arbre. Et c'est l'AUC vérifiée. C'est exactement ce que nous devons mettre en œuvre maintenant. Eh bien, si je vais ici, ce que vous pouvez voir, c'est que c'est tout à coup qu' il a placé une caractéristique fascinante, n'est-ce pas ? Ce qui a été fait, c' est que génération mondiale s'est un peu séparée que vous avez maintenant placé des fonctionnalités et des fonctionnalités configurées. Et vous pouvez voir que cette fonction de lieu dans ce cas utilise en fait les caractéristiques de l'arbre OK, filtrer par chance, survie, puis le gaule de chêne. Mais qu'est-ce que cela signifie exactement ? L'idée générale ici est que vérification de cette caractéristique ne peut être placée que sur des blocs particuliers où le jeune arbre de chêne pourrait également survivre. C'est vraiment une chose très fréquente, cool à faire. Et ensuite, où est-ce utilisé ? Eh bien, c'est encore une fois utilisé dans les caractéristiques végétales ici. C'est donc très long dans ce cas. Mais c'est juste théorique. Vous pouvez voir qu'il s'agit tout d' un coup d'une autre fonctionnalité configurée. Par exemple, prenons en fait un qui n'est pas trop long ici. Ils sont tous assez longs. Prenons les arbres des prairies et puis je peux cliquer sur le bouton central de la souris dessus, puis vous avez une autre fonction de police. En gros, d'où nous allons c'est que nous passons des arborescences spécifiques, nous allons passer d'une fonctionnalité configurée à une fonction de lieu pour configurer une entité à une entité placée. Parce que j'ai placé la fonctionnalité doit être, doit être dans le monde, non ? Ce n'est pas possible, on ne peut pas l'avoir dans le monde. En gros, je l'ai fait un peu différemment. J'ai découpé cette fonction d'endroit et je l'ai fait pour que nous puissions passer de cette fonctionnalité configurée pour une autre fonctionnalité configurée, puis en allant à la fonction de lieu, ce n'est pas un 100 pour cent c'est vrai, mais c'est presque juste. Donc, dans les fonctionnalités configurées par MOD, je vais une fois de plus copier cela et j'expliquerai ce que j'ai fait essentiellement. Vous pouvez donc voir que c'est le cerisier fleur vérifié. Et vous pouvez voir que ce qu'il fait, c'est qu'il filtre également par un bloc de survie. Vous pouvez voir que l'idée générale est juste que cette fonctionnalité configurée maintenant, eh bien, il va falloir, vous savez, elle a 10 pour cent de chances de prendre cette fonction de place et de tenter et un 90 pourcentage de chances de prendre cette fonction de place sera évidemment toujours la même caractéristique. Donc, c'est juste un petit hack. Ce n'est probablement pas la façon la plus propre de le faire, mais c'est ainsi que je l'ai trouvée sans avoir à ajouter autre fonction de lieu qu' une fonction Configurer et une autre fonction de lieu, etc. car cela a tendance à devenir très compliqué. Cependant, vous pouvez toujours suivre le modèle vanille, également vivement recommandé. Vous devez jeter un coup d'œil à la génération mondiale. Vous devez jeter un coup d' œil aux cours, n'est-ce pas ? Ils peuvent également entrer dans le paquet du milieu de la souris, cliquer dessus et vous pouvez voir toutes les fonctionnalités ici. Nous pouvons aller au placement, nous pouvons aller dans le paquet de placement. Vous pouvez voir tous les placements ici. Nous pouvons passer dans la génération aux caractéristiques végétales. Encore une fois, dans les fonctionnalités, nous pouvons aller aux placements. Il y a aussi ce qui devrait être dans le bon placement. Nous avons tout cela à votre disposition. Vous devez jeter un coup d'œil à ceci, c'est que la génération mondiale devient vraiment compliquée Rican à certains moments. Et il suffit de jeter un coup d' œil aux exemples de vanille. C'est probablement l'une des meilleures ressources dont vous disposez et tout est bien là, quel que soit le cas, nous avons maintenant la fonctionnalité configurée. Cependant, nous avons encore besoin d'une fonctionnalité de lieu, chevauchant le package d'entités cliquez avec le bouton droit sur une nouvelle classe Java appelée les moindres mangeurs modaux et ajoutez-la là-dedans. Nous allons faire un nouveau, placé l'un l'autre pendant un certain temps exactement ce que nous avons et cela va suivre une fois de plus, nous copierons tout le code qui vous est disponible dans le référentiel GitHub et un individu tout aussi. Ou ce n'est pas si compliqué que ça. Vous pouvez voir que nous appelons un registre de points de placement utils puis la fleur de cerisier placée, puis nous prenons l'arbre vérifié. Il s'agit donc de la fonction configurée qui renverra soit cette fonction de lieu, soit cette fonction de lieu, n'est-ce pas ? Donc, le filtre par bloc survie. C'est tout à fait exact. C'est exactement ce que nous voulons. Nous n'aurons donc des arbres qui fraient là où le jeune arbre en fleurs de cerisier pourrait être placé. C'est l'idée générale ici. Et ensuite, nous faisons de ce lieu une caractéristique en ajoutant l'emplacement de l'arbre de décoration végétale. Et ensuite, nous ajoutons juste un compte supplémentaire. C'est donc exactement le nombre d'arbres qui vont frayer. Mais si je ne me trompe pas, cela signifie que cela signifie qu' en moyenne un arbre par morceau devrait frayer avec 10 % de chances d'avoir deux spores supplémentaires. Je crois que c'est comme ça que ça marche. Je ne suis pas sûr à 100 pour cent, mais vous pouvez également jeter un coup d'œil à la méthode de placement de l'arbre ici et voir que cela prend dans le modificateur de placement un endroit modifiant ou ce cas. Nous pouvons ensuite passer dans le modificateur de placement et nous pouvons voir, eh bien, d'accord, cela ne révèle rien. Appuyez sur Contrôle H. Et tout d'un coup, nous pouvons voir un tas de modificateurs de placement différents. Il y a même des filtres de placement, que je trouve vraiment cool. Vous pouvez donc avoir des choses comme des filtres de rareté, qui, en moyenne, tous ces morceaux, je crois que c'est comme ça que ça marche. Et ensuite, vous pouvez avoir le placement répété. Certains comptages basés sur le bruit. Incroyablement cool, juste absolument fréquent, incroyable. Il y a beaucoup de choses ici. Encore une fois, l'ouverture à expérimentation essaie, sans, jeter un coup d'œil au code vanille, comment les classes sont utilisées, je recommande vivement de le faire. Maintenant La fonction placée a été créée, mais d'une manière ou d'une autre, nous devons la générer exactement. Donc, dans notre package mondial, cliquez avec le bouton droit sur un nouveau paquet appelé Jen. Cela constitue donc le paquet mondial. Je sais vraiment parler intelligemment. Et puis, là, nous allons créer une nouvelle classe Java appelée génération d'arborescence moderne. Et ensuite, cela se présentera comme suit. 1 seconde, je vais copier toute la méthode ici, mais je vais tout expliquer. Il s'agit donc de l'événement de chargement de biome. Eh bien, nous allons appeler ça dans un instant. Mais ce que vous voyez, c'est que ce n'est pas si compliqué, non ? Ainsi, cela engendre l'arbre réel. D'accord ? Ce que nous allons faire, c'est que nous allons juste récupérer la clé de ressources de ce biome particulier que nous sommes en train de charger, non ? Et puis on va juste s'assurer, hé, ce biome le fait, est-ce que les types de ce biome contiennent des plaques, mais dans tous les différents types d'avions biome, je me dis : Oui, ajoutons le caractéristique placée en fleur de cerisier juste là. Ces deux appels, n'est-ce pas ? Ainsi, obtenir la base des listes, les caractéristiques de place des fournisseurs pour la décoration végétale est la première étape, puis la deuxième étape consiste à ajouter notre fonction placée là-dedans. C'est vrai, ces deux trous ici, ils ajoutent en fait la caractéristique de place au biome particulier. Cette année, bien sûr, il suffit de filtrer. À ce stade, ça ne devrait pas être trop fou pour toi. Si c'est le cas, vous êtes comme, eh bien, je veux vraiment que mon arbre apparaisse dans un biome différent. Il suffit de filtrer différemment, n'est-ce pas ? Donc, vous pouvez simplement enlever cette déclaration si. Vous pourriez juste le changer un peu. Ça ne devrait pas être trop fou. Toutes les choses sont prises en compte. Et ce que nous allons faire, c'est que dans notre exemple, il n'apparaîtra que dans le biome des plaines ou dans les biomes de différents plans. Mais où appelons-nous cela maintenant ? Eh bien, dans le paquet mondial, cliquez avec le bouton droit nouvelle classe Java appelée les événements du monde moderne. Et puis, à l'intérieur, ce que nous allons faire, c'est que nous allons d'abord ajouter le mode d'ajout. Et ensuite, nous dirons que l'ID d' abonné du bus d'événement point est égal à MC core Smart Touch ID. Ensuite, nous allons avoir un vide statique public. chargement de biome avec un événement final de chargement de biome, un événement cool. Et il y aura un événement d'abonnement très important en haut ici pour cette annotation. Ensuite, nous allons dire génération d'arbres modèles à nos arbres de janvier et nous allons passer dans l'événement. Et maintenant, vous pouvez dire que cela ne peut pas être le cas. Mais c'est tout ce que nous devons faire. Bien sûr, les choses très particulières sont assez compliquées, n'est-ce pas ? Vous avez donc différents utilitaires de placement, différents éléments de placement d'arborescence avec une autre fonctionnalité configurée. Cependant, il y a beaucoup de choses à faire. Cependant, quand on y pense vraiment, ce n'est pas si fou que ça. Toutes les choses sont prises en compte. Comme je l'ai dit, si vous voulez un filtrage différent ou si vous voulez que vos arbres engendrent des biomes différents, il suffit de filtrer différemment ici. Je veux dire, en gros, vous avez l'événement de chargement de biome. Vous devriez donc avoir, vous savez, l'emplacement des ressources de l'iamb à votre disposition. En théorie, vous devriez pouvoir facilement modifier le filtrage ici. Donc, lorsque nous entrons dans Minecraft en une seconde, n' oubliez pas de créer un nouveau monde parce que nous avons foiré avec la génération mondiale juste au cas où, vous savez, cela devrait encore fonctionner dans l'ancien monde si nous téléportez assez loin, mais au cas où, créons un nouveau monde et voyons si l'arbre est généré. Ou un pharmacien, un Minecraft, et voilà, nous frayons déjà dans un biome d'avions de tournesol. Alors, tu y vas. Les arbres fraient et bien, ça les montre à peu près. Oui, ça fonctionne à peu près comme on peut s'y attendre. Ils ne font donc que frayer dans des types d'avions, biomes qui volent là-bas parce que le placement semblait un peu bizarre, mais en fait, il ne devrait pas l'être. Ainsi, vous pouvez voir, ou ils grandissent simplement heureux dans les endroits où ils peuvent, ils peuvent grandir. Ils sont peut-être un peu trop proches l'un de l' autre, mais qui sait ? Je veux dire, à ce stade, c'est plutôt cool. Et encore une fois, une chose très importante. Vous devrez toujours jouer avec les chiffres quand il s'agit de la génération mondiale. Parce que vous êtes peut-être comme non, non, c'est beaucoup trop d'arbres. Vous savez, il suffit de jouer avec le décompte, mais dans l'ensemble, les arbres apparaissent. Donc, une chose particulière que je peux dire quand il s'agit essentiellement de la génération ici, ce que vous pourriez faire si, par exemple, vous voulez que votre arbre soit incroyablement rare, vous pourriez le faire 0 et ensuite ont quelque chose comme 0,1 % de chances qu'un autre arbre fraie quelque chose comme ça. Mais bien sûr, vous savez, vous pouvez simplement jouer avec est également fortement recommandé. Encore une fois, juste en regardant, les trois générations différentes de la vanille, n'est-ce pas ? C'est toujours quelque chose que vous pouvez simplement jeter un coup d'œil. Je ne peux pas trop insister sur ce point. Vous avez disponible, vous tous les trucs de vanille. Jetez un coup d'œil là-dessus et, espérons-le, vous serez en mesure créer la génération d'arbres de vos rêves. Mais ce sera tout pour cette conférence ici. J'espère que vous avez trouvé ces neurones utiles du nouveau. Si c'était le cas, j' apprécierais beaucoup un commentaire de votre part. Sinon, je vous verrai lors de la prochaine conférence. Donc, oui. 94. (Genre de monde): Bon, bienvenue au cours de fourrage pour 118. Dans cette conférence, nous allons jeter un coup d'œil à la génération de fleurs de la génération de farine est en fait, une autre partie de la génération mondiale va être très intéressante. Passons donc à notre classe d'entités configurée. Et ici, encore une fois, je vais copier, mais tout comme toujours vous est disponible dans le référentiel et un individu s'ajuste également. Donc, pas de soucis là-bas. Mais ce que nous allons faire, c'est que nous allons simplement copier sur les lignes d'encre. Chaque rangée ici. Vous pouvez voir que c' est assez long. Voyons si je peux faire quelque chose comme ça. Maintenant. Eh bien, tu y vas. Donc, quelque chose comme ça. Voyez que nous utilisons une nouvelle fois la fleur de fonctionnalité pour créer une fonction Configurer, cette fois de configuration aléatoire de correctifs avec quelques essais, certains se répandent ici. Donc ce que vous pouvez voir est essentiellement, eh bien si je vais juste dans la fleur, donc millimoles par clic dessus, puis cliquez à nouveau sur le bouton du milieu de la souris. Nous pouvons, par exemple, voir que nous avons un certain défaut de farine ici. Nous pouvons voir ce que c'est ? Il s'agirait donc d'une liste pondérée aléatoire pour le patch d'herbe. Eh bien, nous ne pouvons pas vraiment voir ce qui se passe ici, mais nous pouvons voir ce qui se passe ici. Une configuration de correctif aléatoire, 96 écarts 6, 2. Et puis nous avons ce bloc simple incroyablement fou configuré ici et nous voyons que nous faisons une configuration de bloc simple. Et puis à l'intérieur d'ici, un fournisseur de bruit et regarde cette folie, n'est-ce pas ? Regardez cette folie. Donc, nous avons simplement des blocs différents que nous y apparaissons. L'idée de la configuration aléatoire des correctifs est en fait que vous y ajoutez plusieurs fleurs différentes. Eh bien, dans notre cas, je n'y ajoute qu'une fleur. Donc vous savez quoi, je vais réduire les essais ici pour dire 32 au cas où. Et pas autant d'entre eux seront fondamentalement propriétaires. Faisons quelque chose comme ça. Ça va bien se passer. Maintenant, il s'agit toujours d'une fonctionnalité configurée, et bien sûr, nous devons en faire une fonction de police. Donc encore une fois, nous allons revenir dans la classe d'entités en regardant la fleur, passons simplement à la valeur par défaut ici. Où cela s'appelle-t-il maintenant, bien sûr, dans le placement végétal. Prenons donc le, notre chaud ici et nous pouvons voir en gros que c' est une ligne comme 71. En fait, il est 70 ans. Vous y allez. Et ensuite, nous pouvons voir que nous mettons en gravité une fois tous les x ici même dans le placement carré, l' étalement une fois tous les x ici même dans le placement carré, , la carte de hauteur, puis le filtre biome. Donc, ce que je fais habituellement pour préparer cela, je copie tout et ensuite je vois ce que j'ai besoin de mettre là-dedans. Eh bien, ce que j'ai, c'est que j'ai qui suit dans nos fonctions placées en mode, nous pouvons essentiellement ajouter cela ici. Il va donc y avoir la rose rose placée. Vous pouvez donc voir que j'ai aussi ceci et la seule chose que je n'ai pas du placement, c'est le filtre de rareté. Eh bien, c'est juste par souci d'argumentation, cela aussi. Il suffit donc d'ajouter le filtre dérivé. Je vais copier ça. Je vais mettre ça ici. Parce que ce qui est cool à propos de la place, c'est qu'à l'endroit où on voit ce point point-point. Cela signifie que nous pouvons mettre en place autant de modificateurs de placement que nous le souhaiterions à l'intérieur d'ici, c'est vraiment cool dans l'endroit. Mais lorsque vous avez une fonction configurée et que vous placez des points, vous pouvez insérer autant modificateurs de placement que vous le souhaitez, ce qui est vraiment cool. Et maintenant, nous avons cette fonction placée pour la fleur, mais comment allons-nous le frayer dans notre paquet Jenna, cliquez avec le bouton droit sur nouvelle classe appelée mode fleur, génération de fleurs. Ensuite, une fois de plus, je copierai le, je vais copier la méthode ici. Mais c'est exactement la même chose que la génération d'arbres. Parce que bien sûr, les fleurs sont aussi décorations végétales et nous ne faisons qu'ajouter une fois de plus à la rose rose. Cela devrait être assez explicite. Toutes les choses envisagées étaient encore une fois, seulement dans les avions. Et passons aux événements mondiaux du MOD. Et appelons simplement cela, peu importe dans ce cas dans quel ordre nous les appelons parce qu'ils sont tous les deux le même pas de génération ici. Dès que nous sommes essentiellement aux rames, vous verrez que, parce qu'il s'agit d'une étape de génération différente , il faudra réellement , vous savez, maintenir l' ordre ici. Mais c'est vraiment ça. C'est tout ce dont nous avons besoin pour la rose rose. Encore une fois, je recommande vivement de jeter un coup d'œil à tous les exemples de vanille. Il y en a tellement. Il suffit de les jeter un coup d'œil. Des trucs heureux, essayez un tas de choses. Essayez un tas de valeurs en particulier. Et puis il suffit de voir ce qui se passe ici. Mais pour l'achèvement, voyons si ça marche, non ? Et n'oubliez pas non plus de créer un nouveau monde pour cela car, bien sûr, une fois de plus, nous avons eu des problèmes avec la génération mondiale. Voyons donc si nous pouvons trouver nos fleurs ou nos offenses dans un avion chez moi et c'est déjà le cas. Nous avons trouvé des roses roses qui fraient dans le biome des plaines. Il y en a quelques autres ici. Et voyons voir, il y en a encore plus. Allons en trouver d'autres. Ils sont un peu plus rares que je ne m'y attendais avec 32, mais c'est bien sûr tout à fait très bien. Encore une fois, vous pouvez simplement ajuster les chiffres. Je pense qu'il y en a trois ici aussi. Oui, ils sont là aussi. C'est plutôt cool. C'est vraiment génial et c'est à peu près la façon dont fonctionne la génération de fleurs. Encore une fois, je recommande vivement jeter un coup d'œil à toutes les choses à la vanille. Et vous n'aurez qu'à jouer avec les chiffres jusqu'à ce vous soyez bien à une génération que vous aimeriez. Mais sinon, ce serait le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile et qu'il apprend le nouveau. Et je vous verrai au cours de la prochaine conférence. Oui. 95. (Genre du monde): Bon, bienvenue au cours de forge pour 118. Et dans cette conférence, nous allons ajouter de la personnalisation ou génération à Minecraft pour la génération à Minecraft pour ce que vous attendiez tous. Je pense qu'au moins l'ordination est l'un d' entre eux qui demande toujours un sujet parmi beaucoup d'entre eux, essentiellement ceux que je vais vraiment faire. Et alors que, comment faire cela ou génération, où allons-nous ? Eh bien, tout d'abord, la fonctionnalité configurée à nouveau, et ici je copierai deux choses et ensuite je vais vous expliquer bien sûr aussi. Mais numéro 1, nous avons besoin d'une liste ou d' une configuration d'un état de bloc cible. Maintenant qu'est-ce que c'est le FREC, eh bien, nous avons besoin de cela parce que si nous avons un ordre ou une configuration particulière, nous avons besoin de ces minerais parce que nous devons savoir, d'accord, dans quel état de roche doit être placé, pierre, dans laquelle les blocs doivent être placés dans un sommeil profond. C'est donc essentiellement la raison pour laquelle nous avons besoin de cette liste ici, aussi simple que cela. Ensuite, nous avons la fonction configurée, votre robot. Ou maintenant, bien sûr, nous devons encore en faire une fonction placée. Mais c'est déjà une chose intéressante et c'est la taille. Donc, ce devrait être le côté veineux moyen si je ne me trompe pas. Gardez cela à l'esprit ici. Et nous pouvons également jeter un coup d'œil au puits ou à la caractéristique ici. Donc, le bouton du milieu de la souris cliquez dessus , puis bouton du milieu de la souris, le bouton central de la souris cliquez dessus et vous pourrez voir que tout cela est utilisé dans les fonctions de commande. Mais jetons un coup d'œil, par exemple, à quelque chose qui est plus intéressant, le ou Redstone par exemple. Donc tout Redstone est configuré avec une nouvelle liste de minerai de Redstone et Redstone saute tard ou bien, assez juste. Et maintenant, la question est de savoir où est-ce utile ? Eh bien, cela a été utilisé dans le placement de la commande. Vous pouvez donc voir le minerai de Redstone. Et ce que vous découvrirez également, c'est qu'il existe deux emplacements différents pour le même ou vous avez même, un diamant ou un diamant grand oiseau ou diamant. Il est donc très important que vous puissiez simplement en ajouter plusieurs pour la même ou pour des fonctions de lieu différentes qui sont associées à des fonctionnalités différentes. Nous regardons donc 41 et 42. Alors, allons juste ici. Nous pouvons voir qu'il s'agit d'un placement commun ou d'un placement commun ou d'un placement. Et puis il y a même une méthode rare ou de placement qu'ils appellent essentiellement. Nous allons voir quelque chose comme ça dans un instant. Mais vous pouvez voir qu'il s'agit d'un placement de plage avec cet uniforme et un triangle comme vous pouvez le voir. Il existe donc différents types de placement essentiellement pour la plage de hauteur. Et puis, en gros, vous dites simplement, d'accord, de quelle plage à quelle plage devrait être la portée. Et c'est à peu près l'idée là. C'est donc plutôt cool et vous pouvez une fois de plus simplement copier des choses, essayer un tas de choses, puis voir le bouton commun ou le placement du bouton central de la souris. Cliquez sur ce bouton. Vous pouvez voir que c'est juste une méthode privée. Ce que nous devons vraiment faire, c'est que nous devons copier ces trois méthodes où au moins c'est ce que je vais faire. Je vais copier toutes ces méthodes, cliquer avec le bouton droit de la souris sur copier. Ensuite, nous allons entrer dans la classe d'entités et je vais créer un mode personnalisé ou une classe de placement. Ensuite, nous allons simplement copier les méthodes ici et nous allons les rendre publiques afin que nous puissions les publiques afin que nous puissions utiliser pour nos propres minerais parce que, eh bien, ils font de notre vie une un peu plus facile, pas 100 pour cent, mais c'est juste un peu. Et après avoir copié cela, nous pouvons maintenant utiliser la fonction Configurer pour créer une fonction de lieu. Donc, dans nos fonctionnalités placées sur le modèle, ce que nous allons faire, c'est que nous allons juste copier ça et je vais l'expliquer à nouveau bien sûr. Alors, tu y vas. Nous avons un cobalt ou une place, que nous allons une fois de plus enregistrer auprès du cobalt ou de la placer ici. Et ensuite, nous allons juste prendre le cobalt ou que nous avons trouvé ici, la fonctionnalité Configurer. Et on va le placer avec le commun ou le placement. Cette année devrait être la moyenne des veines par tronc tel que je comprends maintenant. Et ce que vous pourriez dire : Attendez, comment allez-vous passer au 80 négatif ? Eh bien, avec un triangle, mais comment cela fonctionne-t-il ? Eh bien, ce que vous auriez pu voir comme vous avez pu voir cette photo, qui montre en quelque sorte à quelle hauteur l' orange apparaît maintenant. Et l'idée est que lorsque vous faites un triangle ici, le point inférieur sera négatif 80 et le point en haut sera à 80. Et puis le triangle va atteindre un point à 0. Donc, en théorie, ce qui devrait arriver, c'est que la plupart du cobalt ou devrait apparaître à 0, puis il devrait devenir de moins en moins et de moins en moins. Donc, vous savez, il va en gros être compensé ici. s'agit donc simplement d'un point de faire le placement de l'hortensia et le bouton central de la souris. Cliquez dessus et vous pouvez voir qu'il y a également un ajout ici .gov et ensuite un fournisseur de hauteur différent. Maintenant, jetez un coup d'œil à l'hyperviseur. Je vais donc appuyer sur Control H. Et il y a le biais vers le bas, très biaisé par rapport à la hauteur trapézoïdale inférieure, la hauteur liste pondérée uniforme et la hauteur constante. Des fonctionnalités absolument incroyables que vous possédez. Vous pouvez faire votre apparition de manière très particulière si vous voulez qu'ils recommandent vivement de jeter un coup d'oeil là-dessus, recommande vivement de jouer avec cette amine essentiellement comme jusqu'à ce que vous ayez vos rames exactement comme vous le voulez. Maintenant, je vais le faire, c'est que je vais copier la génération de l'arbre ici. Je vais donc le faire glisser dans le même paquet tout en maintenant le contrôle. Et nous allons le renommer demain ou génération. Nous allons simplement renommer cela aussi , générer ou générer ou ici. Et puis, au lieu de la décoration végétale, il s'agit maintenant d'ornements souterrains. Et en fait, nous allons également retirer cela de la déclaration if parce que r ors, disons simplement pour l'argument nous voulons réellement partout, mais nous allons dire cobalt ou placé, et que C'est ça. Maintenant, la ration d'origine est presque terminée. Maintenant, cela va le placer dans chaque bio. Maintenant, cela ne devrait pas le placer dans le bas ou l'extrémité car la fonction cobalt ou configuration a une liste ici de pierre remplaçable et remplaçable à l'état profond et non de l'un ou de l' autre rack ou en pierre remplaçable. Et je ne pense même pas qu' ils existent nécessairement. Une autre épave existe en règle générale, une autre ou remplaçable aussi, ce que je ne crois pas y exister. C'est donc quelque chose à garder à l'esprit. Donc, le truc de la pierre de fin n'existe pas, n'est-ce pas ? Et maintenant, cette méthode doit juste être appelée ici. Maintenant, ce qui est très important, c'est qu'il faut l' appeler au-dessus des deux autres. Parce que si nous examinons réellement l'étape de génération ici même, vous pouvez voir que les ornements souterrains se produisent avant la décoration végétale. Donc, en gros, commence du haut vers le bas. Cette commande doit être bien, essentiellement conservée. Et ici, nous n'avons même pas besoin des types et nous n'avons même pas besoin la clé parce que nous allons juste être comme, oui, juste recherchés dans tous les biomes qui vont bien se passer. Je veux dire que c'est à peu près tout ce que nous devons faire pour nos clients. Ou encore une fois, jouez avec les chiffres. Jetez un coup d'œil au code de la vanille et examinez les valeurs de la vanille. Je le recommande vivement. Je ne peux pas trop insister sur ce point. Il suffit de jouer avec ça et de jouer un peu avec les chiffres. Et maintenant, voyons, après avoir créé un nouveau monde, d'ailleurs, si notre cobol ou sa place dans le monde. Ou si les réponses dans Minecraft et comme vous pouvez le voir, certaines ou ici, sont déjà très bien générées. n'était qu'un seul Eco. Il y a un peu plus de veine. J'étais en fait huit d'entre eux, cependant. Tout fonctionne parfaitement ici. Et cela va déjà conclure cette conférence ici. J'espère que cela vous a été utile et que vous avez appris quelque chose de nouveau. Je vous verrai lors de la prochaine conférence. Donc, oui. 96. Exporter votre Mod: Bon, bienvenue dans le cours fourrage pour l'équipe gagnante et cette très courte conférence, je vais juste vous montrer rapidement comment exporter votre modèle sous forme de fichier JAR. Alors ouvrons le terminal et mettons en barre oblique, Gradle w build. Et c'est à peu près tout ce que vous devez faire. Il entre. Et puis il crée essentiellement le fichier JAR. Ce que vous devez faire, c'est que vous devez accéder à votre dossier Build, cliquez avec le bouton droit sur Ouvrir dans l'explorateur. Ensuite, dans une fenêtre de l'explorateur s'ouvrira et je vais juste le montrer rapidement. Alors construisez. Et puis, dans le dossier libs, ici même, MC, c'est la version définie à l'intérieur de votre fichier build.gradle. C'est essentiellement le nom qu'il prendra, et vous pouvez ensuite le prendre, mettre dans le dossier de votre modèle, vous pouvez le mettre dans un fourrage chargé pour maudire, des trucs comme ça. Et puis tout devrait fonctionner ici. Super. Oui, c' est déjà le cas pour cette conférence ici et après. Donc, si vous regardez cela à l'avenir, vous devriez avoir une autre section ici avec des sujets supplémentaires que j' ajouterai au cours des prochaines semaines et des mois à venir essentiellement avec des trucs différents comme les bateaux, Je vais certainement vouloir encore ajouter des trucs comme ça. Alors gardez un œil sur cela si vous regardez ça assez tôt jusqu'au moment où le cours est réellement sorti et que rien ne sera probablement encore là. Eh bien, pas de soucis. De nouvelles conférences seront certainement ajoutées. J'espère que vous avez trouvé cela utile et que vous avez appris quelque chose de nouveau. Et j'espère que je vous verrai également lors des prochaines conférences. Donc, oui. 97. (sujets supplémentaires) Mise à jour des forges (1.18.1): Très bien, bienvenue dans cette conférence où nous allons mettre à jour forge vers la dernière version. Nous avons déjà mis à jour Forged lors d'une conférence précédente. Mais il est logique que vous ajoutiez beaucoup de choses que nous ferons dans les prochaines conférences pour mettre à jour forge à nouveau. Et généralement, il est également bon de simplement garder votre MOD à jour. Il n'y a pas souvent beaucoup de changements, mais c'est toujours bon à garder à l'esprit. Pour cela. Bien sûr, nous devons changer la dépendance réelle ici même dans notre fichier DOD Gradle de factures maintenant à quoi ? Pour changer ce bien-être, nous allons juste ouvrir le micro ford.net. Et une note très importante du futur ici, je recommande vivement d'utiliser une version 1181 pour les sujets supplémentaires. Bien que la plupart de ces éléments fonctionneront toujours si vous passez à un an 1800 à la génération mondiale et que certaines taxes ne fonctionneront pas. Je recommande fortement ici de mettre à jour encore une version 181, une des années 1800. Et la mise à jour et tous les changements seront abordés dans une conférence ultérieure. Cela va prendre un peu de temps car il y a en fait des changements importants. C'est donc ce que c'est, mais la plupart des choses fonctionneront. C'est juste la génération mondiale et la taxe, comme je l'ai dit, s'il vous plaît mettre à jour au 1800 et puis 1182 entrera, espérons que quelques semaines quand tout aura été réglé, j'espère que j'espère que je sera en mesure de créer une section supplémentaire où je passe par le processus de mise à jour ainsi que chacun des changements individuels. Gardez cela à l'esprit, s'il vous plaît. Merci beaucoup. Et puis en s'assurant que nous sommes sur la dernière version et que vous pouvez voir le téléchargement le plus récent, ce sera 39079. Et nous pouvons même jeter un coup d'œil, par exemple, au journal des modifications ici. Nous pouvons voir certains des changements qui se sont produits entre les versions. Bon nombre d'entre eux, car nous sommes encore assez en retard sur la version actuelle du cours. Peut-être que vous avez également mis à jour en cours de route. C'est peut-être aussi une chose qui pourrait être faite. Mais pour le moment, nous allons maintenant passer à un 3979. Et si vous regardez ça à l'avenir, qui est très probable que votre version sera peut-être un peu plus élevée là-haut. Très bien. Ensuite, vous venez de le mettre à jour. Habituellement, il ne devrait pas y avoir trop de divergences entre eux. Donc encore une fois, c'est la version que nous allons mettre à jour deux, puis il suffit de charger la fille change, Gradle change ici dans le coin supérieur droit, en cliquant essentiellement sur le petit éléphant est qui n'apparaît pas et s'ouvre toujours l'onglet Gradle, puis cliquez sur ce bouton ici, fait la même chose. Et comme d'habitude, cela devrait prendre environ une minute ou deux maximum. Habituellement, s'il ne devrait pas y avoir trop de choses, ça va probablement être très rapide pour moi parce que j'ai déjà fait ça. Bien sûr. Si vous l'avez déjà fait sur la même version, il a déjà téléchargé tous ces éléments. Mais cela peut aller un peu plus vite, mais cela ne devrait pas prendre trop de temps. Attendons donc juste une seconde. Encore une fois, si vous devenez rouge ici, tant que ce n'est que de l'information et de l'avertissement, ne vous inquiétez pas du tout. C'est juste une erreur qui pose un problème. Et bien sûr, à la fin de la journée, s'il y a un échec de construction, ça ne sera pas bon non plus. Mais s'il y a un succès construit, tout peut presque être ignoré. C'est écrit ici, c'est en rouge. Ici, nous sommes construits avec succès en deux minutes, 31 secondes. Comme je l'ai dit, parfois cela prend un peu plus de temps, parfois ne prend pas trop de temps. Maintenant, nous avons ignoré beaucoup de versions, donc il y avait probablement beaucoup de choses à mettre à jour. Mais à part cela, c'est à peu près tout ce que nous devons faire pour le mettre à jour. Maintenant, généralement lorsque vous l'avez mis à jour, s'il n'y a pas trop de changements, tout devrait simplement fonctionner. Je crois que tout devrait fonctionner ici. Nous allons donc simplement le laisser fonctionner et voir si nous avons des erreurs. Il y en a peut-être un, je n'en suis pas sûr à 100 %. Je ne pense pas qu' il y ait quelque chose à craindre pour le moment. Mais bien sûr ici, le cas serait juste de le faire tourner, voir s'il y a peut-être une flèche, peut-être, je ne sais pas quelque chose dans les aliments, par exemple, le changement. Bien sûr , vous le verriez et ensuite vous pourriez simplement le changer là aussi. Mais dans ce cas, je ne pense pas que quelque chose ait radicalement changé. Ainsi, une fois que tout a été téléchargé ici, vous pouvez voir qu'il télécharge à nouveau les ressources, en téléchargeant essentiellement une partie des ressources une fois, une fois de plus , pour que tout soit à la hauteur... date. Parce que, bien sûr, nous avons mis à jour la première exécution après mise à jour peut également prendre un peu de temps, mais pas de soucis. Vous pouvez voir maintenant que le client d' exécution est en train de traverser la tâche en cours d'exécution. Vous pouvez voir que nous sommes en train de traverser certaines choses. Juste ici. C'est normal. Et puis sur l'autre écran, la fenêtre du microbe commence déjà ici. On va juste retourner ça et tout devrait bien fonctionner. Il devrait donc voir l'écran du menu dans un instant. Et nous y sommes. Oui, nous y sommes. Vous y allez. Donc, tout fonctionne toujours très bien. Mods, le cours MC est toujours là. Tout fonctionne donc très bien et ne vous inquiétez pas que nous ayons mis à jour la nouvelle version fourragère. Et maintenant, nous pouvons passer par des conférences supplémentaires qui seront très, très intéressantes. Il y a donc un certain nombre de sujets intéressants que nous allons aborder au cours des prochaines conférences. Certains sont définitivement comme personnellement mes favoris. Il y a des trucs vraiment, vraiment cool ici, mais ce serait à peu près tout pour cette conférence ici. Très court, juste à mettre à jour en gros. Ensuite, nous pourrons passer en revue le reste des conférences. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. 98. (Sujets supplémentaires): Bon, bienvenue au cours de forge pour 118. Et puis cette conférence, nous allons jeter un coup d'œil à la façon dont vous pouvez ajouter des gouttes expérimentées à vos blocs ou à vos blocs. Maintenant, vous vous souviendrez peut-être qu'il y a des blocs spécifiques comme Emerald, par exemple, que lorsque vous exploitez, il a subi des chutes après l'avoir miné. Supposé, par exemple, avoir le cobalt brut dans notre cas, tomber et après l'avoir senti, vous auriez l'expérience. Il s'agit maintenant d'un processus assez simple. Ce que nous pouvons faire, c'est que nous pouvons simplement appuyer deux fois sur la touche Maj et rechercher le ou bloquer, en veillant à cocher cette case ici. Et ensuite, nous allons vérifier celle-ci. Et vous pouvez voir que nous pouvons simplement parce le bloc a un int uniforme ici. Et ça va être la gamme d'expériences qu' elle va baisser. Cependant. En fait, c'est aussi facile que d' aller chez vous, par exemple, nous allons choisir le cobalt ou même s'il n' aurait pas dû le faire, ce n'est qu'un exemple. Nous allons changer ce bloc par ou bloc, en veillant à ce que je l' écris correctement. Vous y allez. Je vais appuyer sur la touche Tab pour compléter automatiquement. Et maintenant, rien ne devrait changer. Cela devrait toujours fonctionner, mais nous devons ajouter un deuxième paramètre ici. Et ce sera un travail uniforme que vous pourriez voir. Et puis nous allons dire, par exemple, quelque chose comme deux ou, ou, et ensuite ce sera une distribution uniforme entre 24. Nous pouvons également survoler l'offre. Je pense que cela devrait, en fait, cela ne nous aucun aperçu de la façon dont cela fonctionne, mais c'est bon. Je pense qu' ils sont tous deux inclusifs. Et nous pouvons également bien sûr vérifier si un bouton du milieu de la souris clique à nouveau dessus, puis le bouton central de la souris clique dessus. Je peux voir, par exemple, dans l'Emeraude ou nous devrions pouvoir voir que ce qu'ils y donnent est, par exemple, entre 37 et même chose pour l'émeraude du sommeil profond. Et puis je crois qu' il y a autre chose. Par exemple, dans le diamant ou oui, bien sûr, ce serait également le cas. Celui-ci se situe également entre 37 ans. Vous pouvez donc choisir ce que vous voulez faire. Nous allons donc en faire 37 aussi. Pourquoi pas ? Et c'est à peu près tout ce que vous devez faire. Et maintenant, l'expérience va tomber après cela, gros ce bloc est miné. Méfiez-vous, bien sûr, que si vous le faites sur des blocs ou non. Donc, si je devais le faire dans les escaliers par exemple, et bien sûr récupérer le bloc. Je veux dire, les escaliers seraient plutôt difficiles, mais nous allons peut-être en choisir un autre. C'est un mauvais exemple. En fait, vous savez, n'importe quel autre bloc qui n'est qu' un bloc qui disons les planches, par exemple, si je faisais ça sur notre bloc et que je retournerais un certain nombre d'expériences là-bas, je peux il suffit de le poser à nouveau, d' être plus expérimenté, de le remettre en place , d'être plus expérimenté. Cela ne devrait donc être utilisé que pour blocs ou quatre blocs qui ne tombent pas eux-mêmes. C'est l'idée générale. Mais parce que c'est tout ce que nous devons faire pour l'achèvement, voyons si cela fonctionne. Ou nous nous retrouvons à Minecraft et nous vendons de récolter certaines commandes. Et comme vous pouvez le voir, vous y allez. En fait, je suis en train d'acquérir de l'expérience en les miniant Comme je l'ai dit, cet exemple est bien sûr un peu pas trop bon, bien sûr dans ce cas parce que lorsque nous sentions réellement le cobalt ou que nous devions expérimenter à nouveau. Mais c'est peut-être quelque chose que vous voulez ajouter. Qui sait. Mais comme vous pouvez le constater, c' est à quel point il peut être facile ajouter les gouttes expérimentées personnalisées à votre client ou c'est déjà cela pour cette conférence ici. J'espère que cela vous a été utile et que vous avez appris quelque chose de nouveau. Je vous verrai lors de la prochaine conférence. 99. (Sujets supplémentaires) Ajouter un écran de menu personnalisé: Ou je souhaite la bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter un écran de menu personnalisé à Minecraft. Maintenant, il est très important que cette conférence et la conférence suivante soient en quelque sorte la première et la deuxième partie. Parce que la prochaine conférence, nous allons ajouter des conflits à Minecraft. Et lorsque vous ajoutez un écran de menu personnalisé, vous devez absolument le configurer à 1, 1000 %. Sinon, votre MOD est immédiatement mis en liste noire par n'importe quel pack de cartes. Parce qu'il est évident qu'un pack de repère a généralement son propre écran de menu et vous voulez que cela soit configurable. Mais passons par là. Commençons tout d'abord par l'écran de menu. Dans cette conférence, nous allons simplement remplacer les flancs tournants de la montagne, pour ainsi dire, dans l'écran du menu par notre propre écran de menu, juste une image. Et pour cela, nous allons entrer dans notre package util, cliquez avec le bouton droit de la souris sur la nouvelle classe Java. Et ça va être l'écran de titre de la société. Vous y allez. Et je vais copier tout le code ici, mais tout est bien sûr disponible pour vous dans le référentiel GitHub et individuel. Et nous allons juste jeter un coup d' œil à ce que tout cela est. Numéro un, nous avons cet emplacement de ressources d'écran de démarrage est exactement notre écran de menu en coton personnalisé que nous allons essentiellement bien imposer là ou dessiner sur l'écran du menu. Ensuite, nous avons également un emplacement de ressources pour le logo Microsoft car il doit être bien dessiné, quelque sorte au-dessus de l'écran. C'est un peu bizarre, mais je vais expliquer dans la méthode de rendu ici. Donc, la méthode de rendu, nous allons passer en revue quelques choses. Tout d'abord, nous allons appeler le super dans l'écran de marée normal. Ce qui se passe alors, c' est qu'ils sont tout à fait normaux . Ensuite, nous avons besoin de cette largeur et de cette hauteur entiers. Nous en avons juste besoin pour notre écran de titre personnalisé. Permettez-moi de dessiner notre écran de titre personnalisé, essentiellement au-dessus de l'écran de marée normal. Ensuite, nous allons également dessiner le logo Microsoft. C'est très important. Ensuite, nous avons simplement rendu le menu principal. C'est juste de Forge pour que tout fonctionne ici. Laissez-moi dessiner la ficelle. Il s' agit de la chaîne de droits d'auteur en bas à droite. C'est très important. Ne supprimez pas cela. Il est très important que cela soit réellement là. Sinon, je ne suis pas sûr à 100%, mais vous pourriez commettre une mais vous pourriez commettre fraude au droit d'auteur si vous ne l'avez pas. Nous devrions donc avoir cela définitivement. Les widgets ici ne sont que les arrière-plans de chacun des boutons du menu principal. Nous pouvons également jeter un coup d'œil à la méthode de l'écran de titre personnalisé dessiner. Donc, vous pouvez voir que ce n'est pas vraiment fou. En gros, nous n' activons qu'un réglage de texture, un peu comme un peu d'activation. Et nous réglons la texture réelle sur l' écran de démarrage ici , puis nous la dessinons. Le sang dessine donc essentiellement cette texture que nous avons définie dans le système Render. Après cela, nous dessinons ensuite le logo Minecraft. Donc, en définissant la texture sur le logo Microsoft, nous sommes dans la prochaine eau de Javel dessinant essentiellement la microflore. C'est l'idée générale. Et ce n'est que du code tiré de la classe d'écran Tidal normale elle-même. Il n'y a donc rien de trop fou. C'est presque tout ce qu'il y a à faire. Honnêtement, il ne devrait pas y avoir de choses aussi folles. Si vous voulez un écran de titre complètement personnalisé avec des trucs complètement fous, il vous suffit d'aller travailler à travers certaines de ces choses. Habituellement, la plupart des gens veulent simplement remplacer l'image d'arrière-plan et c'est exactement ce que nous allons montrer ici. Cela va maintenant dans l'interface graphique des textures, menu Arrière-plan ou dans le dossier d'arrière-plan. Et puis ça va s' appeler Copan menu dot re pack. Et c'est exactement ce que nous allons obtenir cela dans l'interface graphique, puis cliquer avec le bouton droit sur nouveau répertoire appelé arrière-plan. Ensuite, je vais simplement copier l'image, qui est bien sûr également disponible pour vous si vous voulez l'essayer. Et nous n'allons pas gâcher son apparence, pas maintenant, mais ça va être vraiment cool. Je pourrais vous le dire. Alors, que fait-on après ça ? Eh bien, nous devons maintenant définir cet écran de titre et nous allons faire dans la classe de l'événement. Donc, dans la classe des événements de mode, nous allons copier sur une méthode très, très simple. Ce n'est pas trop fou non plus, mais il est bien sûr aussi disponible pour vous. Nous allons utiliser l'événement d' ouverture d'écran comme vous pouvez le voir. Et nous allons vérifier si l'écran que nous essayons d'ouvrir est l'écran de titre et que ce n'est pas encore l'écran de titre de notre compte. Ensuite, nous allons simplement le remplacer ou nous allons créer un nouvel écran de titre en coton et l'envoyer. C'est à peu près tout ce qu'il y a à faire. C'est tout le code dont nous avons besoin. C'est peut-être un peu plus compliqué, mais dans l'ensemble, je l'espère, on peut comprendre ce qui se passe ici dans une sorte d'aperçu général. Et alors cette méthode et cet événement devraient être très simples. Ce n'est rien de fou. Et oui, c'est à peu près ce dont nous avons besoin pour cette conférence ici. Donc, je suppose que nous allons voir si cela fonctionne. Mais le soleil est bien sûr important pour voir Minecraft démarrer. Voyons donc si notre écran de tuiles personnalisées fonctionne. Je suis très confiant que c'est le cas. Et nous y voilà, l' écran de titre personnalisé fonctionne exactement comme vous vous y attendez. Nous avons toujours l'avis de copyright. Nous avons même le truc de la forge en bas à gauche. Nous avons le Minecraft, essentiellement tout ici, qui est exactement ce que vous voulez. Tous les boutons fonctionnent toujours très bien. Donc, tout fonctionne incroyablement. Et je ne vais rien dire à propos de quoi que ce soit, mais ce n'est peut-être qu' un petit spoiler, ce qui pourrait arriver plus tôt. Mais de toute façon, c'est vraiment cool et j'aime vraiment l'image de fond qui a été faite par votre rangée. Le, bien sûr sera également lié dans le fichier de crédits. C'est vraiment génial. Mais c'est en fait à quel point il est facile d'ajouter le cri de titre personnalisé, comme je l'ai dit, recommande vivement de regarder la prochaine conférence immédiatement après pour voir comment nous pouvons ajouter des éléments non fixes personnalisés. Parce que l'ajout du conflit pour bien le rendre configurable est extrêmement important. Je ne peux pas vraiment exagérer cela. Veuillez ajouter le conflit ici. Sinon, c' est fondamentalement que ton marr ne sera jamais utilisé par aucune marque. Mais quel que soit le cas, c'est tout pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Si vous l'avez fait, nous apprécions beaucoup une critique de votre part. Sinon, je vous verrai lors de la prochaine conférence. 100. (sujets supplémentaires) Ajouter des Configs personnalisés: Bon, bienvenue au parcours fourrage pour 118. Et dans cette conférence, nous allons ajouter des conflits personnalisés à Minecraft. Il ne s'agit pas seulement d'un sujet très important pour l'écran ou l'écran de titre personnalisé que nous avons implémenté lors de la dernière conférence. Mais c'est également un sujet très important et très demandé. Donc, tout d'abord, nous devons réfléchir à deux choses, et c'est le commun et le conflit client. Il y a aussi des conflits de serveur, mais pour le moment, nous allons nous inquiéter du conflit commun et du client, quand nous pensons à notre écran de titre personnalisé, où cela existe-t-il car cela existe à la fois sur le serveur et le client, ou uniquement sur le client. La réponse évidente est donc, bien sûr, que cela n'existe que sur le client. Pour ceux qui l'ont dit, bien sûr, c'est uniquement sur le client. C'est très bien pour ceux qui ont dit que c'est sur les deux. Eh bien, réfléchissons à ça. Le serveur, si nous exécutons un serveur, le serveur se soucie-t-il le serveur se soucie-t-il l'écran du menu des options multijoueur solo. Bien sûr, ce n'est pas le cas. Nous pouvons même le voir si nous cliquons sur le bouton central de la souris sur l'écran de titre ici, nous pouvons voir que c'est uniquement dans ce client. Cela signifie que cette classe n'est exécutée que dans le thread client, nulle part ailleurs. Par conséquent, pour activer ou désactiver notre écran de titre personnalisé, nous allons devoir implémenter des conflits clients. Ensuite, je vais également montrer un ou deux exemples de conflits courants. s'agirait de conflits qui concernent à la fois le client et le serveur. Dans ce cas, commun est une chose intéressante, car parfois les conflits courants concernent essentiellement le client et le serveur. Et ensuite, il n'y a que des conflits de serveurs. Mais nous allons les laisser de côté pour le moment après avoir vu comment additionner le client et les conflits communs. Il peut également ajouter les conflits de serveur. Veuillez également noter que vous ne pouvez pas configurer ou que vous ne pouvez pas configurer chaque élément de code. Par exemple, certaines des choses qui ne sont pas très facilement configurables sont, par exemple, la durabilité de la tige de purge. titre d'exemple, vous pouvez imaginer pourquoi nous pouvons simplement remplacer ce par un numéro configurable qui ne fonctionne pas tout à fait. Il peut donc y avoir des solutions de contournement, mais généralement lorsque vous enregistrez des choses, donc en ce moment nous enregistrons la méthode de registre. Partout où vous enregistrez quelque chose. Habituellement, vous ne voulez pas modifier ces chiffres. Il est parfois très difficile de dire où l'on peut et ne peut pas le faire. Je vous recommande vivement si vous voulez vraiment essayer des trucs là-bas, essayer, voir si cela fonctionne ou non. Parce qu'il peut parfois s'agir d'une incompatibilité entre le serveur et le client si le client présente un conflit différent et différent de celui du serveur. Et par conséquent, cela pourrait devenir un peu bizarre. Gardez cela à l'esprit. Vous ne pouvez pas nécessairement tout configurer dans notre package de cours MC. Nous allons cliquer avec le bouton droit sur un nouveau paquet appelé « paquet de conflit ». Et puis je vais copier deux des cours dont nous aurons besoin. Et je vais en fait passer en revue tout le code qui vous est bien sûr disponible dans le référentiel GitHub chez un individu tout aussi. Donc, pas de soucis du tout. Et ce n'est pas non plus si fou. Commençons par les conflits clients ici. Nous pouvons voir que ce dont vous aurez besoin, c'est un générateur de spécifications de conflit, qui équivaut à un nouveau constructeur. Et puis cette spécification de conflit ici. Et ensuite, vous pouvez voir que vous êtes répertorié sont essentiellement toutes nos valeurs de configuration statiques. Vous pouvez voir qu' il s'agit d'un générique, donc nous allons simplement mettre en place des types de données différents, qui sont dans ces cas ce que nous voulons configurer ou configurer. Et puis vous pouvez voir dans ce bloc statique ici, juste avoir un constructeur à pousser, c'est juste ce qui est écrit en haut du fichier de conflit. Et ensuite, cela va commencer par voir un commun. s'agit donc de savoir si l'écran de titre par défaut sera remplacé ou non . Et ensuite, nous allons définir cela. s'agit simplement du nom de la variable, pour ainsi dire, et il s'agit de la valeur par défaut dans ce cas. Et ensuite, en regardant les conflits courants ici, vous pouvez voir qu'ici nous allons réellement configurer les veines par morceau et la taille des veines du cobalt. Ou c'est très intéressant car c'est aussi quelque chose qui peut parfois être configurable. Ou vous voulez que cela soit configurable, ce qui est très intéressant. Donc, ce que nous allons faire, c'est d'abord que nous allons utiliser les conflits de clients, mais nous devons bien sûr également les enregistrer. Alors, comment les enregistrer dans notre cours de mod MC, nous n'avons besoin que de les ajouter aux choses. Et ça va se passer après ça. Ce que nous allons faire, c'est qu'on va dire, on va charger le mod sur le point de texte, obtenir cette configuration de registre. On va dire les données de configuration du moteur. Vous pouvez voir les types déjà présents. Nous allons choisir le type de client pour le premier. On va dire MC. Le client est en conflit avec cette spécification. Et puis le nom de fichier ici sera, il devrait s'agir de votre ID MOD, Dash Client. Et puis très important que le Tamil, il doit s'agir d'un fichier HTML à points. Sinon, ça ne fonctionnera pas. Ensuite, nous pourrons dupliquer cela en appuyant sur Control D. et je vais changer cela en commun ici. Et puis on va changer ça en cours de MC, conflits communs. Et il est très important que nous changions ce nom également. Vous pouvez voir maintenant que nous avons les deux, eh bien, enregistrés et c'est en fait tout ce que nous devons faire pour enregistrer ces conflits. C'est donc tout ce qu'il y a à faire. Comment les utiliser maintenant ? Eh bien, c'est assez simple. Nous avons ce domaine ici. Allons donc dans notre code. En fait, ce n'est pas l'écran du titre de la colonne. En fait, nous voulions le faire dans la classe des événements MOD ici même dans cette déclaration if, nous voulions essentiellement dire les conflits de clients de cours MC, ce point d'écran de titre personnalisé obtient. Et puis ça va mettre fin à ça. Cela doit donc être vrai, et tout cela doit également être vrai. Et puis notre écran de titre va être remplacé juste pour l' achèvement, nous allons aussi utiliser immédiatement la veine pour les trucs de coffre. Cela va donc se produire dans le monde. Le premier sera dans la place qu'ils ont il y a. Ce sera les veines par tronc. Donc, ça va être le cours de MC, les conflits communs avec Paine par morceau de point. Nous allons juste lire. Oui, c'est très bien. Et ensuite, l' autre doit être dans les fonctionnalités configurées. Donc, ça va être le, celui-là juste ici. C'est la taille de la veine pour cela serait la taille de la veine des conflits communs du cours MC qui obtient, ce que nous allons faire en fait c'est que nous allons laisser cela s'exécuter une fois pour que les fichiers ici génèrent, alors les fichiers fixes réels régénèrent et ensuite nous allons modifier les valeurs qu'ils contiennent. Mais lançons cela une fois et voyons ensuite les fichiers de conflit générés. Tout d'abord, vous pouvez voir que Minecraft a été chargé et que l'écran de titre est toujours là car la valeur par défaut ici était vraie. Et surtout, nous avons maintenant généré les fichiers de configuration. Ils sont sous la configuration du dossier R1 et vous y allez. Client de cours Mc et cours MC communs. Si nous les ouvrons, vous pouvez voir que nous obtenons exactement cela. Vous voyez des conflits pour MC core smart, puis si l'écran de titre par défaut sera remplacé. Nous changeons cela en faux maintenant et nous le sauvegardons. Et puis, nous allons juste complètement fous là-dessus devenir complètement fous là-dessus juste pour que nous ayons ça. Allons-y. Donc, pour l'instant, nous allons faire beaucoup de veines par morceau, beaucoup de veines, juste pour que nous puissions réellement voir que cela va fonctionner et que cela va affecter la génération mondiale. Et oui, c'est à peu près tout ce que nous devons faire pour changer les conflits. Ceux-ci sont bien sûr également disponibles pour les utilisateurs, pour les joueurs, et ils peuvent ensuite les modifier comme ils le souhaitent. Assurez-vous donc d' avoir des commentaires appropriés ici. Il va y avoir celui-là. Comme vous pouvez le constater, c'est ce qui a été écrit ici en tant que commentaire. C'est donc à peu près tout ce que vous devez faire. Alors maintenant, après avoir modifié les conflits, voyons si, par exemple, tout d'abord, l'écran de titre a changé puis aussi la génération mondiale. Très bien, comme vous pouvez le voir numéro un, l'écran de titre actuel est revenu à l'écran de marée normal. Mais c'est très intéressant. Maintenant, créons un nouveau monde ici et voyons si, à l'heure de la génération mondiale, cobalt ou va être affiché sous une forme bien plus importante qu'avant. Ou si vous répondez dans Minecraft. Et comme vous pouvez le constater, je n' ai pas eu à descendre très loin pour trouver une abondance de l'or, n'est-ce pas. Vous pouvez voir que non seulement les veines sont massives, mais il y en a beaucoup. Comme vous pouvez le constater, ce sont deux veines différentes, trois veines différentes l'une à côté de l'autre. Et ensuite, vous pouvez voir que ça continue et continue. Je peux à nouveau passer en mode spectateur. Et vous allez voir qu'il y a beaucoup de ces veines. Vous pouvez donc clairement voir que même si ce n'est certainement pas quelque chose que vous voulez nécessairement avoir, mais il est définitivement configurable. Et c'est exactement ce que nous attendrions de ces conflits ou de ces conflits. C'est vraiment cool. Mais il existe une autre méthode que nous pourrions appeler et c'est la définie dans une liste définie mais définissant la plage, ce qui est également très intéressant. Donc, celui-ci ici fait ce qui suit. Vous pouvez également définir une valeur minimale et une valeur maximale. Cela peut donc être très intéressant et important pour vous de dire , vous savez, peut-être que le nombre de veines par tronc et la taille des veines devraient être maintenus à certaines valeurs. Ou peut-être, vous savez, certaines valeurs que vous vouliez rendre configurables pourraient être rompues si elles ne se trouvent pas entre certains nombres. Gardez donc cela à l'esprit également, que vous pouvez également le faire. Mais pour le moment, nous allons garder ça indéfini. Je voulais juste te montrer ça. Je peux aussi toujours aimer chaque fois, il suffit de vous conseiller de jouer un peu avec ça. Voyez ce que vous pouvez changer fondamentalement, quels types de choses peuvent fonctionner et celles qui ne fonctionnent pas. Il y a donc beaucoup de choses qui pourraient fonctionner ou non. Gardez cela à l'esprit. Mais sinon, c'est à peu près comment ajouter des conflits personnalisés à Minecraft. Et surtout, comment le configurer ou le conflit, créer un conflit pour votre écran de titre personnalisé, car c'est extrêmement important. Si vous avez un écran de titre personnalisé vous le créez pour pouvoir l'éteindre car sinon vous ne serez jamais utilisé pour RMN jamais incroyablement important. Gardez cela à l'esprit, s'il vous plaît. Sinon, ce sera le cas pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Si vous l'avez fait, j'apprécie beaucoup votre avis. Sinon, je vous verrai lors de la prochaine conférence. 101. (Sujets supplémentaires): Ou je me réjouis de revenir au cours de forge pour 180 ans. Et dans cette conférence, nous allons ajouter un bloc transparent à Minecraft, ce commerce à la demande populaire car certaines personnes ont eu difficultés à ajouter un bloc transparent à Minecraft. Cependant, ce n'est pas si fou si vous connaissez les deux ou trois ajustements très importants que vous devez faire. Donc, dans notre classe de blocs de mode, nous allons juste aller tout en bas ici. Je vais juste copier l'échantillon. Il y a maintenant quelques choses que nous devons changer ici. Ça va s'appeler la fenêtre d'hiver. Et c'est bien sûr, aussi la fenêtre hivernale. Donc, tout d'abord, dans un volume tout à fait normal ici, et ensuite ce sera un bloc de verre. Il est très important qu'il s'agisse d'un bloc de verre. Cela ne nécessitera que les propriétés réelles du comportement des blocs ici. Et ensuite, ce que nous allons faire, c'est que nous allons copier à partir du bloc de verre ainsi que des propriétés. Vous allez dans le bloc de verre, cliquez sur le bouton central de la souris puis le bouton central de la souris clique à nouveau sur le bloc de verre abstrait. Nous pouvons voir ce numéro un, la chose dont nous avons besoin, c'est le puits de lumière propagé vers le bas et aussi la luminosité de la forme. Nous obtenons une forme visuelle. Je ne suis pas sûr à 100% de ce que c'est forcément le crépuscule. Je sais juste qu'ils sont tous importants pour avoir un travail de bloc transparent. C'est pourquoi nous allons simplement utiliser le bloc de verre. Il s'agit essentiellement d'un bloc de verre, donc pas de soucis. Maintenant, ce dont nous avons également besoin dans notre classe MC for smart dans la configuration du client, nous allons simplement copier la couche de rendu ici. Et cela va obtenir le calque de rendu de la fenêtre d'hiver, et cette fois translucide. Il aura donc la même couche de rendu que le fluide de bloc de miel, qui est bien sûr également translucide. C'est très important, sinon cela ne fonctionnera pas. Et puis, bien sûr, toutes les actions comme le bloc indiquent Jason ici. Juste une étape normale de marche Jason, même avec la traduction. Tout cela est à peu près normal. La seule différence ici, c'est que, bien sûr, une fois que nous avons ajouté ceci, la fenêtre hivernale ici, les fichiers de modèles, tous les mêmes éléments, donc ce ne sont que des fichiers de modèles normaux. Nous pouvions également copier les autres fichiers de modèles normaux et voir cela pointer vers une texture. Et puis à peu près la même chose avec le fichier de modèle d'article. Et bien sûr, ils sont également disponibles si vous souhaitez les copier. Mais comme vous pouvez le constater, il y a des fichiers normaux, rien de fou à leur sujet. peu près la variance la plus facile de ces fichiers. Et puis ce qui est bien sûr important pour la texture que je vais également copier. Et vous allez voir ça, ici. Donc, tous les types de blocs internes, sont ceux qui ont une valeur alpha un peu transparente. Il est donc bien sûr très important que si vous avez un PNG que vous vouliez utiliser et que certains de vos pixels réels doivent avoir des valeurs Alpha que vous pouvez parcourir. Sinon, bien sûr, cela ne fonctionne pas tout à fait. Sinon, la transparence ne fonctionnera pas correctement. Gardez cela à l'esprit. Mais sinon, c'est en fait tout ce que nous devons faire en traversant tout. Ce qui est le plus important, c'est le translucide. Comme ça, nous avons des valeurs Alpha dans notre fichier PNG réel. Et puis aussi que nous utilisons le bloc de verre, ce qui est très important. Je suppose que pour l' achèvement, voyons si ça marche. Très bien, nous sommes financiers dans Minecraft et comme vous pouvez le constater, la fenêtre hivernale a été ajoutée avec succès au jeu. Et comme vous pouvez le voir également, je peux le regarder à travers. Pas de soucis du tout, bien que tout ne fonctionne que très bien. Je veux dire, c'est à quel point il est facile d'ajouter un bloc transparent personnalisé de marque Minecraft qui est déjà pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. 102. (Sujets supplémentaires): Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter un objet animé à Minecraft. Donc, c'est peut-être comme, Wow, c'est vraiment cool. Et c'est peut-être, pourriez-vous dire, que cela va probablement être très compliqué. En fait, c'est assez simple. Mais nous allons voir un élément animé personnalisé dans cette conférence. Ensuite, je vais vous montrer un exemple vanillé d'un bloc animé. Et ensuite, si vous voulez un bloc animé, je vous recommande vivement de jeter un coup d'œil à cet exemple de vanille. Dans la classe des éléments mod, nous allons ajouter un nouvel élément. Il suffit donc de copier la boule de cobalt ici. Et ce sera la poussière de soulignement magique. Et puis ici même dans le nom. Ce sera la poussière de soulignement magique. Et cela va être normal, ce qui est intéressant. Et nous allons simplement faire en sorte qu'il n'ait essentiellement aucune autre propriété d'article ici. Nous allons juste avoir l'article normal, complètement vanillé. Rien de fou à ce sujet. Et ajoutons la traduction avant d'entrer dans le, dans les autres choses. Ainsi, l'autre élément modèle des fichiers adjacents. Il y aura donc la magie de poussière et ce sera aussi la poussière magique. Maintenant, vous pourriez dire, Eh bien, ça va probablement être une requête compliquée est un fichier Jason de modèle d'élément compliqué ici. Il suffit de le copier. Bien sûr, tout ce qui vous est disponible dans le référentiel GitHub en individuel aussi. Et vous pouvez voir qu'il s'agit d'un fichier JSON tout à fait normal pour le modèle d'élément. Ou vous allez être comme, attendez, où est-ce ? Où est l'animation ? L'animation se trouve dans la texture, ainsi que dans le métafichier MC. Aha. Nous allons copier ceux qui sont bien sûr également disponibles. Et puis vous pouvez voir que nous avons le numéro un, la texture réelle ainsi qu'un métafichier MSE. Et si on regarde la texture, il s'agit en fait de multiples textures différentes. Vous pouvez donc voir qu'il s' agit en fait six textures différentes pour la même chose, c'est le même objet. À la fin, sortez à 16 fois plus de textures que vous avez 16 fois. C'est donc l'idée. Il est donc 16 par, dans ce cas, 96 est une taille ici, et le métafichier MC détermine comment vous traversez cela. Vous pouvez voir qu' il s'agit d'une animation. Peut modifier la durée de l' image pour modifier la vitesse de l'animation. Et puis, ici, vous pouvez dire quels cadres vont être posés dans quel ordre. L'interpolation signifie simplement que lorsqu' une image se transforme en une autre , elle sera discrète. Il va donc changer d' une image et ensuite, dans la suivante, disons deuxièmement, voir une autre image. Où va-t-il passer par eux ? C'est l'idée générale de l' interpolation dans ce cas. Mais c'est en fait à quel point il est facile d'ajouter un élément animé. Et puis cela va immédiatement s'animer tant que vous avez le fichier MC Mehta ici. Ce qui est très important, c'est que cette métaphore MC soit écrite exactement comme ceci, y compris le point PNG ici. S'il vous plaît, assurez-vous que cela est bien écrit. Et comme la liste de contrôle double et triple, il est extrêmement important qu'il s' du même nom que le fichier de texture, y compris la fin puis point MC Mehta. Veuillez vérifier cela. Ensuite, en ce qui concerne le livre, nous pouvons aller dans les bibliothèques externes, bien sûr, une fois de plus au client extra 1801 ou quelle que soit votre version, actifs, Minecraft, textures, Bullock. Et ensuite, il faut jeter un coup d'œil sur le bloc magma. Ainsi, celui-ci a également un fichier MC Mehta et vous pouvez voir qu'il y a en fait trois textures différentes que l'identifiant passe. Comme vous pouvez le voir ici, avec un temps d'images de huit, passe par ces trois cadres, puis modifie la texture ici, de même que pour l'autre portail. Vous pouvez donc voir que le portail Nether a en fait beaucoup de textures différentes, comme vous pouvez le voir, il passe par là. Eh bien, je veux dire, apparemment, il traverse tout. Je ne suis pas sûr à 100% de la façon dont l' animation ici est vide. Je ne sais pas très bien comment cela fonctionne, mais c'est aussi un autre exemple. Je recommande personnellement l'exemple du magma. Et je crois que c'est à peu près tout le genre d'exemples vraiment fous ici, répétant le bloc de commande. Mais il y a encore quelques choses ici. Mais le macrobloc est probablement le plus facile à suivre et devrait l'être. Je veux dire, c'est comme si c'était assez sensé, assez simple, tout est considéré. C'est à peu près le même que celui de la poussière magique. Mais oui, c'est à peu près tout ce que nous voulons jeter un coup d'œil. Et maintenant, je suppose que pour achèvement, voyons si ça marche. Ou nous nous retrouvons à Minecraft. Nous verrons donc que la poussière magique a été ajoutée avec succès au jeu. Et comme vous pouvez le voir, pendant que je le tiens dans ma main, choisissons-le dans le sud, n'en avons qu'un. Vous pouvez voir que c'est une animation lente mais sûrement et je peux même la jeter par terre. Et vous pouvez voir que même ils le sont, la texture réelle est également animée. C'est donc à quel point c'est facile. Et comme je l'ai dit, vous pouvez fondamentalement modifier la vitesse de l'animation en modifiant la durée d'image dans le fichier MC Mehta. C'est comme ça que ça peut être facile. C'est déjà le cas pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. 103. (Sujets supplémentaires): Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons examiner comment ajouter un effet personnalisé à Minecraft. Maintenant, l'ajout de l'effet client arrive bien, plus ou moins, grâce à un étudiant qui a ajouté son propre effet. Et j'ai en quelque sorte coopté leur effet et j'en ai fait une conférence. Donc, bien sûr, vous savez à qui vous pensez beaucoup. Et c'est un effet de gel. C'est vraiment intéressant. Il va donc geler une entité en place. Et nous allons juste voir comment cela fonctionne. En fait, c'est plus simple que vous ne le pensez dans notre programme de cours MC. Cliquez avec le bouton droit sur le nouveau package appelé effet. Au lieu d' y aller, nous aurons besoin de deux nouveaux cours. L'un d'eux est la classe d'effets de modèle. Et puis l'autre sera l'effet gel. La classe d'effets de gel est l'endroit où se trouve toutes les fonctionnalités. Je vais simplement copier sur la classe comme, comme toujours, bien sûr, tout ce qui vous est disponible dans le référentiel GitHub et individuel tout aussi bien, prêt ? Vous pouvez donc voir ici l'effet de gel en action. C'est assez simple. Tout ce qui est considéré, nous avons remplacé la méthode de tick d'application des effets, qui sera essentiellement appelée chaque tick lorsqu'une entité donnée a cet effet sur elle. Et puis nous avons également la coche d'effet de durée. C'est vrai, parce que si nous n'avons pas cela pendant un certain temps, cela ne serait jamais froid. C'est donc ce dont nous avons besoin. Ici. Vous pouvez voir qu'il agit de tout vérifier si nous sommes sur le serveur ou non . Si c'est le cas, nous prenons les coordonnées XYZ de cette entité particulière qui a cet effet sur la mortalité, signalons l'entité à elle et définissons également le mouvement Delta sur 0. C'est donc nécessaire pour le joueur essentiellement, et cela est nécessaire pour les animaux ou tout PNJ fondamentalement. Donc, toute entité non joueuse, simplement à cause du fait que le mouvement Delta est, eh bien, ce qui déplace essentiellement l'animal réel et vers lequel ils se téléportent, il ne s'agit pas seulement de la deuxième rangée supérieure. ne fonctionne pas. Voici donc les deux choses dont nous avons besoin. Et si nous ajoutons ces deux-là, alors la mafia réelle, ou dans ce cas l'entité ou le joueur va geler en place. C'est vraiment cool, comme une idée vraiment cool. Et j'aime vraiment ça. Alors, comment pouvons-nous, fondamentalement, la question est de savoir comment l'enregistrer ? Eh bien, vous l'avez déjà vu. Finale statique publique, de quoi avons-nous besoin ? Bien sûr, un registre différé, cette fois un effet de mafia. Ça va s'appeler les effets de soulignement de la MLB. Et c'est bien sûr égal à ce que c'est un registre différent qui crée des registres dotent des effets mlb. Et puis, bien sûr, notre cœur MC, intelligent mais pas d'identification. Et comme à chaque fois, comme nous avons vu le troisième registre, de quoi avons-nous besoin ? Nous avons besoin d'un vide statique public ou d'une méthode d'enregistrement avec un bus d'événement oculaire, un bus d'événement complet. Ensuite, nous appelons les effets MLB ou inscrivons et passons dans le bus de l'événement. Rien de trop nouveau ici. C'est comme chaque fois que nous avons vu les effets ici. Et puis cela sera appelé une fois de plus, bien sûr ici. Il suffit donc de souffler nos recettes de mod. On va dire des effets de mafia qui s'enregistrent et passent ensuite dans le bus de l'événement. Et voilà, tout est enregistré. J'ai juste besoin d'un objet de registre ici. On va donc dire l'objet public statique final du Registre. Bien sûr, le type d'effet de la mafia. Dans ce cas, il va être refroidi et est égal à effet mob commence à enregistrer le nom gel ici. Ensuite, nous aurons besoin d'un fournisseur d'un nouvel effet de gel. Comme vous pouvez le voir, la catégorie des effets de la mob est nuisible. Et puis, pratiquement n'importe quel numéro. Il s'agit, je crois, d'un identifiant unique. Jetez un coup d'œil à ça. C'est en fait, c'est la couleur. Vous y allez. C'est la couleur. C'est ce que c'est. Mais c'est la couleur de je crois, la partie qui y serait associée. Maintenant, nous n'allons pas ajouter la partie de cette conférence. Nous allons en fait ajouter la partie à la prochaine conférence. Mais après l'avoir ajouté, l'effet de gel est en fait dans le jeu. Maintenant, c'est tout ce que nous devons faire pour ajouter cela. Je sais que c'est assez fou, mais c'est tout ce que nous devons faire. Donc je suppose que ça marche ou si on se retrouve à Minecraft. Voyons donc, donnons-moi l'effet. Allons, Dev. Et puis vous pouvez voir cet effet de gel est là à moins de l'ajouter. Et maintenant, je ne peux plus bouger. Vous pouvez voir que c'est un peu agité. Et je l'ai ajouté pendant trente secondes dans ce cas. Je ne peux donc pas vraiment m' envoler un petit peu, mais si j'essaie de bouger, on peut voir que c'est très, très lent. Dans ce cas. Je sais que si je suis au sol et que j'essaie de bouger, j'appuie sur la touche W. Il fonctionne très, très lentement. Et même, vous savez, aller ici, c'est que vous pouvez voir que c'est définitivement glacial rencontrer en quelque sorte en place. Maintenant, je peux encore casser des blocs , mais ça marche. Et vous avez également vu que la texture réelle n' était pas là. Nous allons également ajouter cette texture. En fait, c'est assez simple, mais c'est plutôt cool. Toutes choses prises en compte. La texture va dans le dossier textures. Et ici, nous avons besoin d'un nouveau répertoire appelé Mob Underscore Effects. Et ensuite, la texture réelle doit être le même nom que le nom ici. Donc, dans les effets MLB, ce nom doit être ce nom. Et maintenant, au lieu d'une texture non, non descriptive, cette texture sera affichée et bien, je veux dire, elle va fondamentalement fonctionner. Maintenant, comme je l'ai dit lors de la prochaine conférence, nous allons immédiatement ajouter une partie pour cela parce qu'il est logique dans mon esprit d'en avoir une partie. C'est ce que vous pouvez utiliser en gros. Pour le moment, c'est à peu près tout cela pour cette conférence ici. J'espère que vous avez trouvé cela utile, jaune et dû. Et je vous verrai lors de la prochaine conférence. 104. (sujets supplémentaires): Ou je souhaite la bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter une potion client, y compris une recette de balai personnalisée à Minecraft. Maintenant, la partie réelle est très facile à ajouter. La recette de brassage, cependant, est, eh bien, disons que c'est un peu perplexe pourquoi elle fonctionne comme elle fonctionne, mais pas de soucis, on va s'en sortir. Tout d'abord, dans le package de cours MC, cliquez avec le bouton droit sur le nouveau package appelé portion. Et puis à l'intérieur de là, nous allons créer un nouveau mod océans de la faculté de classe Java. Et cela va ressembler étrangement à ce que beaucoup d' autres cours que nous avons vus auparavant. Un registre public statique différé final de type ocean cette fois. Et ce sera bien sûr des portions, ce sera égal au registre différé qui crée des registres, les océans sombres vont. Et bien sûr MC, bien sûr, ID modéré ou léger. Et ensuite, vous avez besoin la méthode de registre public statique des vides comme toujours, avec l'œil Event Bus, Event Bus. Et puis on va faire un enregistrement de potions avec le bus de l'événement. Et puis appelons cela dans le constructeur de cours MC ici, mod potions, ils s'inscrivent et passent ensuite dans le bus de l'événement. Ensuite, nous avons juste besoin de créer la potion. Il y aura donc un objet public statique Registry bien sûr, de type océan. Allez-y. Et ce sera la potion de soulignement de gel est égale aux potions qui s'inscrivent. C'est la potion de soulignement de frise, encore une fois, le nom ici. Et ensuite, cela nécessite un fournisseur d'une nouvelle portion. Il va falloir une nouvelle instance d'effet mob. Vous voilà, de nos effets. Donc les effets de mod dark freeze, celui que nous avons ajouté la dernière conférence. Je vais juste faire dix secondes avec le lobbying. Fondamentalement, l'amplificateur est 0 ici. Donc ce sera le nombre de fois plus tard dans les tics, et ce sera l'amplificateur. Donc, si nous mettons un 0 ici, et ce sera un niveau un. Ça va geler au premier niveau. Et c'est en fait tout ce que nous devons faire pour ajouter la partie réelle. Maintenant, pour la recette de brassage, nous allons en fait faire un nouveau cours. Maintenant, c'est très intéressant car il existe en fait une classe qui s'appelle la recette de brassage, je crois oui, de micro forge. Vous pouvez donc voir qu'il s' agit d'une recette de brassage qui implémente cette interface de recette que j'ai ruinée. Et cela fonctionne et nous pouvons l'utiliser. Ce qui est vraiment intéressant, c'est que pour l'entrée, il ne regarde pas ce que, disons quelle est la partie réelle , c'est que vous devez la mettre, mais vous savez comment vous pouvez mettre un certain le haut du stand de brassage, puis au bas, vous avez trois emplacements pour différentes portions. Et généralement comment cela fonctionne car vous avez besoin d'une potion maladroite pour le faire et d'autres messages spécifiques pour le faire. Et en utilisant cette recette de brassage, peu importe la nature de l'apport. Ce n'est pas le cas, il ne vérifie pas s'il s' agit ou non de la partie réelle. Par conséquent, ce cours de brassage est pratiquement inutile et n'a pas besoin d'être utilisé. Maintenant, j'ai trouvé un mur, une alternative que j'ai appelée la meilleure recette de brassage. Maintenant, nous allons copier ça. C'est en fait dans le paquet util. Et ce n'est pas exactement le même, mais le nom est différent. La classe est exactement la même que celle de ce dépôt GitHub ici même à partir de portions supplémentaires puis par victime. C'est donc sous la licence GPL trois. Soyez donc conscient de cela lorsque vous utilisez cette classe. dis juste, mais dans l' ensemble, je veux dire, c'est à peu près, il n'y a pas d'autre moyen de le faire vraiment quand j'y pense. Donc j'ai vécu ça et on se dit, OK, ça va toujours ressembler exactement à peu près pareil. Et c'est juste la meilleure façon de faire ce cours. Et ensuite, nous pouvons mieux l'utiliser au prix de la recette de brassage. Pour ajouter la recette, il suffit d'ajouter une seule recette. Cela va donc immédiatement fonctionner pour la potion de barre oblique, la partie normale et la partie persistante. C'est vraiment cool. Maintenant, lorsque nous ajoutons ces recettes de portions dans la méthode d'installation dans notre configuration commune FML ici. Quand nous voulons le faire, vous voulez dire le registre des recettes de brassage, celui-ci ici, ajoutez la recette. Et ensuite, nous allons juste faire une nouvelle recette de brassage meilleure. Vous y allez. Ensuite, nous avons la passion, portion que nous voulons. Donc ça va pousser le début gênant dans ce cas. Ensuite, l'ingrédient réel. Il s'agit donc d'un objet. Donc on va dire plus d' objets que le lingot de cobalt, disons que ça va être la colère du cobalt, n'est-ce pas ? Là. Ils s'en vont, puis mod des portions. Parce que, bien sûr, le résultat réel ou la sortie doit être la potion de gel. Et ils vont maintenant mettre positions maladroites en bas et un lingot de cobalt, car le dégradé va nous donner une potion de gel. C'est tout ce que nous devons faire. C'est en fait à quel point c'est facile. Maintenant, pour les potions, nous devons également ajouter quelques traductions. C'est très important en fait. Il y a peu de choses que nous devons ajouter. Tout d'abord, nous devons ajouter ces trois éléments ici. Donc ce sera le, vous pouvez voir qu'il s'agit d'une potion de gel à effet de portion, potion pour le splash et de la portion persistante. C'est incroyablement important. Il se trouve en fait sous l'espace de noms Minecraft. Je ne suis pas sûr à 100 % de la raison pour laquelle c'est le cas. Je veux dire, je suis sûr à 80 % de la raison pour laquelle c'est le cas. L'idée est que lorsque vous enregistrez réellement une portion, lorsque vous faites une nouvelle potion, pour ainsi dire. Ensuite, ce qui se passe, c'est que cela vient d'être ajouté au. La liste des parties réelles dans Minecraft , puis elle se trouve sous l' enregistré sous l'espace de noms Minecraft. Je ne suis pas sûr à 100% si c' est une mauvaise chose ou une bonne chose. Je veux dire, c'est peut-être une mauvaise chose pour le moment. On va le garder comme ça. S'il y a des conflits à l'avenir, nous allons également les résoudre. Pas de soucis là-bas. Mais c'est essentiellement l'idée des océans. Et maintenant, nous avons également besoin de cet effet. L'effet ressemble à ceci. Nous allons ajouter cela tout en bas. Cet effet point M C corps gèle, et ce n'est que le gel du code. Ce sont les traductions qui sont extrêmement importantes. Maintenant, ce qui est intéressant pour l'article, pour les éléments de potion générés automatiquement. Et nous n'avons pas besoin de faire quoi que ce soit pour eux. C'est donc à peu près tout ce que nous devons faire. La couleur de la partie réelle est extraite des effets de mod ici. Donc, cette couleur ici est essentiellement ce qui va être utilisé. Je ne suis pas sûr à 100% de ce que c'est. C'est peut-être juste une couleur hexagonale. Je n'en suis pas sûr. C' est peut-être autre chose, mais ça va bien se passer. C'est juste jouer avec ça aussi. Si vous voulez. Certaines autres couleurs sont pour le moment, c'est à peu près tout ce dont nous avons besoin pour la coutume, la fois la portion personnalisée ainsi que la recette ici à ajouter. Donc, je suppose que nous allons voir si cela fonctionne. Ou nous nous retrouvons à Minecraft. Voyons donc, ajoutons simplement les portions d'aqua, puis un lingot de cobalt et ça devrait commencer à brasser. Et c'est vrai, il commence à brasser. Et dès que cela a été fait, les potions maladroites devraient se transformer en portions gelées. Alors, demandons à certains moutons de voir s'ils vont être gelés ou non à la fin. Voyons voir. Ici, nous avons presque fini, et ensuite nous aurons quelques potions. Allons-y. Nous avons donc une potion de gel et un autre mouvement de gel et une portion de gel persistante. Donc, tout fonctionne exactement comme on peut s'attendre à ce qu' un mouton soit à se tuer. C'est génial. Ouah, c'est vraiment drôle. Voyons voir. Et voilà. Et puis on voit qu'ils ne peuvent plus bouger. Je peux même les frapper et ils ne peuvent pas bouger parce que la partie gelée les gèle littéralement en place. Nous pouvons aussi essayer la même chose pour certains zombies, ce qui est vraiment amusant parce qu'ils ont essayé de vous poursuivre et ensuite, oh, eh bien, je veux dire, je crois que je suis en paix, alors voilà. Copions ceci et ensuite nous allons passer à la survie, puis je vais essayer de les obtenir. Et voilà. Donc, le petit zombie, comme vous pouvez le voir, qui a cessé de bouger. En fait, prenons des poses d' éclaboussures de portions plus gelées ici. Juste pour que vous puissiez le montrer à nouveau. Encore une fois, nous allons juste passer et je vais les geler. Congeler. Et congeler aussi. Oh non, je me suis gelé. Ce n'est pas bon. On peut voir cela, bien sûr, parfois aussi, mais c'est vraiment cool. Et oui, c'est en fait à quel point il est facile d' ajouter non seulement des portions personnalisées, mais aussi des recettes de portions personnalisées à mon métier. A toujours tous les trimestres, bien sûr, disponibles dans le référentiel GitHub ou un individu s'ajuste également. Mais ce sera le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile et que vous apprendrez quelque chose de nouveau si vous le faisiez, j'apprécierais beaucoup un commentaire de votre part. Sinon, je vous verrai lors de la prochaine conférence. 105. (Sujets supplémentaires): Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter une entité personnalisée ou une foule personnalisée au jeu. Ce sera le début d'une série de parties de cours, disons , où nous allons essentiellement ajouter plus de fonctionnalités à notre entité. Nous allons commencer par ajouter une entité normale au jeu plutôt que d'ajouter des animations. Ensuite, lors de la prochaine conférence, nous allons en faire une table. Nous allons ajouter une variance différente de cette entité particulière. Et puis, à la fin, nous allons également ajouter une entité qui sera accessible en écriture. Donc, toutes ces choses vont essentiellement nous attendre dans les prochaines conférences. Maintenant, ce que je vais dire, c'est que chaque entité que nous allons ajouter, nous allons ajouter deux entités et les deux vont utiliser les bibliothèques de l'API Gecko Lip. Même si ce n'est pas strictement nécessaire, cela suggère une foule normale sans animations supplémentaires. Je recommande toujours simplement utiliser la bibliothèque de glycolipides pour ajouter les entités. Parce que cela rend les choses beaucoup plus faciles à bien des égards. Fondamentalement, ça facilite les choses. Et donc, nous allons d'abord mettre en place la lèvre gecko. Pour cela. Nous allons essentiellement copier cet écrasement ici. C'est donc le lib, comme vous pouvez le voir sur GitHub guide d' installation du wiki gecko lib, comme vous pouvez le voir sur GitHub. En gros, je vais copier ça. Et puis nous allons revenir ici, aller dans notre fichier Dod Gradle intégré. Et ceci, le premier que nous avons copié allait aller dans les référentiels ici. Je vais juste l' ajouter juste là. Et puis l'autre, celui-ci, juste ici. Dans ce cas, je vais laisser cela devrait déjà être la dernière version ici, 3011 sur ce site. Je ne suis pas sûr que cela soit mis à jour à chaque fois qu'une nouvelle version sort, mais j'espère que cela va juste passer en dessous d'un Minecraft ici. Cela devrait donc être tout ce dont nous avons besoin. Et maintenant, nous pouvons charger les modifications Gradle. Et il va essentiellement télécharger la version des glycolipides et elle va l'implémenter afin que nous puissions utiliser le Gecko Lip EPI dans notre mod également. Et après cela, encore une fois, cela peut prendre une minute, cela peut prendre trente secondes. Cela dépend de nombreux facteurs. Fondamentalement, vous pouvez voir que c'était assez rapide année 21 secondes. C'est plutôt sympa. Alors, la question est, eh bien, d' où venons-nous nos entités ? Eh bien, pour nos entités, nous allons utiliser le banc de blocs. Block bench est un programme avec lequel vous pouvez créer des modèles génériques. Vous ne pouviez pas créer de modèles en bloc ni les modèles. Nous l'avons déjà vu, mais nous pouvons également créer des entités. Maintenant, ce qui est important, c'est que vous ayez les plugins de fichiers sous et que vous ayez les animations gecko lip Animations, Animation utils ici. Nous allons donc avoir besoin de ce plugin particulier. Sinon, ça ne fonctionnera pas. Assurez-vous donc de l' installer. Fondamentalement, allez à disponible, puis recherchez-le. Maintenant, je ne l'ai plus car il est déjà installé. Vous pouvez voir installer ceci et vous devriez avoir la possibilité d'ajouter le modèle animé à lèvres gecko ici. Maintenant, j'ai déjà des choses préparées, donc nous avons un raton laveur et un tigre. Nous allons d'abord utiliser les ratons laveurs. Je vais juste l'ouvrir et vous pouvez voir, voilà. Le raton laveur a déjà fait ici. Et bien, je veux dire, en gros, ce raton laveur est déjà animé, donc nous avons trois animations ici. Nous allons examiner les animations de la prochaine conférence un peu plus en détail pour le moment, ce que nous allons faire, c'est que nous allons juste exporter cela. Ce que nous allons faire, c'est une fois que nous aurons créé une entité personnalisée. Donc, pour utiliser le modèle de raton laveur réel dans notre projet et notre MOD, vous devez l'exporter. Nous allons donc aller dans File Export, puis Exporter le modèle de lèvre gecko. Si cela n'apparaît pas, vous pouvez cliquer sur Convert project et assurez-vous de choisir essentiellement le modèle animé de lèvres Kekule. Si ce n'est pas déjà le format actuel , l'exportation réelle doit apparaître ici. Nous pouvons ensuite l'utiliser et ensuite l'enregistrer sous le fichier JSON Raccoon GO dot. Je vais juste remplacer. Tout va bien se passer. Et maintenant, j'ai exporté le modèle en fait, et nous pouvons déjà l'utiliser dans notre jeu. J'ai aussi la texture, je l'ai vraiment séparée. Vous pouvez également, en théorie, enregistrer cela à partir du fichier de banc de blocs réel. Mais tout ira bien. Comme je l'ai dit, les animations que nous allons ignorer complètement pour le moment. Nous allons les utiliser lors de la prochaine conférence. Revenons à IntelliJ. Et ce que nous allons faire, c'est que nous allons immédiatement créer un nouveau dossier dans le cours MC dossier de ressources. Et ensuite, nous allons créer le dossier géo. Et ça va récupérer le fichier GeoJSON du raton laveur. Ils y vont. C'est essentiellement à quoi ça ressemble. Il y a peut-être une faute de frappe ici quelque part, ça va bien se passer. Je crois que peu importe ce qu' il est appelé dans ce dossier, en fait, ça n'a pas d'importance. Et puis nous aurons aussi besoin, nous allons également avoir besoin d'obtenir le fichier de texture. Bien sûr. Le fichier de texture va bien sûr aux textures. Et puis, au lieu de l' entité tracée ici, entité, puis le nom de l'entité. Dans notre cas, ce sera le et je vais ensuite copier la texture réelle ici. Vous y allez. Ce sera juste la texture du raton laveur. Je vais en gros pointer les choses dans un moment où nous mettons en œuvre l'entité pour l'instant, sont les principales choses dont nous avons vraiment besoin. Le fichier géographique ici, le GeoJSON et la texture. Ensuite, il pourrait également y avoir un dossier d'animations, qui contient essentiellement les animations que nous allons utiliser lors de la prochaine conférence. Maintenant, nous allons créer un nouveau paquet ici, entité. À l'intérieur de là. Nous allons créer une nouvelle classe Java. Le mode dans t. Les types d'entités de mode auront une finale statique publique, le troisième registre de type, le type d'entité, puis, une fois de plus, les crochets avec un point d' interrogation à l'intérieur d'eux. Il y aura les types de soulignement des entités seront égaux au troisième registre de création de points de registre, cette entité, les entités en fait il y a et ensuite MSC cours intelligent ce marché. Et qu'il s'agisse d'un registre différent, il existe bien sûr une méthode de registre public statique des vides. Ensuite, je passe Event Pass, ancien bus événementiel ici. Ensuite, nous allons appeler les types d'entités qui s'enregistrent qui passent dans le bus d'événements. Ensuite, nous allons immédiatement aller juste dessous des autres portions. Et on va dire plus de types d'entités, pas s'inscrire dans le bus de l'événement. Et ensuite, nous avons également enregistré cette classe. Maintenant, nous allons toujours avoir des objets de registre de nos différentes entités. Mais avant de continuer cela, nous allons créer la classe d' entité elle-même. Une fois de plus, dans le package d'entité, cliquez avec le bouton droit sur nouveau client du package. Encore une fois, je vais appeler ça le paquet personnalisé. Et puis, au lieu de créer une nouvelle classe Java, et ce sera l'entité du raton laveur. Maintenant, quand il s'agit de l'entité du raton laveur, ça va être très intéressant car il y a beaucoup de choses qui se passent. Je vais également copier beaucoup de choses. Tout cela est disponible pour vous dans le référentiel GitHub et pour un individu. Donc, pas de soucis du tout. Ce que nous allons faire, c'est que nous allons étendre cela par les animaux. Ainsi étend l'animal et implémente également l' interface animatable pour les yeux dans ce cas. Maintenant, nous allons simplement survoler ça, l'ajout de ces différentes méthodes ici. Et je vais survoler ce constructeur de grille correspondant super aussi. Et si ces noms vous dérangent, vous pouvez simplement cliquer dessus, Shift F6, puis il devrait suggérer quelque chose d'un peu plus agréable ici. Cela va rester nul, dans ce cas, la progéniture rouge. Donc, ce sera juste la mafia éligible pour obtenir des enfants. Nous n'en avons pas besoin pour le moment. Les contrôleurs sont destinés à l'animation ainsi qu'à la fabrique d'animation. Et nous allons ajouter immédiatement l'usine d'animation car il ne s'agit que d'une seule ligne. Comme vous pouvez le voir. Il n'y a qu'une usine d'animation privée. Usine d'animation. Et puis on ne fait que passer ça. Ensuite, il peut essentiellement le renvoyer ici. Les contrôleurs, nous n' allons rien rendre pour le moment. Tout d'abord, ce que nous allons faire c'est que nous allons jeter un coup d'œil aux autres choses dont nous avons besoin pour l'entité. Parce qu'il y a au moins un ensemble de méthodes dont nous aurons besoin, et c' est les attributs définis. C'est quelque chose d'extrêmement important. En fait. Si nous n'avons pas cela, cela ne fonctionnera pas. On va juste faire ce qu'ils vont. Nous ne faisons que définir quelques attributs de base ici. La santé maximale, les dégâts, la vitesse d'attaque de la vitesse de déplacement. Vous savez, bien sûr, vous pouvez jouer avec cela mais vous ne voudriez pas les changer de quelque façon que ce soit, si vous le souhaitez. Mais c'est très important que nous ayons cela parce que sinon l'entité réelle n' aura aucun attribut. Et bien sûr, ce n'est pas tout à fait ce que nous voulons ici. Nous voulions bien sûr avoir certains attributs. Il existe également d'autres méthodes que nous pouvons remplacer. Eh bien, séparons un peu ça. Ce sera donc tous les trucs d'animation. Ici, c'est tout pour des animations. Et il y a d'autres choses que je vais copier ici, mais ce ne sont que des sons que vous pouvez voir. Il y a, ouvrons tout ça. Vous y allez. Il y a donc un son de pas. Je viens de choisir quelques sons ici. Il y a des sons droits de chat tout aussi ambiants. Le mal des dauphins est quand il est blessé, souvent sourd. Pourquoi pas ? Pour le moment, je n' ai pas de sons de raton laveur, mais bien sûr, ils ne devraient pas avoir d'importance. Mais ce sont essentiellement les sons que vous pouvez définir. Et oui, bien sûr, vous pouvez aussi dire sons de mod, puis utiliser l'un de vos sons de mode également. Vous pouvez bien sûr ajouter sons personnalisés ou vos entités également. C'est plutôt cool. Toutes choses prises en compte. Je veux dire, ça conclut à peu près tout ça. La dernière chose que nous voulons également, c'est que nous voulons la méthode des objectifs de registre, et c'est une méthode que nous pouvons également remplacer. Maintenant, je pense que nous allons avoir deux choses, exactement deux choses qui seront commentées en ce moment. Parce que c'est pour quand on va faire ce T-Mobile. Pour le moment, nous n'allons pas faire la table du raton laveur car je veux passer par étape par étape, les objectifs. Il s'agit essentiellement de l' IA de cette entité. C'est très, cela peut être un sujet très complexe. Il y a donc beaucoup d' objectifs différents que nous pouvons ajouter. Ce que nous pouvons faire, par exemple, c'est que nous pouvons cliquer sur le bouton central de la souris sur un objectif et vous pouvez voir que cela étend la classe de buts. Si je clique maintenant dessus et que j'appuie sur Control H, ce sont tous les objectifs et maintenant je peux les développer. Et vous pouvez voir qu'il y a beaucoup d'objectifs différents. Vous pouvez voir. Et bien sûr, en théorie, vous pouvez même écrire vos propres objectifs. Il y a donc beaucoup de choses ici. Et encore une fois, c' est l'une de ces choses où vous allez devoir jouer un peu avec ça. Regardez les entités vanille et voyez comment elles utilisent les objectifs. L'idée générale est que plus la priorité est basse, comme plus le numéro de priorité est bas, plus elle est élevée dans la liste. L'une serait la priorité la plus élevée et six est la priorité la plus basse. Mais s'il doit choisir entre un ou deux objectifs, il se penche essentiellement sur les priorités. C'est donc l'idée générale ici. Veillez donc à ce que cela soit toujours correctement configuré. Et puis, comme je l'ai dit, vous pouvez simplement aller à l' animal, par exemple, au milieu le plus punk cliquez sur cette presse Control H. Vous pouvez voir tous les animaux. Mais par exemple, nous pourrions jeter un coup d'œil au renard ici. Et vous pouvez voir qu'il y a beaucoup de choses différentes ici qui ne nous intéressent pas vraiment pour le moment. Nous voulons simplement voir les objectifs réels. Vous pouvez voir que nous ne sommes que ses objectifs, mais vous pouvez déjà voir qu'il y a pas mal de buts différents ici. Ce but cible de lampe, il y a un but cible aux œufs de tortue, il y a un but cible de poisson. Nous avons des sélecteurs de buts où nous ajoutons ici certains objectifs, la panicule, le but de la race, évitez les objectifs de l'entité. Il s'agit donc d'un objectif qui évite une certaine entité à une distance spécifique. Il y a donc tellement de choses que vous pouvez faire. Maintenant. Vous pouvez également voir que la plupart d'entre eux sont spécifiques au renard au lieu de la classe renard, par exemple, l'objectif de sommeil pour le bouton du milieu de la souris. Cliquez dessus. Vous verrez que l'objectif de sommeil est en fait dans l'objectif du comportement du renard et qu'il est en fait à l'intérieur de la classe Box. Parfois, certains de ces objectifs se trouvent en fait à l'intérieur de leurs entités respectives. Et c'est aussi pourquoi, par exemple, le renard, a environ 1600 lignes de code. Il y a beaucoup de choses ici. Je veux dire, je dirais probablement la chose la plus compliquée en termes d'entités personnalisées pour la vie en général, c'est juste ce que c'est. recommande vivement. Vous devez parcourir certaines entités vanillées et simplement jouer avec elle et voir ce que vous pouvez voir, comme je l'ai dit, le bouton central de la souris clique sur ce contrôle chaque année sur l'objectif, et alors vous devriez être en mesure de voir tous les objectifs disponibles. Et puis, dans le pire des cas, vous pouvez également copier certains d'entre eux si vous en avez nécessairement besoin. Ensuite, la classe d'entité de rappel est effectuée ici. Enregistrons-nous ensuite dans la classe more entities. En fait, je vais également copier cela. Comme toujours, tout ce qui vous est disponible dans le référentiel GitHub individuel aussi. Maintenant, cette erreur survient car elle doit être protégée. Nous allons donc rendre cette information publique ici même. Et puis la flèche devrait disparaître. Donc, pas de soucis là-bas. Et vous pouvez voir qu'il existe un objet de registre de type entité. Ensuite, nous allons mettre la classe que nous venons de faire ici, le raton laveur enregistré sous le nom de raton laveur. Et puis on va dire que le constructeur de type d'entité de l'entité d'enregistrement connaissait. Il s'agit d'une créature dans ce cas, cette taille correspond en fait la taille de la boîte de tas de cette entité. Et le magnétisme le construit sous l'emplacement de la ressource ou plus d'ID sous, encore une fois, l'espace de noms du raton laveur. Et c'est à peu près l'enregistrement se fait ici. Et maintenant, nous avons encore besoin de bien, je veux dire, ajouter cela à quelques endroits différents. Le premier endroit où nous voulons ajouter cela est en fait dans nos événements et ce sera dans les événements de bus de l'événement mod. Fait intéressant, car ici même, nous voulons ajouter un nouvel événement comme vide statique public. Et c'est l'entité. Attribute event, je vais juste appeler ça et ensuite on va dire attribut d'entité. Il s'agit de l' événement de création, de citation. Quand on va le faire, on va juste appeler l'onglet Event put, mod entités types ce raton laveur, ce GET. Ensuite, l'entité raton laveur, définit l'attribut entité. Et ensuite, nous allons simplement ajouter l'événement Ajouter un abonnement ici. Il est très important que nous ajoutions cela. Et maintenant, cela va essentiellement ajouter les attributs que nous avons définis ici à chaque raton laveur existant dans notre monde. C'est ça l'idée. Là. Il y a cependant quelques autres choses pour le raton laveur, pour l'entité en général. Pour l'entité, nous aurons également besoin d'un moteur de rendu et d'un modèle. Donc, dans le package d'entité s'exécute à nouveau, cliquez avec le bouton droit sur le nouveau package et nous allons appeler cela le client en fait, à cause du rendu et du modèle pour les deux ne sont clients que si je ne me trompe pas, On va dire raton laveur. Ce sera le moteur de rendu. Ensuite, nous allons aussi faire l'autre. Ce sera le raton laveur. Ce sera le modèle. Vous y allez. Ne vous inquiétez pas du tout. Le, lequel est le plus facile ? Le modèle va être un peu plus facile. Mais cela va étendre l'entité d' enregistrement Geo Model of type animée que vous allez. Ensuite, nous allons survoler ceci, Implémenter les méthodes. Nous devons donc mettre en œuvre ces trois méthodes. Maintenant, c'est plutôt simple. Je vais copier la seule chose ici. Donc, ça va juste suivre un nouvel emplacement de ressources. Et cela montre exactement le GEO puis le raton laveur de l'AOTA Jason, c'est exactement ce fichier traceur ici, que nous avons essentiellement. Et ensuite, nous allons aussi juste copier ça. En fait, je ne suis pas sûr à 100% de ce qui va se passer si je n' ai pas ce dossier, je n'en suis pas tout à fait sûr. Et pour la texture, nous avons ceci ici. Donc les textures, le raton laveur d'entité, puis le raton laveur, un PNG. Maintenant, je ne suis pas sûr pour cent parce que je n'ai pas encore essayé ça sans le fichier d'animation. Mais je pense que tout va bien se passer. Nous allons voir si nous sommes écrasés, puis vous allez régler ça dans un moment sans soucis. Mais il s'agit du fichier de modèle réel et nous avons également besoin du rendu. Bien sûr, le moteur de rendu, dans ce cas, devrait être un peu plus facile. Cela va donc étendre le rendu de l'entité GU, l'entité raton laveur. Une fois de plus, notez aucun modèle d'enregistrement mais une entité de raton laveur, mais il suffit de survoler cela. Et si nous construisons notre correspondance, ce que nous devons faire ici, c'est que nous devons nous débarrasser de ce fournisseur de modèles et ensuite simplement créer un nouveau modèle de raton laveur ici. Je vais aussi faire démarrer ça ou rayon 0.3. Je pense que ça va bien se passer. Et puis ce sera génial de le faire, c'est que je partirai. Nous voulions simplement remplacer méthode de type de rendu ici. Donc, cela augmente également. Et ensuite, ce que nous voulons faire, c'est obtenir l'emplacement de la texture. Ensuite, nous allons choisir le même emplacement de texture. Ici. Nous allons juste aller aussi fournir, et cela devrait être à peu près tout ce que nous devons faire. Donc, le modèle et le moteur de rendu sont assez simples. Toutes choses prises en compte. Il n'y a pas beaucoup de choses ici. Comme vous pouvez le voir dans les modèles à la vanille. Il y a en fait beaucoup plus là-dedans car, bien sûr, les modèles vanille sont tous enregistrés dans la classe plutôt que dans cette géométrie, Jason. Donc, c'est vraiment cool. Ensuite, nous devons simplement ajouter le moteur de rendu correctement. Alors, comment allons-nous faire une cuve ? Nous allons le faire en allant à notre cours de douves de MC. Et puis à l'intérieur de la configuration du client, très important. On va dire que l'entité nous rend, nous rend celle-ci ici. Mode Registre, types d'entités. On va dire que le raton laveur n'y arrive pas. Ceci est égal au deux-points raton laveur, deux-points de rendu, deux-points nouveaux. Et ça devrait être ça. C'est à peu près ce que nous devons faire sur ce front également. Maintenant, nous allons également devoir ajouter un nouvel article. Et ce sera , bien sûr, l'œuf de frai, le sperme et l'ovule. Je vais en fait copier celle-ci une fois comme toujours, bien sûr, le code réel est à votre disposition. Ce n'est pas trop fou. Vous pouvez voir ce goulot d'étranglement froid pour raton laveur. Il s'agit d'un article de type pour un objet hispanique en fait. Et ce sont les couleurs que possède le Royaume-Uni. Et c'est à peu près tout ce que vous devez faire là-bas. Ensuite. Bien sûr, comme il s'agit en fait d'un élément normal, nous voulons également ajouter la traduction ici, le dossier lang dans le fichier Underscore est JSON. Alors ajoutons ça ici aussi. Il y a les ratons laveurs, par exemple. Et nous avons également besoin d'un fichier de modèle d'article. Je sais que c'est assez fou, mais c'est vrai. Ou ce n'est pas trop fou non plus. Nous pouvons donc voir qu'il s'agit l'œuf de frai du modèle d'article parent. Cela va donc être coloré avec ces deux couleurs ici. C'est donc tout ce qu' il y a à faire. Ensuite, l'article devrait également fonctionner parfaitement. Et bien, si je ne me trompe pas, je crois que j' aurais dû trouver tout ce dont j'avais besoin. Je devais ajouter ici. Si ce n'est pas le cas, nous allons certainement voir que ça ne fonctionne pas, mais ça va aller. Et nous allons également voir ce que vous pouvez faire avec une flèche. Mais pour le moment, je pense que c' est tout ce dont nous avons besoin. Voyons donc les œuvres ou ce que nous trouvons dans Minecraft. Et comme vous pouvez le constater, le Raccoon AG a été ajouté avec succès au jeu. Et maintenant, voyons si je clique avec le bouton droit de la souris si le raton laveur apparaît. Et c'est là. Dans toute sa splendeur, il se déplace. Maintenant, bien sûr, comme nous l'avons dit, il n'y a pas d'animations particulières intéressantes pour le moment. Et je crois en fait que la boîte de sélection réelle, si j'appuie sur F3, soit un peu trop petite. Nous pourrons donc y ajouter un peu plus de cadre de sélection. Pour le moment, c' est vraiment cool et oui, c' est nécessaire à quel point c'est facile maintenant. Oh, il va en fait couler à cause de la plaie flottante au cobalt. C'est plutôt drôle, mais oui, c' est à peu près combien il est plus facile d'ajouter une foule à Microsoft. Juste par souci d'argumentation, nous allons juste agrandir ça un peu. Disons que quelque chose comme 0,8 et que la hauteur a peut-être atteint six. Ça va bien se passer. Je pense que tout ira bien avec nous. Et c'est en fait tout ce dont vous avez besoin. Donc, pour résumer encore une fois, nous allons avoir besoin de la classe d'entités de raton laveur personnalisé. Bien sûr, c'est très important. La véritable usine ici, vous n'avez pas encore besoin, mais nous l'avons déjà ajouté parce que pourquoi pas ? C'est juste logique dans ce cas. Et ensuite, les objectifs et les attributs étaient très importants ici. Et puis l'autre truc, c'est Ritchie. Pas nécessairement, ce n'est pas nécessaire. C'est juste agréable d'avoir et d'aller en mer. Ensuite, nous devions l'ajouter et nous l'enregistrer correctement dans la classe des types d'entités mode ici. Pour cela, nous avions besoin d'un moteur de rendu et d'un fichier de modèle, le fichier de modèle pointe vers le fichier de modèle. Cela indique donc le GeoJSON ainsi que le extra réel et les animations. Et puis la baisse du loyer indique également la texture. Il détermine également la taille réelle de l'ombre et crée un nouveau modèle. C'est l'idée générale de la façon dont ils travaillent ensemble. Nous devions également lui attribuer les attributs. C'est incroyablement important parce que si vous ne faites pas cela, alors je crois que le jeu se bloque quand vous ne faites pas cela et vous essayez de créer les entités réelles, c'est vraiment important. Ensuite, nous avons également ajouté l'ECG de frai ici. Ensuite, dans notre mode de cours MC, ici même, nous avons enregistré le moteur de rendu. Et c'est tout ce que nous devions faire. Le fichier géographique, bien sûr, et la texture réelle ici sont également très importants. Mais à part cela, c'est à peu près tout ce dont vous avez besoin pour une foule personnalisée très simple. C'est toujours fini avec la lèvre gecko, comme je l'ai dit. Et puis la prochaine conférence, nous allons immédiatement jeter un coup d' œil aux animations très sympas qui sont là, qui sont essentiellement à notre disposition. Parce que c'est quelque chose de vraiment puissant et assez simple à utiliser. Certainement comparé aux animations vanille, parce que ce sont là, vous ne voulez pas les utiliser essentiellement. Quoi qu'il en soit, c'est déjà le cas pour cette conférence ici, j'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Je vous verrai lors de la prochaine conférence. 106. (Sujets supplémentaires): Bon, bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter quelques animations à notre entité personnalisée que nous avons ajoutées à la dernière conférence. Et pour cela, nous allons d'abord nous pencher sur ce que nous allons ouvrir une fois de plus. Maintenant, ce raton laveur et le fichier de modèle de pincement de bloc réel devraient vous être fournis, bien qu'il soit téléchargeable à partir de la dernière conférence ou dans cette conférence, nous devrions certainement être téléchargeables. Et le, on va essentiellement l' ouvrir et ensuite aller au robinet animé ici. Maintenant, nous devrions déjà avoir les trois animations ici. Et je vais rapidement montrer l'idée générale d'une animation. Juste par souci d'argumentation, nous allons juste en faire un nouveau. Nous allons donc cliquer sur le petit bouton Plus. Ensuite, vous pouvez faire une nouvelle animation ici, vous pouvez voir ceci. Maintenant. C'est généralement vous voulez appeler cette animation des ratons laveurs sombres. Il s'agit donc du nom de l'article. Et puis quelles que soient les animations, nous allons appeler ce test par souci d'argumentation. Et ensuite, vous pouvez savoir ce que vous pouvez faire de cette boucle. Vous pouvez, comme vous le voyez, faire beaucoup d'autres choses ici. Nous allons juste confirmer, est-ce que je vais aller bien avec nous ? Maintenant, pour cette animation ? Une fois que vous pouvez le faire, c'est que vous avez une chronologie en bas ici. Et je peux, il sélectionne certaines parties du corps. Par exemple, je peux sélectionner le corps et tout d'un coup, vous pouvez voir ici, j'ai la possibilité d'ajouter des images-clés. Si vous avez déjà édité une vidéo, cela ressemble beaucoup à cela. Par exemple, je pourrais dire, d'accord, je veux définir la position, donc je vais cliquer sur le plus ici. Ensuite, vous pouvez voir qu'à cette position à l'heure du code 0, j'ai maintenant une image-clé pour cette partie en particulier. Donc, ce corps ne sera pas une image-clé ici. Donc, si je déplace ensuite l' heure, disons, disons 0,52 images où que ce soit. Cliquez à nouveau sur ce Plus. Vous pouvez le voir maintenant au moment de 0,52, maintenant j'ai une deuxième image-clé. Et si j'ai fait, par exemple, que je devais changer, je peux le changer ici dans cette position. Je pourrais donc, par exemple, dire que sur le corps réel pour monter deux, je peux le faire ou je peux aussi faire à l'intérieur de la chose réelle. Et vous pouvez voir que sur la gauche, la position réelle change également. Et c'était vraiment cool s' il y a des méthodes d'assouplissement. Vous pouvez donc voir qu' ils représentent essentiellement comment cela se passe. Parce que si je mets cette diapositive en arrière et que je mets ce bouton de lecture, vous pouvez voir cela monter. C'est très rapide. Alors peut-être que tu vas être comme, tu sais quoi, arrêtons ça et passons ça comme ça va être un peu plus lent. Et alors, vous pouvez voir ça, n'est-ce pas ? Vous pouvez donc le voir monter. Et puis il se réinitialise, bien sûr, car il s'agit d'une animation en boucle dans ce cas. Fondamentalement, réinitialise ici avec les choses faciles que vous pouvez. Il y a certaines choses. Vous pouvez faire des pas. Vous pouvez faire une sorte d' assouplissement comme celui-ci où il va lentement , puis il va plus vite. Vous pouvez même le faire comme ça lorsque c'est très rapide au début, puis ralentit ou se relâche. Vous pouvez voir qu'il y a beaucoup de types différents. C'est même comme une sorte de ressemblant à un peu de hasard, quelque sorte de rebondissement de haut en bas, ce qui est vraiment cool. Il y a donc beaucoup de choses que vous pourriez faire ici. Il y a aussi des choses vraiment sympas que vous pouvez ajouter ici. Maintenant, je ne sais pas à 100% comment vous pouvez tous accéder aux commandes réelles. Mais si, par exemple, je vais dans le cadre inactif ici, j'ai cliqué sur ce mode d'inactivité. Maintenant, je suis dans l'animation inactive et je clique sur la queue réelle, et je clique sur la rotation. Vous pouvez voir que j' ai un péché mathématique. Ce n'est donc que la courbe sinusoïdale. Fondamentalement ici où u point n m time est juste le code temporel que nous sommes en train de multiplier cela par 150, puis de multiplier le résultat par 225. Et cela se traduit essentiellement le fait que la queue va essentiellement tourner autour de manière très prévisible, disons, manière très prévisible, disons parce que la courbe sinusoïdale va bien sûr comme ceci, n'est-ce pas ? Ce n'est donc qu'une question de mathématiques générales. C'est vraiment cool. Je crois que sur le site Web, ils ont en fait la somme des méthodes disponibles ici, essentiellement à voir. Mais c'est vraiment cool. Et quel que soit le cas, revenons à l' animation de nos tests avec notre corps ici. Nous pouvons donc voir maintenant notre corps, il se déplace de haut en bas. Et c'est plutôt cool. Maintenant, bien sûr, lorsque vous ajoutez des animations, cela les rend vraiment belles et vraiment belles. Tout ça. Beaucoup de temps, ça va prendre temps, tu sais. Donc, il va falloir essayer un tas de choses. Vous voyez ça ? J'espère que ça va marcher et que ça ira bien. Mais faites aussi une animation à pied. Vous pouvez donc voir ici que c' est l'animation de marche. Ensuite, nous avons également une animation assise, mais cela ne fait rien. C'est juste que tout le corps s'incline un peu. Et en gros, le raton laveur est assis ici, puis la nation insulaire, nous l'avons déjà vu, mais essentiellement la tête et le corps montent et descendent, très légèrement. Vous pouvez le voir. Il s'agit d'un très léger mouvement de haut en bas. Et puis la queue se tortillait un peu d'avant en arrière juste pour qu'elle ait un peu de mouvement. Vous pouvez donc le voir. Même ce petit mouvement inactif suffit à donner une très belle illusion de ce fait réellement vivant. Ainsi, comme vous pouvez le constater, cela n'implique pas vraiment autant de réglages dont vous avez besoin. Des choses très, très difficiles ou quelque chose comme l'animation marcheuse, les animations de course, surtout pour les quadrupèdes. Donc, pour les animaux à quatre pattes, c'est incroyablement dur, j'ai trouvé quelques ressources. Si cela vous intéresse vraiment, je les relierai également dans les ressources. Ils sont incroyablement cool. Il y a donc essentiellement un regard anatomique sur la façon dont, comment, comment les animaux quadrupedes marchent et comment cela se fait essentiellement dans l'animation. Donc, les animaux à quatre pattes sont un, bien quelque chose dans l'animation qui est très difficile. Ce sera donc tout à fait quelque chose. Mais parce que c'est Minecraft, vous travaillez avec un peu de bloc qu'il animal. Vous avez probablement un peu plus de marge de manœuvre ici, quel que soit le cas, si cela vous intéresse vraiment, je vous recommande vivement de les vérifier également, si c'est quelque chose qui pourrait vous intéresser. Mais quel que soit le cas, nous en avons fini avec les animations générales de la volonté. Je vais encore supprimer le test ici. Et le reste va bien se passer. Ce que je vais faire, c'est que une fois cela fait, je peux soit cliquer sur Control S pour enregistrer cela, soit je peux aussi aller, je crois à l'animation ici. Et puis je peux dire exporter des animations. Et je pense que cela devrait déjà le faire. Ou nous pouvons enregistrer toutes les animations. Nous sauvegarderons ça sous un raton laveur écrit correctement, pas une animation adjacente et nous allons simplement remplacer ça. C'est très bien. Revenons ensuite à l'intelligence. Dans notre cours sur les actifs MC, nous allons créer un nouveau répertoire appelé animations. S'agit-il d'animations ? Oui, il s'agit d'animations. Et ce que je vais faire, c'est que je vais aussi copier l' animation réelle. Donc, l'idée générale est que ce sera les animations du raton laveur correctement orthographiées. Vous y allez. Il s'agit donc essentiellement de toutes les données qui y sont nécessaires. Nous n'avons pas besoin d'aller là-dedans. C'est très bien. Maintenant, ce qui est important, c'est que nous devons bien sûr spécifier ces animations dans l'enregistrement réel d'une entité. Ouverture de l'entité raton laveur. Ce que nous allons faire, c'est d' ajouter avant tout le contrôleur ainsi que les méthodes de prédicat. Je vais donc copier la méthode GET du produit. Cela va être expliqué dans un instant. Comme vous pouvez le constater, nous n' avons pas encore la séance, donc nous allons simplement supprimer cela pour le moment. Et dans le contrôleur va regarder comme suit. Nous allons donc juste avoir des points de données Add Animation Controller avec un nouveau contrôleur d'animation, un contrôleur de code. Et ensuite, nous passons ici cette méthode de prédicat. C'est presque tout ce qu'il y a à faire. Et puis s'assurer que tout est écrit correctement. Ces noms ici correspondent à la moitié des noms qui se trouvent à l' intérieur de l'animation. Ici, c'est l'animation. Vous pouvez voir cela réellement écrit, n'est-ce pas ? Incorrectement. Je ne sais pas pourquoi, mais voilà. On va juste changer ça rapidement. Vous y allez. Et puis c'est 100% correct parce que le raton laveur est écrit comme ça et ici aussi, donc tout devrait bien fonctionner. Il peut voir que l'animation de marche est refroidie lorsque le point de l'événement se déplace. Je le recommande vivement. Jetez un coup d'œil à l'événement d'animation pour trouver des éléments particuliers. Vous pouvez, par exemple, voir qu'il y a des choses ici que vous pouvez y jeter un coup d'œil, même des données supplémentaires. C'est donc aussi très intéressant. Mais dans l'ensemble, le mouvement est probablement celui qui est le plus important ici. Et puis certains des autres trucs que vous aurez à jouer avec ça aussi. Je recommande donc fortement d'être ouvert à expérimentation et d'essayer beaucoup de choses. C'est la meilleure chose que je puisse, c'est sûrement que c'est une idée très intelligente. Maintenant, vous pourriez dire, eh bien, je veux dire, de quoi d'autre avons-nous besoin ? C'est en fait tout ce dont nous avons besoin parce que nous avons déjà configuré l'animation au milieu. Donc, ici, nous l'avons déjà mis en place. Les animations recrutent des données d'animation Jason, car ce Jason est déjà là. Et maintenant, nous avons essentiellement comme prédicat, c'est le genre de cerveau des animations. Cela détermine essentiellement quelle animation est en cours de lecture. Et bien, je veux dire, c'est à peu près tout ce dont nous avons besoin pour cela. Comme je l'ai dit, si vous avez des idées vraiment cool, des animations vraiment folles, tout se résume à utiliser le banc de blocs, essayer beaucoup de choses là-bas. Comme je l'ai dit, j'ai également beaucoup de ressources sur l'animation. J'espère donc que cela vous aidera. Mais pour le moment, je suppose, voyons si ça marche. Nous nous retrouvons à Minecraft. Voyons voir, faisons apparaître quelques ratons laveurs et voyons, voilà. Cela fonctionne déjà très bien. Et même l'animation de marche, Jetons un coup d'œil à celle-ci. Quand il commence à marcher, voyons voir. Eh bien, il est parfois difficile de voir quand on s'en va. Mais je crois que cela fonctionne car leurs jambes bougent pendant la marche, oui. Parfois, la vitesse de déplacement et l'animation ne correspondent pas entièrement. C'est bien sûr quelque chose que vous n'avez qu'à modifier et qui changera jusqu'à ce que cela fonctionne. Mais vous pouvez voir que l' animation inactive fonctionne parfaitement bien. Et puis l' animation marcheuse fonctionne également. Tout fonctionne très bien ici. Une nouvelle portion d'azote ici. Par souci d'argumentation. Vous y allez. Je veux dire, c'est vraiment cool. Et c'est en fait à quel point il peut être facile d'ajouter des animations anciennes, je veux dire, basiques avec des lèvres gecko à vos entités Minecraft, n'est-ce pas ? Mais ce sera déjà le cas pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelques nouveautés. Et je vous verrai lors de la prochaine conférence. Donc, oui. 107. (Sujets supplémentaires): Bon, bienvenue au cours de forge pour 118. Et dans cette conférence, nous allons ajouter une variance client à notre entité de raton laveur déjà existante. Quelle est notre variance ? Eh bien, vous savez peut-être, par exemple, que les chevaux peuvent avoir des couleurs différentes ou en général, des extras de couleurs différentes. Et cela se fait par variance. Maintenant, nous allons ajouter deux de ces variantes à notre raton laveur. Et la façon dont cela fonctionne, c'est nous avons simplement une texture différente. Je vais juste les copier. Vous y allez. Nous avons un raton laveur foncé et un raton laveur rouge. Ce sont les trois variantes différentes que nous avons. Raton laveur, raton laveur foncé et un disque rouge. Et comment allons-nous maintenant mettre en œuvre cela ? En fait, c'est assez simple, tout est considéré. C'est donc quelque chose que vous allez devoir faire, si vous voulez que tous vos animaux aient des variantes différentes sur toutes vos entités pour avoir une variance différente, alors vous êtes Nous allons avoir besoin d'une énumération de variante, et ensuite nous allons choisir en fonction de cette énumération, un emplacement de ressource différent. Dans notre package d'entités, nous allons cliquer avec le bouton droit sur un nouveau package appelé variant. Ensuite, à l'intérieur de là, je vais mettre dedans, ce sera la variante du raton laveur. Cela va être changé en énumération. Et puis je vais en fait copier cela parce que le contenu réel devrait toujours être le même. La seule chose qui devrait changer ici, ce sont essentiellement vos valeurs énumérées. C'est l'idée générale. Lorsque vous avez une autre variante, il vous suffit de renommer cela, puis de renommer toutes les choses ici, n'est-ce pas ? Donc, si cela devait être appelé, je veux dire, maintenant cela changerait aussi le nom, mais quel que soit le cas, alors il suffit de changer le nom partout et alors tout irait bien. Toute cette méthode statique dont nous aurons besoin, nous aurons besoin de ce dernier flux d'erreurs. Tout cela va être nécessaire. La seule chose qui fait essentiellement partie de la coutume ici est que le nom de ceci et ensuite aussi le nom de votre variance individuelle. Où utilisons-nous cela ou par où commencerons-nous à l'utiliser ? Eh bien, nous allons l'utiliser dans le moteur de rendu du raton laveur. Et la façon dont nous allons le faire est une fois de plus, je vais le copier, mais tout le code est bien sûr disponible dans le référentiel GitHub et individuel tout aussi. Et c'est en fait, ça peut paraître un peu compliqué, mais c'est plutôt simple. Donc, pour l'instant, nous allons simplement importer cela. Vous y allez. Ensuite, nous aurons une carte. Vous pouvez voir qu'il s'agit d'une carte d' emplacement par variante. Il s'agit simplement d'une carte qui mappe une variante d'enregistrement spécifique à un emplacement de ressources. C'est tout ce qu'il fait. Bien que nous disons, hé, si nous avons la variante par défaut du raton laveur, alors c'est la texture que vous voulez pointer. Si nous avons une variante sombre, nous voulions pointer vers cette texture. Et si nous avons la variante rouge , nous allons aller vers cette texture. Cela semble un peu plus compliqué, mais quand on y pense, c' est vraiment tout ce qu'il fait. Et si vous avez plusieurs entrées, si vous avez d'autres entrées ici, vous savez, il vous suffit d'ajouter d'autres entrées ici. Bien sûr, nous allons voir un avertissement ici parce que nous avons déjà ajouté cette clé, dans ce cas ici. Mais oui, c'est tout ce que vous devez vraiment faire. Donc, si vous en avez plus, ajoutez-en plus. Même chose ici. Si vous en avez plus, il vous suffit d'en ajouter davantage, vous assurant d' augmenter les idées ici, c'est également très important. Eh bien, au lieu de simplement faire ça, ce que nous allons faire, c'est que nous allons juste dire, Ok, euh, eh bien, nous voulons juste retourner l'emplacement bivariant dot get, et ensuite nous avons l' entité raton laveur disponible. ici. Mais bien, l' entité d'enregistrement en ce moment, elle n'a pas encore de variante, n'est-ce pas ? Ce n'est pas du tout un problème. Parce qu'en ce moment, nous allons essentiellement ajouter ces variantes. Nous allons donc juste garder cette flèche ici pour le moment. Non, je ne suis pas inquiet fondamentalement. Ensuite, nous allons ajouter tout ce dont nous avons besoin pour la variance. Donc encore une fois, il y aura beaucoup de copies parce qu'une fois de plus, beaucoup de ce code sera toujours le même. Ce sera presque toujours la même chose. Il va ressembler à ça. Ça va être très similaire. Seuls les détails doivent être modifiés, mais je ferai de mon mieux pour expliquer tout ce dont j'ai besoin. Tout d'abord, nous allons avoir besoin d' un accès aux données d'entité. Il s'agit donc du type d'ID de données de la variante. Il s'agit essentiellement d'une synchronisation des données d'entité. Il s'agit donc de type entier. C'est l'idée générale. Donc, d'habitude, j'aime placer cela au premier rang de la classe, car c'est juste un peu plus lisible même si cela fait également partie de la variance. Je veux garder cela au sommet de la classe et le reste va passer en dessous de ces commentaires de variance ici. D'accord, quelles sont les choses dont nous allons avoir besoin ? La première chose dont nous allons avoir besoin, c'est que nous aurons besoin d'une méthode de variante définie. Vous y trouverez donc une variante d'enregistrement. Ensuite, nous pouvons définir les données d'entité de type type type ID de données de date, qui sont exactement ces données synchronisées que nous avons créées ici. Et ensuite, on va le régler sur la carte d'identité. Et puis, en utilisant une opération ici, nous n'avons pas besoin d' entrer dans les détails. C'est à peu près ce que fait le cheval. Donc, la plupart de ces éléments proviennent également du cheval. Si nous basculons touche Maj deux fois et que nous allons aller au, je crois que c'est le cheval abstrait qui a cela, mais je ne suis pas sûr à 100%. Je crois que c'est le cheval absolu. Il y a la pièce d'identité. Eh bien, jetons un coup d' œil au cheval qu' il s'agit peut-être du type d'identification des données du cheval. Nous pouvons voir que cela ressemble beaucoup. Et puis, si nous avons le bouton central de la souris, cliquez dessus. Vous pouvez voir, par exemple, ici, définir la variante que nous définissons simplement la variante, puis définissez ici la variante et les marquages. Vous pouvez donc voir qu'ici, il fait aussi quelques choses intéressantes avec un peu de changement. Ne nous inquiétons pas trop. Disons qu'on va juste avoir besoin de ça. Et si on a ça à la morgue, ça ira très bien. Si nous avons un ensemble de variantes, nous voulons bien sûr également une variante get, mais nous voulions deux variantes différentes que nous voulions. L'un où nous obtenons la variante du raton laveur et l'autre où nous en sortons l' entier. Et c'est à peu près aussi ce dont nous allons avoir besoin ou de celui-ci ici. Donc, nous pouvons simplement dire maintenant instance dot get variant. Et puis celle-ci n'a plus de flèches. Et maintenant, nous devons faire de même dans le modèle. Ce que je peux faire, c'est que je peux simplement copier ça ici. Et on va juste dire ici que ce sera le rendu du raton laveur, et ensuite on va juste ajouter ça. Je devrais avoir le point là-dedans. Vous y allez. Et c'est ce qu'on appelle plutôt objet. C'est tout à fait très bien. Ensuite, nous en avons fini avec la variance réelle du moteur de rendu et du modèle. Ce sont les deux seuls endroits où vous devez changer cela. Sinon, le reste va se produire dans la classe d'entités. De quoi avons-nous besoin d'autre pour l'entité ? Eh bien, une fois que le monde aura sauvé, bien sûr, nous devons encore sauver cela. Nous allons donc avoir besoin de données NVT. Tout cela va donc être enregistré ici, lire des données sauvegardées supplémentaires, puis ajouter des données sauvegardées supplémentaires ici. Ces deux-là sont donc très importants. Et puis dernier point mais non le moindre , je crois être la définition des données de synchronisation. C'est extrêmement important car cela sera toujours nécessaire si vous avez n'importe quel type d'entité, d'accès aux données, d'une barbe, du type d'ID de données, ou bien qu'il en soit, supposons que nous allons voir une séance aussi. Ainsi, un accessoire de données assis de type Boolean. C'est également ce que nous allons devoir ajouter dans cette méthode de synchronisation des données de définition est très importante. C'est définitivement ce dont nous allons avoir besoin. Enfin, la dernière chose dont nous avons besoin est la méthode finalisée du spawn. Et c'est très intéressant. Maintenant, la raison pour laquelle nous en avons besoin est parce que cela s'appelle essentiellement lorsque nous utilisons le, eh bien, je veux dire, quand cette entité est née et que cela finalise le sport. Donc, on va littéralement dire, Hé, donne-moi juste une valeur aléatoire de cette variante de raton laveur. Et ensuite, on va régler exactement cette variance. C'est tout ce que nous faisons ici. Et avec cela, la variante est essentiellement complète. Et vous pouvez voir que dans l'ensemble, c'est à peu près ceci, ces méthodes, elles seront presque toujours les mêmes. Si vous avez un autre nom enum, le nom change ici. En dehors de ça, c' est probablement à peu près toujours la même chose. Il devrait toujours être là. Cela devrait toujours être le même. Dans l'ensemble, c'est à peu près tout ça. Il y a Twitter. Ce n'est pas si compliqué que ça. Il vous suffit de savoir exactement où vous devez effectuer ces modifications, bien sûr, dans le rendu et dans le modèle réel. Juste ces deux changements, il suffit d'ajouter la carte dans le moteur de rendu. Donc cette carte ici, mais dans l'ensemble, je pense que cela devrait être assez explicite, toutes choses considérées, rien ici n'est deux, je dirais hors des limites de la plupart de tout cela. Cela devrait donc être assez simple. Et maintenant, je suppose, eh bien, je veux dire, voyons simplement si ça marche. Ou nous nous retrouvons à Minecraft. Faisons donc apparaître quelques ratons laveurs et voyons si les variances sont ajoutées. Et voilà. Oh non, nous avons une variante qui n'a pas de texture, mais pas de soucis, cela devrait être juste une faute de frappe dans l' emplacement réel de la ressource. Vous pouvez voir que le rouge fonctionne très bien. Voyons simplement de quoi il s' agit et résolvons ça. Comme je le soupçonnais ici, il y a une faute de frappe. Ne vous inquiétez pas du tout. On va juste régler ça. Donc, le C manquait encore une fois, avec ça , essentiellement tout, ça fonctionnerait totalement bien. Et c'est en fait à quel point il est facile d' ajouter une variance personnalisée à votre personnalisée, et bien à votre entité personnalisée. Mais ce serait déjà le cas pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. S'il le faisait, j'apprécierais beaucoup une critique de votre part. Sinon, je vous verrai lors de la prochaine conférence. 108. (sujets supplémentaires): Bon, bienvenue au cours de forge pour 118. Et dans cette conférence, nous allons ajouter une fonctionnalité de capacité d'équipe à notre entité personnalisée, ce qui nous permettra d'apprivoiser notre raton laveur. Et c'est encore une fois, une de ces choses qui est assez simple une fois que nous l'avons implémenté. Et vous pouvez voir quelles méthodes nous devons remplacer ici dans la classe d'entités Custom Raccoon. Maintenant, la première chose que nous devons faire c'est que vous devez monter ici et changer cela en animal aimable. Ce sera donc un animal atteignable. Vous y allez. Ensuite, nous allons juste prendre ceci, je vais le sélectionner, appuyer sur Control C, Control V pour le coller ici et ici aussi. Je pense que ce devrait être tous les endroits où cela doit être fait. Alors, bien sûr, je copierai encore une fois la majeure partie de tout cela. Tout cela est bien sûr, une fois de plus disponible dans le référentiel GitHub chez un individu. Ce sera la capacité de l'équipe. Cela va aller tout en bas ici, et nous pouvons voir tous les trucs et nous allons passer en revue chacune des méthodes une par une. Vous pouvez tout d'abord voir que nous avons cet accessoire de données assis. Encore une fois, je vais aussi faire avancer cela pour que nous disons aux données en haut ici, alors ce qui est très important, c'est parce que nous avons une autre synchronisation des entrées de données. Nous devons ajouter cela aux données de synchronisation définies. C'est très important que nous fassions cela. Il va donc falloir dire que les données de cette entité star, définissent, c'est assis et la valeur par défaut sera fausse. C'est donc incroyablement important et que cela soit également ajouté ici, sinon cela ne fonctionnera pas. C'est donc l'une des choses que nous devons faire. Maintenant, la raison pour laquelle nous avons réellement besoin cette chose particulière, l'accessoire ici, est parce que sinon le prédicat de l'animation ne fonctionne pas. Parce qu'en théorie, si je vais vraiment dans l'animal de table et que je crois que c'est le cas, l'ordre booléen de s' asseoir est déjà là, donc cela existe déjà, ce qui signifie que pourquoi aurait-on besoin d'un jour un autre accessoire ici, un autre type de données ici, eh bien, il ne synchronise pas ce booléen ici, je crois qu'il n'est disponible que sur le serveur. Je ne suis pas sûr à 100%, mais je pense que cela n'est disponible que sur le serveur. Mais bien sûr, dans le cas de gecko lip, cela ne fonctionne que sur le client, qui signifie qu'il y a un décalage entre ce booléen ici ou le serveur et le client. Par conséquent, nous avons besoin de synchroniser les données ici. C'est pourquoi nous avons cela. Ensuite, nous pouvons également décommenter ces deux choses. Maintenant, il est très important que votre siège lorsque l'objectif est ordonné, il a une priorité inférieure dans cette priorité ou une priorité supérieure, je suppose que ce doit être un nombre inférieur. Ensuite, tous les autres objets aléatoires regardent autour des buts de marche aléatoires, des trucs comme ça. C'est très important car si cela a une priorité inférieure à celle, par exemple, le but de la promenade aléatoire, alors le raton laveur dans ce cas, même s'il est ordonné de s'asseoir, se lèvera et Continuez à marcher, puis asseyez-vous à nouveau, puis continuez à marcher. n'est donc pas vraiment ce que vous voulez qu'il fasse. Nous pouvons donc ajouter immédiatement l'animation ici. C'est l'animation assise. Donc, si c'est assis, nous allons simplement appeler l'animation que le raton laveur assis, rien de trop fou, devrait être assez explicite. Et avec cela, l' animation est terminée. Et maintenant, nous pouvons examiner toutes les différentes choses pour déterminer l' accessibilité dont nous avons besoin. Pour la première chose, c'est essentiellement la grande méthode ici, est-à-dire la méthode mob interact, mais c'est la méthode qui est appelée lorsqu'un joueur clique avec le bouton droit de la souris. Donc cette vadrouille, j'ai fait un objet ici, donc c'est l'objet à apprivoiser. Je viens de choisir une pomme. Vous pouvez, par exemple, remplacer cette option. Vous pouvez également ajouter plusieurs éléments si vous le souhaitez. Bien sûr, Java normal s'applique. Vous l'êtes, donc pas de soucis. Là. Nous allons essentiellement vérifier, hé, est l'élément avec lequel nous avons cliqué avec le bouton droit de la souris, en fait l'élément à apprivoiser. Et si cet animal n' est pas encore atteint, alors nous allons aller ici, côté client, nous allons simplement consommer, donc nous allons faire clic droit, mais rien ne se passe. Cependant, sur le serveur qu'ils sont, nous allons faire certaines choses. Tout d'abord, si la capacité ici est instable. L'idée ici est donc que si ce n'est pas le cas, qui signifie que si nous ne sommes pas dans un moteur créatif nous réduisons ou décrémentons la pile d'objets d'un. Et si nous sommes en mode créatif, nous ne le faisons pas. C'est tout ce qu'il y a à faire. Ici, une équipe animalière n' est qu' un événement qui se fait virer lorsque cet animal est apprivoisé. Et encore une fois, nous nous assurons simplement que nous ne sommes pas sur un client en gros. Je pense que c'est essentiellement redondant, mais nous allons simplement le garder parce qu' il n'y a pas de soucis. Et puis nous allons dire, tout d'abord, que nous allons appeler la méthode ETA. Ce joueur en particulier à l'intérieur d'un va recalculer le chemin de navigation. Nous allons ensuite fixer les objectifs pour connaître cette rangée. Il s'agirait essentiellement de la cible agressive. Ensuite, nous allons appeler l'événement de l' entité Broadcasts avec sept octets. Il s'agit donc d'un événement particulier ici. Vous pouvez le voir, comme un paquet particulier pour tous les joueurs de cet événement, c'est plutôt de la folie. Il s'agit essentiellement de l'événement que nous devons envoyer lorsqu' un certain animal a été atteint. Je crois que c'est la responsabilité de frayer les Cœurs lorsque vous obtenez réellement l'équipe, alors nous sommes immédiatement assis à vrai. Et nous pouvons en fait jeter un coup d'œil au plateau assis ici. Vous pouvez donc voir que non seulement nous définissons les données de l'entité menant à ce que nous transmettons ici ? Nous appelons également la méthode de l'ensemble ordonné de s'asseoir, qui a essentiellement défini cet ordre de s'asseoir dans l'animal de table ici aussi à tout ce que nous passons. L'idée est donc que nous avons besoin que les deux soient correctement réglés. Et puis nous avons eu ceci, oui, c'est essentiellement l'idée générale ici. Et puis voici celle-ci, fois que nous avons déjà apprivoisé cet animal. Et encore une fois, nous sommes sur le serveur pour nous assurer que nous n'utilisons que la main principale, car si nous n'avons pas cela, nous ne pourrons pas faire asseoir l'animal réel car c'est ce qu'on appelle les deux mains. C'est très important. Ceci est appelé deux fois, une fois pour chaque main du joueur. Méfiez-vous donc de cela. Cela est également appelé deux fois, un pour le client et l'autre côté serveur. Donc, au total, on l' appelle quatre fois. Gardez cela à l'esprit. Et celui-ci ici, c'est pourquoi nous avons besoin de l' interaction ici. Sinon, cela serait appelé deux fois. Et bien sûr, si vous basculez deux fois quelque chose, eh bien, il revient à sa position d'origine. Par conséquent, l' animal ne serait jamais assis. C'est donc très important ici. Ici. Nous faisons simplement un laissez-passer lorsque l'objet à apprivoiser est utilisé à nouveau, même s'il est essentiellement déjà nommé. Mais c'est tout ce qu' il y a à faire pour la méthode d'interaction de la mafia. Il s'agit essentiellement de la pièce maîtresse de tout cela, bien sûr, où nous sommes en train de l'apprivoiser. Et nous avons le set, la méthode de réglage, rien de trop fou. Nous avons également la méthode T set. Où est ce froid ? Permettez-moi de jeter un coup d'oeil là-dessus. C'est froid. Je ne suis pas sûr à 100% que je pense que c'est froid. On peut aussi l'appeler via certains de ces trucs ici, mais nous ne faisons que modifier certains attributs ici si cet animal est apprivoisé. C'est donc une chose normale qui peut se produire. Et puis nous devons aussi juste, je ne pense pas que nous ayons besoin de le remplacer nécessairement, mais je l'ai écrasé sur le moins c'est l'équipe où il s'agit essentiellement l'équipe à laquelle cet animal appartient. Ensuite, nous avons la dernière, mais non la moindre, la méthode booléenne peut être lixiviée. J'ai mis ça à faux. Maintenant. Quelque chose qui est un bug actuellement dans la lèvre gecko. Je ne sais pas si c'est toujours une chose en ce moment, mais cela pose problème depuis un certain temps, c'est quand c'est vrai et que vous laissez cette lésion, une entité à lèvres gecko, alors la piste est C'est invisible. Il est toujours là. Il fonctionne, mais c'est invisible. Je ne sais pas encore s'il existe une solution. Je vais vérifier cela ultérieurement. Mais si c'est corrigé ou si ce n'est pas corrigé et que nous aurons probablement une solution pour cela dans les conférences ultérieures ou à un moment donné dans le futur. Mais c'est à peu près tout ce dont nous avons besoin pour la capacité de l'équipe. Vous pouvez voir que c'est un peu plus compliqué ici. Ce n'est pas seulement comme, Oh, voyons une énumération là-dedans, une sorte de variante. Frappez quelques choses là-dedans et c'est fini. Maintenant, la capacité de l'équipe est un peu plus compliquée, mais toutes les choses considérées ne l'ont pas été. Ce n'est pas si fou que ça. La capacité assise est vraiment la chose qui pourrait être la plus difficile dans certaines circonstances, car toutes les pièces doivent être correctes. Nous devons le refroidir de la bonne façon, dans les bons moments. Et maintenant, c'est très important encore une fois, c'est l'objectif. C'est la plupart du temps la chose qui m' est arrivée. Pourquoi ils arrêtent fondamentalement s'asseoir ou quand vous leur ordonnez de s'asseoir ? Et tout d'un coup, l'animal monte et va ailleurs, puis s'assoit. Mais c'était l'une des choses. Après avoir ajouté tout cela, nous allons maintenant pouvoir voir non seulement l'animation assise, mais bien sûr aussi comment apprivoiser l'animal. Voyons donc si cela fonctionne ou pourquoi nous nous retrouvons à Minecraft. Voyons donc si je peux apprivoiser le raton laveur. Et voilà, meilleurs amis pour toujours. Maintenant, il est assis. Maintenant, ce que je fais habituellement pour le faire fait sorte qu'il reste au même endroit. C'est juste que je ne vais pas enfermer dans une ampoule en gros faire un peu une grotte ici pour que je sache bien, si elle a définitivement déménagé, si elle est sortie de la grotte en gros. Et donc pour le moment, cela semble très bien, comme s'il semble être assis là. Et vous pouvez également voir l'animation assise, au fait, jetons un coup d'œil au PDG. Et si je clique à nouveau avec le bouton droit de la souris, le raton laveur devrait recommencer à marcher ou simplement utiliser d'autres objectifs pour faire ce qu'il veut faire. En gros, flânez, ou quand cela pourrait vouloir le faire. Vous y allez. Maintenant, il tourne à nouveau. Donc ils vont et oui, c'est vrai, vous pouvez voir que c'est en fait plus rapide à cause de l'augmentation de vitesse qui a gagné grâce à l'apprivoisement. C'est quelque chose qui s' est produit pendant l'apprivoiser. Nous allons y jeter un coup d'œil dans un instant encore. Mais oui, c'est ce que je veux dire, c'est à peu près tout ce que nous avions vraiment besoin de faire. Et maintenant, vous avez un raton laveur Teams qui est vraiment cool. Encore une fois, la vitesse de déplacement ici est essentiellement la raison pour laquelle elle est si rapide. Nous sommes en train de le fixer à 0,5, je crois. Voyons en fait ce que serait le mouvement, 0,3. Nous doublons donc presque la vitesse de déplacement. C'est bien sûr quelque chose comme n'importe quel autre moment quand il s'agit des attributs, des valeurs de certains attributs dans ce cas ou de certaines variables, il suffit de jouer avec eux. Vous devrez probablement les changer beaucoup de fois de toute façon, simplement parce que si vous voulez vraiment creuser et vous assurer que votre mod est correctement équilibré, vous devrez changer les chiffres. Je veux dire, souvent c'est une de ces choses où encore une fois, il suffit de jouer avec les chiffres. Essayez un tas de choses, soyez ouvert à l'expérimentation. Et puis, pendant que je veux dire, rien ne vous gênera fondamentalement. Mais c'est déjà le cas pour cette conférence ici même, j'espère que vous avez trouvé cela utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. 109. (sujets supplémentaires): Ou je me réjouis de revenir au cours de forge pour les 18 ans. Et dans cette conférence, nous allons ajouter une entité pilotable personnalisée à Minecraft. Donc, après avoir passé avec l'entité raton laveur, nous allons maintenant ajouter les entités tigres. Donc bien sûr, une fois de plus, ayez un modèle de banc de blog pour cela. Vous y allez. Il s'agit bien sûr aussi de télécharger les deux pour vous, mais nous avons essentiellement tout cela déjà configuré et tout va fonctionner très semblable au raton laveur. Ce que nous allons avoir, c'est que nous allons avoir une nouvelle classe, tout d' abord, et ce sera l'entité tigre. Vous y allez. Maintenant, il y a une entité tigre qui va être très intéressante. Tout d'abord, je vais encore une fois copier la totalité de cette classe. Ce cours va être très long, mais la plus grande partie sera très similaire au raton laveur, numéro un et numéro deux, je vais expliquer tout ce que je peux, bien sûr aussi. Ce que nous allons voir ici, c'est que nous devrions en avoir deux. Ok, c'est très bien. En fait, c'est correct parce que c'est ce qu'on appelle les types d'entités mod. En fait, tu y vas. Et ça va aller aussi bien. Une chose que nous avons ici, c'est de voir d'autres entités qui vont bien se passer. Et puis il y a d'autres choses dont nous pouvons nous débarrasser ici aussi. Et voilà. Maintenant, plus d'erreurs si vous copiez cela à partir du pasteur GitHub ou de l'essentiel, plus aucune erreur ne devrait être présente pour vous. Et tout devrait bien se passer ici ou oui, ça devrait aller. Tout d'abord, ce que nous avons encore une fois c'est quelques-uns des trucs des séances. Vous pouvez donc voir qu'il est assis, assis. Et même ici, nous avons la position assise et lorsque nous cliquons avec le bouton droit sur l'interaction de la mafia ici, vous pouvez voir cette fois si nous sommes accroupis, alors nous voulons régler la fumée pour qu' elle soit assise à cause de bien sûr, nous voulions également le rendre lisible. C'est pourquoi nous avons cette interface pilotable ici. Et c'est ce qui va être intéressant. Donc, si je clique dessus et que j'appuie sur Control H , nous devrions pouvoir voir, vous y allez. J'ai le cheval abstrait par exemple. La plupart de ces éléments proviennent des classes de chevaux abstraits et d'entités de chevaux. Je ne peux pas trop insister sur ce point. Jetez un coup d'œil à tous les exemples de vanille. Vous avez tellement d'exemples de vanille ici. Une fois que vous comprenez la structure de base de cette classe comme une classe d'entités, il est assez simple de jeter un coup d'œil aux classes d'entités de in vanille. Comme je l'ai dit, la plupart de ces choses sont identiques à celles du raton laveur. Nous avons les commandes enregistrées, le prédicat des animations. Nous avons les données asynchrones, la position assise, puis nous avons également ces sélecteurs de pulvérisation. C'est donc très intéressant. Le sélecteur de pulvérisation ici est donc pour le sélecteur de cible, pour la cible aléatoire non apprivoisée, c'est une chose qui est essentiellement ajoutée lorsque j'ai ajouté ceci du loup. Donc, si nous regardons réellement le loup ici, vous pouvez voir dans le loup qu'il y a aussi une proie détectée, proie sélectionnée ici. Et il y a aussi celui-ci ici. Vous pouvez donc voir qu'il chasserait fondamentalement différents rayons à ce stade dans cette plus haute priorité dans ce cas, car nous voulions essentiellement qu'il fasse tout le reste avant qu'il ne fasse cela. Mais ce n'est qu'une chose supplémentaire. Vous n'avez pas forcément besoin de l'avoir, mais c'est plutôt cool. Vous pouvez voir que nous avons également un objectif de tentative ici. C'est en fait la chose que le tigre va suivre lorsque vous avez un navet à la main, il y a aussi l'objet de table avec lui. Donc, si vous cliquez dessus avec le navet avec le navet, alors vous avez un, comme vous pouvez le voir ici, nous avons en fait vingt-cinq pour cent de chances que ce soit d'apprivoiser cette entité n ouais, c' est à peu près ceci. Et la plupart de tout cela, vous pouvez voir en fait, ce n'est pas si fou que ça. Ici, nous commençons à écrire. C'est en fait le joueur qui a réellement changé cela. Cliquez donc dessus , puis appelez ce joueur. Et puis cela va être la main un peu plus lisible qu'on ne peut voir le joueur point star écrire ça. Nous allons commencer à écrire ceci. Et comment allons-nous pouvoir contrôler ça ? Eh bien, la façon dont nous allons contrôler cela, avec cette méthode ici, peut être contrôlée par un écrivain. Et puis, ici, nous venons de rentrer et le contrôle des passagers est une entité vivante. Et puis ici, je pense que nous devons également revenir. C'est également très important. Et ensuite, la méthode de voyage est également prise sur le cheval. La plupart des choses ont été retirées parce que la seule chose que nous n'aurons pas, c'est la capacité de sauter avec un tigre. C'est la seule chose que nous n'aurons pas. C'est presque tout ce qu'il y a à faire. Encore une fois, c'est très, je veux dire, c'est assez simple. Anibal, vous pouvez juste jeter un coup d'œil à l'interface de saut de joueur numéro un et numéro deux aussi le cheval abstrait. Comme je l'ai dit, tout cela est disponible dans les bibliothèques externes ici, n'est-ce pas ? Tout le code de la vanille. Je ne peux pas insister assez sur le fait que, eh bien, il est facile de jeter un coup d'oeil là-dessus et, en gros, obtenir quelque chose à partir de là. Ajoutons cela aux autres types d' entités ici. Je vais juste recopier ça une fois de plus. Comme toujours offrir tout ce qui est disponible dans le référentiel GitHub et individuel aussi. Allez à l'entité ici. Ensuite, nous allons également créer les deux modèles et rendre nos classes. Je vais donc dire le modèle Tiger. Vous y allez. Et puis on va aussi dire que le tigre, renderer tigre y va aussi. Et encore une fois, nous allons juste copier ça. C'est assez simple et c'est à peu près semblable, devrait ressembler exactement comme avant. Nous avons juste besoin de faire le modèle également. Vous y allez. Le modèle aussi. Est pointé une fois de plus vers l'emplacement modal dans le géotigre ici, voici la texture et puis l'animation n'est rien de nouveau ici. Et puis dans le rendu, à peu près la même chose où nous avons juste les contextes de rendu ici, puis nous créons un nouveau modèle ici. Maintenant, bien sûr, cela doit encore être refroidi dans la méthode de configuration du client ici. Nous allons donc dire quels types d'entité tigre, puis voici le rendu tigre, voilà. Alors, bien sûr, n' oublions pas l'événement que nous devons appeler et qui devrait être ici dans les attributs. Nous voulions bien sûr définir les attributs ici de tigre qu'ils attribuent très importants. N'oubliez pas cela, et cela devrait être cela aussi. Ajoutons également le nouveau frai précis ici. Dupliquons ça et puis on va dire un tireur de soulignement de tigre Greg, dans ton tigre et ce correspondant sur son Greg et moi avions juste besoin d'obtenir les codes de couleur réels parce que je les ai préparés à l'avance. Bien sûr. Disons que c' est le code couleur pour cela. Et puis la couleur de surbrillance est la suivante, en veillant à ce que nous changions cela en Tiger. Et c'est aussi très bien. Le modèle, eh bien, on va juste copier sur les ratons laveurs Baunach parce que ce sera le plus facile parce que le contenu de nos ratons ne changera pas réellement . On va juste dire que c' est l'œuf de frai du tigre. Ils il y a et puis l'ajoutant ici à la fin soulignent qu'il était dossier adjacent aussi, je suppose le matin. Et là aussi, le tigre souligne le frai. C'est bien sûr presque tout ce que nous avons déjà vécu avec le raton laveur. Rien de trop nouveau ne devrait donc être tout assez explicite. Ajoutons également l' animation tigre ici. Vous y allez. Ensuite, nous allons également avoir la géo. Ça va être juste là. Alors ouvrons cela et ajoutons également le modèle Hydro Tiger. Et puis, enfin, mais non des moindres dans l'entité, nous allons créer un nouveau répertoire appelé Tiger. Et puis, au lieu de là, nous aurons le vrai tigre PNG. C'est aussi le plus. Et c'est à peu près tout ce dont nous avons besoin. Comme je l'ai dit, la plupart des choses se produisent dans la classe des entités tigres. Et aussi, comme je l'ai dit, la plupart de ces exemples proviennent des exemples de vanille, de quelques exemples familiers où nous avons vu le sélecteur de proies ici, comme je l'ai dit, c'est juste une chose intéressante. Vous n'en avez pas nécessairement besoin. C'est juste quelque chose que j'ai trouvé intéressant et j'ai pensé que je l' ajouterais aussi au tigre. Je veux dire que c'est, comme je l'ai dit, à peu près tout ce dont nous avons besoin. Voyons si cela fonctionne ou s'il y a des réponses dans Minecraft. Et comme vous pouvez le constater, le tigre AG a été ajouté. Voyons donc voir. On y va. Certains tigres sont donc ajoutés avec succès dans le jeu. Et puis prenons quelques navets. Sierra maintenant, ils devraient me suivre une fois que je l'ai mis en place et ils me suivent il y a. C'est donc le but de la tentation, bien sûr, n'est-ce pas ? où cela signifie essentiellement ce qu' ils vont suivre. Et si je clique avec le bouton droit de la souris, vous pouvez voir que cela n'a pas été, n'a pas réussi, n'a pas réussi. Encore une fois, cela devrait être une chance de vingt-cinq pour cent et il y a maintenant, je l'ai ici et si je clique à nouveau avec le bouton droit de la souris, alors je vais passer par là et il semble, ça n'a pas l'air très étrange, mais c' est plutôt cool et je ne peux pas sauter. Comme je l'ai dit, c'est quelque chose que vous allez probablement pouvoir ajouter via quelques exemples à travers le cheval. En fait, ça devrait être trop fou. Et puis si je clique avec le bouton droit de la souris, alors vous pouvez voir, alors nous pouvons aussi faire asseoir ce tigre. Et cela ne devrait aussi fonctionner que très bien. Vous pouvez voir qu' il s'agit d'un exemple d' entité accessible en écriture et d' entité de table en même temps, essentiellement à la fois en même temps et là où vous allez. C'est en fait à quel point cela peut être facile aussi. Eh bien, mais ce sera le cas pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose nouveau et je vous verrai lors de la prochaine conférence. 110. (Sujets supplémentaires): Ou je souhaite la bienvenue au cours de fourrage pour 118. Et dans cette conférence, nous allons ajouter bateaux personnalisés à Minecraft. Maintenant, c'est l'une de ces choses semblables au signe. Cela semble, je veux dire, ça devrait être beaucoup plus facile, mais en fait, c'est incroyablement frustrant de l'ajouter. Une fois encore, quelques-uns, je veux dire, beaucoup de choses vont être copiées. Mais une fois que vous avez configuré cela, une fois, vous devriez pouvoir ajouter très facilement de nouveaux types de bateaux à votre MOD et cela devrait presque pas vous inquiéter. La première chose que nous allons faire c'est que nous allons créer une nouvelle entité. La première chose que vous allez être comme, attendez, avons-nous besoin d'une entité ? Exactement. C'est pourquoi nous le faisons essentiellement après les entités. Ce sera l'entité bateau. Il y a cependant, ils n' en auront besoin qu'un. Et encore une fois, je copierai le contenu ici. Mais comme je l'ai dit, tout est disponible dans le référentiel GitHub, un individu tout aussi. Ajoutons ça et on ne devrait pas en avoir, accord, on va avoir quelques flèches, mais ça va aller. Ils vont être vendus dans un petit peu. Ce sera des types d'entités mod qui vont sur l'entité bateau que nous allons ajouter juste un instant. Encore une fois, nous allons avoir un type d'ID de type de données intéressant, n'est-ce pas ? Nous allons donc, une fois que vous aurez une variance différente d' une entité particulière, c'est à peu près la même chose que celle que nous avons faite ici avec le type d'ID de données. Vous pouvez voir qu'il s'agit de la variante TI et c'est le type. Nous allons donc avoir une configuration très similaire ici. Dans ce cas, nous allons simplement avoir l'énumération de type réelle à l'intérieur de cette classe d'entités multiples réelle. Et vous pouvez voir que nous avons la fleur de cerisier qui porte juste le nom Cherry Blossom. Et puis le reste se fait en quelque sorte en arrière-plan. L'idée ici est essentiellement faite pour nous. Et honnêtement, vraiment, vraiment, nous n'avons pas vraiment besoin de regarder tous les autres trucs. Si vous voulez en ajouter plusieurs comme n' importe quelle autre énumération, séparez-les par une virgule, puis nommez-les simplement si quelque chose de différent , et tout ira bien. C'est quelque chose que vous devez faire lorsque vous souhaitez ajouter une nouvelle variante personnalisée ou un nouveau type de bateau personnalisé Vous devez également modifier la méthode de dépôt d'article du kit ici. Vous pouvez voir qu'il s'agit d'une instruction switch. Et puis nous allons déposer la planche à fleurs de cerisier. Et ensuite, si vous en avez un autre, il vous suffit d'ajouter un nouveau dossier ici , puis d'ajouter cet article. C'est aussi simple que ça. Le jeu de type de carte get mod, les deux types devraient être assez explicites. Lire des additifs supplémentaires à partir de la méthode de sauvegarde des données. Nous ne faisons que sauver le type réel de ce bateau. Et ensuite, nous n'avons que deux constructeurs. Nous avons vraiment besoin de ces deux constructeurs parce que celui-ci que nous allons utiliser dans un instant dans le type d'entité mod. Je vais donc copier ça pendant une seconde. Bien sûr, tout ce qui s'offre à vous. Et vous pouvez voir, appelons cela le tableau de soulignement du mod. Que diriez-vous de ça ? C'est peut-être un peu mieux. Et puis vous pouvez voir que c'est l'entité bateau, et cela va aussi bien. Cela devrait fonctionner, cela devrait fonctionner. Et puis ce chauffe-eau si on peut réellement supprimer il y a un jour. Maintenant, l' entité embarquée réelle sera uniquement l'élément qui pose problème et le reste va fonctionner. Vous pouvez voir qu'il s'agit d'un autre, bien sûr qu'il est à l'abri du feu. La taille ici est celle des autres entités embarquées. Donc, si vous jetez un coup d'œil à la classe de bateaux, il s' agit bien sûr de la classe disponible. Encore une fois, jetez un coup d'œil là-dessus. Si vous pensez qu'il y a autre chose que vous voulez faire, s'il y a quelque chose de spécial que vous voulez faire, jetez-y un coup d'œil et vous devriez y aller aussi. Maintenant, nous allons également avoir besoin d'un moteur de rendu. Ce sera le modèle de rendu des votes. haut. Vous y allez. En fait, ça va être assez simple, tout est considéré. Il y a une chose intéressante ici. Encore une fois, je vais le copier. Mais tout cela est disponible pour vous et nous ne recevons aucune erreur. Et vous pouvez voir ici une chose très intéressante. Ce que vous avez ici, ce sont ses propres ressources. Ce sera une carte du type de mod board à une paire de modèles de bateaux de localisation de ressources. C'est plutôt de la folie. L'idée générale ici est juste que nous voulons, c'est presque exactement la même chose. Vous verriez cet emplacement de texture, peu près ce que nous avions dans les moteurs de rendu ici, où nous avons l' emplacement de la texture et ensuite la variante, c'est à peu près tout ce que nous avons ici juste dans un une méthode beaucoup plus compliquée. Et c'est ce que c'est parce que c'est la chose que celle-ci a raison. Ainsi, le modèle de bateau de localisation des ressources homologues est le modèle avec les mois de localisation. Et si nous transformons cela en carte, différents types, puis différentes paires, et cela va en gros s'arranger. Maintenant, c'est assez intéressant, ça va juste faire ce qui suit où fondamentalement, celle-ci a l' air de la folie. On dirait, oh mon Dieu, ce qui se passe ici. Littéralement, ce que nous faisons, nous passons en revue toutes les valeurs que nous avons définies pour nos bateaux ou nos bateaux personnalisés puis nous faisons simplement de nouvelles paires, n'est-ce pas ? Nous allons donc tous les parcourir, créer une nouvelle carte pour cela et dire, d'accord, maintenant nous allons créer une carte avec ce type particulier. Donc, nous allons passer par là, disons que nous avons sept types différents. Le premier type, et ensuite on va juste dire quel que soit le nom. C'est là que le modèle cherche. Ensuite, l'emplacement de la couche de modèle. Donc c'est le modèle de bateau qui sera toujours le modèle de bateau AUC. Voici donc les modèles actuels de bateaux. Vous pouvez voir que c'est pourquoi nous ne fabriquons pas de modèle de bateau personnalisé. Donc, tout va être normal. Si vous voulez vraiment des modèles de bateaux personnalisés, vous allez devoir le comprendre par vous-même. Je recommande vivement de jeter un coup d'œil au modèle de bateau ici même. Cela devrait être, je veux dire, certainement quelque chose qui va être un bon point de départ, mais ça va certainement être un peu plus compliqué. Et puis, lorsque nous avons créé cela, l'idée est que cela est essentiellement renvoyé ici dans le modèle avec la méthode de localisation, que vous pouvez voir, nous vérifions si ce bateau est ou non de type ou une instance d'une entité de modèle de bateau mod plutôt. Ensuite, nous allons simplement renvoyer la ressource de balle réelle avec le type réel. C'est tout ce que nous faisons ici. Ça a l'air un peu fou et c'est comme, ouah, c'est de la folie absolue, mais dans l'ensemble, ce n'est pas si fou que ça. Alors, où avons-nous besoin de cela ? Eh bien, nous allons bien sûr avoir besoin de cela une fois de plus dans la méthode client MC ici c'est le cours MC ordinaire MOD , puis dans la configuration du client ici. Nous allons donc dire que c'est l'entité Bolt et que ce sera le rendu de vote mod. Et voilà. Cela fonctionne déjà. Et c'est aussi cette configuration. Ensuite, nous avons juste besoin d'un article pour cela. Il est donc intéressant de noter que nous allons encore avoir besoin d'un article personnalisé pour cela également. Ce sera un objet de vote du MOD. Et puis il y a une faute de frappe là-dedans. Nous allons juste régler ça rapidement. Aller à l'article. Et encore une fois ici, quelques trucs qui seront copiés. C'est en fait le cluster qui est le moins. Eh bien, je veux dire, je ne dirais pas forcément intéressant, mais la moindre folie que nous ayons cette méthode d'utilisation, simplement faire ce qui se passe lorsque nous cliquons avec le bouton droit de la souris. C'est à peu près ce que je veux dire, c'est presque un à tête du bateau. Nous pouvons voir cela comme le bateau ici. Et c'est la méthode américaine. C'est presque exactement la même chose. Au lieu de créer un nouveau conseil d'administration, nous faisons un nouveau vote mod devrait être assez explicite ici, et le reste est presque exactement la même chose, peu près la même chose. Alors, tu y vas. Et bien, une fois que nous avons ajouté cela, faisons également l'objet que nous puissions nous débarrasser de la dernière flèche. Nous allons juste copier au crépuscule magique. Ça va être le, maintenant celui-ci est en fait le bateau spécifique. Ce sera donc le point de vote cerise. Pour chacun de vos différents types de planches, vous aurez besoin de différents bateaux, essentiellement des cerises Désolé, il s'agit de l'article Chevy Bolt. Appelons ça Sherry. Planche en fleurs de cerisier. C'est mieux. Vous y allez. Oui, c' est plus logique. fleurs de cerisier. Et puis il s'agit d'un point de vote du MOD. Maintenant, cela prend en fait son premier paramètre, le logiciel normal. Le deuxième paramètre, comme vous pouvez le voir, il prend dans le type d'entité de bateau mod, type d' entité, point aride, impressionnant. C'était trop loin de l'ego. Il y a vraiment, tu y vas. Maintenant, cela fonctionne évidemment ici. Vous pouvez donc voir maintenant que nous avons créé l'article à puces MOD ici. Et ensuite, cela devrait également fonctionner dans l'entité ici même où nous allons y retourner. Maintenant, toutes les flèches devraient disparaître. Il suffit maintenant d' ajouter les fichiers JSON. Donc, ce serait la traduction avant tout, bien sûr, pour l'article, ça va être ici, donc on va juste copier ça. Ce sera le bateau de soulignement en fleur de cerisier . Et puis, bien sûr, la même chose ici. fleurs de cerisier. Il y a maintenant une autre chose, bien sûr, le modèle d'article, pas le modèle d'article. C'est juste un modèle d'article normal. Rien de trop fou à ce sujet, mais on va tout de même le copier sur n, on va y jeter un coup d'œil. Vous ne pouvez voir que des pointes vers une texture d'article spécifique. Rien de fou ici. Idem avec la texture de l'article. C'est juste la texture normale du bateau. Vraiment texturé un peu pour nos produits personnalisés. On peut donc voir qu'il y a là, c'est la planche à fleurs de cerisier. Une autre question est le poids, mais alors que la texture de l'entité est là, bien, cela va encore une fois dans l'entité. Et je vais créer un nouveau répertoire appelé Boat. Et puis à l'intérieur d'ici, il y avait le score de cerisier fleur, ce nom ici. Qu'est-ce qui est très important ? Il doit être le même que le nom fourni dans le type de ce nom doit correspondre à ce nom, car c'est ce que le moteur de rendu recherche en termes de texture. C'est donc très important. Et c'est à ça que ça ressemble. Fondamentalement, une fois de plus, simplement configurer. C'est donc tout le tableau. Et puis vous pouvez, c'est la texture de base du bateau. C'est l'idée générale. En théorie, je pense que ce devrait être tout ce dont nous avions besoin pour qu'un bateau ajoute. Comme je l'ai dit, c'est juste avec le signe. C'est plutôt fou. Comme toutes les choses considérées. Il y a des étapes assez importantes, comme je l'ai dit, la plupart si vous le copiez et que vous pouvez le modifier. Vous aurez donc besoin d'un nouvel article personnalisé pour chacun des nouveaux types de bateaux. Nouveau type de bateau ici. C'est donc quelque chose dont vous avez besoin et le reste devrait être très bien. Je pense que vous devriez pouvoir utiliser ce type d'entité pour tous. Et ce devrait être à peu près tout ce que vous devez faire. Mais pour l'achèvement, voyons si cela fonctionne. Ou si nous revenons à Minecraft et que vous pouvez voir le bateau en fleurs de cerisier a été ajouté avec succès au jeu. Déposons-le maintenant. Et voilà, la planche à fleurs de cerisier. Et nous pouvons l'utiliser dans l'eau. Tout fonctionne très bien, tout comme on s'attendrait à ce que ça se passe. Et puis, si je passe rapidement en mode survie, passons en mode survivant et voyons si cela baisse et fait tomber une planche en fleurs de cerisier, comme vous vous y attendiez. Nous y allons donc, tout travailler, étonnamment. Et c'est en fait à quel point c'est facile. Comme je l'ai dit, il y a plusieurs étapes que vous devez franchir. Mais une fois que vous les avez parcourus, c'est plutôt simple. Mais ce sera tout pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai au cours de la prochaine conférence. Oui. 111. (sujets supplémentaires): Ou je suis le bienvenu au cours de forge pour 100 adolescents. Dans cette conférence, nous allons ajouter génération d'entités personnalisées à Minecraft, mais nous avons créé nos entités maintenant, nous voulons également qu'elles apparaissent dans le monde entier. Donc, pour cela, nous allons juste créer un nouveau cours ici. Donc, dans le paquet d'agenda mondial, nous allons créer une nouvelle classe de dégénérescence des entités mod. Et encore une fois, je vais copier celui-ci parce que j'ai préparé un peu de cours ici que vous pouvez utiliser. C'est donc bien sûr que nous devons changer cela plus de deux types, puis celui-ci également. Cela ne devrait pas vous inquiéter. Vous devriez pouvoir simplement copier cela. Et vous pouvez voir toute la classe ici, nous avons une méthode de spores d'entités que nous allons appeler ici, essentiellement en bas ici. Donc l'itération de l'entité mod sur le spawn vide, puis nous passons l'événement de chargement de messagerie instantanée ici. Et cela devrait être à peu près ce dont nous avons besoin. Et puis vous pouvez voir qu'il existe certaines méthodes que nous pouvons utiliser sous. Par exemple, ajoutez une entité à tous les biomes de remplacement. Nous avons une entité pour tous les biomes. Net à Nether. Non, Nether, désolé, c'est ça. Il y a donc partout sauf le nether, tous les robots, la fin. Et là aussi, tous les biomes y compris et un autre. Et généralement, en théorie, si vous avez ces méthodes, vous devriez être en mesure de faire très facilement d'autres qui font à peu près la même chose que vous voulez faire. Je veux dire, honnêtement, à ce stade, certaine connaissance de Java est bien sûr une chose que vous devriez avoir à ce stade. Et une fois que vous l'avez, ajouter un peu plus ici ne devrait pas être trop fou, même si vous ne comprenez pas forcément tout si vous êtes comme, d'accord, cela l'ajoute à tous les biomes, mais la fin c'est Comme, ok, vous pouvez probablement trouver comment les ajouter à la fin, par exemple, littéralement ça, c'est tout en ce moment. Tout d'un coup, tout n'est que jusqu'à la fin des biomes, c'est presque tout ce qu'il y a à faire. Donc ce cours, comme je l'ai dit, je l'ai déjà utilisé. Et pourtant, nous venons de prendre l' exemple en ce moment que nous allons les ajouter à tous les biomes submergés, dans ce cas, à la fois le raton laveur et le tigre. Donc, après l'avoir ajouté ici, c'est littéralement tout ce que nous devons faire. Je suppose que pour l'achèvement, voyons si ça marche. Cela se traduit par Minecraft. En théorie, nous n'avons même pas besoin de créer un nouveau monde pour cela parce que les entités le sont, elles apparaissent en quelque sorte. Je veux dire, je ne dirais pas nécessairement dynamiquement, mais ils ne repérent pas immédiatement le monde généré. Voyons donc si nous pouvons trouver l' un de nos produits personnalisés. Est-ce que c'est déjà un tigre là ? Il y a déjà un tigre ici dans la forêt. Il y en a un autre, un autre. Mais c'est ce que je veux dire, c'est à quel point ça peut être facile. Vous avez vu que c'est assez simple. Tout ce qui est considéré, comme je l'ai dit, ne pas le changer devrait également être totalement facile. Vous pouvez voir qu'il y a d'autres tigres. Je veux que nous puissions trouver des ratons laveurs aussi. Peut-être juste juste juste au-dessus de cette colline, commandement. Des ratons laveurs. C'est le cas, allons-y. Nous les avons trouvés pour lire ratons laveurs et deux disques sombres. C'est plutôt cool. Oui, c'est donc le plus facile d'ajouter un Minecraft de génération d'entités personnalisées qui l'a déjà pour cette conférence ici. Comme toujours, bien sûr, tout le code est à votre disposition dans le référentiel GitHub et individuel. Mais sinon, je vous verrai lors de la prochaine conférence. 112. (Sujets supplémentaires): Ou je me réjouis de revenir au cours de forge pour 118. Et dans cette conférence, nous allons ajouter des métiers personnalisés à un villageois. Ce sera donc des traits personnalisés pour villageois déjà existants, très importants ici. Nous n'ajouterons donc aucun villageois personnalisé pour le moment. Cela pourrait se produire à l'avenir, mais je n'y compterais pas nécessairement pour le moment. Nous devons donc entrer dans notre classe Événements. Il y a juste un événement ici. Dans la classe la plus avancée. Je vais juste copier la méthode et c'est très, très simple. C'est tout ce dont nous avons besoin. Vous pouvez voir que nous allons simplement utiliser les métiers villageois de n ici. Et puis nous allons juste dire, hé, si le type est spécifique, une profession où nous voulons ajouter nos traits, alors nous ajoutons notre métier à cela. C'est littéralement tout ce que nous faisons. Vous pouvez voir que c'est très, très simple. Vous pouvez voir que c'est ainsi que vous filtrez. Donc, si vous voulez ajouter quelque chose pour une autre profession, suffit de copier la déclaration if et cela a changé le professionnel ici. Quelque chose d'autre que vous voulez ici ? Vous pouvez spécifier le niveau de villageois ici même lorsque vous effectuez des transactions. Ensuite, vous passez au niveau du village ou du levier ici, puis vous ajoutez simplement l'offre du marchand que vous voulez. Donc, celui-ci ici, donc l'émeraude réelle ici est ce que vous payez. L'offre marchand. Vous pouvez également ajouter deux articles, trois articles, des piles, puis ce sont les deux choses pour lesquelles vous devez payer. Dans ce cas, nous avons une pile d'objets, l'émeraude aux émeraudes. C'est ce que nous payons, puis nous allons obtenir de riches navets pour cela. Ensuite, vous pouvez voir Max usages, nous pouvons l'utiliser dix fois. La vitesse est de 50. Je pense que c'est un peu trop élevé pour les choses ici. Je pense donc que c'est plutôt dans le domaine de expérience à un chiffre d'habitude, mais quel que soit le cas, je veux dire, tous ces chiffres recommandent vivement de jouer avec eux d' une façon. ou l'autre. Je veux dire, c'est probablement la chose la plus intelligente de toute façon, mais c'est littéralement tout ce dont vous avez besoin. Vous pouvez simplement copier cela dans autant d'instructions if ici que vous le souhaitez, autant de traits que vous voudrez ajouter. Mais c'est littéralement tout ce que vous devez faire , c'est vraiment facile, vraiment simple. Je veux dire, vous ne pouvez pas simplifier les choses, honnêtement, vraiment. Je veux dire, je suppose que juste pour l'achèvement, voyons si cela fonctionne ou si nos réponses sont de retour dans Minecraft et ils peuvent voir que nous avons déjà les navets ici, donc je peux simplement mettre des émeraudes Et je vais prendre mes 12 navets. Cela fonctionne déjà, notre coutume. Et vous pouvez voir à quel point l'agriculteur réel a encore une fois vécu . Et puis passons à l'outil Smith et obtenons quelques outils ici pour que nous puissions le niveler jusqu' au niveau trois parce que nous avons besoin d'eux au niveau deux, niveau trois, prenons un peu de fer. Lingots voyant, si vous échangez aussi, lingots de fer le but. Et puis, espérons que cela va s'arranger. Prenons des lingots de fer. Et le niveau trois devrait être juste au coin de la rue. Ils ont été mis à niveau, mis à niveau. Allez-y et voyons maintenant. Nous n'avons pas le Paxil dans ce cas, donc cela n'a pas vraiment fonctionné. Bien, assez juste. Je suppose que nous allons dire l'autre, alors. Laissez-moi juste mettre à niveau rapidement ou cet outil Smith était un peu plus coopératif. Vous pouvez voir le cobalt Paxil. Vous y allez. Nous pouvons donc obtenir cela et ensuite nous pourrions l'utiliser. Cependant, nous le souhaiterions. Vous y allez. Donc, tout comme nous nous attendions à ce que l'outil actuel fonctionne, il fonctionne et c'est parti. Il a pu être échangé ici par l'intermédiaire de l'outil Smith et là encore une fois, les navets ici, nous pouvons en obtenir quelques-uns et ils partent. Donc, le max utilise aussi le travail totalement bien, mais juste comme nous nous attendons à ce qu'il soit vraiment cool. Et c'est en fait à quel point il est facile d'ajouter des traits personnalisés aux villageois. Comme je l'ai dit, il s'agit bien sûr de villageois existants, mais cela ajoute déjà quelques idées différentes à votre mod, ce qui est vraiment cool. Je recommande donc vivement de vérifier ça, mais sinon ce sera pour cette conférence ici. J'espère que cela vous a été utile et que vous avez appris quelque chose de nouveau. Je vous verrai lors de la prochaine conférence. 113. (1.18.2) Mise à jour des falaises à 1.18.2: Bon, bienvenue au cours de forge pour 118. Et dans cette conférence, nous allons mettre à jour notre projet à 118 jusqu'à présent avec la sortie des années 1880, il y a quelques changements, mais heureusement rien que nous puissions réparer tout à fait croûte. Rien n'est trop fou. La seule chose assez drôle qui est complètement brisée ou pas complètement, mais dans une large mesure, le titre est-il assez drôle ? Je ne sais pas pourquoi ils ont changé l'écran de titre, mais quel que soit le cas, nous allons simplement mettre à jour et vous allez voir les changements dans le fichier DOD Gradle intégré. Il y a bien sûr quelques changements à apporter. Ce que nous allons faire, c'est d'abord jeter un coup d'œil à la version actuelle. La version actuelle, comme vous pouvez le voir, 40012, encore une fois , bien sûr pour vous, cela va probablement être une version ultérieure. Donc, tu vas juste prendre ça à ce moment-là, et ça ira bien. Nous allons donc le faire d'abord. Nous allons donc aller ici aux dépendances 40012. Et puis il s'agit simplement de vérifier, double-vérifier 40121, 1000th 2. C'est exact. Et puis, avant de recharger cela, nous voulons également obtenir la dernière version de, de Gecko Lip, car je crois que l'ancienne ne fonctionne pas. Nous voulions donc le faire en 312 ici, juste aller à l' installation vous une fois de plus, et ensuite nous l'utilisons également. On va donc le faire ici il y a eux. Et ça devrait être à peu près tout ça. Outre, bien sûr, les mappages de parchemin, c'est extrêmement important pour les mappages de parchemin. Nous voulons en fait des mappages de parchemin très spécifiques et ils seront les suivants. Je vais les copier et cela sera, bien sûr, à nouveau disponible pour vous dans le référentiel GitHub, un individu tout aussi. Vous voyez, nous prenons essentiellement les cartes de parchemin des années 1800, puis nous remettons en place les mappages officiels normaux des années 1880. Si vous n'avez pas cette configuration comme celle-ci, vous rencontrerez certains problèmes et certaines méthodes ne seront pas disponibles. Gardez donc cela à l'esprit si vous utilisez des aimants personnels pour l'utiliser ou s'ils sont mis à jour vers 172, vous pouvez bien sûr également mettre à jour vers cette version à ce moment-là. Mais ensuite, on va cliquer sur le petit éléphant. Si cela n'apparaît pas, vous pouvez ouvrir l'onglet Gradle, puis appuyer sur les modifications de rechargement ou de Gradle. Maintenant, cela peut prendre jusqu'à une minute ou deux. Et parce que je l'ai déjà fait, cela devrait être pris pour moi. En général, il y a quelques secondes. Voyons voir, il suffit d'être patient et de le laisser passer. Et puis nous verrons qu'après avoir réussi une construction, ils ont été construits avec succès ont pris deux bonnes minutes ici. Mais encore une fois, bien sûr, soyez patient et attendez que vous obteniez une construction réussie et tout ira bien. Mais la première chose que nous allons faire, c'est que nous allons entrer dans notre cours de mod de cours MC et nous allons faire une chose et ça va tirer le gecko lib dot initialisé. Cela aurait probablement dû être ajouté à l'avance, mais c'est le meilleur moment que jamais pour l'ajouter. Et ensuite, on va bien se passer ici. Je pense que c'est ensuite strictement nécessaire, mais c'est absolument recommandé, du moins au moins. Et puis quels sont les changements alors que les changements se sont produits principalement dans les balises, puis aussi les changements qui se produisent dans les paquets mondiaux. Nous allons y jeter un coup d' œil dans un instant. Et ensuite, il y a aussi un petit changement dans l'entité de bloc avec la recette personnalisée. Tout d'abord, nous allons nous attaquer aux balises ici. Vous pouvez voir si la taxe sur les noms optionnels n'existe plus. Mais ce qui existe, c'est la clé TAC, et nous allons simplement remplacer cela par du tacky. Cliquez dessus, appuyez sur Alt et Entrée pour importer cette classe. Ensuite, nous allons modifier toutes les balises optionnelles pour qu'elles soient tack key. là que tu y vas. Et puis, au lieu de créer une option ici, nous ne faisons que créer des points. Vous pouvez voir que nous ne faisons que changer cela pour créer. Et voilà que tu y vas. C'est à peu près tout ce que nous devons faire maintenant, une chose qui ne fonctionne toujours pas car la tige de descente précieuse ici, vous pouvez voir, nous ne pouvons pas seulement tous les Contient ici. Maintenant, c'est ce que vous diriez ? Je veux dire, un peu ennuyeux pour être honnête. C'est la façon dont cette configuration est vraiment bizarre. C'est donc ce que vous devez mettre là-dedans. Voir le bloc de points du registre, son support ou sa gorge. Ensuite, nous allons obtenir la clé de ressource de registre pour ce bloc que nous transmettons ici. Alors, nous disons : OK, est-ce que ce support est à l'intérieur des objets de valeur de la canne de descente ? C'est fou la façon dont cela est configuré maintenant, je ne sais pas pourquoi les changements se sont produits. Je dis simplement que c'est essentiellement la façon dont nous devons le faire. Et je vais juste, on va être en mesure de trouver avec ça en gros. Mais c'est là les changements ici. Les balises sont donc terminées. En fait, passons à la recette ici. Toutes les recettes de mod, cette ligne ici ne peut plus être dans cette méthode. Ce que nous voulons réellement faire, c'est dans le package d'événements, dans le mode événement passé, nous voulons ajouter un nouvel événement. Nous allons donc juste copier ça pour le moment ici. Il va s'agir d' enregistrer les types de recettes. Ensuite, ce que nous allons faire, c'est que nous allons prendre cet événement Registry Registry juste ici, et nous allons le modifier de la manière suivante. Nous allons donc dire que ce n'est pas dans les réalités mondiales, mais c'est en fait le sérialiseur de recettes il y a. C'est donc ce dont nous avons besoin. Bien sûr, cela vous est encore une fois disponible dans le référentiel GitHub en individuel. Et ensuite, nous allons copier cette ligne si vous avez plusieurs types de recettes, bien sûr que vous vouliez les ajouter tous ici, toutes les méthodes de registre de points du registre, et tout ira bien. Maintenant, cela fonctionnera aussi. Et maintenant, nous pouvons entrer dans la folie qui va devenir la génération mondiale. Mais dans l'arbre abstrait, vous pouvez voir maintenant que nous ne voulons plus la fonctionnalité configurée ici. Ce que nous voulons vraiment, c'est un holdout, n'est-ce pas ? On va donc dire «  Accrochez-vous » et ça va être très intéressant. Il y aura un point d' interrogation qui va s'étendre, étendre la fonctionnalité configurée ici. Ensuite, nous allons le faire et ensuite nous pourrons passer à la classe d'entités configurée sur et ensuite changer cela. En conséquence. Cela va donc également être un détenteur. Dans ce cas, le point d' interrogation s'étend, puis il est configuré, puis ici à la fin, en ajoutant le support d'angle de fermeture. Encore une fois, bien sûr, tout ce qui est disponible dans le référentiel GitHub, un individu tout aussi. Ce que nous allons voir, c'est que cela est configuré que nous n'avons plus besoin d'inclure le point. Nous allons remplacer cela par une virgule, puis supprimer les parenthèses d'ouverture et de fermeture à la fin. Il ne devrait plus s'agir d'une erreur. C'est là que tu y vas. Et cela devrait aussi bien se passer. Maintenant, ce que nous devons faire, c'est que nous pouvons maintenant passer de la fonctionnalité de configuration à la fonctionnalité de configuration à l'autre. Nous devons maintenant ajouter une autre fonctionnalité de lieu ici, et je vais le copier une fois de plus, tout ce qui vous est disponible dans le référentiel GitHub en individuel tout aussi. Et vous pouvez voir ici, nous avons essentiellement cette fonctionnalité de lieu une fois de plus au lieu de ce support ici. Et nous filtrons essentiellement par bloc la survie de l'échantillonnage, comme nous le faisons ici. Au lieu de le faire en ligne, nous le faisons essentiellement avec une fonction de lieu ici. Ensuite, nous utilisons la fonction place dans cette liste de configuration aléatoire, comme nous le faisons ici. C'est donc très, très similaire, juste un peu différent, je suppose qu'en ce qui concerne les rameurs, cela devrait également être assez simple. Nous devons juste changer cela ici. En fait, nous ne voulions plus appeler cela. Donc, le vide réel n' est plus une chose. Nous voulons faire quelque chose comme ça, mais vous ne voulez même pas retourner quelque chose parce que cela prend simplement cela en compte. Nous allons faire quelque chose comme ça. Et puis ce sera l'utilitaire de placement, ce dont nous avons besoin lorsque le placement utils, c'est seulement lorsqu'il est vide. Et puis nous allons passer ça ici et je vais finir ça par un juste là. Permettez-moi de reformater rapidement un peu cela pour que je puisse réellement voir où nous en sommes ici. Laissez-moi un bloc simple avec une nouvelle configuration de blocs. Ils bloquent par exemple le fournisseur de lignes. Passons le curseur au-dessus de ça. Que voulons-nous ? Bien sûr, cela va également être un détenteur. Nous devons simplement changer cela pour un détenteur il y a longtemps, et cela devrait aussi fonctionner. C'est là que tu y vas. Encore une fois, bien sûr, vous pouvez toujours le copier. Vous pouvez voir que les changements ici ou pas si fous, ils sont juste vraiment syntaxiques, même ici avec l'ordre. La commande est probablement la plus facile. Il suffit de changer cela, puis de le remplacer par un détenteur. Il y a eux. Et ensuite, cela doit également être une configuration de guerre, très importante ici. là que tu y vas. Alors, comme vous pouvez le constater, je travaille à peu près aussi. Ce sont donc les changements, bien sûr, les changements sur 0,5. Je dois donc avoir lieu ici dans les dernières fonctionnalités où elles sont toutes porteuses ou non ou configuration sur les supports. Laissez-moi copier le support ici. là que tu y vas. Accrochez-vous. Et je vais le faire pour chacun d'eux juste que nous l'ayons déjà et que nous le gardions ici aussi. là que tu y vas. Ensuite, nous allons cliquer dessus, Alt et Entrée pour importer. Et puis, au lieu de les avoir, ceci placé, ce que nous voulons, c'est simplement supprimer l'endroit à nouveau, ajouter une virgule ici. Maintenant, ça ne va pas être vérifié, ça va réapparaître. Et maintenant, il y a, même ici au lieu d'un endroit, on va juste faire une virgule et ensuite faire quelque chose comme ça. Et puis c'est la même chose que j'ai placée, en le remplaçant par une virgule et ensuite nous pouvons également supprimer cela et cela devrait également fonctionner. Nous devons encore entrer dans les classes Gen car ici a également changé. Il s'agit maintenant d'un détenteur plutôt que d'un fournisseur. Alors, au lieu de le faire en tant que fournisseur, nous allons simplement le faire comme ça. Nous allons donc simplement supprimer le fournisseur ici et cela devrait également fonctionner. Ainsi, supprimez le fournisseur, importez le détenteur. Et puis la même chose ici, dernière. Supprimez ceci comme ceci et il y a longtemps. Et cela devrait être le cas pour la génération mondiale. Voyons la régénération de Morrow. C'est là que tu y vas. Encore des fonctionnalités, plus d'erreurs et maintenant tout devrait fonctionner. Bien sûr, encore une fois, tout est disponible dans le référentiel GitHub, un individu tout aussi bien pour copier. Et ce devrait être tout ce que nous devons faire. Je vais vous montrer ce qui ne va pas avec l'écran de titre dans un moment où nous arriverons réellement à l'écran de titre. Mais maintenant, nous pouvons tout simplement commencer, voir si cela fonctionne. Faisons également un nouveau monde. Et puis on verra si tout fonctionne dans le 1000e deux. Ou l'écran de titre personnalisé est en fait désactivé. On va regarder ça dans un instant. Mais pour le moment, créons simplement un nouveau monde. Faisons un test 1234, et voyons si tout fonctionne encore, si tout apparaît encore, mais je suis assez confiant que c'est le cas, ou Francis de retour à Minecraft. J'ai donc déjà localisé le biome d'un avion ici. Et vous pouvez voir que nos monstres personnalisées ont même frayé. Nous avons eu notre arbre qui fraie nos fleurs. Pour que tout fonctionne parfaitement. Et vous pouvez voir que nous allons juste entrer ici. Nous pouvons obtenir la route de l'explosion du cobalt comme une recette ici, juste pour discuter, pourquoi pas ? Essayons simplement parce que la recette devrait également fonctionner parfaitement. Allons juste le poser. Là, vous allez avec la théorie, vous y allez et ça marche toujours très bien. Vous pouvez voir que nous sommes une pioche au cobalt, ça marche, c'est là-dedans. Et comme vous pouvez le voir, je veux dire, presque tout fonctionne encore. Nous pouvons également jeter un coup d'œil à la tige de descente ici avec la tablette de données qui fonctionne encore il y a un an. Il fonctionne donc très bien. Tout doit être fonctionnel. Et oui, je veux dire, c'est à peu près tout. Jetons donc un coup d' œil à l'écran de titre. Donc je vais juste changer le faux et ensuite nous allons jeter un coup d' œil à écran de titre et aux queues. Très bien, comme vous pouvez le voir, l'écran de démarrage ainsi que les informations supplémentaires dans le coin inférieur gauche ne sont pas présents. Je ne suis pas sûr à 100 % de la raison pour laquelle c'est le cas. Je pense donc que la meilleure ligne de conduite consiste à garder l'écran de tuiles personnalisées désactivé par défaut pour qu'il ne soit pas remplacé. Et puis une fois que j' ai trouvé quelque chose, je vais bien sûr faire une autre brève conférence sur la façon de résoudre ce problème pour le moment, je pense que cela va être a tiré et ce ne sera pas robot trop perturbateur qui conclut à peu près cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors des prochaines conférences. 114. (1.18.2) Structures personnalisées (travailler via tutoriel): Bon, bienvenue au cours de forge pour 118. Dans cette conférence, nous allons examiner une génération de structure personnalisée très importante, c'est que la génération de structures personnalisées ici va bien sûr être de 118 à, si vous avez un mis à jour, vous conseille beaucoup d'aller à la dernière conférence que nous avons eue et où nous avons mis à jour la version 118 pour garder cela à l'esprit, la chose que nous allons faire dans cette conférence particulière, c' est que nous allons y aller via le tutoriel de structure par grognement télépathique. Et c'est juste ici. Je l'ai déjà ouvert ici en arrière-plan, et c'est probablement la meilleure ressource pour les structures qui existe jamais. Je veux dire, comme des accessoires pour la télépathie parce que c'est absolument incroyable. Et nous pouvons voir qu'il y a différentes branches ici. Ils peuvent utiliser les années 1800, forger une branche de scie sauteuse si vous utilisez 1, 1000e 2, et si ce n'est pas le cas, vous pouvez utiliser la branche 0 des années 1800, celle-ci ici. Forge. C'est définitivement un peu différent. En 1 1000e 2. Ce que nous pouvons maintenant faire, c'est que nous pouvons réellement créer des structures personnalisées, les ajouter au monde sans aucun code. Nous n'avons besoin que de fichiers JSON, ce qui est vraiment génial. Dans cette conférence, ce que nous allons faire, c'est que nous allons parcourir ce mod de tutoriel de structure ici, tout le code, tous les fichiers adjacents, les copier pièce par pièce, puis jetez un coup d'œil à ce que vous devez changer. Que pouvez-vous alors, que devez-vous faire ? Et l'idée générale d'ajouter les deux structures ajoutées ici à titre d'exemple. Et ensuite, dans les prochaines conférences, nous allons créer nous-mêmes une structure monobloc. Ensuite, nous allons également créer une structure de scie sauteuse, ce qui est en fait beaucoup plus facile que prévu. En fait, ce n'est pas trop fou. Je pense que oui, bien sûr, si vous avez quelque chose de coutume, bien sûr, ce sera un peu plus compliqué. Mais pour le moment, allons simplement ici et voyons ce que nous devons faire. Allons donc dans la source principale et nous devons ouvrir les deux dossiers. Je vais donc juste au milieu de la souris, cliquez sur Java, puis sur les ressources. Nous allons commencer par le code. Vous pouvez voir Il y a la classe principale que nous avons, c'est ce que j' appellerais les structures mod. Et puis, dans ces dossiers de structures, dans le package structures, nous avons la classe Sky Structures. Mais c'est la première chose que nous allons faire. En gros, je vais réorganiser ça un peu, mais nous allons commencer par les structures mod. Celui-là et parmi ceux qui vont le faire, et ensuite on va le faire 1. Tout d'abord, nous avons besoin d'une classe de structures mod. Eh bien, c'est facile à faire dans le paquet mondial en fait. Ensuite, nous allons entrer ici nouveau paquet appelé structure. Ensuite, au lieu de tous, ils vont faire une nouvelle classe appelée les modèles qui se rompent. là que tu y vas. Maintenant, il est écrit correctement il y a dans cette classe, ce que nous allons faire, c'est que je vais juste copier le contenu ici. C'est en fait, copions tout. Ça va très bien se passer. Je vais le renommer à nouveau ici. Donc, quand je parle de structures modernes, ils veilleront à ce que le nom ici soit correct. Et ensuite, nous pouvons également supprimer ceci et ceci. C'est là que tu y vas. Et il suffit de le reformater un peu. Il va bien sûr maintenant s'agir du support de cours MC chez AdMob ID. Et puis parce que j' aime faire ça, on va le faire , parce que j'aime bien le faire. Nous allons rendre la méthode publique de registre statique des vides avec un Iof n plus Event Pass. Ensuite, nous allons appeler la structure de registre différé. Vous pouvez aussi l'appeler directement dans la classe principale du constructeur, mais nous ne le ferons pas dans cette classe. Nous allons ajouter quelques instants. Donc, dans le mod de cours MC ici, nous allons juste descendre, disons ici pour modéliser les structures qui s'inscrivent et qui passent ensuite dans le tarif de bus de l'événement que vous allez, non ? Et maintenant, nous avons effectivement fait celui-ci ici , puis celui-ci aussi. Vous pouvez voir que c'est littéralement la seule chose que nous devons ajouter. Et puis ici, nous avons la structure du ciel, nous allons simplement copier l'ensemble. Encore une fois, il s'agit du package de structure. Cliquez avec le bouton droit sur la nouvelle classe Java appelée Sky structures, non, péché ici. Ce que nous voulons simplement faire, c'est que nous ne voulions pas dire gestionnaire de journaux, en nous assurant de choisir ou journal de journalisation Apache pour J. Très important. Et puis nous disons qu' au lieu de lager, nous disons encore « lager » ou «  bûche ». C'est là que tu y vas. Ce n'est pas la maison délabrée. Il y a en fait la structure du ciel. Là, vous allez à une position particulière. Et ensuite, nous pouvons regarder ce cours, ce que c'est, que fait-il ? Débarrassez-vous également de cette importation. Et ensuite, tu y vas. Dans l'ensemble de cette classe, vous pouvez voir la fonctionnalité de structure de la configuration de la scie sauteuse. Maintenant, il s'agit d'une sorte de code de plaque chauffante. Vous pouvez voir qu'il y a beaucoup de commentaires que je recommande vivement en votre temps. Passez en revue, lisez tous les commentaires. Essayez simplement de comprendre un peu ce que cela dit. Les idées éternelles selon lesquelles vous avez deux méthodes différentes ici, celles-ci comportent un camion avec et des pièces décrétées. Le générateur et le générateur de pizza creed sont vraiment ce qui nous intéresse le plus. Vous pouvez voir dans le futur coffre, nous sommes en train de vérifier, hé, est-ce que ce morceau est le vrai morceau où il est placé ? En gros, je recommande vivement, comme je l'ai dit, de lire tous les commentaires. C'est fortement recommandé. Mais dans le générateur de pièces créatives, vous pouvez voir ici ce que nous faisons essentiellement ici. C'est intéressant, non ? Vous obtenez donc les coordonnées du coffre dans un article de blog. Ce sera donc ce qu'il fait. Et puis, ici, nous le plaçons 60 pâtés de maisons au-dessus du sommet. Vous pouvez donc le voir faire comme ça. Vous pouvez voir dans le commentaire ici, nous allons faire surface WG qui s'arrêtera au sommet de l'eau afin de ne pas mettre accidentellement notre structure dans l'océan. Et puis c'est essentiellement que vous obtenez la coordonnée Y du sommet du terrain, puis nous y ajoutons 60. C'est donc une façon de modifier fondamentalement le niveau Y. Et puis vous pouvez également voir ici, nous avons pour chacun des différents paramètres que nous mettons ici, le, ce qui se passe ici. C'est vraiment bien fait. Je peux simplement vous recommander s'il y a une chose complexe que vous voulez faire, lisez les commentaires qui sont ajoutés ici et tout ira bien. Maintenant, c'est tout le code dont nous avons besoin. C'est très intéressant car le reste se fait avec des fichiers JSON. Nous allons simplement revenir à GitHub nouveau et nous allons fermer tout cela, puis nous sommes ici dans les ressources. La chose dont nous avons besoin est dans le dossier de données, nous allons en fait devoir ouvrir beaucoup de choses ici. Nous devons ajouter ces trucs et ces trucs. Si nous ajoutons notre structure à cette balise, vous pouvez voir que microbe a des balises de fonction de structure configurées qui ont un comportement. Et puis cela va essentiellement l'ajouter à un localisateur. Nous construirons sur les photographes, les villageois, la carte de l'océan, les cartes des monuments. Cela n'est pas strictement nécessaire. C'est juste une chose intéressante. Nous n'allons pas réellement mettre en œuvre celle-ci. Nous allons simplement l'ignorer et nous ne nous intéresserons qu'au dossier de données de notre propre dossier personnalisé. Celui-ci, bien sûr, étant un tutoriel de soulignement de structure ou les heures d'identification de mod sera un cours Mc. Ensuite, nous allons ouvrir ces trois dossiers. Et puis vous pouvez voir les structures ici sont des données NVT. C'est très intéressant. Les données NVT sont donc générées à l'intérieur du temps au lieu de Minecraft. Ainsi, vous construisez votre structure, vous utilisez certains blocs pour la générer pour le moment. Dans cette conférence, nous allons prendre ces données NVT et nous allons juste les copier. Et ensuite, nous devrons modifier un petit peu les données NVT, mais pas de soucis. Nous allons voir cela dans un instant. Pour le moment, nous allons simplement télécharger les quatre. Nous allons donc simplement aller ici, les ouvrir tous, puis télécharger, télécharger et télécharger. Et vous pouvez voir qu'ils se trouvent sous les structures d'ID de Data Mart, puis dans le fichier réel. Donc ce que nous allons faire, c'est à l'intérieur de notre dossier de données, MC, bien sûr, nous allons créer un nouveau répertoire appelé structures, puis je les ajouterai tous là-dedans. Je vais juste le faire comme ça. là que tu y vas. Tout comme les faire glisser dans ce dossier. Je veux dire, à ce stade, devrait être assez explicite. Comment ajouter des trucs suit ici, en les faisant glisser là-dedans. Ensuite, nous avons les données NVT ici. C'est vraiment bien. Et c'est la première partie. Et maintenant, nous devons revenir en arrière ici. Nous pouvons nous débarrasser de tout cela ici. Il y a une heure ici dans les tags monde gen biome a une structure. C'est donc un tag vraiment cool que nous allons ajouter. Et c'est vraiment vraiment cool parce que vous pouvez tout d'abord voir les biomes des fans de ciel ici. Et puis il y a aussi la seule maison JSON. La seule maison JSON, si vous vous rappelez dans nos structures que nous avions, nous n'avions que les structures du ciel ici. Il n'y a aucune mention de maison. Exactement. C'est ce que je dis. Vous pouvez réellement ajouter certaines structures sans avoir de code du tout. Ces DJ et n'entendent que la maison. Cela va essentiellement nous permettre de le faire. Je vais le faire, c'est que je vais juste les posséder tous les deux. Ce que je fais, c'est que je vais juste copier le nom ici parce que c'est un peu plus facile. Et c'était une étiquette dans notre cours MC, des étiquettes de hold-up. Et ça sous cette enfer, Jen. Et puis, au lieu d'ici, ça va être sous biome. Et puis une autre structure, un autre répertoire appelé structure de soulignement. Et puis on peut ajouter le fichier ici, ce 1 d'abord. Et ensuite, nous allons également obtenir le deuxième, le nom ici également, un nouveau fichier. Tu y vas, Jason n' héberge que des biomes et tu peux en voir le contenu si je dois copier celui-ci. Il s'agit donc de la structure du code Skype et des biomes. Vous pouvez voir que cette taxe sur les biomes spécifie quels biomes, elle commence réellement dedans. Vous pouvez soit le démarrer avec des réservoirs de biome, avec un hashtag, soit spécifier un biome spécifique comme celui-ci. C'est vraiment génial. C'est ainsi que vous pouvez spécifier essentiellement dans quels biomes cette structure particulière engendre, mais aussi copier le contenu de celle-ci. Ils s'en vont. Sans celui-là. Bien sûr, vous y allez. Et tout le saccharose est également disponible dans le référentiel GitHub dans le, tout aussi. Ne vous inquiétez pas là. Cependant, je pense vraiment que c'est le meilleur si vous travaillez à travers ce tutoriel sur la structure avec moi une fois et peut-être même une fois par vous-même, juste pour que vous connaissiez chaque partie individuelle. Vous pouvez donc dire que cette balise de biome de génération mondiale a une structure, est utilisée pour spécifier les biomes dans lesquels nos structures fraient. Mais nous pouvons maintenant maintenant fermer cela aussi. Ensuite, nous pourrons passer à la prochaine génération mondiale. Il y avait ce dossier, donc on va aussi le fermer. Et ensuite, vous pouvez voir qu'il y a quatre dossiers différents ici. Encore une fois, tous vraiment intéressants. Donc, nous allons juste ouvrir le premier et nous allons essentiellement nous occuper de cela. Nous pouvons voir que nous avons ici la structure de code Sky Fundraising et la seule maison adjacente pour la fonction de structure configurée. Encore une fois, je vais copier le nom ici et nous allons y jeter un coup d'œil. Les données sont donc plus idéales pour la pègre , et puis la fonction de structure configurée, nous allons entrer dans le cœur. C'est donc sous les étiquettes, si important que vous ne le mettez pas accidentellement ici. Sous le dossier de cours EMC. Nous voulons en fait un nouveau dossier appelé World Gen, qui devrait ensuite se trouver sous vos balises. Assurez-vous donc que c'est correct, pas à l'intérieur de ce dossier. Assurez-vous que c'est le cas, vous en avez deux. Vous voyez X Gen. Celui-là, il a des trucs de structure. Et puis ce dossier World Gen est à la place de votre identifiant plus pour votre cours MC plein de très, très important qu'il y ait une différence là-bas. S'il vous plaît, assurez-vous que c'est correct. Au lieu de suivre cette génération mondiale, nous pouvons en fait jeter un coup d'œil aux quatre différents. Les choses dont nous avons besoin, faisons-le comme ça un instant. Nous allons juste dire que c'est la fonction de soulignement de la structure de soulignement configurée. Et ensuite, nous allons juste copier celui-ci ici. Nous allons dire que c'est le processus ou la liste de soulignements, et ensuite nous allons copier celui-ci. Il s'agit du jeu de soulignement de structure. Et puis dernier point mais non le moindre, nous avons également le pool de soulignements de gabarits, bien sûr, nous assurons que tous ces éléments sont écrits correctement. Ensuite, nous pouvons procéder à la fonction de structure configurée ici. Et nous allons juste y retourner une fois de plus et nous allons dire celui-ci, ce nom ici. Je vais créer un nouveau dossier Drazen. Nous allons cliquer avec le bouton droit sur un nouveau fichier, l'appeler comme ceci. là que tu y vas. Ensuite, copiez le contenu de celui-ci. Ensuite, nous allons voir où sont les premières choses que nous devons réellement changer ici. Et comme vous pouvez le constater, il y a encore beaucoup de commentaires, pas de soucis. Au fait, ces flèches, vous pouvez les ignorer dans les fichiers JSON car elles vont toujours travailler. Et donc pas de soucis là-bas. Vous pouvez voir essentiellement ici que nous avons quelques remplacements, ce qui signifie que ces monstres particuliers peuvent apparaître dans cette structure, vous pouvez voir quelles mafia peuvent apparaître au fil du temps dans la structure. C'est également très intéressant ici, si la vraie terre se trouve autour du bas d' une structure basée sur la valeur y des pièces. C'est aussi quelque chose que vous pouvez faire. Celui-là est le tag. Nous devons spécifier cette balise ici. Bien sûr, cela change à notre ID de modèle et a ensuite des structures est la même chose et alors ce nom est la même chose que celui-ci. Nous n'avons donc pas besoin de changer cela le chemin d'accès au fichier JSON pauvre du modèle, bien sûr, doit également être le cours MC. C'est adjacent que nous allons ajouter juste un instant sous le pool de modèles ici. Et ensuite, nous allons également changer ce nom structures de ciel de cours MC. Il est très important que ce nom puisse voir la classe de structure de base à utiliser pour le comportement de la structure. On peut donc voir dans les structures mod ici même, c'est le nom des structures du ciel et est de cela qu'il fonde. Mais il s'agit essentiellement de la connexion entre ce fichier JSON et cette structure, principalement comme cette classe de structure ici. Gardez donc à l'esprit que vous avez écrit correctement l' année de type quand il s'agit de la maison JSON uniquement, n'est-ce pas ? Nous allons juste copier à nouveau le nom. Nous allons le placer dans le même dossier, un nouveau fichier ici. Allons-y et ensuite le contenu réel a de nouveau copié. là que tu y vas. Et puis, ici, nous devons également changer une fois de plus, car cela devrait avoir du sens au cours de MC. Ensuite, nous changerons cela en cours MC également. Cela va chercher un fichier JSON dans le pool de soulignements de modèle plus ancien, où nous ajoutons cela en un instant En dehors de cela, le reste peut rester. Par exemple, vous pouvez voir qu'il y a des illusions ou des pillagers et des parents qui pourraient apparaître ici. C'est vraiment intéressant. Nous allons ensuite continuer. Nous avons maintenant géré la fonction de structure configurée , puis nous pouvons consulter la liste des processeurs. C'est également une chose très intéressante. En fait, nous pouvons simplement obtenir cela en fonction du dossier ici. Il suffit de le copier et nous allons le regarder à l'intérieur. Voici la liste des processeurs, un nouveau fichier appelé les traits de soulignement aléatoires des souris ne casse pas Grayson. Et c'est très intéressant. Je vais donc coller ça dedans. Et vous pouvez voir que c'est une règle, et ce qu'elle fait, c' est qu'elle remplace une certaine chose. Vous pouvez donc voir que le bloc que nous recherchons est la brique de pierre. Et cela a 50 % de chances de permettre le remplacement de la brique de pierre trouvée par différentes choses. Par exemple. Et vous pouvez voir si nous trouvons une rupture de pierre, il y a 5 % de chances de le remplacer par une émeraude OU, et vous pouvez voir ici qu'il y a 50 % de chances de le remplacer par une brique de pierre infestée. Et ensuite, ici, vous pouvez voir quelques ardoises profondes peuvent être remplacées à valeur de 10 % ou une probabilité de 10 par un Redstone à l'état profond. Ce sont des exemples très intéressants d'une de ces règles intéressantes, ce qui est vraiment intéressant, ce qui peut rendre vos structures encore plus, eh bien, je veux dire que plus intéressant si vous pouvez ensuite remplacer certains blocs dans certaines conditions, essentiellement avec une certaine probabilité ici d'être d'autres blocs. C'est vraiment cool et vraiment génial. C'est donc certainement quelque chose à jouer avec un peu à votre époque aussi. Mais cela a également été ajouté et nous verrons où cela sera utilisé dans un instant que nous puissions le fermer également. Ensuite, ouvrons simplement à la structure définie dans le pool de modèles. Vous pouvez voir toutes les deux une fois de plus, la structure est définie. Nous avons deux fichiers JSON, un pour chacune de nos structures différentes une fois de plus. Nous allons donc lire ces dossiers Jason aussi. Lisez celui-là. C'est là que tu y vas. Ensuite, je vais copier le contenu ici. Encore une fois, tu y vas. Donc celui-ci est l'un des, eh bien, je dirais que c'est l'un des fichiers JSON les plus faciles. Je dirais juste changer le nom ici. Et puis, bien sûr, dans ce cas la structure ici, il devrait chercher ce fichier JSON ici si je ne me trompe pas. Et ensuite, le placement ici est très important. Donc, le sel ici, vous pouvez le voir. Assurez-vous que c'est unique et ne correspond à aucune autre structure de sel. Sinon, ce qui va se passer, c'est qu'ils seront placés au même endroit, ce qui est bien sûr quelque chose que nous ne voulons pas. Et vous pouvez voir la prise en charge de la distance moyenne en morceaux. Et là, c'est la distance minimale entre votre coffre. Celui-ci doit donc toujours être plus petit que celui-ci. C'est logique. Et puis, ici, nous choisissons simplement un écart aléatoire. Il est également conseillé de le garder comme ça. Et c'est à peu près ce dont nous avons besoin. Oreille. Et ensuite, ce dont nous avons besoin, c'est le cas normalement de la maison aussi. Nous allons y arriver aussi, il y a et ensuite le nom ici, donc un nouveau fichier et ensuite copier le contenu. Et vous pouvez voir que c'est encore une fois un changement ici. Il y a eux. Et vous pouvez voir ici que ce sel est différent de ce sel. Encore une fois, je vous recommande vivement si, lorsque vous ajoutez votre propre structure personnalisée. Lorsque nous ajouterons les structures personnalisées dans les deux prochaines conférences, vous verrez que nous allons également changer le sel. Très, très important. Sinon, il s'agit d'un fichier JSON assez simple. Une fois de plus, celui-ci pointe vers la fonction de structure configurée ici. Maintenant, la dernière chose dont nous avons besoin, c'est le pool de modèles. Ce sera donc les fichiers JSON ici. Je vais donc fermer ceci, ceci et ceci. Vous pouvez voir que nous avons le seul fichier adjacent ici et nous avons deux fichiers JSON pour la maison. Nous allons d'abord utiliser le ventilateur du ciel. Ça va être juste ici à l'intérieur. Donc Skype sur Jason et ensuite je vais copier ça aussi. C'est là que tu y vas. Et vous pouvez voir ce qui se passe ici, c'est que tout d'abord, dans le nom ici, je vais changer. Donc ce n'est pas strictement nécessaire en fait, car je crois que le nom ici est à peu près c'est le nom du pool de modèles lui-même. Je ne pense pas que cela ait vraiment besoin d' être changé ici, pas sûr à 100%, mais vous pouvez également voir qu'il y a un lien ici pour le fichier JSON de pools de modèles. Je recommande vivement de vérifier cela également. Cela est bien sûr lié ici aussi, donc pas de soucis là-bas. Et ensuite, vous pouvez voir quels sont les éléments que nous recherchons ? Eh bien, nous sommes à la huitième place. Encore une fois, le tutoriel de structure doit passer au cours MC, le fan du ciel. Maintenant, comme vous pouvez le voir, le chemin final est tutoriel de structure de données des ressources dans nos cas cours MC, C'est les structures déroulées, la maison gauche, le côté gauche MVT. Bien sûr, ce n'est pas tout à fait juste. Cela recherche les ventilateurs Sky Underscore, NVT , Sky Fan, puis ici, Skype et MET sous l'emplacement du cours EMC. C'est là qu'il cherche. Et puis celui-ci est également très intéressant. Vous pouvez voir que nous ajoutons dans le processeur ici, qui est le cours MC, pierre randomisée, brique. C'est exactement ce fichier JSON ici, donc ce n'est pas nécessaire. Ce n'est qu'un bonus supplémentaire, pour ainsi dire. Et vous pouvez voir spécifier la liste des processeurs, puis l' applique essentiellement au fichier NVT ici lorsque vous la placez dans le monde. Et ensuite, c'est là. Vous pouvez voir que les listes de processeurs sont idéales pour randomiser les blocs et rendre les structures plus naturelles. Vraiment génial, vraiment cool, et globalement pas trop fou à utiliser. Encore une fois, c'est l'une de ces choses où bien sûr, ajouter exactement ce que vous voulez pourrait être un peu délicat. Mais dans l'ensemble, c'est quand même vraiment cool de jeter un coup d'œil et de changer et de jouer avec, non ? Ce sera donc le fan du ciel. Et maintenant, nous allons faire cette maison délabrée. Vous pouvez voir qu'il existe un pool de sites et un pool de stockage. On va presque tous les deux, on va d' abord aller à la piscine du site. Et c'est dans un nouveau dossier ici, qui va s'appeler Run underscore down Underscore house. Et ensuite, nous aurons un nouveau fichier appelé « Dot Underscore pool », Jason. Et nous aurons également une base qui s'appelle le pool de soulignements du site, soulignera point dot js et cite en fait le trait de soulignement latéral Poole trompé adjacent. là que tu y vas. C'est le pool de sites JSON, et puis celui-ci ici est le pool de départ Jason, pourquoi avons-nous besoin de deux d'entre eux ? Eh bien, la maison délabrée est une structure de scie sauteuse, ce qui signifie qu'elle en a deux parties différentes. Vous avez un côté gauche, juste ici. On va encore changer ça en cours MC. C'est le côté gauche de la maison délabrée, qui pointe vers celle-ci, ces données NVT ici, maison délabrée côté gauche et la piscine latérale. Vous pouvez voir que nous avons une liste d' éléments qui ont des poids différents ici. Et il pointe vers deux NVT différents par ailleurs fondamentalement. Et vous pouvez voir qu' il y a 50 % de chances de frayer la course de l'or au lieu de la course normale. C'est l'idée ici. Et nous allons en voir un exemple, la structure de scie sauteuse personnalisée que je ferai aussi. Encore une fois, bien sûr, modifier l'ID MOD ici, ce qui est très important. Et ici, nous pouvons simplement changer l'idée du mode. Je ne pense pas que ce soit strictement nécessaire, mais nous allons le faire aussi, juste pour que nous l'ayons. Vous pouvez donc voir qu'il y a beaucoup de pièces mobiles ici. Cependant, je vais résumer encore une fois parce qu' il y a une autre chose que nous devons changer, car en l' état actuel, cela ne fonctionnera pas à 100%. En fait, la maison délabrée ne va créer qu'un côté gauche et un côté droit, car dans ces données MPT, le mauvais monodie est sauvegardé. Nous allons voir comment résoudre ce problème dans un instant. Mais tout d'abord, résumons tout ce que nous avons fait. Nous avons ajouté deux structures différentes. Nous avons également ajouté la structure du ciel en utilisant un code, principalement la classe des structures du ciel ici, qui peut être utilisée à certaines autres entités qui ne peuvent être ajoutées que via le fichiers JSON. Principalement, vous pouvez voir celui-ci ici même où nous spécifions la position y réelle de cette structure particulière et d'autres choses également. Mais ce que nous avons également fait, c'est que nous avons également créé une structure uniquement avec des fichiers JSON. Et vous pouvez voir la structure dont nous avions besoin. 12345 fichiers Jason différents qui bien sûr, doivent tous se trouver dans les bons emplacements et sont tous liés les uns aux autres. Réfléchissons une seconde à cela. Il est donc préférable de commencer par le pool de stockage ici, car le pool de magasins fait référence au fichier NVT. Il s'agit du fichier NVT ici, sous les structures d'ID de mod de votre dossier de données dans VT. Et cela est référencé ici même dans la piscine des étoiles. Maintenant, alors que le pool de magasins référence à son étoile plus référencée dans la classe d'entités de structure configurée ici. Nous pouvons donc voir qu' il s'agit du pool de magasins référencé. Vous pouvez voir que c'est la configuration de cette structure particulière et cela a été référencé, alors que le biome Jason est également référencé, c'est le monde sous la fiscalité, Jin biome a structure. Jason seulement Comment se passe les biomes, qui signifie fondamentalement rapidement dans quels biomes cette structure peut-elle apparaître ? Cela explique à peu près cette poursuite et suivi ici, ce fichier JSON est utilisé pour ajouter réellement le monde, ajoutant essentiellement la structure au monde que cette structure est définie. Vous pouvez voir dans ce commentaire ici essentiellement qu'il va choisir l' une de ces structures. Je veux dire, dans ce cas, il n' y a qu'une seule structure. Vous pourriez théoriquement à de multiples structures d'un non confondu car ce droit ici se réfère à celui-ci. Je ne suis pas sûr à 100% là-dessus, mais je pense que cela devrait renvoyer à ce fichier JSON particulier, qui fait bien sûr référence au pool de magasins et aussi aux biomes. C'est en quelque sorte la façon dont ils sont interdépendants les uns avec les autres, juste à ce moment-là pour le pool de sites. Mais parce que c'est l'une de ces choses intéressantes, le cycle est une fois de plus parce que nous utilisons le bloc de scie sauteuse. Je vous recommande vivement si c'est un peu déroutant avec un pool psychique pour vous. Nous allons le voir dans le, quand nous parlerons des scie sauteuse dans les prochaines conférences. Et c'est ça. Il y a donc un certain nombre de pièces mobiles. Encore une fois, je vous recommande vivement de devoir regarder cette conférence deux fois. Il n'y a aucun moyen de contourner ça. Les structures peuvent être assez compliquées. Cependant, une fois que vous les avez configurés, une fois que vous ajoutez d'autres structures , c'est très simple. Ceux qui sont tout mis en place ici. Je recommande de ne rien changer trop, c'est fondamentalement changer votre ID MOD, cet identifiant Ahmad en votre identifiant de modèle, et alors ça devrait être tout, n'est-ce pas ? Donc, parce que c'est essentiellement tout ce dont nous avons besoin pour le moment, ce que nous allons faire, c'est que nous allons créer un nouveau monde, voir si le produit apparaît, et ensuite nous verrons que nous devons changer encore une chose, ce qui va être assez simple à changer. Mais voyons simplement si cela fonctionne. Gardez également à l'esprit lorsque vous créez ces structures, vous obtiendrez que l'utilisation de paramètres expérimentaux dans le monde n'est pas prise en charge. C' est juste ce que c'est. Vous pouvez simplement cliquer sur Continuer. C'est le mien. Cela pourrait sembler un peu différent si vous vous joignez à un monde qui existe déjà. Dans ce cas, cela créait un nouveau monde. y a essentiellement aucun moyen de contourner ça. Cela va apparaître, mais pas de soucis. Vous pouvez fondamentalement l'ignorer. Il suffit de dire continuer et voilà. Très bien, nous nous trouvons donc dans Minecraft et vous pouvez voir qu'une de ces structures a déjà été ajoutée avec succès ici, et il y en a même une autre. Ils sont peut-être un peu trop proches. Mais tout d'abord, vous pouvez voir la structure réelle frayer. Vous pouvez également voir certaines personnes déjà engendrées sont comme des monstres ici. Et puis ce qui est vraiment intéressant, vous pouvez voir les remplacements ici. Vous pouvez voir que certaines briques ont été remplacées et certaines d'entre elles sont également infestées. C'est vraiment cool. Il y a donc 50 % de chances, bien sûr, qu'ils soient investis. Et puis certains d'entre eux sont également remplacés par l'Emeraude OR, et vous pouvez voir que certains de ces éléments sont également remplacés par des pierres rouges. Tout ça, c'est vraiment cool. C'est le truc de remplacement qui a été fait. Et vous pouvez voir qu'ils le sont, ils sont en train de frayer. Ensuite, l'autre, la maison, nous devrions la trouver très, très vite parce qu'elle est née comme tous les rares, il y a déjà une maison. Et ce que vous constaterez, c' est que ça ressemble à une demi-maison, n'est-ce pas ? Oui. On dirait une demi-maison parce que ce n'est qu'une demi-maison. Vous pouvez voir. Tout d'abord, il y a également quelques conseils utiles ici. Je recommande vivement de les vérifier également. Mais vous pouvez voir que vous êtes, le bloc de scie sauteuse a été remplacé ici et bien, le problème est que le modal réel qu'il ne correspond pas. Pour que cela fonctionne, ce que nous allons faire c'est que nous allons juste prendre distance et de l'espace. Essentiellement. Nous allons juste survoler ici, on y va. Il faut espérer que cette distance est suffisante. Et ensuite, ce dont nous avons besoin, nous devons nous donner le bloc structurel ici même, celui-ci. Ensuite, posons-le simplement et cliquons avec le bouton droit de la souris. Maintenant, le nom de la structure ici va être structuré nom année sera deux-points du cours MC, le soulignement gauche, le soulignement vers le bas, le soulignement, le soulignement de la maison, soulignement gauche, je suppose que alors Il ne sera pas laissé ici à l'avant droit. Le nom ici devrait être ce nom ici. Cliquons avec le bouton droit de la souris sur Refactor Rename, copions ceci. Cela va être un peu plus facile. là que tu y vas. C'est en fait cela et maintenant si je vais en charge ici, il devrait le charger. Et puis je pourrais recharger, puis ça engendre la maison. Vous pourrez maintenant voir ici, c'est le bloc de scie sauteuse. Et vous pouvez voir ici qu'il cherche réellement ce pool de sites, que nous devons changer. Je dois changer cela en cours MC, disons que c'est terminé. Ensuite, nous voulons aussi l' autre partie de la maison. Nous voulons aussi l'autre partie de la maison. Ce que je vais faire, c'est que je vais vraiment copier ça ici. Tout comme Control a pour sélectionner tous les contrôles C pour copier le contrôle V pour le coller. Et puis, ce sera le bon côté. Quand un chargement, puis on va recharger. Et ici, vous trouverez l' autre bloc de scie sauteuse. Cliquez sur celui-ci avec le bouton droit de la souris. Nous voulons changer le nom ici en cours MC côté droit fait. Vous souhaitez changer le nom ici en cours MC à droite. Terminé. Et ensuite, ce que nous voulons aussi faire, juste pour que nous ayons tout. Nous voulons créer une autre maison. Ce sera le bon côté, doré, je crois, le bon côté. Donc, il va y avoir raison. Si vous écrivez un soulignement du site de soulignement, doré. là que tu y vas. Tirez ça, puis chargez-le. Et voilà que tu y vas. Maintenant, c'est le site doré, il y aura juste des serrures dorées là-dedans. Et puis ici, nous voulons aussi changer cela en cours MC, donc à notre numéro de modèle, oui, et tout ira bien. Maintenant, ce que nous devons faire, c'est que nous devons réellement sauver le NVT ici. Encore une fois, c'est un peu ce que le FREC refait. Ne vous inquiétez pas à ce sujet. C' est essentiellement ce que nous devons faire pour que cela fonctionne correctement. Une fois que nous aurons fait cela, lors des deux prochaines conférences, nous allons voir comment le faire complètement sur mesure. Nous allons donc créer une structure personnalisée. Nous allons sauvegarder la structure personnalisée. Et je vais expliquer un peu plus en détail ce que nous faisons essentiellement ici. Si vous ne voulez pas suivre cela, c' est bien sûr aussi bien sûr. Mais au fond, il y a des choses très simples que vous devez faire. Maintenant, après avoir changé le bloc de scie sauteuse, ce que nous allons faire, c'est que nous allons passer ici en mode sans échec. Nous voulons dire sûr, alors vous pouvez voir qu'il a été enregistré et la même chose vaut pour les deux autres sont en mode sans échec. Ici aussi, passez en mode Enregistrer sans échec, puis nous avons terminé. Nous pouvons maintenant faire si nous pouvons sortir de Minecraft. On va juste sortir d'ici. Ensuite, les données NVT seront stockées dans le dossier R1 sous sauvegardes. Alors où que vous soyez, c'était le monde n'oubliez pas de revoir le monde et ensuite cela devrait être sous-généré. Et vous pouvez voir les trois données NVT ici. Nous allons vraiment faire passer ça ici. Et nous allons dire «  priver » pour tous. Les données NVT ici ont donc été remplacées par nos ID MOD. Et si je recommence maintenant, je crée un nouveau monde, alors ce que nous allons voir, c'est que nous allons vraiment trouver la maison complète comme avant, au lieu de la maison de gauche ou l'autre partie de la maison. Donc la maison, nous avons ce bloc de scie sauteuse qui cherchait en fait la piscine du site sous l'ID de mod tutorial structure, ce qui n'est bien sûr pas correct. Voyons voir, créons réellement un nouveau monde. Ici. Ça va être le test de structure. Essais de structure. Ça va très bien se passer. Un rythme mondial. Encore une fois, nous allons obtenir le, vous avez changé la génération mondiale et les paramètres expérimentaux. Ça va très bien se passer. Nous allons juste appuyer sur Proceed , puis nous allons juste attendre qu'il se termine. Ensuite, nous allons voir si notre structure est complète ou non. Très bien, nous nous trouvons dans Minecraft, alors voyons que c'est le cas, et vous pouvez déjà dire que la structure est terminée maintenant. Eh bien, allons juste ici et voyons voir. Ils peuvent voir si nous entrons, vous y trouverez que vous y allez. C'est même la variante dorée. C'est le bon côté pour le but et nous ne devrions pas avoir à voler loin pour trouver un autre exemple de cela. C'est donc incroyable, la génération mondiale avait l'air incroyable. Bien que nous devrions pouvoir trouver une autre maison assez rapidement. Habituellement, ils ne devraient pas apparaître trop loin l'un de l'autre. Voyons voir, il y en a un autre, donc vous pouvez clairement voir qu'ils ne sont pas si rares, mais bien sûr, c'est quelque chose que vous pouvez très facilement changer aussi. Alors, allons juste ici. Voyons voir, j'espère que c'est normal ? C'est normal . 115. (1.18.2) Structures personnalisées (pièce unique): Bon, bienvenue au parcours fourrage pour 118 et nous nous retrouvons au parcours fourrage pour 118 et nous nous retrouvons à Minecraft avec une structure déjà construite ici. Ce que je vous recommande vivement, c'est de pouvoir copier la structure ou simplement créer votre propre structure. Et puis, en gros, après que vous les ayez créés, nous pourrons continuer. Je vais donc vous donner un peu de temps pour créer votre propre structure. Mais j'espère que vous faites une pause et que vous créez simplement votre propre structure. Parce que maintenant ce que nous allons faire c'est maintenant que je vais créer un fichier MVT à partir de ça. Comment pouvons-nous faire cela ? Eh bien, nous devons d'abord nous redonner le bloc de structure. Donc, celui-là, juste ici. Et ce que nous devons faire, c'est de le placer dans les coins de cette structure particulière. Ce que nous devons donc faire, c'est que nous devons le placer en dehors de la structure de la volonté réelle. Nous devons donc le placer juste là et ici. Et puis aussi de l'autre côté, aux mêmes endroits, ici, et aussi ici. On y va. Maintenant, ce que nous voulons faire, c'est que nous voulons cliquer dessus avec le bouton droit de la souris , puis nous devons diviser. Tout d'abord, spécifiez un nom ici. Ce sera le deux-points du cours MC. Donc, prenez toujours vos deux points d'identification de modèle, quel que soit le nom. Et cette affaire va être la maison de soulignement de varech. Ensuite, nous allons appuyer sur Contrôle a pour tout sélectionner, Control X pour le découper et Control V pour le coller à nouveau. C'est essentiellement ce que je viens de faire. Et je vais passer en mode propriétaire. Très important. Nous allons dire que c'est fini, et vous voilà. Je vais faire la même chose ici, coller en mode coin, c'est terminé, un sit-in, plus fait. Et puis celui-ci, nous allons le coller et ensuite passer en mode Sauvegarde. Nous voulons ensuite appuyer sur ce bouton de détection ici. Et en théorie, il devrait détecter toute la structure. Vous pouvez donc voir que nous avons essentiellement mis en évidence l'extérieur de l'ensemble de la structure, ce qui est exactement correct. C'est ce qui va être sauvé votre. Ensuite, ce que nous pouvons faire, c'est simplement cliquer sur le bouton Enregistrer ici. Ensuite, ces données NVT ont été enregistrées. C'est donc littéralement tout ce que nous devons faire pour enregistrer certaines données NVT. Et maintenant, nous avons cette maison. Maintenant, ce que nous pouvons faire est vraiment amusant, car cela est déjà sauvegardé. Ce que nous devrions pouvoir faire, c'est simplement aller ailleurs. Dis, Hé, donne-moi cette maison. Je peux juste mettre ça, disons le chargement, et ça devrait détecter cette maison. Et puis on peut dire qu'on le charge à nouveau, et c'est parti. Et maintenant, je peux copier cette maison de là à ici, et je l' ai déjà fait. Mais bien sûr, ce que nous voulons faire, c'est que nous voulons emmener cette maison dans un endroit naturellement repéré dans le monde. Ce que nous allons faire, c'est maintenant que nous allons sortir de Minecraft vers Intel J , puis ajouter certains des fichiers adjacents afin que nous puissions apparaître dans cette maison, dans le monde entier. Très bien, nous nous trouvons donc de manière intelligente. Et la première chose, bien sûr, ce que nous devons faire, c'est de trouver la maison. C'est donc une fois de plus dans votre dossier d'exécution. Cela devrait être dans vos ventes ici. Il s'agit des tests de structure dans mon cas, sous générés. Et là, nous avons la maison de comptage NVT. Je vais donc juste faire glisser ça ici jusqu'aux structures, et ensuite nous avons cela juste là. C'est donc très important. Et maintenant, nous pouvons modifier le fichier JSON. Alors, que va-t-on faire ? Que devons-nous faire ? La première chose que nous allons faire, c'est que nous allons créer le fichier JSON structuré pour ça, pour la balise. Cela va inclure tous les différents biomes que nous nous interrogeons sur cette structure trop petite. Nous allons donc simplement copier la version déjà existante ici. Ce sera la maison du comte et du soulignement. Honnêtement, je pense que tout va bien se passer. Nous allons juste prendre ces niveaux de biomes. Vous pouvez bien sûr aussi le modifier comme vous le souhaitez. Mais je suis vraiment content de ça et tout ira bien. Mais c'est le premier. Cela signifie encore une fois quels biomes cette structure peut engendrer. Et puis nous voulons obtenir la fonction de structure configurée une fois de plus, je vais copier ça. Je change ça en maison de soulignement de tapis. Nous allons utiliser ce nom quelques fois maintenant. Et ici, nous voulons changer le pool de démarrage par notre compte et notre piscine stockée. Ce sera la chose que nous allons ajouter ici dans un instant et la même chose ici. C'est maintenant la maison de comptoir. Cette balise biome fait référence à celle que nous venons de créer ici. Mais pas de soucis. Personnellement, je ne veux pas qu' aucun monstre apparaisse ici. Mais ce que je veux, c'est que je veux vraiment que certains tigres du cours MC apparaissent là. Pourquoi pas ? Disons simplement qu' il y aura un ou deux tigres qui pourraient être repérés là-dessus. Ajoutons-le simplement comme ça. Ça va être très intéressant et voir si c'est aussi le cas. Maintenant, c' est à peu près tout ce que nous devons changer ici. Ensuite, nous n'avons pas besoin de listes de processeurs dans notre cas, mais nous avons besoin d'un ensemble de structures. Encore une fois, copier cela en changeant le nom pour faire face et maison, ceci, en changeant celui-ci pour venir maison, ce qui pointe ensuite vers ce fichier JSON que nous avons fait auparavant. Très important ici, changer le sel, ce doit être un sel unique et assez gros. Et puis l'espacement, nous allons juste lui donner un peu plus d' espacement ici sur les deux plans, et ça ira bien. La dernière chose que nous devons faire est de créer un nouveau dossier ici. Ce sera encore une fois la maison de soulignement du CAPM. Ensuite, le nom du fichier ici sera le pool de soulignement de début qui est adjacent et le contenu dont je vais le pool de soulignement de début qui est adjacent et le contenu copier une fois de plus, le fichier JSON déjà existant. C'est pourquoi j'ai dit que si vous l'avez configuré une fois, il est très simple d'en ajouter de nouveaux. Donc, ce que nous pouvons faire ici, c'est fondamentalement que celui-ci doit changer pour compter la maison de soulignement et ensuite. Nous allons le copier, puis le changer ici encore une fois. Et c'est tout. Nous avons déjà fait cela maintenant notre structure réelle apparaîtra dans le monde. C'est tout ce que nous devons faire. 1234 fichiers JSON dans ce cas parce qu'il s'agit d'une structure unique et d'un fichier NVT, c'est littéralement ça. Vous avez vu que c'est assez simple une fois que vous l'avez configuré, une fois que vous avez copié certains fichiers JSON, modifié quelques choses, modifié quelques choses et ensuite, et ensuite, vous êtes joli beaucoup fait. C'est littéralement tout ce que nous devons faire pour l'achèvement. Voyons si ça marche. Pour m' assurer que tout fonctionne, je recommande vivement de créer un nouveau monde au cas où. Et puis, bien sûr, gardez à l'esprit que vous obtiendrez les paramètres expérimentaux du monde. Il suffit d'appuyer sur Continuer. C'est juste il y a. Ce sera le cas lorsque vous ajouterez le monde personnalisé Jen, via les données basées sur des fichiers. Mais tout va bien se passer. Laissez-le générer et voir si nous pouvons trouver notre maison de comptabilité dans le monde ou la maison de votre ami à Minecraft. Et là, vous devriez déjà pouvoir le voir. La maison de carbone a été ajoutée avec succès à Minecraft. Et voyez que c'est juste ici et qu'il est parfaitement placé dans le sol, comme nous l'avons laissé. En fait, j'ai accidentellement détruit la porte là-bas. Ce n'était pas intentionnel. Vous y allez. Mais oui, c'est déjà déjà ajouté. Comme je l'ai dit, c'est très simple. Une fois que vous l'avez fait, une fois. C'est pourquoi j'ai dit, vous devriez absolument passer par le tutoriel de structure une fois avec la conférence en montrant essentiellement le dépôt GitHub de celui-ci. Et puis, peut-être même par vous-même, jetez un coup d'œil à certains des commentaires qui y sont présentés. Je veux dire, oui. Je veux dire, je ne sais même pas quoi dire d'autre , car vous l'avez presque vu. C'est très, très simple. Il y a quelques choses que vous pouvez changer. Et maintenant, c'est tout simplement à vous de décider, à la hauteur de votre créativité sur ce que vous voulez ajouter à Minecraft. Voyons si je peux trouver une autre de nos maisons de camp. Vous pouvez voir beaucoup de maisons délabrées pointant ici. Je veux trouver un autre compte House. Voyons si nous pouvons le trouver. Non, il y en a un autre, donc vous pouvez voir que vous y allez. Donc, dans l'ensemble, je trouve vraiment intéressant, mais aussi assez simple. Toutes choses prises en compte. Je ne pense pas que ce soit aussi fou , si dur et si bien, je veux dire, oui, c'est à peu près à quel point il est facile ajouter une structure personnalisée à Minecraft. Mais comme je l'ai dit plusieurs fois maintenant et je le dirai encore une fois. Si vous l'avez configuré une fois que vous l'avez vu, il est très simple d'ajouter d'autres structures à votre jeu, et c'est très simple. Encore une fois, la source de boisson que nous allons examiner lors de la prochaine conférence va être un peu plus compliquée. Mais même dans ce cas, après avoir vu un exemple de tout cela, en gros, vous allez dire que même cela sera assez, très sensé et assez simple, toutes choses considérées, C'est vrai ? Mais ce serait tout pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Ou bien sûr, les fichiers JSON peuvent être téléchargés dans le référentiel GitHub et dans un individu. Mais sinon, je vous verrai lors de la prochaine conférence. 116. (1.18.2) Structures personnalisées (structures à (Jigsaw ): Bon, bienvenue au parcours forestier pour 118. Et dans cette conférence, nous allons examiner certaines structures de puzzle. Vous pouvez voir que j'ai déjà préparé quelque chose ici, qui va être la plateforme de stockage. Et la façon dont cela va fonctionner, c' est que ce sera deux structures différentes, mais ça va apparaître comme une seule. L'idée est donc qu'une partie de la structure, qui sera essentiellement tout ce qui reste ici, sera le pool de départ. Et puis nous aurons un bloc de scie sauteuse au milieu qui va ensuite générer ce côté droit de la structure, ce qui sera soit l'un ou l'autre, disons du fer. Et ensuite, nous allons aussi faire une variante essentiellement qui aura peut-être quelque chose comme un diamant , puis même une avec émeraude. C'est donc l'idée générale. Et ensuite, cela va se terminer. Nous pouvons ensuite le faire apparaître avec des poids différents, de sorte que lorsque vous parcourez le monde, vous avez besoin d'en trouver beaucoup avec le fer, par exemple, avec comme, je ne sais pas, comme 80% et ensuite comme 10 % du temps, vous allez trouver le diamant. Et puis 10 % du temps, vous allez trouver l'Emeraude, quelque chose comme ça. Donc, ce que nous allons faire, c'est que nous devons le configurer correctement. Donc, ce que nous allons faire, c'est que nous allons juste prendre, n'est-ce pas. Alors maintenant, faisons d'abord le principal 1. Cela devrait donc être ici. Nous avons donc besoin du bloc structurel ici. Et ensuite, ici aussi. Ça devrait être très bien. Et puis de ce côté-ci, nous avons montré que nous choisissons le bon. C'est en quelque sorte si bien parler, passons ici. Alors, tu y vas. Et puis, pour la hauteur, il devrait être juste autour de vous, je le crois. Nous allons juste vérifier cela aussi. Cela devrait donc être celui-là. Vous y allez. Supprimons les blocs d' assistance ici. Et c'est en fait plus élevé, donc nous allons en faire un en dessous qu' il y a que nous avons les propriétaires prêts et que nous allons le faire, puis nous allons appeler cette plateforme de stockage de cours MC. Ça va bien se passer. Encore une fois, Contrôlez a, Control X , Control V, afin que nous ayons le nom et que ce soit le mode quart. Ensuite, nous allons passer par le mode coin pour chacun d'entre eux, ou mode. Vous y allez. Actionner ce mode, puis ce sera le mode sans échec. Nous allons donc faire ce mode sans échec et ensuite détecter. Et une fois encore, nous constaterons que c'est maintenant ce qui est détecté. Bien sûr, ce que vous trouverez, c'est, oh non, nous avions vraiment besoin de plus en plus haut, mais il n'y a aucune inquiétude du tout. Ce que nous pouvons faire, c'est que nous pouvons simplement le construire. Construissons-le à la hauteur dont nous avons besoin. Juste là. Vous y allez. Et puis nous détruirons celui-ci, qui était essentiellement la chose va rester pour le moment. Mais une fois que nous le rechargeons réellement, ça devrait aller. Cela devrait donc être à peu près à cette hauteur, je pense que cela devrait l'être. Ensuite, nous pouvons une fois de plus être en mode coin, oui, puis supprimer celui-ci également. Mode également avec le même nom. Ensuite, nous pourrons le détecter à nouveau. Et ensuite, vous constaterez que l'ego est maintenant fait et que tout est à l'intérieur. Donc, en gros, c'est une chose que vous pourriez faire. Vous l'avez mis en place et ensuite vous êtes comme, Oh, c' est en fait à quelques pâtés de maisons en dehors de ça. Il suffit de le remplacer et c'est parti. Maintenant, c'est le principal. Et ce qu'il nous reste à faire, c'est que nous devons encore placer le bloc de scie sauteuse. Donc, pour cela, nous allons ouvrir le terminal et la commande est encore une fois, bien sûr qu'ils ont donné le commandement ou le bloc de scie sauteuse, celui-ci ici. Et ce que nous voulons faire, c'est que nous voulons faire face de cette façon. Ce que nous voulons, c'est que cela devrait être toujours à l' intérieur. Vous y allez. Les flèches doivent pointer vers l'extérieur. Vous pouvez donc voir que c'est toujours à l'intérieur de la structure et qu'il devrait y avoir un point en dehors de la structure. Et juste ici, nous voulons que l'autre bloc de scie sauteuse pointe vers lui. Voici donc les deux blocs de scie sauteuse que nous voulons. Ce côté sera associé à un nom. Donc ce sera le deux-points de cours MC, disons par exemple, site, plateforme, quelque chose comme ça. Et je vais dire que j'ai fait ce nom ici. Nous allons le copier et ce sera le nom de la cible ici. Et puis le pool cible ici sera le deux-points du cours MC. Et c'est le nom du fichier JSON que nous devons insérer. Donc, ce sera le pool de soulignement de soulignement de la plate-forme de soulignement de stockage du site oblique. C'est le fichier JSON ici, on va dire que c'est fait, et maintenant ils sont plus ou moins connectés les uns aux autres. Et l'important est bien sûr, celui-ci pour le moment, parce que c'est dans cette structure ici même. Nous pouvons donc maintenant sauvegarder cela. Nous pouvons alors dire « Sauver ». Et maintenant, la structure de stockage a été enregistrée. Nous pouvons maintenant faire la même chose pour les autres structures. Donc, on va juste le faire ici. Et ensuite, il suffit d'aller jusqu'ici. l'autre côté, on va juste le faire, c' est en même temps qu' un autre bloc de structure ici, puis les autres livres de structure devraient être juste ici. Cela semble très bien. Alors, le nom ici, nous allons faire du colon MC, du stockage du fer, de la forme végétale. Encore une fois, je vais copier ce mode coin ou cette télécommande. Et puis, ici, celui-ci va de nouveau détecter le mode sans échec. Voyons voir. Vous y allez. Donc maintenant, cela est également détecté et vous pouvez voir maintenant que nous avons les deux. Et je vous recommande vivement de le faire comme ça. Parce que maintenant, en gros, lorsque vous changez celle-ci ici pour une autre variance pour ainsi dire, et c'est très, très simple. Les noms ici peuvent essentiellement rester. Il s'agit donc de la plate-forme latérale et de la plate-forme latérale. Tout va bien. Nous allons donc sauvegarder cela sous le trait de soulignement de fer stocké sous la plateforme de score. Gardez-le. Et puis ce que je ferai, c'est que je changerai cela , puis nous l'enregistrerons sous la plate-forme de stockage de diamants et ensuite émeraude. J'ai remplacé le fer par un diamant ici. Et bien sûr, ce que nous voulons changer ici, c'est le nom, n'est-ce pas ? Il s'agit donc maintenant de la plateforme de stockage de diamants. Encore une fois, copiez ça, je vais dire que c'est terminé. Et ensuite, nous allons changer cela ici aussi. Donc, dans tous les coins, en gros, on va pouvoir le détecter dans un instant aussi. Nous allons le faire , puis revenir à celui-ci, détecté encore une fois. Ensuite, la plate-forme de tri diamant a été détectée, et maintenant nous pouvons l'enregistrer sous la plate-forme de stockage de diamètre. Et puis faisons la même chose pour les émeraudes. Très bien, maintenant il a été remplacé par mes rôles. Changeons donc le nom une fois de plus ici. Il s'agira donc de la plateforme de stockage Emerald. Une fois de plus, copiez-le, puis il change les noms et tous les coins ici. Donc, rien de trop fou. Vous y allez. Et puis, reprenons ça. Donc, allons être la plate-forme de stockage ici, Emerald et la sauvegarder à nouveau. Mais maintenant, nous avons une plate-forme principale et associée à elle trois différentes, disons la variance de l'autre type de plate-forme que nous pouvons engendrer. Passons maintenant à l' intelligence de nouveau, puis mettons tout en place. Très bien, nous sommes donc intelligents. Et tout d'abord, bien sûr, récupérons les données NVT. Cela devrait être soumis aux tests structurés. Si je ne me trompe pas, on y va. Nous disposons donc de la plateforme de stockage et des trois plates-formes différentes. Il suffit de les copier ici, une fois de plus , dans les structures. Ce dont nous avons besoin, c'est bien sûr la structure dans son intégralité. Pour cela, nous avons encore besoin des cinq dossiers adjacents. Nous allons juste les copier. Ce sera donc la plate-forme de soulignement de stockage et nous devrons utiliser ce nom plusieurs fois. Il suffit donc de le copier. Encore une fois. On va juste s'en tenir à ces biomes pour le moment. C'est bien sûr très facile simplement changer ici. Et la structure configurée comprend une plate-forme de stockage et souhaite pointer vers le pool de stockage à l'intérieur du support de la plate-forme de stockage, que nous allons créer un peu. Et puis il s'agit du fichier JSON de la plate-forme de stockage, qui indique quels biomes doivent être utilisés ici. En fait, je ne veux pas vraiment de Richards ici. Cependant, ce que j'ai trouvé, c'est que si vous supprimez entièrement les petites écrasements , ils obtiennent une erreur. Je ne suis donc pas encore sûr à 100 % de ce que vous devez faire ici pour ne rien obtenir là où nous pouvons simplement faire quelque chose comme ça. Donc, tout ira bien alors je pense que non, rien ne se reproduira ici. Donc, tout va bien se passer, la structure. Ce que nous allons faire, c'est de copier une fois de plus sur la maison de comptoir , de changer le nom ici , puis de nouveau ici, bien sûr, changer le nom ici pour qu'il pointe vers le bon caractéristique de structure. Et puis très important ici, changer de structure, le sel ici, bien sûr, et ensuite l'espacement que je vais faire un peu plus que la séparation minimale. Et ils ont 12 ans, ça va bien se passer. Et puis tout se résume à la maison gabarit, que nous allons juste copier sur la maison délabrée. Nous allons renommer cela en plateforme de stockage. Ensuite, à l'intérieur des fichiers JSON, nous voulons changer cela en plate-forme de stockage. C'est le bon côté, donc ce sera les trois bons côtés. Donc, ce que nous allons faire, c'est que je vais simplement le supprimer, les commentaires ici. Et ensuite, que va-t-il se passer ? Nous avons dit que nous voulions en faire un autre. Et puis ça va probablement ressembler à un poids, disons cinq, poids trois, puis attendre quelque chose comme ça. Et ce sera la plateforme de soulignement de quatre soulignements de soulignement. Ça va avoir l' autorité qui n'est pas ou c'est du fer. Bien sûr, vous y allez. Plateforme de rangement en fer. Ensuite, on va appeler ça copier ça et ça va être la plate-forme de stockage Emerald. Supposons qu'il s'agisse de la plate-forme de stockage des diamants, mais cela devrait avoir 50 % de chances de frai. Il s'agit d'une chance de 30 % et c'est une chance de 2 % à 20 %. Ce sont les différents poids qui devraient être assez explicites. C'est essentiellement le poids de la façon dont ils sont engendrés. Il devrait donc s'agir du pool de sites, puis pour le pool de stockage de la plate-forme de stockage, passons au pool de magasins ici. Ce sera bien sûr, puis la plateforme de soulignement de stockage. Encore une fois, plateforme. Vous y allez. Copiez celui-ci. Et il s'agit bien sûr de la plateforme de stockage. C'est notre point de départ : commencer les données NVT, qui va avoir le bloc de scie sauteuse à l'intérieur, qui cherche ensuite le pool de sites, que nous avons défini dans le bloc de scie sauteuse juste avant. Et c'est littéralement tout ce dont nous avons besoin. Et maintenant, tous ces trois différents alors que la variance apparaîtrait également. Donc, comme je l'ai dit, c'est encore une fois, une fois qu'il est mis en place, une fois très simple, toutes choses considérées. Créons maintenant un nouveau monde et voyons si nous pouvons trouver nos plateformes de stockage ou Francis dans Microsoft dans un nouveau monde. Et voyons si nous ne trouvons pas notre plateforme de stockage. Nous pouvons également juste localiser comme ça pour notre cours MC. Et c'est la plateforme de stockage ici. Voyons voir. Donc, ici, l'un d'entre eux est, voyons, on y va. L'un d'eux est déjà apparu ici avec le fer à repasser dans ce cas. Et vous pouvez voir exactement comment nous avons laissé l'essentiel et le volume des blocs de scie sauteuse a également disparu parce qu'ils ont été remplacés par de l'air. Voyons en fait seulement HTP ailleurs et voyons si nous pourrions en trouver un autre. Allons juste aimer, tu sais, 20 K ou autre. Et puis ils partent et retrouvons ça. Allons juste pour une, une autre, localisons une plateforme, puis voyons. C'est là. C'est un autre avec des fers à repasser. Halley. Eh bien, je veux dire, parfois ça fonctionne comme ça. Allons-y encore une fois, essayons encore une fois. Négatif dix km cette fois. Pourquoi pas ? Et puis ils s'en vont. Et puis retrouvons. Voyons si celle-ci peut avoir autre chose que du fer et qu' elle contient également du fer. Eh bien, je veux dire, c'est l'une de ces choses qui est plus répandue que les autres. C'est juste ce que c'est. Et je pense aussi qu'en se déplaçant et en volant, nous n'en rencontrerons pas trop car nous les avons rendus un peu plus rares que les autres choses que nous avons fabriquées. La maison de comptage et la maison délabrée sont donc beaucoup plus répandues dans ce cas. Mais oui, je veux dire, c'est à peu près le problème. C'est vraiment essayer une fois de plus parce que je veux vraiment voir les autres choses fonctionner. Allons-y, je ne sais pas, comme 100 et on va le faire moins dix K ici. Ensuite, faisons une autre plateforme de mots de localisation ou de cours MC. Voyons voir. Eh bien, je veux dire que c'est aussi quelque chose qui peut arriver, non ? Il s'agit donc d'un événement très rare. Ce n'est donc généralement pas quelque chose qui arrive, mais vous pouvez voir que ces deux structures apparaissent à peu près dans le même morceau. Au même moment. C'est pourquoi vous voulez changer le sel. Maintenant, dans notre cas ici, nous avons été incroyablement malchanceux. Disons qu'ils partageaient essentiellement le même voisinage général. Cela ne devrait pas arriver trop souvent, mais oui, je veux dire, cela ne peut pas arriver. C'est juste ce qu'il est parfois. Mais vous pouvez voir que celle-ci est la variante émeraude dans ce cas, donc elle fonctionne définitivement. Et donc c'est juste, parfois cela arrive. Cela ne devrait pas se produire beaucoup. Cela devrait donc être un événement plutôt rare, mais c'est à peu près à quel point ça se passe bien, n'est-ce pas ? Et c'est à peu près comme ça que vous pouvez ajouter des structures de scie sauteuse à votre MOD. Tout ce qui est considéré comme assez simple est juste une fois de plus dans les fichiers JSON, configurant correctement la structure, puis en obtenant les données NVT pour cette structure. Mais ce serait tout pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. 117. (1.18.2) Motifs d'armure 3D personnalisés: Bon, bienvenue au cours de fourrage pour 118. Dans cette conférence, nous allons créer un modèle d'armure 3D client ou notre armure de cobalt. Donc, au lieu d'utiliser notre armure que nous avons auparavant, donc celle-ci dans les modèles ici, qui est alors la chose qui est en quelque sorte superposée en 3D. Nous allons en fait créer un nouveau modèle ARMA personnalisé, qui ne sera certainement pas aussi beau que celui-ci. Parce que je veux simplement vous montrer les étapes que vous devez faire pour réaliser cela. Mais on va voir pour ça, on va encore utiliser un banc de bloc dans la lèvre gecko, j'ai déjà préparé l' armure ici, vous pouvez voir que c'est le dossier du banc de blog. Cela arrive lorsque vous faites cela suivant, n'est-ce pas ? Donc, lorsque vous créez un nouveau modèle animé à lèvres gecko, vous pouvez simplement le faire, par exemple ici des tests d'armure, non ? Et ensuite, ce que vous pouvez faire, c'est que vous pouvez accéder aux paramètres du modèle en direct de Gecko et le changer en armure. Si vous cliquez ensuite sur Confirmer, vous pouvez voir que certaines choses génèrent ici, qui est essentiellement le corps déjà préparé. Et ensuite, vous pouvez y ajouter des éléments là où vous souhaitez l'ajouter sous ceux-ci. Donc, vous avez la tête de bipèdes, ne touchez pas à la chose particulière. C'est bien sûr la tête dans ce cas. Et ensuite, vos affaires personnalisées peuvent entrer ici. Vous pouvez donc simplement ajouter un cube. Et puis vous pouvez simplement utiliser vos affaires, fabriquer, les dimensionner ici, non ? Alors mettez-le à l'échelle d'un certain point et ensuite ils partent et ensuite vous pouvez simplement jouer avec ce dupliquer essentiellement, faire un nouveau cube une fois de plus, faire descendre ici, le déplacer à nouveau. Mais c'est bien sûr tout ce que vous devez faire. Et vous pouvez créer vos propres objets personnalisés ici. Une fois que vous aurez fait cela, nous n'aurons pas de texture pour le moment. Et ensuite, ce que vous pouvez faire, c'est que je vais juste un instant supprimer cela et vous verrez que vous allez avoir quelque chose comme ça. Et ce que vous pouvez faire, c'est que vous pouvez appuyer sur Contrôle a, puis il va tout sélectionner ici. Et ce que vous pouvez faire, c'est ensuite créer une nouvelle texture ici. On va juste appeler ça l' armure Humboldt supplémentaire, je vais dire confirmer. Et puis vous pouvez voir que ça ressemble à ça. Si nous l'enregistrons maintenant, nous allons simplement l'enregistrer sous forme de texture d'armure de cobalt. Alors, si j'y jette un coup d' œil, ça ressemble à ça. Je vais juste l' ouvrir rapidement que vous puissiez voir ça ressemble à ça. Et je vais maintenant l' ouvrir dans Photoshop. J'ai déjà préparé un tas de cours moelleux ici. Vous pouvez voir, vous pouvez aussi l'ouvrir en peinture, en dotnet ou en GIMP ou autre, je pense que vous l'avez. Et ce que vous pouvez alors faire, c'est généralement ce que vous voulez faire , c'est que vous pouvez comme ici, par exemple, je crois que cela devrait être la tête en fait, pas un 100% vrai, mais je pense que c'est le cas. Ensuite, nous pouvons, par exemple, prendre n'importe quelle couleur ici. Je vais juste le mettre sur le même calque et ensuite nous allons le sauvegarder à nouveau, que la chose réelle change dans le banc de blocs lui-même. Nous pouvons maintenant cliquer avec le bouton droit de la souris sur actualiser Et puis vous pouvez voir, par exemple, que c'était la tête. Bien sûr, ce n'était pas la chose la plus intéressante, mais vous pouvez fondamentalement modifier les composantes individuelles de mais vous pouvez fondamentalement modifier les composantes individuelles de ce genre. Peut-être changeons simplement certains trucs comme ici. Par exemple. C'est, je veux dire, je ne dirais pas forcément un processus fastidieux, mais c'est un processus qui va certainement prendre certain temps pour que vous réalisiez cette actualisation, nous pouvons voir qu'ils traversent ça. à l'arrière de la tête dans ce cas. Vous pouvez également, bien sûr, prendre manuellement chacun de ces cubes et voir de quoi ils sont. Mais c'est essentiellement l'idée. Il va donc falloir que l'armure devienne la texture ou le soi. Maintenant, j'ai bien sûr préparé une texture. Ça va être celui-là juste ici. Et il y a en fait une petite chose que nous voulons faire et qui va essentiellement prendre tous les points de ne pas toucher et ensuite les déplacer en bas ici, juste pour que nous puissions fondamentalement pouvoir voyez la différence ici parce que le vrai ne nous touche pas ne sera pas utilisé de toute façon, mais ils sont là pour référence. En gros, il suffit de prendre ça ici. J'ai trouvé que c'était le moyen le plus simple de changer l'armure qui l'entoure. Par exemple, vous pouvez voir ici cette armure est un peu trop basse. Il y a quelques choses qui sont trop basses et nous pouvons aussi les prendre et ensuite les déplacer, c'est vrai. Vous pouvez donc voir que nous changeons ensuite l'armure ici. Comme je l'ai dit, ce ne sera la plus jolie armure ni le moment. Le modèle actuel, disons que le modèle actuel est assez cool, mais la texture pourrait certainement utiliser un peu de travail. J'admettrai totalement que je le suis, je suis absolument d'accord. Je voulais juste vous montrer l'essentiel général de la façon dont cela fonctionne. Ce que nous avons alors, c'est cette armure de cobalt. Donc je vais l'enregistrer, ce fichier de banc de blocs sera bien sûr à votre disposition. Fermons juste l'autre ici. Et ce que vous pouvez faire, c'est que vous pouvez ensuite exporter le modèle en direct de gecko ici. Ce sera un trait de soulignement en cobalt blindé, GO dot JSON. Donc, nous allons juste sauver ça, passer outre l'autre. Et puis passons à l'intelligence et ajoutons-le là-dedans. De quoi avons-nous besoin pour un client ? En fait, il y a beaucoup de choses. Tout d'abord, ajoutons le fichier de modèle dans le dossier géographique juste ici. Donc, nous allons juste le taper dessus. C'est là que tu y vas. Ensuite, nous avons également besoin d'un fichier JSON d' animations. Maintenant, je l'ai déjà préparé et c'est littéralement comme ça. Je n'en suis pas sûr à 100 %. Vous pouvez simplement prendre ça et l'utiliser. Et ça devrait aller très bien. Nous avons également besoin des modèles ARMA personnalisés , comme la texture. Nous allons donc l'ajouter dans les modèles ici. Comme je l'ai dit, c'est celui qui a l'air un peu bizarre, mais pas de soucis du tout. Et cela va en fait s'appeler la Texture d' armure de cobalt juste parce que je pense que ce nom est un peu plus beau. Allez sur Armor Texture et les fichiers sont tous configurés. Maintenant, de quoi avons-nous besoin en ce qui concerne les moteurs de rendu et les choses ? Eh bien, dans le rendu d'entité, nous allons simplement créer dans le client un nouveau paquet appelé armure. Et cela va inclure deux nouvelles classes. L'un d'entre eux, le modèle d'armure de cobalt et l'autre sera le rendu d'armure Hello World. Avant de procéder à ces derniers, nous avons besoin d' une nouvelle classe d'articles, ce qui est très intéressant. Donc, ça va être dans le paquet personnalisé. Ce sera l'armure de cobalt. Et puis la première chose que nous allons faire, c'est que nous allons tout prendre de l'élément d'armure mod et le copier. Je vais donc tout copier ici. On va donc le faire. là que tu y vas. Et ensuite, nous allons avoir quelques erreurs ici. Pas de soucis, on va juste le faire ici. Et ensuite, ce que nous pouvons faire, c'est que nous pouvons changer ce qui suit. Cela va maintenant étendre l'élément Geo armor et il va implémenter l'IA animatable, ce qui nous oblige également à implémenter les deux méthodes, le contrôleur de registre et elles obtiennent l'usine, mais je vais juste déplacer ça ici. En fait, écrivons cela ici ci-dessous. Ils conviendront en dessous du constructeur. Ça va très bien se passer. Donc, nous avons également besoin d'un prédicat que j'ai déjà préparé. C'est la même chose que celle que nous avons faite avec le prédicat des entités, l'usine animable que nous devrions également connaître. Nous l'avons déjà vu auparavant. Et bien sûr, tout le code est comme toujours disponible dans le référentiel GitHub en individuel. La méthode du contrôleur de registre est exactement la même chose que l'entité. Et puis l'usine retourne littéralement l'usine ici. Donc, cette usine de trucs, on va juste faire ça. Je veux dire, c'est juste un peu plus agréable. là que tu y vas. Il y a une usine, qui est celle-ci. Nous disposons toujours de toutes les fonctionnalités que nous avions auparavant. Maintenant, il y a une petite chose que je veux vraiment les changer, alors c'est la dernière méthode ici, la maison correcte. Armure sur Je vous suggère de le faire aussi parce que sinon vous risquez de rencontrer un problème si vous avez une armure complète, comme si vous portez l'armure complète et que vous avez aussi un électron, ce qui peut parfois avoir un problème avec l'autre, avec les vieux trucs. Gardez cela à l'esprit également, mais cela ne fait pas partie du modèle personnalisé. Maintenant, plus d'objets d'armure de classe, et nous voulons qu'il change tous ceux en armure de cobalt ici. C'est un peu une différence par rapport au passé, mais pas de soucis là-bas, il y a aussi tout à fait très bien et ça devrait être tout. Donc maintenant que nous avons configuré celui-ci, nous pouvons le faire maintenant est d'aller dans le modèle et de faire ce qui suit. Cela va étendre le type Geo Model animé ou les deux éléments d'armure. C'est là que tu y vas. Vous allez survoler ces méthodes implémentées. Nous allons donc mettre en œuvre les trois méthodes. Je vais le copier une fois de plus. C'est la souche comme celle que nous avions dans les modèles pour le raton laveur et le tigre. Vous pouvez voir à peu près la même chose. Nous ne faisons que pointer le fichier GeoJSON de l'armure de cobalt ici. Nous pointons également le doigt sur l'armure d'essai dans ce cas. Nous voulons maintenant changer le nom ici. Il s'agit d'une couche d' armure de soulignement en cobalt, en fait de la texture. là que tu y vas. Texture, voilà. Et puis c'est l'animation de l' armure. C'est également très bien. Voilà donc toutes les choses que nous devons faire ici. Et ensuite, pour le moteur de rendu, ce sera très similaire. Nous voulons ici une fois de plus, je vais juste tenir debout le moteur de rendu d'armure géo, cette fois de type armure de cobalt également, sur ce constructeur de création de correspondance super. Et puis ici, nous voulons vraiment débarrasser de ce constructeur, mettre un nouveau modèle d'armure en cobalt. Ensuite, nous voulons également nous assurer que nous choisissons les bonnes choses pour ainsi dire. Ça va être très intéressant. Ce que je vais faire, c'est que je vais le copier encore une fois. Et cela devrait être assez simple. Donc, vous voyez que le casque est la tête d'armure. Si nous revenons au banc de bloc, vous pouvez voir que c'est ici. La tête d'armure, l'armure, l'armure corporelle, n'est-ce pas ? Et ainsi de suite et ainsi de suite. Ce qui est très intéressant, c'est que pour quelque raison que ce soit, l'os de la jambe est en fait échangé avec une jambe. Je ne sais pas pourquoi. Vous pouvez donc voir que l'os de la jambe droite est en fait la jambe gauche ARMA et que la botte mûre est en fait la botte gauche. Je ne sais pas pourquoi c'est le cas. C'est juste ce que c'est. Je ne sais pas pourquoi c'est peut-être le cas, mais gardez cela à l'esprit. Donc, si vous pensez que c'est bizarre, il y a une inadéquation. Oui. C'est essentiellement parce que pour quelque raison que ce soit, c'est juste ce qu'il est. Nous devons encore enregistrer ce moteur de rendu et nous le faisons dans l'événement R, dans les événements Mode Event Bus. Et cela va se produire dans une nouvelle méthode qui sera terminée pour le moment. Et il s'agira de l'événement suivant. Il s'agira de l' entité qui nous rend l'événement, couches d'ajout de points, de la portée, médical et de l'événement be froid. Et puis, la seule chose que nous devons faire ici, c'est que nous avions juste besoin du moteur de rendu d'armure géo, d' enregistrer l'armure, de nous rendre pour la classe de points d'armure de cobalt, puis d'une nouvelle armure de récompense. rendu il y a un jour. ensemble, c'est assez fou. Mais dans l'ensemble, pas trop fou. Beaucoup de choses que nous avons déjà faites dans les entités, à droite, avec le modèle d'armure, avec le modèle et le fichier de rendu. Ce n'est pas si fou que ça. Les fichiers JSON sont également assez simples. Celle-ci, comme je l'ai dit, vous pouvez simplement exporter à partir du bloc pincement. Celui-là. Je prendrais juste celui que j'ai préparé. Je veux dire, ce n'est pas si compliqué non plus, mais vous devriez probablement être d'accord avec ça, comme si ce n'est pas si compliqué. Et puis la texture, il suffit de faire soi-même, c'est probablement la partie la plus longue, la plus longue de tout cela. Et je viens de revenir à Photoshop pendant une seconde. Maintenant, remplissez tout ce que vous vouliez prendre la plupart du prendre la plupart du temps pour l'armure personnalisée. Mais oui, c'est à peu près comme ça que vous devez faire si vous voulez un modèle ARMA personnalisé vraiment cool, c'est exactement ce que c'est, mais ce sont les étapes nécessaires. Encore une fois, c'est à peu près tout ce dont nous avons besoin. Donc, pour l'achèvement, voyons si cela fonctionne. Très bien, nous avons trouvé du réconfort dans Minecraft, alors enfilons l'armure et nous sommes allés flipper. Nous avons l'armure sur le LAC qui fonctionne encore, bien sûr. Et vous pouvez voir l'armure fonctionner. Je veux dire, à peu près comment on s'y attendrait. Comme je l'ai dit, ce n'est pas la plus jolie armure dans l'ensemble, mais elle est fonctionnelle et c' est certainement ce que vous pourriez dire, c'est définitivement une coutume. C'est certainement ce que je recommande vivement de jouer avec elle, d'être ouvert à l'expérimentation pour l'armure. Comme vous pouvez le constater, tout fonctionne pour le balancement des bras et des jambes et des choses comme ça. Mais c'est vraiment cool. Oui. Je veux dire, c'est à peu près à quel point il est facile d'ajouter une armure personnalisée au jeu. L'ajouter très simple et assez facile, ce qui le rend vraiment cool, certainement beaucoup plus difficile. Bien sûr, tout le code et les fichiers JSON sont toujours disponibles dans le référentiel GitHub et individuellement. Mais ce serait tout pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. Oui. 118. (1.18.2): Bienvenue au cours forge pour 118. Et dans cette conférence, nous allons ajouter un villageois personnalisé à Minecraft. Il est donc temps pour la profession de villageois client, car il s'avère que c'est assez simple. Toutes choses prises en compte. Ce que nous allons faire, c'est que nous allons faire un nouveau forfait dans notre forfait de cours MC, vieux villageois. Et puis à l'intérieur de là, nous allons créer une nouvelle classe Java appelée villageois MOD. Maintenant, dans celui-ci, je vais m' éloigner un peu de que nous allons faire habituel et nous allons en fait ajouter pour différer les registres. Le premier sera un registre public statique de type de jeu différé final . C'est donc le type de point d'intérêt. Nous allons juste appeler cela le type de point type de point rester il y a correspond à un registre différé qui crée ou aux types de registres, cours AMC modéré et modéré. Et puis ce que nous allons faire, c'est qu'on va faire un deuxième ou un troisième registre qui sera de type profession villageois. Un villageois souligne les métiers. Vous y allez. Et il y aura un registre différent, la création de points, les registres, villageois de points, les professions de points. Vous y allez. Modalité du moniteur de cours Mc. Et maintenant, lorsque nous avons différents registres, nous avons bien sûr une méthode de registre public statique du vide avec un bus d'événement œil, un bus d'événement cool. Et puis on va appeler les types de points qui s'inscrivent dans le bus de l'événement. Ensuite, nous passons dans le village ou les professions. Je me suis inscrit au bus de l'événement, en veillant à ce que nous appelons cela ici. Appelons simplement cela permet les structures mod. Donc les villageois mod s'enregistrer et ensuite passer dans le bus de l'événement, vous y allez. Très joli. Et ce dont nous avons besoin, bien sûr, c'est d' enregistrer des objets pour le prototype et les métiers villageois. Donc on va d'abord faire le type de point, ce sera l' objet Registry du prototype de type. Ce sera le point de mire. Nous allons donc utiliser notre blaster au cobalt ici. Il y aura les prototypes qui s'enregistrent. Ce sera le point d'explosion. C'est à ce moment que je le tiens. Et bien sûr, encore une fois, fournisseur d'un nouveau prototype, il appellera ce point d'explosion. Ensuite, nous devons taper point, obtenir l'état bloqué, dire les blocs de mod, point, point. Ensuite, nous disons 11. Jetons un coup d' œil à ce que tout cela implique. Parenthèses fermantes. Vous y allez. Et ensuite, passons au prototype actuel ici. Vous pouvez voir que Max tickets est celui-ci et il s' agit de la fourchette valide. Vous pouvez donc, par exemple, jeter un coup d'œil à ce qui a été utilisé. Voyons en fait, je crois que dans la méthode du registre, c'est probablement là qu'elle a été utilisée. Vous y allez. Habituellement, ils ont tous 11 ans. Il y en a d'autres, généralement le prototype est 11, donc c'est pourquoi nous utilisons 11. Vous y allez. Passons ensuite au registre final statique public, objet Registre. Cette fois-ci de la profession de villageois, qui sera le maître de l'explosion. Et ça va être égal au registre des statistiques du village ou de la profession, le maître de l'explosion ici. Et puis un nouveau fournisseur ou un nouveau fournisseur d' un nouveau village ou d'une nouvelle profession. C'est encore une fois, bien sûr, qu'il pourrait être le maître de l' explosion ici même. Permettez-moi d'écrire cela correctement. Cela va prendre le point blaster point, puis il faudra très intéressant, un ensemble mutable. Et puis on va juste dire qu'il n'y a rien dedans. Et puis on va dire un autre ensemble mutable avec rien dedans, en fait. Et puis le dernier sera le point des événements sonores. Et ensuite, n'importe quel villageois travaille. Prenons par exemple le mythe des outils, puis terminons par un point-virgule. Et puis nous en avons fini dans le village des professionnels. Nous pouvons voir que le premier ensemble immuable est les articles demandés, définit l'adresse des articles que vous pouvez ramasser et utiliser. Et ensuite, l'autre est le PUI secondaire, qui est comme des barrages routiers, est-ce que ce professionnel interagit ? Dans notre cas, nous n' aurons aucun de ces éléments qui ne sont vivement recommandés. Encore une fois, être ouvert à l' expérimentation là-dessus, essayer certaines choses et voir ce que vous trouverez. La dernière chose que nous allons faire est que nous allons avoir une autre méthode qui sera le vide statique public, et ce sera la méthode Register s'il vous plaît. Et c'est extrêmement important. Nous allons avoir une déclaration d'essai et de capture ici. N'écrivez pas celui-là. La prise va avoir ce qui suit. Il va y avoir une exception de cible d'appel avec cette exception d'accès légal en ligne droite appelée exception E. Vous y allez. Et puis ce sera l'exception à l'impression par points, à la pile, à la trace. Vous y allez. Et ce qu'il a dans l'esprit est évident. Et puis ici, dans l'essai, nous allons dire méthode d'aide à la réflexion obfuscation. On va faire la classe de points de type point. Le nom de la méthode sera d'enregistrement des états de bloc, puis une fois de plus, en transmettant une classe de points de type pointeur. Ensuite, nous allons dire « invoquer null » et le point de blaster, c'est parti. Maintenant, cela peut sembler complètement fou pour vous, et c'est le cas. Maintenant, la raison pour laquelle nous devons le faire est essentiellement que nous devons, eh bien, enregistrer les états de blocs. Nous pouvons y jeter un coup d'œil comme cette méthode ici. Vous pouvez voir cette méthode des états de blocs de registre. Comme vous pouvez le constater, toutes les méthodes des états du bloc de registre sont toutes privées. C'est pourquoi nous devons utiliser l' aide à la réflexion obfuscation dans ce cas, et alors nous pouvons l'appeler. Mais si vous avez plusieurs points, vous pouvez simplement en ajouter un autre avec votre autre point ici. Il suffit donc d'ajouter l'autre point et tout ira bien. Cette méthode doit être refroidie dans la méthode de configuration du cours MC dans la configuration commune FMLA. On va donc dire que les villageois des mods commencent à enregistrer l'équilibre et nous y voilà. Maintenant, nous n'en avons pas encore fini car nous devons encore ajouter quelques traits de traduction à ce villageois. Et puis aussi très important. Le plus, commençons par la traduction à la traduction est assez simple tout ce que l'on considère. Je vais juste copier cela et c'est bien sûr, disponible pour vous dans le référentiel GitHub, un individu tout aussi. Vous pouvez voir Entity micro villager, maître de l'explosion du cours MC. Et ce sera le nom de l'entité en haut lorsque vous ouvrirez l'inventaire ou la texture, ce sera très intéressant. C'est sous entité et je vais créer un nouveau répertoire appelé villageois. Et puis je vais copier ce que j' ai déjà ici et je vais vous montrer d'où j'ai eu ça. Ce sera donc numéro un, le villageois ici. Je ne sais pas trop ce que nous avions besoin du villageois lui-même, mais apparemment, nous avions encore besoin à moins que des professionnels, bien sûr nommés comme celui-ci ici même, maître de l'explosion. Et vous pouvez voir, j'ajoute vraiment que j'ajoute une profession déjà existante ici, juste pour que nous ayons quelque chose de différent à ce quelque chose de différent moment-là, mais en fait fonctionne. Et bien sûr, j'ai eu ceci une fois de plus des bibliothèques externes allant jusqu' à ce qui suit. Voyons voir, il devrait être ici par un 1182 supplémentaire ou quelle que soit votre version dans le dossier des actifs, Minecraft, des textures dans le dossier de l'entité jusqu'au villageois ici. Ensuite, nous avons le villageois juste ici. C'est le villageois normal. Ensuite, c'est ici la profession et j'ai pris l'armure, je crois. Oui, tu y vas. Mais il suffit d'enregistrer que l'armure un peu fortement recommandée, en prenant ceci, en l'utilisant puis en l' entraînant environ un peu. Donc la texturée ici va certainement être la seule chose qui pourrait vous prendre un certain temps jusqu'à ce que vous ayez bien compris, mais c'est ce que c'est. Et puis les types, je ne pense pas qu'il ait vraiment besoin que vous fassiez quoi que ce soit avec les types, mais vous faites d'une manière ou d'une autre pour quelque raison que ce soit, avez besoin du villageois et de la profession. Je ne sais pas pourquoi c'est le cas. C'est du moins ce que j'ai, c'est ce que mon test a fait. Économie. Ensuite, en ce qui concerne les traits réels, nous pouvons simplement utiliser notre événement à nouveau. Ainsi, dans le cours des événements automobiles tout en bas ici, celui-ci, nous pouvons littéralement l'utiliser pour notre événement, pour nos professionnels personnalisés. Eh bien, donc plus de villageois que le dernier maître a obtenu et maintenant on peut y ajouter des trucs. Nous pouvons donc simplement dire quelque chose comme ça où nous pouvons simplement ajouter la liste, ajouter quelques éléments ici pour le premier niveau. Et ensuite, juste par souci d'argumentation, ajoutons quelques deux niveaux deux ici. On va juste changer ça au niveau deux. Mais cela va être le cas, nous allons simplement ajouter la même chose à des prix différents parce que pourquoi pas ? Faisons ça , puis on va faire un niveau deux. Nous allons faire quelque chose comme un 58 en tant que test ici juste pour que vous puissiez voir que vous puissiez les ajouter également. C'est le même cobalt Paxil que nous pouvons acheter ici. Donc ce ne sera pas si intéressant, mais essayons ça et vous verrez que cela ajoutera également les trades à eux. Donc, je suppose que nous allons voir si ça marche, oh, juste devant nous à Minecraft. Faisons donc simplement apparaître un villageois, puis posons les explosions de cobalt ou qui reconnaissent immédiatement comme un point d'intérêt et il devrait se diriger vers lui et ensuite obtenir le réel ou je suppose que non. Approchons-nous un peu plus près ici. J'ai eu une faute de frappe. C'est en fait le bloc de cobalt qui est le point d'intérêt, mais assez juste, je suppose. Alors, posons-le et alors vous pouvez voir maintenant qu'il se dirige vers lui. Parce que vous pouvez voir que nous avons une flèche et la texture. Nous allons régler ça dans un instant. Voyez le O, c'est en fait le blaster Moscou. C'est génial. Mais vous pouvez voir la trace ici a été ajoutée. Je peux les obtenir. Et ensuite, nous devrions être en mesure de voir, une fois qu'il a réellement augmenté, être en mesure d'obtenir les autres qu'ils vont pour le niveau deux et c'est là. Cela fonctionne donc définitivement. Voyons donc simplement fixer la texture réelle pendant un instant. Ici, c'est écrit le maître de l'explosion. Il faut bien sûr dire les maîtres des explosions. Donc, ça devrait à peu près régler tout le reste ici. Je vais aussi changer ça pour le blaster au cobalt ici. Et ensuite, juste par souci d' argumentation, voyons si cela fonctionne. Par exemple, de retour à Minecraft une fois de plus, et posons-le et ils partent Maintenant, tout fonctionne bien si je vais ici et que le dernier maître travaille aussi pour tout comme vous le feriez. attendez-vous à ce qu'il le fasse C'est donc facile d'ajouter un village personnalisé ou une profession, Minecraft, n'est-ce pas ? Encore une fois, bien sûr, tout le code sera disponible dans le référentiel GitHub et individuel, mais ce serait tout pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors de la prochaine conférence. 119. (1.18.2): Bon, bienvenue au cours de forge pour 118. Et dans cette conférence, nous allons regarder des entités pour bébés. Oui, donc nous allons ajouter l'entité bébé à notre tigre. Et encore une fois, c'est l'une de ces choses qui est en fait beaucoup plus facile que prévu. J'ai aussi été un peu plus compliqué, mais ce n'est pas du tout compliqué. À l'intérieur de notre progéniture de race ici, ce que nous voulons faire, c'est que nous voulons dire les types d'entités mod, pas un tigre qui obtient cette création puis passe au niveau du serveur. C'est ce paramètre ici. Je vais juste cliquer dessus, appuyer sur Maj F6 pour le renommer au niveau du serveur juste pour que nous sachions ce que nous passons ici , puis nous le transmettons ici. C'est le numéro un que nous devons faire. Numéro deux, nous devons remplacer une certaine méthode et c'est la méthode alimentaire. Au lieu d'ici, nous vérifions essentiellement si cette pile est la nourriture que cette entité particulière peut être élevée en largeur. Dans ce cas, nous allons dire « p dot get item », et je vais dire que c'est égal aux objets dot beef. Je veux que tu cliques avec le bouton droit sur l'entité tigre avec du bœuf qu'elle soit prête à respirer. C'est l'idée ici. Nous avons ensuite besoin d'un nouvel objectif. Je vais donc juste copier le règlement ou l'objectif et ce sera l'objectif de la race, va également prendre un modificateur de vitesse juste ici. Nous allons donc avoir la même vitesse et je la place ici sous la priorité trois. Je pense que cela devrait être une entropie assez simple. Maintenant, ce sont en fait toutes les choses que nous devons faire dans l'entité tigre. Il y a encore une chose que nous devons faire dans le moteur de rendu, et c'est la balance ici. Il s'agit donc bien sûr de l' échelle du modèle actuel. Et ce que nous pouvons faire, c'est que nous pouvons dire si c'est animé, c'est bébé, et nous allons mettre à l'échelle différemment d' appuyer simplement sur Control X pour le découper, puis le coller à nouveau. Et puis, juste ici, on va le faire. Nous sommes donc là quand ce n'est pas un bébé, et ensuite nous voilà si c'est un bébé, donc nous allons juste mettre ça en deux et puis c'est tout. Et cela devrait être tout ce que nous devons faire pour que le bébé travaille. Il y a des choses intéressantes. Par exemple, une fois que nous avons réellement les équipes de tigres, puis nous lui donnons un clic droit avec le produit alimentaire ici. Ensuite, on aime quand même y aller pour l'écrire. Il y a donc un peu de bizarrerie ici, mais cela devrait être assez trivial pour corriger cela ici, essentiellement pour vérifier, hé, en tant que joueur, cliquez avec le bouton droit de la souris avec un boeuf et alors nous ne devrions même pas vraiment commencez à l'écrire. Cela devrait être assez simple à résoudre. Mais pour l'achèvement, voyons si ça marche ou s' il nous trouve en micro. Répondons donc aux tigres et voyons, cliquez avec le bouton droit de la souris, cliquez avec le bouton droit de la souris. On y va. Et dès qu'ils se retrouvent, oui, non. D'accord. Vous y allez. Il y avait aussi un bébé tigre ou qui fonctionne parfaitement. Maintenant, il faut beaucoup de temps pour qu'ils grandissent. Je l'ai essayé et ils vont grandir. Cela prend juste beaucoup de temps. Je crois que c'est codé en dur dans la classe des animaux, mais nous pouvons vérifier cela en un instant. Mais oui, c'est à peu près comme ça que tu fais ça. Et puis celui-ci, bien sûr, on ne peut pas se reproduire. Maintenant, je pense que seulement assez nous devrions pouvoir l'écrire. Je veux dire, d'accord. C'est comme s'il devrait probablement y avoir un chèque pour cela. Mais honnêtement, ce sont des bébés entités. Très explicatif. Ce n'est vraiment pas si difficile. Je pensais vraiment qu'ils seraient plus difficiles, mais ils sont plutôt simples, non ? Une fois de plus, si vous jetez un coup d'œil à ce bouton central de la souris, cliquez sur cette souris du milieu, cliquez dessus avec le bouton droit de la souris. Vous voyez, c'est l'animal, et celui-ci a en quelque sorte toutes les choses différentes pour l'élevage. Vous pouvez voir que c'est le cas, il y a beaucoup de choses. Vous avez la bougie et j'ai adoré le set et j'adore ça. J'adore le temps d'avoir assez de temps, aimer le cours est amoureux, réinitialisé, l'amour peut se rencontrer. Ce sont des choses en quelque sorte. Je veux dire, ici vous pouvez voir l'enfant géniteur de la méthode d'élevage, qui parraine essentiellement l'enfant réel. Vous pouvez voir qu'il est activé mobile depuis le, il lit la descendance ici. Donc, ce devrait être la chose que vous devez jeter un coup d'œil s'il y a quelque chose que vous vouliez éventuellement remplacer. Donc oui, c'est à peu près ce dont vous avez besoin dans la vadrouille à gravats. Oui. Vous pouvez donc voir les bébés commencer h, c'est le h stocké ici. Vous pouvez donc probablement changer cela aussi bien à l'intérieur de votre entité tigre. Dans ce cas, si vous le voulez, peut-être que le tigre grandisse un peu plus vite, cela pourrait également être fait. Mais oui, c'est à peu près à quel point il est facile d' ajouter des entités de bébé à vos mafia. C'est beaucoup plus simple que je ne le pensais, mais ce serait déjà le cas pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau. Et je vous verrai lors des prochaines conférences. 120. (1.18.2) Géodes personnalisés: Bon, bienvenue au parcours forestier pour 118. Et dans cette conférence, nous allons examiner comment ajouter des géocodes personnalisés à un Minecraft. Maintenant, c'est une chose assez simple à ajouter et nous allons juste y jeter un coup d'œil. Ainsi, dans le package mondial, dans le package de fonctionnalités, les fonctionnalités configurées par mod sont l'endroit où nous ajouterons la géode et je copierai sur tout le support. Et ensuite, nous allons jeter un coup d'œil à chacune de ces lignes, à ce qu'elles signifient et à la folie qui y est associée parce que c'est assez long, mais pas de soucis du tout. Ils peuvent voir que c'est en fait une nouvelle ligne ici aussi. Et vous pouvez voir que c'est assez long dans ce cas, mais pas de soucis du tout. Bien sûr, une fois de plus, nous utilisons Feature utils dot register pour enregistrer une fonction de géoode dans ce cas. Et nous devons ensuite créer une nouvelle configuration de géode. C'est également une excellente classe à laquelle il faut jeter un coup d'œil. Donc, si nous cliquons sur le bouton central de la souris dessus, vous pouvez réellement voir ce que signifient chacune de ces choses, n'est-ce pas ? Nous avons les paramètres de bloc, nous avons la couche, les paramètres corrects, nous avons des chances de placement potentielles et toutes ces choses folles que nous pouvons ajouter ici. Ce qui est très intéressant dans ce cas, c'est aussi les paramètres du bloc de géode ici. Il s'agit donc essentiellement de tout ce qui est sélectionné ici. Et ceux-ci sont en fait très intéressants parce que vous pouvez voir ici de quoi sont essentiellement constituées les couches de richesse particulières . Vous pouvez donc voir que le fournisseur de remplissage sera de l'air qui devrait être assez explicite. Donc, le G ou à l'intérieur, tout est de l'air. Si vous ne voulez pas que ce soit de l'air, vous pouvez aussi changer autre chose, n'est-ce pas ? Vous pouvez donc changer cette boîte ici par quelqu'un d'autre, n'est-ce pas ? Si vous avez un autre bloc, vous voulez que cela soit rempli d'hindou. C'est vraiment cool et ça vous permet de modifier et de configurer presque tout ce que vous voudriez, ce que je trouve vraiment cool. C'est à peu près l'idée, non ? C'est donc encore une fois, une de ces choses où je recommande vivement de jouer avec les différents blocs, les différents numéros, surtout aussi. C'est la meilleure chose que vous puissiez faire. Essayez simplement quelques choses, voyez jusqu'à ce que vous puissiez trouver un GO que vous aimez en termes de fissuration, avec les paramètres corrects, par exemple, cela signifie simplement s'il y a ou non qui est exposé et ils peuvent immédiatement entrer dans ce genre de choses. Je recommande vivement de jeter un coup d'oeil là-dessus, de jouer avec les chiffres ici. Et puis j'espère que vous allez créer une géode de vos rêves, pour ainsi dire. Ce que je veux faire, c'est que je veux remplacer l' ardoise profonde ici. Remplacons ça par de la saleté. Et disons ici, faisons simplement émeraude. Bien sûr. Pourquoi pas ? Juste au cas où, je voudrais essentiellement jeter un coup d'œil à la façon dont cela affecte les paramètres du blog géo. Et ensuite, vous pouvez voir où tous ces différents blocs sont placés , n'est-ce pas ? Le plus important est donc cette liste ici. Comme cette liste est généralement écrite, cette liste est en fait les placements intérieurs et les placements intérieurs ou les cristaux d'améthyste. Donc, ces listes incluraient essentiellement ces cristaux d'améthyste. Donc, ce que nous pouvons jeter un coup d'œil, par exemple, c'est une autre caractéristique, la géode. Alors, il suffit de cliquer sur le bouton central de la souris , cliquez sur cette annonce au milieu , cliquez dessus et vous pouvez voir l'améthyste GO ici. Si nous allons jusqu' au bout, vous y allez. Vous pouvez donc voir l'améthyste en herbe. Et cela se fait également dans la liste ici. Vous pouvez donc voir un amas d'améthyste, dans lequel vous pouvez voir ici nous avons le petit bourgeon d'améthyste moyen MF est bourgeons. Voici donc une liste des boutons possibles d'améthyste en amas d'améthyste qui pourraient apparaître. C'est l'idée générale de cette liste ici. Je viens donc d'utiliser le bloc de cobalt dans ce cas, mais vous pouvez bien sûr créer le vôtre, regrouper le vôtre. Mais en gros et ensuite, le cygne aussi. Maintenant, c'est très bien, mais que faisons-nous de cette fonctionnalité configurée ? Eh bien, nous allons dans le plus, nous allons à nouveau dans la classe des fonctionnalités du marché, et nous allons juste le faire, et je vais juste copier une fois de plus sur le support, tout cela est disponible pour vous dans le référentiel GitHub et l' individu tout aussi. Et vous pouvez voir que c'est la géode de cobalt placée. Bien sûr, nous prenons la géode cobalt de celle que nous venons de créer essentiellement, puis nous créons un filtre de rareté en moyenne tous les 50 morceaux. La pâte à tartiner N est juste quelque chose que j'ai pris à peu près dans la géode à la vanille. Et puis vous pouvez voir, nous sommes essentiellement ce matin au-dessus six ans et jusqu'à 50. Encore une fois, je recommande vivement de jouer avec les ancrages verticaux au-dessus du bas, en bas, en absolu, tout cela. Il suffit de l'essayer et de voir ce que vous pouvez voir en gros jusqu'à ce qu'il soit placé comme vous voulez écrire. C'est donc à peu près tout ça. Et ensuite, nous devons simplement entrer dans notre génération. Ensuite, au lieu d'appeler le cobalt ou de placer, vous voulez appeler la géode cobalt placée. Ce sont en fait toutes les choses dont nous avons besoin pour ajouter notre géoode personnalisée ici. Faisons donc un nouveau monde et voyons s'il fonctionne. Ou nous nous retrouvons à Minecraft. Et comme vous pouvez le constater, j'ai déjà trouvé une jolie petite géode, donc vous pouvez voir quels sont les différents blocs. Tout d'abord, bien sûr, l'intérieur est bien rempli d'air comme indiqué au tout début. Et puis vous pouvez voir, et ensuite vous pouvez voir que les blocs ici seraient essentiellement les améthystes en herbe, n'est-ce pas ? Alors que le cheval serait le bloc d'où pousse le MSS. C'est l'idée générale. Vous pouvez également voir où la saleté est placée. Une émeraude, ou où est-ce ? Eh bien, si nous sortons vraiment d'ici, nous devrions pouvoir trouver une émeraude ou peut-être de l' autre, c'est pour qu'ils puissent voir les blocs amro. C'est donc tout le chemin jusqu' ici où la géode réelle repère. Vous pouvez donc voir que la taille réelle du géoïde est beaucoup plus grande. Et C, tu y vas. Je recommande donc vivement de ne pas changer cela en auras émeraude, mais en blocs d'émeraude dans ce cas. C'est donc assez fou. Mais oui, ce sont essentiellement les idées de ce que font tous ces différents blocs. Et puis il s'agit simplement de jouer un peu avec eux pendant votre temps libre et d' essayer des valeurs différentes, n'est-ce pas ? Mais ce serait déjà le cas pour cette conférence ici. J'espère que vous avez trouvé cela utile et les alertes du Nouveau, et je vous verrai lors de la prochaine conférence. Donc, oui. 121. (1.18.2) Bloc qui interagit avec Redstone: Bon, bienvenue au cours de forge pour 118. Dans cette conférence, nous allons examiner brièvement comment vous pouvez faire interagir vos blocs avec un Redstone. Mais c'était quelque chose que quelques personnes voulaient en fait jeter un coup d'œil et elles savaient pas très bien comment. Donc. Jetons un coup d'œil à notre classe de blocs clients, principalement le bloc de lampes au cobalt. Donc, au lieu de faire en sorte que vous puissiez cliquer avec le bouton droit pour activer et désactiver cela. Ce que nous allons faire, c'est que nous allons juste vérifier si un signal Redstone est appliqué ou non à ce bloc. Maintenant, bien sûr, notre meilleur ami ici est les bibliothèques externes, principalement le code source Minecraft. Donc, si nous appuyons deux fois sur la touche Maj , puis jetez un coup d' œil à la lampe Redstone. Ce sera la lampe Redstone, veillant à ce que les autres projets soient cochés. Vous pouvez voir celui-ci ici, son propre bloc de lemma, alors nous le pouvons à peu près, et c'est de la folie, en fait copier la plupart de tout cela, la plupart qui est écrit ici. Nous voulions donc la méthode tick et les méthodes de changement de voisin. Ces deux méthodes sont donc essentiellement les seules méthodes dont nous avons besoin. Nous allons donc copier ces deux-là du bloc de lampe Redstone. Bien sûr, tout le code sera également disponible dans le référentiel et individuel. Et nous n'avons besoin que de changer le couvercle ici pour récupérer parce que nous l'appelons cliqué il y a. Et ça devrait être très bien. Mais nous pouvons également changer cette situation ici en cette année. Cette année également. Et là aussi, on y va. Ajoutons simplement un remplacement d'ajout ici juste pour que nous soyons conscients que nous avons écrasé ces méthodes au cas où, et cela devrait être correct. En fait, je veux que rien ne change ici, alors nous allons simplement commenter cela. Cela devrait être très bien aussi. Et maintenant, c'est à peu près tout ce que nous devons faire dans ce cas. Alors, qu'est-ce que cela fait réellement ? C'est vrai ? Donc parce que vous êtes peut-être comme, c'est un peu bizarre. Eh bien, tout d'abord, le voisin a changé méthode sera assez explicite. C'est ce qu'on appelle chaque fois qu'un voisin de ce bloc particulier change. Ce qu'il fait alors, c' est qu'il est dit, hé, comme n'importe quel voisin a un signal ici, n'est-ce pas ? Il va donc dire qu' il va tout d'abord obtenir la valeur de Clicked. C'est juste, assez juste. C'est vrai. Donc, nous sommes en train de le faire, c'est vrai. Alors, nous voulons vérifier, hé, est-ce que, nous aussi, n'avons-nous pas de signal de voisin si nous sommes allumés ? Parce que ce que nous voulons faire, c'est que nous voulons éteindre ce rocher en tant qu'idée générale. C'est un peu trop compliqué dans la façon dont cela est fondamentalement formulé. Mais c'est l'idée générale. La coche planifiée est à peu près juste, bien planifie une coche si nous allons vraiment là-dedans. Et c'est un peu difficile à lire avec les paramètres non cartographiques. L'idée générale est juste que nous planifions essentiellement une coche et que la méthode de tick est appelée ici. Cochez ici dans ce cas, encore une fois, elle vérifie si la nôtre ou non et si le voisin n'est pas allumé, s'il n'y a pas de signal sur le voisin, si c'est le cas, plus mettre ce bloc à l'être, et nous sommes en train de parcourir le lien ici. Nous pouvons donc jeter un coup d'œil à ce que la collection cycliste de Nixon, ce que cela fait à peu près c' est qu'elle renverse le cliqué. C'est donc la même chose que nous avons fait ici avec l'état actuel, puis en l'annulant, c'est la même chose. On est juste en train de le traverser à vélo. C'est donc tout ce que nous faisons. Dans ce cas, presque aucun changement au code de la vanille. Dans ce cas, il suffit de changer l' éclairage deux clics dans ce cas. Et c'est à peu près tout ça. Nous voulons aussi le faire, c'est que je voulais ajouter la ligne d'impression du système suivante juste pour que nous puissions voir cela. nous puissions dire ici, disons simplement cela pour dire que c'est alimenté par. Et puis nous allons dire, quand je dis niveau P, obtenir le meilleur signal de voisin. Voyez-vous, nous passons juste dans la position. Mais quel est le meilleur voisin ? Siegel ? Quel est le meilleur signal voisin ? Eh bien, le signal des meilleurs voisins provient simplement de tous ses voisins, qui a le signal le plus fort. Et nous allons simplement émettre le signal réel de ces voisins en particulier. Il s'agit donc d'un entier. Vous pouvez voir où il est 15 est la puissance de signal la plus élevée que Redstone puisse avoir. Donc, si un des voisins en a 15, alors nous allons en produire 15. S'il y a un signal plus faible, nous allons le produire. Allons simplement dans le jeu et voyons ce que cela fait réellement. Ou en France ou dans Minecraft. Et je l'ai déjà posé une lampe en cobalt. Essayons simplement un niveau. Tout d'abord, vous y allez. Je peux l'allumer et l'éteindre, donc ça marche. Et je peux aussi y mettre Redstone. Et cela fonctionne également. Si je clique dessus avec le bouton droit de la souris et que je vous montre intelligent, vous pouvez voir alimenté par 14. Pourquoi est-ce que c'est 14 ? Eh bien, bien sûr, parce qu'il s'agirait une force 15 et ce serait une force. Maintenant, allumez celui-ci aussi, n'est-ce pas ? Donc le levier alors en C, maintenant il est alimenté par. C'est donc à peu près tout ce qu'il y a à faire. Il s'agit essentiellement de la façon dont vous pouvez modifier une propriété d' état de bloc particulière lorsque vous y appliquez Redstone. Et c'est à peu près tout ce dont vous avez besoin si vous voulez une fonctionnalité spéciale pour cela, eh bien, vous devez bien sûr prendre ces blocs, dire des propriétés, par exemple, qui changent et font Quelque chose avec eux. Mais c'est presque tout ce qui est faisable. C'est à quel point il est facile d'ajouter un bloc avec des fonctionnalités Redstone du jeu. Comme toujours, tout le code est disponible dans le dépôt just et GitHub. Et je vous verrai tous lors de la prochaine conférence. Oui. 122. (1.18.2) Rendu d'entité en bloc personnalisé: Bon, bienvenue au cours de forge pour 118. Et dans cette conférence, nous allons jeter un coup d'œil au rendu de l'entité de bloc. Eh bien, c'est un sujet très intéressant qui vous permet essentiellement rendre des éléments personnalisés sur vos entités de blocs. Maintenant, nous allons importer un modèle de bloc personnalisé à partir de un banc de bloc. Je l'ai donc déjà préparé. C'est ce qu'on appelle un piédestal. Et ce qu'il pourra faire, c'est que nous pourrons cliquer avec le bouton droit de la souris avec un élément , puis l'article flottera sur le dessus du piédestal. C'est l'idée générale de cet exemple particulier ici. Et ça va être vraiment, vraiment génial. Le fichier de banc de blocs sera bien sûr également disponible. Et quand vous avez ceci, ce que vous voulez faire, c'est d'aller au fichier et d'exporter le modèle d' élément de bloc ici. Nous allons juste exporter le piédestal que Jason. Très bien, tout va bien se passer. Et ensuite, nous pourrons continuer. Il va donc bien sûr y avoir notre fichier JSON modèle de blocs. Mais tout d'abord, créons un bloc, l'entité de bloc et toute la folie qui y est associée. Commençons par la classe de blocs réelle. Nous allons donc cliquer avec le bouton droit sur la nouvelle classe Java dans notre package de blog personnalisé. Et ça va être le piédestal il y a un peu. Maintenant, cela va étendre la classe de blocs d' entités de base ici. Il survole cette méthode d' implémentation, la nouvelle méthode d'entité. Et puis nous allons survoler à nouveau, créer un constructeur correspondant super. Si le paramètre ici vous agace, Shift F6 pour le renommer en propriétés et tout devrait bien se passer. La première chose que je veux faire, c'est que je veux faire une erreur délibérée ici, afin que nous n' oubliions pas de changer cela après avoir créé l'entité de bloc, car cela arrive parfois. Et ce que je ferai aussi, c'est que je copierai le reste du code ici. Ce n'est donc pas trop fou. Cela peut donc paraître beaucoup, mais en fait, ce n'est pas trop fou. Nous obtenons également une erreur ici parce que nous n' avons pas le crédit d'entité de bloc, mais c'est très bien. La première chose qui est incroyablement importante car ils obtiennent la méthode de rendu de la honte et que tout le code ici est bien sûr également précieux. Obtenez un pasteur en individuel tout aussi. Donc, pas de soucis là-bas. Mais la méthode en forme de rétine est la plus importante, sinon votre bloc sera invisible. C'est donc très important. Ils ont utilisé la méthode, bien sûr, est la méthode qui est appelée lorsque vous cliquez avec le bouton droit de la souris sur ce bloc particulier. Et ce qui se passe ici, c'est que nous ne faisons que vérifier, hé, y a-t-il quelque chose à l'intérieur de cet inventaire ? S'il est vide, nous prenons simplement l'objet qui se trouve dans la main du joueur et nous ajoutons à l'inventaire ici. Donc, piédestal à l'élément joueur, le copier, le décrémenter. Nous obtenons également le son de lecture de l'objet parce que c'est juste un peu plus agréable ici. Et si le piédestal n'est pas vide, nous sommes essentiellement en train de frayer l'objet du piédestal et de le supprimer du socle. Mais ce ne sont que trois petites méthodes d'aide privées dans ce cas, et le reste se produit dans les méthodes utilisées. Donc, dans l'ensemble, la fonctionnalité actuelle n'est pas si folle, toutes choses considérées. Maintenant, bien sûr, nous avons toujours besoin de l'entité de bloc, donc prenons également l'entité de livre. Faisons donc une nouvelle classe et le paquet d'entités, il s'agira de l'entité de verrouillage du piédestal. Et tout d'abord, c' est important ici. Alors, tu y vas. Nous pouvons simplement importer cela. Et puis, tout va bien se passer une seconde. Cette erreur disparaîtra une fois que nous aurons tout mis en œuvre ici. Alors, de quoi avons-nous besoin ici ? Eh bien, tout d'abord, bien sûr, cela doit étendre la classe d'entités de blocs. Ça ne devrait pas être trop fou. Et créons le constructeur correspondant super. Et alors, la question est : de quoi avons-nous besoin ? Eh bien, nous avons vraiment besoin de quelques choses. Une fois de plus, je vais les copier, mais pas de soucis. Tout cela est également disponible dans le référentiel GitHub et individuel. Maintenant, ces deux-là ne devraient pas être fous. Nous l'avons également vu dans les explosions de chordaux ou l'entité de bloc. Juste le gestionnaire de pile d'objets ici, essentiellement notre inventaire de cette entité rock particulière. Ensuite, nous avons également besoin du laser en option afin de le rendre disponible grâce aux capacités. Ensuite, copions quelques méthodes d' aide ici car ce que vous trouverez, c'est que nous avons également une rotation ici. Maintenant, pourquoi avons-nous la rotation ici ? Eh bien, parce que ce que nous voulons faire, c'est que nous voulons que chacune des différentes entités de blocs lorsque l'élément est là, nous voulons essentiellement qu'il tourne. Et la rotation ici dans ce cas est réellement enregistrée sur l'entité de bloc. Nous devons l'enregistrer ici, car si nous l'enregistrons sur le moteur de rendu d'entité, cela ne fonctionne pas car chaque entité de bloc partage fondamentalement un moteur de rendu. Et puis chaque entité de bloc que vous ajoutez fait tourner le, eh bien, le fait tourner plus rapidement. Chaque entité de bloc a donc besoin sa propre rotation, mais c'est très bien, n'est-ce pas ? Nous n'avons pas ajouté de rotation ici. Nous ajouterions simplement une rotation quand elle atteint 360, puis nous la réinitialisons à 0. S'il est inférieur à 0, nous ne faisons que l'ajouter. Donc, au fond, nous sommes juste en train de le faire tourner. C'est l' idée générale. Et puis nous avons ici une méthode de rotation get, mais rien de trop fou. Ajoutons ensuite la fonctionnalité ainsi que les méthodes de sauvegarde et de chargement. Mais encore une fois, ils ne devraient pas non plus être fous. Vous bénéficiez également des capacités que nous avons vues dans l'entité personnalisée, ainsi que des méthodes supplémentaires et faibles sûres pour la balise dans laquelle nous venons d' enregistrer l'inventaire. Donc, lorsque nous quittons le monde et que nous y retournons, l'inventaire réel est toujours sauvegardé, n'est-ce pas ? Et puis les dernières méthodes dont nous avons besoin ici sont la méthode gouttes, n'est-ce pas ? Donc, ce ne sont que les méthodes pour que les choses tombent réellement. Nous voulons donc l'implémenter dans le bloc en un instant. Et puis nous avons également la méthode invalidate caps, la méthode onload que nous avons obtenu la méthode paquet de mise à jour et ils reçoivent la méthode de balise mise à jour. Maintenant, ces deux-là sont importants pour invalider les camps, puis le déchargement afin que le gestionnaire d'objets soit initialisé correctement et tout cela. Ces deux-là sont importants car sinon il pourrait y avoir un problème de synchronisation entre le serveur et le client. C'est pourquoi nous avons besoin des deux. Et nous voulons essentiellement obtenir la taxe de mise à jour. Nous voulons donc obtenir une étiquette ici, puis la charger puis la renvoyer. Donc, ce n'est pas trop fou, mais sachez juste que nous en avons besoin. Sinon, le client et le serveur ne couleront pas correctement, puis l' élément réel sera enregistré, mais il ne sera pas divisé. C'est pourquoi nous avons également besoin de ces deux méthodes, n'est-ce pas ? Ensuite, passons au bloc un instant et ajoutons, vous pouvez voir la flèche disparaître ici. Et j'ajouterai également la méthode OnRemove ici qui appelle la méthode drops que nous venons d' implémenter ici. Donc, en théorie, nous n'avons même pas besoin faire une boucle for-loop, mais tout ira bien. Tout va bien se passer. Il s'agit de la même méthode de gouttes que celle que nous avons dans les chloroplastes ou les blocs. Et c'est en fait tout ce dont nous avons besoin à l'intérieur de l'entité de bloc. Dans l'ensemble, ce n'est pas trop fou et ce n'est pas trop compliqué. Fondamentalement, voici quelques-unes des choses dont nous avons besoin pour y enregistrer les données. Ensuite, passons à la classe des entités de blocs de mod et nous allons l'enregistrer. Mais nous allons juste le faire, prenons la dernière rangée de la coopérative. Nous allons juste copier cela dans l' entité de bloc de magasin d'en-têtes ici. Ce sera également le piédestal. Piédestal. Vous y allez. Ensuite, bien sûr, changer le nom ici, très important, car nous avons besoin que ce soit l'entité du bloc de piédestal. Et ce doit être le piédestal qui n'est pas encore mis en œuvre, mais c'est très bien. Allons maintenant une fois de plus dans l'entité du bloc de piédestal . Parce que, bien sûr, nous devons changer de constructeur ici. Sinon, ça ne fonctionnera pas. Nous voudrons alors le voir, mais regardez, des entités qui, ce n'est toujours pas obtenir l'ego et maintenant les entités de bloc devraient aller bien. Nous devons maintenant enregistrer le livre réel. Ça va être très bien que ce soit dans notre classe de blogs, plus de blocs ici. Allons juste au fond, ici. Copie par-dessus la fenêtre d'hiver. Dans ce cas, ce sera le piédestal et bien sûr le nom du piédestal. Et ça va être le piédestal. la chance. Maintenant, cette situation est protégée, nous devons donc changer cela en public. Vous y allez. Et ensuite, nous pourrons le faire également. Vous y allez. Très bien. Cela va être copié. En fait, cela ne va pas copier Que diriez-vous de prendre un matériau que cette pierre, je pense que cela aurait le plus de sens de la pierre matérielle de l'époque. Et il va être ajouté à notre onglet Creative personnalisé. C'est très bien. Ensuite, nous pouvons revenir au bloc de piédestal une fois de plus et appeler des entités de blocs de mod qui piédestal point, point créent, passant dans la position et l'état ici. Et le bloc devrait également être fait. Et puis les entités de bloc de mode, celle-ci n'est plus une erreur et tout devrait fonctionner correctement. C'est absolument génial, mais nous n'avons toujours pas l'affichage de notre monde. Nous n'avons pas de moteur de rendu d' entité de blocage client. Dans notre package d' entité, créons un nouveau package appelé client. Et puis, au lieu de là, nous allons créer une nouvelle classe Java appelée bloc de piédestal, bloc magasin d' en-têtes et rendu d'entité. Et cela va étendre le rendu de l'entité de livre, celui-ci ici de type entité en vrac de piédestal. Survoyons cette méthode Implementation Methods, la méthode de rendu dans ce cas. Et ensuite, nous voulons également changer cela pour des implémentations plutôt que des extensions. En fait, c'est un bon point car il s'agit en fait d'une interface. Nous avons également besoin d'un rendu d'entité de bloc de piédestal public avec un bloc, avec un fournisseur de rendu d'entité de livre. Celui-là, ce contexte ou ces contextes, et ce sera notre constructeur dans ce cas. Maintenant, je vais une fois de plus copier le contenu de la méthode de rendu. Encore une fois, tout cela est disponible pour vous et cela devrait être assez simple, toutes choses prises en compte. Donc, tout d'abord, nous obtenons essentiellement le moteur de rendu de l'objet directement de Minecraft lui-même. Et puis nous dirons, d'accord, donnez-moi la pile qui se trouve à l'intérieur d'ici, et ensuite nous ferons un tas de folie. L'idée générale est que la pile ici ne fait que le rendu, en gros. Et ce que nous faisons essentiellement, c'est que nous faisons monter et descendre la pile réelle. Donc ça va être R, ça va être l'objet. On va s'arranger de haut en bas. Nous allons l'adapter à la taille ici. Ensuite, nous obtiendrons également une rotation. s'agit donc que de faire pivoter l'article autour de l'axe Y. C'est à peu près toutes ces trois choses ne font pas qu'elles rendront l'objet réel ici, et ensuite nous devrons faire sauter la pile nouveau, et alors nous devrions aller bien. Ensuite, nous ajoutons essentiellement une rotation négative de sorte que chaque fois que cela s'appelle fondamentalement chaque tick ou deux, grossièrement parlant, n'est-ce pas ? Donc, chaque fois que cela s'appelle, nous avons tourné autour de moins un degré afin que ce soit une rotation en douceur. Une fois que vous voyez que cela ne devrait pas être trop fou, vous ne devriez pas être trop compliqué. Tout ce qui est considéré est en fait assez simple. Maintenant, le moteur de rendu d'entité de bloc doit être ajouté à un certain événement. Et pour cela, nous avons vraiment besoin d'un nouveau cours. Ce sera les événements de mod client, et je vais le copier une fois de plus. Mais encore une fois, c'est très simple. Ils voient que vous avez besoin de l'abonné du bus d'événements en mode d'ajout en haut de la classe est important que ce soit les barres de mortier ainsi que la valeur dist dot client. C'est extrêmement important, sinon cela ne fonctionnera pas correctement. Bien sûr, vous avez besoin d' une méthode statique publique avec un attribut vendeur abonné. Et nous avons besoin des moteurs de rendu d' entités, des moteurs rendu de registre d' événements. Nous venons ensuite d'enregistrer l'entité de bloc Renderer auprès l'entité de bloc de piédestal et du rendu de l' entité de bloc de piédestal. C'est tout ce que nous devons faire. Et maintenant, le rendu réel est également enregistré correctement. La dernière chose dont nous avons besoin maintenant n'est que deux. Ajoutez les fichiers JSON. Vous pouvez voir que nous n'avons pas ajouté d'écran ni de menu, car dans ce cas, notre entité de livre ne possède pas d'écran ni de menu. Copions juste le piédestal Jason ici, ça ne devrait pas être trop fou. L'état du bloc Jason est-il assez explicite ? Il en va de même pour la traduction de ce point. Ces choses devraient être, je veux dire, à ce stade, ne devraient même pas être une question ici. C'est juste une chose très simple. Nous allons ajouter cela. Ajoutons le fichier JSON du modèle de blocs. Ce sera donc celui que nous avons réellement pris sur un banc de blocs. Alors copions cela aussi et voyons ce que nous devons changer ici, c'est la pierre lisse parce que c'est sous bloc oblique Minecraft est sous microbloc. Assurez-vous donc de changer cela sur les deux. Ensuite, le fichier JSON du modèle d'élément est également assez simple. C'est juste une fois de plus, pointe vers le fichier Jason modèle de bloc, et c'est à peu près tout. Aucune texture n'est nécessaire dans ce cas, car nous prenons en fait les textures Minecraft en pierre lisse, c'est-à-dire que cela devrait être aussi fin. Ce sont donc toutes les étapes que nous devons faire pour obtenir notre entité personnalisée ici et l'avoir essentiellement avec un moteur de rendu d'entité de bloc spécial. Allons donc dans le monde et voyons si cela fonctionne. Très bien, fantasmez encore dans Minecraft et vous pouvez voir le piédestal a été ajouté avec succès au jeu. Alors, installons quelques-uns d'entre eux et voyons ce que nous pouvons voir. Donc, si je clique dessus avec le bouton droit, nous ne devrions pas avoir le cobalt. cobalt apparaît juste ici sur le piédestal et l'un d'eux devrait disparaître de mon inventaire. Et c'est exactement ce qui se passe. Faisons la même chose pour tous. Il y a cependant, parfois, vous pourriez avoir ces flèches de rendu bizarres ici. C'est donc quelque chose que je ne suis pas sûr à 100 % de la raison pour laquelle cela pourrait être le cas. Je pense donc que cela a quelque chose à voir avec les ombres et autres choses. Voyons donc si cela peut changer lui-même. Si je fais ça. Mais cela ne change rien. Mais comme je l'ai dit, là, parfois c'est un peu bancal à côté avec un rendu. Et je serai honnête, je ne suis pas un autre expert du rendu. Le rendu est en fait l'une de ces choses où, euh, disons simplement que, je ne dirais pas mon pire cauchemar, mais ce n'est certainement pas une chose que j'aime particulièrement. Donc, oui, mais dans l'ensemble, ça marche encore très bien et assez cool. Et c'est une chose qui se forme. C'est plutôt génial. C'est à quel point il peut être facile d'ajouter un microphone de rendu d'entité de bloc. Comme toujours, bien sûr, tout le code est disponible dans le référentiel GitHub et individuel. Et je vous verrai tous lors de la prochaine conférence. Donc, oui. 123. (1.18.2) des coffres de butin dans des structures personnalisées: Bon, bienvenue au cours de forge pour 118. Et dans cette conférence, nous allons examiner comment ajouter une charge personnalisée aux structures de vos clients. Ce que j'ai fait, c'est que je suis arrivé dans la maison de cabane juste ici, juste pour que nous ayons une structure et que nous allons la sauver dans un instant. Mais on va bouger, c'est qu' on va placer un coffre et on va le remplir d'un butin aléatoire. La question est maintenant : comment cela fonctionne-t-il ? Qu'est-ce que vous ne pouvez pas faire ? Et c'est ce que certains essaient. Ils prennent simplement la poitrine, puis le posent et ensuite de la même manière. Pourquoi n'y a-t-il pas de butin aléatoire là-dedans ? Eh bien, cela ne fonctionne pas. Qu'est-ce que vous devez faire, c'est que vous devez vraiment posséder la poitrine via une commande, n'est-ce pas ? J'ai déjà préparé le commandement et ce que vous pouvez faire c'est que je vais le rendre disponible et ce ne sera pas si fou. Ce que vous pouvez voir, c'est qu'il y a moins de bloc défini à votre position actuelle. Vous êtes debout que Minecraft face à la poitrine. Donc, vous voulez juste le faire face d'une façon ou d'une autre. Et faisons cela plus facilement. Faisons donc ça face à l'est. Et puis vous pouvez voir des crochets bouclés, un butin, une table, Minecraft, des coffres, un simple donjon dans ce cas, exécutons simplement cela. Maintenant. En fait, cela indique le mauvais sens, mais c'est très bien. Il s'agit simplement de changer la face ici. Et si nous ouvrons cela, vous pouvez voir que c'est le cas. Donc, une élute aléatoire. La vraie question est la suivante. Si je l'enregistre maintenant, est-ce que ce butin est aléatoire ? Non, parce que quand, une fois que vous ouvrirez, il sera éludé. table génère en fait un butin. Donc maintenant, chacune des maisons va avoir ce butin dedans. Donc, ce que vous devez faire, c'est de ne pas l'ouvrir. Donc, ce que vous devez faire, c'est d'aller ici. Faisons donc cela, croyons que cela devrait être Sud, générer celui-ci vers le sud. Ok, ce n'est pas tout à fait juste non plus. Faisons donc, c'est vrai, générons cela avec le Nord, je pense qu'il devrait être au nord. Et je pointais dans la bonne direction et je ne l'ouvrais pas. Sinon, vous allez réellement solidifier ce que la boucle se trouve à l'intérieur. Cela ne fonctionne donc pas. Donc il faut juste le garder là et il faut être comme, je ne sais pas si ça marche, ça va marcher. Ne vous inquiétez pas à ce sujet. Nous pouvons donc sauvegarder cela. Et vous pouvez le faire soit lorsque vous l'avez chargé soit vous pouvez également le faire avec une méthode de coin et de mue. Lorsque vous le construisez réellement, vous pouvez simplement ajouter un coffre comme celui-ci puis l'enregistrer pour que nous puissions accéder à l'option Enregistrer. De plus, ici, nous allons simplement dire « Sauver », puis cela a été sauvegardé. Nous pouvons donc maintenant le remplacer par l'intelligence. Jetons un coup d'œil juste là. Mais encore une fois, nous voulons aller aux sauvegardes de dossier d'exécution, et ce devrait être le dossier ridicule à l'intérieur du dossier généré, nous avons le Calvin, comment va NVT ? Et nous voulons modifier le dossier de données, les structures de cours MC. Nous avons le compte de ma maison, et nous voulons simplement remplacer l'un par l'autre. Je vais donc juste copier cela, écraser, et c'est tout ce que nous devons faire. Encore une fois, nous n'avons pas ouvert le coffre de butin. La boucle devrait donc être générée chaque fois que la maison réelle génère également. Nous ne devrions donc pas avoir la même boucle dans deux maisons différentes. Faisons donc simplement un nouveau monde et voyons s'il fonctionne. Très bien, nous sommes en microfinance New World et voyons voir, il y a le premier décompte, ma maison, et nous avons la poitrine par ici. Vous pouvez donc voir que nous avons des disques de musique. Il y a quelques poudres à canon. Très bien, c'est très bien. Trouvons donc une nouvelle maison de colonnes, et voyons si nous pouvons également trouver les mêmes disques musicaux ou s' il y a quelque chose de différent. Il y a donc de nouveaux kilomètres de camp et espérons juste que la boucle est différente, mais je suis assez certain que ce sera là que nous partirons, une charge complètement différente. Donc exactement ce que vous voudriez qu'il y ait. Ce qui est important, c'est que nous ayons bien sûr utilisé la souris knock-out MET, mais nous avons utilisé le simple donjon. C'est donc celui qui est en fait ici à titre d'exemple, n'est-ce pas ? Il s'agit donc de la commande réelle ici. Vous pouvez voir les coffres simples donjon et vous pouvez utiliser n'importe quel type de table de chargement différent. Vous pouvez donc également créer vos propres petites tables et références. Ils le sont, mais c'est bien sûr quelque chose que vous pouvez faire pour vous-même. Et c'est à peu près à quel point il est facile d'ajouter un coffre à butin personnalisé à vos structures, n'est-ce pas ? Mais ce serait déjà le cas pour cette conférence ici. J'espère que cela vous a été utile et que vous apprendrez quelque chose de nouveau et je vous verrai tous lors de la prochaine conférence. Donc, oui. 124. (1.18.2) corriger certaines erreurs: Bon, bienvenue au cours de fourrage pour 118. Dans cette conférence, nous allons juste corriger quelques petites erreurs que j'aurais pu commettre au cours de ce cours essentiellement. Donc, bien sûr, avec le nombre de conférences que nous avons, il y a certainement quelques erreurs ici et là. Le premier sera donc dans l'élément d'armure mod. Ça va être très intéressant et c'est l'armure correcte sur la méthode. Parce que ce que nous voulons faire, c'est que nous voulons le remplacer par ce qui suit. Nous voulons donc ajouter ici cette boucle pour passer en boucle à ici cette boucle pour passer en boucle travers l'armure et vérifier si l' armure est ou non, les objets sont en fait des éléments d' armure. Et si l'un d'eux ne l'est pas , nous allons immédiatement retourner faux. Maintenant, la raison pour laquelle nous voulons le faire, si nous devions ajouter un électron ou une citrouille à nos armures, essentiellement dans notre inventaire d' armures, le jeu s'écraserait parce que nous essayons jetez-le sur une armure et cela ne fonctionne pas. C'est pourquoi nous le voulons essentiellement avec cela et alors nous devrions aller bien. La deuxième chose que nous voulons changer est dans la classe de mod de cours MC. Et ce que nous voulons faire, c'est que nous voulons prendre toute la méthode de configuration du client et nous voulons essentiellement ce qui est sélectionné ici, maintenez la touche Maj, cliquez ici, puis appuyez sur Control X pour le découper. Vous pouvez ensuite supprimer cette ligne ici et nous voulons entrer dans la classe des événements, trouver d'autres événements. J'espère que vous l'avez créé lors de la dernière ou de la deuxième à dernière conférence, nous allons coller ici l' état d'esprit des méthodes. Nous voulons que cela soit public et statique, et nous voulons également y ajouter ces événements d' abonnement. Pourquoi avons-nous besoin de cela ? Eh bien, juste au cas où généralement l'événement de configuration du client est appelé uniquement sur le client. Cependant, la classe de mod de cours MC est en fait une classe commune. Cela s'appelle donc à la fois sur le client et sur le serveur. Et il peut parfois arriver que grâce à certains jumbo Java mumbo, gros, certaines de ces classes sont également appelées sur le serveur, ce qui entraînera alors le blocage du serveur. Et bien sûr, ce n'est pas ce que nous voulons. Donc, pour être sûr, ajoutez cela aux événements climatiques. Ce qui est important, c'est que ce soit un patron de la mafia et aussi avec le client de bureau de valeur, et alors elle devrait aller bien. Et enfin, nous avons quelque chose dans l'article de la canne d' abattage. Et à savoir la façon dont nous pouvons jeter un coup d'œil aux balises. Il s'agit donc d'une façon valable de jeter un coup d'œil à la question de savoir si le bloc en particulier ici se trouve dans cette balise. Cependant, c'est incroyablement compliqué et nous pouvons le faire un peu plus facilement. Donc, au lieu de s'attendre à un bloc ici, nous voulons vraiment un état de bloc, non ? Donc, bloquez l'état, changez ceci en état. Et quand nous le voulons, supprimons tout ce folie et nous allons nous inquiéter dans un instant. Tout d'abord, comment obtenir l'état dans la méthode du bloc est précieux ? Nous allons donc avoir une erreur ici parce que nous avons un bloc. Maintenant, nous voulons changer cela pour qu'il s' agisse de l'état de bloc. Et puis, au lieu d'appeler le bloc de sang ici, ce que nous allons faire, c'est que nous allons juste obtenir l'état du bloc. Nous allons changer cela pour rester bloqué, puis même ici, pas être bloqué. Et c'est là toutes les exigences que nous devons modifier ici. Et puis dans la méthode du bloc est précieux, ce que nous pouvons faire, c'est que nous pouvons renvoyer l'état est plus d'étiquettes qui bloquent les objets de valeur de cette tige. Maintenant, c'est beaucoup plus facile que ce que nous ajoutons auparavant, et ce sera à peu près toutes les choses que je voulais vous montrer également. Cela permettra également de conclure à peu près la 118 partie de l' ensemble du cours ici même. Il y aura donc une neuvième mise à jour après ça. Il y aura donc essentiellement comment mettre à jour toutes les différentes choses qui se trouvent là-dedans avec peut-être une ou deux choses différentes, si elles ne sont pas encore découvertes sur la facilité de les faire en 119, mais cela suivra ensuite et le cours se déroulera peu importe. J'espère que cela vous a été utile et que vous apprendrez quelque chose nouveau et je vous verrai lors de la prochaine conférence. Donc, oui. 125. 1.18.2 MISE À JOUR VERS 1.19: Bon, bienvenue au premier cours pour 118. Lors de cette dernière conférence, nous allons mettre à jour notre projet à partir des années 1890. Heureusement, la mise à jour des années 1890 n'est pas la plus folle. J'ai vu des mises à jour bien pires entre la vergence, mais il y a encore choses qui vont changer complètement. Et je crois qu'il y a au moins une chose qui ne fonctionne pas du tout, mais c'est exactement comme ça que ça va se passer. Nous allons donc simplement naviguer vers le fichier construit ou Gradle ici jusqu' à nos dépendances ici où nous avons la Forge Minecraft. Et ce qui est très important, c'est de sauvegarder l'ensemble de votre projet. Parce que si vous ne l' avez pas sauvegardé , les choses peuvent arriver. Vous risquez de rompre votre projet lors de la mise à jour. Soit vous avez un référentiel GitHub, créez une nouvelle branche pour que tout enregistré, soit vous copiez simplement sur l'ensemble du projet afin de le sauvegarder. Je recommande vivement de le faire maintenant, à quoi avons-nous besoin pour modifier la dépendance au fourrage ici ? En fait, ce n'est pas si fou que ça. Ce que nous voulons faire, c'est que nous voulons le changer en 41038, bien sûr 119. Il s'agit donc de la dernière version pour vous. Il va probablement être plus avancé ici, mais ça va bien se passer. Toujours, vous pouvez toujours utiliser la dernière version et tout va bien se passer. suffit donc de le changer là-bas. Revenons en arrière et ça va être 119 dash, puis 41038. Vous y allez. Et c'est la version que nous voulions changer. Nous voulons également mettre à jour la lèvre gecko ici. Donc, cela va maintenant être forgé un tiret 193119. Vous y allez. 1313. Vous y allez. Je pense que ce devrait être le plus récent. Dans ce cas. Il peut simplement être regardé sur la lèvre du gecko. Vous pouvez facilement trouver la version ici sur le dépôt Gecko lip GitHub. Donc, pas de soucis là-bas. Et après avoir modifié ces deux-là, nous allons simplement cliquer sur Load Gradle changes. Et encore une fois, il va créer des trucs, télécharger des trucs, tous le même jazz que nous avons fait plusieurs fois, surtout au début de tout ça. Je recommande donc vivement de rester patient, il suffit de laisser cela passer par toutes les erreurs qui pourraient survenir, tout ce qui est rouge, la plupart du temps, être ignoré en toute sécurité. Et puis nous verrons si nous y allons, construire avec succès en deux minutes et 28 secondes. Maintenant, nous n'avons pas encore fini dans le fichier Gradle de construction car nous voulons également remplacer par les mappages de parchemin. Nous avons donc du parchemin pour celui-ci ici, et nous voulons le remplacer par ce qui suit. 1182022 ou six, ou 5119. Cela prend donc simplement les 119 mappages officiels dans les superpositions des années 1800 à des mappages parchemin au-dessus de celui-ci. Ensuite, nous allons avoir des mappages de parchemin pour 119. Tout ne va pas être parfaitement cartographié, mais je crois que c'est version la plus récente que nous ayons, qu'il n'y a pas encore de version 119. Encore une fois, bien sûr, vous pouvez simplement regarder le dépôt de parchemin et vous ne devriez pas, vous devriez pouvoir y trouver quelque chose. Rechargeons donc cela à nouveau, changements radiaux et cela ne devrait pas prendre trop de temps. Je n'espère pas encore deux minutes, mais voyons simplement. Attendons encore une fois, attendons patiemment ici. Et ensuite, tout ira bien. Très bien, on y va. Construire avec succès en une minute et 37 secondes. Donc, tout va bien se passer et tout est mis en place. Mais maintenant, passons dans la classe de mod du cours MC et nous allons immédiatement être accueillis avec une petite flèche ici. Et ce ne sont que les importations. Vous pouvez voir que j'ai encore des choses dans les importations ici, mais pas de soucis s'il y a quelque chose qui ne va pas dans les intrants. Vous pouvez voir les trois points ici virer au rouge. Fondamentalement, vous pouvez simplement appuyer sur Control Alt O et tout ce qui se trouve dans les importations sera, bien fondamentalement supprimé dont nous n'avons pas besoin. Et pour le moment, rien de mal ici, mais il y aura, eh bien, quelques choses qui ne vont pas dans d'autres classes. Donc généralement, ce que nous faisons, c'est que nous pouvons simplement suivre les cours. Je crois que la première classe où nous allons avoir un problème sera en fait dans le bloc pilier rotatif de la boule de flamme. Fait intéressant, sinon nous devons changer ici, il ne s'agit que des paramètres ici. Je vais juste copier ça. Encore une fois, tout est bien sûr disponible dans le référentiel GitHub. Et en effet, tout aussi bien, cela va être à présent à la pile. Il va s' agir d'une pile de contexte. Et ensuite, nous allons simplement passer dans le contexte ici, puis aussi le Simulate ici. Il y a longtemps et ça devrait arranger ça. Maintenant, celle-ci est terminée et je pense que le reste devrait aller bien. En fait, aldi speed bloque, oui, parce que l'animateur coche, parce que maintenant nous n'utilisons plus le aléatoire, mais nous utilisons la classe source aléatoire ici à partir de cet outil de micro-vue. Il suffit de faire ça. Et puis, nous ne passons rien ici. Et ça va aller aussi bien. Cela devrait donc être à peu près tout ce que nous devons faire dans le bloc SPD également. Et je pense que cela devrait réparer tous les blocs. En fait. Je pense que le reste va bien. En effet, ils semblent aller bien quand il s'agit des entités. Je crois qu'ils ne devraient être qu'un petit changement ici. Oui. Et c'est le composant texte car l'ensemble du système de textes a changé. Heureusement, le changement ici est incroyablement facile, ce littéral, et nous y allons. Et c'est tout. C' est tout ce que nous devons faire. Il suffit de s'assurer que les entrées sont correctes. Contrôlez Alt O et le reste ici est une amende. Faisons en sorte que le reste ici soit également correct. Et en effet, c'est le cas. Il ne se passe rien de fou ici. Et les blocs de mod, encore une fois, ne sont que les composants traduisibles ici. C'est donc juste un composant qui peut être traduit dans ce cas. Et on y va. C'est donc vraiment très facile. Donc, il ne se passe rien de fou. Nous n' avons plus de blocage oral. C'est également exact car maintenant il s'agit en fait d'un bloc expérimenté, mais il fonctionne exactement de la même façon. Encore une fois, Contrôlez Alt ou pour vous débarrasser des importations. Et ensuite, tout ira bien et tout le pâté de maisons. Le colis est en fait terminé. Les commandes changeront également un peu plus en un instant. Mais tout d'abord, bien sûr, les composants de texte, le premier composant sont à nouveau littéraux, **** et littéraux. Vous y allez. Alors, la même chose ici. Et puis je crois que nous avons aussi cela dans l'ensemble, mais nous faisons Control Alt O pour nous débarrasser des importations incorrectes de l'année et elles partiraient, nous devrons aussi changer de constructeur ici si je Je ne me trompe pas, mais tout va bien se passer. Nous allons en parler dans un instant. Les conflits sont que les conflits devraient être totalement bons et rien à y faire. Les effets n'ont pas non plus changé. Donc, tout va bien se passer. Et les traitements n'ont pas changé l'entité, que quelque chose est différent avec l'entité et c' est le modèle parce que les noms réels des méthodes ont un peu changé. Il s'agit donc maintenant d'une ressource modèle GET ici. Ressource il y a, et c'est maintenant obtenir une ressource de texture et cela a une ressource d'animation. Ce que vous pouvez faire, c'est que si vous avez plusieurs de ces fichiers de modèle, les fichiers Geo Model, ce que vous pouvez faire, c'est que vous pouvez simplement appuyer sur, exemple, allez à la règle commune ou autre. votre nom est package, appuyez sur Maj Control R. Recherchez un bon emplacement du modèle , puis modifiez-le pour obtenir la ressource du modèle. Vous pouvez voir que nous l'avons également dans les deux autres modèles. Donc, nous allons juste dire remplacer, oui. Je vais faire la même chose avec l' emplacement de la texture qui remplace la ressource. Maintenant, celui-ci en a parfois un de plus que nous ne voulons pas qu'il change. Je crois que c'est celui-ci, donc nous allons les remplacer un par un, seulement ceux où je suis sûr que je crois que cela ne devrait pas être changé. Alors, tu y vas. Et puis le dernier, bon emplacement du fichier d'animation , a maintenant changé pour obtenir également la ressource d'animation, remplacer tout ce qui va bien se passer. Et on y va. Maintenant, ça devrait aller bien. Voyons où sont les flèches ici. Ce sera juste ici. Bon, donc à l'intérieur du moteur de rendu, il reste en fait l'emplacement de la texture. C'est un peu bizarre parce que c'est aussi à travers la lèvre gecko, mais voilà. Donc, ça devrait être très bien. Assurez-vous simplement que lorsque vous le remplacez, vous ne le remplacez pas non plus dans le rendu. Je suppose que le bateau ne va pas être malheureusement sauvé. Je dois regarder le boulon et je n'ai malheureusement pas été en mesure de le faire fonctionner correctement. Ce que nous allons juste devoir faire , c'est que nous allons devoir vivre sans le bateau pour le moment. Donc, vous pouvez soit tout supprimer, simplement le faire comme ça, puis vous en débarrasser ici aussi. Malheureusement, c'est ce que c'est. Le problème de l' audace, bien sûr, ils ont ajouté les coffres dans le bateau et n'ont pas encore compris comment changer cela. Désolé, mais c'est exactement comme ça que ça va se passer. Parfois, cela arrive lorsque vous passez d'une version à une autre, que certaines fonctionnalités ont complètement changé. Donc, vous ne serez pas en mesure de le faire, vous ne serez pas en mesure de le comprendre rapidement. C'est aussi parfois la raison pour laquelle certains moules mettent tant de temps à être mis à jour, n'est-ce pas ? Parce que, grâce aux versions, les choses changent et c'est exactement comme ça que ça va se passer. Je crois donc que nous pouvons également nous débarrasser de l'ancienne entité ici. se peut que nous ayons une erreur ailleurs , mais ça va bien se passer. Donc, je crois, cela devrait être tout ce qui a réellement changé ici. Ok, l'entité multiple n'allait pas non plus fonctionner. Mais encore une fois, je vais simplement faire glisser jusqu'au bas pour que vous puissiez le faire en faisant glisser tout en maintenant Alt. Et ensuite, vous pouvez simplement sélectionner plusieurs lignes différentes dans ce cas. Ensuite, il en va de même pour l' article. Absolument. Je vais juste m'en débarrasser. Donc, comme je l'ai dit, je ne pense pas que ce soit trop étendu. Les changements ne sont pas trop importants, mais c'est ce qu'ils sont. Cela arrive parfois. Débarrassons-nous de cela aussi. Et ensuite, quoi ? C'est très bien. C'est très bien. C'est très bien. Ensuite, nous pourrons passer aux événements. Dans les événements, le luth a en fait changé pour les toilettes, les tables ont un tout petit peu changé, mais heureusement pas trop fou. Donc, la seule chose qui a changé ici, c'est en fait la méthode do apply. Comme vous pouvez le constater, vous ne pouvez plus être écrasé de cette façon car il s'agit maintenant d'une liste d'objets ArrayList. Nous mettons juste un objet à chaque classe importante de liste , et tout ira bien. même, ici. En changeant cela en objet, chaque liste important cette classe. Et ensuite, les modificateurs de luth devraient fonctionner de la même manière qu'avant. Je me suis bien passé. Et puis nous arrivons à l' événement Registry qui a changé, je dirais à peu près significativement parce que nous n'avons plus l'événement Registry, nous avons maintenant des événements de registre. Il s'agit donc maintenant d' un événement final d'inscription ici. Et puis maintenant à l'intérieur de la méthode de l'événement réel, nous devons chercher la elle. En gros, nous allons dire, oh, c' est bien sûr ce qu'on appelle un événement qui est très important ici. Vous y allez. Maintenant, au lieu de faire cela, nous allons dire événement qui s'enregistre et ensuite dire forger des registres ces clés. Dans ce cas, butez des modificateurs ou des sérialiseurs, Hama, assistant, et ce n' est qu'un consommateur. Et maintenant, nous mettons ces choses là-dedans. Nous voulons donc mettre ça là-dedans. Et de la façon dont nous voulons faire, nous voulons dire aide ce registre. Ensuite, prenez d'abord l'emplacement de la ressource du nom réel. Et ensuite, la deuxième chose sera un nouveau sérialiseur. Nous allons donc prendre le nouveau sérialiseur ici. On y va. Et cela devrait maintenant fonctionner. Et puis on peut le faire. Dupliquez ceci, modifiez le nom ici, puis changez le stérilisateur par celui-ci. Et ensuite, on va s'amuser. Il y a donc, c'est ainsi que cela a changé et ensuite la même chose se produit dans les recettes. Donc, si je ne me trompe pas, ce que nous voulons faire, c'est que nous voulons dire un événement , un registre points enregistre les clés des sérialiseurs de recette parce que c'est un type de recette en fait, désolé, c'est un types de recettes, oui. Encore une fois, assistant, hum, ou comme ça, en le nommant ce que nous voulons fondamentalement. Ensuite, on peut dire le type de recette d'aide, cette recette. Et je pense qu'on peut littéralement copier ça. Mais pas tout à fait. Pas tout à fait. Parce que ce que nous voulons entendre est soit une chaîne un emplacement de ressources, ou alors ne pourrions-nous pas le faire ? Oui, nous pouvons le faire parce que la carte d'identité va être ainsi. Maintenant, la question est : OK, je me sens un peu mieux si je crée un nouvel emplacement de ressources parce que je ne suis pas sûr que cela se trouve sous notre emplacement de ressources ou non. Nous allons juste faire quelque chose comme ça. On y met fin ici, tu y vas. Ainsi, créer un nouvel emplacement de ressources sous notre ID de modèle avec le dynamitage de la colonne id. Et ensuite, tout ira bien. Et puis, nous n'avons plus besoin de celui-ci. Et le reste ici, je pense que ça devrait aller tout à fait. Contrôlez Alt O pour vous débarrasser des importations et tout ira bien. D'autres événements vont très bien. Rien n'a changé, donc les événements sont réalisés. Et maintenant, nous arrivons aux fluides car les fluides, enfin la nouvelle API Fluid a été introduite. Cependant, je n'ai pas encore été en mesure de comprendre exactement comment cela fonctionne. Ils ne sont pas non plus encore aucun type de documentation à ce sujet. Malheureusement, pour le moment, fluides vont aussi prendre le chemin du bateau. C'est approprié quand on y pense. Mais oui, le bateau est que les fluides dans ce cas ne vont malheureusement pas fonctionner. Donc, les fluides pour le moment, ne fonctionnent pas. Encore une fois, vous pouvez simplement regarder si vous regardez cela à l'avenir, jetons un coup d'œil à la forge, regardons la documentation. Ils ont peut-être déjà ajouté quelque chose là-dedans. Alors, vous pouvez essayer de le comprendre vous-même. La nouvelle API Fluid devrait être beaucoup plus polyvalente que celle-ci. Mais pour le moment, malheureusement, liquides ne se produiront pas, dans ce cas, des articles personnalisés. Je pense qu'il ne devrait y avoir que quelque chose dans la tablette de données. Encore une fois, le composant ici, donc le point littéral du composant. Et puis la même chose se produit également dans l'article de la canne de descente, juste avec le O et le nom de registre aussi, assez juste ? Oui. Il s'agit d'un composant traduisible. Non. Que diriez-vous de le faire correctement ? Point de composant traduisible dans ce cas. Et là aussi. Ensuite, le message envoyé est en fait un message système qui ne prend plus un UUID à la fin ici, mais il prend en compte un littéral de composant dont le nom de registre n'est plus disponible. Donc ce que je vais faire, c'est que je dirai juste la serrure en dessous point obtenir le nom ici et ensuite la même oblique ici. Ça devrait être très bien. Obtenez un nom ici aussi, et ça devrait être à peu près tout. Vous y allez. Nous avons un autre message SYN, envoyer un message système. Nous n'avons plus besoin de l'UUID. Et puis ce sera le littéral des données des composants. En fait, non, ce n'est pas le cas. Il va être traduisible. Et c'est tout, juste les importations Control Alt O comme toujours. Et on y va. c'est à peu près tout Je crois que c'est à peu près tout ce dont nous avons besoin pour l'entraîner ici. Les fluides mod ici. Oui, c'est très bien. Nous allons passer par la classe normale. Ils sont dans un instant aussi. Les matériaux sont fins et créatifs. Les aliments à onglets sont des éléments de mod corrects. Ce devrait être le seau à miel absolument. Débarrassez-vous de ce bref des importations. Et ensuite, nous sommes d'accord avec cela aussi. Les larmes sont aussi bonnes, donc tout fonctionne bien. Il est intéressant de noter que les peintures ont réellement changé. Je sais que c'est vraiment fou de penser à ça. Ce n'est plus un motif. C'est maintenant une variante de peinture. Et c'est aussi ce qu'on appelle la variance de peinture. Vous y allez. Nous allons simplement changer le motif ici pour peindre des variantes partout. Ensuite, nous allons maîtriser parfaitement tous, une fois encore, pour que les importations sortent de là. Et ça devrait être ça. potions vont bien. Les recettes ont réellement changé. Passons donc à la recette. Il y a deux choses importantes que nous devons faire. Supprimez ces trois méthodes ici, et tout va bien se passer. Et puis dans la méthode du matelas, nous devons ajouter si le niveau P est côté client, vous voulez juste retourner faux. Cela devrait donc être tout ce que nous devons faire ici également. Et cela devrait être à peu près tout ce dont nous avons besoin dans la recette, dans la classe de recettes du client , l'écran, tout a changé ici. Je ne crois pas que ce soit le cas. C'est vraiment très bien. Et puis le son, les sons devraient également être bons. Maintenant, dans l'utilitaire, je pense que quelque chose a changé quelque part, pas ici, mais dans les balises. Non. Propriétés de l'article, util, en fait aucun changement. Les écrans de titres ont encore quelques problèmes, donc nous allons simplement ignorer cela. Maintenant, la classe des villageois a réellement changé et nous devons faire quelques choses différentes ici, n'est-ce pas ? Cela se fait donc un peu différemment. En fait, nous procédons comme suit. Nous sommes en train de créer un nouveau prototype. Et ce que nous faisons, c'est que nous fabriquons une API de set dot immuable de cela, de sorte que le point blaster cobalt, point get default state definition ou GetState définition point est possible, puis l'un et l'autre ici. Et puis, ici, nous le faisons de la façon suivante. Nous créons un nouveau village ou un nouveau professionnel. Nous avons vraiment besoin de deux prédicats ici. Donc, ce sera encore X-Dot. est également égal au dernier point ou point point obtenu. Et ensuite, le deuxième prédicat sera exactement le même. Donc, x dot get est égal au point blaster qui obtient et qui devrait corriger cela aussi. Et le reste ici devrait aller très bien. Nous aurons également besoin d'ajouter des étiquettes dans un instant, car les villageois et la peinture sont assez intéressants, ont également des étiquettes ajoutées. Et puis, enfin, nous arrivons à la génération mondiale, qui est bien sûr toujours la partie préférée. Donc, heureusement, c'est facile, juste une source aléatoire dans l'arbre abstrait ici. Mais nous en arrivons à la folie parce que maintenant, ce qui s'est passé dans ces classes, rien n'a changé, non ? Configurer des fonctionnalités ou tout va bien. Mais nous passons ensuite aux classes de génération et nous voyons que l'événement de chargement de biome n' est plus disponible. Et tout le monde, et tout le monde commence à paniquer parce que comment faire maintenant un monde personnalisé, janv. Eh bien, l'origine du client a complètement changé là où nous allons maintenant utiliser un biomodificateur. Donc, en théorie, nous pouvons simplement supprimer toutes ces quatre classes ici, les supprimer, puis en créer de nouvelles. Il en va de même pour celui-ci ici. Les événements du monde automobile, nous n'en avons plus besoin parce qu'il ne fait plus rien. Nous devons maintenant utiliser des biomodificateurs. Nous allons donc juste jeter un coup d'œil à la classe de bio-modificateurs, celle-ci ici. Vous pouvez donc voir une interface et nous devons créer un codec personnalisé qui lit dans un fichier JSON qui est à peu près tout ce qu'est vraiment le codec. Heureusement, à ce stade, ou il a en fait ajouté quelques exemples. Donc, si vous jetez un coup d'œil à la classe forge bio modificateurs, nous avons une fonction Ajouter au modificateur bio, une suppression, et nous avons également un deux par m un et une suppression des spawns du biome one. C'est donc en fait tout ce dont nous allons avoir besoin. Heureusement, ce n'est pas trop fou et nous n' avons même pas besoin de faire des cours personnalisés ici. Ce que nous pouvons faire, c'est faire cela dans le dossier de données. Commençons par les biomodificateurs. Alors, comment pouvons-nous faire en sorte que nos produits personnalisés fonctionnent encore ? Nous voulons aller au cours Data Folder MC, très important. Et puis, au lieu d'une femme pour créer un nouveau répertoire appelé forge, oui, le répertoire forge doit aller dans votre cours MC ou quel que soit votre répertoire mod ideas qui doit être le cas. Et puis, au lieu du répertoire de force, nous allons créer un nouveau répertoire appelé Bio modificateur. On y va. Ensuite, nous pourrons ajouter les fichiers JSON. Voici donc à quoi vont ressembler les fichiers json. Je vais juste copier ça et on va créer un nouveau fichier JSON. Voyons en fait quelles sont les caractéristiques de notre place dans ce cas. Ce sera donc les caractéristiques de l'endroit. En fait, nous devons changer les caractéristiques du lieu en un instant, mais nous n'allons pas nous inquiéter pour le moment. Ajoutons simplement le premier modificateur bio , puis nous examinerons également les caractéristiques de l' endroit. Mais ce sera un nouveau dossier et nous allons juste appeler ça l'annonce en fleurs de cerisier en bas à côté. On va juste ajouter ça ici. Et puis nous verrons que le premier est ceci, c'est nécessaire, nous aurions toujours besoin de le faire. Ensuite, nous voulons dire bonjour à quoi, quel est l'espace de noms du biome que cette attitude, nous allons juste dire forge yz plan. Il s'agira donc d'une étiquette de forge qui va essentiellement contenir toutes les bombes d'avions à l'intérieur. Ensuite, nous allons suivre un cours de MC, en Pologne. Et cela devrait être une fleur de cerisier en ébène placée ici. Oui, tu y vas. Et puis, ce n'est pas sous terre. Oris, c'est en fait l'autre. Jetons un coup d' œil aux décorations. Je crois que c'est l' ou c'est l'étape de décoration. C'est peut-être ça. Très bien, très bien. Je veux dire, je suis d'accord avec ça. Cela devrait être nommé décoration végétale. Celui-là, juste ici. Nous allons juste l' ajouter ici et ça devrait aller bien. Et cela devrait, en théorie, ajouter notre caractéristique placée en fleurs de cerisier dans n'importe quel biome de plan existant. C'est assez explicite. Cependant, les caractéristiques de l'endroit doivent également changer un peu. Nous devons en fait utiliser un autre registre ici. Nous allons donc simplement créer un registre différé de type moins caractéristique ou de l'utérus placé. Et puis cela équivaut à un enregistrement différé. Je crée ce registre de fonctionnalités au moindre point de registre. Très important. Ensuite, les cours MC ne sont pas ID de modèle stupide et bien sûr nous aurons également besoin d'une méthode de registre. Je vais juste copier ça un peu plus facilement. Nous allons appeler ça ici. Cela va s'appeler, je pense que cela ne devrait pas avoir d'importance beaucoup plus de fonctionnalités qui s'inscrivent et passent ensuite dans le bus de l'événement. Et au lieu de s' inscrire comme ça, il va falloir, ça va être un peu bizarre maintenant, heureusement, tout le code ici sera bien sûr à votre disposition. Il s'agit donc maintenant d'un objet de registre au lieu d'un blocage, rien de trop fou pour le moment. Ils peuvent vouloir modifier les utils de placement enregistrés dans une fonction de lieu qui s'inscrivent. Ce n'est pas tout à fait juste, désolé, voilà. Et puis celui-ci, celui-ci et celui-ci. Tout va bien. Je vais copier la ligne et cela doit être ajouté ici. devrions donc pas avoir d'erreurs à l'exception d'une parenthèse de fermeture. Vous pouvez voir que nous voulons l' appeler Placer les fonctionnalités qui s'inscrivent et qui transmettent le nom, normalement, comme nous l'avons fait avec chaque registre auparavant. Ensuite, nous avons un fournisseur d'une nouvelle fonctionnalité de lieu. Ensuite, nous devons d' abord lancer cette fonction configurée en boue sur un support de Configurer le point d'interrogation, interrogation, puis un détenteur de Configure Feature Western mark, point d'interrogation. C'est de la folie, mais c'est comme ça que cela doit se produire soudainement pour le moment, lorsque vous regardez cela, doit se produire soudainement pour le moment, lorsque vous regardez cela, vous pourriez avoir une meilleure façon de le faire. Vous avez peut-être déjà découvert quelque chose ou quelque chose comme ça. Mais pour le moment, c'est soudainement comme ça que cela va devoir se passer. Et ensuite, tant pour les lignes que pour la géode, nous devons avoir une liste de tous les éléments que nous avons ici. Donc, liste de n, il suffit d' ajouter toutes les différentes choses ici. C'est dire qu'il est irrévérencieux de filtrer toute cette folie dans une liste. Et puis seulement deux parenthèses fermantes. Et puis la même chose ici si je ne me trompe pas, liste du but et puis juste fermer parenthèse deux fois n là, on devrait aller bien. C'est donc ce que nous devons faire, aussi fou qu'il en ait l'air. Mais cela devrait effectivement faire tout ce que nous voulions faire. Nous pouvons donc ajouter les autres biomodificateurs. Ce sera aussi la rose rose rose. Et cela va placer la caractéristique de la rose rose placée un but. Ensuite, ajoutons aussi sous la décoration végétale qui a du sens. Et puis on va faire tout le chauve, ou on va aussi le faire ici. Et maintenant, ce n'est plus une décoration végétale. Mais en fait, revenons aux déclarations ici. C'est maintenant clandestin, ou il est très important que nous changions cela. On y va. Nous allons juste l' ajouter à la façon dont côlon Minecraft est partout dans le monde, donc nous allons simplement l'ajouter à chaque biome qu'il y a dans le monde ovale, ce sera très bien. Et puis enfin, mais non des moindres, nous allons copier le cobalt ou, et ce sera la géode publicitaire ou boulon. Et puis cela ne fait que changer le nom. Il a placé une géode ici. Ajoutons-le aussi dans le monde entier et ça devrait être très bien. Mais c'est la nouvelle génération mondiale, très important que tout soit correct ici. Et enfin, enfin, nous avons aussi ces structures maintenant heureusement, terrain télépathique a déjà mis à jour leur dépôt, donc rien de trop fou ne se passe ici. Nous allons donc devoir faire ce qui suit. Alors, faisons-le simplement. Je vais d'abord copier la classe des structures de mode. Voyons voir. On y va. Et ensuite, nous allons avoir un problème ici avec les structures du ciel, mais pas de soucis. Supprimons simplement les importations ici également. Et puis dans la classe des structures du ciel, ça va aussi être, eh bien, je veux dire pas trop fou. Laissez-moi encore une fois copier la classe ici. Et ensuite, nous verrons que seules les importations sont erronées. Encore une fois, Contrôlez Alt O. Et vous pouvez voir qu'il y a un autre codec ici. s'agit simplement, comme je l'ai dit, d'un certain champ qui génère de la lecture dans une course et un fichier, puis génère une classe qui est à peu près la vue d'ensemble de haut niveau de cela. Oui, ce sont les deux changements dans ces structures, puis il y a aussi un changement dans la structure, race et les fichiers. Parce que, bien sûr, il n'y a rien de plus fou. Mais tout d'abord, les plus anciens ici ont changé de nom pour être simplement une structure. Nous allons donc le remplacer par le nom de la structure. Et puis, à l'intérieur du fichier adjacent, il y a en fait un certain nombre de changements. Tout d'abord, ce conflit n' est plus nécessaire, donc nous allons simplement supprimer la configuration et ensuite ils commencent à tirer les sites qui sont toujours nécessaires, mais pas à l'intérieur du conflit. Ce que nous voulons faire, c'est que nous voulons ajouter l'étape ici, et cela va être demandé. Et ensuite, la chose suivante est la distance maximale du centre. Cela doit donc également être ajouté. Ensuite, nous devons également ajouter trois champs différents. Ce sera le pas, la hauteur de départ et le projet commence à faire la carte et à supprimer le bruit arabe. C'est donc ce que nous allons toujours faire. Maintenant. Maintenant, c'est celui où vous avez un type à l'intérieur du code. Si vous ne l'avez pas, nous ne pouvons plus utiliser le village. Nous voulons maintenant utiliser la scie sauteuse Minecraft. Nous voulons donc utiliser cette nouvelle fois, débarrasser de l'inapte ici, garder la piscine d'étoiles et la taille à une distance maximale du centre. Et ensuite, si nous utilisons la scie sauteuse, nous voulons en fait utiliser pour différents champs. C'est toujours le premier bruit arabe. Encore une fois, il s'agit de l'étape, la hauteur absolue et le projet commence à être cartographié en hauteur. Ceux-ci resteront fondamentalement les mêmes, peut-être en changeant la hauteur de départ. Mais ensuite, pour la scie sauteuse, vous devez également utiliser l'extension. Heck, je vais copier les choses pour les caméras et la plate-forme de stockage, mais c' est à peu près la même chose. Maintenant, vous pouvez également rechercher cela dans le référentiel GitHub et un individu tout aussi. ne devrait donc pas y avoir de soucis, mais pas du tout. Comme je l'ai dit, tout ira bien. Heureusement, les changements ne sont pas si fous. Je me souviens encore qu'il passe d'un à 1617. Ce sont des changements où oui, c'était plutôt fou. Maintenant, ce n'est pas pour ça. Maintenant, les deux seules choses dont nous avons encore besoin c'est pour les villageois et les peintures des étiquettes. Ils vont donc dans le dossier de données de Minecraft. Ensuite, au lieu du dossier fiscal, nous voulons créer un nouveau dossier appelé variante de soulignement de peinture. Et puis vous avez encore besoin d'un dossier fiscal, nous voulons faire valoir un point. Souligner, souligner les intérêts, le type de soulignement. Et puis je vais juste cliquer avec le bouton droit de la souris sur un nouveau fichier. Ce sera le fil un travail de soulignement taureau, site de soulignement que Jason est dans le type de point d'intérêt. Et ce sera ce qui suit. Cela devrait donc être le cas. En théorie, cette valeur Mc cœurs, explosions ou points. Permettez-moi de vérifier rapidement si c'est le nom. C'est en fait un jeu de blast. Vous y allez. Chose que j'ai vérifiée ici dans la variante de peinture, cliquez avec le bouton droit sur un nouveau fichier appelé sous-bol de police que Jason, nous y allons. Et cela va inclure toutes ces choses. Laissez-moi juste copier ça. Et puis je dois vérifier les noms ici. Nous allons donc avoir des plantes et deux autres, puis ce sera le Wanderer et ensuite le coucher du soleil aussi. Et j'espère que c' est tout ce que nous devons faire. Comme vous l'avez vu, il y a en fait un certain nombre de choses, quelques pas ici. Ce n' est pas que ce soit aussi facile que vous pourriez le dire. Eh bien, c'est tout à fait l'épreuve. Je sais, c'est comme en fait très équipe, comme je l'ai dit, 16e, 117. C'était comme dix heures de folie absolue, tout changeant parce que le nom de la classe est changé, noms de méthodes changent les méthodes qui étaient disponibles, n' étaient plus. disponible. Et heureusement ici, la plupart de ces choses fonctionnent toujours. Je suis donc très content de la mise à jour ici. Mais pour le moment, commençons simplement et voyons si quelque chose peut arriver. Il peut toujours y avoir une erreur dans l'une de ces classes. Ça va bien se passer. Vous y allez. Nous avons même fondé une lampe en cobalt. C'est donc la méthode de prise ici. Encore une fois, juste à cause de l'aléatoire, il s'agit maintenant d'une source aléatoire. En fait, ils vont dans une source aléatoire et ça devrait fonctionner. Ne vous inquiétez pas du tout. Continuons encore une fois, commençant et en voyant, nous y allons. Nous avons également cela dans un modèle décliné lorsque nous nous débarrassons réellement des fluides mod. événements climatiques ne sont absolument pas inquiets. Recommençons ça. Cela se produit également lorsque vous le démarrez, vous obtenez une erreur. Il suffit de corriger l'erreur, puis de recommencer. Donc, pas de soucis du tout. Et maintenant, cela semble fonctionner. Voyons donc si Minecraft commence. Ce sera un excellent signe. Ensuite, nous pouvons voir, aller dans notre monde et voir si tout fonctionne. Une mangrove commence. Cependant, nous avons une erreur ici, mais ça va aller. Voyons tout d'abord, si cela commence réellement ou s'il ne déclenche pas une tempête de poussière, c'est un excellent signe. Créons simplement un nouveau monde. Nous n'obtenons rien parce que nous avons des éléments inconnus ici. Bon, réfléchissons à ça. Nous pouvons voir que Minecraft cerisier blossom vérifié n'est pas disponible. Eh bien, c'est probablement une flèche par moi-même car je n'ai pas changé l'ID du modèle. Eh bien, ce n'est pas tout à fait juste. Cours Iteris MC, cerisier en fleur vérifiée. C'est donc très étrange ici, car en effet, si je regarde ça, j'utilise toujours mon cours de MC. C'est donc très étrange, d'accord, donc le problème était d'utiliser les conflits ici. Je ne sais vraiment pas pourquoi le conflit ne fonctionne pas vraiment ici. Cela devrait fonctionner en théorie. Maintenant, la seule chose que je pouvais imaginer, et je suis vraiment comme, c'est que je fais ça en direct. Je n'ai jamais essayé ça auparavant. Le fait de placer les conflits d'enregistrement avant tout reste pourrait changer cela. Essayons cela et voyons si les conflits fonctionnent correctement. Cependant, c'est juste à cause des conflits que l'enregistrement réel de la fonction de lieu ne fonctionne pas. Donc, comme je l'ai dit, je n'ai pas essayé ça auparavant. Voyons donc s' il y a quelque chose et si ce n'est pas le cas , malheureusement, les conflits ne fonctionnent pas tout à fait. qui est vraiment très étrange parce que je n'ai pas rencontré cela auparavant, mais voyons simplement. Donc, peut-être que nous aurons la même erreur à cause des conflits qui ne fonctionnent plus. Et si nous ne comprenons pas cela, je suis en fait assez confiant maintenant que nous obtenons cela, ce qui est très étrange. En effet. Je le suis. Je ne sais vraiment pas pourquoi c'est le cas. Voyons donc simplement. Mais à ce stade, quand cela se produira, je suis vraiment très confiant que cela ne fonctionnera pas, mais il va falloir vivre sans les configs pour le moment. Encore une fois, il s'agit probablement d'un changement forgé quelque part. On y va, ça ne marche pas. Mais si je reviens cependant à ne pas utiliser de conflits, mais en utilisant juste un nombre normal ici. Et peu importe, les conflits ne sont jamais réellement chargés ici et cela devrait fonctionner. Donc encore une fois, je ne sais pas pourquoi cela ne fonctionne pas avec les conflits ici. Cela a déjà fonctionné, mais il y a longtemps, faisons-le comme ça sans les conflits. Et ensuite, si les conflits ont réellement changé et que nous devons les modifier, et nous pourrons toujours le faire plus tard. Habituellement, il est plus important d' obtenir un modèle fonctionnel d