Мод для серверов Майнкрафт на Fabric, который на серверах с online-mode=false назначает игрокам UUID их учётных записей Mojang/Microsoft вместо локальных UUID по имени. Это помогает сохранить доступ к данным игрока при переносе между онлайн- и офлайн-серверами, а для аккаунтов без Mojang и при недоступности API сохраняется обычный офлайн-UUID.
Как пользоваться
Мод работает только на сервере: игрокам устанавливать его не нужно. Найденные UUID сохраняются в кэше config/online-uuid-fix/uuid-cache.json, поэтому запрос к API выполняется один раз для каждого имени.
При переносе существующего сервера нужно остановить его и переименовать файлы данных игрока с офлайн-UUID на онлайн-UUID:
world/playerdata/<offline-uuid>.dat→world/playerdata/<online-uuid>.datworld/advancements/<offline-uuid>.json→world/advancements/<online-uuid>.jsonworld/stats/<offline-uuid>.json→world/stats/<online-uuid>.json
Онлайн-UUID можно найти через NameMC. Перед миграцией сделайте резервную копию всей папки мира: смена UUID затрагивает инвентарь, достижения, статистику и владельцев прирученных мобов.
Владелец питомца хранится в NBT-данных самого моба, поэтому одного переименования файлов недостаточно. Например, чтобы передать волков ближайшему игроку в радиусе десяти блоков, используйте:
/execute as @e[type=wolf,distance=..10] run data modify entity @s Owner set from entity @p UUID
В команде можно заменить wolf на cat, parrot или horse. Для правки NBT-данных региона подойдёт NBTExplorer.
Требования и совместимость
Нужен Fabric Loader. Мод предназначен для серверной части и использует API Mojang для поиска UUID.
