51 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			1.4 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(), angerLevels -> Arrays.sort(angerLevels, (angerLevel, angerLevel2) -> Integer.compare(angerLevel2.minimumAnger, angerLevel.minimumAnger))
 | |
| 	);
 | |
| 	private final int minimumAnger;
 | |
| 	private final SoundEvent ambientSound;
 | |
| 	private final SoundEvent listeningSound;
 | |
| 
 | |
| 	private AngerLevel(final int minimumAnger, final SoundEvent ambientSound, final SoundEvent listeningSound) {
 | |
| 		this.minimumAnger = minimumAnger;
 | |
| 		this.ambientSound = ambientSound;
 | |
| 		this.listeningSound = listeningSound;
 | |
| 	}
 | |
| 
 | |
| 	public int getMinimumAnger() {
 | |
| 		return this.minimumAnger;
 | |
| 	}
 | |
| 
 | |
| 	public SoundEvent getAmbientSound() {
 | |
| 		return this.ambientSound;
 | |
| 	}
 | |
| 
 | |
| 	public SoundEvent getListeningSound() {
 | |
| 		return this.listeningSound;
 | |
| 	}
 | |
| 
 | |
| 	public static AngerLevel byAnger(int anger) {
 | |
| 		for (AngerLevel angerLevel : SORTED_LEVELS) {
 | |
| 			if (anger >= angerLevel.minimumAnger) {
 | |
| 				return angerLevel;
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		return CALM;
 | |
| 	}
 | |
| 
 | |
| 	public boolean isAngry() {
 | |
| 		return this == ANGRY;
 | |
| 	}
 | |
| }
 |