Simple Mod Slot Tutorial

Simple Mod Slot Tutorial

From BeamNG

Introduction

The mod slot ("Additional Modification" shown ingame) makes it possible for modders to add parts to a vehicle while there isn't a suitable slot available for that part. To prevent modders from duplicating entire jbeams just to add a new slot, the modslot was introduced.

Usage

The modslot is located in the main jbeam of the vehicle. The slot is called "vehiclename_mod" (so in case of the pickup: "pickup_mod") If one makes a new mod part, make sure the filename and the part name are unique, so that it won't interfere with official content nor with other mods. It is advisable to add your name to the file- and partname for example.

How the slot structure of a mod can look like

If you want to release a pack containing multiple parts, one can add a empty part containing only the modders name and additional slots for the parts, so the parts of a mod keep 'packed' together. This will increase the overview especially when multiple mods are installed for a specific vehicle.

Adding modded parts to a body of a vehicle which has multiple body styles (like the D- and H-series, but also in case of some community made cars) one can add a empty part just for choosing the right body style. This prevents mixing up parts and putting the wrong part on a specific body by accident.

On the right is an example how the structure could look like with multiple parts including different body styles.

This is a template one can use to make a mod. The pickup was taken for example, it has a general part, a part for the single cab and a part for the extended cab. Don't forget to change the vehicles name and adjust the structure if making a mod for a different vehicle. Also add your own name/alias.


{
"pickup_modslot_MODDERSNAME": {
	"information":{
		"authors":"MODDERSNAME",
		"name":"MODDERSNAME pickup mod",
	}
    "slotType" : "pickup_mod",

    "slots": [
        ["type", "default", "description"]
        ["pickup_mod_generalpart","", "General Part"],
        ["pickup_mod_body","", "Body Style"],
    ],
}
"pickup_mod_body_single_MODDERSNAME": {
	"information":{
		"authors":"MODDERSNAME",
		"name":"Single Cab",
	}
    "slotType" : "pickup_mod_body",

    "slots": [
        ["type", "default", "description"]
        ["pickup_mod_singlecabpart","", "Single Cab Part"],
    ],
}
"pickup_mod_body_ext_MODDERSNAME": {
	"information":{
		"authors":"MODDERSNAME",
		"name":"Ext Cab",
	}
    "slotType" : "pickup_mod_body",

    "slots": [
        ["type", "default", "description"]
        ["pickup_mod_extcabpart","", "Ext Cab Part"],
    ],
}

"pickup_mod_generalpart_MODDERSNAME": {
	"information":{
		"authors":"MODDERSNAME",
		"name":"Mod part independend of body style",
	}
    "slotType" : "pickup_mod_generalpart",


}
"pickup_mod_singlecabpart_MODDERSNAME": {
	"information":{
		"authors":"MODDERSNAME",
		"name":"Mod part for single cab",
	}
    "slotType" : "pickup_mod_singlecabpart",

}
"pickup_mod_extcabpart_MODDERSNAME": {
	"information":{
		"authors":"MODDERSNAME",
		"name":"Mod part for ext cab",
	}
    "slotType" : "pickup_mod_extcabpart",

}
}