MC Toolkit

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:placeable pour 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_seconds doit ê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_output va 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": true dans sounds.json pour 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.

Créateurs de contenu personnalisé →

Plus de guides

Tout voir →