From 4279840a231aee336269c566b118b3dbdd32782d Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Sat, 6 Jan 2024 21:09:14 +0700 Subject: [PATCH 1/2] Fix being able to switch inventory charge flag before getting exopack --- src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt index 572c30eb7..89c3636fe 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt @@ -291,7 +291,7 @@ abstract class MatteryMenu( chargeFlag = GetterSetter.of( getter = { slotIndex in mattery.slotsChargeFlag }, - setter = booleanInput(true) { if (it) mattery.slotsChargeFlag.add(slotIndex) else mattery.slotsChargeFlag.remove(slotIndex) }::accept + setter = booleanInput(true) { if (mattery.hasExopack) { if (it) mattery.slotsChargeFlag.add(slotIndex) else mattery.slotsChargeFlag.remove(slotIndex) } }::accept ) } } From e5b3d6bf0c34866cf2f93790349b035f69d3d699 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Sat, 6 Jan 2024 23:10:14 +0700 Subject: [PATCH 2/2] Fix machines turning into disco ball when one slot is working and other is errored --- .../mc/otm/block/entity/MatteryWorkerBlockEntity.kt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/MatteryWorkerBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/MatteryWorkerBlockEntity.kt index a89abd728..45499d6fe 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/MatteryWorkerBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/MatteryWorkerBlockEntity.kt @@ -151,12 +151,12 @@ abstract class MatteryWorkerBlockEntity( jobEventLoops.forEach { it.think() } if (hasWorkerState) { - if (jobEventLoops.any { it.workingTicksAnim > 20 } && !isWorkingState) { - level?.setBlock(blockPos, blockState.setValue(WorkerState.WORKER_STATE, WorkerState.WORKING), Block.UPDATE_CLIENTS) - } else if (jobEventLoops.any { it.errorTicksAnim > 20 } && !isErrorState) { - level?.setBlock(blockPos, blockState.setValue(WorkerState.WORKER_STATE, WorkerState.ERROR), Block.UPDATE_CLIENTS) - } else if (jobEventLoops.all { it.idleTicksAnim > 20 } && !isIdleState) { - level?.setBlock(blockPos, blockState.setValue(WorkerState.WORKER_STATE, WorkerState.IDLE), Block.UPDATE_CLIENTS) + if (jobEventLoops.any { it.workingTicksAnim > 20 }) { + if (!isWorkingState) level?.setBlock(blockPos, blockState.setValue(WorkerState.WORKER_STATE, WorkerState.WORKING), Block.UPDATE_CLIENTS) + } else if (jobEventLoops.any { it.errorTicksAnim > 20 }) { + if (!isErrorState) level?.setBlock(blockPos, blockState.setValue(WorkerState.WORKER_STATE, WorkerState.ERROR), Block.UPDATE_CLIENTS) + } else if (jobEventLoops.all { it.idleTicksAnim > 20 }) { + if (!isIdleState) level?.setBlock(blockPos, blockState.setValue(WorkerState.WORKER_STATE, WorkerState.IDLE), Block.UPDATE_CLIENTS) } } }