C’est bon, j’ai trouvé une solution :
:::
@Override
public ItemStack slotClick(int slotId, int clickedButton, int mode, EntityPlayer playerIn)
{
if (mode == 2 && clickedButton >= 0 && clickedButton < 9) //Ici, c'est la partie intéressante
{
Slot clickedSlot = (Slot)this.inventorySlots.get(slotId);
if (clickedSlot.canTakeStack(playerIn))
{
InventoryPlayer inventoryPlayer = playerIn.inventory;
ItemStack hotbarStack = inventoryPlayer.getStackInSlot(clickedButton);
if (clickedSlot.inventory != inventoryPlayer)
{
if (hotbarStack == null)
{
return null;
}
else
{
ItemStack newStack = hotbarStack.copy();
newStack.stackSize = 1;
clickedSlot.putStack(newStack);
return null;
}
}
}
}
else if (mode == 1 && (clickedButton == 0 || clickedButton == 1)) //Ici, c'est pour fixer un autre petit problème avec le chift-click
{
Slot clickedSlot = (Slot)this.inventorySlots.get(slotId);
if (clickedSlot != null && clickedSlot.canTakeStack(playerIn) && clickedSlot.inventory != playerIn.inventory)
{
clickedSlot.decrStackSize(clickedSlot.getStack().stackSize);
return null;
}
}
return super.slotClick(slotId, clickedButton, mode, playerIn);
}
:::
Je fait encore quelques essais pour voir si il n’y a plus de bug et ensuite, je met le poste en résolu. Merci à tous pour votre aide !