micdoodle8 / Galacticraft

An advanced Space Dimension Mod for Minecraft
Other
616 stars 333 forks source link

Integration: Minechem #1398

Open hilburn opened 9 years ago

hilburn commented 9 years ago

Is there a way we can incorporate the Minechem oxygen (a chemical fluid form) into the Galacticraft Oxygen system? a fair number of people have asked us about it. Decomposing water to oxygen and hydrogen is a relatively expensive action in terms of RF, making it reasonably balanced (in my opinion at least) against the collector's requirement of growing things in it's area of effect. If it's not something you're interested in supporting then ok, but thought I'd put the idea out there

radfast commented 9 years ago

Hi @hilburn yes, I strongly support integration with other techmods and hard science mods, so anything which can be done without too much difficulty I'd be very happy to look at.

We already have specific support for Mekanism's internal oxygen fluid. (Made by its Electrolyzer, which I think probably has lower energy requirements than ours but then Mekanism makes a lot of things easier, some players like that...)

To help me out, can you maybe point me at which bits of your code or API specifically implement the oxygen and I'll take a look. We may go for API implementation or do it by reflection, I'm not sure yet.

Galacticraft in fact has 3 forms of oxygen as you are maybe aware:

See also: http://wiki.micdoodle8.com/wiki/Gases#Breathable_Oxygen

I don't know if you looked at our code, but in defining the Forge fluids for oxygen and liquidoxygen, I have aimed to use scientifically accurate data values for temperature, density and viscosity. https://github.com/micdoodle8/Galacticraft/blob/master/src/main/java/micdoodle8/mods/galacticraft/planets/asteroids/AsteroidsModule.java#L88

radfast commented 9 years ago

Also worth mentioning that future plans for Galacticraft include a "hard mode" flag which will make parts of gameplay in space much harder - including Oxygen Collector oxygen production from growing plants. I'm not sure yet whether we will have leaf decay and tree death so that only a well-maintained tree farm can make oxygen, or we will have growing restrictions on all plants (soil, access to water, temperature, atmosphere - maybe a requirement for gravity), this is all still to be decided. The main aim will be in fact to make wood and food into scarce resources in space, so that players will need to either make a protected Earth-like environment inside their space base, or ship those resources from the Overworld using Cargo Rockets. I want players to be overjoyed if they can succeed in growing 1 pumpkin or 1 melon in space. A side effect will be also to make the electrical way of producing oxygen likely more cost-effective.

hilburn commented 9 years ago

Oh super - well we currently (v5, v6 is gonna have some pretty major changes but is a complete rewrite so not really worrying about that for now) use the chemical decomposer to break down items into their component parts, breaking down water produces H2O molecules which are then further broken down into hydrogen and oxygen, this is output in the form of chemical test tubes holding 125mB of chemical fluid each - this would be akin to your first type of oxygen, as the fluidblock for it is a gas and rises when placed in the world.

Our oxygen fluid is a forge fluid registered as "element.oxygen" which is probably the easiest way to get hold of it currently and if you took care of the handling of it, you could then specify conversion ratios that fit your hardmode gameplay - eg. normally it's a 1:1 conversion of minechem oxygen to galacticraft oxygen, but in hard mod it's a 10:1 ratio, or something like that.

radfast commented 9 years ago

OK sounds great. I guess you have a way to put those 125mB into any Forge fluid pipe system? Then we can just accept piped "element.oxygen". I'll have to think a bit more about exactly how we do that, as in fact none of our machines except the Gas Liquefier currently accept Forge piped fluids on the input side. Probably I will add a Forge pipes connection to the Oxygen Storage Module.

I'm interested in how you do that rising fluid block? Could come in useful for gas planets by the time we get to Galacticraft 4.

hilburn commented 9 years ago

any negative density results in a fluid that flows up instead of down, might be a bit.. suffocate-y if the whole planet did that but hey, it's your mod ;)

CobbleMan64 commented 8 years ago

Sorry guys if you have already said this here or somewhere else but can you or can you not use galacticraft oxygen and minechem interchangeably or convert them?

zool1975 commented 8 years ago

@radfast recipes.addShaped(GalacticraftMars:item.canisterPartialLOX:1, [[ore:element_O, minechem:minechemElement:8, ore:element_O], [ore:element_O, GalacticraftCore:item.oilCanisterPartial:1001, ore:element_O], [ore:element_O, ore:element_O, ore:element_O]]); something like this is an idea. then they can be item piped in and out the machines.

and a bit more advanced would be to: change the recipe of an empty canister in 8 tin ingots in the same shape you use wood to make a chest. Then you can lets say use the synthesizer with 8 stacks of tin (16 per stack) and 64 oxygen in the middle to make an oxygen canister. Then they can pipe in and out the canisters into the machines.

or make it a bit more advanced and add an o2 molecule (if possible) and use those in the synthesizer recipe i suggested instead of the oxygen atoms. which would be more realistic considering we breathe o2 ;) then you add a step of making the molecule.

It is all up to you but it is a way to combine the two mods without adding another one.

zool1975 commented 8 years ago

Could not resist tinkering about. so i made a separate script file

import mods.minechem.Decomposer; import mods.minechem.Synthesiser; import mods.minechem.Chemicals; import mods.minechem.Fuels;

Chemicals.addMolecule("Oxygen gas",180,"Gas",[minechem:minechemElement:8_2]); Synthesiser.addRecipe([minechem:minechemElement:50_16,minechem:minechemElement:50_16,minechem:minechemElement:50_16,minechem:minechemElement:50_16,minechem:minechemMolecule:180_64,minechem:minechemElement:50_16,minechem:minechemElement:50_16,minechem:minechemElement:50_16,minechem:minechemElement:50_16],GalacticraftMars:item.canisterPartialLOX:1,true,500); //recipes.addShaped(GalacticraftMars:item.canisterPartialLOX:1,[[minechem:minechemMolecule:180, minechem:minechemMolecule:180, minechem:minechemMolecule:180],[minechem:minechemMolecule:180, GalacticraftCore:item.oilCanisterPartial:1001, minechem:minechemMolecule:180],[minechem:minechemMolecule:180, minechem:minechemMolecule:180, minechem:minechemMolecule:180]]); Decomposer.removeRecipe(GalacticraftCore:item.oilCanisterPartial:1001); Decomposer.addRecipe(GalacticraftCore:item.oilCanisterPartial:1001,1,[[minechem:minechemElement:50_64,minechem:minechemElement:50_64]]);

recipes.remove(GalacticraftCore:item.oilCanisterPartial:1001); recipes.addShaped(GalacticraftCore:item.oilCanisterPartial:1001, [[ore:ingotTin, ore:ingotTin, ore:ingotTin], [ore:ingotTin, null, ore:ingotTin], [ore:ingotTin, ore:ingotTin, ore:ingotTin]]);

EzerArch commented 7 years ago

Is it still an issue?

I suggest closing this for being too old. Minechem has not had any update since Aug 6, 2015.

C1ffisme commented 7 years ago

According to Way2muchnoise on the FTB reddit, he seems to be making at least some progress for 1.11.2

I'm not sure if he has a release date in mind, though, so it's likely that integration doesn't need to start now.

krulunio commented 5 years ago

there is a mod, which allows converting fluids: https://github.com/CyclopsMC/FluidConverters