Mods / Config lib

Category: #Library
Author: Maltiez
Side: Both
Created: Dec 13th 2023 at 2:11 PM
Last modified: Oct 24th at 5:30 AM
Downloads: 76845
Follow Unfollow 593

Latest file for v1.20.0-pre:
configlib_1.3.17.zip 1-click install


Requires ImGui

 

For other modders (or if you want to help): I need help with wrighting documentation for this library, I'm bad at it and dont have energy to do this stuff. Also I will be happy to have some help with testing new features.

 

This is a library that allows making configs even for content mods (there is also API for code mods, including custom widgets) and provides a unified GUI for editing them in game. It does not require for your mod to depend on this library. If the library is not installed, default values from assets will be used.

This library also allows changing values in regular JSON patches, that can be valuable for server configurations and can make tweaking other mods for server needs much easier.

For other modders: would be nice to collaborate on combat related mod. Would be nice to have somebody to test features, to animate player and items, may be even to write some code, or just do research part. 

Documentation on JSON API of this library (updated by Somnium).

If you need help with adding a config file using this lib feel free to ping me in discord on official VS server.

Thanks Somnium for feature suggestions and help with testing them, and the documentation.

Some of the mods that use this library:

Feel free to request any features you might need under mod's discord post (link is above in Homepage tab).

 


If you want to support me financially, I made an account on Boosty: boosty.to/maltiez

Version For Game version Downloads Release date Changelog Download 1-click mod install*
v1.3.17 5963 Oct 24th at 5:30 AM Show configlib_1.3.17.zip Install now
v1.3.16 1719 Oct 9th at 8:45 AM Show configlib_1.3.16.zip Install now
v1.3.15 403 Oct 6th at 5:13 PM Show configlib_1.3.15.zip Install now
v1.3.14 324 Oct 5th at 3:39 PM Show configlib_1.3.14.zip Install now
v1.3.13 32544 May 24th at 4:43 PM Show configlib_1.3.13.zip Install now
v1.3.12 912 May 22nd at 2:48 AM Show configlib_1.3.12.zip Install now
v1.3.11 1533 May 15th at 10:24 AM Show configlib_1.3.11.zip Install now
v1.3.10 1374 May 8th at 4:40 AM Show configlib_1.3.10.zip Install now
v1.3.9 4095 Apr 27th at 3:26 AM Show configlib_1.3.9.zip Install now
v1.3.8 109 Apr 27th at 1:35 AM Show configlib_1.3.8.zip Install now
v1.3.7 190 Apr 26th at 6:29 PM Show configlib_1.3.7.zip Install now
v1.3.6 941 Apr 23rd at 4:51 PM Show configlib_1.3.6.zip Install now
v1.3.5 1034 Apr 18th at 9:11 PM Show configlib_1.3.5.zip Install now
v1.3.2 358 Apr 17th at 12:53 PM Show configlib_1.3.2.zip Install now
v1.3.1 1396 Apr 10th at 4:03 PM Show configlib_1.3.1.zip Install now
v1.3.0 130 Apr 10th at 1:29 PM Show configlib_1.3.0.zip Install now
v1.2.3 145 Apr 10th at 9:16 AM Show configlib_1.2.3.zip Install now
v1.2.2 887 Apr 6th at 6:03 PM Show configlib_1.2.2.zip Install now
v1.2.1 671 Apr 4th at 5:18 PM Show configlib_1.2.1.zip Install now
v1.2.0 1867 Apr 4th at 9:23 AM Show configlib_1.2.0.zip Install now
v1.1.3 1004 Mar 31st at 1:17 PM Show configlib_1.1.3.zip Install now
v1.1.2 328 Mar 30th at 4:54 PM Show configlib_1.1.2.zip Install now
v1.1.1 2046 Mar 17th at 3:18 PM Show configlib_1.1.1.zip Install now
v1.1.0 309 Mar 17th at 10:51 AM Show configlib_1.1.0.zip Install now
v1.0.2 2364 Mar 2nd at 6:03 AM Show configlib_1.0.2.zip Install now
v1.0.1 185 Mar 2nd at 12:42 AM Show configlib_1.0.1.zip Install now
v1.0.0 438 Feb 28th at 10:07 AM Show configlib_1.0.0.zip Install now
v1.0.0-pre.1 323 Feb 26th at 10:43 AM Show configlib_1.0.0-pre.1.zip Install now
v0.5.4 469 Feb 23rd at 9:23 AM Show configlib_0.5.4.zip Install now
v0.5.3 124 Feb 23rd at 7:45 AM Show configlib_0.5.3.zip Install now
v0.4.5 874 Feb 14th at 2:34 AM Show configlib_0.4.5.zip Install now
v0.4.4 159 Feb 13th at 10:11 PM Show configlib_0.4.4.zip Install now
v0.4.3 1562 Feb 13th at 7:54 PM Show configlib_0.4.3.zip Install now
v0.4.2 3955 Feb 13th at 1:10 PM Show configlib_0.4.2.zip Install now
v0.4.1 186 Feb 12th at 3:04 PM Show configlib_0.4.1.zip Install now
v0.3.6 380 Feb 5th at 7:38 AM Show configlib_0.3.6.zip Install now
v0.3.5 432 Jan 30th at 7:55 PM Show configlib_0.3.5.zip Install now
v0.3.4 134 Jan 30th at 7:23 PM Show configlib_0.3.4.zip Install now
v0.3.3 2585 Jan 14th at 3:24 AM Show configlib_0.3.3.zip Install now
v0.3.2 387 Jan 9th at 10:12 AM Show configlib_0.3.2.zip Install now
v0.3.1 155 Jan 6th at 7:21 PM Show configlib_0.3.1.zip Install now
v0.3.0 137 Jan 6th at 6:01 PM Show configlib_0.3.0.zip Install now
v0.2.5 533 Dec 30th 2023 at 12:15 PM Show configlib_0.2.5.zip Install now
v0.2.4 193 Dec 24th 2023 at 3:57 PM Show configlib_0.2.4.zip Install now
v0.2.3 202 Dec 17th 2023 at 8:29 AM Show configlib_0.2.3.zip Install now
v0.2.2 166 Dec 17th 2023 at 5:53 AM Show configlib_0.2.2.zip Install now
v0.2.1 142 Dec 16th 2023 at 12:37 PM Show configlib_0.2.1.zip Install now
v0.2.0 169 Dec 16th 2023 at 11:31 AM Show configlib_0.2.0.zip Install now

39 Comments (oldest first | newest first)

💬 SrTuco, Nov 18th at 10:29 PM
The 'Mods settings' button overlaps the 'settings' button when used with the game in Brazilian Portuguese and is difficult to click, with the game in 'English' it is perfect,
 could you please fix it for PTBR? please (I used google translate to write this, sorry for anything)
💬 MaltiezAuthor, Nov 11th at 8:33 AM

1.19.4 is compatible for 1.19.4 - 1.19.8 versions

💬 LaleneMan, Nov 11th at 7:56 AM

Also adding my one cent, but I too am looking to see if this works with the current stable ersion, 1.19.8 since the latest non-1.2 seems to be 1.19.4 for this mod.

💬 Ryukori, Nov 10th at 6:27 AM

I'm on version 1.19.8 but I'm seeing that this one could not be loaded.

"Unable to load mod. Requires dependency game v1.20.0-pre.5"

How do I resolve this?

💬 QiForce, Nov 6th at 5:46 PM

which version is compatible with 1.19.8? (current stable)

💬 Calamity, Nov 5th at 4:45 PM

does this work for servers?

💬 MaltiezAuthor, Oct 9th at 7:26 PM

Sollyz

Make sure you have the correct version of the mod for your version of the game

💬 MaltiezAuthor, Oct 9th at 7:25 PM
💬 Cellist1616, Oct 9th at 7:24 PM

It says I need a mod called "Dependency game" ??? I can't find it anywhere 

💬 MaltiezAuthor, Oct 5th at 10:19 AM

Seems to work on 1.20

💬 R0D96, Oct 3rd at 11:11 PM

Im clicking the mod settings button, but nothing seems to be happening

💬 MaltiezAuthor, Jul 12th at 5:28 PM

Report it vi discord

💬 Aimli, Jul 12th at 2:51 PM

In this mod, Chinese is displayed as "?" now.

💬 MaltiezAuthor, Mar 21st at 5:38 AM

Pheargrimm

Please ping me in official VS discord and send screenshot and logs, and also your VS graphics settings, number of monitors and main monitor resolution.

💬 Pheargrimm, Mar 21st at 5:07 AM

Maltiez

I have the same problem as Shade_Guye.  When I open the config screen I cannot interact with it directly when the cursor is placed directly over the visual elements of the config menu.  However if I move the cursor to the left of the Menu's visual elements on screen, I can interact with the config menu.  It appears the visual elements of the Config menu are offset to the right of where the cursor can interact with them. Looks like approximate about one full width of the menu.

The menu is still fully functional, just a little fiddly to use. Of course it could be completely my fault I may be missing something, not a coder just a lover of mods.

If you need further evidence I can provide a video and logs to discord.

I have tested it in isolation with no other mods installed on a fresh world.
I have replicated the fault with both BetterRuins and StatusUIContinued separately.
I have tested it the following configurations
- Config 1.1.1 vsimgui 1.1.0 - Fault initially found
- Config 1.1.1 vsimgui 1.1.0 - No Other Mod Installed - Fault replicated
- Config 1.1.1 vsimgui 1.1.1 - Opening config menu cause crash to desktop
- Config 1.1.1 vsimgui 1.1.2 - Fault replicated

*Edit OS is Windows 10.

💬 MaltiezAuthor, Mar 15th at 1:58 PM

Shade_Guye

Please ping me in official VS discord and send screenshot and logs

💬 Shade_Guye, Mar 15th at 12:13 PM

It increases the more right on the screen I go. I did reinstall ImGui, as at first I forgot it and let the game install it, there were 2 vers one of which was unusable, so I removed them and got it manually, didn't fix it. That was right when I got the mod.

💬 MaltiezAuthor, Mar 15th at 6:28 AM

Shade_Guye

Make sure you have latest ImGui version. Also, what OS you are on? How much it is misaligned?

💬 Shade_Guye, Mar 14th at 6:22 PM

Hi I have a bug with the window itself, the cursor is misaligned down-right by some amount. I tried it in windowed but it still happened. Any mods that are known to be conflicting? I don't have many, and only have status hud as a mod that is relevant to ui.

💬 MagicWand92FS, Feb 23rd at 3:27 PM

fair enough thanks

 

💬 MaltiezAuthor, Feb 23rd at 3:16 PM

MagicWand92FS

My bad, it is for 1.19.4-rc.1, I just selected wrong version here on moddb

💬 MagicWand92FS, Feb 23rd at 3:15 PM

Maltiez 

config v0.5.1 is requesting game version 1.19.4-rc.1

💬 MaltiezAuthor, Feb 13th at 9:45 AM

EquivalentBad

This is caused by some other mod. "BlockAnimalNest" is not a vanilla class and has nothing to do with this mod.

Upd.: it is Feverstone Wilds, remove it, because it is not updated to 1.19. And please next time make sure that you found the actual mod that causes problems.

💬 MaltiezAuthor, Jan 30th at 7:02 AM

Maamessu

Need the list of installed mods. Better to send it via discord in official VS server though.

💬 Maamessu, Jan 30th at 1:52 AM

I'm having the same issue as below:

[Error] [configlib] An exception was thrown when trying to load assembly:
30.1.2024 01:48:05 [Error] [configlib] Exception: Assembly with same name is already loaded
at System.Runtime.Loader.AssemblyLoadContext.<LoadFromPath>g____PInvoke|5_0(IntPtr ptrNativeAssemblyBinder, UInt16* ilPath, UInt16* niPath, ObjectHandleOnStack retAssembly)
at System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyPath(String assemblyPath)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at Vintagestory.Common.ModAssemblyLoader.LoadFrom(String path) in VintagestoryLib\Common\API\ModAssemblyLoader.cs:line 34
at Vintagestory.Common.ModContainer.<>c__DisplayClass35_0.<LoadAssembly>b__0(String path) in VintagestoryLib\Common\API\ModContainer.cs:line 449
at System.Linq.Enumerable.SelectListIterator`2.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.ToList()
at Vintagestory.Common.ModContainer.LoadAssembly(ModCompilationContext compilationContext, ModAssemblyLoader loader) in VintagestoryLib\Common\API\ModContainer.cs:line 448

I can confirm I don't have more than one copy/version of config lib installed.

💬 MaltiezAuthor, Jan 15th at 6:44 AM

Cpt_C0nfus3d

You have two versions of the mod installed, leave only one

💬 Cpt_C0nfus3d, Jan 15th at 5:41 AM

This is from 1.19.0-RC8

 

14.1.2024 21:57:00 [Error] [configlib] An exception was thrown when trying to load assembly:
14.1.2024 21:57:00 [Error] [configlib] Exception: Assembly with same name is already loaded
at System.Runtime.Loader.AssemblyLoadContext.<LoadFromPath>g____PInvoke|5_0(IntPtr ptrNativeAssemblyBinder, UInt16* ilPath, UInt16* niPath, ObjectHandleOnStack retAssembly)
at System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyPath(String assemblyPath)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at Vintagestory.Common.ModAssemblyLoader.LoadFrom(String path) in VintagestoryLib\Common\API\ModAssemblyLoader.cs:line 34
at Vintagestory.Common.ModContainer.<>c__DisplayClass35_0.<LoadAssembly>b__0(String path) in VintagestoryLib\Common\API\ModContainer.cs:line 449
at System.Linq.Enumerable.SelectListIterator`2.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.ToList()
at Vintagestory.Common.ModContainer.LoadAssembly(ModCompilationContext compilationContext, ModAssemblyLoader loader) in VintagestoryLib\Common\API\ModContainer.cs:line 448

💬 B0bb0, Jan 9th at 11:53 PM

Maltiez,  Thanks!  I let the client pick the dependencies.  Downloading the latest IMGui solved the issue.

💬 MaltiezAuthor, Jan 9th at 7:17 AM

Install latest version of ImGui

💬 B0bb0, Jan 9th at 12:24 AM

Hello, just installed 'status hud continued' and the associated 'config lib' and 'vsimgui' mods in 1.19-rc6. When pressing 'p' to open the config, a window appears with the text "Config lib: cursor unlock" in the header. The client log shows what looks like a hardcoded path. Can you point me in the right direction?   Status Hud Continued?  Many thanks!

8.1.2024 18:27:07 [Error] [configlib] An exception was thrown when trying to start the mod:
8.1.2024 18:27:07 [Error] [configlib] Exception: Could not load type 'VSImGui.Style' from assembly 'VSImGui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. at ConfigLib.ConfigWindow..ctor(ICoreClientAPI api) at ConfigLib.GuiManager..ctor(ICoreClientAPI api) in D:\Projects\Firearms\configlib\configlib\src\GUI\GuiManager.cs:line 27 at ConfigLib.ConfigLibModSystem.AssetsFinalize(ICoreAPI api) in D:\Projects\Firearms\configlib\configlib\src\ContentSettingsModSystem.cs:line 47 at Vintagestory.Common.ModLoader.TryRunModPhase(Mod mod, ModSystem system, ICoreAPI api, ModRunPhase phase) in VintagestoryLib\Common\API\ModLoader.cs:line 654
8.1.2024 18:27:07 [Error] Failed to run mod phase AssetsFinalize for mod ConfigLib.ConfigLibModSystem

💬 BraniyaKz, Dec 17th 2023 at 6:10 AM

@Maltiez - Thank you and thank you again! This time the discord works. Wonderful work, I'll test it out. From now on, I'll try to stick to discord for further happenings.

💬 MaltiezAuthor, Dec 17th 2023 at 5:46 AM

BraniyaKz

It is not my discord server, it is official Vintage Story discord server, here is invite-link: discord.com/invite/CkJjdrB

Made a patch for this problem. No idea what caused it, but should not be a problem now

💬 BraniyaKz, Dec 17th 2023 at 5:01 AM

Maltiez - I'm having more issues, and I can't access your Discord server via the issue tracker button on the top of this page... The page just stays greyed out and I can't click on any channels or anything. It says I don't have permission to post messages in the channel. I have logs to show you about the patch file with boolean options that disable another mods' items, which throws a null reference exception. [The Log] [The Patch File] [The settings-config.json]

💬 BraniyaKz, Dec 16th 2023 at 2:21 PM

Maltiez - I apoligize, I've been having trouble accessing discord at all. But you're right about it being a better place for discussion, so I'll try to fix my situation and do more testing for ya. And btw, I think you're making GREAT progress with this, and it's definately a very much needed resource. Thanks again.

💬 MaltiezAuthor, Dec 16th 2023 at 11:33 AM

BraniyaKz

Reworked library, should fix most of the problems. But still it is better to report issues in discord, cause you can link files and stuff and I can see it earlier and reply immideatly sometimes

💬 MaltiezAuthor, Dec 15th 2023 at 10:53 AM

BraniyaKz

Moddb is a bad place for reporting and solving issues. There is official VS discord server and a dedicated post for this mod, all links are above.

💬 BraniyaKz, Dec 15th 2023 at 10:29 AM

OH BOY, does the log throw errors when making configs for optionally disabling itemtypes and recipes. Seems to not entirely work in some cases. Here's what happened:

15.12.2023 05:23:45 [Error] Patch 4 (target: acorns:recipes/grid/mallet-head.json) in qolmaster:patches/acorns-qol.json failed, following Exception was thrown: Set JArray values with invalid key value: "enabled". Int32 array index expected. -> That value, false, worked before without errors.

💬 MaltiezAuthor, Dec 15th 2023 at 9:29 AM

BraniyaKz

Thanks for reply. I'm currently working on gui for it for edditing user config for a mod, and mod config for a developer of the mod, you can check out mod-development in official VS discord for details.

💬 BraniyaKz, Dec 15th 2023 at 9:05 AM

Just what I was looking for! I plan on using this functionality for boolean variables in my content mod QoL Master. Thank you so much! I have a special case already tho: I want to use a value that reads "hammer", with the "", as a value for replacement. I did, and it crashed. I only used the default "hammer", name, and comment in the config file.

(edit comment delete)