Войти или зарегистрироваться

Помогите ItemStack сериализация в json

0xLairon1

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
0xLairon1
Есть ли какойто варик, сериализовать ItemStack в json так, чтобы этот Json схавала ванильная команда give? Хочу сделать парсер чтобы не прописывать команды в ручную или не собирать предмет на MCStacker. Пытался достать из предмета yml мапу через метод serialize и засунуть ее в org.json.JSONObject. Но это не прокатило, почемуто мета предмета не сериализуется, да и не факт что команда это схавает
 
Есть ли какойто варик, сериализовать ItemStack в json так, чтобы этот Json схавала ванильная команда give? Хочу сделать парсер чтобы не прописывать команды в ручную или не собирать предмет на MCStacker. Пытался достать из предмета yml мапу через метод serialize и засунуть ее в org.json.JSONObject. Но это не прокатило, почемуто мета предмета не сериализуется, да и не факт что команда это схавает

Ну чисто в API такого нет, если только кастом сериализатор сделать. Но стоит не забывать что команда give не работает с json) Тебе как минимум придётся получить из твоего json материал(название), кол-во, и json строку NBT тегов.

По поводу сериализации, из перечисленного выше, понятно, что тебе надо сохранить название материала, кол-во и соответственно преобразованные в json-строку NBT теги предметов.

NBT и хранит всю твою мету и прочую инфу о предмете
 
Ну чисто в API такого нет, если только кастом сериализатор сделать. Но стоит не забывать что команда give не работает с json) Тебе как минимум придётся получить из твоего json материал(название), кол-во, и json строку NBT тегов.

По поводу сериализации, из перечисленного выше, понятно, что тебе надо сохранить название материала, кол-во и соответственно преобразованные в json-строку NBT теги предметов.

NBT и хранит всю твою мету и прочую инфу о предмете
Ну, тут вопрос стоял можно ли это сделать быстро и просто, в таком случае просто буду использовать MCStacker. Спасибо
 
В Paper есть ItemMeta#getAsString() - не пробовал, но мб что надо. Для изменения NBT предмета можно воспользоваться Bukkit.getUnsafe().modifyItemStack (требуется NBT без первых {})
 
Назад
Верх