From 6f314c3996e0dd206d0c96b743ea0aba019e4865 Mon Sep 17 00:00:00 2001 From: Kellen Hurrey Date: Mon, 22 Sep 2025 16:25:34 -0600 Subject: [PATCH] Added more info to getColumnData, added control rod targets --- .../machine/rbmk/TileEntityRBMKConsole.java | 27 +++++++++- .../machine/rbmk/TileEntityRBMKControl.java | 53 ++++++++++--------- 2 files changed, 52 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java index 8770be8e4..3f939388f 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java @@ -602,10 +602,11 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon LinkedHashMap data_table = new LinkedHashMap<>(); data_table.put("type", column.getConsoleType().name()); data_table.put("hullTemp", column_data.getDouble("heat")); - data_table.put("realSimWater", column_data.getDouble("water")); - data_table.put("realSimSteam", column_data.getDouble("steam")); + data_table.put("realSimWater", column.reasimWater); + data_table.put("realSimSteam", column.reasimSteam); data_table.put("moderated", column_data.getBoolean("moderated")); data_table.put("level", column_data.getDouble("level")); + data_table.put("targetLevel", column_data.getDouble("targetLevel")); data_table.put("color", column_data.getShort("color")); data_table.put("enrichment", column_data.getDouble("enrichment")); data_table.put("xenon", column_data.getDouble("xenon")); @@ -613,16 +614,31 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon data_table.put("coreTemp", column_data.getDouble("c_coreHeat")); data_table.put("coreMaxTemp", column_data.getDouble("c_maxHeat")); + if (te instanceof TileEntityRBMKControlAuto){ + TileEntityRBMKControlAuto controlAuto = (TileEntityRBMKControlAuto) te; + data_table.put("function", controlAuto.function.toString()); + data_table.put("heatUpper", controlAuto.heatUpper); + data_table.put("heatLower", controlAuto.heatLower); + data_table.put("levelUpper", controlAuto.levelUpper); + data_table.put("levelLower",controlAuto.levelLower); + } + if(te instanceof TileEntityRBMKRod){ TileEntityRBMKRod fuelChannel = (TileEntityRBMKRod)te; data_table.put("fluxQuantity", fuelChannel.lastFluxQuantity); data_table.put("fluxRatio", fuelChannel.fluxFastRatio); + ItemStack rod = fuelChannel.getStackInSlot(0); + if (rod != null) + data_table.put("rodName", rod.getUnlocalizedName()); + else + data_table.put("rodName", ""); } if(te instanceof TileEntityRBMKBoiler){ TileEntityRBMKBoiler boiler = (TileEntityRBMKBoiler)te; data_table.put("water", boiler.feed.getFill()); data_table.put("steam", boiler.steam.getFill()); + data_table.put("steamType", Fluids.fromID(column_data.getShort("type")).getUnlocalizedName()); } if(te instanceof TileEntityRBMKOutgasser){ @@ -644,6 +660,13 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon TileEntityRBMKHeater heaterChannel = (TileEntityRBMKHeater)te; data_table.put("coolant", heaterChannel.feed.getFill()); data_table.put("hotcoolant", heaterChannel.steam.getFill()); + data_table.put("coldtype", Fluids.fromID(column_data.getShort("type")).getUnlocalizedName()); + data_table.put("hottype", Fluids.fromID(column_data.getShort("hottype")).getUnlocalizedName()); + } + + if (te instanceof TileEntityRBMKCooler){ + TileEntityRBMKCooler coolerChannel = (TileEntityRBMKCooler) te; + data_table.put("cryogel", coolerChannel.getAllTanks()[0].getFill()); } return new Object[] {data_table}; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java index 9e6d43868..77b1cb603 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java @@ -26,54 +26,54 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im public TileEntityRBMKControl() { super(0); } - + @Override public boolean isLidRemovable() { return false; } - + @Override public void updateEntity() { - + if(worldObj.isRemote) { - + this.lastLevel = this.level; - + } else { - + if(level < targetLevel) { - + level += speed * RBMKDials.getControlSpeed(worldObj); - + if(level > targetLevel) level = targetLevel; } - + if(level > targetLevel) { - + level -= speed * RBMKDials.getControlSpeed(worldObj); - + if(level < targetLevel) level = targetLevel; } } - + super.updateEntity(); } - + public void setTarget(double target) { this.targetLevel = target; } - + public double getMult() { return this.level; } - + @Override public int trackingRange() { return 100; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -81,7 +81,7 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im this.level = nbt.getDouble("level"); this.targetLevel = nbt.getDouble("targetLevel"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -103,31 +103,31 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im this.level = buf.readDouble(); this.targetLevel = buf.readDouble(); } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { return 65536.0D; } - + @Override public void onMelt(int reduce) { - + if(this.isModerated()) { - + int count = 2 + worldObj.rand.nextInt(2); - + for(int i = 0; i < count; i++) { spawnDebris(DebrisType.GRAPHITE); } } - + int count = 2 + worldObj.rand.nextInt(2); - + for(int i = 0; i < count; i++) { spawnDebris(DebrisType.ROD); } - + this.standardMelt(reduce); } @@ -140,9 +140,10 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im public NBTTagCompound getNBTForConsole() { NBTTagCompound data = new NBTTagCompound(); data.setDouble("level", this.level); + data.setDouble("targetLevel", this.targetLevel); return data; } - + // do some opencomputer stuff @Override @Optional.Method(modid = "OpenComputers")