</BUG>
if (!mergeItemStack(stackInSlot, addonSlotStart, addonSlotEnd, false)) {
return null;
}
<BUG>} else if (stackInSlot.getItem() instanceof UpgradeItem) {
</BUG>
if (!mergeItemStack(stackInSlot, upgSlotStart, upgSlotEnd, false)) {
return null;
}
} else {

upgSlotStart = Math.min(i, upgSlotStart);
upgSlotEnd = Math.max(i + 1, upgSlotEnd);
}
}
if (slot < slotStart) {
if (stackInSlot.getItem() instanceof AddonMetaItem) {
if (!mergeItemStack(stackInSlot, addonSlotStart, addonSlotEnd, false)) {
return null;
}
} else if (stackInSlot.getItem() instanceof UpgradeMetaItem) {
if (!mergeItemStack(stackInSlot, upgSlotStart, upgSlotEnd, false)) {
return null;
}
} else {
