Requires the library mod Collective. 

   This mod is part of The Vanilla Experience.

Starter Kit is a mod which allows players who join a world for the first time to receive items set in a config file. It's possible to set items to any specific slot in the inventory, to the offhand and to the armour slots. The mod can detect which players have never joined before. If another mod adds items, such as guide books, they can either be removed completely or added after the kit has been set. This is configurable via the addExistingItemsAfterKitSet config option.

Can be used in a server for all new players or in singleplayer to start off with a default inventory of your choosing. There is also optional support for FTB's Team Island mod after the create island command.

The mod can be used server-side only. If you want players to be able to use the "Choose Kit GUI", it has to be installed on the client as well. Alternatively, they can choose kits via server commands.

 •  A guide here in the description. Difficulty ranging from Simple, Intermediate and Advanced.
 •  Give players joining the world for the first time custom starter items and/or potion effects.
 •  Support for multiple kits. Can be given randomly or chosen by the player.
 •  There is custom tracking to determine who are new players, compatible with existing worlds.
 •  Lots of commands! For creating, adding, managing and choosing starter kits.
 •  If installed on the client, kits can be chosen via a custom GUI screen. If not, commands can be used.
 •  Add descriptions to your kits. RPG modpack, anyone?
 •  Remove other modded starter items, such as guide books. Or add them after the starter kit.

Configurable: ( how do I configure? )
randomizeMultipleKitsToggle (default = true): When multiple starter kits are added via /starterkit add, there are two ways to distribute them. With this enabled, one is chosen at random. When disabled, players can choose one on first join.
addExistingItemsAfterKitSet (default = true): Whether items that existed in the inventory, such as books added by other mods, should be added back to the inventory after the kit was set. If disabled, they'll be removed. You can still manually set them via the kit.
usePotionEffectsInStarterKit (default = true): If potion/mob effect functionality should be enabled. This means that when creating a kit via /sk (add/set), it also saves the active effects the player has. And when handing out the starter kits, it adds the effects to new players.
formatKitNames (default = true): If kit names should be formatted. Each word will be capitalized.

chooseKitScreenHeader (default = "%s, you can choose a starter kit!"): The text used above the kit choice screen, or if the mod is not installed in the chat. %s will be replaced with the player's name.

announcePlayerKitChoiceInDedicatedServer (default = true): Whether an announcement should be broadcasted to the server whenever a new player makes a kit choice. 'randomizeMultipleKitsToggle' must be disabled, and there must be at least 2 starter kits available.
enableFTBIslandCreateCompatibility (default = true): Whether the starter kit should be re-set after the '/ftbteamislands create' command from FTB Team Islands. Does nothing when it's not installed.

Both '/starterkit' and '/sk' can be used.

Admin Commands:

/sk add (kit_name) - Adds your current inventory to the active kits.
/sk set (kit_name) - Sets your current inventory as the only active kit.

/sk give <player> (kit_name) - Give a player a random (or specific) starter kit.

/sk activate <kit_name>/_all - Moves kit_name or all kits from inactive to active.
/sk deactivate <kit_name>/_all - Moves kit_name or all kits from active to inactive.

/sk list (inactive) - Lists all active (or inactive) kits.
/sk reset - Resets all tracking. Players receive another kit on join.
/sk reload - Reloads starter kit changes from the config folder.

User Commands:
/sk choose <kit_name> - Allows players to choose a starter kit via commands. This is only needed when Starter Kit is not installed on the client and the server enabled kit choices.
/sk info <kit_name> - Shows the description and items of kit_name.
/sk help - Shows the Starter Kit commands in-game.

Usage Guide:
The mod can be configured in many different ways. To keep a better overview, I've divided the difficulty into three different sections. Simple, Intermediate and Advanced.

Set a custom starter kit. Add/Remove starter items from other mods. And giving players a starter kit via commands.

Add an extra starter kit. Deactivate a kit via commands. Add a starter kit with potion effects, and setting the level and duration.

Make players choose a kit on first join. Move the inactive default kits to active. Show the choose kit GUI screen. Create a starter kit with a custom description.

Section 1: Simple
This is the default starter kit, which will be given when the mod is installed without any configuration:

You can set your own starter kit by using the '/starterkit set (kit_name)' (or '/sk set (kit_name)') command. The kit name is optional.
After using this command, all other active starter kits are moved to the inactive folder.

Here you can see the new starter kit data file that was created with the previous command. It's located in './config/starterkit/kits/':

That's it! All new players will now receive the "Upgraded" kit when they first join the world:

Inside the config file, located at './config/starterkit.json5', you can choose whether or not other modded starter items should be removed or given after the kit.
Examples of these modded starter items are guide books.

To give other players (or yourself) a starter kit manually, you can use the '/starterkit give <player> (kit_name)' command.
The kit_name argument is optional, if left out:
If the mod is configured via intermediate, a kit may be given randomly.
If the mod is configured via advanced, the kit choice screen may be shown.

Section 2: Intermediate
You can add another active kit by using the '/starterkit add (kit_name)' command.
With the default configuration, this means that new players will now randomly receive the "Default" or "No Bread" starter kit.

To see all active starter kits, use the '/starterkit list' command. To see inactive starter kits, use '/starterkit list inactive':

To disable an active kit, use '/starterkit deactivate <kit_name>'. This moves it to the './config/starterkit/kits/inactive/' folder.

The mod can also give potion effects alongside the starter kit! Make sure 'usePotionEffectsInStarterKit' is enabled in the config.
Then, just make sure to have the potion effect enabled, and use the '/starterkit set' or '/starterkit add' command.
The effect duration will be set to what the player has exactly now, but we will round that up in a later step.

For this example, I've given the player the speed potion effect. This was active when using the previous command:

Locate and open the kit we've just created. The path is './config/starterkit/kits/Speed_Kit.txt':

This is the data file for the "Speed Kit" kit. It contains the items the player will receive and at the bottom what effects will be given to the player.
When a kit is created without active effects, that line will be empty. Otherwise it copies the exact level and duration.
In case of this example, it contains a reference to the Speed effect. It's lvl 1 with a duration of 3341 ticks, which equals 167 seconds. 20 ticks = 1 second.

I'm going to change the effect a player will receive to Speed level 5, with a duration of 5 minutes. 6000 ticks = 300 seconds = 5 minutes:

You can reload any changes you've made to files inside './config/starterkit/' via the '/starterkit reload' command:

That's it! Whenever a player first joins a world, they will now receive the "Speed Kit" kit. Which contains a few standard items and the Speed V effect, with a duration of 5 minutes:


Section 3: Advanced
Starter Kit also contains a custom kit choosing screen! Here's an example of what it looks like with the "Default" kit.
In this section we'll enable this, create a kit and add a description for it.

Disable the "Randomize Multiple Kits Toggle" inside the config. Remember, it's located inside './config/starterkit.json5'. You can also use the in-game config editor for this:

There are some default kits located inside the './config/starterkit/kits/inactive/' folder. Let's enable those for this example.
Use the '/starterkit activate _all' command to activate all inactive kits.

You can use the '/starterkit list' command to see which kits are currently active:

Since everything contains default values, you can immediately see it working! Load a new world, and you'll be shown the choose kit screen:

Let's add our own custom kit, and see how the descriptions work.
Start off with an inventory of your choosing, and use the '/starterkit add' command.
I'm calling it "Pumpkin".

All kit descriptions are saved inside './config/descriptions/'. These are automatically created whenever you create or add a kit.
Open the description file with the kit name you've just set. In my case, the file is './config/descriptions/Pumpkin.txt'.

This is the default description content for any newly created kit.
The description is used for the choose kit screen, and the '/starterkit info <kit_name>' command.

Change the description to whatever you'd like! There isn't a size limit, but any overflow will be hidden. So make sure it's not too long:

To reload the changes we've made to the description file, use the '/starterkit reload' command:

That's it! The description will now be visible on the choose kit screen:

Click on the "Choose Starter Kit" button, and receive the selected kit:

Starter Kit can automatically detect if the mod has been installed on the client.
There is support for server-side only use. In that case, players can choose a kit via commands.
Whenever the server doesn't get a response from the client, meaning the mod isn't installed, the following message is sent on first join:

Players can use the '/starterkit info <kit_name>' command to see which items are included in the starter kit:

A kit can be chosen with the '/starterkit choose <kit_name>' command:


You may freely use this mod in any modpack, as long as the download remains hosted within the CurseForge ecosystem.

Serilum.com contains an overview and more information on all mods available.

Comments are disabled as I'm unable to keep track of all the separate pages on each mod.
For issues, ideas, suggestions or anything else there is the Github repo. Thanks!