>> La recherche se fait sur tous les élements du jeu Minecraft <<

Minecraft Bedrock 1.8.0.11: Annonce de l'API de scripting

Le 25/10/2018 à 22h59

Ce merdredi, quelques heures après la sortie de la dernière snapshot Java, Mojang a publié une nouvelle beta de Minecraft Bedrock. Cette beta n'apporte pas autant de changements que les deux précédentes, mais apporte quelques fonctionnalités au niveau des pandas.

Ajouts/Modifications
  • Tous les pandas infligeront désormais un coup au joueur si celui-ci lui met un coup. Dans mes tests, les pandas infligent 1.5 cœur de dégât en normal. Le panda agressif lui, inflige toujours 3 cœurs.
  • Par ailleurs, le fait d'attaquer un panda normal déclenche désormais l'agressivité des pandas agressifs à proximité.
  • Enfin, le panda agressif a une nouvelle texture, la même que celle dévoilée sur la dernière snapshot de l'édition Java.


Bugs corrigés
  • Correction de divers crash
  • Correction de l'animation du bras lorsqu'on creuse
  • L'attribut Minecraft:shooter fonctionne désormais correctement
  • Correction d'un conflit entre l'animation de l'échafaudage et l'animation de la nage lorsque le joueur était dans l'eau et dans un bloc d'échafaudage en même temps
  • Les contrôles tactiles de vol en créatif n'apparaissaient pas quand le joueur était passé dans un echafaudage
  • Correction d'un bug graphique sur les chevaux pour certains appareils spécifiques
  • Optimisation du rendu des chunks
  • Les gamerules ne peuvent désormais être changé que par des opérateurs
  • Poser un bloc soumis à la gravité sur un échafaudage relié à la structure uniquement par le côté causait la chute du bloc d'échafaudage
  • Le point d'apparition des joueurs ne changera plus sans raison!
  • Désactiver les succès Xbox changait le gamemode par défaut du monde
  • Les pandas pouvaient se retrouver bloqué en position assise au chargement du monde
  • Les skins nouvellement équipés s'appliquaient pas bien sur la miniature en haut à gauche
  • Correction d'un bug de modèle sur l'enderman
  • Il est plus rapide de casser des blocs en créatif
  • La fonctionnalité de recherche sur le marketplace est plus consistante
  • Le lien vers les Templates de monde du marketplace de l'écran de création de monde n'ammenait pas dans la bonne catégorie du marketplace
  • Utiliser un seau avec poisson dans un distributeur faisait crasher le jeu
  • La recette des lits colorées n'était pas la bonne
  • Le joueur pouvait se retrouver a tourner dans une direction aléatoire
  • Les  doubles dalles n'avaient pas le bon aspect


Présentation de la Scripting API !
Plus de 2 ans après son annonce, la Scripting API sera disponible très prochainement, dans les betas de la 1.8. Alors que les premières informations parlaient davantage d'une mod API en C#, Mojang a finalement intégré un moteur javascript pour exécuter les scripts.
Pour le moment, rien n'est implémenté dans le jeu, mais Mojang a dévoilé toute la documentation technique d'une beta interne appelée 1.8.0.50 qui décrit parfaitement le fonctionnement de cette API de scripting. Cette documentation nous donne également le lien de téléchargement de deux maps embarquant chacune un behaviour pack contenant des scripts permettant de faire tourner un mini-jeu. Dans l'un d'eux, appelé sobrement mob arena, le behaviour pack ne contient que 2 scripts, aucun fichier json !

Voici des extraits des deux fichiers de ce behaviour pack




A noter également que ce n'est pas un langage inspiré du javascript, c'est du vrai javascript. Il devrait donc normalement être possible d'utiliser des librairies tierces. Il est d'ailleurs possible d'utiliser les outils de Visual Studio pour déboguer le code en temps réel.
Cet article a été publié par franswa, le 2018-10-25 22:59:55. Source
Validé par  Tronics. Dernière modification par  Tronics le 26/10/2018 à 5:44.
Partager :
Commentaires de la news Minecraft
Minecraft Bedrock 1.8.0.11: Annonce de l'API de scripting :
franswa (modérateur)
le 25/10/2018 à 23:05
Je pense qu'il commence à devenir très intéressant d'avoir des sections dédiées aux maps/addons de la version bedrock. Je vois sur MCPEDL des addons absolument hallucinants. Au niveau des mobs, on peut littéralement faire tout ce que n'importe quel mod java pourrait faire, c'est exceptionnel. Par contre, je trouve dommage que Mojang se concentre exclusivement sur les mobs alors que à côté de ça, les autres aspects du jeu sont bien moins personnalisables, que ce soit la génération, les blocs, les interfaces graphiques, ou encore le rendu graphique.
Florshox (anonyme)
le 26/10/2018 à 08:14
@franswa Totalement d'accord avec toi, j'ai toujours vu des progrès du côté des Addons, mais il faudrait qu'on soit presque au même niveau que Java pour le modding.
le 26/10/2018 à 08:35
est ce que ca veut dire que " en theorie " les mods java pourront etres executés ? :thinking:
UnAnonymeAnonyme (anonyme)
le 26/10/2018 à 09:58
@Builderwither Non.. un moins que quel q'un recrée une VM java en JavaScript, fasse tourner Forge sur un environment simulée.. Mais les mods java pourront (j'espère tous) être recréé dans Minecraft Bedrock
le 26/10/2018 à 10:34
J'ai pas Win10 ... :'(
Je suis surpris qu'ils utilisent JS. J'aurais bien aimé y toucher mais bon. Par contre si on peut se servir de jQuery par exemple c'est prometteur, car certaines tâches en JS sont un peu complexes à faire parfois alors que la volonté initiale est simple.
Mais je commence à me dire que les devs mcfunction vont peut-être préférer cette API vu qu'elle est plus pratique niveau variables notamment, et que certains vont peut-être migrer.
le 26/10/2018 à 13:33
@TheJedi7:
Il sera surement impossible et inutile pour des raisons évidente, d'utiliser jQuery. (les même pour les quel l'ont ne l'utilise pas côté serveur avec NodeJS).
C'est une librairie Frontend (cad: Navigateur Web) qui, à pour bute de facilité la "normalisation" de certaine fonctionnalité JS entre les différents navigateurs.
Pour la rendre disponible, déjà faudra attendre que l'API intègre toute la parti interface (pour avoir l'object Window, si non c'est définitivement inutile) et éventuellement l'adapté en conséquent, pour y gagner quoi concrètement ?
Après si Bedrock est bien une UWP, il est possible qu'il utilise le XAML (qui est un langage XML comme le HTML) pour leur interfaces, et peut être, à vérifier, utilise un système de DOM ? Dans un tel cas, et exclusivement dans ce cas là, il sera peut être imaginable d'avoir un portage de jQuery. Mais franchement je vois pas l'intérêt...

En revanche, le faite que Microsoft choisisse JS comme moteur d'exécution peut vouloir dire d'en un certain avenir l'utilisation strict du Typescript. (j'entend par là qu'il n'y aura plus que ça).
Cela serait cohérent et permettrait surement une interfaçage avec le jeu plus "propre".

Dans les possibilités de librairies, l'ont pourrait en revanche imaginé l'utilisation de RXJS ? (les fan d'Angular comprendrons).
Après cela reste une interface avec une application, reste à voir ce qui sera réellement possible de faire avec.

Ygg.
franswa (modérateur)
le 26/10/2018 à 13:57
@Yggdrastyle pour le moment, la scripting API ne gère que le backend. Tout ce qu'il semble y avoir côté front, ce sont des déclencheurs qui permettent de faire des actions en particulier côté backend. Du coup, le Xaml, je pense qu'il faut oublier, d'autant que actuellement, les interfaces sont écrites en Json. On peut d'ailleurs les modifier, mais on peut pas rajouter de nouveaux comportements associés.
Tronics (administrateur)
le 26/10/2018 à 18:56
Javascript.... quelle horreur, ils ne pouvaient pas choisir pire langage :-(

Florshox: Que l'API ne permettent pas la même chose que les mods c'est une chose, mais il faut aussi voir la simplicité d'installation, c'est le problème des mod, il faut d' abord installer forge, c'est fastidieux et rebutant pour beaucoups de monde. Donc il faudrait plutot comparer ça aux datapacks, ezt pour le coups effectivement, même si javascript est un langage de merde, ça reste infiniment plus pratique que de devoir jongler avec les fonctions de la version Java.

De la a dire que les gens vont migrer, je ne serait pas aussi optimiste, car n'oubliez pas que pres de la moitié des joueurs n'ont pas windows 10, et même parmis ceux qui l'ont tous n'ont pas la version bedrock et n'auront pas envis de repayer le jeu qu'ils ont déjà en java pour l'avoir en version bedrock (puisque désormais la migratuit gratuite n'est plus possible), donc la migration en masse dès maintenant, j'y crois pas vraiment.

Ce ne sont pas les mods que les gens attendent en masse, mais les serveurs multijoueurs, et de ce coté la, la version Bedrock est toujours à la ramasse, on manque d'outils et de communautés Bedrock.
le 26/10/2018 à 20:14
@franswa: Du coup oui c'est bien ce que je disait ^^ jQuery ne sert à rien et ne marcherais pas.

@Tronics: C'est pourtant mon langage préféré ^^ Mais il a beaucoup évolué aussi, c'est dernière années.

Encore une fois, c'est pas parce que le moteur est actuellement du JS, qu'ils ne le ferons pas évolué vers du TS.
Microsoft semble TRES attaché à cette stack (normal c'est leur bébé) et il serait pas incohérent de la voir arrivé sur l'API, étant donnée que c'est un langage O.Object.

De plus, pour défendre mon grand copain le JS, c'est une techno très populaire, bien plus que le C#. Il y a masse plus de gens qui le connaisse, et même pour ceux qui ne le parle pas, il est très aisé de trouvé des tonnes de ressource / tutoriel dessus et dans toute les langues.. Il est également plus aisé d'utilisé des outils de développement pour. Et selon les moteurs, il est extrêmement rapide ! (le V8 Google/Node par exemple :D)
C'est aussi un langage très réactif (comme le C#) puisqu'il est événementielle ce qui colle également bien à l'emplois.
franswa (modérateur)
le 26/10/2018 à 20:51
@tronics je dirai pas que JavaScript est un langage de merde, je dirais que JavaScript est un langage qui demande une certaine rigueur au niveau de la gestion de la concurrence afin d'obtenir quelque chose de performant. Je pense d'ailleurs que c'est pour les performances qu'ils ont finalement choisi le JS au détriment du C#. Ensuite, par rapport à la portée de la version bedrock, je rappelle qu'une version pour Mac et Linux est envisagée, ce qui permettrait notamment de conquire pas mal de développeurs web en plus.
Par contre, je peux pas te laisser dire que la version Bedrock est à la ramasse sur le multijoueur. Certes, le serveur dédié officiel est tout récent, mais les solutions tierces comme pocketmine sont désormais vachement développées. C'est ce qui permet aux serveurs mini-jeux officiels de tourner, et franchement, ça tourne désormais parfaitement, la où il y a un an, j'avais l'impression de revenir en 2013 sur la version java. Enfin, pour du multi a quelques joueurs seulement il y a les realms qui sont plus développés que sur java et il y a depuis longtemps la possibilité d'inviter un ami en réseau sur son monde solo. Pour résumer, sur les aspects qu'on connait sur java édition, la version Bedrock commence tout juste, mais il est multi était déjà bien développé avant ça.
@Yggdrastyle je connais pas du tout typescript, mais à ce que j'ai vu, c'est un framework qui permet de faire du JS mieux foutu et qui génère du JS de base via un compilateur. J'imagine que ce sera compatible. Par ailleurs, je suis d'accord sur le fait que beaucoup plus de monde connaît le JS que le C#. En plus, s'ils avaient choisi le C#, ceux qui maîtrisent pas le C# auraient râlé car ils auraient dit que Mojang a choisi ce langage uniquement car c'est du 100% Microsoft. Le JS est un langage plus neutre.
Anonme (anonyme)
le 26/10/2018 à 22:48
Tant qu'à choisir un langage populaire mais puissant et facile d'accès, ils auraient pu choisir Python.
J'aime beaucoup JavaScript mais ses faiblesses et particularités (comme typeof null === "object", l'empoisonnant NaN, la définition étrange de undefined etc) font qu'il n'est pas pour moi un langage approprié à de la programmation à la fois rigoureuse et fiable.
le 26/10/2018 à 22:51
Oui bon pour être honnête je me suis que peu servi de ce framework (jQuery) et oui c'était du front. (Je parle souvent trop vite ^^') mais l'idée c'est que ce serait cool de pouvoir utiliser des frameworks en plus.

@Tronics oui tout le monde n'a pas Win10, il n'empêche que JS est plus pratique, performant et répandu que .mcfunction . Et pour ceux qui ont déjà fait l'achat il est toujours possible d'utiliser et de réclamer son code. Il faut voir ce qu'on pourra faire et pas faire avec.
Je trouve JS plutôt pas mal aussi après tout dépend où et comment on s'en sert.
le 27/10/2018 à 00:05
@TheJedi7 : Pas de soucis, c'était pas un procé tkt, même si j'ai fait un msg un peut long (comme à mon habitude).
Au contraire, c'était une réflexion intéressante car oui, dans l'idée tu a totalement raison. L'utilisation du JS va vraiment facilité l'emploie de librairie tièrce, à commencé par la possicibilité d'utilisé le dépot de NPM !!!
Et rien que pour ça, c'est une super idée.
Imaginé vous demain en train d'écrire :
npm install minecraft-battleroyale-v3 pour télécharger votre mod =D

@franswa : Oui c'est bien cela, le TS est un langage transpiler, en soit il est déjà compatible avec cette API.
(bon, faudra surment écrire une petite interface pour l'object System de MC histoire que l'IDE râle pas trop, mais c'est accessoire ^^)
Draken (anonyme)
le 27/10/2018 à 00:10
@Tronic
Le javascript (qui est certainement mon langague favoris et morts au python) à énormément évoluer ces dernière années !
Sert mal utiliser c'est un langage asser "sale" dans sont écriture. Mais forcer de constater qu'il fonction très bien, s'adapte parfaitement à la programmation événementiel (d’ailleurs de beau exemples dans les screens de l'article)
Les dernières version permette de très belle syntaxe clairs et précise dont certaine syntaxe sont très prés de Java / c++ (je pense au "classes" en autre)
Les moteur JS (V8 est Cie) sont de plus en plus performant et surement plus que ce C# qui possède une moins grande communauté etc.
Je pense que Mojang/Microsoft à voulus taper sur plus de développeur avec le JS et plus rapidement.

Je peu comprendre que certains n'aime pas le JS mais si @Tronic il aurais pus prendre pire : Scheme
Un exemple ? :
(define (factorial n)
(let loop ((fact 1)
(n n))
(cond ((= n 0) fact)
(else (loop (* n fact) (- n 1))))))

Bon j’avoue c'est pas du tous adapter c'est un langage fonctionnel x) C'était pour l'exemple pas taper !
Tronics (administrateur)
le 27/10/2018 à 06:19
Draken: Mon pseudo c'est TroniXXX
(Un langue de script plus performant qu'un langage compilé, qu'est-ce qu'il faut pas entendre...)

Yggdrastyle: Si il faut taper des commandes pour installer un mod... c'est pas demain la veille que la version bedrock va devenir populaire lol, car bien sur npm c'est une dépendance a installer séparement, donc on revient au problème de forge et des mods java... Ajouter de la complexité ne simplifie pas un problème.
Même moi en tant que dev y'a rien qui m'énerve plus quand je cherche un logiciel que de tomber sur une page ou dans "installation" on t'explique que c'est super simple, il "suffit" de taper la commande: "npm install"... bon par contre comme j'ai pas npm j'suis mal barré, pour installer un logiciel il faut que je commence par installer un autre logiciel dont je me contre-fou royalement :/... allons-y... puis il faut installer ses dépendances, puis il faut résoudre les conflits car j'ai pas les mêmes versions que l'auteurs, puis etc ... bref c'est pas du tout plus simple, bien au contraire (au final si je trouve pas un zip à télécharger je vais voir ailleurs, je perd pas mon temps à installer 12 000 trucs).
franswa (modérateur)
le 27/10/2018 à 09:52
@Yggdrastyle hum, tu peux mettre l'architecture que tu veux avec npm? Car pour moi, npm c'était surtout prévu pour du node. Pour moi, ça servira surtout pour les développeurs qui pourront aller chercher des dépendances et les packager dans leur Addon, mais pas côté utilisateurs ou, comme le dit Tronics, c'est tout sauf pratique.
le 27/10/2018 à 13:41
@Tronics, @franswa :
Ont c'est pas compris je crois ^^
NPM c'est une possibilité supplémentaire, cela veut pas dire que tout le monde va passé par cette outils !
Mais pour les habitué comme moi, c'est quelque chose de très bien, car cela permet justement de dev ton mod en ajoutant les dépendances que tu souhaite facilement et rapidement et ainsi géré leur version et MAJ.
C'est un peu le bute de package manager (comme composer ou gem ...)
Après oui, il y a fort à parié pour que les développeur de mod propose un simple .zip à télécharger à l'utilisateur, car plus user friendly, sa va de soit je pense ^^

Après l'incompatibilié des version, bein j'vois pas la différence avec .zip ? Le problème reste le même, à la différence qu'avec npm tu peut facilement précisé le version avec le mot clé @x.x.x Mais j'imagine que sur la page du développeur tu pourra aussi télécharger le .zip en accord avec ta version du jeu ..
NPM c'est pas Nuggets, t'est pas obligé de mettre à jour ton OS pour installé une dépendance (petit pic lancé à un fan de C#, et qui va me retombé dessus, je le sent venir^^) (xP)

@franswa : Oui tu peu bien y mettre ce que tu veut ou presque au finale.
En faite npm est à la fois le client et le repository du package manager de NodeJS, et il te faut Node forcement sur ta machine pour le faire tourné, ça c'est vrais.
Mais en réalité tu peu ET il est utiliser pour plein de chose, notamment l'installation de task runner comme Grunt, Gulp, des bundle manager comme Webpack, des transpileur / compileur comme SASS, TS, LESS etc...
Il peu vraiment installé plein de chose, comme jQuery (pour le front), Bootstrap (avec les fonts, images, css etc.), il peut installé des programme codé en C, C++ justement comme le transpileur TS, d'autre outils CLI ou d'autre programme comme ffmpeg qui permet la lecture et modification de fichiers multimédia, etc...

Donc npm pour un dev (surtout front), c'est une super boîte à outils ! Et dans un tel cas, ce serait très utile pour développé des projet de mod et les partager. Cela peut également et très facilement s'inscrire dans une intégration continue en Gitflow sur github, afin de voir des projet évolué de manière communautaire et devenir très populaire.

Après je dis pas que se sera l'outil indispensable pour installé un mod sur la Bedrock côté utilisateur, j'ai juste voulu donné un exemple qui vous parle à vous deux/trois ;)

Ygg.
Draken (anonyme)
le 27/10/2018 à 19:51
@TronicsXXX Pardon je me suis mal exprimer, désoler pour ton pseudo.
Oui C# est "compiler" un peu différent d'une compilation en C++ s'approche plus d'une "demis" compilation java (VM tous sa tous sa) en terme de perf il ce situe entre le c++ et java en moyen.
Ce qui je pense ce qui les à pousser à changer :
- Peut utiliser le même principe de fonctionnement que nodejs (interaction avec des librairie C/C++) de façon simple en utilisant les base de nodejs.
- Plus grand communauté de devs
- Pas d'étape de compilation qui pouvais poser des problèmes de compatibilité et maintenance lourd
(Il y en a en JS aussi mais bien plus simple à mon avis à faire)
- Plus logique pour une idée d'addons portable et modifiable.

Ps:
Tu n'aime pas le JS sert mais ne crache pas sur les personnes qui commente ton site et qui pose des argument qui ne sont pas contre toi ! (Oui j'ai mal pris la formulation de ta réponse qui commence par un rappelle pour le manque d'un S)
Il m'arrive régulièrement de mal m'exprimer et encore plus de mal écrire (On n'a tous nos problèmes un des miens c'est l'expression écrite).Je suis désoler si tu avais pris mon commentaire pour une insulte si tu veux bien m'en excuser.
le 27/10/2018 à 20:29
@Darken :
Je pense clairement que ce qui les ont poussait à choisir JS plutôt que C#, c'est à 99% pour sa popularité.
- Le C# peut aussi bien interagir avec le C++ que le JS. (d'autant que là ont parle d'API, donc c'est le principe d'interfaçage entre deux app, d'une le jeu, d'autre le mode) donc la question devrait même pas se posé.
- Je pense que dans le principe tu n'avais rien à compilé toi même, c'est plutôt le jeu qui se charge de ça.
De plus, c'est une API, le bute c'est vraiment de joué avec les composants qui seront fournis par MC.

Donc si le C# était un très bon choix, mais JS reste une meilleur idée car plus tout simplement plus populaire.

Crdt,
Ygg.
Pseudo (anonyme)
le 29/10/2018 à 23:01
Java ou non, on s'en balek. NOUS AVONS DU MODDNG API DIRECTMENT DANS LE JEU. C'est pas merveilleux ça ?! Ça me donne juste l'envie de continuer à aller plus loins dans mon cour de prog.

Vous devez être connecté pour laisser un commentaire.