This commit is contained in:
DBotThePony 2025-02-21 18:24:58 +07:00
parent 0b5ff224f8
commit e57dbe5814
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -192,16 +192,19 @@ class MatterReplicatorBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
val job = status.job val job = status.job
val drainPerTick = job.matterPerTick * status.ticksAdvanced val drainPerTick = job.matterPerTick * status.ticksAdvanced
if (matter.extractMatter(drainPerTick, true) < drainPerTick) { if (drainPerTick.isPositive) {
val toDrain = (drainPerTick * Decimal(200)) if (matter.extractMatter(drainPerTick, true) < drainPerTick) {
.coerceAtMost(job.matterPerTick * (status.ticks - status.workTicks + status.ticksAdvanced)) val toDrain = (drainPerTick * Decimal(200))
.coerceAtLeast(Decimal.ONE) .coerceAtMost(job.matterPerTick * (status.ticks - status.workTicks + status.ticksAdvanced))
.coerceAtMost(matter.missingMatter) .coerceAtLeast(Decimal.ONE)
.coerceAtMost(matter.missingMatter)
matter.receiveMatter(matterNode.graph.extractMatter(toDrain, false), false) matter.receiveMatter(matterNode.graph.extractMatter(toDrain, false), false)
}
status.scale(matter.extractMatter(drainPerTick, false) / drainPerTick)
} }
status.scale(matter.extractMatter(drainPerTick, false) / drainPerTick)
visualProgress = status.workProgress visualProgress = status.workProgress
} }
} }