Dana: crafting tree/graph explorer

by Credne

Dana provides ways to explore and display the recipe graph of Factorio (vanilla or modded). This mod is still in alpha stages: it is recommended to use it on a dedicated (sandbox) save, or at minimum to backup your save. While the mod should work in multiplayer, be careful about griefing (rendering huge graphs can freeze the game for several minutes).

Utilities
5 months ago
0.18 - 1.1
1.97K

b An error

9 months ago

模组 配方树图形化 (0.3.0) 引发了无法恢复的错误。
请向模组作者报告此错误。

Error while running event dana::on_gui_click (ID 1)
dana/lua/logger/Logger.lua:62: [dana][Error] PrepGraph: Duplicate link index.
stack traceback:
[C]: in function 'error'
dana/lua/logger/Logger.lua:62: in function 'error'
dana/lua/logger/ClassLogger.lua:53: in function 'assert'
dana/lua/layouts/preprocess/PrepGraph.lua:63: in function 'addLink'
dana/lua/layouts/layer/LayerLayout.lua:248: in function 'makeSubgraphWithDists'
dana/lua/layouts/layer/LayerLayout.lua:120: in function 'assignToLayers'
dana/lua/layouts/layer/LayerLayout.lua:68: in function 'new'
dana/lua/apps/graph/GraphApp.lua:66: in function 'new'
dana/lua/class/AbstractFactory.lua:79: in function <dana/lua/class/AbstractFactory.lua:71>
(...tail calls...)
dana/lua/controller/PlayerController.lua:108: in function 'makeAndSwitchApp'
dana/lua/apps/AppResources.lua:67: in function 'makeAndSwitchApp'
dana/lua/apps/query/QueryApp.lua:118: in function 'runQueryAndDraw'
dana/lua/apps/query/step/TemplateSelectWindow.lua:77: in function 'selectFullGraph'
dana/lua/apps/query/step/GuiTemplateSelectWindow.lua:136: in function 'onClick'
dana/lua/gui/GuiElement.lua:147: in function <dana/lua/gui/GuiElement.lua:142>

8 months ago

Hi,
I will need more information to reproduce the issue:

  • the full mod list
  • the request that caused the error
5 months ago
(updated 5 months ago)

Here's all I need to do to get this error:

  • Mods: IR2

  • How to make -> Electric assembler (though I seem to get this for any recipe, even fairly basic ones)

I suspect the scrapping/recycling recipes in IR2 are causing issues
Even one which does work, like tin ingot, throws up a lot of pointless paths. eg. it tells me I can create a tin ingot from a tin plate by manufacturing armor, scrapping it, and then smelting the scrap. This is technically possible, but nothing the player would seriously consider.

5 months ago

Thanks for the steps to reproduce.
The bug should be fixed in v0.3.1.

Even one which does work, like tin ingot, throws up a lot of pointless paths. eg. it tells me I can create a tin ingot from a tin plate by manufacturing armor, scrapping it, and then smelting the scrap. This is technically possible, but nothing the player would seriously consider.

That sounds reasonable. Filtering the interesting recipes was the main goal of v0.4, but it's non-trivial. I'm not actively working on v0.4 right now.

5 months ago

Thanks for the quick fix :)

Filtering the interesting recipes was the main goal of v0.4, but it's non-trivial.

I don't doubt that. What makes a recipe interesting or not is quite hard to work out algorithmically. My initial thoughts are to allow the user to blacklist certain items (in this case scrap metal), then prune any recipes that result in that.

New response