Так как я новичек в создании gui, да и в целом в моддинге, прошу мне помочь реализовать мою задачу.
Коротко о том, что мне нужно сделать:
1. Создать копию gui-сундука(большого).
2. При попытке поместить предмет в слот моего gui, предмет полностью не будет помещен в него, а только скопируется, при этом оставшись в курсоре.
3. Если в слоте уже будет другой предмет, он перезапишется на новый.
4. Если кликнуть на слот без предмета, то он станет пустым.
Подобные фильтры предметов есть в индустриальных модах, таких как BuildCraft, ThermalExpansion, Forestry и прочих.
Насколько я понял из сурсов обычного сундука, предметы помещенные в него отправляются на сервер, и хранятся там. Мне же нужно хранить их только на клиенте. Да и вообще, у меня мод полностью клиентский. Как сериализовать объект класса ItemStack в строку мне известно(методом
Как я понимаю, сперва нужно переопределить класс дефолтного gui сундука и внести в него нужные правки. Но как я не пытался это сделать, мне так и не удалось отобразить этот мой gui. По этому прошу помощи у вас. Дайте пожалуйста пример, что именно нужно переопределять, и как отобразить этот новосозданный gui.
Коротко о том, что мне нужно сделать:
1. Создать копию gui-сундука(большого).
2. При попытке поместить предмет в слот моего gui, предмет полностью не будет помещен в него, а только скопируется, при этом оставшись в курсоре.
3. Если в слоте уже будет другой предмет, он перезапишется на новый.
4. Если кликнуть на слот без предмета, то он станет пустым.
Подобные фильтры предметов есть в индустриальных модах, таких как BuildCraft, ThermalExpansion, Forestry и прочих.
Насколько я понял из сурсов обычного сундука, предметы помещенные в него отправляются на сервер, и хранятся там. Мне же нужно хранить их только на клиенте. Да и вообще, у меня мод полностью клиентский. Как сериализовать объект класса ItemStack в строку мне известно(методом
item.serializeNBT().toString()
). Сохранить его потом можно будет в какой-то конфиг, или json файл. А вот как потом обратно строку с NBT переделать в ItemStack для меня пока загадка.Как я понимаю, сперва нужно переопределить класс дефолтного gui сундука и внести в него нужные правки. Но как я не пытался это сделать, мне так и не удалось отобразить этот мой gui. По этому прошу помощи у вас. Дайте пожалуйста пример, что именно нужно переопределять, и как отобразить этот новосозданный gui.