diff --git a/src/main/java/aztech/modern_industrialization/api/energy/EnergyApi.java b/src/main/java/aztech/modern_industrialization/api/energy/EnergyApi.java index 801d6fbbb..8b6c08043 100644 --- a/src/main/java/aztech/modern_industrialization/api/energy/EnergyApi.java +++ b/src/main/java/aztech/modern_industrialization/api/energy/EnergyApi.java @@ -206,6 +206,7 @@ public boolean canConnect(CableTier cableTier) { @Override public long receive(long maxReceive, boolean simulate) { long ratio = ratio(); + maxReceive = Math.min(maxReceive, Long.MAX_VALUE / ratio); // avoid overflow maxReceive *= ratio; if (ratio > 1) { // Do a simulate insertion to round down to a multiple of ratio that should be accepted. @@ -217,6 +218,7 @@ public long receive(long maxReceive, boolean simulate) { @Override public long extract(long maxExtract, boolean simulate) { long ratio = ratio(); + maxExtract = Math.min(maxExtract, Long.MAX_VALUE / ratio); // avoid overflow maxExtract *= ratio; if (ratio > 1) { // Do a simulate extraction to round down to a multiple of ratio that should be accepted.