-
Notifications
You must be signed in to change notification settings - Fork 0
User addon system. #40
Description
There should be a system for supporting user-created addons (such as weapon sets).
All of the addons should be loaded in upon starting the mod and should be toggleable through a new special menu.
Concept
Addons can be anything that's not particularly used by the game or mod themselves, such as JSON configs (like current weapon sets). They can be of any type and depending on their type, they can be used in various specific-to-addon ways.
Then, these addons are a part of "addon packs", which are basically just configs with metadata about addons. These addon packs have a display name, an author and a specific version assigned to them, as well as dependencies and addons themselves.
Addon packs should look something like this:
{
"Name" : "Default Weapon Set", // Addon display name
"Author" : "Dreamy Cecil", // Addon author
"Version" : 1.0, // Addon version
// Dependencies as 32-bit hashes that can be unique to each addon pack and generated from their metadata
"Dependincies" : ["AABBCCDD", "01234567"],
// Specific groups of addons that this pack includes
"Addons" : {
// Right now the strings can just signify the folder name within "Configs/WeaponSets/" and "Configs/AmmoSets/")
"WeaponSets" : ["Default"], // "Weapon Set" addons within this addon pack
},
}When specific addon is created upon loading in the pack (let's say, a "Default" weapon set), it will be added to a static map of addons of that specific type for later generic usage (such as verifying which weapon sets are available upon loading them for the game).