From 0f15465edb183daa24ded87c76ed1d7786b4b0e1 Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Fri, 13 May 2022 16:09:39 +1000 Subject: [PATCH 01/20] Update build.gradle --- build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/build.gradle b/build.gradle index efab6f5d1..6a5a8c6b0 100644 --- a/build.gradle +++ b/build.gradle @@ -72,6 +72,7 @@ dependencies { compileOnly 'codechicken:NotEnoughItems:1.7.10-1.0.3.74:src' //compileOnly 'inventory-tweaks:InventoryTweaks:1.62+beta.84:api' + compile "li.cil.oc:OpenComputers:MC1.7.10-1.5.+:api" } processResources { From 2f650fca8d83cfed50ab1a870e68f10ed819aa83 Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Fri, 13 May 2022 16:12:11 +1000 Subject: [PATCH 02/20] Update TileEntityMachineBattery.java --- .../storage/TileEntityMachineBattery.java | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java index 877310b3b..13829ba3e 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java @@ -14,7 +14,14 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineBattery extends TileEntityMachineBase implements IEnergyUser { +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; + +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")}) +public class TileEntityMachineBattery extends TileEntityMachineBase implements IEnergyUser, SimpleComponent { public long[] log = new long[20]; public long power = 0; @@ -295,4 +302,22 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I public void setPower(long power) { this.power = power; } + + // do some opencomputer stuff + @Override + public String getComponentName() { + return "ntm_energy_storage"; // need a way to somehow detect the first word of the energy storage block so people wont get confused when it comes to multiple energy storage blocks + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getEnergyStored(Context context, Arguments args) { + return new Object[] {getPower()}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getMaxEnergy(Context context, Arguments args) { + return new Object[] {getMaxPower()}; + } } From dec5e80e0f1219a1f228a0df7da038f19a40100b Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Fri, 13 May 2022 16:13:52 +1000 Subject: [PATCH 03/20] Update TileEntityMachineFENSU.java --- .../tileentity/machine/storage/TileEntityMachineFENSU.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java index 95d02c061..fed8cadac 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java @@ -124,4 +124,10 @@ public class TileEntityMachineFENSU extends TileEntityMachineBattery { { return 65536.0D; } + + // override the name because when connecting the machine to opencomputers it's gonna say "ntm_energy_storage" + @Override + public String getComponentName() { + return "ntm_fensu"; + } } From 65276ac0b2e949bf873a73d9e18a1549b5464151 Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Fri, 13 May 2022 16:16:01 +1000 Subject: [PATCH 04/20] Update TileEntityCoreEmitter.java --- .../machine/TileEntityCoreEmitter.java | 63 ++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java index ec0255cbd..fea4101fa 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java @@ -24,7 +24,14 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEnergyUser, IFluidAcceptor, ILaserable, IFluidStandardReceiver { +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; + +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEnergyUser, IFluidAcceptor, ILaserable, IFluidStandardReceiver, SimpleComponent { public long power; public static final long maxPower = 1000000000L; @@ -287,4 +294,58 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne public FluidTank[] getReceivingTanks() { return new FluidTank[] {tank}; } + + // do some opencomputer stuff + @Override + public String getComponentName() { + return "dfc_emitter"; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getEnergyStored(Context context, Arguments args) { + return new Object[] {getPower()}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getMaxEnergy(Context context, Arguments args) { + return new Object[] {getMaxPower()}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getCryogel(Context context, Arguments args) { + return new Object[] {tank.getFill()}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getInput(Context context, Arguments args) { + return new Object[] {watts}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] isActive(Context context, Arguments args) { + return new Object[] {isOn}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] setActive(Context context, Arguments args) { + isOn = Boolean.parseBoolean(args.checkString(0)); + return new Object[] {}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] setInput(Context context, Arguments args) { + int newOutput = Integer.parseInt(args.checkString(0)); + if (newOutput > 100) { + newOutput = 100; + } + watts = newOutput; + return new Object[] {}; + } } From 9c150f335bcefe9f58487005eb416e3af6305d30 Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Fri, 13 May 2022 16:16:23 +1000 Subject: [PATCH 05/20] Update TileEntityCoreInjector.java --- .../machine/TileEntityCoreInjector.java | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java index 69f7da9e4..2f9ebba64 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java @@ -15,7 +15,14 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCoreInjector extends TileEntityMachineBase implements IFluidAcceptor, IFluidStandardReceiver { +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; + +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityCoreInjector extends TileEntityMachineBase implements IFluidAcceptor, IFluidStandardReceiver, SimpleComponent { public FluidTank[] tanks; public static final int range = 15; @@ -175,5 +182,22 @@ public class TileEntityCoreInjector extends TileEntityMachineBase implements IFl public FluidTank[] getReceivingTanks() { return new FluidTank[] {tanks[0], tanks[1]}; } + + // do some opencomputer stuff + @Override + public String getComponentName() { + return "dfc_injector"; + } + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getFirstFuel(Context context, Arguments args) { + return new Object[] {tanks[0].getFill()}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getSecondFuel(Context context, Arguments args) { + return new Object[] {tanks[1].getFill()}; + } } From 9e5e6019206b6f50c72ec0cdeebe21871c2eedb9 Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Fri, 13 May 2022 16:16:37 +1000 Subject: [PATCH 06/20] Update TileEntityCoreReceiver.java --- .../machine/TileEntityCoreReceiver.java | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java index dbe789d6e..44553a462 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java @@ -20,7 +20,14 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEnergyGenerator, IFluidAcceptor, ILaserable { +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; + +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEnergyGenerator, IFluidAcceptor, ILaserable, SimpleComponent { public long power; public long joules; @@ -163,4 +170,28 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn nbt.setLong("joules", joules); tank.writeToNBT(nbt, "tank"); } + + // do some opencomputer stuff + @Override + public String getComponentName() { + return "dfc_receiver"; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getInput(Context context, Arguments args) { + return new Object[] {joules}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getOutput(Context context, Arguments args) { + return new Object[] {power}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getCryogel(Context context, Arguments args) { + return new Object[] {tank.getFill()}; + } } From cf93a0be4aa16f2c4458afadce80e23055ae317e Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Fri, 13 May 2022 16:16:56 +1000 Subject: [PATCH 07/20] Update TileEntityCoreStabilizer.java --- .../machine/TileEntityCoreStabilizer.java | 52 ++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java index d4d2bb29a..a24d2682a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java @@ -14,7 +14,14 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCoreStabilizer extends TileEntityMachineBase implements IEnergyUser { +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; + +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityCoreStabilizer extends TileEntityMachineBase implements IEnergyUser, SimpleComponent { public long power; public static final long maxPower = 2500000000L; @@ -154,4 +161,47 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I nbt.setInteger("watts", watts); } + // do some opencomputer stuff + @Override + public String getComponentName() { + return "dfc_stabilizer"; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getEnergyStored(Context context, Arguments args) { + return new Object[] {power}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getMaxEnergy(Context context, Arguments args) { + return new Object[] {maxPower}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getInput(Context context, Arguments args) { + return new Object[] {watts}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getDurability(Context context, Arguments args) { + if(slots[0] != null && slots[0].getItem() == ModItems.ams_lens && ItemLens.getLensDamage(slots[0]) < ((ItemLens)ModItems.ams_lens).maxDamage) { + return new Object[] {ItemLens.getLensDamage(slots[0])}; + } + return new Object[] {"N/A"}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] setInput(Context context, Arguments args) { + int newOutput = Integer.parseInt(args.checkString(0)); + if (newOutput > 100) { + newOutput = 100; + } + watts = newOutput; + return new Object[] {}; + } } From 46adbf3273c247ce1fdbbbfe5b4fefcb9c5d9dba Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Fri, 13 May 2022 16:20:40 +1000 Subject: [PATCH 08/20] Update TileEntityReactorZirnox.java --- .../machine/TileEntityReactorZirnox.java | 53 ++++++++++++++++++- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java index ec45881d5..a82e12da9 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java @@ -36,7 +36,14 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityReactorZirnox extends TileEntityMachineBase implements IFluidContainer, IFluidAcceptor, IFluidSource, IControlReceiver { +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; + +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityReactorZirnox extends TileEntityMachineBase implements IFluidContainer, IFluidAcceptor, IFluidSource, IControlReceiver, SimpleComponent { public int heat; public static final int maxHeat = 100000; @@ -498,4 +505,46 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF this.markDirty(); } -} \ No newline at end of file + // do some opencomputer stuff + @Override + public String getComponentName() { + return "zirnox_reactor"; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getTemp(Context context, Arguments args) { // or getHeat, whatever. + return new Object[] {heat}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getPressure(Context context, Arguments args) { + return new Object[] {pressure}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getWater(Context context, Arguments args) { + return new Object[] {water.getFill()}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getCarbonDioxide(Context context, Arguments args) { + return new Object[] {carbonDioxide.getFill()}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] isActive(Context context, Arguments args) { + return new Object[] {isOn}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] setActive(Context context, Arguments args) { + isOn = Boolean.parseBoolean(args.checkString(0)); + return new Object[] {}; + } +} From 24ef4617b911b6d9a802b3350adabd7ac35b67c4 Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Fri, 13 May 2022 16:22:16 +1000 Subject: [PATCH 09/20] Update TileEntityReactorResearch.java --- .../machine/TileEntityReactorResearch.java | 52 ++++++++++++++++++- 1 file changed, 50 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java index 5950b7a9c..a2f61ed79 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java @@ -38,8 +38,15 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; +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; + +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) //TODO: fix reactor control; -public class TileEntityReactorResearch extends TileEntityMachineBase implements IControlReceiver { +public class TileEntityReactorResearch extends TileEntityMachineBase implements IControlReceiver, SimpleComponent { @SideOnly(Side.CLIENT) public double lastLevel; @@ -386,4 +393,45 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements public double getMaxRenderDistanceSquared() { return 65536.0D; } -} \ No newline at end of file + + // do some opencomputer stuff + @Override + public String getComponentName() { + return "research_reactor"; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getTemp(Context context, Arguments args) { // or getHeat, whatever. + return new Object[] {heat}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getLevel(Context context, Arguments args) { + return new Object[] {level}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getTargetLevel(Context context, Arguments args) { + return new Object[] {targetLevel}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getFlux(Context context, Arguments args) { + return new Object[] {totalFlux}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] setLevel(Context context, Arguments args) { + double newLevel = Double.parseDouble(args.checkString(0))/100.0; + if (newLevel > 1) { // check if its above 100 so the control rod wont do funny things + newLevel = 1; + } + targetLevel = newLevel; + return new Object[] {}; + } +} From 5be83ccee919625d4a8368e7ece798f333302ac3 Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Fri, 13 May 2022 16:22:51 +1000 Subject: [PATCH 10/20] Update TileEntityMachineReactorBreeding.java --- .../TileEntityMachineReactorBreeding.java | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java index 613acc242..1df6cbd73 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java @@ -15,7 +15,14 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineReactorBreeding extends TileEntityMachineBase { +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; + +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityMachineReactorBreeding extends TileEntityMachineBase, SimpleComponent { public int flux; public float progress; @@ -201,4 +208,22 @@ public class TileEntityMachineReactorBreeding extends TileEntityMachineBase { public double getMaxRenderDistanceSquared() { return 65536.0D; } -} \ No newline at end of file + + // do some opencomputer stuff + @Override + public String getComponentName() { + return "breeding_reactor"; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getFlux(Context context, Arguments args) { + return new Object[] {flux}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getProgress(Context context, Arguments args) { + return new Object[] {progress}; + } +} From e96cca77f4d0cde9d6e60e68ef7cd61f90142562 Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Fri, 13 May 2022 16:23:57 +1000 Subject: [PATCH 11/20] Update TileEntityRBMKControl.java --- .../machine/rbmk/TileEntityRBMKControl.java | 45 ++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) 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 bfb9c2294..99978ff6b 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java @@ -6,7 +6,14 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.nbt.NBTTagCompound; -public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase { +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; + +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase implements SimpleComponent { @SideOnly(Side.CLIENT) public double lastLevel; @@ -105,4 +112,40 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase { data.setDouble("level", this.level); return data; } + + // do some opencomputer stuff + @Override + public String getComponentName() { + return "rbmk_control_rod"; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getLevel(Context context, Arguments args) { + return new Object[] {getMult()}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getTargetLevel(Context context, Arguments args) { + return new Object[] {targetLevel}; + } + + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getHeat(Context context, Arguments args) { + return new Object[] {heat}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] setLevel(Context context, Arguments args) { + double newLevel = Double.parseDouble(args.checkString(0))/100.0; + if (newLevel > 1) { // check if its above 100 so the control rod wont do funny things + newLevel = 1; + } + targetLevel = newLevel; + return new Object[] {}; + } } From 60b1e7fcb39fb02dc1cbc98891d9a98bde4709b8 Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Fri, 13 May 2022 16:25:14 +1000 Subject: [PATCH 12/20] Update TileEntityRBMKRod.java --- .../machine/rbmk/TileEntityRBMKRod.java | 36 ++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) 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 b8086e6de..3c2b8d412 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -16,7 +16,14 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBMKFluxReceiver, IRBMKLoadable { +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; + +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBMKFluxReceiver, IRBMKLoadable, SimpleComponent { //amount of "neutron energy" buffered for the next tick to use for the reaction public double fluxFast; @@ -343,4 +350,31 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM slots[0] = null; this.markDirty(); } + + // do some opencomputer stuff + @Override + public String getComponentName() { + if (isModerated() == true) { + return "rbmk_moderated_fuel_rod"; + } + return "rbmk_fuel_rod"; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getHeat(Context context, Arguments args) { + return new Object[] {heat}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getFluxSlow(Context context, Arguments args) { + return new Object[] {fluxSlow}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getFluxFast(Context context, Arguments args) { + return new Object[] {fluxFast}; + } } From f0ba4776b3b960c65237bb3d357fb25bf4e7cd7a Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Fri, 13 May 2022 16:25:29 +1000 Subject: [PATCH 13/20] Update TileEntityRBMKRodReaSim.java --- .../tileentity/machine/rbmk/TileEntityRBMKRodReaSim.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRodReaSim.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRodReaSim.java index 63ec89e82..071d88f9c 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRodReaSim.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRodReaSim.java @@ -52,4 +52,13 @@ public class TileEntityRBMKRodReaSim extends TileEntityRBMKRod { public ColumnType getConsoleType() { return ColumnType.FUEL_SIM; } + + // do some opencomputer stuff + @Override + public String getComponentName() { + if (isModerated() == true) { + return "rbmk_moderated_fuel_rod_reasim"; + } + return "rbmk_fuel_rod_reasim"; + } } From 7165e208a0b4bcb07b86275074529745874bc0e3 Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Fri, 13 May 2022 16:34:27 +1000 Subject: [PATCH 14/20] Update TileEntityMachineReactorBreeding.java --- .../tileentity/machine/TileEntityMachineReactorBreeding.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java index 1df6cbd73..7572a51af 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java @@ -22,7 +22,7 @@ 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")}) -public class TileEntityMachineReactorBreeding extends TileEntityMachineBase, SimpleComponent { +public class TileEntityMachineReactorBreeding extends TileEntityMachineBase implements SimpleComponent { public int flux; public float progress; From c41244da58747dd6887ff2048699579bc47566fd Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Sat, 14 May 2022 19:03:21 +1000 Subject: [PATCH 15/20] getDepletion and getXenonPoison functions --- .../machine/rbmk/TileEntityRBMKRod.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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 3c2b8d412..58cb4b0d9 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -377,4 +377,22 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM public Object[] getFluxFast(Context context, Arguments args) { return new Object[] {fluxFast}; } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getDepletion(Context context, Arguments args) { + if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { + return new Object[] {ItemRBMKRod.getEnrichment(slots[0])}; + } + return new Object[] {"N/A"}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getXenonPoison(Context context, Arguments args) { + if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { + return new Object[] {ItemRBMKRod.getPoison(slots[0])}; + } + return new Object[] {"N/A"}; + } } From 415b81f02222ce9e400e9ab20ba33884bf49a524 Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Sat, 14 May 2022 21:11:07 +1000 Subject: [PATCH 16/20] rbmk crane that only moves the load function needs fixing as it doesnt work in opencopmuters :pain: --- .../machine/rbmk/TileEntityCraneConsole.java | 69 ++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java index 6febc482d..d5f358c18 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java @@ -23,7 +23,14 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCraneConsole extends TileEntity implements INBTPacketReceiver { +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; + +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityCraneConsole extends TileEntity implements INBTPacketReceiver, SimpleComponent { public int centerX; public int centerY; @@ -327,4 +334,64 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece public double getMaxRenderDistanceSquared() { return 65536.0D; } + + // do some opencomputer stuff + @Override + public String getComponentName() { + return "rbmk_crane"; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] move(Context context, Arguments args) { + if (setUpCrane == true) { + String textbruh = args.checkString(0); + + switch(textbruh) { + case "up": + tiltFront = 30; + if(!worldObj.isRemote) posFront += speed; + case "down": + tiltFront = -30; + if(!worldObj.isRemote) posFront -= speed; + case "left": + tiltLeft = 30; + if(!worldObj.isRemote) posLeft += speed; + case "right": + tiltLeft = -30; + if(!worldObj.isRemote) posLeft -= speed; + } + + return new Object[] {}; + } + return new Object[] {"Crane not found"}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] load(Context context, Arguments args) { + if (setUpCrane == true) { + goesDown = true; + return new Object[] {}; + } + return new Object[] {"Crane not found"}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getDepletion(Context context, Arguments args) { + if(loadedItem != null && loadedItem.getItem() instanceof ItemRBMKRod) { + return new Object[] {ItemRBMKRod.getEnrichment(loadedItem)}; + } + return new Object[] {"N/A"}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getXenonPoison(Context context, Arguments args) { + if(loadedItem != null && loadedItem.getItem() instanceof ItemRBMKRod) { + return new Object[] {ItemRBMKRod.getPoison(loadedItem)}; + } + return new Object[] {"N/A"}; + } } From ac93e2c4b087e107ffbb4e899a0551d397747077 Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Mon, 23 May 2022 13:12:06 +1000 Subject: [PATCH 17/20] fix conflict 1 --- .../com/hbm/tileentity/machine/TileEntityCoreReceiver.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java index 44553a462..720e130ba 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java @@ -11,6 +11,7 @@ import com.hbm.tileentity.TileEntityMachineBase; import api.hbm.block.ILaserable; import api.hbm.energy.IEnergyGenerator; +import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.init.Blocks; @@ -27,7 +28,7 @@ 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")}) -public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEnergyGenerator, IFluidAcceptor, ILaserable, SimpleComponent { +public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEnergyGenerator, IFluidAcceptor, ILaserable, IFluidStandardReceiver, SimpleComponent { public long power; public long joules; From 5b463d96d9aebe8909825aeeb771c0ecd92004bc Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Mon, 23 May 2022 13:14:20 +1000 Subject: [PATCH 18/20] that didnt fix the conflict --- .../hbm/tileentity/machine/TileEntityCoreReceiver.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java index 720e130ba..cb86fd57b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java @@ -50,6 +50,7 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn if (!worldObj.isRemote) { tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); + this.subscribeToAllAround(tank.getTankType(), this); power = joules * 5000; @@ -171,7 +172,12 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn nbt.setLong("joules", joules); tank.writeToNBT(nbt, "tank"); } - + + @Override + public FluidTank[] getReceivingTanks() { + return new FluidTank[] { tank }; + } + // do some opencomputer stuff @Override public String getComponentName() { From fe2df764dddf09d4f09a7f6421ea60332f2b3055 Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Mon, 23 May 2022 13:25:57 +1000 Subject: [PATCH 19/20] if this doesnt fix the conflict i dont know what i will do --- .../machine/TileEntityReactorZirnox.java | 127 ++++++++++-------- 1 file changed, 70 insertions(+), 57 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java index a82e12da9..ffd0838b4 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java @@ -26,7 +26,9 @@ import com.hbm.items.machine.ItemZirnoxRod; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.fauxpointtwelve.DirPos; +import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; @@ -43,7 +45,7 @@ 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")}) -public class TileEntityReactorZirnox extends TileEntityMachineBase implements IFluidContainer, IFluidAcceptor, IFluidSource, IControlReceiver, SimpleComponent { +public class TileEntityReactorZirnox extends TileEntityMachineBase implements IFluidContainer, IFluidAcceptor, IFluidSource, IControlReceiver, IFluidStandardTransceiver, SimpleComponent { public int heat; public static final int maxHeat = 100000; @@ -127,54 +129,30 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF private int[] getNeighbouringSlots(int id) { switch(id) { - case 0: - return new int[] { 1, 7 }; - case 1: - return new int[] { 0, 2, 8 }; - case 2: - return new int[] { 1, 9 }; - case 3: - return new int[] { 4, 10 }; - case 4: - return new int[] { 3, 5, 11 }; - case 5: - return new int[] { 4, 6, 12 }; - case 6: - return new int[] { 5, 13 }; - case 7: - return new int[] { 0, 8, 14 }; - case 8: - return new int[] { 1, 7, 9, 15 }; - case 9: - return new int[] { 2, 8, 16}; - case 10: - return new int[] { 3, 11, 17 }; - case 11: - return new int[] { 4, 10, 12, 18 }; - case 12: - return new int[] { 5, 11, 13, 19 }; - case 13: - return new int[] { 6, 12, 20 }; - case 14: - return new int[] { 7, 15, 21 }; - case 15: - return new int[] { 8, 14, 16, 22 }; - case 16: - return new int[] { 9, 15, 23 }; - case 17: - return new int[] { 10, 18 }; - case 18: - return new int[] { 11, 17, 19 }; - case 19: - return new int[] { 12, 18, 20 }; - case 20: - return new int[] { 13, 19 }; - case 21: - return new int[] { 14, 22 }; - case 22: - return new int[] { 15, 21, 23 }; - case 23: - return new int[] { 16, 22 }; + case 0: return new int[] { 1, 7 }; + case 1: return new int[] { 0, 2, 8 }; + case 2: return new int[] { 1, 9 }; + case 3: return new int[] { 4, 10 }; + case 4: return new int[] { 3, 5, 11 }; + case 5: return new int[] { 4, 6, 12 }; + case 6: return new int[] { 5, 13 }; + case 7: return new int[] { 0, 8, 14 }; + case 8: return new int[] { 1, 7, 9, 15 }; + case 9: return new int[] { 2, 8, 16}; + case 10: return new int[] { 3, 11, 17 }; + case 11: return new int[] { 4, 10, 12, 18 }; + case 12: return new int[] { 5, 11, 13, 19 }; + case 13: return new int[] { 6, 12, 20 }; + case 14: return new int[] { 7, 15, 21 }; + case 15: return new int[] { 8, 14, 16, 22 }; + case 16: return new int[] { 9, 15, 23 }; + case 17: return new int[] { 10, 18 }; + case 18: return new int[] { 11, 17, 19 }; + case 19: return new int[] { 12, 18, 20 }; + case 20: return new int[] { 13, 19 }; + case 21: return new int[] { 14, 22 }; + case 22: return new int[] { 15, 21, 23 }; + case 23: return new int[] { 16, 22 }; } return null; @@ -194,6 +172,10 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF if(age == 9 || age == 19) { fillFluidInit(steam.getTankType()); } + + if(worldObj.getTotalWorldTime() % 20 == 0) { + this.updateConnections(); + } carbonDioxide.loadTank(24, 26, slots); water.loadTank(25, 27, slots); @@ -224,6 +206,10 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF } } + + for(DirPos pos : getConPos()) { + this.sendFluid(steam.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } checkIfMeltdown(); @@ -242,7 +228,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF private void generateSteam() { // function of SHS produced per tick - // heat - 10256/100000 * pressure / 50,000 * 25 * 5 (should get rid of any rounding errors) + // (heat - 10256)/100000 * steamFill (max efficiency at 14b) * 25 * 5 (should get rid of any rounding errors) if(this.heat > 10256) { int Water = (int)((((float)heat - 10256F) / (float)maxHeat) * Math.min(((float)carbonDioxide.getFill() / 14000F), 1F) * 25F * 5F); int Steam = Water * 1; @@ -373,17 +359,14 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF ExplosionNukeGeneric.waste(worldObj, this.xCoord, this.yCoord, this.zCoord, 35); List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, - AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(50, 50, 50)); + AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(100, 100, 100)); for(EntityPlayer player : players) { player.triggerAchievement(MainRegistry.achZIRNOXBoom); } if(MobConfig.enableElementals) { - @SuppressWarnings("unchecked") - List players2 = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(100, 100, 100)); - - for(EntityPlayer player : players2) { + for(EntityPlayer player : players) { player.getEntityData().getCompoundTag(EntityPlayer.PERSISTED_NBT_TAG).setBoolean("radMark", true); } } @@ -405,6 +388,25 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF fillFluid(this.xCoord + rot.offsetX * -3, this.yCoord + 1, this.zCoord + rot.offsetZ * -3, getTact(), type); fillFluid(this.xCoord + rot.offsetX * -3, this.yCoord + 3, this.zCoord + rot.offsetZ * -3, getTact(), type); } + + private void updateConnections() { + for(DirPos pos : getConPos()) { + this.trySubscribe(water.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.trySubscribe(carbonDioxide.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + } + + private DirPos[] getConPos() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + return new DirPos[] { + new DirPos(this.xCoord + rot.offsetX * 3, this.yCoord + 1, this.zCoord + rot.offsetZ * 3, rot), + new DirPos(this.xCoord + rot.offsetX * 3, this.yCoord + 3, this.zCoord + rot.offsetZ * 3, rot), + new DirPos(this.xCoord + rot.offsetX * -3, this.yCoord + 1, this.zCoord + rot.offsetZ * -3, rot.getOpposite()), + new DirPos(this.xCoord + rot.offsetX * -3, this.yCoord + 3, this.zCoord + rot.offsetZ * -3, rot.getOpposite()) + }; + } public boolean getTact() { if(age >= 0 && age < 10) { @@ -415,9 +417,10 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF } public int getMaxFluidFill(FluidType type) { - if(type == Fluids.SUPERHOTSTEAM) return steam.getMaxFill(); + if(type == Fluids.SUPERHOTSTEAM) return 0; if(type == Fluids.CARBONDIOXIDE) return carbonDioxide.getMaxFill(); if(type == Fluids.WATER) return water.getMaxFill(); + return 0; } @@ -505,6 +508,16 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF this.markDirty(); } + @Override + public FluidTank[] getSendingTanks() { + return new FluidTank[] { steam }; + } + + @Override + public FluidTank[] getReceivingTanks() { + return new FluidTank[] { water, carbonDioxide }; + } + // do some opencomputer stuff @Override public String getComponentName() { @@ -513,7 +526,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF @Callback @Optional.Method(modid = "OpenComputers") - public Object[] getTemp(Context context, Arguments args) { // or getHeat, whatever. + public Object[] getTemp(Context context, Arguments args) { return new Object[] {heat}; } From fde92737ebb82d58e9b86c17fd7d5bea6fc68454 Mon Sep 17 00:00:00 2001 From: Boblet Date: Thu, 23 Jun 2022 08:26:05 +0200 Subject: [PATCH 20/20] formatting --- .../hbm/tileentity/machine/TileEntityCoreEmitter.java | 4 ++-- .../hbm/tileentity/machine/TileEntityCoreInjector.java | 4 ++-- .../hbm/tileentity/machine/TileEntityCoreReceiver.java | 4 ++-- .../tileentity/machine/TileEntityCoreStabilizer.java | 4 ++-- .../machine/TileEntityMachineReactorBreeding.java | 4 ++-- .../tileentity/machine/TileEntityReactorResearch.java | 4 ++-- .../tileentity/machine/TileEntityReactorZirnox.java | 4 ++-- .../machine/rbmk/TileEntityCraneConsole.java | 10 +++++----- .../tileentity/machine/rbmk/TileEntityRBMKControl.java | 4 ++-- .../hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java | 8 ++++---- .../machine/storage/TileEntityMachineBattery.java | 4 ++-- 11 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java index fea4101fa..a4b621ec0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java @@ -297,8 +297,8 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne // do some opencomputer stuff @Override - public String getComponentName() { - return "dfc_emitter"; + public String getComponentName() { + return "dfc_emitter"; } @Callback diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java index 2f9ebba64..82e1f9fac 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java @@ -185,8 +185,8 @@ public class TileEntityCoreInjector extends TileEntityMachineBase implements IFl // do some opencomputer stuff @Override - public String getComponentName() { - return "dfc_injector"; + public String getComponentName() { + return "dfc_injector"; } @Callback diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java index cb86fd57b..905e328b2 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java @@ -180,8 +180,8 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn // do some opencomputer stuff @Override - public String getComponentName() { - return "dfc_receiver"; + public String getComponentName() { + return "dfc_receiver"; } @Callback diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java index a24d2682a..1ec967d45 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java @@ -163,8 +163,8 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I // do some opencomputer stuff @Override - public String getComponentName() { - return "dfc_stabilizer"; + public String getComponentName() { + return "dfc_stabilizer"; } @Callback diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java index 7572a51af..9d0aa8302 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java @@ -211,8 +211,8 @@ public class TileEntityMachineReactorBreeding extends TileEntityMachineBase impl // do some opencomputer stuff @Override - public String getComponentName() { - return "breeding_reactor"; + public String getComponentName() { + return "breeding_reactor"; } @Callback diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java index a2f61ed79..c4f34a662 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java @@ -396,8 +396,8 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements // do some opencomputer stuff @Override - public String getComponentName() { - return "research_reactor"; + public String getComponentName() { + return "research_reactor"; } @Callback diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java index e20b44df1..6ba80cbdb 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java @@ -520,8 +520,8 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF // do some opencomputer stuff @Override - public String getComponentName() { - return "zirnox_reactor"; + public String getComponentName() { + return "zirnox_reactor"; } @Callback diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java index d5f358c18..fc17810ae 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java @@ -337,14 +337,14 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece // do some opencomputer stuff @Override - public String getComponentName() { - return "rbmk_crane"; + public String getComponentName() { + return "rbmk_crane"; } @Callback @Optional.Method(modid = "OpenComputers") public Object[] move(Context context, Arguments args) { - if (setUpCrane == true) { + if(setUpCrane == true) { String textbruh = args.checkString(0); switch(textbruh) { @@ -356,10 +356,10 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece if(!worldObj.isRemote) posFront -= speed; case "left": tiltLeft = 30; - if(!worldObj.isRemote) posLeft += speed; + if(!worldObj.isRemote) posLeft += speed; case "right": tiltLeft = -30; - if(!worldObj.isRemote) posLeft -= speed; + if(!worldObj.isRemote) posLeft -= speed; } return new Object[] {}; 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 99978ff6b..0dd5ff3b6 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java @@ -115,8 +115,8 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im // do some opencomputer stuff @Override - public String getComponentName() { - return "rbmk_control_rod"; + public String getComponentName() { + return "rbmk_control_rod"; } @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 9b61678b0..afe6c87c5 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -353,11 +353,11 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM // do some opencomputer stuff @Override - public String getComponentName() { - if (isModerated() == true) { - return "rbmk_moderated_fuel_rod"; + public String getComponentName() { + if(isModerated() == true) { + return "rbmk_moderated_fuel_rod"; } - return "rbmk_fuel_rod"; + return "rbmk_fuel_rod"; } @Callback diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java index 13829ba3e..156a96374 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java @@ -305,8 +305,8 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I // do some opencomputer stuff @Override - public String getComponentName() { - return "ntm_energy_storage"; // need a way to somehow detect the first word of the energy storage block so people wont get confused when it comes to multiple energy storage blocks + public String getComponentName() { + return "ntm_energy_storage"; // need a way to somehow detect the first word of the energy storage block so people wont get confused when it comes to multiple energy storage blocks } @Callback