From aa02ca5fc3327aa206c7529a21b806ead4fbc75c Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Mon, 4 Jul 2016 02:37:11 +0200 Subject: [PATCH] Fix wireless grid not charging in EU --- .../java/refinedstorage/RefinedStorageUtils.java | 12 ++++++++---- .../tile/controller/TileController.java | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/java/refinedstorage/RefinedStorageUtils.java b/src/main/java/refinedstorage/RefinedStorageUtils.java index 4fbdca2a2..55c0cce08 100755 --- a/src/main/java/refinedstorage/RefinedStorageUtils.java +++ b/src/main/java/refinedstorage/RefinedStorageUtils.java @@ -298,14 +298,18 @@ public final class RefinedStorageUtils { } } - // Keep this on par with the Forestry generators - // 1 EU is worth 4 RF + // Keep this on par with the Forestry generators (1 EU is worth 4 RF) public static int convertIC2ToRF(double amount) { - return (int) amount * 4; + // IC2 passes infinity sometimes as a simulate test + if (amount >= Double.POSITIVE_INFINITY) { + return Integer.MAX_VALUE; + } + + return (int) Math.floor(amount) * 4; } public static double convertRFToIC2(int amount) { - return amount / 4; + return Math.floor(amount / 4); } public static ItemStack extractItem(INetworkMaster network, ItemStack stack, int size) { diff --git a/src/main/java/refinedstorage/tile/controller/TileController.java b/src/main/java/refinedstorage/tile/controller/TileController.java index e86e9d134..a57bcc206 100755 --- a/src/main/java/refinedstorage/tile/controller/TileController.java +++ b/src/main/java/refinedstorage/tile/controller/TileController.java @@ -101,7 +101,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR private List craftingTasksToCancel = new ArrayList(); private EnergyStorage energy = new EnergyStorage(RefinedStorage.INSTANCE.controller); - private BasicSink IC2Energy = new BasicSink(this, energy.getMaxEnergyStored(), Integer.MAX_VALUE) { + private BasicSink IC2Energy = new BasicSink(this, (int) convertRFToIC2(energy.getMaxEnergyStored()), Integer.MAX_VALUE) { @Override public double getDemandedEnergy() { return Math.max(0.0D, convertRFToIC2(energy.getMaxEnergyStored()) - convertRFToIC2(energy.getEnergyStored()));