Table des matières:
- Configurer les mods du projectile
- Décrire la bibliothèque du projectile et les mods du projectile d'explosion
- Modifier les fonctions principales et de lancement
- Modifier la fonction d'éclatement
- Changer la fonction destroy
- Modifiez le mod Explosion_Projectile
- Testez votre nouvelle bibliothèque
Vidéo: Les enchantements en 1.3 de A à Z - TUTO Minecraft 2024
Vous pouvez faire beaucoup d'effets de projectiles dans Minecraft en plus d'exploser. Plutôt que de reconstruire tout le code du projectile, vous pouvez abstraire la machine d'état du projectile (faites-en une machine d'état de projectile pour tout effet, pas seulement exploser) et créez une bibliothèque qui vous aidera beaucoup de différents projectiles.
Une bibliothèque est un mod qui vous permet d'appeler des fonctions d'autres mods.
Configurer les mods du projectile
Pour configurer le mod du projectile, copiez un mod du projectile. Procédez comme suit:
-
Cliquez sur l'onglet Actions, puis choisissez la commande Copier.
Vous voyez deux versions du mod du projectile.
-
Ouvrez un mod et renommez-le Projectile_Library.
-
Ouvrez l'autre mod et renommez-le Exploding_Projectile.
Voici les deux mods renommés.
Décrire la bibliothèque du projectile et les mods du projectile d'explosion
Ouvrez le mod que vous avez renommé Projectile_Library. Cela ressemble à l'exemple de code montré ici.
Rendre le mod Projectile_Library un peu compliqué car il doit gérer les informations suivantes:
-
Toutes les informations d'état, comme le lancement
-
Le lancement réel
-
Destruction du projectile
Mais le mod Explosion_Projectile gérer
-
Le type de bloc à lancer
-
Les actions qui devraient se produire lorsque le bloc atterrit
Faites une autre copie de votre mod et nommez-le Original_Explosion_Projectile, juste au cas où vous feriez erreur et que vous deviez revenir à un mod de travail.
Modifier les fonctions principales et de lancement
Les instructions suivantes vous indiquent comment effectuer les modifications dans votre code.
Pour apporter des modifications à la fonction principale, procédez comme suit:
-
Renommez la fonction principale init.
Comme ce mod est maintenant une bibliothèque, les fonctions qui y sont appelées sont appelées par d'autres mods - bien que la bibliothèque elle-même ne soit pas exécutée dans Minecraft.
-
Exportez cette fonction (rendez-la accessible depuis d'autres mods) afin qu'elle soit accessible depuis le mod Explosion_Projectile. C'est ainsi que la fonction devrait ressembler.
Vous pouvez trouver le bloc export sous la catégorie Misc.
-
Ajoutez un paramètre nommé launch_block à la fonction init qui définit le type de bloc à lancer et enregistrez le paramètre dans une variable nommée block_type.
-
Supprimer l'événement.
Cette étape est gérée par le mod Exploding_Projectile. La bibliothèque ne le gère pas, car vous voudrez peut-être que d'autres choses déclenchent les effets plus tard.
-
Pour nommer l'éclatement de la variable qui explose, cliquez sur la flèche déroulante à côté du mot explodant et choisissez Renommer la variable dans le menu.
Renommer la variable est affiché ici.
Votre init devrait ressembler à celui-ci.
Après avoir terminé cette liste d'étapes, vous pouvez apporter une modification mineure à la fonction de lancement. L'image ci-dessous montre comment changer le bloc bedrock à la variable block_type à la place; De cette façon, le type de bloc est décidé dans le mod Explosion_Projectile.
La variable d'atterrissage se met à jour automatiquement lorsque vous la renommez.
Modifier la fonction d'éclatement
Pour modifier la fonction d'éclatement, vous devez d'abord la remplacer par une fonction ayant une valeur de retour. Le but de cette fonction, dans la bibliothèque, est de faire savoir à l'autre mod si le bloc a déjà été lancé. Suivez ces étapes:
-
Renommez la fonction à check_if_launched.
Ceci montre le nouveau bloc fonctionnel que vous avez.
-
Créez une nouvelle variable nommée launch et initialisez (attribuez-lui la valeur) à false.
Cette variable doit être retournée pour que l'autre mod sache si le bloc a été lancé.
-
Vous avez besoin de l'instruction if de la fonction explode originale, mais au lieu d'envoyer un message et d'exploser et de détruire tout ce qui se trouve autour du bloc, définissez simplement la variable lancée sur true.
-
Exportez également cette fonction pour que l'autre mod puisse vérifier si le bloc a été lancé.
Changer la fonction destroy
Vous devez également mettre à jour la fonction destroy pour ressembler à ceci. Suivez ces étapes:
-
Ajoutez un paramètre nommé block, qui est le bloc qui doit être détruit.
-
Remplacez le bloc d'informations par le bloc de paramètres.
-
Exporte la fonction destroy.
Félicitations! Vous avez terminé le mod Projectile_Library. Le mod entier devrait ressembler à celui montré ici.
Figure 7-51Modifiez le mod Explosion_Projectile
Une fois la bibliothèque écrite, vous pouvez définir ce qui se passe dans le mod Explosion_Projectile. Commencez par ouvrir le mod Explosion_Projectile et importez la bibliothèque Projectile_Library. Ensuite, procédez comme suit:
-
Récupérez un bloc d'importation de la catégorie Divers.
-
Saisissez votre surnom LearnToMod, puis Projectile_Library. Par exemple, si votre pseudo LearnToMod était sarah , votre bloc d'importation devrait ressembler à ceci.
Vous devez maintenant modifier la fonction principale, car vous avez la bibliothèque que vous venez de créer et vous devez appeler ces nouvelles fonctions.
-
Supprimez tout de la fonction principale et supprimez tous les blocs sauf les blocs d'événements. Les deux blocs d'événements devraient aller dans une nouvelle fonction appelée on_land_event, mais la fonction qui devrait être appelée est une nouvelle fonction appelée on_land qui a un paramètre nommé info.
-
Regardez dans la catégorie Fonctions et vous devriez voir trois nouvelles fonctions de la bibliothèque que vous venez de créer.
-
Ajoutez un appel à la bibliothèque Projectile_Library. La fonction init, avec un paramètre de Bedrock, et un appel à la fonction on_land_event.
Enfin, après avoir corrigé la fonction principale, remplissez la fonction on_land. Procédez comme suit:
-
Ajoutez une instruction if qui appelle la bibliothèque Projectile_Library. Fonction check_if_launched.
-
Placez le code d'explosion de l'ancienne fonction explode dans l'instruction if.
-
Appelez la bibliothèque Projectile_Library. détruire la fonction.
Félicitations! Vous avez terminé le code pour le mod Explosion_Projectile! Tout le reste du mod peut être supprimé, donc votre mod entier devrait ressembler à ceci.
Testez votre nouvelle bibliothèque
Si vous avez suivi toutes les étapes de ce projet, vous devriez maintenant avoir deux mods:
-
Projectile_Library
-
Explosion_Projectile : Lorsque vous testez le Explosion_Projectile mod, vous voyez une scène comme celle-ci.
Félicitations! Vous avez créé avec succès une bibliothèque de projectiles et l'avez utilisée pour créer un projectile qui explose.