Arcanyx

by S6X

Arcanyx is a planet designed around the mechanics of Voidcraft and Iridescent Industry: making things out of prismite, or just conjuring them from nothingness.

Content
13 days ago
2.0 - 2.1
11.2K
Factorio: Space Age Icon Space Age Mod
Planets Logistics Mining Manufacturing

b Voidworks fusion and inverse recipes slip past s6x-arcanyx-voidcraft

a month ago

Hi! Two gaps in the "voidcraft only on Arcanyx" setting (s6x-arcanyx-voidcraft) with Arcanyx 1.1.5 and Voidcraft 2.11.0:

  1. s6x-voidworks-fusion (added in Voidcraft 2.10.0) is not in the voidcrafters list (data-final-fixes.lua:12-22), so it and its recipe get no magic condition. It can be placed anywhere and runs the entropic conjuration recipes there, e.g. s6x-entropic-conjuration-adv (processing units, LDS, solar panels from nothing).
  2. data-final-fixes.lua:55 checks r.category == "voidcrafting-inverse", but in 2.1 recipes only have categories, so none of the 29 inverse recipes (s6xvcinv-*) get the condition.

A patch for both (checked with a data dump: the fusion, its recipe and the 29 inverse recipes get magic = 100, nothing else changes):

--- a/data-final-fixes.lua
+++ b/data-final-fixes.lua
@@ -19,6 +19,7 @@
        "s6x-voidworks-nuke",
        "s6x-voidworks-red",
        "s6x-voidworks-prism",
+       "s6x-voidworks-fusion",
    }
    local arcanyx_restrict = {}

@@ -52,8 +53,15 @@
        data.raw.recipe["s6xvc-voidworks-adv-coh"].is_special_restriction = true
    end

+   local function is_inverse(r)
+       for _,c in pairs(r.categories or {}) do
+           if (c == "voidcrafting-inverse") then return true end
+       end
+       return false
+   end
+   
    for _,r in pairs(data.raw.recipe) do
-       if (r.is_special_restriction or (only_arcanyx_voidcraft and (r.is_vc or r.category == "voidcrafting-inverse"))) then
+       if (r.is_special_restriction or (only_arcanyx_voidcraft and (r.is_vc or is_inverse(r)))) then
            table.insert(arcanyx_restrict, r)
        end
    end
a month ago

I did it a bit differently but the issue should be fixed in 1.1.6.

New response