Streamlining base power conversion?

  • Please make sure you are posting in the correct place. Server ads go here and modpack bugs go here
  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

malicious_bloke

Over-Achiever
Jul 28, 2013
2,961
2,705
298
Basically, I'm using a nice 'simple' Reactorcraft fission setup.

Overall, the system looks a bit like this:

System.png

The specifics of the reactor and the underlying infrastructure stuff on the left hand side aren't really important at the moment (this was just the diagram I came up with when I was setting up the automation for the system). What's just bugging me a little is the right hand side and the amount of times I have to convert one thing into another thing then back again then forward again and all that.

I'm just thinking there's got to be a simpler and less clunky way to convert my power supply into types that different systems can use.
 
  • Like
Reactions: madnewmy

Wagon153

New Member
Jul 29, 2019
3,148
-3
1
What I'm wondering is why you are bothering with pressurizing the low-pressure water instead of throwing it away with a fluid void/nullifier.
 

malicious_bloke

Over-Achiever
Jul 28, 2013
2,961
2,705
298
Well, initially I was using fluiducts and aqueous accumulators instead of transfer nodes and my throughput was coming up short, so reprocessing my waste water was a way to keep the system running.

But yeah, later on I might switch to ammonia since the infrastructure is pretty much there :)

In any case, what I was looking for was some input on the power conversion setup. Is that the simplest way to store generated power then convert it to run both my extractors AND my standard RF-type machines?

Or is there some trick i'm missing?
 

madnewmy

New Member
Jul 29, 2019
1,119
0
0
Fairly cool, but big BOO on magical crops... at least bees...

Also, did you make it self-sustainable?
 

Pyure

Not Totally Useless
Aug 14, 2013
8,334
7,191
383
Waterloo, Ontario
Well, initially I was using fluiducts and aqueous accumulators instead of transfer nodes and my throughput was coming up short, so reprocessing my waste water was a way to keep the system running.

But yeah, later on I might switch to ammonia since the infrastructure is pretty much there :)

In any case, what I was looking for was some input on the power conversion setup. Is that the simplest way to store generated power then convert it to run both my extractors AND my standard RF-type machines?

Or is there some trick i'm missing?
My only relevant input is that switching a reactor between fluid types (Water/ammonia) will generally require you to re-do your entire steam line infrastructure for that reactor.

Last I tested, ammonia-steam would not flow through a line with water-steam in it (and vice versa), and its virtually impossible to completely empty a steam line system of all steam. Reika kindly added a pipe-pump which theoretically could have addressed this but even it leaves traces of steam behind.

Again, not sure if this is 100% valid with current versions.
 

Reika

RotaryCraft Dev
FTB Mod Dev
Sep 3, 2013
5,079
5,331
550
Toronto, Canada
sites.google.com
My only relevant input is that switching a reactor between fluid types (Water/ammonia) will generally require you to re-do your entire steam line infrastructure for that reactor.

Last I tested, ammonia-steam would not flow through a line with water-steam in it (and vice versa), and its virtually impossible to completely empty a steam line system of all steam. Reika kindly added a pipe-pump which theoretically could have addressed this but even it leaves traces of steam behind.
The pipes have no networking code so nothing can totally remove all steam.
 

Pyure

Not Totally Useless
Aug 14, 2013
8,334
7,191
383
Waterloo, Ontario
The pipes have no networking code so nothing can totally remove all steam.
Short of a recursive algorithm which empties adjacent lines and tracks emptied ones I would imagine, but yeah. OP, in this case you'll need to destroy/replace all affected steamlines before switching to the new liquid.
 

Reika

RotaryCraft Dev
FTB Mod Dev
Sep 3, 2013
5,079
5,331
550
Toronto, Canada
sites.google.com
Short of a recursive algorithm which empties adjacent lines and tracks emptied ones
A good way to get this:
Code:
java.lang.StackOverflowError at
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
 

Pyure

Not Totally Useless
Aug 14, 2013
8,334
7,191
383
Waterloo, Ontario
A good way to get this:
Code:
java.lang.StackOverflowError at
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.clearNetwork (TileEntitySteamLine.java:128)
Reika.ReactorCraft.TileEntities.PowerGen.TileEntitySteamLine.getNextTiles (TileEntitySteamLine.java:192)

You keep saying that, and I keep suggesting you mark processed nodes in a recursion algorithm. Doesn't matter if you can't mark the node directly, you can just store the updated ones in whatever memory stack Java works best with. For a process like this, even if the recursion happens 1000x, the impact is negligible (its nothing compared to, say, an A* pathfinding algorithm). And there's nothing stopping you from breaking up the work over many cycles (ticks or whatever) depending on speed/torque/etc.

I seriously doubt I'm telling you anything you don't already know. Perhaps we're talking about different things. :\
 

Reika

RotaryCraft Dev
FTB Mod Dev
Sep 3, 2013
5,079
5,331
550
Toronto, Canada
sites.google.com
You keep saying that, and I keep suggesting you mark processed nodes in a recursion algorithm. Doesn't matter if you can't mark the node directly, you can just store the updated ones in whatever memory stack Java works best with. For a process like this, even if the recursion happens 1000x, the impact is negligible (its nothing compared to, say, an A* pathfinding algorithm). And there's nothing stopping you from breaking up the work over many cycles (ticks or whatever) depending on speed/torque/etc.
I have seen JVMs StackOverflow only 300 calls deep.
 

Pyure

Not Totally Useless
Aug 14, 2013
8,334
7,191
383
Waterloo, Ontario
I have seen JVMs StackOverflow only 300 calls deep.
Well its going to depend on how much memory each call is reserving; I wouldn't want to be instantiating complex classes on each call ;)

There certainly shouldn't be a 300-depth limit for Java. Even knowing as little as I do about the language specifics I'd wager my poor dog on it.
 

Ieldra

Popular Member
Apr 25, 2014
1,810
733
129
Basically, I'm using a nice 'simple' Reactorcraft fission setup.
I'm just thinking there's got to be a simpler and less clunky way to convert my power supply into types that different systems can use.
If you're running more than one turbine, you can use the multiblock turbine generator to convert the output of a turbine directly into RF, avoiding all the ElectriCraft elements in the middle - but since you want to power machines from both the shaft power world and the redstone flux world with your reaction, a conversion setup is going to be inevitable.
 
Last edited:

malicious_bloke

Over-Achiever
Jul 28, 2013
2,961
2,705
298
If you're running more than one turbine, you can use the multiblock turbine generator to convert the output of a turbine directly into RF, avoiding all the ElectriCraft elements in the middle - but since you want to power machines from both the shaft power world and the redstone flux world with your reaction, a conversion setup is going to be inevitable.

Aye. I thought about using the turbine generator, but then I realised I'd end up needing to work through the tiers of magnetostatics again to get my RF back into shaft power to run my RoC infrastructure. It might actually be less painful the way i've done it, even with multiple deaths by electrocution at the hands of superconducting wire XD
 

Ieldra

Popular Member
Apr 25, 2014
1,810
733
129
Aye. I thought about using the turbine generator, but then I realised I'd end up needing to work through the tiers of magnetostatics again to get my RF back into shaft power to run my RoC infrastructure. It might actually be less painful the way i've done it, even with multiple deaths by electrocution at the hands of superconducting wire XD
You don't insulate your superconducting wire?

Also, I generate both kinds of power. Magnetostatics are the best engines for some setups, even with the new lubricant requirement. As for climbing the tiers: After I had access to all the machines to make the upgrades, I just made a stack of each of them so I didn't need to bother with this again.