Перейти к содержимому
Mineforgian

A* Pathfinding

Minecraft Pathfinder for Entities

Загрузки
2K
Подписчики
13
Обновлён
16 апреля 2026 г.
Лицензия
GPL-3.0-only

Опубликован 10 сентября 2025 г.

Please also contribute to this project. I don't have infinite time on my hands 🥺

✅ Features

  • Function to find the path to a destination

📖 Usage

Call the astar:_ function and use the remaining markers tagged astar to guide anything
The starting position of the path will be located at the current entity, with the end position being the current position in the context
E.g. execute as @s at @p[distance=1..] run function astar:_
Note that floating destinations & unreached targets will result in failure

I recommend setting the maxCommandChainLength gamerule high enough for your terrain, or restrict the path to a maximum of ~10 blocks — otherwise, temporary markers may stay once the limit is reached

Config

The configuration is stored in the astar.config scoreboard objective.
scoreboard players set maxDistance astar.config <maxDistance>default: 100 (10 blocks) — max distance the pathfinder may travel till finalizing the path.
scoreboard players set maxStepHeight astar.config <maxStepHeight>default: 1 — how many blocks it may walk up at once.
scoreboard players set maxFallDistance astar.config -<maxFallDistance>default: -3negative value, how many blocks it may fall each step.
To avoid conflicts with others' usage, run function astar:default_config or scoreboard players reset * astar.config before your logic

Block Tags

#astar:climbable — climbable
#astar:obstructs_floor — traversable, no descent
#astar:impassable_floor — impassable floor
#astar:impassable_wall — impassable wall

Penalty Block Tags

#astar:penalty/damage 160 — nearby
#astar:penalty/danger 80 — nearby
#astar:penalty/disliked 80

You may add a function to the #astar:eval_node tag to modify costs — return <any> results in only impassable being effective
— impassable via kill @s — add/remove cost via scoreboard players add/remove @s astar.f <amount>

Penalties increase the cost of a path segment, so the algorithm prefers other routes.

Example code

#code:loop.mcfunction:

data modify storage code:pathfinding points append from entity @s Pos
kill @s
execute as @n[type=marker,tag=astar] at @s run function code:loop


#code:main.mcfunction:

execute store success score found my_score at @n[tag=target] if function astar:_ as @n[type=marker,tag=astar,sort=furthest] at @s run function code:loop
execute unless score found my_score matches 1 run function code:set_direct_target # Walk directly towards target if no path is found

Центр версий

28 версий
  • Бета72 КБ
  • Бета34 КБ
  • Бета70 КБ
  • Бета32 КБ
  • Бета70 КБ
  • Бета33 КБ
  • Альфа70 КБ
  • Альфа33 КБ
  • Альфа71 КБ
  • Альфа33 КБ
  • Альфа70 КБ
  • Альфа33 КБ
  • Альфа68 КБ
  • Альфа32 КБ
  • Альфа69 КБ
  • Альфа32 КБ
  • Альфа68 КБ
  • Альфа32 КБ
  • Альфа68 КБ
  • Альфа32 КБ

Ченджлог

0.7.1+modБета26.2, 26.3-snapshot-1, 26.3-snapshot-2 · 16 апреля 2026 г.
0.7.1Бета26.2, 26.3-snapshot-1, 26.3-snapshot-2 · 16 апреля 2026 г.
0.6.4+modБета26.1.1, 26.1.2, 26.2-snapshot-2 · 16 декабря 2025 г.
  • Fixed not being recognized in 26.1-snapshot-1 and later
0.6.4Бета26.1.1, 26.1.2, 26.2-snapshot-2 · 16 декабря 2025 г.
  • Fixed not being recognized in 26.1-snapshot-1 and later
0.6.3+modБета1.21.9, 1.21.10, 1.21.11 · 29 сентября 2025 г.
  • Fixed Penalty Values
  • Fixed Pathfinder searching forever when starting in/on ladder
https://github.com/CJDevZ/A-Star-Pathfinding/commit/906887fb82de7cef7779892a3e3b6dfece8d75fe
0.6.3Бета1.21.9, 1.21.10, 1.21.11 · 29 сентября 2025 г.
  • Fixed Penalty Values
  • Fixed Pathfinder searching forever when starting in/on ladder
https://github.com/CJDevZ/A-Star-Pathfinding/commit/906887fb82de7cef7779892a3e3b6dfece8d75fe
0.6.2+modАльфа1.21.9-pre3, 1.21.9-pre4, 1.21.9-rc1 · 26 сентября 2025 г.
  • Added checks to with 100% make multiple paths possible with no issues
  • Removed unnecessary calculations
  • Changed the #astar:eval_node function tag to check if it returns true due to being nicer to work with
  • The config now only sets default values where there isn't anything set
https://github.com/CJDevZ/A-Star-Pathfinding/commit/da59fef4fc50c0837406a63561c8f5269f38feb2
0.6.2Альфа1.21.9-pre3, 1.21.9-pre4, 1.21.9-rc1 · 26 сентября 2025 г.
  • Added checks to with 100% make multiple paths possible with no issues
  • Removed unnecessary calculations
  • Changed the #astar:eval_node function tag to check if it returns true due to being nicer to work with
  • The config now only sets default values where there isn't anything set
https://github.com/CJDevZ/A-Star-Pathfinding/commit/da59fef4fc50c0837406a63561c8f5269f38feb2

Комментарии

Загружаем…