Animated Doors - датапак для Minecraft, который делает двери реалистичнее. Вместо резкого распахивания теперь у каждой двери плавная анимация. Если рядом стоят две створки, они открываются одновременно от прикосновения к одной. Всё работает и с железными дверьми: достаточно подать редстоун-сигнал на одну из них.
Возможности
- Плавная анимация открытия/закрытия для всех ванильных дверей
- Синхронное открытие двойных дверей
- Поддержка железных дверей и редстоуна (кнопки, нажимные пластины, провода)
- Работает как вручную, так и от сигнала
Посмотреть анимации можно в галерее.
Установка
Обязательно: установите ресурспак - без него двери будут невидимыми.
Датапак (zip-файл) нужно поместить в папку datapacks внутри папки вашего мира.
Одиночная игра
Создаёте новый мир?
При создании мира переключитесь на вкладку More и нажмите Data Packs. Перетащите AnimatedDoors.zip в окно Minecraft (подтвердите), затем переместите его из левой колонки в правую стрелкой. Готово.
Уже есть мир?
В списке миров нажмите на нужный мир, выберите Edit, затем Open World Folder. Откройте или создайте папку datapacks и поместите туда AnimatedDoors.zip. Зайдите в мир.
Мультиплеер (сервер)
- Откройте папку сервера.
- Перейдите в папку вашего основного мира (по умолчанию
world). - Зайдите в папку
datapacks. - Загрузите
AnimatedDoors.zip. - Перезапустите сервер.
Игрокам нужно установить ресурспак. Если у вас простой сервер без прокси, отредактируйте server.properties:
- Найдите строку
resource-pack:и укажите прямую ссылку на zip-файл ресурспака (можно взять на странице версий). - Опционально: установите
require-resource-pack: trueдля принудительной загрузки.
Для серверов с прокси установите плагин/мод MWeb для отправки ресурспака только целевым игрокам.
Установка ресурспака
Скачайте ресурспак из раздела версий. В меню ресурспаков перетащите zip-файл в окно Minecraft. Включайте его только при игре с этим датапаком - на других серверах он скроет двери.
Важно знать
Q: Мои двери невидимы! A: При первой установке все ранее установленные двери нужно обновить - просто посмотрите на них.
Q: Появились плавающие железные слитки / анимация не работает. A: Не активирован ресурспак. Включите его.
Q: Как удалить Animated Doors?
A: Введите /function anim-doors:uninstall в каждом регионе, где есть двери. Или удалите датапак и выполните /kill @e[tag=_betdor_marker] для каждой ненагруженной области.
Добавление кастомных дверей
Если вы хотите добавить двери из других модов, потребуется редактирование файлов датапака и ресурспака.
Инструкция
Распакуйте архивы датапака и ресурспака для редактирования. Найдите мод-ключ и ключ типа двери: нажмите F3+H в игре, наведите на предмет - появится <mod-key>:<door-type>.
Редактирование ресурспака
Перейдите в assets/minecraft/models/block/type. Скопируйте файлы для любого типа двери (left и right) и переименуйте их как <door_type>_left и <door_type>_right. Откройте их в текстовом редакторе и замените пути к текстурам на свои:
{
"parent": "minecraft:block/main/right_hinge",
"textures": {
"top": "<mod-key>:block/<door-type>_top",
"bottom": "<mod-key>:block/<door-type>_bottom"
}
}
Затем откройте assets/minecraft/models/item/iron_nugget.json. Прокрутите вниз и добавьте для каждой двери новый блок override. Нумерацию лучше начинать с 1000, чтобы избежать конфликтов:
{
"parent": "item/generated",
"textures": {
"layer0": "item/iron_nugget"
},
"overrides": [
...
{ "predicate": {"custom_model_data": 1001}, "model": "<mod-key>:block/type/<door-type>_right"},
{ "predicate": {"custom_model_data": 1002}, "model": "<mod-key>:block/type/<door-type>_left"}
]
}
Запомните назначенные номера (здесь 1001 и 1002).
Редактирование датапака
Откройте папку data/anim-doors/functions. Там есть файл .index.md - в нём перечислены все файлы, которые нужно изменить.
-
setup/on_reload.mcfunction- добавьте новую цель для отслеживания двери:scoreboard objectives add _betdor_<id-1> minecraft.used:<mod-key>.<door-type> -
change/<door>.mcfunction- скопируйтеacacia.mcfunction, переименуйте в<door-type>.mcfunction, заменитеminecraft:acacia_doorна<mod-key>:<door-type>. -
setup_type/<door>.mcfunction- скопируйтеacacia.mcfunction, переименуйте, заменитеCustomModelDataна ваши номера:execute if block ~ ~ ~ #anim-doors:valid_door[hinge=left] run data merge entity @s {ArmorItems:[{},{},{},{id:"minecraft:iron_nugget",Count:1b,tag:{CustomModelData:<id-1>}}]} execute if block ~ ~ ~ #anim-doors:valid_door[hinge=right] run data merge entity @s {ArmorItems:[{},{},{},{id:"minecraft:iron_nugget",Count:1b,tag:{CustomModelData:<id-2>}}]} -
as_player.mcfunction- добавьте отслеживание игрока:execute if score @s _betdor_<id-1> matches 1.. run function anim-doors:placed -
fake_change.mcfunction(дважды) - в первом большом блоке добавьте:execute if block ~ ~ ~ <mod-key>:<door-type>[half=lower] run scoreboard players set type_check _betdor <id-1>В последнем большом блоке:execute if score type_check _betdor matches <id-1> run function anim-doors:change/<door-type> -
placed.mcfunction- перед последней командой добавьте:scoreboard players reset @s _betdor_<id-1> -
setup_door.mcfunction- в первый блок добавьте:execute if block ~ ~ ~ <mod-key>:<door-type> run function anim-doors:setup_type/<door-type>
Финальные штрихи
Откройте data/anim-doors/tags/blocks/valid-door.json и добавьте <mod-key>:<door-type>. Затем в iron_door.json или wooden_door.json добавьте ту же запись, в зависимости от типа двери.
Готово! Кастомная дверь теперь работает с анимацией.
Если вы собираете сервер с упором на реализм - Animated Doors must-have. На слабом железе датапак не скажется на производительности, а вот ресурспак может слегка увеличить время загрузки. Главное - не забудьте его включить.

