Mod Feedback [By Request] RotaryCraft Suggestions

  • 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

Kotaro

New Member
Jul 29, 2019
66
0
0
No, but that was my point. Infinite water vs water @ speed of recreation makes for a low maximum flow.

From a coding and server standpoint, wouldn't the creation of source blocks and updating the flowing blocks cause some issues? If you were keeping to a realistic volume of water as you were saying, then you'd either need to have water that expands in volume as it falls, or create enough source blocks to where you start lagging the server.

It's an interesting thought though, about having water being the limiting source.
 

Demosthenex

New Member
Jul 29, 2019
772
0
0
From a coding and server standpoint, wouldn't the creation of source blocks and updating the flowing blocks cause some issues? If you were keeping to a realistic volume of water as you were saying, then you'd either need to have water that expands in volume as it falls, or create enough source blocks to where you start lagging the server.

It's an interesting thought though, about having water being the limiting source.

I think I suggested at one point that a dam be required, and that a "flood gate" unit was needed to pour water in the hydro. It could calculate the volume of water behind it and scale the power effectively. Given a player can only load a certain area at a time, it couldn't scale too large. That wouldn't even require eating the source blocks.
 
  • Like
Reactions: Linkero

Linkero

New Member
Jul 29, 2019
74
0
0
*cough* You can use CodeChickenCore to achieve the realism of removing infinite water. *cough*

I'd be nice to see a watermill implementation that varies it's power according to water currents' speeds. I.e without dropping water, but rather the horizontal speed. My suggestion would be to check to make sure it is actually in a stream. I just can't wrap my head around how you would make sure it isn't just popped into the middle of the ocean.



I think I suggested at one point that a dam be required, and that a "flood gate" unit was needed to pour water in the hydro. It could calculate the volume of water behind it and scale the power effectively. Given a player can only load a certain area at a time, it couldn't scale too large. That wouldn't even require eating the source blocks.

^^^^^I really like that
 

Reika

RotaryCraft Dev
FTB Mod Dev
Sep 3, 2013
5,079
5,331
550
Toronto, Canada
sites.google.com
I think I suggested at one point that a dam be required, and that a "flood gate" unit was needed to pour water in the hydro. It could calculate the volume of water behind it and scale the power effectively. Given a player can only load a certain area at a time, it couldn't scale too large. That wouldn't even require eating the source blocks.
This is an implementation nightmare.
 

Demosthenex

New Member
Jul 29, 2019
772
0
0
This is an implementation nightmare.

From a programming perspective, I thought it would be trivial to have a head block that inventoried adjacent water ONCE on placement to check the volume of water near it to a maximum size. Then the hydro can follow the water stream up and it has to have a head block next to the stream or UNDER the source block of the stream. It then gets the power multiplier from the head block.

EDIT: After all, you already have a block that measures how deep it is in the ocean for tritium processing.
 
Last edited:

Reika

RotaryCraft Dev
FTB Mod Dev
Sep 3, 2013
5,079
5,331
550
Toronto, Canada
sites.google.com
From a programming perspective, I thought it would be trivial to have a head block that inventoried adjacent water ONCE on placement to check the volume of water near it to a maximum size. Then the hydro can follow the water stream up and it has to have a head block next to the stream or UNDER the source block of the stream. It then gets the power multiplier from the head block.
Not when you consider that the world can change dynamically and not notify the "head block".
 

Kotaro

New Member
Jul 29, 2019
66
0
0
From a programming perspective, I thought it would be trivial to have a head block that inventoried adjacent water ONCE on placement to check the volume of water near it to a maximum size. Then the hydro can follow the water stream up and it has to have a head block next to the stream or UNDER the source block of the stream. It then gets the power multiplier from the head block.

Problem is if you just check once, how does it shut off if you remove the water block? Does it just always run? Does it update when it detects a block update nearby? It's programmatically not hard to check all blocks in an area, sure, but there's a lot more to consider than that. Plus, if you wanted a realistic/usable amount of water comparable to a water turbine, it'd need to check a lot of blocks and then store info about each block, and then compare it every time the engine needs to update its data. Now imagine this with multiple engines.

This kills the server.
 

Demosthenex

New Member
Jul 29, 2019
772
0
0
Problem is if you just check once, how does it shut off if you remove the water block? Does it just always run? Does it update when it detects a block update nearby? It's programmatically not hard to check all blocks in an area, sure, but there's a lot more to consider than that. Plus, if you wanted a realistic/usable amount of water comparable to a water turbine, it'd need to check a lot of blocks and then store info about each block, and then compare it every time the engine needs to update its data. Now imagine this with multiple engines.

This kills the server.

That's why I said it only needed to check on occasion. Maybe not once, but maybe once a minute, once every ten minutes, etc. We had this discussion before and it wasn't productive, so I wasn't trying to restart it. I just don't use hydros.
 

Kotaro

New Member
Jul 29, 2019
66
0
0
That's why I said it only needed to check on occasion. Maybe not once, but maybe once a minute, once every ten minutes, etc. We had this discussion before and it wasn't productive, so I wasn't trying to restart it. I just don't use hydros.

I apologize, wasn't trying to start anything. I'm in the middle of writing my own mod, and I've asked myself a lot of the same questions.

That being said, I don't actually use hydros myself either. I think they're one of the less commonly used engines, it feels like.
 

Demosthenex

New Member
Jul 29, 2019
772
0
0
I apologize, wasn't trying to start anything. I'm in the middle of writing my own mod, and I've asked myself a lot of the same questions.

That being said, I don't actually use hydros myself either. I think they're one of the less commonly used engines, it feels like.

I've used them before... too much. They were too easy a power source, but that's one nerf back. Reika has since increased the amount of lube they consume. I still think they are too easy, and so after I get past DC and Wind power, I goto fueled engines with Ethanol. Steam isn't practical on a finite water server.
 

Kotaro

New Member
Jul 29, 2019
66
0
0
I've used them before... too much. They were too easy a power source, but that's one nerf back. Reika has since increased the amount of lube they consume. I still think they are too easy, and so after I get past DC and Wind power, I goto fueled engines with Ethanol. Steam isn't practical on a finite water server.

Started thinking about your finite water situation. Now, I'm not entirely familiar with turbines or engines that actually exist, but could there be a block that you'd place at the bottom of the ocean that uses the pressure at that depth to generate power? Similar functions already exist with ReactorCraft's heavy water extractor, where it needs to be an ocean biome + so many blocks of water on top of it.
 

Demosthenex

New Member
Jul 29, 2019
772
0
0
Started thinking about your finite water situation. Now, I'm not entirely familiar with turbines or engines that actually exist, but could there be a block that you'd place at the bottom of the ocean that uses the pressure at that depth to generate power? Similar functions already exist with ReactorCraft's heavy water extractor, where it needs to be an ocean biome + so many blocks of water on top of it.

Our using finite water is not the same discussion as the hydro generation. Though if the hydro consumed source blocks it'd be really really hard to abuse them on our server. *laugh*
 
  • Like
Reactions: Pyure

Demosthenex

New Member
Jul 29, 2019
772
0
0
I noticed that the waste storage drum uses a function isVisible which basically said only apply effects if the drum could be seen by the player.

Could you apply that to the rendering logic of the turbine and other high movement parts to help with FPS?
 

TomeWyrm

New Member
Jul 29, 2019
898
1
1
@Reika: Feedback regarding FPS... I've noticed that while getting 6 FPS with the reactor going and turbine, if I walk about one chunk away, suddenly I snap back to 20 FPS+. Could there be an issue with the line of sight model detail when you're close?

Also I put the turbine flywheel back on my reactor turbine. It's beautiful. In Opis the Electricraft generator was a really high CPU item (1700ms) without the flywheel, I assume because the varying voltage caused network updates. With the flywheel, I can't even locate the generator in the Opis output. Chickens take more CPU time. Beautiful code!

The 16 block thing sounds like a (heh, pun unintentional) sound issue. Turn sounds off completely and see if the lag stops.
 

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
Aye, from what I recall, the sound library can cause more lag than graphics, at times.

Actually, I've got a question for ya, Reika: can hydros be made to turn with fluids other than water (except the really hot ones, for obvious reasons)? Like maybe resonant ender or oil? Not really for anything specific, I just thought it'd be funny to make a hydro go with a stream of petrol or something, lol.
 

Reika

RotaryCraft Dev
FTB Mod Dev
Sep 3, 2013
5,079
5,331
550
Toronto, Canada
sites.google.com
Could you apply that to the rendering logic of the turbine and other high movement parts to help with FPS?
No, because that check is expensive.

Aye, from what I recall, the sound library can cause more lag than graphics, at times.

Actually, I've got a question for ya, Reika: can hydros be made to turn with fluids other than water (except the really hot ones, for obvious reasons)? Like maybe resonant ender or oil? Not really for anything specific, I just thought it'd be funny to make a hydro go with a stream of petrol or something, lol.
Currently it is hardcoded against it, but I suppose I am not against it, so long as things like lava, which would destroy the engine, are excluded. The speed would remain unchanged - it falls the same distance, after all - but the torque, being a function of ρvA, would. You could get some interesting mechanics regarding lower-density fluids needing higher waterfalls and higher-density ones needing less. Conveniently, the fluid registry saves density, viscosity, and temperature.