Очередная проблема с гуи.
вот метод, который при шифт-клике должен перемещать вещи из инвентаря в слот моего ГУИ, и наоборот, в инвентарь - из слота. В GUI всего 1 слот. Он работает, но
Но есть 2 бага:
1)При перемещении ИЗ инвентаря В слот блока, если кол-во перемещаемых предметов больше максимально допустимого для слота( в мой слот можно положить одновременно только 1 предмет) то все, что больше допустимого - пропадает. То есть Нажала шифт-кликом на стак из 64 предметов: 1 как и нужно переместился в слот, а 63 оставшихся пропали вообще.
2) При перемещении ИЗ слота блока В инвентарь: при шифт-клике по слота вещь перемещается в инвентарь, но в слоте остается фантомная вещь. То есть её можно забрать отдельно, но если попробовать её выкинуть, нажав на Q или сложить к другим таким же предметам в инвентаре в общий стак, то эта вещь пропадет.
вот метод, который при шифт-клике должен перемещать вещи из инвентаря в слот моего ГУИ, и наоборот, в инвентарь - из слота. В GUI всего 1 слот. Он работает, но
@Override
public ItemStack transferStackInSlot(EntityPlayer playerIn, int fromSlot) {
ItemStack itemstack = null;
Slot slot = (Slot)this.inventorySlots.get(fromSlot);
if (slot != null && slot.getHasStack())
{
ItemStack itemstack1 = slot.getStack();
itemstack = itemstack1.copy();
if (fromSlot < 1)
{
if (!this.mergeItemStack(itemstack1, 1, this.inventorySlots.size(), false))
{
return null;
}
}
else if (!this.mergeItemStack(itemstack1, 0, 1, false))
{
return null;
}
if (itemstack1.stackSize == 0)
{
slot.putStack(null);
}
else
{
slot.onSlotChanged();
}
}
return itemstack;
}
public ItemStack transferStackInSlot(EntityPlayer playerIn, int fromSlot) {
ItemStack itemstack = null;
Slot slot = (Slot)this.inventorySlots.get(fromSlot);
if (slot != null && slot.getHasStack())
{
ItemStack itemstack1 = slot.getStack();
itemstack = itemstack1.copy();
if (fromSlot < 1)
{
if (!this.mergeItemStack(itemstack1, 1, this.inventorySlots.size(), false))
{
return null;
}
}
else if (!this.mergeItemStack(itemstack1, 0, 1, false))
{
return null;
}
if (itemstack1.stackSize == 0)
{
slot.putStack(null);
}
else
{
slot.onSlotChanged();
}
}
return itemstack;
}
1)При перемещении ИЗ инвентаря В слот блока, если кол-во перемещаемых предметов больше максимально допустимого для слота( в мой слот можно положить одновременно только 1 предмет) то все, что больше допустимого - пропадает. То есть Нажала шифт-кликом на стак из 64 предметов: 1 как и нужно переместился в слот, а 63 оставшихся пропали вообще.
2) При перемещении ИЗ слота блока В инвентарь: при шифт-клике по слота вещь перемещается в инвентарь, но в слоте остается фантомная вещь. То есть её можно забрать отдельно, но если попробовать её выкинуть, нажав на Q или сложить к другим таким же предметам в инвентаре в общий стак, то эта вещь пропадет.