Spaces:
Build error
Build error
File size: 3,217 Bytes
d46f4a3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
package net.minecraft.client.resources.sounds;
import net.minecraft.client.sounds.SoundManager;
import net.minecraft.client.sounds.WeighedSoundEvents;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.sounds.SoundSource;
import net.minecraft.util.RandomSource;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT)
public abstract class AbstractSoundInstance implements SoundInstance {
protected Sound sound;
protected final SoundSource source;
protected final ResourceLocation location;
protected float volume = 1.0F;
protected float pitch = 1.0F;
protected double x;
protected double y;
protected double z;
protected boolean looping;
protected int delay;
protected SoundInstance.Attenuation attenuation = SoundInstance.Attenuation.LINEAR;
protected boolean relative;
protected RandomSource random;
protected AbstractSoundInstance(SoundEvent p_235072_, SoundSource p_235073_, RandomSource p_235074_) {
this(p_235072_.location(), p_235073_, p_235074_);
}
protected AbstractSoundInstance(ResourceLocation p_235068_, SoundSource p_235069_, RandomSource p_235070_) {
this.location = p_235068_;
this.source = p_235069_;
this.random = p_235070_;
}
@Override
public ResourceLocation getLocation() {
return this.location;
}
@Override
public WeighedSoundEvents resolve(SoundManager p_119591_) {
if (this.location.equals(SoundManager.INTENTIONALLY_EMPTY_SOUND_LOCATION)) {
this.sound = SoundManager.INTENTIONALLY_EMPTY_SOUND;
return SoundManager.INTENTIONALLY_EMPTY_SOUND_EVENT;
} else {
WeighedSoundEvents weighedsoundevents = p_119591_.getSoundEvent(this.location);
if (weighedsoundevents == null) {
this.sound = SoundManager.EMPTY_SOUND;
} else {
this.sound = weighedsoundevents.getSound(this.random);
}
return weighedsoundevents;
}
}
@Override
public Sound getSound() {
return this.sound;
}
@Override
public SoundSource getSource() {
return this.source;
}
@Override
public boolean isLooping() {
return this.looping;
}
@Override
public int getDelay() {
return this.delay;
}
@Override
public float getVolume() {
return this.volume * this.sound.getVolume().sample(this.random);
}
@Override
public float getPitch() {
return this.pitch * this.sound.getPitch().sample(this.random);
}
@Override
public double getX() {
return this.x;
}
@Override
public double getY() {
return this.y;
}
@Override
public double getZ() {
return this.z;
}
@Override
public SoundInstance.Attenuation getAttenuation() {
return this.attenuation;
}
@Override
public boolean isRelative() {
return this.relative;
}
@Override
public String toString() {
return "SoundInstance[" + this.location + "]";
}
} |