La nouvelle snapshot 25w03a pour le drop printanier 2025 (présumée pour une version 1.21.5) de Minecraft est dès à présent disponible dans votre launcher. Celle-ci apporte des changements majeurs, notamment une toute nouvelle manière d’aborder les tests en jeu.
Grâce à l’introduction du système de Game Tests, désormais accessible via les packs de données avec la nouvelle commande /test, les créateurs et développeurs peuvent tester et valider leurs idées avec une précision inégalée. Que vous soyez un moddeur chevronné ou un joueur curieux, cette mise à jour ouvre la porte à des possibilités infinies pour expérimenter, automatiser et perfectionner vos projets dans Minecraft.
Ajouts et modifications
- Les tas de feuilles peuvent maintenant être compostés
- Les selles équipées sur les cochons ou les arpenteurs conservent désormais les propriétés telles que le nom personnalisé lorsqu’elles sont lâchées.
Éléments techniques
- Ajout d’une entrée
net.minecraft.gametest.Main
dans le jar du serveur- Démarre automatiquement un serveur et exécute tous les tests de jeu disponibles.
- Options :
--help
– Affiche les informations d’utilisation--packs <path>
– Définit un dossier de packs de données à inclure dans le monde- Tout fichier zip ou dossier contenant un fichier
pack.mcmeta
est inclus.
- Tout fichier zip ou dossier contenant un fichier
--report <path>
– Exporte les résultats dans un rapport XML de type junit au chemin d’accès donné--tests <selection>
– Spécifie quels tests doivent être exécutés à l’aide d’une sélection – une expression de caractères génériques correspondant aux identifiants des instances de test de l’espace de noms.- S’il est omis ou utilisé avec un ID vide, tous les tests sont exécutés.
--universe <path>
– Chemin d’accès où le monde du serveur de test sera créé- Tout dossier existant sera remplacé
- par défaut :
gametestserver
--verify <boolean>
– Permet la vérification des tests- Exécute les tests spécifiés avec test ou testNamespace 100 fois pour chaque étape de rotation de 90 degrés.
- par défaut :
false
- Exemple d’utilisation :
java -DbundlerMainClass="net.minecraft.gametest.Main" -jar server.jar --packs mytestpacks
Pack de données version 63
Tests de jeu
Le système de tests de jeu est un nouveau système intégré permettant de tester certains aspects du jeu. Chaque test est un atout définissant certains paramètres pour l’exécution du test, combiné à un fichier de structure sauvegardé contenant une configuration de base.
En règle générale, le cadre de test s’attend à ce que les tests soient exécutés dans un monde plat distinct.
Instances de test
- Les instances de test sont définies dans le registre
test_instance
. Il s’agit de petites ressources définissant un test à exécuter.- Champs :
environment
: Identifiant de l’environnement de test à utiliser dans le cadre de ce test.structure
: Identifiant de la structure à utiliser pour le test.max_ticks
: Entier positif représentant le nombre maximum de ticks autorisés avant que le test ne soit considéré comme expiré.setup_ticks
: Nombre entier non négatif optionnel (par défaut :0
) représentant le nombre de ticks à attendre après avoir placé la structure avant de démarrer le test.required
: Booléen optionnel (par défaut :true
) – indique si le test est requis pour valider l’ensemble complet des tests.rotation
: Rotation optionnelle à appliquer à la structure de test.- Un des choix suivants :
none
(par défaut),clockwise_90
,180
etcounterclockwise_90
.
- Un des choix suivants :
manual_only
: Booléen facultatif (par défaut :false
), défini àtrue
pour les tests qui ne sont pas inclus dans le cadre de l’exécution de tests automatisés.sky_access
: Si le test nécessite un accès dégagé au ciel- Par défaut (
false
), les tests sont enfermés dans des barrières invisibles – si la valeur est fixée àtrue
, la partie supérieure est laissée ouverte.
- Par défaut (
max_attempts
: Nombre de tentatives pour exécuter le test (par défaut :1
).required_successes
: Nombre de tentatives qui doivent réussir pour que le test soit considéré comme réussi (par défaut :1
).type
: Le type de test – peut êtreblock_based
etfunction
- Des tests de fonction s’appuient sur des fonctions intégrées pour exécuter un test et indiquer s’il a réussi ou échoué. Ils disposent d’un champ supplémentaire :
function
: Identifiant de la fonction de test à exécuter
- Des tests basés sur des blocs utilisent des blocs de test dans la structure de test pour exécuter le test et indiquer le succès ou l’échec.
- Champs :
Environnements de test
- Les environnements de test sont un moyen de regrouper les tests et de leur donner les bonnes conditions préalables pour s’exécuter. Un environnement de test est un élément du registre test_environment.
- Chaque définition d’environnement de test possède un champ de type qui détermine sa configuration :
- Les définitions
all_of
appliquent la configuration de plusieurs sous-définitions dans le champ des définitions. - Les définitions
function
utilisent les fichiers mcfunction pour la configuration et la désinstallationsetup
: Identifiant optionel du mcfunction à utiliser pour la configuration, s’il y en a unteardown
: Identifiant optionel du mcfunction à utiliser pour la désinstallation, s’il y en a un.
- Les définitions
game_rules
définissent un nombre quelconque de règles de jeu.bool_rules
: Une liste de règles de jeu booléennes à définir et la valeur à définirint_rules
: Une liste de règles de jeu en nombres entiers à définir et la valeur à définir- Chaque règle est un objet comportant deux champs :
rule
: Le nom exact de la règle à définirvalue
: La valeur à définir
- Les règles du jeu sont réinitialisées à leurs valeurs par défaut une fois l’environnement de test terminé.
- Les définitions
weather
définissent l’état de la météoweather
: La météo a régler parmisclear
,rain
etthunder
- Les définitions
time_of_day
définissent un temps donné de la journée.
- Les définitions
- Le jeu fournit par défaut un environnement de test unique et vide :
minecraft:default
.
Blocs de test
- Le
bloc de test
est un bloc utilisé pour mettre en œuvre des tests basés sur des blocs. Il dispose de quatre modes :start
: Déclenche une impulsion de redstone au début du test.log
: Enregistre un message dans les logs lorsqu’il est alimenté par de la redstone.fail
: Echoue le test lorsqu’il est alimenté par de la redstone.accept
: Complète le test lorsqu’il est alimenté par de la redstone.
Bloc d’instance de test
- Pour exécuter un test dans un monde, un bloc d’instance de test est utilisé. Ce type de bloc représente le test tel qu’il est placé dans le monde et est utilisé pour interagir avec ce test, pour sauvegarder la structure, réinitialiser ou exécuter le test.
Commande /test
- La commande
/test
est une nouvelle commande utilisée pour créer et exécuter des tests.- La synthaxe et les différentes sous commandes sont présents en détail sur le changelog officiel.
/test run
permet de lancer un ou plusieurs tests- Si plusieurs tests sont exécutés en même temps, ils sont placés dans une grille et exécutés en parallèle, mais seulement jusqu’à une certaine limite. Au-delà de cette limite, les tests sont exécutés par séries, chaque série se terminant avant que les tests de la série suivante ne soient lancés.
- Pour chaque test, la structure donnée est chargée et le test correspondant est exécuté. Chaque emplacement de test sera doté d’un faisceau lumineux indiquant l’état d’avancement du test.
- Gris = en cours
- Rouge = échec (test requis)
- Orange = échec (test optionnel)
- Vert = succès
- En cas d’échec d’un test, l’erreur est affichée sur un livre de pupitre et un overlay.
- Notez que les tests de jeu sont conçus pour fonctionner sur des mondes plats standard. La zone autour de chaque test est remplacée par de la roche lorsqu’il s’exécute, et le test en cours d’exécution est encastré dans des barrières invisibles.
/test stop
permet de stopper tous les tests
Commandes
- L’emplacement d’objet
horse.saddle
a été renommé ensaddle
, et prend désormais en charge toute entité pouvant équiper une selle.
Tags
- Ajout du tag d’entité
#can_equip_saddle
pour les entités pouvant être équipés d’une selle.- Cela ne signifie pas que la selle fonctionnera, mais seulement qu’elle peut être insérée dans l’emplacement prévu à cet effet.
Données d’entité
- Les champs
ArmorItems
,HandItems
etbody_armor_item
ont été fusionnés en un champequipment
. - Le format de données des selles a été unifié entre les créatures telles que les chevaux et les cochons, devenant ainsi un nouveau type d’emplacement d’équipement (et stocké dans le champ
equipment.saddle
). - Le champ
FallDistance
a été remplacé par un champ double et s’appelle désormaisfall_distance
.
Composants de variantes d’entités
- Les entités disposent désormais d’un ensemble de composants permettant de configurer les variantes et d’autres aspects de l’apparence.
- Si ces composants sont présents sur l’objet qui a fait apparaître l’objet (comme les œufs d’apparition, les seaux,
minecraft:painting
,minecraft:item_frame
), ils seront appliqués à la nouvelle entité. - Les composants ne sont actuellement pas restaurés lorsque l’œuf est obtenu depuis une entité existante.
- Les seaux et les tableaux disponibles dans l’inventaire créatif utilisent désormais les nouvelles variantes au lieu du composant
minecraft:entity_data
. - Les infobulles personnalisées pour les seaux de poissons tropicaux et les tableaux sont désormais basées sur les nouveaux composants au lieu de
minecraft:bucket_entity_data
etminecraft:entity_data
.
Pack de ressources version 48
Assets d’équipement
- Les assets d’équipement peuvent désormais définir de nouveaux types de couches :
pig_saddle
strider_saddle
camel_saddle
horse_saddle
donkey_saddle
mule_saddle
skeleton_horse_saddle
zombie_horse_saddle
Modèles d’objet
- Ajout de la source de données
component
au modèle d’objetselect
.- Renvoie la valeur du composant sur l’objet, s’il y en a un
- Champs :
component
– Identifiant du type de composant
- Les valeurs possibles dépendent du type de composant
- Exemple : si
component
est défini surminecraft:wolf/collar
, la liste des cas acceptera des couleurs de teinture, commelime
.
- Exemple : si
Corrections :
Les différentes corrections apportées avec la snapshot 25w03a :
- MC-13738 – Selle invisible lors de l’utilisation d’une potion d’invisibilité sur un cheval, un âne ou une mule.
- MC-80243 – Les selles ne donnent pas de modificateurs d’attributs lorsqu’elles sont portées par des entités.
- MC-189525 – Les entités armées des mondes pré-1.9 passent à une armure à double maniement.
- MC-190000 – Les selles équipées sur les chevaux ne peuvent pas être remplacées sans les retirer d’abord.
- MC-256469 – Les dromadaires invisibles ne montrent pas leurs selles.
- MC-266912 – Aucun son d’équipement de selle n’est joué lorsque les selles sont équipées sur des chevaux, ânes, mules ou dromadaires peu de temps après l’apparition de l’entité.
- MC-269637 – Les chevaux peuvent porter plusieurs selles mais pas plusieurs armures.
- MC-270192 – Les selles de certaines entités restent visibles pendant leur animation de mort.
- MC-270197 – La selle des cochons et arpenteursreste visible pendant leur animation de mort.
- MC-272100 – Pixels inutilisés dans les textures de chevaux (horse_[brown/chestnut/creamy/white].png).
- MC-272790 – Les boîtes de shulker et autres blocs dans le portail de sortie de l’End lorsqu’il change d’état ne sont pas lâchés en tant qu’objets.
- MC-274258 – Toutes les textures de chevaux contiennent une texture de coffre inutilisée.
- MC-278673 – La rotation en x de /teleport est limitée à ±90 degrés par rapport à l’angle d’origine de l’entité.
- MC-279208 – Les joueurs ne peuvent plus commencer à courir en appuyant d’abord sur une touche de déplacement latéral.
- MC-279211 – Les boîtes de shulker conservent et lâchent leurs contenus lorsqu’elles sont cassées par certaines méthodes, provoquant une duplication des objets.
- MC-279213 – Les blocs de champignons ne peuvent pas remplacer les tas de feuilles.
- MC-279221 – Les tas de feuilles remplacent les feuilles dans la génération du monde.
- MC-279224 – L’utilisation de poudre d’os dans les prairies ne génère pas de fleurs sauvages.
- MC-279226 – Toutes les orbes d’expérience, quelle que soit leur valeur, sont rendues avec la plus petite valeur.
- MC-279233 – Les boîtes de shulker lâchent leurs contenus lorsqu’elles sont brisées.
- MC-279234 – Le son minecraft:entity.generic.extinguish_fire ne joue pas lorsque le feu sur une entité est éteint.
- MC-279238 – Mourir à cause d’un wagonnet à TNT enflammé par une boule de feu de Blaze ne compte pas comme être tué par le Blaze.
- MC-279239 – Le mouvement de la TNT amorcée est haché et saccadé.
- MC-279245 – La plupart des créatures hostiles n’apparaîssent pas même dans les bonnes conditions.
- MC-279248 – La collision de la lave est trop haute.
- MC-279281 – Les dégâts de chute se produisent en sautant de 2 blocs de haut.
- MC-279282 – Les perroquets avec un UUID de propriétaire non-joueur provoquent un crash lors de leur apparition.
- MC-279285 – Les orbes d’expérience accélèrent brutalement vers le sol très rapidement.
- MC-279301 – Le joueur meurt en tombant de 22.00001 blocs au lieu de 23 blocs.
- MC-279313 – Le mouvement des entités d’objet est haché et saccadé dans certaines circonstances.
- MC-279314 – Les projectiles tressaillent légèrement de haut en bas en volant dans les airs.
- MC-279316 – Le mouvement des flotteurs de canne à pêche est haché et saccadé.
- MC-279339 – L’ordre de mise à jour des rails inclinés est incorrect.
- MC-279340 – Les bébés ours blancs sont trop petits.
- MC-279345 – Les pétales roses et les fleurs sauvages ne peuvent plus pousser avec de la poudre d’os.
- MC-279357 – Le joueur peut tomber des bords tout en s’accroupissant.
- MC-279434 – Se tenir sur de la neige poudreuse et du feu en même temps spamme le son d’extinction du feu.
- MC-279459 – /setblock et d’autres remplissages ne mettent pas correctement à jour les entités de bloc.
Téléchargement de la Snapshot 25w03a
Comment installer la snapshot de Minecraft :
- Lancez votre launcher Minecraft et dans l’onglet du haut, cliquez sur Configurations. (Voir image)
- Cochez ensuite la case Snapshot. Celle-ci apparaîtra directement en tant que nouveau profil. (Voir image)
- Lancez le profil de la snapshot et profitez des dernières nouveautés. (Voir image)
Comment accéder aux fonctionnalités expérimentales :
- Créez un nouveau monde et cliquez sur le bouton Expérimentations (Experiments). (Voir image)
- Activez ensuite le ou les fonctionnalités disponibles puis appuyez sur Terminé (Done). (Voir image)
- Lancez le monde et profitez des fonctionnalités expérimentales.