Move matter recycler config values to subobject

This commit is contained in:
DBotThePony 2023-07-27 20:51:58 +07:00
parent 7bc58bb7ff
commit 43d14486b7
Signed by: DBot
GPG Key ID: DCC23B5715498507
2 changed files with 13 additions and 19 deletions

View File

@ -44,11 +44,11 @@ class MatterRecyclerBlockEntity(blockPos: BlockPos, blockState: BlockState)
} }
} }
val matter = ProfiledMatterStorage(MatterStorageImpl(::matterLevelUpdated, FlowDirection.OUTPUT, MachinesConfig.MATTER_RECYCLER_CAPACITY::get)) val matter = ProfiledMatterStorage(MatterStorageImpl(::matterLevelUpdated, FlowDirection.OUTPUT, MachinesConfig.MatterRecycler.VALUES::matterCapacity))
val container = MatteryContainer(::itemContainerUpdated, 1).also(::addDroppableContainer) val container = MatteryContainer(::itemContainerUpdated, 1).also(::addDroppableContainer)
val matterNode = SimpleMatterNode(matter = matter) val matterNode = SimpleMatterNode(matter = matter)
val energy = ProfiledEnergyStorage(WorkerEnergyStorage(::energyLevelUpdated, MachinesConfig.MATTER_RECYCLER)) val energy = ProfiledEnergyStorage(WorkerEnergyStorage(::energyLevelUpdated, MachinesConfig.MatterRecycler.VALUES))
val itemConfig = ConfigurableItemHandler(input = container.handler(object : HandlerFilter { val itemConfig = ConfigurableItemHandler(input = container.handler(object : HandlerFilter {
override fun canInsert(slot: Int, stack: ItemStack): Boolean { override fun canInsert(slot: Int, stack: ItemStack): Boolean {
@ -117,8 +117,8 @@ class MatterRecyclerBlockEntity(blockPos: BlockPos, blockState: BlockState)
return JobContainer.success( return JobContainer.success(
RecyclerJob( RecyclerJob(
(actualMatter / MachinesConfig.MATTER_RECYCLER_MATTER_PER_TICK.get()).toDouble(), (actualMatter / MachinesConfig.MatterRecycler.MATTER_PER_TICK).toDouble(),
MachinesConfig.MATTER_RECYCLER.powerConsumption, MachinesConfig.MatterRecycler.VALUES.powerConsumption,
actualMatter actualMatter
) )
) )
@ -126,7 +126,7 @@ class MatterRecyclerBlockEntity(blockPos: BlockPos, blockState: BlockState)
override fun onJobTick(status: JobStatus<RecyclerJob>, id: Int) { override fun onJobTick(status: JobStatus<RecyclerJob>, id: Int) {
val job = status.job val job = status.job
val toReceive = job.totalMatter.coerceAtMost(MachinesConfig.MATTER_RECYCLER_MATTER_PER_TICK.get() * status.ticksAdvanced) val toReceive = job.totalMatter.coerceAtMost(MachinesConfig.MatterRecycler.MATTER_PER_TICK * status.ticksAdvanced)
if (toReceive.isZero) if (toReceive.isZero)
return status.success() return status.success()

View File

@ -1,17 +1,12 @@
package ru.dbotthepony.mc.otm.config package ru.dbotthepony.mc.otm.config
import ru.dbotthepony.mc.otm.block.entity.matter.MatterReconstructorBlockEntity
import ru.dbotthepony.mc.otm.block.entity.matter.MatterBottlerBlockEntity import ru.dbotthepony.mc.otm.block.entity.matter.MatterBottlerBlockEntity
import ru.dbotthepony.mc.otm.block.entity.matter.MatterDecomposerBlockEntity
import ru.dbotthepony.mc.otm.block.entity.matter.MatterReplicatorBlockEntity import ru.dbotthepony.mc.otm.block.entity.matter.MatterReplicatorBlockEntity
import ru.dbotthepony.mc.otm.block.entity.matter.MatterScannerBlockEntity
import ru.dbotthepony.mc.otm.block.entity.tech.AndroidStationBlockEntity import ru.dbotthepony.mc.otm.block.entity.tech.AndroidStationBlockEntity
import ru.dbotthepony.mc.otm.block.entity.tech.ChemicalGeneratorBlockEntity import ru.dbotthepony.mc.otm.block.entity.tech.ChemicalGeneratorBlockEntity
import ru.dbotthepony.mc.otm.capability.energy.BlockEnergyStorageImpl import ru.dbotthepony.mc.otm.capability.energy.BlockEnergyStorageImpl
import ru.dbotthepony.mc.otm.core.math.Decimal import ru.dbotthepony.mc.otm.core.math.Decimal
import ru.dbotthepony.mc.otm.core.math.DecimalConfigValue
import ru.dbotthepony.mc.otm.core.math.defineDecimal import ru.dbotthepony.mc.otm.core.math.defineDecimal
import ru.dbotthepony.mc.otm.core.util.WriteOnce
import ru.dbotthepony.mc.otm.registry.MNames import ru.dbotthepony.mc.otm.registry.MNames
object MachinesConfig : AbstractConfig("machines") { object MachinesConfig : AbstractConfig("machines") {
@ -44,21 +39,20 @@ object MachinesConfig : AbstractConfig("machines") {
powerConsumption = Decimal(80), powerConsumption = Decimal(80),
) )
var MATTER_RECYCLER_MATTER_PER_TICK: DecimalConfigValue by WriteOnce() private val MATTER_RECYCLER = workerValues(
private set
var MATTER_RECYCLER_CAPACITY: DecimalConfigValue by WriteOnce()
private set
val MATTER_RECYCLER = workerValues(
MNames.MATTER_RECYCLER, MNames.MATTER_RECYCLER,
energyStorage = Decimal(80_000), energyStorage = Decimal(80_000),
energyThroughput = Decimal(400), energyThroughput = Decimal(400),
powerConsumption = Decimal(100), powerConsumption = Decimal(100),
matterCapacity = Decimal(400),
workTimeMultiplier = null workTimeMultiplier = null
) { ) {
MATTER_RECYCLER_MATTER_PER_TICK = defineDecimal("MATTER_PER_TICK", Decimal("0.5")) MatterRecycler
MATTER_RECYCLER_CAPACITY = defineDecimal("MATTER_CAPACITY", Decimal(400), Decimal.ONE) }
object MatterRecycler {
val VALUES by ::MATTER_RECYCLER
val MATTER_PER_TICK by builder.defineDecimal("MATTER_PER_TICK", Decimal("0.5"))
} }
private val MATTER_RECONSTRUCTOR = workerValues( private val MATTER_RECONSTRUCTOR = workerValues(