Naming convension: This should remains suggestive instead of making it a requirement. Its an unnecessary hurdle for new coders just starting out with the whole plug-in shabang. You'd have to explain "what is versioning" and "how to name your version" it just adds to the learning curve for something that can be avoided.
Its not a nice pain to have something not work properly just because somebody named something wrong. Much simpler ways like how its done in lua (as optional) is much newbie friendly
Not to mention for the end user you want them to be able to copy paste when installing a plugin. different names = no overwriting so the risk of duplicate plugins is really not unthinkable. (always assume end-users arent PC savy )
Distribution: As long as content-creators arent required to distribute through a specific repo and have the absolute freedom to choose any way they personally see fit then thats a thumbs up.
However a content creator would obviously be required to do something to get on "the list" if JIW games managed a plugin collection.
I love the RW managed built-in plugin install/update/uninstall feature idea but it has to come with a comprehensive filter to thin down the list.
Most games with a built in feature like that tend to overwhelm the users with so much to scroll through mixing all kinds of categories and content-quality and even a whole bunch of test content that shouldnt even belong there.
Directory structure: I agree with @Miwarre
"one plug-in, one sub-directory", regardless it consist of just one single .jar or has several files, assets of whatever kinds and so on.
Example scenario:
if a made a plugin to have my own brand of cars in RW, i'd want to make my own plugin have a folder containing that "eco system" of different makes and models of that one car brand.
This is a perfect scenario where i'd want my plugin to rest in a folder structure like
- Plugins folder
- Areaprotection folder
-areaprotection.jar
-database.db
- Elevator folder
-elevator.jar
- models folder
-luxury.dds
-industrial.dds
- My car plugin folder
-My car plugin framework.jar
- sedan folder
-model 1.jar
-model 2.jar
-model 2 -Brabus edition.jar - coupe folder
-model 1.jar
-model 2.jar
- Computer plugin folder
- computer.jar
- diskstation folder
- disk1 folder
-Program.lua
-other program.lua - disk2 folder
-another prgram.lua
-more.lua
Same way Kerbal Space Program does it, each plugin have its own little "eco system" since each plugin represents its own brand of stuff in the game. It helps to categorise which is what folders are for, It is so much cleaner than a one plugin folder with a bunch of jars which would look like
- areaprotection.jar
- elevator.jar
- folder for elevator plugin
-luxury.dds
-industrial.dds
- my car plugin framework.jar
- my car plugin sedan model 1.jar
- my car plugin sedan model 2.jar
- my car plugin sedan model 2-brabus edition.jar
- my car plugin coupe model 1.jar
- my car plugin coupe model 2.jar
- computer.jar
- folder diskstation for computer plugin
- disk1 folder
-Program.lua
-another program.lua
- disk2 folder
-another prgram.lua
-more.lua
That would be 1 folder containing a whole list of plugins and long names trying to keep them from colliding with occasional folders associated with certain files.
again from an end-users perspective they might update a jar file but forget a possible folder thats associated with it containing outdated external dependencies
the result is a whole lot of "tech-support" that could of been avoided if you just tell them to update 1 folder in the plugin folder instead of updating the several jars that are all in the same folder with other plugins and then a possible folder it might be associated with.cutting down on steps to do something is an incredible difference in the amount of people getting something wrong.
Changing assets: Changing assets doesnt always mean changing version.
Plugins can have add-ons that just add on to current version to extend its content the example i gave with cars plugin is because that is a good way to show that cars can be customised with additions to the main plugin.
I added a computer plugin example because these have changing assets too like programs for example and maybe even pheripherals that can be added to it.
That one big plugin folder with a bunch of jars + their variation jars + here and there folders to some jars that need it is one messy structure.
Imagine somebody creating a clothing design line, would anyone really want to see all those variations in pants, shirts, shoes, colors in between all those other plugins in 1 single folder all together ? to think about the naming alone is an eyesore put them in folders for the love of order & structure