MCF: EntityMap
Библиотека функций для быстрого и привычного хранения данных по сущностям
- Загрузчики
- FabricNeoForgeForgeQuilt
- Скачиваний на Modrinth
- 148
- Подписчиков на Modrinth
- 0
- версии
- 4
- Обновлён
- 17 мая 202617 мая
- Опубликован
- в 2026
Коротко о моде
Нужен на сервере; в игре — по желанию
MCF (Minecraft Collections Framework): EntityMap
Попрощённое сопоставление сущностей в стиле JCF для датапаков Minecraft
MCF: EntityMap — это библиотека для датапаков, обеспечивающая невероятно быстрое и простое хранение данных для каждой сущности. Вдохновлённая API HashMap из Java, EntityMap позволяет хранить атрибуты и другие связанные данные на сущностях без необходимости работать с UUID и обеспечивает высокоуровневое взаимодействие. Спасибо CJDev за преобразование UUID!
Map или EntityMap?
Эти библиотеки похожи, но специализированы для разных целей. MCF: Map превосходно подходит для общего управления данными, так как не привязано к игровым объектам, таким как сущности, что делает его лучшим выбором, если ваш датапак полагается на хранение данных, не связанных с сущностями. MCF: EntityMap хранит данные для каждой сущности с автоматической обработкой UUID (MCF: Map этого не делает). Он становится лучшим выбором, если ваш датапак сильно завязан на сущностях.
Возможности
- Хранение для каждой сущности — поддерживает несколько экземпляров одной и той же сущности по разным путям. Данные не синхронизируются.
- Функции, повторяющие почти все методы
HashMap— знакомая, простая и интуитивно понятная функциональность! - Автоматическое разрешение и обработка UUID — не беспокойтесь о работе с UUID, всё делается под капотом.
- Не требуется прямое управление хранилищем — помимо выходных данных геттеров, все места хранения доступны и изменяются внутренне.
- Инструменты отладки — удобный вывод и перехват ошибок, чтобы упростить жизнь.
- Документированный и комментированный код — все функции верхнего уровня содержат краткое описание и список параметров.
Использование
Все функции, предназначенные для использования, находятся на верхнем уровне или в settings. Вызов любых функций из internal напрямую настоятельно не рекомендуется, так как результат, скорее всего, будет не таким, как задумано, и может потенциально вызвать проблемы.
Пример
function mcfentitymap:new {path: "entities"}
function mcfentitymap:put {path: "entities", key: "class", value: "mage"}В приведённом выше примере показано, как сущность регистрируется по пути хранения mcfentitymap:maps entities, а затем ей добавляется атрибут class: mage. Эти значения можно изменять или получать почти так же, как в картах JCF, используя предоставленные функции. Примечание: может быть полезно изменить пространство имён этого датапака на соответствующее вашему проекту. Самый простой способ сделать это в VSCode — заменить все вхождения mcfentitymap на mynamespace во вкладке поиска.
Что такое «path» и как узнать, какие параметры использовать?
Все предоставленные функции требуют передачи пути. Поскольку функции Minecraft нельзя перегружать, пути хранения не могут быть выведены датапаком или проигнорированы пользователем. Путь используется для хранения данной сущности в выбранном пользователем месте хранения под mcfentitymap:maps. Например, как указано выше, приведённый пример сохраняет добавленную сущность по пути mcfentitymap:maps entities. Точнее, параметр path относится к списку, в котором хранятся записи сущностей. Опять же, не стесняйтесь настраивать пространства имён и места хранения по своему усмотрению.
Отладка
В вашем распоряжении несколько инструментов отладки. Например, чтобы легко просмотреть запись сущности, просто запустите функцию mcfentitymap:print_entity от имени сущности, которую хотите просмотреть. Это выведет её сопоставления построчно в чат. Кроме того, этот датапак перехватывает ошибки и останавливает выполнение при их возникновении. Эти ошибки могут включать, но не ограничиваются:
- Недопустимые параметры
- Попытка доступа к несуществующему пути
- Попытка изменить несуществующую запись По умолчанию они не отображаются в чате, но запуск функции
mcfentitymap:settings/show_errorsили просто установка значения1для вашего счётаmcfem.show_errorsпозволит вам видеть в чате, когда эти ошибки перехвачены. При желании вы можете полностью отключить перехват ошибок, запустив функциюmcfentitymap:settings/disable_errors, но это настоятельно не рекомендуется и оправдано только в том случае, если перехват ошибок создаёт реальную проблему для вашего проекта.
Чтобы связаться по любому вопросу, напишите wisoven в Discord! Лицензия MIT.
Частые вопросы
Как установить MCF: EntityMap?
Установите Fabric под свою версию Minecraft, скачайте MCF: EntityMap под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть MCF: EntityMap?
У MCF: EntityMap есть сборки для Minecraft 26.1–26.1.2.
Нужен ли MCF: EntityMap на сервере?
Нужен на сервере; в игре — по желанию