internal static void Unload()
{
ContentInstance.Clear();
ModTypeLookup.Clear();
ItemLoader.Unload();
EquipLoader.Unload();
ModPrefix.Unload();
ModDust.Unload();
TileLoader.Unload();
ModTileEntity.UnloadAll();
WallLoader.Unload();
ProjectileLoader.Unload();
NPCLoader.Unload();
NPCHeadLoader.Unload();
PlayerHooks.Unload();
BuffLoader.Unload();
MountLoader.Unload();
RarityLoader.Unload();
DamageClassLoader.Unload();
ModGore.Unload();
SoundLoader.Unload();
DisposeMusic();
BackgroundTextureLoader.Unload();
UgBgStyleLoader.Unload();
SurfaceBgStyleLoader.Unload();
GlobalBgStyleLoader.Unload();
WaterStyleLoader.Unload();
WaterfallStyleLoader.Unload();
WorldHooks.Unload();
ResizeArrays(true);
for (int k = 0; k < Recipe.maxRecipes; k++)
{
Main.recipe[k] = new Recipe();
}
Recipe.numRecipes = 0;
RecipeGroupHelper.ResetRecipeGroups();
Recipe.SetupRecipes();
MapLoader.UnloadModMap();
ItemSorting.SetupWhiteLists();
HotKeyLoader.Unload();
RecipeHooks.Unload();
CommandManager.Unload();
TagSerializer.Reload();
ModNet.Unload();
Config.ConfigManager.Unload();
CustomCurrencyManager.Initialize();
EffectsTracker.RemoveModEffects();
// ItemID.Search = IdDictionary.Create<ItemID, short>();
// NPCID.Search = IdDictionary.Create<NPCID, short>();
// ProjectileID.Search = IdDictionary.Create<ProjectileID, short>();
// TileID.Search = IdDictionary.Create<TileID, ushort>();
// WallID.Search = IdDictionary.Create<WallID, ushort>();
// BuffID.Search = IdDictionary.Create<BuffID, int>();
ContentSamples.Initialize();
CleanupModReferences();
}