Code Patterns

Copy-paste examples for common plugin tasks. Commands, events, ECS, GUI, and more.

← Back to Patterns
ui

Play Sound

Play sounds to players using SoundUtil.

Example Code

java
Player player = store.getComponent(ref, Player.getComponentType());
World world = player.getWorld();
EntityStore entityStore = world.getEntityStore();
Ref<EntityStore> playerRef = player.getReference();

// Get sound index
int soundIndex = SoundEvent.getAssetMap().getIndex("SFX_Cactus_Large_Hit");

world.execute(() -> {
    // Get player position
    TransformComponent transform = entityStore.getStore().getComponent(
        playerRef,
        EntityModule.get().getTransformComponentType()
    );

    // Play sound at player position
    SoundUtil.playSoundEvent3dToPlayer(
        playerRef,
        soundIndex,
        SoundCategory.UI,  // or SFX, Music, Ambient
        transform.getPosition(),
        entityStore.getStore()
    );
});

Thread Safety

Must run inside world.execute() block.

Common Mistakes

Playing sound outside world.execute(). Using wrong sound name.