{
	"Name" : "Northstar.Custom",
	"LoadPriority": 1,
	"RequiredOnClient": true,
	
	"ConVars": [
		{
			"Name": "ns_disallowed_weapons",
			"DefaultValue": ""
		},
		{
			"Name": "ns_disallowed_weapon_primary_replacement",
			"DefaultValue": "mp_weapon_rspn101"
		}
	],
	
	"Scripts": [
		{
			"Path": "sh_northstar_custom_precache.gnut",
			"RunOn": "( CLIENT || SERVER ) && MP",
			"ClientCallback": {
				"After": "NorthstarCustomPrecache"
			},
			
			"ServerCallback": {
				"After": "NorthstarCustomPrecache"
			}
		},
		{
			"Path": "_northstar_devcommands.gnut",
			"RunOn": "SERVER && MP",
			"ServerCallback": {
				"After": "NorthstarDevCommands_Init"
			}
		},
		
		{
			"Path": "weapons/mp_weapon_peacekraber.nut",
			"RunOn": "( CLIENT || SERVER ) && MP",
		},
		
		// fortwar
		{
			"Path": "gamemodes/sh_gamemode_fw_custom.nut",
			"RunOn": "( CLIENT || SERVER ) && MP",
			"ClientCallback": {
				"Before": "SHCreateGamemodeFW_Init"
			},
			
			"ServerCallback": {
				"Before": "SHCreateGamemodeFW_Init"
			}
		},
		{
			"Path": "gamemodes/sh_gamemode_fw.nut",
			"RunOn": "( CLIENT || SERVER ) && MP"
		},
		{
			"Path": "gamemodes/cl_gamemode_fw.nut",
			"RunOn": "CLIENT && MP"
		},
		
		// gungame
		{
			"Path": "gamemodes/sh_gamemode_gg.gnut",
			"RunOn": "( CLIENT || SERVER ) && MP",
			"ClientCallback": {
				"Before": "Sh_GamemodeGG_Init"
			},
			
			"ServerCallback": {
				"Before": "Sh_GamemodeGG_Init"
			}
		},
		{
			"Path": "gamemodes/_gamemode_gg.gnut",
			"RunOn": "SERVER && MP"
		},
		{
			"Path": "gamemodes/cl_gamemode_gg.gnut",
			"RunOn": "CLIENT && MP"
		},
		
		// titan tag
		{
			"Path": "gamemodes/sh_gamemode_tt.gnut",
			"RunOn": "( CLIENT || SERVER ) && MP",
			"ClientCallback": {
				"Before": "Sh_GamemodeTT_Init"
			},	
			
			"ServerCallback": {
				"Before": "Sh_GamemodeTT_Init"
			}
		},
		{
			"Path": "gamemodes/_gamemode_tt.gnut",
			"RunOn": "SERVER && MP"
		},
		{
			"Path": "gamemodes/cl_gamemode_tt.gnut",
			"RunOn": "CLIENT && MP"
		},
		
		// infection
		{
			"Path": "gamemodes/sh_gamemode_inf.gnut",
			"RunOn": "( CLIENT || SERVER ) && MP",
			"ClientCallback": {
				"Before": "Sh_GamemodeInfection_Init",
			},
			
			"ServerCallback": {
				"Before": "Sh_GamemodeInfection_Init"
			}
		},
		{
			"Path": "gamemodes/_gamemode_inf.gnut",
			"RunOn": "SERVER && MP"
		},
		{
			"Path": "gamemodes/cl_gamemode_inf.gnut",
			"RunOn": "CLIENT && MP"
		},
		
		// arena
		{
			"Path": "_droppod_spawn.gnut",
			"RunOn": "SERVER && MP",
			"ServerCallback": {
				"After": "DropPodSpawn_Init"
			}
		},
		{
			"Path": "gamemodes/sh_gamemode_arena.gnut",
			"RunOn": "( CLIENT || SERVER ) && MP",
			"ClientCallback": {
				"Before": "Sh_GamemodeArena_Init"
			},
			
			"ServerCallback": {
				"Before": "Sh_GamemodeArena_Init"
			}
		},
		{
			"Path": "gamemodes/sh_arena_loadouts.gnut",
			"RunOn": "UI || MP",
			
			"ClientCallback": {
				"After": "InitialiseArenaLoadouts"
			},
			
			"ServerCallback": {
				"After": "InitialiseArenaLoadouts"
			},
			
			"UICallback": {
				"After": "InitialiseArenaLoadouts"
			}
		},
		{
			"Path": "gamemodes/_gamemode_arena.gnut",
			"RunOn": "SERVER && MP"
		},
		{
			"Path": "gamemodes/cl_gamemode_arena.gnut",
			"RunOn": "CLIENT && MP"
		},
		
		// amped killrace
		{
			"Path": "gamemodes/sh_gamemode_kr.gnut",
			"RunOn": "( CLIENT || SERVER ) && MP",
			"ClientCallback": {
				"Before": "Sh_GamemodeKR_Init"
			},
			
			"ServerCallback": {
				"Before": "Sh_GamemodeKR_Init"
			}
		},
		{
			"Path": "gamemodes/_gamemode_kr.gnut",
			"RunOn": "SERVER && MP"
		},
		{
			"Path": "gamemodes/cl_gamemode_kr.gnut",
			"RunOn": "CLIENT && MP"
		},
		
		// fastball
		{
			"Path": "gamemodes/sh_gamemode_fastball.gnut",
			"RunOn": "( CLIENT || SERVER ) && MP",
			"ClientCallback": {
				"Before": "Sh_GamemodeFastball_Init"
			},
			
			"ServerCallback": {
				"Before": "Sh_GamemodeFastball_Init"
			}
		},
		{
			"Path": "gamemodes/_gamemode_fastball.gnut",
			"RunOn": "SERVER && MP"
		},
		{
			"Path": "gamemodes/_gamemode_fastball_intro.gnut",
			"RunOn": "SERVER && MP"
		},
		{
			"Path": "gamemodes/cl_gamemode_fastball.gnut",
			"RunOn": "CLIENT && MP"
		},
		
		// hide and seek
		{
			"Path": "gamemodes/sh_gamemode_hs.gnut",
			"RunOn": "( CLIENT || SERVER ) && MP",
			"ClientCallback": {
				"Before": "Sh_GamemodeHideAndSeek_Init"
			},
			
			"ServerCallback": {
				"Before": "Sh_GamemodeHideAndSeek_Init"
			}
		},
		{
			"Path": "gamemodes/_gamemode_hs.gnut",
			"RunOn": "SERVER && MP"
		},
		{
			"Path": "gamemodes/cl_gamemode_hs.gnut",
			"RunOn": "CLIENT && MP"
		},
		
		// ctf comp
		{
			"Path": "gamemodes/sh_gamemode_ctf_comp.gnut",
			"RunOn": "( CLIENT || SERVER ) && MP",
			"ClientCallback": {
				"Before": "ShGamemodeCTFComp_Init"
			},
			
			"ServerCallback": {
				"Before": "ShGamemodeCTFComp_Init"
			}
		},
		
		{
			"Path": "sh_3psequence_to_1p_hacks.gnut",
			"RunOn": "( CLIENT || SERVER ) && MP",
			"ClientCallback": {
				"Before": "FirstPersonSequenceForce1P_Init",
				"After": "FirstPersonSequenceForce1P_InitPlaylistVars"
			},
			
			"ServerCallback": {
				"Before": "FirstPersonSequenceForce1P_Init",
				"After": "FirstPersonSequenceForce1P_InitPlaylistVars"
			}
		},
		
		// riffs, playlist vars etc
		{
			"Path": "gamemodes/sh_riff_instagib.gnut",
			"RunOn": "( CLIENT || SERVER ) && MP",
			"ClientCallback": {
				"After": "RiffInstagib_Init"
			},
			
			"ServerCallback": {
				"After": "RiffInstagib_Init"
			}
		},
		
		{
			"Path": "sh_custom_air_accel.gnut",
			"RunOn": "CLIENT || SERVER",
			"ClientCallback": {
				"After": "CustomAirAccelVars_Init"
			},
			
			"ServerCallback": {
				"After": "CustomAirAccelVars_Init"
			}
		},
		
		{
			"Path": "sh_promode.gnut",
			"RunOn": "MP",
			"ClientCallback": {
				"After": "Promode_Init"
			},
			
			"ServerCallback": {
				"After": "Promode_Init"
			}
		},
		
		{
			"Path": "sh_bleedout_damage.gnut",
			"RunOn": "( CLIENT || SERVER ) && MP",
			"ClientCallback": {
				"Before": "BleedoutDamage_PreInit",
				"After": "BleedoutDamage_Init"
			},
			
			"ServerCallback": {
				"Before": "BleedoutDamage_PreInit",
				"After": "BleedoutDamage_Init"
			}
		},
		
		{
			"Path": "sh_custom_oob_timer.gnut",
			"RunOn": "( CLIENT || SERVER ) && MP",
			"ClientCallback": {
				"After": "CustomOOBTimer_Init"
			},
			
			"ServerCallback": {
				"After": "CustomOOBTimer_Init"
			}
		},
		
		{
			"Path": "rodeo/sh_classic_rodeo.gnut",
			"RunOn": "( CLIENT || SERVER ) && MP",
			"ClientCallback": {
				"After": "ClassicRodeo_InitPlaylistVars"
			},
			
			"ServerCallback": {
				"After": "ClassicRodeo_InitPlaylistVars"
			}
		},
		
		{
			"Path": "_disallowed_weapons.gnut",
			"RunOn": "SERVER && MP",
			"ServerCallback": {
				"After": "DisallowedWeapons_Init"
			}
		}
	],
	
	// todo this bit of the format
	"Maps": [
		{
			"Name": "mp_skyway_v1",
			"VPK": "englishclient_mp_skyway_v1",
			"RPak": "sp_skyway_v1"
		}
	],
	
	"Localisation": [
		"resource/northstar_custom_%language%.txt"
	]
}