About:
This mod turns Promethium into a true multi-planet production chain designed to be used by modpacks and overhauls.
Promethium is processed step by step across different planetary surfaces, where each recipe consumes the output of the previous one. The final Promethium Plate is the result of the full chain, that combine unique planetary processes and resources.
The mod is built from the ground up to be easy to extend by other planet mods.
Adding a new step is trivial: a mod only needs to declare a recipe with a small msppr definition and a chain order. The mod automatically links it into the chain, adjusts inputs and outputs, and unlocks it through the Promethium technology.
An optional Space Spidertron compatibility is included as a practical example of cross-mod integration, showing how the chain can be reused by other mods.
For modders:
In order to add your own recipe to the chain just define item and recipe.
- you have to add special field (msppr) to recipe in order for it to be properly added to chain
- recipe should be surface locked
- recipe should contain low output number
- amount number from msppr field will set input and output for recipe
- you can adjust your recipe order in chain wiith recipe_chain_order field
- define your recipe in data.lua.
- in case you are making overhaul/modpack or want to adjust order or recipes you can do it in data-updates.lua
- final chain in build in data-final-fixes.lua so I kindly ask to apply your changes before
Must have fields
msppr = {
result = { type = "item", name = "msppr-fulgora", amount = 1 },
recipe_chain_order = "fulgora",
},
results = { { type = "item", name = "msppr-fulgora", amount = 1 } },
Minimal working example
data:extend({
{
type = "item",
name = "msppr-nauvis",
icon = "__multi_surface_promethium_plate_recipe__/graphics/msppr-nauvis.png",
subgroup = "msppr",
order = "d[promethium]-r[nauvis]",
inventory_move_sound = item_sounds.sulfur_inventory_move,
pick_sound = item_sounds.resource_inventory_pickup,
drop_sound = item_sounds.sulfur_inventory_move,
stack_size = 100,
weight = 1 * kg,
random_tint_color = item_tints.ice_blue,
},
{
type = "recipe",
name = "msppr-nauvis",
subgroup = "science-pack",
category = "centrifuging",
surface_conditions = {
{
property = "pressure",
min = 1000,
max = 1000,
},
},
enabled = false,
ingredients = {
{ type = "item", name = "tree-seed", amount = 10 },
{ type = "item", name = "uranium-235", amount = 3 },
{ type = "item", name = "biter-egg", amount = 1 },
},
energy_required = 10,
msppr = {
result = { type = "item", name = "msppr-nauvis", amount = 1 },
recipe_chain_order = "nauvis",
},
results = { { type = "item", name = "msppr-nauvis", amount = 1 } },
allow_productivity = false,
auto_recycle = false,
},
})