Update MatteryPoweredBlockEntity battery container to use SlottedContainer
This commit is contained in:
parent
d76f2fe015
commit
7f9af78734
@ -7,12 +7,12 @@ import ru.dbotthepony.mc.otm.capability.energy
|
|||||||
import ru.dbotthepony.mc.otm.capability.energy.IMatteryEnergyStorage
|
import ru.dbotthepony.mc.otm.capability.energy.IMatteryEnergyStorage
|
||||||
import ru.dbotthepony.mc.otm.capability.extractEnergy
|
import ru.dbotthepony.mc.otm.capability.extractEnergy
|
||||||
import ru.dbotthepony.mc.otm.container.HandlerFilter
|
import ru.dbotthepony.mc.otm.container.HandlerFilter
|
||||||
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
import ru.dbotthepony.mc.otm.container.slotted.AutomationFilters
|
||||||
|
import ru.dbotthepony.mc.otm.container.slotted.SlottedContainer
|
||||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||||
|
|
||||||
abstract class MatteryPoweredBlockEntity(p_155228_: BlockEntityType<*>, p_155229_: BlockPos, p_155230_: BlockState) : MatteryDeviceBlockEntity(p_155228_, p_155229_, p_155230_) {
|
abstract class MatteryPoweredBlockEntity(p_155228_: BlockEntityType<*>, p_155229_: BlockPos, p_155230_: BlockState) : MatteryDeviceBlockEntity(p_155228_, p_155229_, p_155230_) {
|
||||||
val batteryContainer = MatteryContainer(::markDirtyFast, 1).also(::addDroppableContainer)
|
val batteryContainer = SlottedContainer.simple(1, AutomationFilters.DISCHARGABLE.simpleProvider, ::markDirtyFast).also(::addDroppableContainer)
|
||||||
val batteryItemHandler = batteryContainer.handler(HandlerFilter.Dischargeable)
|
|
||||||
open val energy: IMatteryEnergyStorage?
|
open val energy: IMatteryEnergyStorage?
|
||||||
get() = null
|
get() = null
|
||||||
|
|
||||||
|
@ -85,7 +85,7 @@ class MatterBottlerBlockEntity(blockPos: BlockPos, blockState: BlockState) :
|
|||||||
val itemConfig = ConfigurableItemHandler(
|
val itemConfig = ConfigurableItemHandler(
|
||||||
input = inputHandler,
|
input = inputHandler,
|
||||||
output = outputHandler,
|
output = outputHandler,
|
||||||
battery = batteryItemHandler
|
battery = batteryContainer
|
||||||
)
|
)
|
||||||
|
|
||||||
val matter: ProfiledMatterStorage<MatterStorageImpl> = ProfiledMatterStorage(object : MatterStorageImpl(this@MatterBottlerBlockEntity::markDirtyFast, FlowDirection.BI_DIRECTIONAL, upgrades.matterCapacity(MachinesConfig.MatterBottler.VALUES::matterCapacity)) {
|
val matter: ProfiledMatterStorage<MatterStorageImpl> = ProfiledMatterStorage(object : MatterStorageImpl(this@MatterBottlerBlockEntity::markDirtyFast, FlowDirection.BI_DIRECTIONAL, upgrades.matterCapacity(MachinesConfig.MatterBottler.VALUES::matterCapacity)) {
|
||||||
|
@ -78,7 +78,7 @@ sealed class AbstractPoweredFurnaceBlockEntity<P : AbstractCookingRecipe, S : Ma
|
|||||||
val itemConfig = ConfigurableItemHandler(
|
val itemConfig = ConfigurableItemHandler(
|
||||||
input = inputs.handler(HandlerFilter.OnlyIn),
|
input = inputs.handler(HandlerFilter.OnlyIn),
|
||||||
output = outputs.handler(HandlerFilter.OnlyOut),
|
output = outputs.handler(HandlerFilter.OnlyOut),
|
||||||
battery = batteryItemHandler
|
battery = batteryContainer
|
||||||
)
|
)
|
||||||
|
|
||||||
init {
|
init {
|
||||||
|
@ -6,6 +6,7 @@ import ru.dbotthepony.mc.otm.block.entity.MatteryPoweredBlockEntity
|
|||||||
import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget
|
import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget
|
||||||
import net.minecraft.world.SimpleContainer
|
import net.minecraft.world.SimpleContainer
|
||||||
import ru.dbotthepony.mc.otm.block.entity.RedstoneSetting
|
import ru.dbotthepony.mc.otm.block.entity.RedstoneSetting
|
||||||
|
import ru.dbotthepony.mc.otm.container.slotted.SlottedContainer
|
||||||
import ru.dbotthepony.mc.otm.menu.input.EnumInputWithFeedback
|
import ru.dbotthepony.mc.otm.menu.input.EnumInputWithFeedback
|
||||||
|
|
||||||
abstract class MatteryPoweredMenu protected constructor(
|
abstract class MatteryPoweredMenu protected constructor(
|
||||||
@ -15,7 +16,7 @@ abstract class MatteryPoweredMenu protected constructor(
|
|||||||
tile: MatteryPoweredBlockEntity? = null
|
tile: MatteryPoweredBlockEntity? = null
|
||||||
) : MatteryMenu(menuType, containerID, inventory, tile) {
|
) : MatteryMenu(menuType, containerID, inventory, tile) {
|
||||||
val energyWidget = LevelGaugeWidget(this, tile?.energy)
|
val energyWidget = LevelGaugeWidget(this, tile?.energy)
|
||||||
val batterySlot = BatteryMenuSlot(tile?.batteryContainer ?: SimpleContainer(1), 0)
|
val batterySlot = BatteryMenuSlot(tile?.batteryContainer ?: SlottedContainer.simple(1), 0)
|
||||||
val redstoneConfig = EnumInputWithFeedback<RedstoneSetting>(this)
|
val redstoneConfig = EnumInputWithFeedback<RedstoneSetting>(this)
|
||||||
|
|
||||||
init {
|
init {
|
||||||
|
Loading…
Reference in New Issue
Block a user