Guides / Construction et ressources
Tableaux et disques de musique personnalisés sans remplacer les originaux
Tous deux sont devenus des registres de datapack, ce qui permet d'en ajouter de nouveaux au lieu d'écraser ceux du jeu de base. Voici les deux fichiers nécessaires à chacun et la règle de dimensionnement que les tableaux doivent respecter.
L'ancienne méthode pour obtenir un tableau personnalisé consistait à écraser paintings_kristoffer_zetterstrand.png et à perdre un tableau vanilla. Les tableaux comme les disques de musique sont désormais des registres, on ajoute donc au lieu de remplacer.
Les tableaux nécessitent deux fichiers
Une entrée de datapack définissant le tableau :
data/<namespace>/painting_variant/my_art.json
{
"asset_id": "my_pack:my_art",
"width": 2,
"height": 2,
"title": { "text": "My Art" },
"author": { "text": "Me" }
}
Et un resource pack fournissant l'image :
assets/my_pack/textures/painting/my_art.png
width et height sont en blocs, et la texture doit respecter ce ratio. Le jeu de base dessine 16 pixels par bloc, donc un tableau 2×1 fait 32×16 — mais 64×32 fonctionne tout aussi bien. Un mauvais ratio étire l'image ; il n'y a aucun ajustement automatique.
Les tailles vanilla vont de 1×1 à 4×4. Plus grand fonctionne mais nécessite un mur adapté.
Le rendre obtenable
Ajouter la variante ne la met pas dans le jeu. Deux méthodes :
- Le tag de placement — ajoutez-le à
#minecraft:placeablepour qu'un objet tableau normal puisse aléatoirement devenir celui-ci. - Directement —
/give @p painting[entity_data={id:"minecraft:painting",variant:"my_pack:my_art"}]
La plupart des créateurs de maps veulent la seconde : un tableau précis, pas un aléatoire.
Les disques de musique en nécessitent trois
data/<namespace>/jukebox_song/my_song.json
{
"sound_event": { "sound_id": "my_pack:music/my_song" },
"description": { "text": "My Artist - My Song" },
"length_in_seconds": 154,
"comparator_output": 12
}
Plus sounds.json associant cet id de son à un fichier, plus le .ogg lui-même :
assets/my_pack/sounds.json
assets/my_pack/sounds/music/my_song.ogg
Trois détails comptent :
length_in_secondsdoit être correct. Il détermine quand le jukebox s'arrête — les particules, sa sortie redstone, et l'audio, qui est coupé à ce moment. Trop long signifie du silence à la fin ; trop court coupe la piste.comparator_outputva de 0 à 15 et c'est ce qu'un comparateur lit. Le jeu de base a 22 disques et seulement 15 valeurs, donc sept paires en partagent déjà une ; choisissez une valeur qu'aucun des disques que votre redstone doit distinguer n'utilise.- Diffusez l'ogg en streaming.
"stream": truedanssounds.jsonpour tout ce qui a la durée d'une musique.
Puis donnez-lui :
/give @p music_disc_13[jukebox_playable="my_pack:my_song"]
N'importe quel objet disque fait office de support — le composant décide ce qui est joué.
Pourquoi c'est mieux que d'écraser
Un pack qui remplace des ressources vanilla entre en conflit avec tous les autres packs qui font de même, et casse quand Mojang renomme un fichier. Les ajouts au registre sont namespacés, donc deux packs ajoutant des tableaux coexistent. C'est aussi la seule approche qui survit à un changement de version sans édition.
Créez des variantes de tableaux, des chansons de jukebox, des totems et des emojis de chat dans un seul resource pack zip prêt à l'emploi avec les Custom Content Pack Makers.