Aidez nous a financer le site: Joignez l'utile à l'agréable et profitez d'FR-Minecraft sans publicités en
devenant VIP ! Ou ajoutez FR-Minecraft dans vos exceptions, nous n'abusons pas des pubs
Pas de jour férié le 1er mai aux Etats-Unis: L'équipe Bedrock a publié ce mercredi une nouvelle beta. En plus des corrections de bugs, 2 changements sont à noter :
-
Le bouton "store" a été renommé "marketplace" sur l'écran titre. Pour nous, francophones, aucun changement. Ce bouton s'appelait et s'appelle toujours "Magasin".
-
Il manquait une partie des json dans le template d'addon proposé en téléchargement.
Modifications des addons
Pour constater les principaux changements, le plus parlant est de regarder la page d'accueil de la documentation des addons :
On constate l'ajout de deux catégories : la documentation des biomes et la documentation des blocs. En effet, ces deux éléments de jeu sont désormais personnalisables au même titre que l'étaient déjà les mobs. Il est désormais possible également de rajouter ses propres blocs. On retrouve également la personnalisation des items, ainsi que des ajouts à l'API de scripting.
Les blocs
Le support des blocs est encore extrêmement partiel. D'ailleurs, aucun des blocs de base du jeu n'est actuellement externalisé dans un fichier json.
Les propriétés que l'on peut donner à un bloc sont uniquement les suivantes pour le moment :
-
l'item looté lorsque cassé
-
le temps de minage
-
la résistance aux explosions
-
la friction (est ce que le bloc va nous ralentir ou nous accélérer)
-
si le bloc peut brûler, avec un paramètre permettant au bloc de brûler sans se consumer
-
la couleur du bloc sur une carte
-
le niveau de lumière émis
-
la quantité de lumière absorbé, paramètre utilisé dans le jeu de base uniquement pour la glace. Pouvoir le paramétrer laisse la possibilité de créer une glace modifiée qui ne fond pas ou bien fond à des niveaux de lumière différent
Cela élimine ainsi pour le moment tous les blocs non pleins et toute les interactions avec les blocs. Néanmoins, il semble évident que toute ces fonctionnalités arriveront ultérieurement.
Un exemple de bloc modifié en fichier json : une andésite modifiée issue de l'addon Resourcefulness :
On constate la présence de l'attribut "format_version", déjà disponible sur les entités, il s'agit d'un attribut qui indique avec les connaissances de quel version du jeu les propriétés suivantes ont été renseignées. Cet attribut permet ainsi à l'interpréteur de résoudre la question suivante : "la propriété X n'est pas renseignée, est-ce parce que le développeur n'en a pas voulu, où bien est ce que c'est parce qu'elle n'existait pas lorsque le développeur a créé le fichier"? Si la version renseignée est plus faible que la version courante, toute les règles ajoutées dans les versions supérieures seront valorisées à leur valeur par défaut. Sinon, la propriété sera désactivé.
Dans le cas du Resourcefulness, le nombre de blocs ajoutés est conséquent
Les biomes :
Les biomes sont plus aboutis, mais également plus complexes. Les propriétés rappelleront aux joueurs java les mondes custom, désormais supprimés du jeu depuis la version java 1.13.
Il y en a énormément, un fichier d'exemple est disponible sur la
page du wiki en question.
Pour l'exemple, j'ai modifié le fichier de la plaine, pour remplacer l'herbe et la terre par de l'or et du diamant :
Une fois en jeu, les modifications sont visibles sur les nouveaux chunks :
Les items
La personnalisation des items est elle aussi plutot limité pour le moment : seul la nourriture, les graines, et l'appareil photo de l'édition Education sont personnalisables. Cela veut dire qu'il est pour le moment possible d'ajouter exclusivement de la nourriture, des graines, un pseudo appareil-photo, et des items purement utilitaires permettant uniquement de crafter d'autres items.
Je n'ai étonnamment pas trouvé la documentation des items pour confirmer ces suppositions, mais dans tous les cas, ce sont les seuls type d'items actuellement externalisés.
Par exemple, le fichier de la pomme d'or donne ceci :
L'API de scripting
Avant de développer cette partie, il faut signaler que contrairement à la plupart des applications ou des jeux, où le code constitue la partie principale du programme et les ressources statiques de description ne sont là que pour alimenter le code dynamique, là, ce sont les ressources statiques qui constituent le coeur des addons, notamment avec l'introduction du molang, qui permet de faire des mini-calculs au sein des ressources statiques. L'API de scripting a vocation a être la plus minimale possible afin de n'être utilisée que lorsque les components ne suffisent pas.
Ainsi, les ajouts liés à la scripting API se résument principalement à la prise en compte de nouveaux événements liés aux blocs, à l'ajout d'un logger in-game, qui vient compléter le logger de visual studio et le fichier de log (bien que mes tests n'aient jamais permis d'utiliser les commandes server.log et client.log, me faisant afficher un message d'erreur comme quoi les arguments de type objet n'étaient pas compatibles, même lorsqu'il s'agit d'une simple chaine de caractère).
Enfin, il est désormais possible de mettre un callback sur l'émission de particule d'une entité, ainsi que sur le message de retour d'une commande.
Il faudra donc encore être patient, probablement quelques années d'attente avant d'avoir une API vraiment utilisable, mais c'est très encourageant :-)