Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static boolean NavigateEntityTo(EntityLivingAI entity, BlockPos pos)
- {
- PathNavigate nav = entity.getNavigator();
- pos = entity.getEntityWorld().getTopSolidOrLiquidBlock(pos);
- boolean flag = nav.tryMoveToXYZ(pos.getX(), pos.getY(), pos.getZ(), entity.getMovementSpeed());
- if (!flag)
- {
- Vec3d entityVec = new Vec3d(entity.posX, entity.posY, entity.posZ);
- Vec3d destVec = new Vec3d(pos.getX(), pos.getY(), pos.getZ());
- Vec3d entityMovementDirection = new Vec3d(0, 0, 0);
- entityMovementDirection = entityVec.add(destVec);
- entityMovementDirection = entityMovementDirection.normalize();
- entityMovementDirection = entityMovementDirection.scale(10);
- BlockPos newPos = entity.getEntityWorld().getTopSolidOrLiquidBlock(new BlockPos(entityMovementDirection.add(entity.getPositionVector())));
- LookAt(entity, newPos);
- System.out.println("Entity Pos " + entity.getPosition());
- System.out.println("New Pos " + newPos);
- return nav.tryMoveToXYZ(newPos.getX(), newPos.getY(), newPos.getZ(), entity.getMovementSpeed());
- }
- else
- {
- LookAt(entity, pos);
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement