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