[TALK] Dependencies, thingDef extension and how we make mods work together

Started by Sunspots, March 03, 2014, 12:28:50 PM

Previous topic - Next topic

Sunspots

One pretty basic thing that I'd like to carry over from the other thread is the use of same IDs (which overwrites defs, in the order of mods loading).
The thing about IDs though is that they can easily be prefixed to create a sort "namespace" for your mod. Instead of everyone creating a new "wood", modA calls it modA_Wood while modB calls it mobB_Wood.
It doesn't really matter if the mod maker intended the mod to be used with other mods, it makes compatibility much less of an issue and I think players should be able to choose however they want to play, even if the mod maker didn't intend it (at least if the incompatibility is fixed by simple means).

Looking at resources and materials for crafting, I really think we would benefit from having a way to share the definitions, because duplicates of materials that only work for one, but not the other recipe doesn't make much sense. One way of handling it would be if wood in general was defined as a category so that any wood registered by any mod, under the category "Wood" or "WoodRaw" (or something seemingly intuitive), could be used for the same recipies.
This should actually be possible for crafting recipies already, the only problem being one globally defined category file that needs to contain categories supporting multiple different mods (could be done with a mod manager).
The main issue that I see with this is some bloating of the category system.

A different approach would be to add some kind of tagging system (instead of hierarchical categories) where items can be in multiple categories ("Rosewood logs" are tagged as both "WoodRaw" and "OrganicFuel", which any recipe/machine/process could be able to use for filtering)

JinxWolf

Quote from: Sunspots on April 06, 2014, 04:14:42 PM
One pretty basic thing that I'd like to carry over from the other thread is the use of same IDs (which overwrites defs, in the order of mods loading).
The thing about IDs though is that they can easily be prefixed to create a sort "namespace" for your mod. Instead of everyone creating a new "wood", modA calls it modA_Wood while modB calls it mobB_Wood.
It doesn't really matter if the mod maker intended the mod to be used with other mods, it makes compatibility much less of an issue and I think players should be able to choose however they want to play, even if the mod maker didn't intend it (at least if the incompatibility is fixed by simple means).

Looking at resources and materials for crafting, I really think we would benefit from having a way to share the definitions, because duplicates of materials that only work for one, but not the other recipe doesn't make much sense. One way of handling it would be if wood in general was defined as a category so that any wood registered by any mod, under the category "Wood" or "WoodRaw" (or something seemingly intuitive), could be used for the same recipies.
This should actually be possible for crafting recipies already, the only problem being one globally defined category file that needs to contain categories supporting multiple different mods (could be done with a mod manager).
The main issue that I see with this is some bloating of the category system.

A different approach would be to add some kind of tagging system (instead of hierarchical categories) where items can be in multiple categories ("Rosewood logs" are tagged as both "WoodRaw" and "OrganicFuel", which any recipe/machine/process could be able to use for filtering)

You do realize you basically just went in detail with what I said?