At which stage of mod loading (pre init, init, post init, ...) will be loaded:
- blocks for worldgen
- items
- oreDict (meaning the time when new blocks/items are registered with oreDict)?
Reason:
We currently have many mods which add the same ores (copper, tin, ...). Would it be possible to write your own mod in a way that it asks oreDict if oreCopper, ingotCopper, ... are already registered, and if yes not even start loading its own implementation?
If now every mod uses the same name in the oreDict, there would only one type of ore, ingot, ... exist per metal, so oreDictUnifiers (see GT), ForgeLexicon, ... wouldn't be needed for this basic stuff (if your own mod only ever uses the oreDict besides the initial registration). Recipes like ore doubling would simply use the first dust they find in the oreDict instead of using its own implementation and players would never again find several types of dusts and ingots of the same type in their storage or even in NEI.
Pseudocode:
Edit: Found a possible problem with my idea: What if the sequence, in which mods are loaded, changes, so that now a different mod registers its items first with oreDict? I think that would remove all your existing ingots etc. from the world, since ingotCopper now has a different itemID (e.g. ID 5000 with TE, 6000 with IC²). Is there any way around this?
- blocks for worldgen
- items
- oreDict (meaning the time when new blocks/items are registered with oreDict)?
Reason:
We currently have many mods which add the same ores (copper, tin, ...). Would it be possible to write your own mod in a way that it asks oreDict if oreCopper, ingotCopper, ... are already registered, and if yes not even start loading its own implementation?
If now every mod uses the same name in the oreDict, there would only one type of ore, ingot, ... exist per metal, so oreDictUnifiers (see GT), ForgeLexicon, ... wouldn't be needed for this basic stuff (if your own mod only ever uses the oreDict besides the initial registration). Recipes like ore doubling would simply use the first dust they find in the oreDict instead of using its own implementation and players would never again find several types of dusts and ingots of the same type in their storage or even in NEI.
Pseudocode:
Code:
if (!oreDict.exists("oreCopper"))
Blocks.add(MyCopperOre);
Edit: Found a possible problem with my idea: What if the sequence, in which mods are loaded, changes, so that now a different mod registers its items first with oreDict? I think that would remove all your existing ingots etc. from the world, since ingotCopper now has a different itemID (e.g. ID 5000 with TE, 6000 with IC²). Is there any way around this?