Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

kirill2011s

Старожил
Пользователь
Баллы
103
Здравствуйте уважаемые форумчане!

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

По идее, известно что этот файл содержит в себе название мира и если его
удалить, то мир сгенерируется полностью заново.
Так вот, допустим у меня есть мир с именем world.
Чтобы его переименовать, нужно переименовать папку с этим миром и изменить этот файл. Как это сделать?
 
Последнее редактирование:
Скачиваешь NBT-либу, с помощью неё разбираешь данный файлик и прописываешь свои значения.
 
Скачиваешь NBT-либу, с помощью неё разбираешь данный файлик и прописываешь свои значения.

А нельзя как-нибудь по проще? Там-же всего одно значение и для него
качать целую библиотеку?
 
Оставлю 5 копеек для тех, кто так же заинтересовался этим файлом - в новых версиях он не открывается через NBT
Более того, даже если его пытаться открыть на компьютере через программу NBTExplorer - выдает ошибку. Причина - этот файл нужно редактировать через HEX редактор. Я, честно не знаю, что там находится за значение. Буду рад, если кто-нибудь скажет (возможно найду сам и допишу сюда)upload_2024-1-21_16-40-0.png
 
Оставлю 5 копеек для тех, кто так же заинтересовался этим файлом - в новых версиях он не открывается через NBT
Более того, даже если его пытаться открыть на компьютере через программу NBTExplorer - выдает ошибку. Причина - этот файл нужно редактировать через HEX редактор. Я, честно не знаю, что там находится за значение. Буду рад, если кто-нибудь скажет (возможно найду сам и допишу сюда)Посмотреть вложение 66606
Ну да удачи тебе редактировать gzip архив хексом :D
 
он не открывается через NBT
NBT - это название протокола. Каким образом ты через него что-то открываешь?

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

Истинная причина - либо старая версия 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 в гите я не вижу, поэтому, скорее всего, дело не в этом
 
Последнее что было добавлено в nbt это long array, но это вроде только в чанках используется, больше вроде ничего нового нет.
 
uid.dat - это просто два лонга от UUID. Все подробности в org.bukkit.craftbukkit.util.WorldUUID для современного craftbukkit, иначе в net.minecraft.server.PlayerNBTManager для более старых.
По самой теме - достаточно просто удалить сам файл uid.dat, дальше ядро само сгенерирует новый UUID. Если же нужно определённое значение - DataInputStream/DataOutputStream .
 
Нет, это не причина. Это твои доводы, которые, к тому же, ещё и неверны
"потрясающий психологический эффект – закон Каннингема. Он гласит, что самый эффективный способ получить правильный ответ в интернете – не задавать вопрос, а специально вбросить ошибочный ответ." - Цитата с одного сайта.

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

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

Назад
Верх