From fa0f3cb0edc0e5ea476c037f3d97ee02f7fee54b Mon Sep 17 00:00:00 2001 From: Agarmal Date: Fri, 17 Jan 2025 11:01:01 +0100 Subject: [PATCH] Added value clamping to the ventCarbonDioxide function on the Zirnox, also no longer writes the value before correcting if it's negative. --- .../com/hbm/tileentity/machine/TileEntityReactorZirnox.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java index a9d1ab51d..7731afdba 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java @@ -516,11 +516,9 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC @Callback(direct = true) @Optional.Method(modid = "OpenComputers") public Object[] ventCarbonDioxide(Context context, Arguments args) { - int ventAmount = args.optInteger(0, 1000); // Get how much CO2 to vent in mB (1000mB default) + int ventAmount = Math.max(Math.min(args.optInteger(0, 1000), carbonDioxide.getMaxFill()), 0); // Get how much CO2 to vent in mB (1000mB default), clamp between 0 and carbonDioxide's max fill. int fill = this.carbonDioxide.getFill(); - this.carbonDioxide.setFill(fill - ventAmount); - if(this.carbonDioxide.getFill() < 0) - this.carbonDioxide.setFill(0); + this.carbonDioxide.setFill(Math.max(fill - ventAmount, 0)); // Make sure it isn't a negative number. return new Object[] {}; }