Use moveEnergy in Energy Servo

This commit is contained in:
DBotThePony 2025-03-10 09:58:42 +07:00
parent 5e23300ddf
commit 847ec81928
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -14,6 +14,7 @@ import ru.dbotthepony.mc.otm.capability.energy.ProfiledEnergyStorage
import ru.dbotthepony.mc.otm.capability.energyStoredMattery
import ru.dbotthepony.mc.otm.capability.extractEnergy
import ru.dbotthepony.mc.otm.capability.maxEnergyStoredMattery
import ru.dbotthepony.mc.otm.capability.moveEnergy
import ru.dbotthepony.mc.otm.capability.receiveEnergy
import ru.dbotthepony.mc.otm.container.MatteryContainer
import ru.dbotthepony.mc.otm.container.HandlerFilter
@ -89,19 +90,7 @@ class EnergyServoBlockEntity(blockPos: BlockPos, blockState: BlockState) : Matte
val chargeEnergy = charge.energy ?: return
val dischargeEnergy = discharge.energy ?: return
val extracted = dischargeEnergy.extractEnergy(Decimal.LONG_MAX_VALUE, true)
if (extracted.isPositive) {
val received = chargeEnergy.receiveEnergy(extracted, true)
if (received.isPositive) {
val extracted2 = dischargeEnergy.extractEnergy(received, false)
if (extracted2 == received) {
chargeEnergy.receiveEnergy(dischargeEnergy.extractEnergy(received, false), false)
}
}
}
moveEnergy(source = dischargeEnergy, destination = chargeEnergy, amount = Decimal.LONG_MAX_VALUE, simulate = false)
}
}
}