Real libraries are missing

Post Reply
User avatar
joe7575
Member
Posts: 851
Joined: Mon Apr 24, 2017 20:38
GitHub: joe7575
In-game: JoSto wuffi
Location: Germany, in the deep south

Real libraries are missing

by joe7575 » Post

Is there no need for real libraries?
With "real libraries" I mean mods without own nodes, but with a well documented and stable API, so that they can be used by other mods.

For example:
I could've used a display lib twice already (TechPack and Hyperloop).
Several technic mods have there own display mods.

But these kind of libs should have:
- a stable API (new features are allowed if the compatibility keeps preserved)
- no own nodes/items, only for demonstration purposes and disabled by default
- no dependencies to other mods, except 'minetest_game'
- a Lua readable version number to be able to check the compatibility

It would be perfect if Minetest would have some kind of library manager which automatically installs and updates the necessary libraries, but that's a different story...
Sent from my Commodore 64. Some of my Mods: Tech Age, TechPack, Hyperloop, Tower Crane, Lumberjack, vm16, Minecart, Signs Bot.

User avatar
Pyrollo
Developer
Posts: 385
Joined: Mon Jan 08, 2018 15:14
GitHub: pyrollo
In-game: Naj
Location: Paris

Re: Real libraries are missing

by Pyrollo » Post

I agree but there are several curbs for that.

First of all, if you publish a stand alone library (mod without nodes), nobody will take care of it. It will be used only if you provide a good bunch of mods with it to show what the library can do.

Then, if you publish atomic libraries + atomic mods, it will dramatically increase the number of mod you have to install. I think the mod system could be improved. Maybe like in linux distros that can distinguish between wanted packages and dependencies packages.

I'm developing Display API / Font API and I'd like to provide both modpack and separate libraries. Unfortunately, I found no simple way to do that with git. I tried submodules but it implies that the user have to download separately modpack and submodules (still interested in any advice :) ).
- no dependencies to other mods, except 'minetest_game'
I cant agree with that. For example Font API relies on Display API so two solutions are possible :
1 - Supply Font API and Display API in one mod but there always will be someone willing to use display API without Font API.
2 - Supply two mods, one depending on the other.

Thanks a lot for having open that topic, I'm sure the discussion will lead to constructive things.
[ Display Modpack ] - [ Digiterms ] - [ Crater MG ] - [ LATE ]

User avatar
joe7575
Member
Posts: 851
Joined: Mon Apr 24, 2017 20:38
GitHub: joe7575
In-game: JoSto wuffi
Location: Germany, in the deep south

Re: Real libraries are missing

by joe7575 » Post

Thanks Pyrollo for your prompt response.
I hope it will become a constructive topic which leads to some agreements/solutions for the future.
First of all, if you publish a stand alone library (mod without nodes), nobody will take care of it. It will be used only if you provide a good bunch of mods with it to show what the library can do.
Yes, that's right. Each library should come with a mod to show what it can do.
But the lib should be independent and not part of the mod. That means it should have its own repository.
I know its very inconvenient, I also have my difficulties to handle that.

With "no dependencies to other mods" I meant standard mods, dependencies to other libs, like in your case, are of course ok.

I had the 'signs_lib' mod in my mind, when I wrote this. 'signs_lib' depends on 'basic_materials' which make absolutely no sense for a library. That means, also 'signs_lib' is no library, it is a mod like my own 'tubelib' which is also no library.
Sent from my Commodore 64. Some of my Mods: Tech Age, TechPack, Hyperloop, Tower Crane, Lumberjack, vm16, Minecart, Signs Bot.

Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests