yep that's a lot of files

This commit is contained in:
BallOfEnergy 2023-04-18 20:49:56 -05:00
parent b2b8466f50
commit 5f27c39094
10 changed files with 162 additions and 67 deletions

View File

@ -2,8 +2,14 @@ package com.hbm.tileentity.machine.rbmk;
import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType;
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType;
import cpw.mods.fml.common.Optional;
import li.cil.oc.api.machine.Arguments;
import li.cil.oc.api.machine.Callback;
import li.cil.oc.api.machine.Context;
import li.cil.oc.api.network.SimpleComponent;
public class TileEntityRBMKAbsorber extends TileEntityRBMKBase { @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
public class TileEntityRBMKAbsorber extends TileEntityRBMKBase implements SimpleComponent {
@Override @Override
public void onMelt(int reduce) { public void onMelt(int reduce) {
@ -17,6 +23,24 @@ public class TileEntityRBMKAbsorber extends TileEntityRBMKBase {
super.onMelt(reduce); super.onMelt(reduce);
} }
@Override
public String getComponentName() {
return "rbmk_absorber_rod";
}
@Callback
@Optional.Method(modid = "OpenComputers")
public Object[] getHeat(Context context, Arguments args) {
return new Object[] {heat};
}
@Callback
@Optional.Method(modid = "OpenComputers")
public Object[] getCoordinates(Context context, Arguments args) {
return new Object[] {xCoord, yCoord, zCoord};
}
@Override @Override
public ColumnType getConsoleType() { public ColumnType getConsoleType() {
return ColumnType.ABSORBER; return ColumnType.ABSORBER;

View File

@ -1,14 +1,8 @@
package com.hbm.tileentity.machine.rbmk; package com.hbm.tileentity.machine.rbmk;
import java.util.ArrayList; import api.hbm.fluid.IFluidConductor;
import java.util.Arrays; import api.hbm.fluid.IFluidConnector;
import java.util.HashSet; import api.hbm.fluid.IPipeNet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.lwjgl.opengl.GL11;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.machine.rbmk.RBMKBase; import com.hbm.blocks.machine.rbmk.RBMKBase;
import com.hbm.entity.effect.EntitySpear; import com.hbm.entity.effect.EntitySpear;
@ -25,10 +19,6 @@ import com.hbm.tileentity.TileEntityLoadedBase;
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType;
import com.hbm.util.Compat; import com.hbm.util.Compat;
import com.hbm.util.I18nUtil; import com.hbm.util.I18nUtil;
import api.hbm.fluid.IFluidConductor;
import api.hbm.fluid.IFluidConnector;
import api.hbm.fluid.IPipeNet;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -46,6 +36,9 @@ import net.minecraft.world.EnumSkyBlock;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
import org.lwjgl.opengl.GL11;
import java.util.*;
/** /**
* Base class for all RBMK components, active or passive. Handles heat and the explosion sequence * Base class for all RBMK components, active or passive. Handles heat and the explosion sequence

View File

@ -1,8 +1,8 @@
package com.hbm.tileentity.machine.rbmk; package com.hbm.tileentity.machine.rbmk;
import java.util.ArrayList; import api.hbm.fluid.IFluidStandardTransceiver;
import java.util.List; import api.hbm.fluid.IFluidUser;
import api.hbm.fluid.IPipeNet;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType;
import com.hbm.interfaces.IControlReceiver; import com.hbm.interfaces.IControlReceiver;
@ -16,10 +16,6 @@ import com.hbm.inventory.gui.GUIRBMKBoiler;
import com.hbm.lib.Library; import com.hbm.lib.Library;
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType;
import com.hbm.util.fauxpointtwelve.DirPos; import com.hbm.util.fauxpointtwelve.DirPos;
import api.hbm.fluid.IFluidStandardTransceiver;
import api.hbm.fluid.IFluidUser;
import api.hbm.fluid.IPipeNet;
import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -34,6 +30,9 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.Vec3; import net.minecraft.util.Vec3;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.ArrayList;
import java.util.List;
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements IFluidAcceptor, IFluidSource, IControlReceiver, IFluidStandardTransceiver, SimpleComponent { public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements IFluidAcceptor, IFluidSource, IControlReceiver, IFluidStandardTransceiver, SimpleComponent {
@ -361,6 +360,12 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I
return new Object[] {feed.getMaxFill()}; return new Object[] {feed.getMaxFill()};
} }
@Callback
@Optional.Method(modid = "OpenComputers")
public Object[] getCoordinates(Context context, Arguments args) {
return new Object[] {xCoord, yCoord, zCoord};
}
@Callback @Callback
@Optional.Method(modid = "OpenComputers") @Optional.Method(modid = "OpenComputers")
public Object[] getInfo(Context context, Arguments args) { public Object[] getInfo(Context context, Arguments args) {
@ -370,8 +375,8 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I
else if(type == Fluids.HOTSTEAM) {type_1 = "1";} else if(type == Fluids.HOTSTEAM) {type_1 = "1";}
else if(type == Fluids.SUPERHOTSTEAM) {type_1 = "2";} else if(type == Fluids.SUPERHOTSTEAM) {type_1 = "2";}
else if(type == Fluids.ULTRAHOTSTEAM) {type_1 = "3";} else if(type == Fluids.ULTRAHOTSTEAM) {type_1 = "3";}
else {type_1 = "Unknown Error";} else {type_1 = "Steam out-of-bounds";}
return new Object[] {heat, steam.getFill(), steam.getMaxFill(), feed.getFill(), feed.getMaxFill(), type_1}; return new Object[] {heat, steam.getFill(), steam.getMaxFill(), feed.getFill(), feed.getMaxFill(), type_1, xCoord, yCoord, zCoord};
} }
@Callback @Callback

View File

@ -1,16 +1,14 @@
package com.hbm.tileentity.machine.rbmk; package com.hbm.tileentity.machine.rbmk;
import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType;
import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.nbt.NBTTagCompound;
import cpw.mods.fml.common.Optional;
import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Arguments;
import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Callback;
import li.cil.oc.api.machine.Context; import li.cil.oc.api.machine.Context;
import li.cil.oc.api.network.SimpleComponent; import li.cil.oc.api.network.SimpleComponent;
import net.minecraft.nbt.NBTTagCompound;
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase implements SimpleComponent { public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase implements SimpleComponent {
@ -140,6 +138,11 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im
return new Object[] {targetLevel * 100}; return new Object[] {targetLevel * 100};
} }
@Callback
@Optional.Method(modid = "OpenComputers")
public Object[] getCoordinates(Context context, Arguments args) {
return new Object[] {xCoord, yCoord, zCoord};
}
@Callback @Callback
@Optional.Method(modid = "OpenComputers") @Optional.Method(modid = "OpenComputers")
@ -150,7 +153,7 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im
@Callback @Callback
@Optional.Method(modid = "OpenComputers") @Optional.Method(modid = "OpenComputers")
public Object[] getInfo(Context context, Arguments args) { public Object[] getInfo(Context context, Arguments args) {
return new Object[] {heat, getMult() * 100, targetLevel * 100}; return new Object[] {heat, getMult() * 100, targetLevel * 100, xCoord, yCoord, zCoord};
} }
@Callback @Callback

View File

@ -1,7 +1,5 @@
package com.hbm.tileentity.machine.rbmk; package com.hbm.tileentity.machine.rbmk;
import java.util.List;
import api.hbm.fluid.IFluidStandardReceiver; import api.hbm.fluid.IFluidStandardReceiver;
import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidAcceptor;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
@ -9,16 +7,17 @@ import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.lib.Library; import com.hbm.lib.Library;
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType;
import cpw.mods.fml.common.Optional;
import li.cil.oc.api.machine.Arguments;
import li.cil.oc.api.machine.Callback;
import li.cil.oc.api.machine.Context;
import li.cil.oc.api.network.SimpleComponent; import li.cil.oc.api.network.SimpleComponent;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource; import net.minecraft.util.DamageSource;
import cpw.mods.fml.common.Optional;
import li.cil.oc.api.machine.Arguments; import java.util.List;
import li.cil.oc.api.machine.Callback;
import li.cil.oc.api.machine.Context;
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
public class TileEntityRBMKCooler extends TileEntityRBMKBase implements IFluidAcceptor, IFluidStandardReceiver, SimpleComponent { public class TileEntityRBMKCooler extends TileEntityRBMKBase implements IFluidAcceptor, IFluidStandardReceiver, SimpleComponent {
@ -168,9 +167,15 @@ public class TileEntityRBMKCooler extends TileEntityRBMKBase implements IFluidAc
return new Object[]{tank.getMaxFill()}; return new Object[]{tank.getMaxFill()};
} }
@Callback
@Optional.Method(modid = "OpenComputers")
public Object[] getCoordinates(Context context, Arguments args) {
return new Object[] {xCoord, yCoord, zCoord};
}
@Callback @Callback
@Optional.Method(modid = "OpenComputers") @Optional.Method(modid = "OpenComputers")
public Object[] getInfo(Context context, Arguments args) { public Object[] getInfo(Context context, Arguments args) {
return new Object[]{heat, tank.getFill(), tank.getMaxFill()}; return new Object[]{heat, tank.getFill(), tank.getMaxFill(), xCoord, yCoord, zCoord};
} }
} }

View File

@ -1,8 +1,6 @@
package com.hbm.tileentity.machine.rbmk; package com.hbm.tileentity.machine.rbmk;
import java.util.ArrayList; import api.hbm.fluid.IFluidStandardTransceiver;
import java.util.List;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType;
import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidAcceptor;
@ -18,20 +16,21 @@ import com.hbm.inventory.gui.GUIRBMKHeater;
import com.hbm.lib.Library; import com.hbm.lib.Library;
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType;
import com.hbm.util.fauxpointtwelve.DirPos; import com.hbm.util.fauxpointtwelve.DirPos;
import cpw.mods.fml.common.Optional;
import api.hbm.fluid.IFluidStandardTransceiver;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import li.cil.oc.api.machine.Arguments;
import li.cil.oc.api.machine.Callback;
import li.cil.oc.api.machine.Context;
import li.cil.oc.api.network.SimpleComponent;
import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container; import net.minecraft.inventory.Container;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World; import net.minecraft.world.World;
import cpw.mods.fml.common.Optional;
import li.cil.oc.api.machine.Arguments; import java.util.ArrayList;
import li.cil.oc.api.machine.Callback; import java.util.List;
import li.cil.oc.api.machine.Context;
import li.cil.oc.api.network.SimpleComponent;
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")}) @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")})
public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements IFluidAcceptor, IFluidSource, IFluidStandardTransceiver, SimpleComponent { public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements IFluidAcceptor, IFluidSource, IFluidStandardTransceiver, SimpleComponent {
@ -325,7 +324,13 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I
@Callback @Callback
@Optional.Method(modid = "OpenComputers") @Optional.Method(modid = "OpenComputers")
public Object[] getInfo(Context context, Arguments args) { public Object[] getInfo(Context context, Arguments args) {
return new Object[] {heat, feed.getFill(), feed.getMaxFill(), steam.getFill(), steam.getMaxFill(), feed.getTankType().getID(), steam.getTankType().getID()}; return new Object[] {heat, feed.getFill(), feed.getMaxFill(), steam.getFill(), steam.getMaxFill(), feed.getTankType().getID(), steam.getTankType().getID(), xCoord, yCoord, zCoord};
}
@Callback
@Optional.Method(modid = "OpenComputers")
public Object[] getCoordinates(Context context, Arguments args) {
return new Object[] {xCoord, yCoord, zCoord};
} }
@Override @Override

View File

@ -1,5 +1,6 @@
package com.hbm.tileentity.machine.rbmk; package com.hbm.tileentity.machine.rbmk;
import api.hbm.fluid.IFluidStandardSender;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType;
import com.hbm.inventory.FluidStack; import com.hbm.inventory.FluidStack;
@ -12,8 +13,6 @@ import com.hbm.lib.Library;
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType;
import com.hbm.util.Tuple.Pair; import com.hbm.util.Tuple.Pair;
import com.hbm.util.fauxpointtwelve.DirPos; import com.hbm.util.fauxpointtwelve.DirPos;
import api.hbm.fluid.IFluidStandardSender;
import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -245,10 +244,16 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement
return new Object[] {progress}; return new Object[] {progress};
} }
@Callback
@Optional.Method(modid = "OpenComputers")
public Object[] getCoordinates(Context context, Arguments args) {
return new Object[] {xCoord, yCoord, zCoord};
}
@Callback @Callback
@Optional.Method(modid = "OpenComputers") @Optional.Method(modid = "OpenComputers")
public Object[] getInfo(Context context, Arguments args) { public Object[] getInfo(Context context, Arguments args) {
return new Object[] {gas.getFill(), gas.getMaxFill(), progress}; return new Object[] {gas.getFill(), gas.getMaxFill(), progress, xCoord, yCoord, zCoord};
} }
@Override @Override

View File

@ -2,8 +2,14 @@ package com.hbm.tileentity.machine.rbmk;
import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType;
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType;
import cpw.mods.fml.common.Optional;
import li.cil.oc.api.machine.Arguments;
import li.cil.oc.api.machine.Callback;
import li.cil.oc.api.machine.Context;
import li.cil.oc.api.network.SimpleComponent;
public class TileEntityRBMKReflector extends TileEntityRBMKBase { @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
public class TileEntityRBMKReflector extends TileEntityRBMKBase implements SimpleComponent {
@Override @Override
public void onMelt(int reduce) { public void onMelt(int reduce) {
@ -16,6 +22,22 @@ public class TileEntityRBMKReflector extends TileEntityRBMKBase {
super.onMelt(reduce); super.onMelt(reduce);
} }
@Override
public String getComponentName() {
return "rbmk_reflector_rod";
}
@Callback
@Optional.Method(modid = "OpenComputers")
public Object[] getHeat(Context context, Arguments args) {
return new Object[] {heat};
}
@Callback
@Optional.Method(modid = "OpenComputers")
public Object[] getCoordinates(Context context, Arguments args) {
return new Object[] {xCoord, yCoord, zCoord};
}
@Override @Override
public ColumnType getConsoleType() { public ColumnType getConsoleType() {

View File

@ -11,7 +11,6 @@ import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemRBMKRod; import com.hbm.items.machine.ItemRBMKRod;
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType;
import com.hbm.util.Compat; import com.hbm.util.Compat;
import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -411,15 +410,6 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM
} }
return new Object[] {"N/A"}; return new Object[] {"N/A"};
} }
@Callback
@Optional.Method(modid = "OpenComputers")
public Object[] getItemData(Context context, Arguments args) {
if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) {
return new Object[] {slots[0]};
}
return new Object[] {"N/A"};
}
@Callback @Callback
@Optional.Method(modid = "OpenComputers") @Optional.Method(modid = "OpenComputers")
@ -453,17 +443,26 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM
public Object[] getInfo(Context context, Arguments args) { public Object[] getInfo(Context context, Arguments args) {
Object OC_enrich_buf; Object OC_enrich_buf;
Object OC_poison_buf; Object OC_poison_buf;
Object OC_item_Data;
if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) {
OC_enrich_buf = ItemRBMKRod.getEnrichment(slots[0]); OC_enrich_buf = ItemRBMKRod.getEnrichment(slots[0]);
OC_poison_buf = ItemRBMKRod.getPoison(slots[0]); OC_poison_buf = ItemRBMKRod.getPoison(slots[0]);
OC_item_Data = slots[0];
} else { } else {
OC_enrich_buf = "N/A"; OC_enrich_buf = "N/A";
OC_poison_buf = "N/A"; OC_poison_buf = "N/A";
OC_item_Data = "N/A";
} }
return new Object[] {heat, fluxSlow, fluxFast, OC_enrich_buf, OC_poison_buf, OC_item_Data}; return new Object[] {heat, fluxSlow, fluxFast, OC_enrich_buf, OC_poison_buf, ((RBMKRod)this.getBlockType()).moderated, xCoord, yCoord, zCoord};
}
@Callback
@Optional.Method(modid = "OpenComputers")
public Object[] getModerated(Context context, Arguments args) {
return new Object[] {((RBMKRod)this.getBlockType()).moderated};
}
@Callback
@Optional.Method(modid = "OpenComputers")
public Object[] getCoordinates(Context context, Arguments args) {
return new Object[] {xCoord, yCoord, zCoord};
} }
@Override @Override

View File

@ -4,16 +4,21 @@ import com.hbm.inventory.container.ContainerRBMKStorage;
import com.hbm.inventory.gui.GUIRBMKStorage; import com.hbm.inventory.gui.GUIRBMKStorage;
import com.hbm.items.machine.ItemRBMKRod; import com.hbm.items.machine.ItemRBMKRod;
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType;
import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import li.cil.oc.api.machine.Arguments;
import li.cil.oc.api.machine.Callback;
import li.cil.oc.api.machine.Context;
import li.cil.oc.api.network.SimpleComponent;
import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container; import net.minecraft.inventory.Container;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.world.World; import net.minecraft.world.World;
public class TileEntityRBMKStorage extends TileEntityRBMKSlottedBase implements IRBMKLoadable { @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
public class TileEntityRBMKStorage extends TileEntityRBMKSlottedBase implements IRBMKLoadable, SimpleComponent {
public TileEntityRBMKStorage() { public TileEntityRBMKStorage() {
super(12); super(12);
@ -86,6 +91,35 @@ public class TileEntityRBMKStorage extends TileEntityRBMKSlottedBase implements
slots[0] = null; slots[0] = null;
} }
@Override
public String getComponentName() {
return "rbmk_storage_rod";
}
@Callback
@Optional.Method(modid = "OpenComputers")
public Object[] getCoordinates(Context context, Arguments args) {
return new Object[] {xCoord, yCoord, zCoord};
}
@Callback
@Optional.Method(modid = "OpenComputers")
public Object[] getHeat(Context context, Arguments args) {
return new Object[] {heat};
}
@Callback
@Optional.Method(modid = "OpenComputers")
public Object[] getStored(Context context, Arguments args) {
return new Object[] {slots[0], slots[1], slots[2], slots[3], slots[4], slots[5], slots[6], slots[7], slots[8], slots[9], slots[10], slots[11]};
}
@Callback
@Optional.Method(modid = "OpenComputers")
public Object[] getInfo(Context context, Arguments args) {
return new Object[] {heat, slots[0], slots[1], slots[2], slots[3], slots[4], slots[5], slots[6], slots[7], slots[8], slots[9], slots[10], slots[11], xCoord, yCoord, zCoord};
}
@Override @Override
public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) {
return new ContainerRBMKStorage(player.inventory, this); return new ContainerRBMKStorage(player.inventory, this);