From df5c8dc6aa95d14185f0d893f8eaea52201a6dd6 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Sun, 16 Mar 2025 00:31:05 +0700 Subject: [PATCH] Make Matter Decomposer throttle for 1 tick when buffer can't fit all matter produced --- .../entity/matter/MatterDecomposerBlockEntity.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterDecomposerBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterDecomposerBlockEntity.kt index 8ed8a703e..c4d753c96 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterDecomposerBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterDecomposerBlockEntity.kt @@ -106,10 +106,15 @@ class MatterDecomposerBlockEntity(pos: BlockPos, state: BlockState) if (!status.job.matterValue.isZero) status.throttleFast() } else { - status.job.matterValue -= matter.receiveMatter(status.job.matterValue, false) + val received = matter.receiveMatter(status.job.matterValue, false) + status.job.matterValue -= received - if (status.job.matterValue.isPositive) - status.noMatter() + if (status.job.matterValue.isPositive) { + if (received.isPositive) + status.noMatter(1) + else + status.noMatter() + } } }