The variants block
Variants are declared in the mod’sreskate-plugin.json:
string
required
The folder that holds the variants: 1 to 64 lowercase letters, digits,
_ and -. Each folder in it with its own layout.toc is a variant, laid out like a mod folder, and named after its folder.string[]
At most 64 variant names, in the order the plugin lists them. The first is the one loaded until the player chooses.
string[]
At most 16 names of the game’s bundles that every variant replaces. Other mods that change them are set aside while a variant is in the game.
Which variant loads
One variant is in the game: the player’s choice, else the first inorder, else the first one there. It loads above every other mod, whatever the load order says.
For that run, ReSkate sets aside:
- the mod’s other variants;
- every other enabled mod that changes a bundle named in
displaces.
mods.json stays as it was, and the mod loads again when nothing displaces it.
Variants carry the mod’s own build stamp, so build them with the same ReSkate Studio.
Choosing one
The player chooses in the mod’s plugin, which callsreskate.package:
reskate.package.variants()returns the variants there are, the one chosen and the one in the game, ornilfor a mod without variants.reskate.package.choose(name)saves the choice, applies the mods and loads the level again with it. It needs thevariantspermission.
%LOCALAPPDATA%\ReSkate\variants.json. The launcher has no menu of its own for variants.
Deck packs
A deck pack is a mod whose variants are decks, each replacing the game’s deck model. Board Break’s pack is one: its plugin’s DECK card, and itsboardbreak deck command, pick the deck every board in the game has. Its decks can carry a deck.ini with a label for the menu and an axle for how far apart the wheels sit (0.8 to 1.6); its plugin reads them, and fits every board with reskate.board.fit.