From 6b381821b881df96bc5950651cb577d193085cf1 Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 14 Aug 2023 16:40:14 +0200 Subject: [PATCH] FENSU and DFC fixes --- .../machine/TileEntityCoreEmitter.java | 3 ++ .../storage/TileEntityMachineFENSU.java | 26 ++++++++++++++++++ .../gui/processing/gui_catalytic_reformer.png | Bin 5357 -> 5356 bytes .../hbm/textures/gui/reactors/gui_pwr.png | Bin 0 -> 5843 bytes 4 files changed, 29 insertions(+) create mode 100644 src/main/resources/assets/hbm/textures/gui/reactors/gui_pwr.png diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java index 95b972949..3f0f6bba4 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java @@ -43,6 +43,7 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne public boolean isOn; public FluidTank tank; public long prev; + public static long maxJoules = Long.MAX_VALUE / 100_000; public static final int range = 50; @@ -98,6 +99,8 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); for(int i = 1; i <= range; i++) { + if(out > maxJoules) out = maxJoules; + beam = i; int x = xCoord + dir.offsetX * i; diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java index b936d41b8..eea2287d6 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java @@ -146,4 +146,30 @@ public class TileEntityMachineFENSU extends TileEntityMachineBattery { public double getMaxRenderDistanceSquared() { return 65536.0D; } + + @Override + public long transferPower(long power) { + + long overshoot = 0; + + // if power exceeds our transfer limit, truncate + if(power > maxTransfer) { + overshoot += power - maxTransfer; + power = maxTransfer; + } + + // this check is in essence the same as the default implementation, but re-arranged to never overflow the int64 range + // if the remaining power exceeds the power cap, truncate again + long freespace = this.getMaxPower() - this.getPower(); + + if(freespace < power) { + overshoot += power - freespace; + power = freespace; + } + + // what remains is sure to not exceed the transfer limit and the power cap (and therefore the int64 range) + this.setPower(this.getPower() + power); + + return overshoot; + } } diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_catalytic_reformer.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_catalytic_reformer.png index 27b5d21fd3b8d4301307a7b7994b6e6a11551891..077d004fd381c2d6147f8d9563c16b672e1bf44c 100644 GIT binary patch literal 5356 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 F{|~=%;=%v` literal 5357 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