Use moveEnergy in Energy Servo
This commit is contained in:
parent
5e23300ddf
commit
847ec81928
@ -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.energyStoredMattery
|
||||||
import ru.dbotthepony.mc.otm.capability.extractEnergy
|
import ru.dbotthepony.mc.otm.capability.extractEnergy
|
||||||
import ru.dbotthepony.mc.otm.capability.maxEnergyStoredMattery
|
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.capability.receiveEnergy
|
||||||
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
||||||
import ru.dbotthepony.mc.otm.container.HandlerFilter
|
import ru.dbotthepony.mc.otm.container.HandlerFilter
|
||||||
@ -89,19 +90,7 @@ class EnergyServoBlockEntity(blockPos: BlockPos, blockState: BlockState) : Matte
|
|||||||
val chargeEnergy = charge.energy ?: return
|
val chargeEnergy = charge.energy ?: return
|
||||||
val dischargeEnergy = discharge.energy ?: return
|
val dischargeEnergy = discharge.energy ?: return
|
||||||
|
|
||||||
val extracted = dischargeEnergy.extractEnergy(Decimal.LONG_MAX_VALUE, true)
|
moveEnergy(source = dischargeEnergy, destination = chargeEnergy, amount = Decimal.LONG_MAX_VALUE, simulate = false)
|
||||||
|
|
||||||
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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user