Required Plugins

Published by Goldorion on Thu, 08/13/2020 - 01:45
Status
Migrated
Product/platform
Not applicable
Priority
Normal
Issue description

I add with my Fabric and Spigot Generators things that are the same in both generators, but I need to re-create them each time, and they are duplicated, like data lists for Minecraft 1.16. it's also a problem with procedure blocks and global triggers because if I just add JSON files in one of the generator and a user doesn't have both, it won't have new procedure blocks and triggers, or the plugin won't load. A solution to this problem is to create a library plugin (like the MCreator Core plugin), but if a user doesn't have the library plugin, it will have the same problem. So, I thought that, like mods, we could define in the plugin.json if we have one or many required plugins, and the minimal version of it, we need to have for the plugin works. If the user doesn't have the required plugin, an error or warning message can be displayed when MCreator loads with the plugin and the required plugin (the same that Forge does). I attach an example of a plugin.json  to give you an example of what I want to say.

I think it can be a great improvement for plugins, as it will easier for plugin developers to make a library plugin only, and generator developers only need to add the code file. We will also be able to make more "easily" compatibility between plugins.

On the plugin page, a field to add required plugins could be nice too with this feature.

P-S: I know it should have its own ticket, but a credit field could be nice for some cases because I use block/item icons from the 1.16 Datapack Generator and I want to give him the credit, but there is not really somewhere except in authors to write it.

Attachment Size
An example of the plugin.json with 2 required plugins395 bytes 395 bytes

Issue comments



Donate to MCreator

By donating to developers you can speed up development, as with more resources, we can dedicate more time to MCreator. It is a free project made by developers working on it in their free time.