Jump to content

[1.9-1.10] Configurable Containers


allista

Recommended Posts

29 minutes ago, steddyj said:

Hi @allista I have a quick question about compatibility with this mod.  I've been away from KSP for a while and last played shortly after the first version of this mod came out.  I tried it briefly but wanted to get into KSPI and this had a conflict with InterstellarFuelSwitch.  Fast forward some (many) years later and I'm starting to play KSP again.  I really want to use KSPI-E and I'm leaning towards using your Global Construction mod over EPL.  That said, ckan still lists this mod as conflicting with IntersetllarFuelSwitch, so I had assumed that it was still a no go for me.  But I just noticed you list KSPI-E on your compatible mods list in the first post here.  

In short, I'm confused.  I'm looking at ckan now and InterstellarFuelSwitch is still listed as a conflict, but that is also a requirement for KSPI-E.  Is this an error in the ckan metadata, or is there something else I'm missing here?

 

CC as a mod is not compatible with IFS as a mod (meaning MM patches that change parts).

But Global Construction (if you look closely) requires only CC-core, which is just the library with configs and does not conflict with anything.

So you can use KSPIE and IFS and GC alongside, but you'll have CC functionality only in dedicated GC (and Hangar, if you'll use it too) parts.

BTW, does KSPIE still require full IFS, or just the core variant? If later, KSPIE should be compatible with the full CC.

Edited by allista
Link to comment
Share on other sites

2 minutes ago, allista said:

CC as a mod is not compatible with IFS as a mod (meaning MM patches that change parts).

But Global Construction (if you look closely) requires only CC-core, which is just the library with configs and does not conflict with anything.

So you can use KSPIE and IFS and GC alongside, but you'll have CC functionality only in dedicated GC (and Hangar, if you'll use it too) parts.

Yeah, I had noticed that.  Unfortunately that locks me into unmodifiable tanks.  I tend to like to reduce part counts by using a larger than needed tank and modifying it (usually with Modular Fuel Tanks) with additional resources as needed, sort of creating service modules.  

6 minutes ago, allista said:

BTW, does KSPIE still require full IFS, or also the core variant? If later, KSPIE should be compatible with the full CC.

That is a better question for @FreeThinker but as of what I can see now on CKAN the full IFS mod is required.  Whether or not that could be pared down to just the core I can't say.  

Link to comment
Share on other sites

55 minutes ago, allista said:

CC as a mod is not compatible with IFS as a mod (meaning MM patches that change parts).

Well I'm sure we can come to some solution if you tell me what the problem is. If needed I will add an additional exception that will disable the global script. I recall there is already some existing exception when CC is present on a tank. Is this not enough? In my own tests I did not find any problems, CC global scrpt precedes IFS global script, which is fine, no why insist its not compatible if they can existing in the Gamedata folder just fine.

55 minutes ago, allista said:

BTW, does KSPIE still require full IFS, or just the core variant? If later, KSPIE should be compatible with the full CC.

Technically you only need IFS core but practically you need at least one mod which allows you to store resources used by KSPIE which could be any resource switching mod.

47 minutes ago, steddyj said:

That is a better question for @FreeThinker but as of what I can see now on CKAN the full IFS mod is required.  Whether or not that could be pared down to just the core I can't say.  

Its more of a strong recommendation than a hard requirement. IFS Full Version contains a collection of resource containers which were specificly for designed  for KSPIE needs. It also includes a global script but it takes a back seat as soon as it detect any other reouce switching mod like CC so it sould be able to run with CC just fine.

Edited by FreeThinker
Link to comment
Share on other sites

23 minutes ago, FreeThinker said:

Well I'm sure we can come to some solution if you tell me what the problem is. If needed I will add an additional exception that will disable the global script. I recall there is already some existing exception when CC is present on a tank. Is this not enough? In my own tests I did not find any problems, CC global scrpt precedes IFS global script, which is fine, no why insist its not compatible if they can existing in the Gamedata folder just fine.

The incompatibility notion came from the time when people tried to use both mods and ended up with the same parts (say, stock fuel tanks) having both PartModules (installed by corresponding MM patches) competing for PartResources management.

Currently my patches look like this:

@PART[TPtankR02]:HAS[!MODULE[InterstellarFuelSwitch],!MODULE[FSfuelSwitch],!MODULE[ModuleB9PartSwitch]]:NEEDS[!modularFuelTanks&!RealFuels]:AFTER[FuelTanksPlus]

So they won't apply to the parts where IFS module is already present. This is fine for parts that were specifically made to use IFS; but how this will play out for parts that are patched by both IFS and CC?

Don't get me wrong, I would love CC and IFS to be compatible! I just don't understand how this could be done in cases where they patch the same parts. Should we somehow predefine the order, giving priority to one over the other? It'll be fairer if a user could decide; but there's no mechanism for that...

37 minutes ago, FreeThinker said:

I think the best solution would be to make IFS compatible with CC.

Couldn't agree more!

Link to comment
Share on other sites

10 hours ago, allista said:

The incompatibility notion came from the time when people tried to use both mods and ended up with the same parts (say, stock fuel tanks) having both PartModules (installed by corresponding MM patches) competing for PartResources management.

Currently my patches look like this:


@PART[TPtankR02]:HAS[!MODULE[InterstellarFuelSwitch],!MODULE[FSfuelSwitch],!MODULE[ModuleB9PartSwitch]]:NEEDS[!modularFuelTanks&!RealFuels]:AFTER[FuelTanksPlus]

So they won't apply to the parts where IFS module is already present. This is fine for parts that were specifically made to use IFS; but how this will play out for parts that are patched by both IFS and CC?

Don't get me wrong, I would love CC and IFS to be compatible! I just don't understand how this could be done in cases where they patch the same parts. Should we somehow predefine the order, giving priority to one over the other? It'll be fairer if a user could decide; but there's no mechanism for that...

Couldn't agree more!

As far as I understand, they already are compatible.

Currently IFS global script begins with

@PART[*]:HAS[@RESOURCE[LiquidFuel],@RESOURCE[Oxidizer],!RESOURCE[MonoPropellant],!MODULE[ModuleTankManager],!MODULE[InterstellarFuelSwitch],!MODULE[FSfuelSwitch],!MODULE[ModuleB9PartSwitch],!MODULE[ModuleEnginesFX],!MODULE[ModuleEngines]]:NEEDS[InterstellarFuelSwitch&!ModularFuelTanks&!RealFuels&!ConfigurableContainers]:FOR[InterstellarFuelSwitch]

CC global script runs before IFS and if CC is installed on a game where IFS was already used, IFS global script would remove itself from the non specific IFS tanks, allowing CC to take over.

Edited by FreeThinker
Link to comment
Share on other sites

9 hours ago, FreeThinker said:

As far as I understand, they already are compatible.

Currently IFS tanks looks like


@PART[*]:HAS[@RESOURCE[LiquidFuel],@RESOURCE[Oxidizer],!RESOURCE[MonoPropellant],!MODULE[ModuleTankManager],!MODULE[InterstellarFuelSwitch],!MODULE[FSfuelSwitch],!MODULE[ModuleB9PartSwitch],!MODULE[ModuleEnginesFX],!MODULE[ModuleEngines]]:NEEDS[InterstellarFuelSwitch&!ModularFuelTanks&!RealFuels&!ConfigurableContainers]:FOR[InterstellarFuelSwitch]

CC global script runs before IFS and if CC is installed on a game where IFS was already used, IFS global script would remove itself from the non specific IFS tanks, allowing CC to take over.

Oh, didn't know that. This means they're indeed fully compatible (so I'm removing the conflict def from netkan) :cool:

But CC doesn't have the global @PART[*] script, only per-part patches for supported mods. So I should probably implement some kind of wildcard behavior for ModuleTankManager to be able to use one...

Link to comment
Share on other sites

  • 3 weeks later...
On 6/23/2019 at 7:47 PM, allista said:

@PART[*]:HAS[@RESOURCE[LiquidFuel],@RESOURCE[Oxidizer],!RESOURCE[MonoPropellant],!MODULE[ModuleTankManager],!MODULE[InterstellarFuelSwitch],!MODULE[FSfuelSwitch],!MODULE[ModuleB9PartSwitch],!MODULE[ModuleEnginesFX],!MODULE[ModuleEngines]]:NEEDS[InterstellarFuelSwitch&!ModularFuelTanks&!RealFuels&!ConfigurableContainers]:FOR[InterstellarFuelSwitch]

Quick question. Why does ModularFuelTanks cause both CC and IFS to disable?

Link to comment
Share on other sites

39 minutes ago, Babalas said:

Quick question. Why does ModularFuelTanks cause both CC and IFS to disable?

If MFT, CC and/or IFS install their patches simultaneously for the same parts, these parts would break.

I don't know if MFT checks for CC or IFS, but in case it doesn't, we check for it.

Link to comment
Share on other sites

2 minutes ago, allista said:

If MFT, CC and/or IFS install their patches simultaneously for the same parts, these parts would break.

I don't know if MFT checks for CC or IFS, but in case it doesn't, we check for it.

Correct me if I'm wrong, but it's in the needs section not modules. So it's just saying if MFT is installed at all don't run this? At least in my case getting rid of those lines has allowed CC to show up again.

Link to comment
Share on other sites

12 minutes ago, Babalas said:

Correct me if I'm wrong, but it's in the needs section not modules. So it's just saying if MFT is installed at all don't run this? At least in my case getting rid of those lines has allowed CC to show up again.

Correct. If MFT is present, no CC patches are applied; only dedicated parts that are configured to use CC in the first place would work then.

So what happens when you install both CC patches and MFT? Doesn't MFT also patches, say, stock parts?

Link to comment
Share on other sites

1 minute ago, allista said:

Correct. If MFT is present, no CC patches are applied; only dedicated parts that are configured to use CC in the first place would work then.

So what happens when you install both CC patches and MFT? Doesn't MFT also patches, say, stock parts?

Nope only affects its own tanks as far as I have tested. So from what I could tell:

IFS didn't apply because CC and MFT were installed.

CC didn't apply because MFT was installed, but does ignore IFS tanks.

MFT doesn't affect stock tanks.

Removing !ModularFuelTanks&!ConfigurableContainers from IFS has IFS showing up on stock tanks at least. Removing !modularFuelTanks gets CC showing up on stock tanks.

Link to comment
Share on other sites

49 minutes ago, Babalas said:

Removing !ModularFuelTanks&!ConfigurableContainers from IFS has IFS showing up on stock tanks at least. Removing !modularFuelTanks gets CC showing up on stock tanks.

You can't have IFS and CC on the same part though; so removing !ConfigurableContainers from IFS global patch is not recommended.

 

Link to comment
Share on other sites

6 hours ago, allista said:

You can't have IFS and CC on the same part though; so removing !ConfigurableContainers from IFS global patch is not recommended.

 

Yeah I haven't figured out what's going on there. I have CC-core from requirements and IFS from KSPIE. So without the full CC I would have thought !ConfigurableContainers would be fine but it blocks IFS. I was trying to figure out why neither were working when I noticed that both disable with modular fuel tanks installed.

Link to comment
Share on other sites

  • 3 weeks later...

Is there any documentation on how cryogenic cooling in this mod works? I suspect this is why boiloff with cryogenic engines has been acting weird but can't figure out how it is supposed to act in this mod.

 

As it stands if I leave a stock fuel tank filled with LH2 on the launch pad, nothing happens for about ~115 days. After that point boiloff finally starts. I suspect it has to do with the LH2 temperature reaching around 248 degrees. Temperature only drops 0.1 degree per day on kerbin which seems excessively slow. Is this the intended behaviour?

Link to comment
Share on other sites

1 hour ago, Spagoose said:

Is there any documentation on how cryogenic cooling in this mod works? I suspect this is why boiloff with cryogenic engines has been acting weird but can't figure out how it is supposed to act in this mod.

 

As it stands if I leave a stock fuel tank filled with LH2 on the launch pad, nothing happens for about ~115 days. After that point boiloff finally starts. I suspect it has to do with the LH2 temperature reaching around 248 degrees. Temperature only drops 0.1 degree per day on kerbin which seems excessively slow. Is this the intended behaviour?

The config for cryogenics is here, it has some comments explaining particular figures, and setting names should be self-explanatory:

https://github.com/allista/ConfigurableContainers/blob/master/GameData/ConfigurableContainers/Cryogenics.cfg

The code that uses it is here:

https://github.com/allista/ConfigurableContainers/tree/master/Cryogenics

It's modeled as closely to real physics as possible, but physical parameters of, say, insulation may be quite sci-fy.

Link to comment
Share on other sites

20 hours ago, allista said:

The config for cryogenics is here, it has some comments explaining particular figures, and setting names should be self-explanatory:

https://github.com/allista/ConfigurableContainers/blob/master/GameData/ConfigurableContainers/Cryogenics.cfg

The code that uses it is here:

https://github.com/allista/ConfigurableContainers/tree/master/Cryogenics

It's modeled as closely to real physics as possible, but physical parameters of, say, insulation may be quite sci-fy.

 

Thanks for that, after a bit more testing, I think my issues seem to be due to the fact that I also have Nertea's CryoTanks. As it stands you can't use the CryoTanks cryogenics implementation while also having this mod installed, simply removing or modifying Cryogenics.cfg stops any boiloff full stop while the rest of your cryogenics code, I'm assuming, is bundled in ConfigurableContainers.dll rather than having it's own plugin so you can't disable it without breaking CC, which is a darn shame because it's a load better than B9 part switcher.

Link to comment
Share on other sites

55 minutes ago, Spagoose said:

As it stands you can't use the CryoTanks cryogenics implementation while also having this mod installed

Shouldn't be so. Does CryoTanks patch other parts? Does CC cryo behaviour changes if you remove CryoTanks?

Cryogenics in CC should work independently without conflict: it's not global, all calculations are made inside the part itself. There should no interaction between it and CC.

And you see the boiloff, right? So the code works, just not as you expected.

Anyway, I'll test it and ask Nertea.

Link to comment
Share on other sites

3 minutes ago, allista said:

Shouldn't be so. Does CryoTanks patch other parts? Does CC cryo behaviour changes if you remove CryoTanks?

Cryogenics in CC should work independently without conflict: it's not global, all calculations are made inside the part itself. There should no interaction between it and CC.

And you see the boiloff, right? So the code works, just not as you expected.

Anyway, I'll test it and ask Nertea.

Sorry I should have been more specific: If you have CC installed, it's version of cryogenics works as expected (as far as I can tell). However if you wanted to use the CryoTanks version of cryogenics instead, you can't as it's own boiloff stops working and you lose the ability to cool tanks in right click context menu at the cost of electric charge which CT adds.

The only way to restore CT cryogenic functionality is to remove ConfigurableContainers.dll, as removing Cryogenics.cfg leaves you with both versions of cryogenics non-functional. As for why this happens, I have no idea.

Also B9 part switch toggle in the VAB also no longer appears but I am assuming that is intended behaviour.

Link to comment
Share on other sites

19 minutes ago, Spagoose said:

Sorry I should have been more specific: If you have CC installed, it's version of cryogenics works as expected (as far as I can tell). However if you wanted to use the CryoTanks version of cryogenics instead, you can't as it's own boiloff stops working and you lose the ability to cool tanks in right click context menu at the cost of electric charge which CT adds.

The only way to restore CT cryogenic functionality is to remove ConfigurableContainers.dll, as removing Cryogenics.cfg leaves you with both versions of cryogenics non-functional. As for why this happens, I have no idea.

Also B9 part switch toggle in the VAB also no longer appears but I am assuming that is intended behaviour.

Thanks, that clarifies things. I'll look into the matter.

Link to comment
Share on other sites

@allista Today I tried to use CC with Cryo Engine mod, but had a lot of trouble setting up the fuel tanks. There has to be a beter way. Here is an idea, add an option to add a tank configuration based on the connected engine, that way, it would be possible to configure the fuel tanks without detailed knowledge on the fuel ratios used by a particular engine. This should save the player a lot of frustration and allow him to focus attention on more fun stuff.

 

Edited by FreeThinker
Link to comment
Share on other sites

1 hour ago, FreeThinker said:

@allista Today I tried to use CC with Cryo Engine mod, but had a lot of trouble setting up the fuel tanks. There has to be a beter way. Here is an idea, add an option to add a tank configuration based on the connected engine, that way, it would be possible to configure the fuel tanks without detailed knowledge on the fuel ratios used by a particular engine. This should save the player a lot of frustration and allow him to focus attention on more fun stuff.

 

You can set up the fuel tanks with the right ratios easily. Open up the tank editor, delete the LF and OX, choose the cryogenic fuel option at the top and select max. The tanks will then be filled with LH2 + Ox for cryogenic engines in the correct ratio. I suspect you are just removing the liquid fuel part and swapping LH2 in, which doesn't work because LH2 uses less Ox than the same volume of LF.

However currently the actual fuel boiloff element that comes with cryo engines will not work with CC.

Edited by Spagoose
Link to comment
Share on other sites

2 minutes ago, FreeThinker said:

Why not?

If you read my other posts on this page I outline the whole issue. But effectively this mod has it's own version of boiloff which breaks the CE version, and you can't cool stock tanks either for some reason. If you want those features you need to remove CC and use the b9 fuel switch which is bundled with cryo engines. You might find that less complicated for swapping fuels too.

Link to comment
Share on other sites

5 hours ago, FreeThinker said:

@allista Today I tried to use CC with Cryo Engine mod, but had a lot of trouble setting up the fuel tanks. There has to be a beter way. Here is an idea, add an option to add a tank configuration based on the connected engine, that way, it would be possible to configure the fuel tanks without detailed knowledge on the fuel ratios used by a particular engine. This should save the player a lot of frustration and allow him to focus attention on more fun stuff.

What if there's more than one connected engine?

3 hours ago, Spagoose said:

If you read my other posts on this page I outline the whole issue. But effectively this mod has it's own version of boiloff which breaks the CE version, and you can't cool stock tanks either for some reason. If you want those features you need to remove CC and use the b9 fuel switch which is bundled with cryo engines. You might find that less complicated for swapping fuels too.

I've talked with Nertea; we'll be solving this on both sides. CryoTanks would skip its patches when CC is present while CC would be reconfigured to closely match boil-off dynamics of CryoTanks.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...