Merge ChargeMenuSlot into BatteryMenuSlot
This commit is contained in:
parent
4dad60dfbb
commit
e699147f9f
@ -33,6 +33,7 @@ import ru.dbotthepony.kommons.util.Delegate
|
|||||||
import ru.dbotthepony.kommons.util.getValue
|
import ru.dbotthepony.kommons.util.getValue
|
||||||
import ru.dbotthepony.kommons.util.setValue
|
import ru.dbotthepony.kommons.util.setValue
|
||||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||||
|
import ru.dbotthepony.mc.otm.capability.FlowDirection
|
||||||
import ru.dbotthepony.mc.otm.capability.energy.ProfiledEnergyStorage
|
import ru.dbotthepony.mc.otm.capability.energy.ProfiledEnergyStorage
|
||||||
import ru.dbotthepony.mc.otm.capability.matteryPlayer
|
import ru.dbotthepony.mc.otm.capability.matteryPlayer
|
||||||
import ru.dbotthepony.mc.otm.compat.cos.cosmeticArmorSlots
|
import ru.dbotthepony.mc.otm.compat.cos.cosmeticArmorSlots
|
||||||
@ -311,10 +312,10 @@ abstract class MatteryMenu(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (mattery.hasExopack) {
|
if (mattery.hasExopack) {
|
||||||
_exopackChargeSlots.add(BatteryMenuSlot(mattery.exopackEnergy.parent, 0).also { mapQuickMoveToExternal(it); mapQuickMoveToInventory(it); addSlot(it) })
|
_exopackChargeSlots.add(BatteryMenuSlot(mattery.exopackEnergy.parent, 0, direction = FlowDirection.OUTPUT).also { mapQuickMoveToExternal(it); mapQuickMoveToInventory(it); addSlot(it) })
|
||||||
|
|
||||||
for (i in 0 until mattery.exopackChargeSlots.containerSize)
|
for (i in 0 until mattery.exopackChargeSlots.containerSize)
|
||||||
_exopackChargeSlots.add(ChargeMenuSlot(mattery.exopackChargeSlots, i).also { mapQuickMoveToExternal(it); mapQuickMoveToInventory(it); addSlot(it) })
|
_exopackChargeSlots.add(BatteryMenuSlot(mattery.exopackChargeSlots, i, direction = FlowDirection.INPUT).also { mapQuickMoveToExternal(it); mapQuickMoveToInventory(it); addSlot(it) })
|
||||||
}
|
}
|
||||||
|
|
||||||
sortInventoryInput = SortInput(mattery.inventoryAndExopackNoHotbar, playerSortSettings)
|
sortInventoryInput = SortInput(mattery.inventoryAndExopackNoHotbar, playerSortSettings)
|
||||||
|
@ -16,6 +16,7 @@ import ru.dbotthepony.mc.otm.capability.IMatteryUpgrade
|
|||||||
import ru.dbotthepony.mc.otm.capability.MatteryCapability
|
import ru.dbotthepony.mc.otm.capability.MatteryCapability
|
||||||
import ru.dbotthepony.mc.otm.capability.UpgradeType
|
import ru.dbotthepony.mc.otm.capability.UpgradeType
|
||||||
import ru.dbotthepony.mc.otm.capability.energy
|
import ru.dbotthepony.mc.otm.capability.energy
|
||||||
|
import ru.dbotthepony.mc.otm.capability.energy.IMatteryEnergyStorage
|
||||||
import ru.dbotthepony.mc.otm.client.minecraft
|
import ru.dbotthepony.mc.otm.client.minecraft
|
||||||
import ru.dbotthepony.mc.otm.container.EnhancedContainer
|
import ru.dbotthepony.mc.otm.container.EnhancedContainer
|
||||||
import ru.dbotthepony.mc.otm.container.IEnhancedContainer
|
import ru.dbotthepony.mc.otm.container.IEnhancedContainer
|
||||||
@ -146,6 +147,7 @@ open class BatteryMenuSlot(container: Container, index: Int, x: Int = 0, y: Int
|
|||||||
return false
|
return false
|
||||||
|
|
||||||
val energy = itemStack.energy ?: return false
|
val energy = itemStack.energy ?: return false
|
||||||
|
if (energy is IMatteryEnergyStorage) return direction.test(energy.energyFlow)
|
||||||
return direction.test(FlowDirection.of(energy.canReceive(), energy.canExtract()))
|
return direction.test(FlowDirection.of(energy.canReceive(), energy.canExtract()))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -156,12 +158,6 @@ open class ChemicalFuelMenuSlot(container: Container, index: Int, x: Int = 0, y:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
open class ChargeMenuSlot(container: Container, index: Int, x: Int = 0, y: Int = 0) : MatteryMenuSlot(container, index, x, y) {
|
|
||||||
override fun mayPlace(itemStack: ItemStack): Boolean {
|
|
||||||
return super.mayPlace(itemStack) && (itemStack.energy?.canReceive() ?: false)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
open class MatterContainerInputMenuSlot(
|
open class MatterContainerInputMenuSlot(
|
||||||
container: Container,
|
container: Container,
|
||||||
index: Int,
|
index: Int,
|
||||||
|
Loading…
Reference in New Issue
Block a user