Проблема связана с тем, что в режиме online-mode=true игра использует «официальный» UUID, который основан на аккаунте Mojang, а в режиме online-mode=false UUID генерируется по-другому (на основе имени, через алгоритм MD5 с префиксом "OfflinePlayer:"

. Файлы с данными игрока (инвентарь, достижения и т.п.) хранятся в папке playerdata и называются согласно UUID игрока. При смене режима имя файла не соответствует новому оффлайн-UUID, поэтому игра не находит нужные данные.
Чтобы решить проблему, можно сделать следующее:
1. **Вычислите оффлайн UUID**
Для этого используйте алгоритм, который генерирует UUID из строки «OfflinePlayer:Имя_игрока». Существует множество онлайн-инструментов или можно написать небольшой скрипт для расчёта.
2. **Переименуйте файлы данных игрока**
В папке world/playerdata найдите файл, имя которого соответствует вашему онлайн UUID (тот, который был создан в одиночном режиме или при online-mode=true). Переименуйте его в полученный оффлайн UUID (для каждого игрока, если необходимо).
3. **Перезапустите сервер**
После переименования перезапустите сервер, и игра будет читать данные по новому имени файла – инвентарь и достижения вернутся.
Таким образом, вы сможете запустить сервер в режиме online-mode=false (что позволит другу зайти с нелицензионной версией) и при этом сохранить свои данные. Если вы не хотите заниматься ручным переименованием, можно поискать специализированные плагины или утилиты для конвертации UUID (например, «UUIDConvert» или аналогичные решения), но их совместимость с вашей версией сервера нужно проверить.
Важно помнить, что работа сервера в режиме online-mode=false снижает безопасность, поэтому рекомендуется дополнительно настроить whitelist или использовать плагины аутентификации.