NBT

svk

1,185
3
Мне так и не ответили на этот вопрос, хотя я много раз его задавал.Есть-ли метод, который создаёт нбт, при создании самого стака?
 
Если я правильно понял, то...
Код:
NBTTagCompound nbt = new NBTTagCompound();
Пример:
Код:
    @SideOnly(Side.CLIENT)
    public void getSubItems(Item id, CreativeTabs table, List list) {
        list.add(addNBT());
    }

    public static ItemStack addNBT() {
        ItemStack is = new ItemStack(PackMagic.proxy.item.globular, 1, 0);
        NBTTagCompound nbt = new NBTTagCompound();
        nbt.setBoolean("Active", false);
        is.setTagCompound(nbt);
        return is;
    }
 
Офигенный конечно совет, создать нбт от клиента, несуществующему стаку.
[merge_posts_bbcode]Добавлено: 13.03.2015 22:41:16[/merge_posts_bbcode]

И смысл мне делать новый итемстак, который я не буду использовать? :\
 
Твой вопрос мне не совсем понятен. Может что-то подобное надо:
Код:
NBTTagCompound nbt = is.getTagCompound();
Пример использования:
Код:
    public ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer player) {
        NBTTagCompound nbt = is.getTagCompound();
        if (nbt != null && nbt.hasKey("Active")) {
            nbt.setBoolean("Active", nbt.getBoolean("Active") ? false : true);
            is.setTagCompound(nbt);
        }
        return is;
    }
 
Зачем создавать NBT при создании стака? Создавай его, когда он первый раз понадобится.
 
GloomyFolken написал(а):
Зачем создавать NBT при создании стака? Создавай его, когда он первый раз понадобится.
Мне мой CheckCraft возвращает итем оружия, а в итеме оружия, мать его, вся информация, и я не могу добавить к ней что-то, пока она не создастся.
 
Dovakin написал(а):
Выложи решение
Решение не касается на прямую к этой теме, оно основано на архитектуре моего мода.
Создаётся нбт; классу даётся нбт, которое проверяется в апдейте и дополняет уже существующее нбт, базовым.
 
Назад
Сверху