muppi
September 3, 2021, 3:59pm
1
By the title, you can guess that I am asking how to install mods and I know about the mod installer and
it doesn’t work
it is for an older version
so i am asking how to install mods in 0.5.5
Well until we get a mod loader. For example if this gets done:
Revolutionary-Games:master
← I-Have-No-Idea-What-IAmDoing:NewModLoaderFork
opened 03:39AM - 28 Jun 21 UTC
**Long Description of What This PR Does**
![image](https://user-images.githubus… ercontent.com/55067948/123562942-5f025300-d777-11eb-8da5-1a69aafb1323.png)
This PR adds a mod loader with a load order/priority list, this is a rebuilt version of my previous mod loader #1521.
It still loads pck files and mods are still detected by a mod_info.json file, which holds information about the mod.
The new features in this PR are:
### General
* The description of mods use rich text labels, so they can be formatted
* Mods can now have icons associated with them that will display next to them
* They can also have a preview image that displayed next to the description
* The list of mod have actual style to them now
* The Mod list is split into 3 tabs, the actual mod loader, the autoloaded mod (shows the mod that is being autoloaded [which is determined by the mod maker]), and Failed to Load mod (which shows why some mods fail to load).
* The split between the mod info panel and the loader uses a split container and can be manipulated show show more of either panel
![image](https://user-images.githubusercontent.com/55067948/123572882-86b2e480-d792-11eb-864d-ff9833fd2b59.png)
### Mod Info
![image](https://user-images.githubusercontent.com/55067948/123572932-9e8a6880-d792-11eb-982d-e58727e60c42.png)
* Mods can now specify which version of thrive they are compatible or not compatible with
* The version they are compatible with are shown in the mod loader
* If they specify version of mods they are compatible with but it does not include the current version then it will show up yellow and a tooltip shows why
* It they are not compatible with the current version then they are shown up as red and show a similar tooltip
* Mods can also define dependencies
* These are also shown in the main menu through a button which opens a popup
* Dependencies are defined through the name of the mod
* the version of the mod does not matter for dependencies
* Mods can also define mods they are incompatible with, they work the same way as dependencies
* Mods can also specify which mods they want to load before and after
* They work a little differently from dependencies since they do not cause errors if they are not loaded with it
* All of these are checked by mod loader before loading the mod and can alert the player if they find anything wrong with the mods they are trying to load
* There is a check button so the player can check the list before trying to load them
* There is also a safe mode checkbox which if off, turns off checking before loading
![image](https://user-images.githubusercontent.com/55067948/123573338-5cadf200-d793-11eb-8945-4ba590e5d4cb.png)
* Mods can have a display name attach to it, which will be used instead of the mod name
### Autoloaded Mods
![image](https://user-images.githubusercontent.com/55067948/123573988-ab0fc080-d794-11eb-9ed7-f7c132098a60.png)
* Autoloaded mods are not displayed in the mod loader but are now displayed in this tab
* Since these are loaded automatically this make more sense this way
### Failed to load Mods
![image](https://user-images.githubusercontent.com/55067948/123575617-bca69780-d797-11eb-9b9a-f6b60b9db552.png)
* This tab show mods that failed to load
* It shows the reason on the side
* The name should probably be changed but I am not sure what else to call this tab
______________________________________
This is still a draft because i still have some issues to work out:
* I still need to rework everything to be translatable
* Mods that modify c# script don't load and crash the game right now
* Might be a Godot issue?
* Still need to work on documenting and cleaning up the code
**Related Issues**
replaces #1521
resolves #584
**Progress Checklist**
Note: before starting this checklist the issue should be marked as non-draft.
- [ ] PR author has checked that this PR works as intended and doesn't
break existing features:
https://wiki.revolutionarygamesstudio.com/wiki/Testing_Checklist
(this is important as to not waste the time of Thrive team
members reviewing this PR)
- [ ] Initial code review passed
- [x] Functionality is confirmed working by another person (see above checklist link)
- [ ] Final code review is passed and code conforms to the
[styleguide](https://github.com/Revolutionary-Games/Thrive/blob/master/doc/style_guide.md).
Before merging all CI jobs should finish on this PR without errors, if
there are automatically detected style issues they should be fixed by
the PR author.
Before that. Basically the only way to make mods is to make an alternative Thrive.pck file and replace the original one with that. So the mod authors need to do that for now.
I made a tool that can unpack and re-pack a .pck file with modified content:
I wrote a tool for unpacking and repacking godot .pck files:
With this you should be able to make little thrive mods by tweaking certain files, that are included in the Thrive.pck file. Otherwise it wouldn’t be possible to make small mods anymore.
So with that and the Godot editor it should be possible to make graphics replacement mods, and also other kinds (but those are harder to make).
I hope we eventually get mod support in the game as the current approach has major downsides like only being able to have one mod at a time and each mod requires downloading the entire contents of the Thrive.pck file (even the ones that didn’t change).
1 Like
muppi
September 4, 2021, 4:14pm
3
I meant a place where we can get mods
So far all the mods here on the forums have included a download link. I’m not aware of any mods that have been made but haven’t been posted on here.
Perhaps when Thrive goes on Steam, it will have a workshop. Otherwise, modders can still use Nexus Mods.
I think the forum will probably the main way for awhile though something like gamebanana could be used
Penguin
(Pengu)
September 10, 2021, 12:42am
7
Get this thing in the Thrive settings in 0.5.6 or whatever the next version is.
What do you mean? It’s a command line tool. What would it do when included in the settings menu?
so how do we install the mod by renaming the mod file and then replacing the original file with the modded one?
yeah you replace the thrive.pck file with your modded one
so then what is the file name that i have to replace cuz there is only 1 file but it says th.pak
what mod are you trying to install?
th.pak
sounds like an Electron language file, that’s the framework that is used to make the Launcher . So my guess would be that you are looking in the wrong folder.
Btw for 0.5.6, I’m working on a little something that looks like this:
I’ll also try to make some modding tutorials but it’ll probably take a while until those are in really good shape.
5 Likes
I think they stopped working on it and closed the pull request. And that was months ago, I think. So I did my own thing entirely from scratch.
Well my version just got bugged out and literally won’t open so I just decided to just to close it and reimplement on a fresh version but I just haven’t had time to work on it
is there anyway i can help with this though?
You could help investigate this:
opened 06:32PM - 19 Nov 21 UTC
difficult
programming
engine
bug
C#
modding
Seems to be a known Godot issue: https://github.com/godotengine/godot/issues/368… 28
and also how to make mods with gdscript. Those are things I haven’t had time to fully look into yet.
making mods with gd seems to be basically the same as making mods with c# except you don’t have to mess around with dll’s and some classes can’t be accessed right now (like the constant class or i think any static class), so there need to be some sort of gdscript interface to make that work but it seem gdscript mod work right now
edit:
also made some ui edits if you are interested:
2 Likes
Evolution4Weak:
making mods with gd seems to be basically the same as making mods with c# except you don’t have to mess around with dll’s and some classes can’t be accessed right now (like the constant class or i think any static class), so there need to be some sort of gdscript interface to make that work but it seem gdscript mod work right now
How do the scripts from them get executed? Did you have to overwrite an existing scene or something to get the code to load?
Edit: opened an issue about this: Make an example gdscript mod · Issue #5 · Revolutionary-Games/ThriveMods · GitHub