
Bookshelf Time Module
Bookshelf Time Module - модуль библиотеки Bookshelf для датапаков Minecraft, который вытаскивает реальное системное время компьютера: часы, минуты и секунды. Пригодится для часов, расписаний и событий, привязанных к настоящему времени, а не к игровому циклу дня и ночи.
Bookshelf Time Module - это модуль библиотечного датапака Bookshelf для Minecraft Java Edition. Он даёт создателям карт доступ к реальному системному времени компьютера прямо изнутри датапака: часы, минуты и секунды. Звучит скромно, но именно такие мелочи открывают целый пласт механик, которые в ваниле просто не сделать.
Если вы делаете карту с расписанием (типа ивент стартует в 20:00 по Москве), с часами на стене, с магазином, который открывается только днём, или с сезонным ивентом на Хэллоуин - этот модуль для вас. Любителям построек и техно-карт в духе Gunivers тоже зайдёт: это не хоррор и не PvP, а именно инструмент для map-making.
Что это и зачем
В Майнкрафте есть игровое время (день/ночь, тики мира), но нет настоящего. Ванильный /time query показывает тики внутри мира, а не время на вашем компьютере. Bookshelf Time Module решает ровно эту проблему - прокидывает системное время в датапак, чтобы вы могли строить логику вокруг реальных часов.
Модуль - часть экосистемы Bookshelf, библиотеки для создателей карт. Она даёт производительные переиспользуемые системы, чтобы не изобретать велосипед на каждом проекте. Сам модуль распространяется как Data Pack и не требует Fabric, Forge, NeoForge или другого загрузчика. Это важно: обычный датапак, который ставится в папку datapacks мира или на сервер.
Как это работает
Модуль использует командный блок, поэтому для корректной работы в мире должны быть включены command_blocks_work и send_command_feedback. Без них значения не посчитаются.
Документированный вызов получения времени - функция #bs.time:get. После вызова результат оказывается в scoreboard-значениях:
$time.hours- часы$time.minutes- минуты$time.seconds- секунды
Внутри документации фигурирует префикс bs.time, так что в коде датапака вы будете обращаться к функциям библиотеки именно через него.
Совместимость и версии
По данным карточки проекта на Modrinth заявлена совместимость с Minecraft 1.21.5-1.21.11, а также с ветками 26.1, 26.2 и 26.3. Актуальная ветка самой библиотеки Bookshelf - 4.2.1 для Minecraft 26.3. Правда, выпуск 4.2.1 был хотфиксом для raycast-модуля и отдельной функции времени не добавлял - то есть модуль времени стабилен и в свежих версиях не менялся.
Лицензия - MPL-2.0, что для датапаков и библиотек довольно дружелюбно.
С чем ставить
Модуль рассчитан на работу в связке с другими модулями Bookshelf. Если нужен полный набор - берите Bookshelf Suite, там собраны все модули разом. Если же вам нужен только доступ к времени, хватит этого модуля плюс базовой библиотеки.
По тегам проект относится к библиотечным и игромеханическим, ориентирован на map-making. Связей с хоррором, аниме, PvP-сценой или какими-то франшизами тут нет - это сугубо техническая штука. Зато часто ставится вместе с другими модулями Bookshelf, а не в одиночку.
Важные нюансы
Совет из практики: проверяйте, что в мире включены командные блоки, иначе модуль будет молча возвращать мусор. Ещё момент - системное время берётся с машины, где запущен сервер, а не с клиента игрока. Если сервер стоит в другом часовом поясе, все игроки увидят время сервера, а не своё. Для ивентов это критично: пропишите в описании карты, по какому поясу идут расписания, иначе игроки из разных регионов запутаются.
Ещё один нюанс: если вы используете старый датапак и обновляете Bookshelf до новой ветки, проверьте вызов #bs.time:get - структура scoreboard-значений может отличаться в зависимости от версии библиотеки. Всегда читайте changelog ветки, под которую собираете карту.
Итог
Bookshelf Time Module - небольшой, но крайне полезный кирпичик для тех, кто делает карты с расписаниями, часами и событиями по реальному времени. Никаких загрузчиков, чистый датапак, понятный API из одной функции и трёх scoreboard-значений. Скачайте модуль времени Bookshelf и добавьте в свою карту живые часы - игроки оценят, когда ивент стартует не "когда-нибудь", а ровно в назначенный час по-настоящему.
Как запустить датапак Bookshelf Time Module на сервере?
Датапак Bookshelf Time Module удобнее всего раскрывается на общем сервере: установили один раз - и вся компания играет с новыми механиками. Создать сервер Майнкрафт с датапаком Bookshelf Time Module можно за пару минут вместе с BungeeHost.
