Skip to content

SoundEvents abspielen

Minecraft hat eine große Auswahl an Sounds, aus denen du wählen kannst. Schau dir die Klasse SoundEvents an, um alle von Mojang bereitgestellten Vanilla-Sound-Event-Instanzen zu sehen.

Sounds in deinem Mod verwenden

Stelle sicher, dass du die Methode playSound() auf der logischen Serverseite ausführst, wenn du Sounds verwendest!

In diesem Beispiel wird die Methode useOnEntity() und useOnBlock() für ein benutzerdefiniertes interaktives Element verwendet, um einen "platzierenden Kupferblock" und einen Plünderer-Sound abzuspielen.

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);
}

Die Methode playSound() wird mit dem Objekt LivingEntity verwendet. Nur das SoundEvent, die Lautstärke und die Tonhöhe müssen angegeben werden. Du kannst auch die Methode playSound() aus der Weltinstanz verwenden, um ein höheres Maß an Kontrolle zu haben.

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 und SoundCategory

Das SoundEvent legt fest, welcher Sound abgespielt wird. Du kannst auch deine eigenen SoundEvents registrieren, um deinen eigenen Sound einzubinden.

Minecraft hat mehrere Audio-Schieberegler in den Spieleinstellungen. Das Enum SoundCategory wird verwendet, um zu bestimmen, mit welchem Schieberegler die Lautstärke des Sounds eingestellt wird.

Lautstärke und Tonhöhe

Der Lautstärke-Parameter kann ein wenig irreführend sein. Im Bereich von 0.0f - 1.0f kann die aktuelle Lautstärke des Tons verändert werden. Wenn die Zahl größer ist, wird die Lautstärke von 1.0f verwendet und nur die Entfernung, in der der Ton zu hören ist, wird angepasst. Die Blockdistanz kann grob durch Volumen * 16 berechnet werden.

Der Pitch-Parameter erhöht oder verringert den Wert der Tonhöhe und ändert auch die Dauer des Sounds. Im Bereich von (0.5f - 1.0f) wird die Tonhöhe und die Geschwindigkeit verringert, während größere Zahlen die Tonhöhe und die Geschwindigkeit erhöhen. Zahlen unter 0.5f bleiben auf dem Wert der Tonhöhe von 0.5f.