Code/net/minecraft/world/entity/ai/behavior/SetWalkTargetFromLookTarget...

30 lines
1.4 KiB
Java
Raw Normal View History

2025-07-01 06:20:03 +00:00
package net.minecraft.world.entity.ai.behavior;
import java.util.function.Function;
import java.util.function.Predicate;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.ai.behavior.declarative.BehaviorBuilder;
import net.minecraft.world.entity.ai.behavior.declarative.MemoryAccessor;
import net.minecraft.world.entity.ai.memory.MemoryModuleType;
import net.minecraft.world.entity.ai.memory.WalkTarget;
public class SetWalkTargetFromLookTarget {
public static OneShot<LivingEntity> create(float p_259702_, int p_259510_) {
return create(p_182369_ -> true, p_182364_ -> p_259702_, p_259510_);
}
public static OneShot<LivingEntity> create(Predicate<LivingEntity> p_260341_, Function<LivingEntity, Float> p_260269_, int p_259192_) {
return BehaviorBuilder.create(
p_258748_ -> p_258748_.group(p_258748_.absent(MemoryModuleType.WALK_TARGET), p_258748_.present(MemoryModuleType.LOOK_TARGET))
.apply(p_258748_, (p_258743_, p_258744_) -> (p_258736_, p_258737_, p_258738_) -> {
if (!p_260341_.test(p_258737_)) {
return false;
} else {
p_258743_.set(new WalkTarget(p_258748_.get(p_258744_), p_260269_.apply(p_258737_), p_259192_));
return true;
}
})
);
}
}