package common.sound;

import common.init.SoundEvent;

public abstract class Sound
{
    protected final SoundEvent event;
    protected EventType type = EventType.SOUND_EFFECT;
    protected float volume = 1.0F;
    protected float xPosF;
    protected float yPosF;
    protected float zPosF;
    protected boolean repeat = false;
    protected boolean attenuationType = true;

    protected Sound(SoundEvent event)
    {
        this.event = event;
    }

    public SoundEvent getSoundLocation()
    {
        return this.event;
    }

    public boolean canRepeat()
    {
        return this.repeat;
    }

    public float getVolume()
    {
        return this.volume;
    }

    public float getXPosF()
    {
        return this.xPosF;
    }

    public float getYPosF()
    {
        return this.yPosF;
    }

    public float getZPosF()
    {
        return this.zPosF;
    }

    public boolean getAttenuationType()
    {
        return this.attenuationType;
    }

    public EventType getChannelType()
    {
        return this.type;
    }
}
