A way to add support for other MCreator mods.

Status
Resolved
Issue description

I was wondering if you guys could add a way so that mod creators in the MCreator community could export a "developer build" of a mod that can be used to store block textures, and element ID to allow other mod creators the ability to use the elements in other mods in there own mods. We would also need a way to test if the mod is installed of course both with a procedure block and a way in elements maybe by mod ID or something then test if game the game has the mod ID if true then use the element in the mod.

I have listed just a few examples how this could help the community collaborate with other developers,

  • Adding recipes with items for other mods
  • Using creative tabs to store your mod items in.
  • Call procedures from other mods if shared.
  • Use commands from other mods in your own mod.
  • Test of other mod resources in procedures. Things like sounds, items, entities, blocks etc.
  • This could also be used to make add-on's for your own mod :D
  • Much more (I am sure there could be more things that can be done I can keep adding more ideas but I think you get the idea by now)

Proposed system:

  1. In the element there could be a page to "share the element" this would allow it to be included in a zip or .jar. when exported.
  2. A new option under "workspace" to "Export shareable elements" and "Import shareable elements" that can load or unload the save data.
  3. A option to manage "imported shareable elements" to all to remove them.
  4. Lastly support to use the imported elements ids and uses in your own mod.
  5. A way to test for if a specific id is installed in the client so that more functionality of the current mod could be used.

Final notes.

  • Developers of the mod should have the option to share or not share the ids to allow other mod creators to add support for there mods
  • I may be better to store the files in a encrypted archive so that things like the textures for the GUI and ids don't get reused without permission from the original developer of the mod.

Overall this should allow other mods creators in the MCreator community to be able to collaborate and share resources via ids or some other way that can allow for using resources in there own mod elements could grow the community even more and open more doors for larger mods and more interesting community / mod dynamics.

Issue comments

Lastly support to use the imported elements ids and uses in your own mod.

Using blocks and other elements with registry support from any other mod is already planned.

A way to test for if a specific id is installed in the client so that more functionality of the current mod could be used.

Dependencies can be defined in workspace settings already, but use of other mods atm is limited to tags and biome dictionary (at least outside code).

In the element there could be a page to "share the element" this would allow it to be included in a zip or .jar. when exported.

A new option under "workspace" to "Export shareable elements" and "Import shareable elements" that can load or unload the save data.

It is planned to support dragging mod elements from one workspace to another, that will essentially cover this. Also possibly importing another workspace into current and merging them.

I may be better to store the files in a encrypted archive so that things like the textures for the GUI and ids don't get reused without permission from the original developer of the mod.

I am not sure what exactly you meant with this, which files? Mod can not be encrypted, it is jar file with defined standards.

It is planned to support dragging mod elements from one workspace to another, that will essentially cover this. Also possibly importing another workspace into current and merging them.

Um not what I meant lol, but that's cool regardless. I mean to export the element ids then have away to import it in a workspace, but it sounds like you may have an idea how this could be done already without needing to export the ids of the elements and there textures for the GUI.

This would not be fore exporting and importing full workspaces just the things required to allow other creators the necessary information/files to add support in there own mod.

I am not sure what exactly you meant with this, which files? Mod can not be encrypted, it is jar file with defined standards.

Above I explained the exporting the element ID and necessary files, some files like textures may still need to be included with the export so I was thinking it would be better to encrypted some kind of file format so that other people can't steal or reuse the textures in there own mods. I hope that makes a bit more since :D

So basically like providing list of features from one mod to another?

This would be a neat thing, but support for actually using elements from other mods needs to come first ;)

there should also be an option to add a deobf version of a mod to use with other hand-coded mods.

You mean to export deobf version of mod? I think this deserves own ticket, if this is the case :)