Thanks. I'm glad you like it.
I'm a bit rusty on the topic. It's been a while since I last did anything for this mod. If I recall correctly, PUMP iterates all minables, and checks to see of the result is a liquid. You can find this in the toolbox.lua
file, the function get_resource_category_map_from_data()
; specifically line 443:
if resource.minable.results[1].type == "fluid" then
table.insert(resource_category_map[resource.category].fluids,
name)
end
I do see that the result-array there is forcibly checked for index "1". I have not checked how Factorio-Tiberium works, but maybe it has 2 (or more) entries in that resource.result array, and the liquid one is on index 2 or 3. Checking all entries in that array might already do the trick.
As for the ignoring the tiberium, .. that might already work? If you look in prospector.lua
there are can_place_extractor
and can_place_pipe
functions. They check for defines.build_check_type.manual_ghost
. If I recall correctly, it's equivalent that if you can place a ghost manually, in a way that bots will clear obstructions, it'll just place the ghost and let the bots figure out what to remove before placing it.
Hope this helps. Let me know if you figure it out or if you have more questions. If you manage to change it in a manner that doesn't include special exceptions in code for Tiberium (ie. if the index change above is sufficient), I would appreciate a pull request so I can release it as part of PUMP.