Skip to content

Reproducir SoundEvents (Eventos de Sonido)

Minecraft tiene una gran selección de sonidos para elegir. Mira la clase de SoundEvents para ver todas las instancias de eventos de sonido vanilla que Mojang provee.

Usando Sonidos en Tu Mod

¡Asegúrate de ejecutar el método playSond() en el lado del servidor lógico cuando uses sonidos!

En este ejemplo, los métodos de useOnEntity() y useOnBlock() para un item interactivo personalizado son usados para reproducir sonidos de "colocar un bloque de cobre" y de saqueador.

java
@Override
public ActionResult useOnEntity(ItemStack stack, PlayerEntity user, LivingEntity entity, Hand hand) {
	// As stated above, don't use the playSound() method on the client side
	// ... it wont work!
	if (!entity.getWorld().isClient()) {
		// Play the sound as if it was coming from the entity.
		entity.playSound(SoundEvents.ENTITY_PILLAGER_AMBIENT, 2f, 0.7f);
	}

	return super.useOnEntity(stack, user, entity, hand);
}

El método playSound() es usado con el objeto de LivingEntity (Entidad Viviente). Solamente se tienen que especificar el SoundEvent, el volumen y el tono. También puedes usar el método de playSound() de la instancia del mundo para tener un mayor grado de control.

java
@Override
public ActionResult useOnBlock(ItemUsageContext context) {
	// Tip of the day: Check out "Guard Clauses" to keep your code clean.
	if (!context.getWorld().isClient()) {
		// Play the sound and specify location, category and who made the sound.
		// No entity made the sound, so we specify null.
		context.getWorld().playSound(null, context.getBlockPos(),
				SoundEvents.BLOCK_COPPER_PLACE, SoundCategory.PLAYERS,
				1f, 1f);
	}

	return super.useOnBlock(context);
}

SoundEvent y SoundCategory (Categoría de Sonido)

El SoundEvent define que sonido será reproducido. También puedes registrar tu propio SoundEvent para incluir tu propio sonido.

Minecraft tiene varios deslizadores de audio en las opciones del juego. El enum (enumeración) de SoundCategory es usado para determinar que deslizador ajustará el volumen de tu sonido.

Volumen y Tono

El parámetro de volumen puede ser algo engañoso. El volumen del sonido puede ser cambiado en el rango de 0.0f - 1.0f. Si el número es mayor que eso, el volumen de 1.0f será usado y solo la distancia la que tu sonido puede ser escuchado, será ajustada. La distancia en bloques puede ser calculada aproximadamente con volumen * 16.

El parámetro de tono aumenta o disminuye el valor de tono y también cambia la duración del sonido. En el rango (0.5f - 1.0f) el tono y la velocidad son disminuídas, mientras que valores números incrementarán el tono y la velocidad. Números por debajo de 0.5f se mantendrán en el valor de tono de 0.5f.