Bio Industries


Provides useful buildings and items, like the Bio Farm for growing trees. Solar Farm and Large Accumulator to make your electric setup easier. Bio Fuel section to produce organic plastic and batteries. Lots of New Wood Products, like the big electric pole, wooden pipes, dart turret. Plant trees using seedlings. Change terrain from deserts to grasslands using Fertilizer - helps trees grow better. And a lot more… Please visit the homepage on the forums for more information and feedback.

Content
2 months ago
0.14 - 1.1
47.7K
Manufacturing

i [Implemented] Compatibility with version 1.1

3 years ago

Do you have a forecast for the mod to be compatible with version 1.1 of the factorial?

Pi-C ☆
3 years ago

It will come, but I'm not quite sure when. I haven't worked on it yet (put in a night shift to update my smaller mods yesterday). There's already another update for Factorio 0.18/1.0 which I probably should release first because it solves several issues and 1.0 still is the stable Factorio version. It has been delayed because I've been waiting for feedback from translators, but I guess now that Factorio 1.1 is out a missing localization is negligible (it could still be added later on).

I've no idea how much will be broken by 1.1. There probably will be issues because of changed technology names etc. -- mostly minor things that will be easy to fix, but as BI has a lot of prototypes, it may take a while to fix them all. Also, there's some interaction with other mods (different recipe ingredients etc. depending on what other mods are active). I suppose I won't be able to test everything on my own, so you should be prepared for some bugs popping up in the version for 1.1.

3 years ago

This Friday (27/11) is the official launch of 1.1. Only the experimental version (beta) is now available. Other mods like ES have already upgraded to 1.1. I'm with a game with friends and the only mod we're using doesn't have support for 1.1 is BI. Maybe I can help with testing, because we are playing and I will report you, but in version 1.1 you do not allow BI to know what may be breaking to report.

3 years ago

Just tried to update the version to see, but it needs a little more work...
5.186 Error ModManager.cpp:1552: Failed to load mod "Bio_Industries": Bio_Industries/prototypes/Bio_Farm/entities.lua:23: module base.prototypes.entity.demo-sounds not found; no such file base/prototypes/entity/demo-sounds.lua
stack traceback:
[C]: in function 'require'
Bio_Industries/prototypes/Bio_Farm/entities.lua:23: in main chunk
[C]: in function 'require'
Bio_Industries/data.lua:38: in main chunk

Pi-C ☆
3 years ago

This Friday (27/11) is the official launch of 1.1. Only the experimental version (beta) is now available. Other mods like ES have already upgraded to 1.1. I'm with a game with friends and the only mod we're using doesn't have support for 1.1 is BI. Maybe I can help with testing, because we are playing and I will report you, but in version 1.1 you do not allow BI to know what may be breaking to report.

OK, I'll try my best, and will postpone some code-cleaning that (as I discovered today) I've already been working on but never finished. Still, there's one major problem: I'm maintaining several mods (BI isn't even my own, even though I've made most of the updates this year, I'm just a collaborator officially!) and everybody seems to think that the mod they use should be updated A.S.A.P. But I'm doing most of the work alone now (on several mods that are a bit more complicated than just plain prototype definitions), occasionally I also have to work in RL (my rent doesn't pay itself), and for some weird reason, days still have just 24 hours.

While I find it fascinating to work on BI (it's quite in another league than my own mods, reaching far more people), and while I'm quite flattered to see that there are hundreds of downloads the day after I release a new version, it's also one of the mods that take up a lot of time because it incorporates so many things (and because with such a big user base there are more bug reports coming in than with most of my own mods). So I do hope that you understand the position I'm in. :-)

Pi-C ☆
3 years ago

Just tried to update the version to see, but it needs a little more work...
5.186 Error ModManager.cpp:1552: Failed to load mod "Bio_Industries": Bio_Industries/prototypes/Bio_Farm/entities.lua:23: module base.prototypes.entity.demo-sounds not found; no such file base/prototypes/entity/demo-sounds.lua

Actually, these kind of errors are easily fixed! The devs took away the "demo-X" stuff and merged it with the normal files. Files like base/prototypes/entity/demo-sounds.lua don't exist anymore, but replacing "demo-sounds" with "sounds" in line 23 of prototypes/Bio_Farm/entities.lua should fix this and all similar bugs.

3 years ago
(updated 3 years ago)

My intention was not to pressure you or charge you for the update. I just wanted to know if it was scheduled. I appreciate all the effort you've put in for the mods. Thanks for the information.

Note: I'm using a translator, I'm sorry if I got it wrong

3 years ago

Nice collection of other mods you are doing... as @beemote said its not about how fast, just that it is being done :)

I have newer coded a mod to factorio, so not much knowledge about stuff like that, just wanted to test if it just was a number buff to get it to work as i has been other times ;)

Happy to help with anything i can :)

3 years ago

I'm playing a terraforming game that hinges on Bio-Industries and am dying to use the new Spiderbot and belt lock in 1.1. Are you looking for any help with the updates? I'd be happy to slog through some grunt work to help things along.

3 years ago

instead of just stripping demo- you probably want to do this:

if BioInd.check_base_version("1.1.0") then
sound_def = require("base.prototypes.entity.sounds")
elseif BioInd.check_base_version("0.18.0") then
sound_def = require("base.prototypes.entity.demo-sounds")
end

after that there's some issues with a global read on "game" that is apparently locked?

Pi-C ☆
3 years ago
(updated 3 years ago)

instead of just stripping demo- you probably want to do this:

if BioInd.check_base_version("1.1.0") then
sound_def = require("base.prototypes.entity.sounds")
elseif BioInd.check_base_version("0.18.0") then
sound_def = require("base.prototypes.entity.demo-sounds")
end

Nope. We're talking about 1.1 here! 1.0 was a very special release because it continued to work with mods for 0.18. Since 1.1, we're back to stable + experimental releases existing side by side, and mods that worked in 0.18/1.0 won't even load in Factorio 1.1 (factorio_version in info.json prevents that). The way to go is keeping 2 branches of BI again -- one for 0.18/1.0 (where I'll keep the existing version checks) and one for >=1.1, where it won't be needed.

after that there's some issues with a global read on "game" that is apparently locked?

Could be. That looks like it comes from a code snippet looking for variables that are used but have never been declared. I apologize for the inconvenience of the crash, but it's a kind of quality assurance stuff: Using undeclared variables may result in weird misbehavior later on, so I believe it's better to exit with a hard error right at the spot where this variable is used. Do you have the complete error message? It should be in the log file, so you could just copy it from there…

(By the way, the code you've posted isn't formatted correctly, "base" in the pathnames is missing the double underscores around it! That happens because the postings on the modportal are formatted using Markdown, and that interprets double underscores as a directive to emphasize text. If you want to post code, you should keep an empty line before and after it, and indent the code with 4 spaces.)

3 years ago

What an amazingly thoughtful reply, i never expected such professionalism in the factorio modding community.

Sadly the stacktrace isn't super informative.

  66.756 Error AppManagerStates.cpp:1589: The mod Bio Industries (0.18.28) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Bio_Industries::on_load()
__Bio_Industries__/control.lua:1071:

[ER Global Lock] Forbidden global *read*:
{key = "game"}

stack traceback:
    [C]: in function 'error'
    __Bio_Industries__/control.lua:1071: in function '__index'
    __stdlib__/stdlib/event/event.lua:442: in function 'dispatch'
    __stdlib__/stdlib/event/event.lua:81: in function <__stdlib__/stdlib/event/event.lua:80>
  84.811 Quitting: user-quit.
Pi-C ☆
3 years ago

Thanks! The meaning is clear: the global var game isn't available until on_load has finished. The problem is to find where exactly the game tries to access this value. If you could provide a saved game that will crash on loading, this may help to fix the issue -- if it hasn't been fixed by 0.18.29.

Also, on second thought your suggestion about the version checks still makes sense. It isn't needed by the new version, but with version checks included, I could use the same code base for both the old and the new branch, which would make it easier to maintain the mod in the long run.

I've also missed the chance to bump the dependencies in 0.18.29. It still requires the version of the base game to be >0.18.2. But the way sounds were handled changed several times between 0.18.0 and 0.18.47, so I had to include several checks to get the sounds right. Depending on base>=0.18.47 would make these checks obsolete and allow me to get rid of old icons (e.g. changed battery icons, or 32x32 icons) as well. I'll probably release 1.1.0 together with 0.18.30 to allow for this.

Anyway, replacing "demo-sounds" for "sounds" in prototypes/*/entities.lua seems to be all that's required to successfully load the prototypes. (There still may be bugs that occur only while playing.)

3 years ago

Glad my suggestion was helpful. :)

As for whether it's still broken in re game, can't say right now. I've returned to 1.0 in order to be able to actually play, and it would take a little more time than i have right now to fiddle through everything again.

However, here's the save game, maybe it'll be helpful: https://www.dropbox.com/s/1vytq95g1gizies/pymod2.zip?dl=1

Pi-C ☆
3 years ago

@ Subjektivity:

Are you looking for any help with the updates? I'd be happy to slog through some grunt work to help things along.

Hi! Thanks for your offer! Actually, I've noticed something peculiar with my WIP version (0.18.30, which should become 1.1.0): For some reason the crossings and curves of wooden pipes are off although I didn't change the graphics and only shortened the paths to the images in the data files. I didn't have a closer looked at it yet (I've fixed the terraformer script yesterday and work on the logic for growing trees now). Would you like to check if there is some change between the versions that would explain that behavior?

3 years ago

Is there a Git for this where that version can be fetched to test and help debug/fix things in ?

Pi-C ☆
3 years ago

No, I'm not on Git and don't know how to work with it. (It seemed to be rather complicated to set up and use -- especially for somebody who's just a hobbyist modder without a professional background in that area.)

But you seem to have an active account on the forum (unless somebody else stole your name!), so I could send you the WIP version there, if you're interested.

3 years ago

If you're willing to give it a bit of a try, download tortoisegit and set that up. It'd really smooth out sharing the code and receiving patches.

3 years ago

Depend on your editor of choice git can be part of it and easy to use..... takes 10 mins to learn the most basic commands of git .. take a look at this video https://www.youtube.com/watch?v=iv8rSLsi1xo

3 years ago

Well seems its time to look into if i can replace this mod with Bob's Greenhouse mod as waiting 14 days and nothing yet, is not what i want todo for my game...

3 years ago
(updated 3 years ago)

Well seems its time to look into if i can replace this mod with Bob's Greenhouse mod as waiting 14 days and nothing yet, is not what i want todo for my game...

sadly i need agree with that if Mod Developer wants help and cannot arse himself get help if he needs it like example setting GIT for this amazing Mod
as i cannot sadly return play Pre 1.1 anymore withour MAJOR resetting things there is no choise but abandon using one most loved Mods for this game
I know and that is extreemly sad LOSS in personal level as i really loved this mod so much.....lets hope developer get over trying do all Solo and trying get others join in GIT developing this together with others as this mod is simply one BEST ones around and my Personal MUST have Mod for my games i used so much time for with friends
Sorry Developer of this Mod if this sounded HARSH but waiting so long this and not able play Factorio for over 2 weeks now is getting to me

3 years ago

Hey Buddy!

i just updated Factorio to 1.1 and unfortunately had to see that my favorite mod does not have an update for this version yet.
Therefore I wanted to inform me about the state of things with you

no stress, just wanted to ask discreetly =)

Pi-C ☆
3 years ago

Sorry it took so long, life has been quite busy here lately. But I think I've finally figured out everything, removed a lot of redundant code that made everything harder to understand, fixed some easy bugs (crashes) and not so easy bugs (things didn't work as they should have), and laid the ground to keep the old (0.18/1.0) and the new (1.1) branches in sync.

Version 1.1.0 includes all the changes made for 0.18.30. Hopefully, I didn't miss any bugs or introduce new ones.

Sorry Developer of this Mod if this sounded HARSH but waiting so long this and not able play Factorio for over 2 weeks now is getting to me

Sorry to hear that! I certainly can feel with you as I'm looking forward to resume the game I've left off more than 6 months ago. Alas, there are still some other mods I'll have to update first …

3 years ago

Hey!

i have tried to play my major gamesave but i become a error message and the save dont load:

"Error while applying migration: Bio Industries: Bio_Industries_0.18.29.lua

Given entity doesn't exist anymore.
stack traceback:
[C]: in function 'connect_neighbour'
Bio_Industries/migrations/Bio_Industries_0.18.29.lua:466: in main chunk"

Many thanks for your hard work to fix the Mod!

Best regards
Beastion

Pi-C ☆
3 years ago

Hi! Thanks for the report!

Hey!

i have tried to play my major gamesave but i become a error message

I hope you don't! ("Bekommen" ist "get" -- "become" heißt "werden"! Sorry, aber unter Deutschsprachigen ist dieser Fehler so verbreitet, dass ich mir diesen Hinweis nicht verkneifen konnte.)

"Error while applying migration: Bio Industries: Bio_Industries_0.18.29.lua

Given entity doesn't exist anymore.
stack traceback:
[C]: in function 'connect_neighbour'
Bio_Industries/migrations/Bio_Industries_0.18.29.lua:466: in main chunk"

Makes sense: I destroyed existing entities and recreated them, but forgot to update the tables. I don't have a suitable saved game ready for testing, so could you try the following, please?

  • Open migrations/Bio_Industries_0.18.29.lua with a text editor of your choice.
  • Remove lines 492-496. This

    -- Add to table
    global.bi_power_rail_table[power_rail.unit_number] = {
    base = power_rail,
    pole = pole
    }

  • Go up to line 444 and insert the block you've just removed. When you're done, it should be like this:

    -- Recreate hidden entities
    pole = surface.create_entity({
    name = pole_name,
    position = power_rail.position,
    force = power_rail.force
    })
    -- Add to table
    global.bi_power_rail_table[power_rail.unit_number] = {
    base = power_rail,
    pole = pole
    }
    make_unminable({pole})

Does that solve the crash?

Many thanks for your hard work to fix the Mod!

You're welcome! :-)

3 years ago

Hey =)

arghhh!!! This happens to me so often, terrible...

Okay, i have changed the code. now i GET a new error:

"Error while applying migration: Bio Industries: Bio_Industries_0.18.29.lua

Given entity doesn't exist anymore.
stack traceback:
[C]: in function 'connect_neighbour'
Bio_Industries/migrations/Bio_Industries_0.18.29.lua:471: in main chunk"

Feel free to tell me what to change.
If you want my savegame, let me know. i will upload it then

Best regards

Pi-C ☆
3 years ago

Okay, i have changed the code. now i GET a new error:

If you want my savegame, let me know. i will upload it then

Yep, I think it would be faster if I could test directly. :-)

3 years ago

Here is the file:

https://drive.google.com/file/d/1h_ZCs0KEIAIaIMUew6yJEUP_h5VoBIC8/view?usp=sharing

but i also use other mods in this gamesave, i hope this is not a problem for you.

Pi-C ☆
3 years ago

No problem, especially as the number of mods is small. :-)

I've found out what's wrong now: To make a clean migration, I removed all hidden entities and recreated them. In some situations, a recreated entity would be removed when the next entity was checked. Don't know yet where that happens because I haven't got the save to load yet. But I think a fix should be ready tonight.

3 years ago

Thanks for updating this great mod!
And it's not a given to do this for mods that aren't your own!

Pi-C ☆
3 years ago

@Machete000:
Thanks for your appreciation! :-)

@Beastion01:

I think a fix should be ready tonight.

TLDR: Sorry, the update will be delayed! I simply didn't expect migrations on such a huge scale.

The migration seems to run now, but … You've got about 9500 power rails. My naive approach was to destroy and recreate the hidden poles on them. It would be easy if I could just search the entire surface for hidden poles and destroy them, but these poles are also used in other compound entities, so searching just for entities of that name would break things somewhere else. So, I make surface searches on the rail position for hidden poles -- and with that many power rails, it takes an eternity or two. The script has been running for more than half an hour now and, my computer is about to start swapping memory, the log file has grown to 3GB, and there still are about 2000 hidden poles to recreate.

I'm just letting it run for now to see if it the game will really load. The migration should run faster without the crazy debugging, but still, it may take more than just a few minutes if the base is big and has lots of hidden entities. So, while the fixed migration script seems to work, it obviously is not yet ready for release. I already have an idea how to go about this differently, but this will involve more testing.

3 years ago

I've been refreshing almost daily and just saw there was an update when I booted up the game

Running the migration took around fifteen minutes and 26G of memory and then it LOADED!
hoooooray!

it is nice to have my factory back,
thank you so much for the update and thank you for the wonderful mod

Pi-C ☆
3 years ago

Running the migration took around fifteen minutes and 26G of memory and then it LOADED!
hoooooray!
Sounds like a big base. Glad you didn't give up waiting, and have fun with your factory! :-)

New response