60 lines
1.6 KiB
Java
60 lines
1.6 KiB
Java
package org.bukkit.craftbukkit;
|
|
|
|
import java.util.HashMap;
|
|
import net.minecraft.world.level.block.SoundEffectType;
|
|
import org.bukkit.Sound;
|
|
import org.bukkit.SoundGroup;
|
|
|
|
public class CraftSoundGroup implements SoundGroup {
|
|
|
|
private final net.minecraft.world.level.block.SoundEffectType handle;
|
|
private static final HashMap<SoundEffectType, CraftSoundGroup> SOUND_GROUPS = new HashMap<>();
|
|
|
|
public static SoundGroup getSoundGroup(SoundEffectType soundEffectType) {
|
|
return SOUND_GROUPS.computeIfAbsent(soundEffectType, CraftSoundGroup::new);
|
|
}
|
|
|
|
private CraftSoundGroup(net.minecraft.world.level.block.SoundEffectType soundEffectType) {
|
|
this.handle = soundEffectType;
|
|
}
|
|
|
|
public net.minecraft.world.level.block.SoundEffectType getHandle() {
|
|
return handle;
|
|
}
|
|
|
|
@Override
|
|
public float getVolume() {
|
|
return getHandle().getVolume();
|
|
}
|
|
|
|
@Override
|
|
public float getPitch() {
|
|
return getHandle().getPitch();
|
|
}
|
|
|
|
@Override
|
|
public Sound getBreakSound() {
|
|
return CraftSound.minecraftToBukkit(getHandle().breakSound);
|
|
}
|
|
|
|
@Override
|
|
public Sound getStepSound() {
|
|
return CraftSound.minecraftToBukkit(getHandle().getStepSound());
|
|
}
|
|
|
|
@Override
|
|
public Sound getPlaceSound() {
|
|
return CraftSound.minecraftToBukkit(getHandle().getPlaceSound());
|
|
}
|
|
|
|
@Override
|
|
public Sound getHitSound() {
|
|
return CraftSound.minecraftToBukkit(getHandle().hitSound);
|
|
}
|
|
|
|
@Override
|
|
public Sound getFallSound() {
|
|
return CraftSound.minecraftToBukkit(getHandle().getFallSound());
|
|
}
|
|
}
|