Skip to content

Riprodurre i SoundEvents

Minecraft ha una grande selezione di suoni da cui puoi scegliere. Controlla la classe SoundEvents per vedere tutte le istanze di eventi sonori vanilla che Mojang ha predisposto.

Utilizzare Suoni Nella Tua Mod

Assicurati di eseguire il metodo playSound() sul lato del server logico quando utilizzi i suoni!

In questo esempio, i metodi useOnEntity() e useOnBlock() per un oggetto interattivo personalizzato sono utilizzati per riprodurre un suono "piazzando blocco di rame" e un suono "predone".

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

Il metodo playSound() è utilizzato con l'oggetto LivingEntity. Solo il SoundEvent, il volume e il tono devono essere specificati. Puoi anche utilizzare il metodo playSound() dall'istanza del mondo per avere un livello di controllo più alto.

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

Il SoundEvent definisce quale suono verrà riprodotto. Puoi anche registrare il tuo SoundEvents per includere il tuo suono.

Minecraft ha vari slider audio nelle impostazioni del gioco. L'enum SoundCategory è utilizzato per determinare quale slider controllerà il volume del tuo suono.

Volume e Tono

Il parametro volume può causare un po' di confusione. Nell'intervallo 0.0f - 1.0f il volume reale del suono può essere cambiato. Se il numero diventa più grande di ciò, il volume di 1.0f verrà utilizzato e soltanto la distanza, nella quale il tuo suono può essere udito, viene cambiata. La distanza in blocchi può essere approssimativamente calcolata come volume * 16.

Il parametro pitch alza o abbassa il valore del tono e cambia anche la durata del suono. Nell'intervallo (0.5f - 1.0f) il tono e la velocità si abbassano, mentre valori maggiori alzano il tono e la velocità. Numeri al di sotto di 0.5f rimarranno al valore di tono 0.5f.