Code/net/minecraft/world/entity/ai/goal/WaterAvoidingRandomStrollGo...

31 lines
1.1 KiB
Java
Raw Normal View History

2025-07-01 06:20:03 +00:00
package net.minecraft.world.entity.ai.goal;
import javax.annotation.Nullable;
import net.minecraft.world.entity.PathfinderMob;
import net.minecraft.world.entity.ai.util.LandRandomPos;
import net.minecraft.world.phys.Vec3;
public class WaterAvoidingRandomStrollGoal extends RandomStrollGoal {
public static final float PROBABILITY = 0.001F;
protected final float probability;
public WaterAvoidingRandomStrollGoal(PathfinderMob p_25987_, double p_25988_) {
this(p_25987_, p_25988_, 0.001F);
}
public WaterAvoidingRandomStrollGoal(PathfinderMob p_25990_, double p_25991_, float p_25992_) {
super(p_25990_, p_25991_);
this.probability = p_25992_;
}
@Nullable
@Override
protected Vec3 getPosition() {
if (this.mob.isInWater()) {
Vec3 vec3 = LandRandomPos.getPos(this.mob, 15, 7);
return vec3 == null ? super.getPosition() : vec3;
} else {
return this.mob.getRandom().nextFloat() >= this.probability ? LandRandomPos.getPos(this.mob, 10, 7) : super.getPosition();
}
}
}