ZeroNoRyouki / BigReactors-OLD

Big Reactors mod for Minecraft
MIT License
27 stars 14 forks source link

Artificial 50 buckets per tick steam limit #209

Open smilodon79 opened 5 years ago

smilodon79 commented 5 years ago

Currently, there is an artificial 50 bucket limit for steam production, unlike the direct power production. Please, could we remove the limitation to produce steam and be limited only by the volume of the reactor, as with power generation? There are so many ways to consume steam now that 50 buckets is limiting and arbitrary.

benjamin-poncet commented 5 years ago

It could also scale with the number of coolant ports.

Or at least add an option in the config file. But I just stumbled upon this limit and it's pretty frustrating.

AntonioToni commented 4 years ago

Same here, made a 16x16x48 reactor and cryo cooled it. With some testing of different pipes and stuff i figured that it was limited to 50B/t

ZeroNoRyouki commented 4 years ago

Yes and it's by design. It's a balancing factor of the mod, I don't want the player to be able to drive a turbine farm with only one reactor. If you need 100mB/t, build two reactors.

I'm tinkering with ideas to change it's value for the 1.14.x version of the turbines but it will not be:

1) a config value 2) directly based on how big the reactor is

Feel free to suggest alternatives that are not in the direction of op-ness

Z

AntonioToni commented 4 years ago

What you're saying is that it's limited by design to be only maximum of 50 000mb/t of steam no matter the size of reactor?

even though the reactor is more than capable of producing 900 000mb/t of steam it's not able to due to internal storage for water/steam is limited to 50 000mb

There's even a code line where it says:

/* 1434 */     calculateReactorVolume();
/*      */     
/* 1436 */     if (this.attachedCoolantPorts.size() > 0) {
/* 1437 */       int outerVolume = StaticUtils.ExtraMath.Volume(minCoord, maxCoord) - this.reactorVolume;
/* 1438 */       this.coolantContainer.setCapacity(Math.max(0, Math.min(50000, outerVolume * 100)));
/*      */     } else {
/*      */       
/* 1441 */       this.coolantContainer.setCapacity(0);
/*      */     } 
/*      */   }

which looks like the scale of the internal storage should increase with reactor size

ZeroNoRyouki commented 4 years ago

Yup, that's what I'm saying

AntonioToni commented 4 years ago

And there's no way to make it a config where it could be just scaled up or something? I honestly don't see the difference between making 1 big one or 12 small reactors... except for the lag it will cause to servers

smilodon79 commented 4 years ago

@ZeroNoRyouki the issue with your approach is, it forces the players to make multiple reactors to multiple turbines. For instance, I like to set up an Extreme Reactor feeding steam into a Mekanism Turbine. Because of the 50 bucket/tick cap, I end up needing to set up multiple reactors of a limited size - which only increases the server lag. 50 Buckets used to be very large in 1.7.10, but in the age of Draconic and Mekanism and all the other power hungry mods, it's turned out to be ultimately limiting.

ZeroNoRyouki commented 4 years ago

That's why I'm thinking of ways to change the limit without removing it or making the reactor/turbines combo an even more cheap way to produce power. The idea behind that limit is to force the player to spend resource to build more reactors and support them. Removing the limit or making it config-based (will would equate to removing it anyway) will screw up the internal balance of the mod, and it's already considered too easy as it is ...

What about this server lag you guys are talking about? Are you sure that what you are seeing is TPS lag? In my tests ER is quite friendly in that respect. You could check the MC profiler to make sure

AntonioToni commented 4 years ago

I'm just curious how is it more expensive to make more smaller reactors if you can easily build one big one? I'm playing on the 1.12.2 pack and I have made a reactor 16x16x48 without knowledge of this steam limit. I've really invested a lot of resources and time to fill it up with cryo and in the end it's making only 50 000mb of steam per tick. With mekanism turbine it can make 1.42MRF/t (which is enough for me) but It's really sucks to see that a reactor that according to the BigReactor simulator should make 960 000mb/t is capped to 50000mb/t. If I knew about this limit I wouldn't probably complain as much but with so much time invested into making the reactor...

ZeroNoRyouki commented 4 years ago

It's not only the cost of building them, you also need to factor in the management cost of multiple reactors.

I'm sorry that the simulator is not correct in this respect but the 50K limit is around since 1.7.10, they should have included it

smilodon79 commented 4 years ago

@ZeroNoRyouki ER is pretty server friendly in general. But artificially forcing players to build multiple small reactors instead of a single large one does a few things:

  1. Increase the number of reactors that tick (negligible TPS impact by itself)
  2. Redstone wiring of greater or lesser efficiency to manage all the reactors (could be efficient or super clunky depending on how a player approaches it). This is the cause for my concern. I've seen some horrendous contraptions on the servers I manage. With more and more mods needing a ton of power, I'm concerned about what players end up doing.

For steam, ER is still the best choice since IF and TE both produce significantly less steam. I was hoping to make it a better choice.

How about we chance the fuel cost mechanic? Or introduce a coolant circulation mechanic? In the former, we simply bump up the fuel cost as a factor of the power/steam produced. In the latter, the coolant can't simply be filled into the reactor, but instead needs to be circulated (hot/cold coolant) similar to what IC2/TR or Nuclearcraft does today. In fact, the hot/cold coolant method would be much more realistic and interesting. It'd still be significantly simpler than NaK reactors of Nuclearcraft - so still remain appealing.

ZeroNoRyouki commented 4 years ago

You should not use the Redstone Port to manage a multiple reactors / turbines setup in the first place, that's the job of the Computer Port

The problem with using fuel as a balancing factor is that most players will end up using things like mining lasers or void miners that to create yellorium from thin air. In the next version of the mod you will get less fuel per ingot (at the beginning anyway)

Please expand a little your second idea. There is already a circulation mechanic, water -> reactor -> steam -> turbine -> water. I've build my fair share of IC Reactors and I never found the cost of making the coolant something that would stop me to make new reactors. Yes, it's a bit more complicated that just pumping water in, but you only need time and some lapis to make more coolant