- Регистрация
- 24 Июн 2023
- Сообщения
- 517
- Реакции
- 63
- Баллы
- 28
ChangeLog:



Добавлен модуль AutoTunnel (Misc).
1) При включении фиксирует направление взгляда (N/S/W/E) и стартовую позицию игрока как origin — от неё отсчитываются все колонки блоков.
2) Каждый тик берёт текущую колонку блоков впереди, фильтрует воздух и неломаемые блоки, сортирует сверху вниз (сначала потолок, потом пол).
3) На первый блок колонки поворачивает голову игрока через setYRot/setXRot — лицом к центру блока.
4) Выбирает инструмент из хотбара: если блок копается лопатой (грязь, гравий, песок) — берёт лучшую лопату, иначе — лучшую кирку. При выключении возвращает исходный слот.
5) startDestroyBlock вызывается один раз при смене цели, затем каждый тик только continueDestroyBlock — прогресс ломания не сбрасывается.
6) После каждого тика проверяет MC.level.getBlockState(target).isAir() — если блок реально сломан, вызывает stopDestroyBlock и переходит к следующему блоку колонки.
7) Когда вся колонка подтверждена пустой — начинает фазу движения вперёд: толкает игрока в направлении туннеля и ждёт пока blockPosition() достигнет следующей клетки, только потом копает дальше.
8) Рендер (Preview) показывает только реально не-воздушные блоки из запланированных колонок. Текущий ломаемый блок подсвечивается оранжевым, остальные — синим.
9) Режимы туннеля: 0 = 1×2 (коридор), 1 = 2×2, 2 = 3×3, 3 = Stair (1×2 с уходом вниз).



Добавлен модуль AutoTunnel (Misc).
1) При включении фиксирует направление взгляда (N/S/W/E) и стартовую позицию игрока как origin — от неё отсчитываются все колонки блоков.
2) Каждый тик берёт текущую колонку блоков впереди, фильтрует воздух и неломаемые блоки, сортирует сверху вниз (сначала потолок, потом пол).
3) На первый блок колонки поворачивает голову игрока через setYRot/setXRot — лицом к центру блока.
4) Выбирает инструмент из хотбара: если блок копается лопатой (грязь, гравий, песок) — берёт лучшую лопату, иначе — лучшую кирку. При выключении возвращает исходный слот.
5) startDestroyBlock вызывается один раз при смене цели, затем каждый тик только continueDestroyBlock — прогресс ломания не сбрасывается.
6) После каждого тика проверяет MC.level.getBlockState(target).isAir() — если блок реально сломан, вызывает stopDestroyBlock и переходит к следующему блоку колонки.
7) Когда вся колонка подтверждена пустой — начинает фазу движения вперёд: толкает игрока в направлении туннеля и ждёт пока blockPosition() достигнет следующей клетки, только потом копает дальше.
8) Рендер (Preview) показывает только реально не-воздушные блоки из запланированных колонок. Текущий ломаемый блок подсвечивается оранжевым, остальные — синим.
9) Режимы туннеля: 0 = 1×2 (коридор), 1 = 2×2, 2 = 3×3, 3 = Stair (1×2 с уходом вниз).
Последнее редактирование: