From 3b564d5f928fd9dad1b4b9063353b2aede4a370f Mon Sep 17 00:00:00 2001 From: BallOfEnergy1 Date: Wed, 15 Mar 2023 17:29:16 -0500 Subject: [PATCH] Fixed some crucial issues with the heater OC compatibility, along with some added functionality for detecting core and skin heat of rods in the RBMK fuel columns. --- .../machine/rbmk/TileEntityRBMKHeater.java | 43 ++++++++++++++++++- .../machine/rbmk/TileEntityRBMKRod.java | 19 ++++++++ 2 files changed, 61 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java index f17914d3f..15469487b 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java @@ -278,7 +278,48 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I @Override public String getComponentName() { - return "rbmk_control_rod"; + return "rbmk_heater"; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getHeat(Context context, Arguments args) { + return new Object[] {heat}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getFill(Context context, Arguments args) { + return new Object[] {feed.getFill()}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getFillMax(Context context, Arguments args) { + return new Object[] {feed.getMaxFill()}; + } + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getExport(Context context, Arguments args) { + return new Object[] {steam.getFill()}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getExportMax(Context context, Arguments args) { + return new Object[] {steam.getMaxFill()}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getFillType(Context context, Arguments args) { + return new Object[] {feed.getTankType().getID()}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getExportType(Context context, Arguments args) { + return new Object[] {steam.getTankType().getID()}; } @Callback diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java index 35edbe368..c9b3f22e8 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -420,6 +420,25 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM } return new Object[] {"N/A"}; } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getCoreHeat(Context context, Arguments args) { + if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { + return new Object[] {ItemRBMKRod.getCoreHeat(slots[0])}; + } + return new Object[] {"N/A"}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getSkinHeat(Context context, Arguments args) { + if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { + return new Object[] {ItemRBMKRod.getHullHeat(slots[0])}; + } + return new Object[] {"N/A"}; + } + @Callback @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) {