From 934e3ca8c78426b074877978129f5ce78912e910 Mon Sep 17 00:00:00 2001 From: CrazyPants Date: Tue, 21 Jan 2025 19:40:53 +0800 Subject: [PATCH] fix: Conduit energy distribution --- .../type/energy/EnergyConduitTicker.java | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/enderio-conduits/src/main/java/com/enderio/conduits/common/conduit/type/energy/EnergyConduitTicker.java b/enderio-conduits/src/main/java/com/enderio/conduits/common/conduit/type/energy/EnergyConduitTicker.java index f554b2fda4..33dc7f72de 100644 --- a/enderio-conduits/src/main/java/com/enderio/conduits/common/conduit/type/energy/EnergyConduitTicker.java +++ b/enderio-conduits/src/main/java/com/enderio/conduits/common/conduit/type/energy/EnergyConduitTicker.java @@ -5,6 +5,8 @@ import com.enderio.conduits.api.ticker.IOAwareConduitTicker; import com.enderio.conduits.common.conduit.block.ConduitBundleBlockEntity; import com.enderio.conduits.common.init.Conduits; +import java.util.ArrayList; +import java.util.List; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; @@ -13,20 +15,19 @@ import net.neoforged.neoforge.capabilities.Capabilities; import net.neoforged.neoforge.energy.IEnergyStorage; -import java.util.ArrayList; -import java.util.List; - public class EnergyConduitTicker implements IOAwareConduitTicker { public EnergyConduitTicker() { } @Override - public void tickColoredGraph(ServerLevel level, EnergyConduit conduit, List inserts, List extracts, DyeColor color, - ConduitNetwork graph, ColoredRedstoneProvider coloredRedstoneProvider) { + public void tickColoredGraph(ServerLevel level, EnergyConduit conduit, List inserts, + List extracts, DyeColor color, ConduitNetwork graph, + ColoredRedstoneProvider coloredRedstoneProvider) { - // Adjust for tick rate. Always flow up so we are at minimum meeting the required rate. - int transferRate = (int)Math.ceil(conduit.transferRatePerTick() * (20.0 / conduit.graphTickRate())); + // Adjust for tick rate. Always flow up so we are at minimum meeting the + // required rate. + int transferRate = (int) Math.ceil(conduit.transferRatePerTick() * (20.0 / conduit.graphTickRate())); EnergyConduitNetworkContext context = graph.getContext(Conduits.ContextSerializers.ENERGY.get()); if (context == null) { @@ -39,7 +40,8 @@ public void tickColoredGraph(ServerLevel level, EnergyConduit conduit, List storagesForInsert = new ArrayList<>(); for (var insert : inserts) { - IEnergyStorage capability = level.getCapability(Capabilities.EnergyStorage.BLOCK, insert.move(), insert.direction().getOpposite()); + IEnergyStorage capability = level.getCapability(Capabilities.EnergyStorage.BLOCK, insert.move(), + insert.direction().getOpposite()); if (capability != null) { storagesForInsert.add(capability); } @@ -64,6 +66,11 @@ public void tickColoredGraph(ServerLevel level, EnergyConduit conduit, List