YuRaNnNzZZ — Сегодня, в 15:51

он при репликации берёт какое-то количество
и оставляет после репликации
This commit is contained in:
DBotThePony 2023-02-28 17:27:39 +07:00
parent b142faaac3
commit 8319b7c26d
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -210,7 +210,7 @@ class MatterReplicatorBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
} }
override fun onWorkTick(requiredPower: Decimal, extractedPower: Decimal, ticksAdvanced: Double, job: ReplicatorJob): Status { override fun onWorkTick(requiredPower: Decimal, extractedPower: Decimal, ticksAdvanced: Double, job: ReplicatorJob): Status {
val drainPerTick = currentJob!!.matterPerTick * ticksAdvanced val drainPerTick = job.matterPerTick * ticksAdvanced
val graph = matterNode.graph as MatterNetworkGraph? ?: return Status.FAILURE_WAIT_FAST val graph = matterNode.graph as MatterNetworkGraph? ?: return Status.FAILURE_WAIT_FAST
if (matter.extractMatterInner(drainPerTick, true) < drainPerTick) { if (matter.extractMatterInner(drainPerTick, true) < drainPerTick) {
@ -233,7 +233,9 @@ class MatterReplicatorBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
} else { } else {
// в тик требуется меньше материи, чем её может хранить репликатор // в тик требуется меньше материи, чем её может хранить репликатор
// примем из сети недостающее количество бака материи, или 200 тиков репликации, что меньше // примем из сети недостающее количество бака материи, или 200 тиков репликации, что меньше
val drain = graph.extractMatter(matter.missingMatter.coerceAtMost(drainPerTick * DRAIN_MULT), true) val drain = graph.extractMatter(matter.missingMatter
.coerceAtMost(drainPerTick * DRAIN_MULT)
.coerceAtMost(job.matterPerTick * (job.ticks - workTicks - ticksAdvanced)), true)
if (drain.isZero) { if (drain.isZero) {
// в сети нет материи // в сети нет материи