1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Изменение uid.dat

Тема в разделе "Разработка плагинов для новичков", создана пользователем kirill2011s, 14 апр 2014.

  1. Автор темы
    kirill2011s

    kirill2011s Старожил Пользователь

    Баллы:
    103
    Здравствуйте уважаемые форумчане!

    Подскажите, пожалуйста, как изменить файл uid.dat в папке мира
    средствами Java/Bukkit?

    По идее, известно что этот файл содержит в себе название мира и если его
    удалить, то мир сгенерируется полностью заново.
    Так вот, допустим у меня есть мир с именем world.
    Чтобы его переименовать, нужно переименовать папку с этим миром и изменить этот файл. Как это сделать?
     
    Последнее редактирование: 14 апр 2014
  2. ptnk

    ptnk Старожил Пользователь

    Баллы:
    173
    Скачиваешь NBT-либу, с помощью неё разбираешь данный файлик и прописываешь свои значения.
     
  3. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Заново.
     
  4. Автор темы
    kirill2011s

    kirill2011s Старожил Пользователь

    Баллы:
    103
    А нельзя как-нибудь по проще? Там-же всего одно значение и для него
    качать целую библиотеку?
     
  5. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Да.
     
  6. Автор темы
    kirill2011s

    kirill2011s Старожил Пользователь

    Баллы:
    103
    Как? Или вы к ptnk, обращаетесь?
     
  7. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Да, качать библиотеку.
     
  8. Автор темы
    kirill2011s

    kirill2011s Старожил Пользователь

    Баллы:
    103
    Эх, ну ладно...
    Помоему это будет выглядеть как использование танка для переезда ручья..
     
  9. Vikkt

    Vikkt Активный участник

    Баллы:
    61
    Имя в Minecraft:
    Vikkt
    Оставлю 5 копеек для тех, кто так же заинтересовался этим файлом - в новых версиях он не открывается через NBT
    Более того, даже если его пытаться открыть на компьютере через программу NBTExplorer - выдает ошибку. Причина - этот файл нужно редактировать через HEX редактор. Я, честно не знаю, что там находится за значение. Буду рад, если кто-нибудь скажет (возможно найду сам и допишу сюда) upload_2024-1-21_16-40-0.png
     
  10. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну да удачи тебе редактировать gzip архив хексом :D
     
  11. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    NBT - это название протокола. Каким образом ты через него что-то открываешь?

    Нет, это не причина. Это твои доводы, которые, к тому же, ещё и неверны.
    Через хекс-редактор ты задолбаешься разбираться, потому что данные хранятся в сжатом виде (это фактически архив).

    Истинная причина - либо старая версия NBTExplorer, либо битый файл, либо кривые руки.
    dat-файл игрока с 1.20.4 спокойно открывается через NBTExplorer версии 2.8.0.
    upload_2024-1-22_13-45-1.png

    Последняя версия NBTExplorer качается в гите проекта:
    https://github.com/jaquadro/NBTExplorer/releases

    Есть ещё вариант, что в новых версиях добавили какой-то новый тип данных, который конкретно у тебя записан в файл, но похожих issue в гите я не вижу, поэтому, скорее всего, дело не в этом
     
  12. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Последнее что было добавлено в nbt это long array, но это вроде только в чанках используется, больше вроде ничего нового нет.
     
  13. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    uid.dat - это просто два лонга от UUID. Все подробности в org.bukkit.craftbukkit.util.WorldUUID для современного craftbukkit, иначе в net.minecraft.server.PlayerNBTManager для более старых.
    По самой теме - достаточно просто удалить сам файл uid.dat, дальше ядро само сгенерирует новый UUID. Если же нужно определённое значение - DataInputStream/DataOutputStream .
     
  14. Vikkt

    Vikkt Активный участник

    Баллы:
    61
    Имя в Minecraft:
    Vikkt
    "потрясающий психологический эффект – закон Каннингема. Он гласит, что самый эффективный способ получить правильный ответ в интернете – не задавать вопрос, а специально вбросить ошибочный ответ." - Цитата с одного сайта.

    Спасибо вам большое за исчерпывающие ответы в теме десятилетней давности.
     

Поделиться этой страницей