sandalle / minecraft_bigreactor_control

Minecraft BigReactor Computercraft Control Program
MIT License
76 stars 41 forks source link

ReactorOptions file keeps resetting #39

Closed tahujdt closed 9 years ago

tahujdt commented 9 years ago

It doesn't matter how I edit the ReactorOptions file, it keeps resetting back to the way it was before, after I run the program again.

sandalle commented 9 years ago

Have you tried starting with a fresh ReactorOptions (e.g. rename/remove your current one) and then modify the newly created one after a run? In Pull request #23 , mechaet moved some of the configurations around and now each turbine and reactor have their own configuration, if that's what you're looking to modify.

Fusty commented 9 years ago

It seems that even those are being rewritten every startup. Checking to see why now, though in the code it looks like everything is opened in the right mode.

Rhodizzle commented 9 years ago

In my case, it seems like it's only certain lines that are overwritten. I've renamed 5 different items in their options file (active reactor and four turbines) and those are sticking through restarts. I've also modified the target RPM for the four turbines via startup and that saves. If I try to modify the minTemp for the active reactor, it resets to 300 every run rather than reading in what I asked for.

edit: I see where this is coming from now in the code. If the reactor is detected as active, the range is hardcoded to 300 minimum and 420 maximum. I'll just update it there for now. Shouldn't this read out of the config file?

sandalle commented 9 years ago

We do read the min/max temperature from the configuration file, but determine that optimal actively cooled reactors should be between 0^C-420^C (per our testing). EZ-Nuke is designed to automate reactors mostly for those who don't want to fiddle all the bits too much to find the optimal settings, so we try to automate that as much as possible (and readjust accordingly), including safe values (especially keeping in mind a Future Version(TM) of Big Reactors which will have meltdowns :)).

We could add a knowinglyOverride=false default which, if true, would disable all of our safety checks and assume that the user knows what they're doing. :)

e.g. line 1068:

            if reactor.isActivelyCooled() and not knowlinglyOverride then
                -- below was 0
                localMinReactorTemp = 300
                -- below was 300
                localMaxReactorTemp = 420
            else
                localMinReactorTemp = _G[reactorNames[reactorIndex]]["ReactorOptions"]["reactorMinTemp"]
                localMaxReactorTemp = _G[reactorNames[reactorIndex]]["ReactorOptions"]["reactorMaxTemp"]
            end

Would that meet your request? I can put in release 0.3.15 (next version) if so.