package net.minecraft.world.entity.ai.behavior.warden; import com.google.common.collect.ImmutableMap; import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvents; import net.minecraft.world.entity.Pose; import net.minecraft.world.entity.ai.behavior.Behavior; import net.minecraft.world.entity.ai.memory.MemoryModuleType; import net.minecraft.world.entity.ai.memory.MemoryStatus; import net.minecraft.world.entity.monster.warden.Warden; public class Emerging extends Behavior { public Emerging(final int ticks) { super( ImmutableMap.of( MemoryModuleType.IS_EMERGING, MemoryStatus.VALUE_PRESENT, MemoryModuleType.WALK_TARGET, MemoryStatus.VALUE_ABSENT, MemoryModuleType.LOOK_TARGET, MemoryStatus.REGISTERED ), ticks ); } protected boolean canStillUse(final ServerLevel level, final E body, final long timestamp) { return true; } protected void start(final ServerLevel level, final E body, final long timestamp) { body.setPose(Pose.EMERGING); body.playSound(SoundEvents.WARDEN_EMERGE, 5.0F, 1.0F); } protected void stop(final ServerLevel level, final E body, final long timestamp) { if (body.hasPose(Pose.EMERGING)) { body.setPose(Pose.STANDING); } } }