NBTTagCompound -> JSON

Версия Minecraft
1.7.10
3,005
192
592
Можно ли каким-то простым способом получить Json строку из NBTTagCompound ?
Если смотреть toString() у NBTTagCompound, то будет видно, что key не записывается в ковычки, что нужно для поддержки JSON.
Так же если смотреть toString() у другие NBT типов, будет видно различные приставки (d, s, etc), для паттернов "JSON -> NBTTagCompound).
Единственный вариант - самописный парсер?
 

Icosider

Kotliner
Администратор
3,603
99
664
У меня свой парсер, работает идеально, как на вход, так и на выход. Чтобы не терять типы данных(String, Int, Float и т.д.) к ключам добавляется префикс(S_, i_, f_ и т.д.). Ну и его достаточно зарегистрировать в Gson как адаптер, всё. Если тебе конечно нужно только JSON to NBT, то в майне есть соответствующий класс.
 
1,111
47
420
хочу вставить свои 5 копеек
префиксы - фу имхо
есть у класса NBTBase метод getId() и у того же класса есть метод getTag. Идея в том чтобы хранить все нбтхи как пара ключ-значение. По ключу доставать класс а остальное на совесть Gson.
 

Icosider

Kotliner
Администратор
3,603
99
664
есть у класса NBTBase метод getId() и у того же класса есть метод getTag. Идея в том чтобы хранить все нбтхи как пара ключ-значение. По ключу доставать класс а остальное на совесть Gson.
Спасибо, не надо, я уже видел, что-то подобное в одном магазине. Это было овер деремово, и вещи при покупки теряли большую часть нбт данных. Так что префиксы - мастхев.
 
3,005
192
592
У меня свой парсер, работает идеально, как на вход, так и на выход.
По сути, это тоже самое делает NBTTagCompound#toString, возвращает тебе NBT со всеми суффиксами.
~
Мне же нужно получить просто строку без суффиксов, как обычный JSON.
~
Ну, короче говоря, пошел делать свой парсер, так будет быстрее.
~
P.S. Там суффиксы, а не префиксы.
 
Сверху