{
  "Name": "Northstar.Custom",
  "Description": "Custom content for Northstar: extra weapons, gamemodes, etc.",
  "Version": "1.30.2",
  "LoadPriority": 1,
  "RequiredOnClient": true,
  "ConVars": [
    {
      "Name": "ns_disallowed_tacticals",
      "DefaultValue": ""
    },
    {
      "Name": "ns_disallowed_tactical_replacement",
      "DefaultValue": ""
    },
    {
      "Name": "ns_disallowed_weapons",
      "DefaultValue": ""
    },
    {
      "Name": "ns_disallowed_weapon_primary_replacement",
      "DefaultValue": "mp_weapon_rspn101"
    },
    {
      "Name": "ns_force_melee",
      "DefaultValue": ""
    },
    {
      "Name": "ns_show_event_models",
      "DefaultValue": "1",
      "Flags": "ARCHIVE_PLAYERPROFILE"
    }
  ],
  "Scripts": [
    {
      "Path": "sh_northstar_custom_precache.gnut",
      "RunOn": "SERVER && MP",
      "ServerCallback": {
        "After": "NorthstarCustomPrecache"
      }
    },
    {
      "Path": "weapons/mp_weapon_peacekraber.nut",
      "RunOn": "( CLIENT || SERVER ) && MP"
    },
    {
      "Path": "weapons/mp_titanweapon_arc_cannon.nut",
      "RunOn": "( CLIENT || SERVER ) && MP"
    },
    {
      "Path": "gamemodes/sh_gamemode_chamber.nut",
      "RunOn": "( CLIENT || SERVER ) && MP",
      "ClientCallback": {
        "Before": "Sh_GamemodeChamber_Init"
      },
      "ServerCallback": {
        "Before": "Sh_GamemodeChamber_Init"
      }
    },
    {
      "Path": "gamemodes/_gamemode_chamber.nut",
      "RunOn": "SERVER && MP"
    },
    {
      "Path": "gamemodes/cl_gamemode_chamber.nut",
      "RunOn": "CLIENT && MP"
    },
    {
      "Path": "gamemodes/sh_gamemode_hidden.nut",
      "RunOn": "( CLIENT || SERVER ) && MP",
      "ClientCallback": {
        "Before": "Sh_GamemodeHidden_Init"
      },
      "ServerCallback": {
        "Before": "Sh_GamemodeHidden_Init"
      }
    },
    {
      "Path": "gamemodes/_gamemode_hidden.nut",
      "RunOn": "SERVER && MP"
    },
    {
      "Path": "gamemodes/cl_gamemode_hidden.nut",
      "RunOn": "CLIENT && MP"
    },
    {
      "Path": "gamemodes/sh_gamemode_sns.gnut",
      "RunOn": "( SERVER || CLIENT ) && MP",
      "ServerCallback": {
        "Before": "SNSMode_Init"
      },
      "ClientCallback": {
        "Before": "SNSMode_Init"
      }
    },
    {
      "Path": "gamemodes/cl_gamemode_sns.gnut",
      "RunOn": "CLIENT && MP"
    },
    {
      "Path": "gamemodes/_gamemode_sns.gnut",
      "RunOn": "SERVER && MP"
    },
    {
      "Path": "gamemodes/_gamemode_fw.nut",
      "RunOn": "SERVER && MP"
    },
    {
      "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_custom.nut",
      "RunOn": "CLIENT && MP"
    },
    {
      "Path": "gamemodes/cl_gamemode_fw.nut",
      "RunOn": "CLIENT && MP"
    },
    {
      "Path": "gamemodes/gg_earn_meter/sh_gg_earn_meter.gnut",
      "RunOn": "( CLIENT || SERVER ) && MP"
    },
    {
      "Path": "gamemodes/gg_earn_meter/_gg_earn_meter.gnut",
      "RunOn": "SERVER && MP"
    },
    {
      "Path": "gamemodes/gg_earn_meter/cl_gg_earn_meter.gnut",
      "RunOn": "CLIENT && MP"
    },
    {
      "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"
    },
    {
      "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"
    },
    {
      "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"
    },
    {
      "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"
    },
    {
      "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"
    },
    {
      "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"
    },
    {
      "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"
    },
    {
      "Path": "gamemodes/sh_gamemode_ctf_comp.gnut",
      "RunOn": "( CLIENT || SERVER ) && MP",
      "ClientCallback": {
        "Before": "ShGamemodeCTFComp_Init"
      },
      "ServerCallback": {
        "Before": "ShGamemodeCTFComp_Init"
      }
    },
    {
      "Path": "gamemodes/sh_gamemode_tffa.gnut",
      "RunOn": "( CLIENT || SERVER ) && MP",
      "ClientCallback": {
        "Before": "Sh_GamemodeTFFA_Init"
      },
      "ServerCallback": {
        "Before": "Sh_GamemodeTFFA_Init"
      }
    },
    {
      "Path": "gamemodes/_gamemode_tffa.gnut",
      "RunOn": "SERVER && MP"
    },
    {
      "Path": "gamemodes/cl_gamemode_tffa.gnut",
      "RunOn": "CLIENT && MP"
    },
    {
      "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"
      }
    },
    {
      "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"
      }
    },
    {
      "Path": "_disallowed_tacticals.gnut",
      "RunOn": "SERVER && MP",
      "ServerCallback": {
        "After": "DisallowedTacticals_Init"
      }
    },
    {
      "Path": "_force_melee.gnut",
      "RunOn": "SERVER && MP",
      "ServerCallback": {
        "After": "ForceMelee_Init"
      }
    },
    {
      "Path": "sh_custom_pilot_collision.gnut",
      "RunOn": "( CLIENT || SERVER ) && MP",
      "ClientCallback": {
        "After": "CustomPilotCollision_InitPlaylistVars"
      },
      "ServerCallback": {
        "After": "CustomPilotCollision_InitPlaylistVars"
      }
    },
    {
      "Path": "sh_message_utils.gnut",
      "RunOn": "( CLIENT || SERVER ) && MP",
      "ClientCallback": {
        "Before": "MessageUtils_ClientInit"
      },
      "ServerCallback": {
        "Before": "MessageUtils_ServerInit"
      }
    },
    {
      "Path": "sh_northstar_http_requests.gnut",
      "RunOn": "CLIENT || SERVER || UI"
    },
    {
      "Path": "sh_northstar_safe_io.gnut",
      "RunOn": "CLIENT || SERVER || UI"
    },
    {
      "Path": "_testing.nut",
      "RunOn": "CLIENT || SERVER || UI",
      "ClientCallback": {
        "Before": "Testing_Init"
      },
      "ServerCallback": {
        "Before": "Testing_Init"
      },
      "UICallback": {
        "Before": "Testing_Init"
      }
    },
    {
      "Path": "_event_models.gnut",
      "RunOn": "SERVER && LOBBY",
      "ServerCallback": {
        "Before": "EventModelsInit"
      }
    },
    {
      "Path": "ui/ns_custom_mod_settings.gnut",
      "RunOn": "UI",
      "UICallback": {
        "Before": "NSCustomModSettings"
      }
    }
  ],
  "Localisation": [
    "resource/northstar_custom_%language%.txt"
  ]
}
