Renai Transportation


The most unhinged ways to transport items and yourself around your factory. Fling items around with Thrower Inserters, launch your trains off ramps, and soar through your base on electric ziplines!

Content
a day ago
0.18 - 2.0
43.3K
Transportation Logistics Trains

g renai 2.1.[34] and pyblock

4 months ago
(updated 4 months ago)

This started with 2.1.4 when loaded with pyblock + dependencies:

__pypostprocessing__/prototypes/functions/compatibility.lua:604: attempt to index field 'RTZiplineRecipe5' (a nil value)

and offers to disable pypostprocessing

It might just mean pypostprocessing needs an update for it's Renai compatibilty.

In 2.1.3 loading renai itself failed with:

Error in assignID: entity with name 'RTThrower-bulk-inserter' does not exist.

and offered to disable renai

4 months ago

Loads fine with renai 2.1.2

4 months ago

I did recently change a bunch of names internally so that there wouldn't be so many duplicate entries in the Factoriopedia, that first one about RTZiplineRecipe5 is a name I don't use anymore. If pypostprocessing wants that name specifically then it won't work.

For the 2.1.3 error could you copy the entire message about that crash? It'll have some more info I can use to see whats wrong

4 months ago
(updated 4 months ago)

8.006 Error ModManager.cpp:1758: Error in assignID: entity with name 'RTThrower-bulk-inserter' does not exist.

Source: RTThrower-fast-inserter (inserter).

Unfortunately there's no backtrace in the dialog box, just the offer to disable renai 2.1.3

Log at https://gist.github.com/tonycoz/0c97df9b209c42b77e3d20bce1b8cbf0

The first mention of renai in the log shows version 2.1.2, but later mentions are for 2.1.3

I'll open a ticket with py for 2.1.4 - https://github.com/pyanodon/pybugreports/issues/982

4 months ago

Similar to 2.1.3, 2.1.5 fails in Renai with the "Error in assignID: entity with name 'RTThrower-bulk-inserter' does not exist." message if you enable only Renai, Pyanodons Industry and its dependencies.

4 months ago

That's interesting, it must be another mod removing the bulk inserter at some point after my mod generates the fast thrower inserter. I'll have to see if pynaodons industry is doing anything like that

4 months ago

I fixed the renames at https://github.com/tonycoz/pypostprocessing/commit/2edd5db1211b9d42c0dedbccf4b82d42610bc461 but 2.1.5 continues to fail with the RTThrower-bulk-inserter error.

If I start with just (git*) pyindustry + pycoalprocessing + deps (pypostprocessing, pycoalprocessing graphics, pyindustry graphics) the bulk and fast inserters are visible in the factoriopedia and prototype browser.

The prototype browser shows the bulk inserter as the next upgrade for the fast inserter.

If I add Renai 2.1.3 or 2.1.5 I see the RTThrower-bulk-inserter error and 2.1.2 continues to load.

That's about where my mod-fu fails

  • git versions are in flux, alas git pyindustry fails to load without pycoalprocessing, I was using git versions to be able to submit the fix
4 months ago

I added some logging:

    -- lots of requirements to make sure not pick up any "function only" inserters from other mods --
    if (settings.startup["RTThrowersSetting"].value == true and settings.startup["RTModdedThrowers"].value == true) then
+   log("scan "..ThingData.name.." type "..ThingData.type);
        if (ThingData.type == "inserter"
            and ThingData.energy_source.type ~= "void"
            and ThingData.draw_held_item ~= false

and more in MakeThrowerVariant():

    if (TheThrower.next_upgrade) then
+           log("Setting "..TheThrower.name.." next upgrade to RTThrower-"..TheThrower.next_upgrade);
        TheThrower.next_upgrade = "RTThrower-"..TheThrower.next_upgrade
+           log("Done Setting "..TheThrower.name.." next upgrade to "..TheThrower.next_upgrade);
    end

and MakeThrowerVariant() isn't being called for bulk inserter:

   1.404 Script @__RenaiTransportation__/data-final-fixes.lua:846: scan inserter type inserter
   1.404 Script @__RenaiTransportation__/data-final-fixes.lua:486: Setting up RTThrower-inserter-Item
   1.404 Script @__RenaiTransportation__/data-final-fixes.lua:519: Setting RTThrower-inserter next upgrade to RTThrower-fast-inserter
   1.404 Script @__RenaiTransportation__/data-final-fixes.lua:521: Done Setting RTThrower-inserter next upgrade to RTThrower-fast-inserter
   1.404 Script @__RenaiTransportation__/data-final-fixes.lua:846: scan fast-inserter type inserter
   1.404 Script @__RenaiTransportation__/data-final-fixes.lua:486: Setting up RTThrower-fast-inserter-Item
   1.405 Script @__RenaiTransportation__/data-final-fixes.lua:519: Setting RTThrower-fast-inserter next upgrade to RTThrower-bulk-inserter
   1.405 Script @__RenaiTransportation__/data-final-fixes.lua:521: Done Setting RTThrower-fast-inserter next upgrade to RTThrower-bulk-inserter
   1.405 Script @__RenaiTransportation__/data-final-fixes.lua:846: scan long-handed-inserter type inserter
   1.405 Script @__RenaiTransportation__/data-final-fixes.lua:846: scan burner-inserter type inserter
   1.405 Script @__RenaiTransportation__/data-final-fixes.lua:846: scan bulk-inserter type inserter
   1.405 Script @__RenaiTransportation__/data-final-fixes.lua:846: scan PlayerLauncher type inserter
   1.405 Script @__RenaiTransportation__/data-final-fixes.lua:846: scan RTThrower-EjectorHatchRT type inserter
   1.405 Script @__RenaiTransportation__/data-final-fixes.lua:846: scan RTThrower-PrimerThrower type inserter
   1.405 Script @__RenaiTransportation__/data-final-fixes.lua:846: scan RTThrower-inserter type inserter
   1.405 Script @__RenaiTransportation__/data-final-fixes.lua:846: scan RTThrower-fast-inserter type inserter

I later added:

+   log(serpent.block(ThingData, {sortkeys=false}));

to the test loop, for bulk-inserter the result can be found at https://gist.github.com/tonycoz/ca5e5baa8860fc30cda25445f76d8af8 (it doesn't fit here)

4 months ago
(updated 4 months ago)

That's some good digging. I also took a look through the pynaodon mods and apparently one of them rearranges some of the item data around in a really weird format that my code wasn't made to handle because it's weird to format it that way for inserters??? So it would skip over the inserters that were changed like that when generating the thrower versions. I think I got it fixed, should be able to post the fix tomorrow 😎

3 months ago

This is all fixed now.

3 months ago

Fantastic 👌

New response