From 6a52f65a5362e7e5ba1d092907bbd2e192dd3089 Mon Sep 17 00:00:00 2001 From: BallOfEnergy1 Date: Wed, 15 Mar 2023 17:51:29 -0500 Subject: [PATCH] Added the ability to change/read the steam type to and from the RBMK boiler columns. --- .../machine/rbmk/TileEntityRBMKBoiler.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java index 4fb6fbc88..9a77815eb 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java @@ -366,6 +366,40 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I public Object[] getInfo(Context context, Arguments args) { return new Object[] {heat, steam.getFill(), steam.getMaxFill(), feed.getFill(), feed.getMaxFill()}; } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getSteamType(Context context, Arguments args) { + FluidType type = steam.getTankType(); + if(type == Fluids.STEAM) {return new Object[] {"0"};} + else if(type == Fluids.HOTSTEAM) {return new Object[] {"1"};} + else if(type == Fluids.SUPERHOTSTEAM) {return new Object[] {"2"};} + else if(type == Fluids.ULTRAHOTSTEAM) {return new Object[] {"3"};} + else {return new Object[] {"Unknown Error"};} + } + + public Object[] setSteamType(Context context, Arguments args) { + int type = args.checkInteger(0); + if(type > 3) { + type = 3; + } else if(type < 0) { + type = 0; + } + if(type == 0) { + steam.setTankType(Fluids.STEAM); + return new Object[] {"true"}; + } else if(type == 1) { + steam.setTankType(Fluids.HOTSTEAM); + return new Object[] {"true"}; + } else if(type == 2) { + steam.setTankType(Fluids.SUPERHOTSTEAM); + return new Object[] {"true"}; + } else { + steam.setTankType(Fluids.ULTRAHOTSTEAM); + return new Object[] {"true"}; + } + } + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return new ContainerRBMKGeneric(player.inventory);