private void InitGameIfNecessary() { ModEntry.Log("InitGameIfNecessary(" + isDeepWoodsGameRunning + ")", StardewModdingAPI.LogLevel.Trace); // Make sure our interceptor is set. // E.g. MTN overrides Game1.multiplayer instead of wrapping. Game1MultiplayerAccessProvider.InterceptMultiplayerIfNecessary(); if (isDeepWoodsGameRunning) { return; } if (Game1.IsMasterGame) { DeepWoodsSettings.DoLoad(); DeepWoodsManager.Add(); EasterEggFunctions.RestoreAllEasterEggsInGame(); WoodsObelisk.RestoreAllInGame(); isDeepWoodsGameRunning = true; } else { DeepWoodsManager.Remove(); hasRequestedInitMessageFromServer = true; Game1.MasterPlayer.queueMessage(Settings.Network.DeepWoodsMessageId, Game1.player, new object[] { NETWORK_MESSAGE_DEEPWOODS_INIT }); } }
private void SaveEvents_BeforeSave(object sender, EventArgs args) { ModEntry.Log("SaveEvents_BeforeSave", StardewModdingAPI.LogLevel.Trace); isBeforeSaveCount++; if (isBeforeSaveCount > 1) { ModEntry.Log("BeforeSave event was called twice in a row. Ignoring second call.", StardewModdingAPI.LogLevel.Warn); return; } DeepWoodsManager.Remove(); EasterEggFunctions.RemoveAllEasterEggsFromGame(); WoodsObelisk.RemoveAllFromGame(); DeepWoodsSettings.DoSave(); foreach (var who in Game1.getAllFarmers()) { if (who.currentLocation is DeepWoods) { who.currentLocation = Game1.getLocationFromName("Woods"); who.Position = new Vector2(WOODS_WARP_LOCATION.X * 64, WOODS_WARP_LOCATION.Y * 64); } } }
public static void AddAll(string[] deepWoodsLevelNames) { DeepWoodsManager.Remove(); foreach (string name in deepWoodsLevelNames) { AddBlankDeepWoodsToGameLocations(name); } }
private void InitGameIfNecessary() { ModEntry.Log("InitGameIfNecessary(" + isDeepWoodsGameRunning + ")", StardewModdingAPI.LogLevel.Trace); if (isDeepWoodsGameRunning) { return; } if (Game1.IsMasterGame) { DeepWoodsSettings.DoLoad(); DeepWoodsManager.Add(); EasterEggFunctions.RestoreAllEasterEggsInGame(); WoodsObelisk.RestoreAllInGame(); isDeepWoodsGameRunning = true; } else { DeepWoodsManager.Remove(); ModEntry.SendMessage(MessageId.RequestMetadata, Game1.MasterPlayer.UniqueMultiplayerID); } }