Survival Inc.

Survival Inc.

7.5k Downloads

[Request] compat with Heat and Climate / compat with some mods / new features from dead mods

gatoborrachon opened this issue ยท 11 comments

commented

Is your feature request related to a problem? Please describe.
Not exactly, i used SimpleDifficulty and SereneSeasons before discover your mod, but since i saw that Survival Inc. is new and in constant update, i wanted to suggest some kind of compat with 2 mods that i think it will match pretty well.

Describe the solution you'd like
1.- PrimalCore:
this one is like PyroTech, so you can guess which kind of compat i mean: to heat sources mainly, but check it, it has a lot of interesting early-game and heat-related features. (along with its addons, ForgeCraft and MagnumOpus, these 2 are pretty small mods but they are almost part of the main mod)

2.- Heat and Climate (the most amazing of the 2 mods:
i think this will be the best one to add compat, it involves many unique and amazing heat-climate features (Climate smelting, Complex Fluid processing, japanese meal/drinks production, bacteria brewing, Climate Effective Tiles, etc.) all of these features are based on Temperature, Humidity and Airflow.

Try the mod and check the wiki (its in japanese, use GoogleTranslator to automatically translate it) https://www.curseforge.com/minecraft/mc-mods/heat-and-climate

3.- Complement SereneSeasons (if possible)
i already saw an issue here talking about this, and idk which were your reasons to implement seasons, but since this mod is still in development (and SereneSeasons for 1.12 is dead), maybe copy the main ideas from SereneSeasons (like crop-fertility, colour change of grass/leaves, snowing in cold biomes instead of the always rain) to replace it would fit pretty nice in this mod, along with that Heat and Climate compat.

4.- Extra:
I remembered these things:
-The Sanity is a feature from Thaumcraft too, why not adding compat with this? (i haven't played Thaumcraft formally, if you have played it and know that this wouldn't be a nice idea, tell me)
-A compat with Cyberware (and ReWIRED) related to body-heat, this could be customizable via config to make some implants make more internal heat than others (and maybe make a special implant only for internal heat control)

Describe alternatives you've considered
maybe some alternatives would be add some config options to change the duration of each season (and sub-season if you are interested), this is what "Heat and Climate" does.

also, out of topic, Heat and Climate offers an API to add more recipes, Climate Effective tiles, etc, maybe you can implement something like this for future features (for example, maybe being close to a certain block produces more or less sanity, and if someone wants to add another of these blocks it can do it via modding [MagnumOpus adds a totem, and i would like to make it sanity-recover but i don't think you should bother for this])

i think i don't forget something, thanks for reading

commented

Hi, so to respond to your points.

  1. PrimalCore - I am not going to implement comaptibility with this one, just because it is closed-source, and making compatibility with a black-box techniques is too time consuming. I don't want to sound rude or anything, but reverse-engineering, aside from being illegal, would be too time consuming to really be worth it. If they don't want compatibility, so be it.
  2. Heat and Climate - I am definitely going to give this one a try. It seems fairly promising, but how exactly do you imagine the compatibility? I mean, what do you expect Survival Inc. to do with the data H&C provides? How it should interact with it?
  3. Serene Seasons - Survival Inc. evolved from a mod called SchopCraft, and it originally came with seasons idea. I just carried it on to Survival Inc, so that's why there are seasons. There are already some attempts to make the mod functionally similar (if not better) than SS.
  4. Thaumcraft - Thaumcraft's warp is not exactly sanity, I think it's more of a dark magic possession (much like the dark magic that Tom Riddle experimented with twisted his mind, making him become Lord Voldemort). But surely, the ideas may come as clashing, but in that case it may be more feasible to disable Survival Inc's sanity module altogether.
  5. CyberWare + ReWIRED - I am going to look into these mods, I really have no idea what they're about atm.

Also, there is already a config concerning the length of individual seasons. You can set the duration and peak temperature of each season (the temperatures inbetween are interpolated using this data).

commented

Sorry for the relay, i was a bit busy and i needed to search for a bit of info before answering

1.- no problem, i think there's a way to add compat between Heat and Climate and PrimalCore, but let me see if this is true, i can add the Climate Effective Tile attribute to any block from PrimalCore (or any mod) but idk if this is true for TileEntities (when you have HaC, the vanilla oven generates heat when you use it, but when the fuel runs out it stops to generate heat, pretty realistic and amazing)

2.- sorry, i forgot that part:
2.1.- As i said, HaC handles Temperature, Humidity and Airflow, my idea for compat would be that:
-Survival Inc. use the (ambient) Temperature value from HaC to modify the body temperature (I talked with the dev of HaC and he told me that this "compat" would be required to be made from the other mod's side (in this case: Survival Inc.)
(also, HaC already uses the biome temperature like your mod, but HaC adds these Climate Effective Tiles to control that, like the sponge to make the near ambient DRY, or the oven when its working to incease the temperature, check the wiki related to Temperature: https://defeatedcrow.jp/modwiki/HaCLib_HeatTier)

-Also, as the previus point, you could use HaC Humidity to change the value of Wetness in Survival Inc.
(a link to the wiki: https://defeatedcrow.jp/modwiki/HaCLib_Hum)

-i met your mod because i saw that there was an old mod called EnviroMine, and i saw a comment calling Survival Inc. as the spiritual succesor. EnviroMine added almost the same things, but it had some extras like gases, food spoiling, but the topic i want to talk here is about Air Quality, i see you have considered this inside the Project Miscellaneous, but i think you can take advantage of Heat and Climate for this: https://defeatedcrow.jp/modwiki/HacLib_Air
(HaC implements a config option to make you start soffocating (like you was in water) if you are in a thigh space, but i think this idea could be implemented in a better way, EnviroMine added a level of oxygen that slowly decreases if you are in caves, but with the info you get from HaC Air quality you can implement the same thing)

-HaC also adds Seasons and you can configure the lenght of each season too, but i asked this because HaC uses it in a more gampley-wise way: these Seasons also change the Temperature, and the crops grow better in certain Temperature (everything is connected)

3.- and retaking the previous point: if you want to integrate many things from SereneSeasons, please consider to support crops with Metadata (HaC, Rockhounding mod: Surface, and other mods uses crops with Metadata, which Serene Seasons does not support)

4.- well, if its not the same, no problem.

5.- Cyberware is a mod about artificial implants, you may win extra-human habilities, but you lose a bit of your humanity each time you add more and more, that's the topic of Cyberware but it is more focused in the implants, so yeah give it a try.

as a final point, i think you can check what HeatAndClimateLib offers to you, that's why it is a separated mod from Heat and Climate, and its pretty amazing.

commented

also, maybe adding more info in the config file for what does each config option would explain things better (many of these things are in the wiki, but someone isn't or at least i can't identify them)

commented

Hi, sorry for the late response, I was a bit busy with other stuff.

I actually think it would be nice to have an option to use some external mod (HaC for example) as a source of data; it may come useful in some use cases. I will definitely add that to the heat revamp project. Actually, as you mentioned, I have been planning on reimplementing the heat mechainics since I noticed how easy is it to die with the current mechanics. Not even low thermal exchange coefficient can save you (in real world, it would do just nicely). And considering this opportunity, it sounds really good.
I still need to make myself familiar with the HaC API though, so I think I will need to do some experimenting with it first.

Also, if you have read the wiki about heat and noticed the bell-curve-like graph; I think something similar might be possible to implement using HaC's temperature table (a sort-of system that converts the HaC temperature tiers to their respective temperatures, maybe + some temperature interpolation), just that the damage would all be handled by Survival Inc. I mean, HaC would do the environmental scanning and computation, and Survival Inc would use the data to adjust the player body temperature, how about that? I mean, it's just and idea I currently have in mind, any constructive criticism would be more than welcome.

And as I mentioned above, the performance gains are obvious using the approach. And the compat side is also obvious advantage, so I don't see a reason why not.

commented

i just want to update this:
you can add the Effective Climate Tile attribute to any tile entity of any mod, i made it work with PrimalCore, so if you add compat with this system of Heat and Climate, PrimalCore should receive compat automatically

(but only if you add things like the following line of code, i'm making a personal mod to tweak these things so it will work for me)
ClimateAPI.registerBlock.registerHeatBlock(PrimalAPI.Blocks.HIBACHI, 8, DCHeatTier.OVEN);

if you are interested, i can give you all the code you would need to add compat with PrimalCore only if you want it

another point: i saw in your wiki that you are trying to implement a more realistic heat-mechanic than HaC an even you have your own API, i'm not going to force anyone to do something they don't like and even less when is about a modder and its mod, but why not consider use HeatAndClimateLib to enrich your API for:

Performance: there's only 1 mod working calculating these variables for a realistic thermic system
(anyways, i think that your API can complement the missing parts of HaCHeatLib (related to body heat), an example of this would be that when you are 2 blocks near to a strong heat source from HaC (like vanilla lava), you start receiving damage, but in Survival Inc. you need to be close to heat or you die, but it is enough to be near in 4 blocks to a heat source, a perfect match, if you are too close you get damage (HaC), but if you are at a fair distance you get warm (Survival Inc.))

Compat: HaCLib lets you add compat with any mod via modding, if you use HaCLib then Survival Inc. get a lot of compat benefits

commented

-yeah, give it a try, i met HaC some months ago and played a survival with it, the heat mechanics are amazing, like nothing before i tried, and its nice that you like it too, there's not a so-technic wiki to inform a modder to how to use the Heat and Climate API, but DefeatedCrow is commonly active and you can ask him for help (and even feature requests)

but there's a more informal wiki you can give a look: https://defeatedcrow.jp/modwiki/HeatAndClimate_EN (check for the japanese pages, there is more info than the English ones)

-if there's the enough info from HaC to replicate your goals with Survival Inc. do it, HaCLib (and HaC) are pretty polished mods, so i think too that there's nothing bad in use them.

commented

Heh I didn't think anybody would notice it. I was just running through the issues, and thinking about whether I can come up with a good solution to some of them. The ones I deemed most difficult I marked with help-wanted (I was just lazy to create new tag just yet). What that basically means that I am trying to come up with an elegant solution to this problem, but I currently can't think of anything. But I guess it is quite misleading. Sorry for the confusion created by my carelessness.

Speaking specifically about this issue, I'm still trying to think of a way to make Survival Inc's heat mechanics work nicely with Hear&Climate. I mean, to integrate it somehow into the stat framework. Perhaps implementing alternative heat provider and making it pull the temperatures from H&C, I don't really know yet.

The most difficult part is obviously getting myself to overcome my personal mental barriers and finally start working on that, but I guess that's just too off-topic and unprofessional to discuss here. So I think I will leave with this: I will try to start working on that, but don't expect the results too soon.

commented

oh no worries, i'm not hurry you up, i never undertood at 100% how that system of tags work too.

to integrate it somehow into the stat framework. Perhaps implementing alternative heat provider and making it pull the temperatures from H&C, I don't really know yet.

i think i understand this more or less, and i also think that it would the best because, well, since there are not a lot of mods with that type of interaction with thermodynamics (which are that complex and continously updating) adding a special compat layer with H&C is a good move, but yeah Survival Inc. can't left behind those who simply does not like that mod (H&C, but i highly doubt this) so this is a reason to maintain what Survival Inc. has right now.

commented

what do you mean with Help Wanted? you don't know how to do the labor by the code-side or by the gameplay-side?

in case of the code-part: well, i'm not the best to say something and i think that you already have considered ask to DefeatedCrow (Heat&Climate's author), but if the doubts aren't related to the compatibility but coding in general, i know some nice modders that maybe can help you.

In case of the gameplay-side: i don't think you have issues here, but if it's the case i can help with more ideas if you need it. (and anything in general related to Survival Inc. if you want to hear new ideas)

commented

Okay so I tried to look into H&C API a little bit but I can't seem to find their maven repository. Do you have by chance any idea where their maven repo is?

commented

hu, i don't know it, but i just asked that in his Github