Aller au contenu principal

Audio

Couches audio par joueur, zones d'ambiance, séquences sonores, voix de dialogue et menu de volume.

Privéesv0.1.0Utilitaires
NécessiteTypeWriter0.9GUIProtectionfacultatif

Conçue pour le réseau BornToCraft. Cette extension est documentée à titre de référence et n'est pas distribuée.

Vue d'ensemble​

Audio ajoute une petite table de mixage par-dessus les sons de Minecraft. Chaque son joué via l'extension appartient à l'un des cinq calques : MASTER, MUSIC, AMBIENT, SFX et VOICE. Chaque joueur a un volume pour chaque calque (de 0.0 à 1.0), et l'extension multiplie le volume du calque par le volume principal lorsqu'elle joue un son. Les volumes sont enregistrés par joueur : un réglage survit donc à une reconnexion.

En plus de la table de mixage, vous obtenez des zones sonores d'ambiance liées aux régions Protection, des séquences de sons minutées, une piste musicale dynamique qui réagit à un fact, un profil de « voix de saisie » pour les dialogues, et un menu en jeu où les joueurs règlent leurs propres volumes.

L'extension fonctionne sur la version BTC de TypeWriter (BTC Core, Paper/Folia) et est documentée ici à titre de référence. Les entrées de menu sont construites sur l'extension GUI.

Fonctionnalités​

  • Cinq calques audio — MASTER, MUSIC, AMBIENT, SFX et VOICE, chacun avec son propre volume par joueur.
  • Volumes enregistrés — un artefact Player Audio Volume stocke les réglages de chaque joueur.
  • Zones sonores d'ambiance — jouez un son tant que le joueur se trouve dans une région Protection, avec une priorité lorsque des zones se chevauchent.
  • Séquences de sons — déclenchez plusieurs sons à des délais choisis depuis une seule action.
  • Musique dynamique — démarrez une piste de base et activez ou désactivez des calques supplémentaires selon la valeur d'un fact.
  • Voix de dialogue — jouez un son par caractère saisi, avec des sons distincts pour les voyelles, la ponctuation et les espaces, et une variation de hauteur aléatoire.
  • Action de volume — définissez le volume d'un calque pour un joueur, instantanément ou avec un changement progressif.
  • Menu de réglages — une GUI où les joueurs augmentent, baissent ou coupent chaque calque, utilisable comme menu à part entière ou comme boutons dans n'importe quelle page GUI.

Installation​

  1. Installez l'extension GUI : l'extension Audio est construite pour elle et utilise son système de menus pour l'écran de réglages.
  2. Si vous voulez des zones sonores d'ambiance, installez l'extension Protection et créez des régions avec elle.
  3. Placez le JAR d'Audio dans plugins/Typewriter/extensions/ et redémarrez le serveur.
  4. Jouez vos propres sons comme d'habitude : les sons personnalisés proviennent de votre resource pack, et l'extension ne fait que les jouer par leur identifiant de son.

Premiers pas​

Ajoutez une ambiance en boucle à une région de forêt et donnez aux joueurs un menu de volume :

  1. Dans le panel web TypeWriter, créez une région avec l'extension Protection et notez l'identifiant de son entrée.
  2. Ouvrez une page static et ajoutez une entrée Ambient Sound Zone.
  3. Définissez protectionRegionId sur l'identifiant de l'entrée de la région, choisissez le sound et gardez layer sur AMBIENT.
  4. Ajoutez un artefact Player Audio Volume sur une page manifest, afin que les volumes soient enregistrés.
  5. Ajoutez une action Audio Settings Menu. Construisez sa disposition dans layoutPool, définissez mainLayoutId, et placez des objets dont la balise est audio_button:AUDIO_LAYER:MASTER, audio_button:AUDIO_LAYER:MUSIC, etc. (le nom du calque s'écrit en majuscules).
  6. Ajoutez une action Open Audio Settings pointant vers le menu dans menu, et déclenchez-la depuis une option de dialogue de PNJ, une commande ou un objet.
  7. Publiez, entrez dans la région, puis ouvrez le menu et testez les volumes.
Ni fondus, ni boucle

Les fondus ne sont pas pris en charge. Minecraft ne peut pas changer le volume d'un son déjà lancé : fadeIn et fadeOut ne font donc rien, un son démarre à son plein volume et s'arrête net. Les champs restent sur les zones, séquences et profils de dialogue, mais leur valeur ne change rien. De même, looping n'est pas implémenté : le son est joué une fois et n'est pas répété, utilisez donc un son suffisamment long pour la zone.

Fonctionnement​

Les zones d'ambiance, les séquences de sons, les profils de dialogue et la Dynamic Music Track passent tous par la table de mixage : ils suivent donc le volume du joueur pour leur calque. Un son démarre directement à son volume final : le volume du son, multiplié par le volume du calque (avec le volume général), multiplié par un coefficient propre à l'entrée (zoneVolume d'une zone d'ambiance, volumeOverride d'un segment de séquence). Comme Minecraft ne peut pas changer le volume d'un son déjà lancé, un volume de calque modifié ensuite ne s'applique qu'aux sons démarrés après le changement.

L'Audio Settings Menu est une entrée GUI. Ses champs (inventoryTitle, inventoryRows, guiType, layoutPool, mainLayoutId, audio) fonctionnent comme dans l'extension GUI. Audio ajoute des boutons spéciaux : donnez à un objet de disposition la balise audio_button: suivie d'un type de bouton.

Type de boutonCe qu'il fait
AUDIO_LAYER:<LAYER>Affiche le calque (par exemple AUDIO_LAYER:MASTER) avec son icône, son pourcentage et une barre à dix niveaux. Un clic gauche ajoute 10 pour cent, un clic droit retire 10 pour cent, Maj + clic gauche coupe ou restaure le calque.
AUDIO_CLOSEFerme le menu.

La balise est lue sous la forme audio_button:<TYPE>:<LAYER>. En pratique, AUDIO_LAYER:<LAYER> est le bouton à utiliser. Les types AUDIO_VOLUME_UP, AUDIO_VOLUME_DOWN et AUDIO_LAYER_MUTE sont aussi reconnus, mais ils n'agissent que si le calque est indiqué de la même manière (par exemple audio_button:AUDIO_VOLUME_UP:MUSIC), et ils s'affichent alors exactement comme AUDIO_LAYER:MUSIC : les trois clics sont toujours disponibles.

Les boutons sont enregistrés pour toutes les pages GUI : vous pouvez donc les placer dans un menu « Réglages » général et pas seulement dans l'Audio Settings Menu. Les objets de calque générés utilisent des noms et un lore en français (« Volume general », « Musique », « Clic gauche ») ; ces textes sont figés dans l'extension.

Les joueurs modifient les volumes via une commande interne nommée audio_button, enregistrée au démarrage. Elle n'est pas destinée à être saisie à la main, et elle n'a pas de vérification de permission propre.

Configuration​

L'extension n'a pas de fichier de configuration. Les volumes sont stockés via l'artefact Player Audio Volume (artifactId vaut player_audio_volumes par défaut). Les modifications sont écrites environ cinq secondes après la dernière, et de nouveau lorsque TypeWriter se décharge. Sans cet artefact dans une page publiée, les volumes ne vivent qu'en mémoire et sont perdus lorsque le joueur part.

Entrées​

8 entrées, générées depuis la source de l'extension.

Actions5
Artefacts1
Définitions2

Dépannage​

La zone d'ambiance ne joue rien. La zone est comparée à protectionRegionId, l'identifiant d'une région de l'extension Protection. worldGuardRegionId n'est lu que lorsque protectionRegionId est vide, et nécessite le plugin WorldGuard ; une zone sans aucun des deux ne correspond jamais. Vérifiez aussi que sound n'est pas vide et que le joueur franchit réellement une limite de bloc dans la région, car les zones sont vérifiées lorsque le joueur passe à un autre bloc.

La voix de dialogue ne se joue jamais. L'écouteur ne démarre que lorsque le sound de l'interlocuteur pointe vers une entrée dont l'identifiant est celui du profil et que cette entrée est aussi trouvée comme entrée d'identifiant de son. L'entrée Dialogue Audio Profile est une simple entrée statique : testez-la donc avec un court dialogue avant de vous y fier. Un dialogue avec un texte vide ou une durée nulle est ignoré.

Les changements de volume sont perdus après une reconnexion. Ajoutez un artefact Player Audio Volume à une page publiée. Sans lui, rien n'est enregistré.

Un bouton de menu ne fait rien et affiche l'objet ordinaire. La balise doit commencer par audio_button: et se terminer par un nom de calque en majuscules, par exemple audio_button:AUDIO_LAYER:SFX. Sans calque valide, l'objet reste tel que vous l'avez configuré.

Le menu de réglages ne s'ouvre pas. Le menu est construit sur l'extension GUI. Assurez-vous qu'elle est installée et que l'action Open Audio Settings a son champ menu renseigné.

Extensions associées​

  • GUI — dispositions et objets de menu utilisés par le menu de réglages.
  • Protection — régions qui pilotent les zones sonores d'ambiance.