• 9/20/26 7:22 am
- 22 views
- save_alt 8 downloads
- Compatibility
- Minecraft 26.3 snapshot
- Changes include
- Functions
0
Датапак для **Minecraft: Java Edition 26.3**.
Сломайте топором **любое** бревно дерева — верхнее, нижнее, боковую ветку, без
разницы — и всё дерево рухнет целиком: ствол, ветви и вся листва, принадлежащая
именно этому дереву. На месте, где стояло основание ствола, появляется саженец
той же породы. Прочность топора списывается сразу за всё дерево, как если бы вы
рубили его блок за блоком вручную.
---
## Установка
1. Положите файл `TreeChopper-26.3.zip` **как есть** в папку
`saves/<ваш_мир>/datapacks/`. На сервере — в `world/datapacks/`.
Распаковывать не нужно: Minecraft читает датапаки прямо из архива.
2. Зайдите в мир и выполните `/reload`, либо просто перезайдите.
В чате появится зелёная строка `[Tree Chopper] датапак загружен (MC 26.3)`.
Проверить, что пак активен: `/datapack list`.
Если хотите править файлы — распакуйте архив в папку с любым именем; главное,
чтобы `pack.mcmeta` лежал **сразу внутри** этой папки, а не в подпапке.
---
## Прочность топора
Перед тем как что-либо сломать, датапак обходит дерево и считает брёвна.
Дальше он смотрит на топор в руке и решает:
- **прочности хватает** — дерево падает целиком, а с топора списывается ровно
столько единиц, сколько брёвен осталось срубить. Вместе с той единицей,
которую игра уже сняла за первый блок, получается расход за всё дерево;
- **прочности не хватает** — не ломается ничего, в строке над хотбаром
появляется красная надпись «Прочности топора не хватит на всё дерево».
Дерево остаётся стоять: чините топор, берите другой или рубите обычным
способом, по блоку.
Листва не считается: за неё прочность не тратится, как и в ванили.
Несколько деталей, о которых стоит знать:
- **Топор должен пережить рубку.** Если прочности хватает впритык — ровно на
последнее бревно, — датапак откажется рубить. Иначе пришлось бы оставлять в
инвентаре топор с нулевой прочностью, которого в ванили не бывает: там
инструмент в этот момент просто ломается. Проще требовать, чтобы после рубки
осталась хотя бы одна единица.
- **Чары «Прочность» учитываются приблизительно.** Расход считается как
`брёвна ÷ (уровень чар + 1)` с округлением вверх, то есть по среднему. В
ванили каждое использование — это бросок кубика, так что на длинной дистанции
цифры сойдутся, но конкретное дерево может обойтись чуть дороже или дешевле,
чем при ручной рубке.
- **Нестандартные топоры.** Датапак знает прочность семи ванильных топоров —
деревянного (59), золотого (32), каменного (131), медного (190), железного
(250), алмазного (1561) и незеритового (2031). Если в руке топор из мода или
с изменённой прочностью, расчёт отключается и дерево рубится без
дополнительного износа. Добавить свой инструмент можно в файле
`data/treecap/function/dur/measure.mcfunction`.
- Всю систему можно выключить: `#use_dur` в настройках.
---
## Как это работает в игре
| Действие | Результат |
|---|---|
| Ломаете бревно **топором**, стоя в полный рост | Падает всё дерево + листва, сажается саженец |
| Ломаете бревно **присев** (Shift) | Ломается только один блок, как в ванили |
| Ломаете бревно **рукой, киркой, чем угодно кроме топора** | Обычное поведение |
| Топор почти сломан | Рубка не срабатывает, в строке над хотбаром предупреждение |
| Режим «Творчество» | Рубка не срабатывает (см. «Ограничения») |
Присед — это «выключатель». Он нужен, чтобы можно было спокойно разбирать
постройки из брёвен, не роняя их целиком.
---
## Поддерживаемые породы (все, что есть в 26.3)
Дуб (включая азалиевые деревья), ель, берёза, тропическое дерево, акация,
тёмный дуб, мангровое дерево, сакура, бледный дуб, **тополь** (новинка 26.3,
все три цвета листвы — красный, оранжевый, жёлтый), багровый и искажённый
грибы Нижнего мира.
Мелочи, которые учтены:
- у дуба вместе со стволом снимаются и **азалиевые листья** (азалиевые деревья
растут на дубовых брёвнах);
- у мангрового дерева в «ствол» входят **мангровые корни**, а саженцем служит
**мангровый побег**, который сажается на грязь, ил или глину;
- у бледного дуба сносится **сердце скрипуна** (`creaking_heart`), встроенное
в ствол, и **свисающий бледный мох**;
- у багровых и искажённых грибов «листва» — это **блоки нижнего нароста** и
**грибной светильник**, а «саженец» — соответствующий гриб, который сажается
на нилий, песок душ или землю;
- у тёмного дуба ствол 2×2, поэтому сажаются **4 саженца** — иначе дерево
просто не вырастет обратно.
Саженец появляется только там, где под бревном действительно была подходящая
почва. Если дерево росло на камне или висело в воздухе — ничего не сажается.
---
## Настройки
Всё лежит в одном файле:
`data/treecap/function/config.mcfunction`
```mcfunction
scoreboard players set #max_logs treecap.data 160 # предел брёвен за раз
scoreboard players set #max_leaves treecap.data 512 # предел блоков листвы
scoreboard players set #max_plant treecap.data 4 # сколько саженцев сажать
scoreboard players set #cooldown treecap.data 10 # пауза между рубками, тиков
scoreboard players set #replant treecap.data 1 # 1 — сажать саженец, 0 — нет
scoreboard players set #do_leaves treecap.data 1 # 1 — убирать листву, 0 — нет
scoreboard players set #sneak_stop treecap.data 1 # 1 — присед отключает рубку
scoreboard players set #use_dur treecap.data 1 # 1 — считать износ топора
```
После правки — `/reload`.
Значения можно менять и на лету, прямо в чате, например:
`/scoreboard players set #use_dur treecap.data 0`
(до следующего `/reload`, который вернёт значения из файла).
### Что рубится, а что нет
Списки блоков вынесены в теги и легко правятся:
`data/treecap/tags/block/<порода>_logs.json` и `<порода>_leaves.json`.
По умолчанию в стволы входят **только те варианты блоков, которые реально
растут в природе** — `oak_log`, `spruce_log`, `poplar_log` и т. д. Обтёсанные
брёвна и «брёвна со всех сторон» (`oak_wood`, `stripped_oak_log`) намеренно не
включены: иначе один удар топором по стене дома снёс бы всю стену. Если вам
нужно обратное — допишите их в соответствующий файл тега, и заодно в
`data/treecap/tags/item/<порода>_log_items.json`, откуда датапак узнаёт породу
по выпавшему предмету.
Листва удаляется только со свойством `persistent=false`, то есть **выросшая
естественным путём**. Листья, которые вы поставили руками, останутся на месте.
### Полное отключение
`/function treecap:uninstall` — уберёт табло, метки и служебные сущности, после
чего датапак можно удалить из папки.
---
## Ограничения
1. **Первый блок ломается с обычной скоростью.** Датапак не может ускорить саму
анимацию добычи — это делается только модом. Зато сразу после того, как
первое бревно сломалось, всё остальное дерево исчезает в тот же тик, так что
на глаз это выглядит как мгновенная рубка.
2. **Не работает в творческом режиме.** Механизм опознаёт место удара по
выпавшему предмету, а в творчестве блоки ничего не роняют.
3. **Очень большое дерево может срубиться не полностью** за один раз, если
упрётся в лимиты `#max_logs` / `#max_leaves`. Остатки либо сносятся следующим
ударом, либо листва осыпается сама. Если хочется убрать лимиты — поднимите их
в настройках и заодно увеличьте игровое правило:
`/gamerule maxCommandChainLength 2000000`
4. Две команды в паке используют относительно свежий синтаксис
`execute if items ... weapon.mainhand` и `... contents`
(`player_tick.mcfunction` и `detect.mcfunction`), а замер износа читает
`SelectedItem` из данных игрока (`dur/measure.mcfunction`). Если в будущей
версии игры Mojang это изменит, править нужно будет именно эти места. Чтение
износа сделано «мягко»: если оно перестанет работать, дерево всё равно
срубится и прочность всё равно спишется — пропадёт только отказ рубить почти
сломанным топором.
---
## Структура пака
```
TreeChopper/
├── pack.mcmeta
├── README.md
└── data/
ㅤㅤㅤ├── minecraft/tags/function/ load.json, tick.json
ㅤㅤㅤ└── treecap/
ㅤㅤㅤㅤㅤㅤ├── function/
ㅤㅤㅤㅤㅤㅤ│ ㅤㅤ├── load / config / uninstall — запуск и настройки
ㅤㅤㅤㅤㅤㅤ│ㅤㅤ ├── tick / player_tick / scan — опрос игроков раз в тик
ㅤㅤㅤㅤㅤㅤ│ ㅤㅤ├── detect / detect_species — место удара и порода дерева
ㅤㅤㅤㅤㅤㅤ│ ㅤㅤ├── dur/prepare, measure, apply — прочность топора
ㅤㅤㅤㅤㅤㅤ│ ㅤㅤ├── abort / cleanup — отказ и уборка меток
ㅤㅤㅤㅤㅤㅤ│ ㅤㅤ└── chop/<порода>/ — start, node, plant, seed, leaf
ㅤㅤㅤㅤㅤㅤ├── item_modifier/ add_damage.json
ㅤㅤㅤㅤㅤㅤ└── tags/
ㅤㅤㅤㅤㅤㅤㅤㅤㅤ├── block/ <порода>_logs, <порода>_leaves, soil_*, plant_space
ㅤㅤㅤㅤㅤㅤㅤㅤㅤ└── item/ axes, log_items, <порода>_log_items
Схема работы одной рубки:
1. `node` обходит ствол в глубину по 26 соседям (диагонали нужны для ветвей) и
ставит на каждое бревно невидимую метку-`marker`. Блоки при этом не трогаются
вовсе, а метка заодно служит отметкой «уже посчитано», так что каждое бревно
считается один раз.
2. Зная число брёвен, `dur/prepare` и `dur/apply` решают судьбу рубки: хватит
прочности — рубим, не хватит — всё остаётся на месте.
3. Метки превращаются в воздух (`setblock ... destroy`, то есть с выпадением
предметов, звуком и частицами), затем по тем же меткам сажаются саженцы и
расходится листва.
4. Метки убираются.
Связи идут только по блокам одной породы, поэтому соседнее дерево не заденет.
Сломайте топором **любое** бревно дерева — верхнее, нижнее, боковую ветку, без
разницы — и всё дерево рухнет целиком: ствол, ветви и вся листва, принадлежащая
именно этому дереву. На месте, где стояло основание ствола, появляется саженец
той же породы. Прочность топора списывается сразу за всё дерево, как если бы вы
рубили его блок за блоком вручную.
---
## Установка
1. Положите файл `TreeChopper-26.3.zip` **как есть** в папку
`saves/<ваш_мир>/datapacks/`. На сервере — в `world/datapacks/`.
Распаковывать не нужно: Minecraft читает датапаки прямо из архива.
2. Зайдите в мир и выполните `/reload`, либо просто перезайдите.
В чате появится зелёная строка `[Tree Chopper] датапак загружен (MC 26.3)`.
Проверить, что пак активен: `/datapack list`.
Если хотите править файлы — распакуйте архив в папку с любым именем; главное,
чтобы `pack.mcmeta` лежал **сразу внутри** этой папки, а не в подпапке.
---
## Прочность топора
Перед тем как что-либо сломать, датапак обходит дерево и считает брёвна.
Дальше он смотрит на топор в руке и решает:
- **прочности хватает** — дерево падает целиком, а с топора списывается ровно
столько единиц, сколько брёвен осталось срубить. Вместе с той единицей,
которую игра уже сняла за первый блок, получается расход за всё дерево;
- **прочности не хватает** — не ломается ничего, в строке над хотбаром
появляется красная надпись «Прочности топора не хватит на всё дерево».
Дерево остаётся стоять: чините топор, берите другой или рубите обычным
способом, по блоку.
Листва не считается: за неё прочность не тратится, как и в ванили.
Несколько деталей, о которых стоит знать:
- **Топор должен пережить рубку.** Если прочности хватает впритык — ровно на
последнее бревно, — датапак откажется рубить. Иначе пришлось бы оставлять в
инвентаре топор с нулевой прочностью, которого в ванили не бывает: там
инструмент в этот момент просто ломается. Проще требовать, чтобы после рубки
осталась хотя бы одна единица.
- **Чары «Прочность» учитываются приблизительно.** Расход считается как
`брёвна ÷ (уровень чар + 1)` с округлением вверх, то есть по среднему. В
ванили каждое использование — это бросок кубика, так что на длинной дистанции
цифры сойдутся, но конкретное дерево может обойтись чуть дороже или дешевле,
чем при ручной рубке.
- **Нестандартные топоры.** Датапак знает прочность семи ванильных топоров —
деревянного (59), золотого (32), каменного (131), медного (190), железного
(250), алмазного (1561) и незеритового (2031). Если в руке топор из мода или
с изменённой прочностью, расчёт отключается и дерево рубится без
дополнительного износа. Добавить свой инструмент можно в файле
`data/treecap/function/dur/measure.mcfunction`.
- Всю систему можно выключить: `#use_dur` в настройках.
---
## Как это работает в игре
| Действие | Результат |
|---|---|
| Ломаете бревно **топором**, стоя в полный рост | Падает всё дерево + листва, сажается саженец |
| Ломаете бревно **присев** (Shift) | Ломается только один блок, как в ванили |
| Ломаете бревно **рукой, киркой, чем угодно кроме топора** | Обычное поведение |
| Топор почти сломан | Рубка не срабатывает, в строке над хотбаром предупреждение |
| Режим «Творчество» | Рубка не срабатывает (см. «Ограничения») |
Присед — это «выключатель». Он нужен, чтобы можно было спокойно разбирать
постройки из брёвен, не роняя их целиком.
---
## Поддерживаемые породы (все, что есть в 26.3)
Дуб (включая азалиевые деревья), ель, берёза, тропическое дерево, акация,
тёмный дуб, мангровое дерево, сакура, бледный дуб, **тополь** (новинка 26.3,
все три цвета листвы — красный, оранжевый, жёлтый), багровый и искажённый
грибы Нижнего мира.
Мелочи, которые учтены:
- у дуба вместе со стволом снимаются и **азалиевые листья** (азалиевые деревья
растут на дубовых брёвнах);
- у мангрового дерева в «ствол» входят **мангровые корни**, а саженцем служит
**мангровый побег**, который сажается на грязь, ил или глину;
- у бледного дуба сносится **сердце скрипуна** (`creaking_heart`), встроенное
в ствол, и **свисающий бледный мох**;
- у багровых и искажённых грибов «листва» — это **блоки нижнего нароста** и
**грибной светильник**, а «саженец» — соответствующий гриб, который сажается
на нилий, песок душ или землю;
- у тёмного дуба ствол 2×2, поэтому сажаются **4 саженца** — иначе дерево
просто не вырастет обратно.
Саженец появляется только там, где под бревном действительно была подходящая
почва. Если дерево росло на камне или висело в воздухе — ничего не сажается.
---
## Настройки
Всё лежит в одном файле:
`data/treecap/function/config.mcfunction`
```mcfunction
scoreboard players set #max_logs treecap.data 160 # предел брёвен за раз
scoreboard players set #max_leaves treecap.data 512 # предел блоков листвы
scoreboard players set #max_plant treecap.data 4 # сколько саженцев сажать
scoreboard players set #cooldown treecap.data 10 # пауза между рубками, тиков
scoreboard players set #replant treecap.data 1 # 1 — сажать саженец, 0 — нет
scoreboard players set #do_leaves treecap.data 1 # 1 — убирать листву, 0 — нет
scoreboard players set #sneak_stop treecap.data 1 # 1 — присед отключает рубку
scoreboard players set #use_dur treecap.data 1 # 1 — считать износ топора
```
После правки — `/reload`.
Значения можно менять и на лету, прямо в чате, например:
`/scoreboard players set #use_dur treecap.data 0`
(до следующего `/reload`, который вернёт значения из файла).
### Что рубится, а что нет
Списки блоков вынесены в теги и легко правятся:
`data/treecap/tags/block/<порода>_logs.json` и `<порода>_leaves.json`.
По умолчанию в стволы входят **только те варианты блоков, которые реально
растут в природе** — `oak_log`, `spruce_log`, `poplar_log` и т. д. Обтёсанные
брёвна и «брёвна со всех сторон» (`oak_wood`, `stripped_oak_log`) намеренно не
включены: иначе один удар топором по стене дома снёс бы всю стену. Если вам
нужно обратное — допишите их в соответствующий файл тега, и заодно в
`data/treecap/tags/item/<порода>_log_items.json`, откуда датапак узнаёт породу
по выпавшему предмету.
Листва удаляется только со свойством `persistent=false`, то есть **выросшая
естественным путём**. Листья, которые вы поставили руками, останутся на месте.
### Полное отключение
`/function treecap:uninstall` — уберёт табло, метки и служебные сущности, после
чего датапак можно удалить из папки.
---
## Ограничения
1. **Первый блок ломается с обычной скоростью.** Датапак не может ускорить саму
анимацию добычи — это делается только модом. Зато сразу после того, как
первое бревно сломалось, всё остальное дерево исчезает в тот же тик, так что
на глаз это выглядит как мгновенная рубка.
2. **Не работает в творческом режиме.** Механизм опознаёт место удара по
выпавшему предмету, а в творчестве блоки ничего не роняют.
3. **Очень большое дерево может срубиться не полностью** за один раз, если
упрётся в лимиты `#max_logs` / `#max_leaves`. Остатки либо сносятся следующим
ударом, либо листва осыпается сама. Если хочется убрать лимиты — поднимите их
в настройках и заодно увеличьте игровое правило:
`/gamerule maxCommandChainLength 2000000`
4. Две команды в паке используют относительно свежий синтаксис
`execute if items ... weapon.mainhand` и `... contents`
(`player_tick.mcfunction` и `detect.mcfunction`), а замер износа читает
`SelectedItem` из данных игрока (`dur/measure.mcfunction`). Если в будущей
версии игры Mojang это изменит, править нужно будет именно эти места. Чтение
износа сделано «мягко»: если оно перестанет работать, дерево всё равно
срубится и прочность всё равно спишется — пропадёт только отказ рубить почти
сломанным топором.
---
## Структура пака
```
TreeChopper/
├── pack.mcmeta
├── README.md
└── data/
ㅤㅤㅤ├── minecraft/tags/function/ load.json, tick.json
ㅤㅤㅤ└── treecap/
ㅤㅤㅤㅤㅤㅤ├── function/
ㅤㅤㅤㅤㅤㅤ│ ㅤㅤ├── load / config / uninstall — запуск и настройки
ㅤㅤㅤㅤㅤㅤ│ㅤㅤ ├── tick / player_tick / scan — опрос игроков раз в тик
ㅤㅤㅤㅤㅤㅤ│ ㅤㅤ├── detect / detect_species — место удара и порода дерева
ㅤㅤㅤㅤㅤㅤ│ ㅤㅤ├── dur/prepare, measure, apply — прочность топора
ㅤㅤㅤㅤㅤㅤ│ ㅤㅤ├── abort / cleanup — отказ и уборка меток
ㅤㅤㅤㅤㅤㅤ│ ㅤㅤ└── chop/<порода>/ — start, node, plant, seed, leaf
ㅤㅤㅤㅤㅤㅤ├── item_modifier/ add_damage.json
ㅤㅤㅤㅤㅤㅤ└── tags/
ㅤㅤㅤㅤㅤㅤㅤㅤㅤ├── block/ <порода>_logs, <порода>_leaves, soil_*, plant_space
ㅤㅤㅤㅤㅤㅤㅤㅤㅤ└── item/ axes, log_items, <порода>_log_items
Схема работы одной рубки:
1. `node` обходит ствол в глубину по 26 соседям (диагонали нужны для ветвей) и
ставит на каждое бревно невидимую метку-`marker`. Блоки при этом не трогаются
вовсе, а метка заодно служит отметкой «уже посчитано», так что каждое бревно
считается один раз.
2. Зная число брёвен, `dur/prepare` и `dur/apply` решают судьбу рубки: хватит
прочности — рубим, не хватит — всё остаётся на месте.
3. Метки превращаются в воздух (`setblock ... destroy`, то есть с выпадением
предметов, звуком и частицами), затем по тем же меткам сажаются саженцы и
расходится листва.
4. Метки убираются.
Связи идут только по блокам одной породы, поэтому соседнее дерево не заденет.
More like this
7053569
119



Have something to say?