Datapacks

[Outil] Gunivers-Lib [1.12 – 1.14]

  • Auteur : Gunivers
  • Version : 1.12, 1.13 & 1.14

Lien Original

La réputation de la communauté de mapmaking Gunivers n’est plus à faire, elle qui s’est illustrée à travers des maps comme Witchery, Slide et Hierarchy. Ses membres ont décidé de partager quelques-unes de leurs techniques dans une librairie tout simplement monstrueuse, qui permet de simplifier grandement la vie aux mapmakers. L’idée est d’utiliser des fonctions pour faciliter la création de mécaniques de jeu, notamment dans le cas de maps PVP. Cette librairie, sobrement intitulée Gunivers-Lib, s’inscrit dans un contexte plus global de publication par Gunivers d’outils destinés à la communauté mapmaking, puisqu’elle suit LGdir et Command Syntax Helper.

Fonctionnement

Chaque fonction remplit une tâche particulière, utile dans le cadre de la conception de systèmes de command blocks, tout particulièrement en mapmaking. Par exemple, l’une de ces fonctions permet de résoudre un tas d’opérations mathématiques, ce qui ouvre un large champ de possibilités. Il ne s’agit là que d’une seule fonction, l’une des plus simples, mais elle permet de se rendre compte du potentiel de cet outil.

Le fonctionnement de chaque fonction suit globalement un principe similaire, comme celui des fonctions que vous avez pu étudier au collège et au lycée. Chacune nécessite des prérequis, qui sont des systèmes ou scoreboards à mettre en place, une ou plusieurs valeurs entrées (inputs) qui doivent parfois elles-mêmes répondre à des critères précis. La fonction ressort ensuite une ou plusieurs valeurs (outputs). Dans le cas d’une fonction mathématique calculant le cosinus d’un angle, l’input est la valeur d’un angle en degrés, donc entre 0 et 360, tandis que l’output sera la valeur du cosinus de cet angle.

Pour vous rendre compte de ce fonctionnement autant que pour voir les merveilles dont Gunivers-Lib est capable, plusieurs systèmes de fonctions sont prêts à l’emploi dans le dossier “Systems”, par exemple le fameux LGdir qui est réduit à une simple commande.

A noter, depuis la version 1.13-3, les pré-requis des fonction (comme les scores que la fonction utilise) se créaient d’eux même. De cette façon, la quasi-totalité des systèmes que la lib propose ne nécessite aucun travail de mise en place.

Voici une image qui résume le fonctionnement des systèmes de la Gunivers-Lib. L’entête représente la partie commenté au début de chaque fichier .mcfunction. Cet exemple à été fait pour la version 1.12 mais reste encore d’actualité (à l’exception de la syntaxe des commandes qui a changé).

Fonctions et structures

Au fil des versions du projet, certaines fonctions s’ajoutent, d’autres disparaissent. Ainsi, si vous souhaitez voir l’intégralité des fonction présentes dans la version que vous souhaitez utiliser, les membres de chez Gunivers ont mis à disposition une documentation sur le site Github, qui leur sert également de plateforme de développement pour le projet.

Parmi les fonctions les plus marquantes et présentes dans chacun des version, on retrouve :

  • Des fonctions mathématiques comme :
    • Trigonométrie (sin, cos, tan, arcsin, arccos, arctan)
    • Exposants et Logarithmes
    • Factoriel
    • Plus grand commun dénominateur
    • Division classique (là où la division que propose Minecraft est une division euclidienne)
  • Des fonctions de conversion, servant à récupérer certaines informations ou bien modifier certains paramètres d’après un score (respectivement appelées getters et setters) comme :
    • Bloc <-> Score
    • Score -> Falling_block
    • Orientation <-> Score
    • Position <-> Score
  • Des fonctions utiles comme :
    • Id : permet de donner un score unique à chacune des entités que le système gère.
    • Liens : permet de lier la position ou l’orientation de deux entités.
    • Bloc visé : place un porte armure sur le bloc que le joueur/entité regarde.
    • _init_ : affiche un menu permettant de mettre rapidement en place les différents paramètres pour commencer à créer une map (gestion des gamerules, création d’une plateforme, systèmes d’exemples etc…)
  • Ou encore des fonctions plus complexes, assez théoriques mais permettant d’ouvrir un large champ de possibilités comme :
    • Vecteurs : possibilité de créer un vecteur de différente façon (à partir de l’orientation, d’une différence de position etc…)
    • Mise en mouvement : à partir d’un vecteur précédemment calculé. Permet la gestion d’objets en mouvement comme des projectiles. La trajectoire de ces derniers peut ensuite être géré de façon précise, offrant entre autre la possibilité de recréer des forces comme la gravité, le vent, ou bien même gérer les collision et les rebonds.
    • Pathfinding : permet de créer un chemin entre deux points.

De plus, la Gunivers-Lib souhaite également apporter une aide du côté de la construction des décors d’une map en fournissant différentes banques de structures. Actuellement, seul une banque est présente mais cela va sans doute évoluer. Vous pouvez également retrouver les banques de structures dans la documentation du projet.

Trailer

Téléchargement

[1.12 – 1.14] Gunivers-Lib

Installation (IMPORTANT)

Téléchargez le fichier. Puis trouvez votre dossier .minecraft :

Windows : Allez dans le menu Démarrer, puis rendez-vous dans Exécuter. Sinon, faites Touche Windows + R. Ensuite, tapez %appdata% dans la barre de recherche, puis allez dans le dossier .minecraft.
Linux : Appuyez en même temps sur ALT + F2. Vous devriez normalement avoir votre .minecraft.
Si vous ne le voyez pas, activez les dossiers cachés avec la combinaison CTRL + H.
Mac : Votre dossier minecraft se trouve dans Utilisateur > Bibliothèque > Application Support.
Si vous ne trouvez pas Application Support, faites Finder > Barre des menus : Aller + Maintenir ALT > Bibliothèque.

Installation 1.12: Ensuite, trouvez le dossier “saves” qui s’y trouve, puis cliquez sur le sous-dossier correspondant à la map sur laquelle vous souhaitez déployer Gunivers-Lib. Allez ensuite dans “data” et déposez le fichier dans “functions”. Allez dans le dossier “Gunivers-Lib” fraîchement déposé, puis trouvez-y Advancements/Biome et glissez tout le contenu de ce sous-dossier dans “Advancements” du sous-dossier “Advancements” de “data”.

Pour éviter de vous soucier des prérequis des fonctions de Gunivers-Lib, vous pouvez d’ores et déjà exécuter l’intégralité des fonctions contenues dans le dossier Utils/Import, qui créera automatiquement tous les scoreboards nécessaires.

Installation 1.13 et 1.14: Ensuite, trouvez le dossier “saves” qui s’y trouve, puis cliquez sur le sous-dossier “datapacks” et placez-y le dossier (contenu dans l’archive que vous avez téléchargé). Si vous avez téléchargé une version de développement, assurez-vous que le dossier s’appelle bien “gunivers-lib”. Autrement, certaines fonctions ne fonctionneront pas.

Image de Une réalisée par ClairElite.

Tags
commandes fonctions gunivers lib mapmaking outil

SpookyPowa

Knowledge is Power !

Article qui peut vous intéresser :

6 Commentaires

  1. Merci Yodi :)

    NeX, pour le dire autrement:
    Chaque fonction utilise des éléments du jeu, la plupart du temps, il s’agit d’objectifs de scoreboards (mais des fois il peut s’agir d’autres choses, comme des advancements).

    Ensuite, certaines fonctions necessitent des valeurs d’entrées. Pour reprendre l’article, une fonction cosinus aura besoin d’une valeur comprise entre 0 et 360 (un angle) pour fonctionner correctement. Il faut donc que l’objectif soit créé et que la valeur d’entrée (donc l’angle), soit bien initialisé.
    La fonction va également utiliser une objectif pour pouvoir stocker le résultat (dans le cas de la fonction Cosinus, elle utilisera le score nommé “Res”. Il faut donc que ce score soit lui aussi créé.

    N’hésite pas à aller sur le lien original (notre site), il se peut que les informations complètent cet article (et réciproquement) ;)

  2. NeX_BloodSword77 Salut, je suis un des développeurs de la lib.
    Ce qu’il veut dire par la, c’est que les fonctions ont (pour la plupart) besoin de scoreboards déjà créés pour fonctionner, ainsi que de valeurs d’entrée pour faire leurs calculs. Une fonction qui calcule le Cosinus d’un angle aura donc besoin de certains objectifs pour stocker des valeurs temporaires utiles au calcul, ainsi que de Res, l’objectif sur lequel tu récupère ton résultat, et d’une valeur d’entrée (l’angle en question, que tu rentres sur Tmp1 et qui doit se trouver dans [0;360]).

    Donc pour calculer ton cosinus tu fait
    /scoreboard players set @p Tmp1 45 (ou une autre valeur)
    /function Gunivers-Lib:Math/Cos

    Et ton résultat sera automatiquement placé sur Res :)

    PS: pour ajouter tous les objectifs rapidement, exécute toutes les fonctions présentes dans Utils/Import

  3. “Chacune nécessite des prérequis, qui sont des systèmes ou scoreboards à mettre en place, une ou plusieurs valeurs entrées (inputs) qui doivent parfois elles-mêmes répondre à des critères précis.” (partie Fonctionnements)

    On m’explique ?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page
Fermer
Fermer