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**

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

### Mod Info

* 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

* Mods can have a display name attach to it, which will be used instead of the mod name
### Autoloaded Mods

* 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

* 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