Как отредактировать данные NBT игрока Minecraft ForgeJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как отредактировать данные NBT игрока Minecraft Forge

Сообщение Anonymous »


Я новичок в Forge Modding, и у меня возникла проблема с добавлением пользовательского тега NBT к игроку в переопределенном методе Item.finishUsingItem.

Кажется, на веб-сайте Forge API нет ничего о NBT, и все, что я нашел о NBT, похоже, устарело, поэтому я зашел в тупик

GitHub здесь!

Мой текущий код в методе finishUsingItem выглядит следующим образом:

if (экземпляр pLivingEntity Player pPlayer) { CompoundTagententNBT = pPlayer.serializeNBT(); if (!entityNBT.contains("necromancy_level")) { NLevelTag levelTag = новый NLevelTag(1, 0); levelTag.levelUp(); entityNBT.put("necromancy_level", levelTag); } еще { NLevelTag levelTag = (NLevelTag)entityNBT.get("necromancy_level"); levelTag.levelUp(5); } } Мой NLevelTag имеет два целых числа:

частный уровень int; частный уровень int XP; public NLevelTag (int _level, int _levelXP) { this.level = _level; this.levelXP = _levelXP; } и метод levelUp:

публичный недействительный уровеньUp() { этот.уровеньXP++; LOGGER.debug("XP повышен до " + this.levelXP); } Примечание: levelUp имеет отдельную перегрузку, которая принимает целое число и вызывает указанный выше метод указанное количество раз.

Когда я загружаю Forge и съедаю предмет, я могу получить данные Player NBT из предмета, но у него никогда не бывает поля, которое следовало бы добавить.

Что-то я упустил при добавлении NBT к объектам?

Или можно просто этого не делать?

Заранее спасибо!
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»