From d654762a0e70460122b4085e6f23aa2e468b5fdf Mon Sep 17 00:00:00 2001 From: Timo Ley Date: Sun, 11 Apr 2021 11:09:33 +0200 Subject: [PATCH] Added output/input check --- .../circuit/source/battery/TileBattery.scala | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/main/scala/edx/electrical/circuit/source/battery/TileBattery.scala b/src/main/scala/edx/electrical/circuit/source/battery/TileBattery.scala index 4fd004a18..7df9d790e 100644 --- a/src/main/scala/edx/electrical/circuit/source/battery/TileBattery.scala +++ b/src/main/scala/edx/electrical/circuit/source/battery/TileBattery.scala @@ -289,23 +289,29 @@ class TileBattery extends ResonantTile(Material.iron) with TIO with TBlockNodePr } override def receiveEnergy(side: ForgeDirection, i: Int, b: Boolean): Int = { - val joule: Double = i * 50 - val maxReceive = Math.min(joule, energy.max - energy.value) - if (!b) { - energy.setValue(energy.value + maxReceive) - markUpdate() + if (getInputDirections().contains(side)) { + val joule: Double = i * 50 + val maxReceive = Math.min(joule, energy.max - energy.value) + if (!b) { + energy.setValue(energy.value + maxReceive) + markUpdate() + } + return (maxReceive / 50).asInstanceOf[Int] } - return (maxReceive / 50).asInstanceOf[Int] + return 0 } override def extractEnergy(side: ForgeDirection, i: Int, b: Boolean): Int = { - val joule: Double = i * 50 - val maxExtract = Math.min(joule, energy.value) - if (!b) { - energy.setValue(energy.value - maxExtract) - markUpdate() + if (getOutputDirections().contains(side)) { + val joule: Double = i * 50 + val maxExtract = Math.min(joule, energy.value) + if (!b) { + energy.setValue(energy.value - maxExtract) + markUpdate() + } + return (maxExtract / 50).asInstanceOf[Int] } - return (maxExtract / 50).asInstanceOf[Int] + return 0 } override def getEnergyStored(side: ForgeDirection): Int = {