Как расширить ItemStack[] mainInventory

Версия Minecraft
1.7.10
API
Forge
122
1
5
Как расширить ItemStack[] mainInventory = new ItemStack[36]; в классе InventoryPlayer с 36 до условно 150?
Долго думаю и не могу понять. А если создавать новый класс, то придется все переписывать
 

Icosider

Kotliner
Администратор
3,603
99
664
AT - это Access Transformers, они лишь изменяют уровень доступа у методов, переменных и конструкторов. В твоём случае нужно через рефлексию копировать массив, затем добавить данные в новый расширенный и присвоить переменной свой расширенный массив
 
122
1
5
AT - это Access Transformers, они лишь изменяют уровень доступа у методов, переменных и конструкторов. В твоём случае нужно через рефлексию копировать массив, затем добавить данные в новый расширенный и присвоить переменной свой расширенный массив
Это можно провернуть в любом классе или только в наследнике?
 
1,074
72
372
Один из вариантов - это не трогать массив, а хранить всё остальное содержимое в другом. И реализовать механизм постраничного переключетеня инвентаря при котором основной инвентарь будет заполняться определённой частью "большого" инвентаря.
 
122
1
5
я пошел по другому пути, создал копию InventoryPlayer, и расширил массив, и теперь смотрю почему не сохраняються предметы, может nbt([хотя идентичный как InventoryPlayer) а может GuiHandler или ExtendedPlayer

в 4 часа ночи я выяснил что не читает readFromNBT из за того что метод getTagList возвращает пустой NBTTagList, и не идет из за этого цикл чтения, и после выхода из игры - все пропадает , х** знает почему у всех работает как надо, а у меня - нет, хоть это read only метод
 
Последнее редактирование:
1,074
72
372
122
1
5
Хлоп-хлоп. Лучше уж миксинами.
у меня почему то миксины вообще не идут, ошибка reobf, при том что никакой кириллици в названиях нигде нету, работает только на примере который в гайде, и то, там форж не грузит
 
Сверху