Fix unexpected quickmove order for upgrade slots

This commit is contained in:
DBotThePony 2023-07-05 18:08:32 +07:00
parent 6d409f29f6
commit 0ad88d668c
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -770,14 +770,13 @@ abstract class MatteryMenu @JvmOverloads protected constructor(
object : MatterySlot(syncContainer, it) { object : MatterySlot(syncContainer, it) {
init { init {
mapQuickMoveToInventory(this) mapQuickMoveToInventory(this)
addStorageSlot(this, prepend = true, condition = { isOpen })
} }
override fun mayPlace(itemStack: ItemStack): Boolean { override fun mayPlace(itemStack: ItemStack): Boolean {
return super.mayPlace(itemStack) && itemStack.getCapability(MatteryCapability.UPGRADE).map { it.upgradeTypes.any { allowedTypes[it]!!.boolean } }.orElse(false) return super.mayPlace(itemStack) && itemStack.getCapability(MatteryCapability.UPGRADE).map { it.upgradeTypes.any { allowedTypes[it]!!.boolean } }.orElse(false)
} }
} }
}, }.also { for (i in it.indices.reversed()) addStorageSlot(it[i], prepend = true, condition = { isOpen }) },
allowedTypes = ConditionalEnumSet(allowedTypes), allowedTypes = ConditionalEnumSet(allowedTypes),
openState = GetterSetter.of({ isOpen }, { input.input(it); isOpen = it }), openState = GetterSetter.of({ isOpen }, { input.input(it); isOpen = it }),