fix: tried to fix semi-blocks walking. Working but bad
This commit is contained in:
parent
b1a39ee646
commit
7c9495429f
@ -130,7 +130,13 @@ public class AI {
|
|||||||
if (nextTarget == null) nextTarget = destinationData.position();
|
if (nextTarget == null) nextTarget = destinationData.position();
|
||||||
|
|
||||||
boolean nextIsRePath = nextTarget.sameBlock(Pos.ZERO);
|
boolean nextIsRePath = nextTarget.sameBlock(Pos.ZERO);
|
||||||
|
var prevPos = entity.getPosition();
|
||||||
nodeFollower.moveTowards(currentTarget, nodeFollower.movementSpeed(), nextIsRePath ? currentTarget : nextTarget);
|
nodeFollower.moveTowards(currentTarget, nodeFollower.movementSpeed(), nextIsRePath ? currentTarget : nextTarget);
|
||||||
|
var delta = entity.getPosition().sub(prevPos);
|
||||||
|
if (delta.isZero()) {
|
||||||
|
nodeFollower.jump(currentTarget, nextTarget);
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: исправить баг, в данном месте, когда Entity не движется вообще. Сделать хорошую проверку на застревание
|
// TODO: исправить баг, в данном месте, когда Entity не движется вообще. Сделать хорошую проверку на застревание
|
||||||
// TODO: присутствует баг, что если как-то помешать Entity следовать до точки, например поставить перед ним блок, то он перестанет идти
|
// TODO: присутствует баг, что если как-то помешать Entity следовать до точки, например поставить перед ним блок, то он перестанет идти
|
||||||
// TODO: хождение по неполноценным блокам - огромная проблема. Entity попросту застревает в них
|
// TODO: хождение по неполноценным блокам - огромная проблема. Entity попросту застревает в них
|
||||||
|
|||||||
@ -52,7 +52,8 @@ public class GroundNodeFollower implements NodeFollower {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAtPoint(Point point) {
|
public boolean isAtPoint(Point point) {
|
||||||
return entity.getPosition().distanceSquared(point) < 0.5 * 0.5;
|
var d = entity.getPosition().sub(point);
|
||||||
|
return d.x() * d.x() + d.z() * d.z() < 0.5 * 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void jump(float height) {
|
public void jump(float height) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user