Audio
Descripción general
Audio añade una pequeña mesa de mezclas sobre los sonidos de Minecraft. Cada sonido reproducido a través de la extensión pertenece a una de cinco capas: MASTER, MUSIC, AMBIENT, SFX y VOICE. Cada jugador tiene un volumen para cada capa (de 0.0 a 1.0), y la extensión multiplica el volumen de la capa por el volumen maestro al reproducir un sonido. Los volúmenes se guardan por jugador, así que un ajuste sobrevive a una reconexión.
Sobre la mezcla obtienes zonas de sonido ambiental vinculadas a regiones de Protection, secuencias de sonidos temporizadas, una pista de música dinámica que reacciona a un fact, un perfil de "voz de escritura" para diálogos y un menú dentro del juego donde los jugadores ajustan sus propios volúmenes.
La extensión funciona en la compilación BTC de TypeWriter (BTC Core, Paper/Folia) y se documenta aquí como referencia. Las entradas de menú están construidas sobre la extensión GUI.
Características
- Cinco capas de audio —
MASTER,MUSIC,AMBIENT,SFXyVOICE, cada una con su propio volumen por jugador. - Volúmenes guardados — un artefacto Player Audio Volume almacena los ajustes de cada jugador.
- Zonas de sonido ambiental — reproduce un sonido mientras el jugador está en una región de Protection, con una prioridad cuando las zonas se solapan.
- Secuencias de sonidos — lanza varios sonidos con retardos elegidos desde una sola acción.
- Música dinámica — inicia una pista base y activa o desactiva capas adicionales según el valor de un fact.
- Voces de diálogo — reproduce un sonido por cada carácter escrito, con sonidos distintos para vocales, signos de puntuación y espacios y una variación aleatoria del tono.
- Acción de volumen — establece el volumen de una capa para un jugador, al instante o con un cambio progresivo.
- Menú de ajustes — una GUI donde los jugadores suben, bajan o silencian cada capa, utilizable como menú propio o como botones dentro de cualquier página de GUI.
Instalación
- Instala la extensión GUI: la extensión Audio está compilada contra ella y usa su sistema de menús para la pantalla de ajustes.
- Si quieres zonas de sonido ambiental, instala la extensión Protection y crea regiones con ella.
- Coloca el JAR de Audio en
plugins/Typewriter/extensions/y reinicia el servidor. - Reproduce tus propios sonidos como de costumbre: los sonidos personalizados provienen de tu paquete de recursos, y la extensión solo los reproduce por su id de sonido.
Primeros pasos
Añade un ambiente de estilo en bucle a una región de bosque y da a los jugadores un menú de volumen:
- En el panel web de TypeWriter, crea una región con la extensión Protection y anota su ID de entrada.
- Abre una página static y añade una entrada Ambient Sound Zone.
- Establece
protectionRegionIdcon el ID de la entrada de región, elige elsoundy manténlayerenAMBIENT. - Añade un artefacto Player Audio Volume en una página de manifest, para que se guarden los volúmenes.
- Añade una acción Audio Settings Menu. Construye su layout en
layoutPool, establecemainLayoutIdy coloca items cuya etiqueta seaaudio_button:AUDIO_LAYER:MASTER,audio_button:AUDIO_LAYER:MUSICy así sucesivamente (el nombre de la capa se escribe en mayúsculas). - Añade una acción Open Audio Settings que apunte al menú en
menu, y actívala desde una opción de diálogo de NPC, un comando o un objeto. - Publica, camina hasta la región y luego abre el menú y prueba los volúmenes.
Los fundidos no son compatibles. Minecraft no puede cambiar el volumen de un sonido que ya se está reproduciendo, así que fadeIn y fadeOut no hacen nada: un sonido empieza a su volumen completo y se detiene de golpe. Los campos siguen en zonas, secuencias y perfiles de diálogo, pero su valor no cambia nada. Del mismo modo, looping no está implementado: el sonido se reproduce una vez y no se repite, así que usa un sonido lo bastante largo para la zona.
Cómo funciona
Las zonas ambientales, las secuencias de sonidos, los perfiles de diálogo y el Dynamic Music Track pasan todos por el mezclador, así que siguen el volumen del jugador para su capa. Un sonido empieza directamente con su volumen final: el volumen del sonido, por el volumen de la capa (con el volumen maestro), por un multiplicador propio de la entrada (zoneVolume de una zona ambiental, volumeOverride de un segmento de secuencia). Como Minecraft no puede cambiar el volumen de un sonido ya en reproducción, un volumen de capa modificado después solo se aplica a los sonidos iniciados tras el cambio.
Menús
El Audio Settings Menu es una entrada de GUI. Sus campos (inventoryTitle, inventoryRows, guiType, layoutPool, mainLayoutId, audio) funcionan como en la extensión GUI. Audio añade botones especiales: dale a un item del layout la etiqueta audio_button: seguida de un tipo de botón.
| Tipo de botón | Qué hace |
|---|---|
AUDIO_LAYER:<LAYER> | Muestra la capa (por ejemplo AUDIO_LAYER:MASTER) con su icono, porcentaje y una barra de diez pasos. El clic izquierdo suma un 10 por ciento, el clic derecho resta un 10 por ciento, Shift + clic izquierdo silencia o restaura la capa. |
AUDIO_CLOSE | Cierra el menú. |
La etiqueta se lee como audio_button:<TYPE>:<LAYER>. En la práctica, AUDIO_LAYER:<LAYER> es el botón que hay que usar. Los tipos AUDIO_VOLUME_UP, AUDIO_VOLUME_DOWN y AUDIO_LAYER_MUTE también se reconocen, pero solo actúan cuando la capa se indica del mismo modo (por ejemplo audio_button:AUDIO_VOLUME_UP:MUSIC), y entonces se muestran exactamente como AUDIO_LAYER:MUSIC: los tres clics están siempre disponibles.
Los botones se registran para todas las páginas de GUI, así que puedes colocarlos en un menú general de "Ajustes" y no solo en el Audio Settings Menu. Los items de capa generados usan nombres y lore en francés ("Volume general", "Musique", "Clic gauche"); estos textos están fijados en la extensión.
Los jugadores cambian los volúmenes mediante un comando interno llamado audio_button, registrado al iniciar. No está pensado para escribirse a mano y no tiene su propia comprobación de permisos.
Configuración
La extensión no tiene archivo de configuración. Los volúmenes se almacenan a través del artefacto Player Audio Volume (artifactId por defecto player_audio_volumes). Los cambios se escriben unos cinco segundos después del último cambio, y de nuevo cuando TypeWriter se descarga. Sin este artefacto en una página publicada, los volúmenes solo viven en memoria y se pierden cuando el jugador se va.
Entradas
8 entradas, generadas a partir del código fuente de la extensión.
Acciones5
- Audio Settings MenuAudio Settings Menu
- Dynamic Music TrackMusic track that reacts to game facts
- Open Audio SettingsOpen Audio Settings Menu
- Set Master VolumeSet the master or layer volume for a player
- Sound SequenceA sequence of sounds to play
Artefactos1
- Player Audio Volume ArtifactStores per-player audio layer volumes
Definiciones2
- Ambient Sound ZonePlay ambient sound in a region
- Dialogue Audio ProfileAudio profile for dialogue typing sounds
Solución de problemas
La zona ambiental no reproduce nada. La zona se compara con protectionRegionId, el ID de una región de la extensión Protection. worldGuardRegionId solo se lee cuando protectionRegionId está vacío, y requiere el plugin WorldGuard; una zona sin ninguno de los dos nunca coincide. Comprueba también que sound no está vacío y que el jugador cruza realmente un límite de bloque dentro de la región, porque las zonas se comprueban cuando el jugador se mueve a otro bloque.
La voz del diálogo nunca se reproduce. El listener solo se inicia cuando el sound del hablante apunta a una entrada cuyo ID es el del perfil y esa entrada se encuentra también como entrada de ID de sonido. La entrada Dialogue Audio Profile es una entrada static normal, así que pruébala con un diálogo corto antes de depender de ella. Un diálogo con texto vacío o duración cero se omite.
Los cambios de volumen se pierden tras una reconexión. Añade un artefacto Player Audio Volume a una página publicada. Sin él no se guarda nada.
Un botón del menú no hace nada y muestra el item normal. La etiqueta debe empezar por audio_button: y terminar con el nombre de una capa escrito en mayúsculas, por ejemplo audio_button:AUDIO_LAYER:SFX. Sin una capa válida, el item se deja tal como lo configuraste.
El menú de ajustes no se abre. El menú está construido sobre la extensión GUI. Asegúrate de que está instalada y de que la acción Open Audio Settings tiene establecido su campo menu.
Extensiones relacionadas
- GUI — layouts e items de menú que usa el menú de ajustes.
- Protection — regiones que controlan las zonas de sonido ambiental.