▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Датапаки/A* Pathfinding
A* Pathfinding

A* Pathfinding

Датапак A* Pathfinding добавляет в Minecraft продвинутую систему поиска пути для любых сущностей. Мобы и NPC смогут обходить препятствия и находить оптимальный маршрут к цели.

Оцените первым
2.2K
16

A Pathfinding* - это датапак для Minecraft, который реализует алгоритм поиска пути A* (A-star) для любых сущностей. В ванильной игре мобы двигаются прямолинейно и часто застревают в блоках или падают с обрывов. Этот датапак решает проблему: теперь вы можете заставить любую сущность (моба, игрока или маркер) самостоятельно прокладывать маршрут к заданной точке, обходя стены, ямы и другие преграды.

Проект пригодится создателям приключенческих карт, кастомных мобов, систем навигации для NPC или просто тем, кто хочет сделать поведение существ более умным. Всё работает через функции и теги - никаких модов, только датапак.

Возможности

  • Построение пути от текущей позиции сущности до указанной цели.
  • Учёт проходимости блоков через теги.
  • Настройка максимальной длины пути, высоты шага и глубины падения.
  • Система штрафов за опасные или нежелательные блоки.
  • Возможность расширения через собственные функции оценки стоимости.

Использование

Вызовите функцию astar:_ от имени сущности, которая должна найти путь. Цель задаётся через контекст выполнения (например, позиция в @s). После вызова появятся маркеры с тегом astar, указывающие маршрут.

Пример:

execute as @s at @p[distance=1..] run function astar:_

Если цель плавает в воздухе или недостижима - путь не будет построен (функция вернёт неудачу).

Важно: рекомендуется установить высокое значение геймрула maxCommandChainLength, иначе при длинных маршрутах часть маркеров может пропасть. Либо ограничьте максимальную дистанцию пути до ~10 блоков.

Настройка

Конфигурация хранится в объективе astar.config.

  • maxDistance - максимальная дистанция поиска (по умолчанию 100 = 10 блоков).
  • maxStepHeight - максимальная высота шага вверх (по умолчанию 1).
  • maxFallDistance - максимальная высота падения за шаг (отрицательное значение, по умолчанию -3).

Пример:

scoreboard players set maxDistance astar.config 200
scoreboard players set maxStepHeight astar.config 2
scoreboard players set maxFallDistance astar.config -5

Чтобы сбросить настройки перед своей логикой, выполните:

function astar:default_config
scoreboard players reset * astar.config

Блочные теги

Датапак использует теги блоков для определения проходимости:

  • #astar:climbable - блоки, по которым можно карабкаться (например, лестницы).
  • #astar:obstructs_floor - блоки, по которым можно ходить, но нельзя спускаться (например, заборы).
  • #astar:impassable_floor - непроходимые блоки на уровне пола.
  • #astar:impassable_wall - непроходимые блоки на уровне стены.

Штрафы за блоки

Можно задать штрафы для блоков, чтобы алгоритм избегал опасных зон:

  • #astar:penalty/damage - 160 (например, лава).
  • #astar:penalty/danger - 80 (например, кактусы).
  • #astar:penalty/disliked - 80 (любые нежелательные блоки).

Штрафы увеличивают стоимость прохода через такие блоки, поэтому алгоритм будет искать альтернативные маршруты.

Расширение логики

Вы можете добавить свою функцию в тег #astar:eval_node, чтобы модифицировать стоимость узла. Для этого используйте:

  • kill @s - сделать узел непроходимым.
  • scoreboard players add/remove @s astar.f <число> - изменить стоимость.

Пример кода

# код: 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

# код: 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 # Идти напрямую к цели, если путь не найден

Скачайте датапак A* Pathfinding и добавьте интеллектуальную навигацию в свой мир Minecraft!

Партнёрский материал

Как запустить датапак A* Pathfinding на сервере?

Датапак A* Pathfinding удобнее всего раскрывается на общем сервере: установили один раз - и вся компания играет с новыми механиками. Создать сервер Майнкрафт с датапаком A* Pathfinding можно за пару минут вместе с BungeeHost.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

25w31a26.3.x26.2.x26.1.x1.21.x

Платформы

Поддерживаемые окружения

Клиент и сервер

Ссылки


Создатели

Детали

Лицензия:
Опубликован:1 год назад
Обновлён:1 неделю назад
Главная