Code/net/minecraft/world/entity/monster/warden/AngerLevel.java

51 lines
1.5 KiB
Java

package net.minecraft.world.entity.monster.warden;
import java.util.Arrays;
import net.minecraft.Util;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.sounds.SoundEvents;
public enum AngerLevel {
CALM(0, SoundEvents.WARDEN_AMBIENT, SoundEvents.WARDEN_LISTENING),
AGITATED(40, SoundEvents.WARDEN_AGITATED, SoundEvents.WARDEN_LISTENING_ANGRY),
ANGRY(80, SoundEvents.WARDEN_ANGRY, SoundEvents.WARDEN_LISTENING_ANGRY);
private static final AngerLevel[] SORTED_LEVELS = Util.make(
values(), p_219233_ -> Arrays.sort(p_219233_, (p_219230_, p_219231_) -> Integer.compare(p_219231_.minimumAnger, p_219230_.minimumAnger))
);
private final int minimumAnger;
private final SoundEvent ambientSound;
private final SoundEvent listeningSound;
private AngerLevel(final int p_219223_, final SoundEvent p_219224_, final SoundEvent p_219225_) {
this.minimumAnger = p_219223_;
this.ambientSound = p_219224_;
this.listeningSound = p_219225_;
}
public int getMinimumAnger() {
return this.minimumAnger;
}
public SoundEvent getAmbientSound() {
return this.ambientSound;
}
public SoundEvent getListeningSound() {
return this.listeningSound;
}
public static AngerLevel byAnger(int p_219228_) {
for (AngerLevel angerlevel : SORTED_LEVELS) {
if (p_219228_ >= angerlevel.minimumAnger) {
return angerlevel;
}
}
return CALM;
}
public boolean isAngry() {
return this == ANGRY;
}
}