public static void Patch() { Logger.Log("Initializing Decorations mod."); try { DecorationsMod.Patch(); } catch (Exception e) { _success = false; Logger.Log("Exception caught" + (!String.IsNullOrEmpty(e.Message) ? " Message=[" + e.Message + "]" : "")); Logger.Log("StackTrace=[" + e.StackTrace + "]"); if (e.InnerException != null) { Logger.Log("Inner exception caught" + ((!String.IsNullOrEmpty(e.InnerException.Message)) ? " Message=[" + e.InnerException.Message + "]" : "")); Logger.Log("Inner stackTrace=[" + e.InnerException.StackTrace + "]"); } } Logger.Log("Decorations mod initializ" + (!_success ? "ation failed." : "ed successfully.")); }
public static void Patch() { Logger.Log("INFO: Initializing Decorations mod..."); try { DecorationsMod.Patch(); } catch (Exception e) { _success = false; Logger.Log(string.Format("ERROR: Exception caught! Message=[{0}] StackTrace=[{1}]", e.Message, e.StackTrace)); if (e.InnerException != null) { Logger.Log(string.Format("ERROR: Inner exception => Message=[{0}] StackTrace=[{1}]", e.InnerException.Message, e.InnerException.StackTrace)); } } if (_success) { Logger.Log("INFO: Decorations mod initialized successfully."); } else { Logger.Log("ERROR: Decorations mod initialization failed."); } }
private void ConfigOptions_ToggleChanged(object sender, SMLHelper.V2.Options.ToggleChangedEventArgs e) { if (!string.IsNullOrEmpty(e?.Id)) { switch (e.Id) { case "OpenDecorationsModConfigurator": break; case "UseFlatScreenResolution": ConfigSwitcher.UseFlatScreenResolution = e.Value; UpdateConfigFile("\r\nuseAlternativeScreenResolution=" + (e.Value ? "false" : "true") + "\r\n", "\r\nuseAlternativeScreenResolution=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Restart game completely to " + (e.Value ? "enable" : "disable") + " alternate screen resolution."); break; case "UseCompactTooltips": ConfigSwitcher.UseCompactTooltips = e.Value; UpdateConfigFile("\r\nuseCompactTooltips=" + (e.Value ? "false" : "true") + "\r\n", "\r\nuseCompactTooltips=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Compact tooltips " + (e.Value ? "enabled" : "disabled") + "."); break; case "LockQuickslotsWhenPlacingItem": ConfigSwitcher.LockQuickslotsWhenPlacingItem = e.Value; UpdateConfigFile("\r\nlockQuickslotsWhenPlacingItem=" + (e.Value ? "false" : "true") + "\r\n", "\r\nlockQuickslotsWhenPlacingItem=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Lock quickslots when placing item " + (e.Value ? "enabled" : "disabled") + "."); break; case "AllowBuildOutside": ConfigSwitcher.AllowBuildOutside = e.Value; UpdateConfigFile("\r\nallowBuildOutside=" + (e.Value ? "false" : "true") + "\r\n", "\r\nallowBuildOutside=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Allow build outside " + (e.Value ? "enabled" : "disabled") + "."); break; case "AllowPlaceOutside": ConfigSwitcher.AllowPlaceOutside = e.Value; UpdateConfigFile("\r\nallowPlaceOutside=" + (e.Value ? "false" : "true") + "\r\n", "\r\nallowPlaceOutside=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Allow place outside " + (e.Value ? "enabled" : "disabled") + "."); break; case "EnableDiscoveryMode": ConfigSwitcher.AddItemsWhenDiscovered = e.Value; UpdateConfigFile("\r\naddItemsWhenDiscovered=" + (e.Value ? "false" : "true") + "\r\n", "\r\naddItemsWhenDiscovered=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Restart game completely to " + (e.Value ? "enable" : "disable") + " adding items when discovered."); break; case "EnableSofas": ConfigSwitcher.EnableSofas = e.Value; UpdateConfigFile("\r\nenableSofas=" + (e.Value ? "false" : "true") + "\r\n", "\r\nenableSofas=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Restart game completely to " + (e.Value ? "enable" : "disable") + " sofas."); break; case "EnablePlaceItems": ConfigSwitcher.EnablePlaceItems = e.Value; if (e.Value) { PlaceToolItems.MakeItemsPlaceable(); } ErrorMessage.AddMessage("Restart game completely to " + (e.Value ? "enable" : "disable") + " placeable items."); UpdateConfigFile("\r\nenablePlaceItems=" + (e.Value ? "false" : "true") + "\r\n", "\r\nenablePlaceItems=" + (e.Value ? "true" : "false") + "\r\n"); break; case "EnablePlaceBatteries": ConfigSwitcher.EnablePlaceBatteries = e.Value; if (e.Value) { PlaceToolItems.MakeBatteriesPlaceable(); DecorationsMod.PatchBatteries(); } ErrorMessage.AddMessage("Restart game completely to " + (e.Value ? "enable" : "disable") + " placeable batteries."); UpdateConfigFile("\r\nenablePlaceBatteries=" + (e.Value ? "false" : "true") + "\r\n", "\r\nenablePlaceBatteries=" + (e.Value ? "true" : "false") + "\r\n"); break; case "EnableNewItems": ConfigSwitcher.EnableNewItems = e.Value; UpdateConfigFile("\r\nenableNewBuilderItems=" + (e.Value ? "false" : "true") + "\r\n", "\r\nenableNewBuilderItems=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Restart game completely to " + (e.Value ? "enable" : "disable") + " new builder items."); break; case "EnableNewFlora": ConfigSwitcher.EnableNewFlora = e.Value; UpdateConfigFile("\r\nenableNewFlora=" + (e.Value ? "false" : "true") + "\r\n", "\r\nenableNewFlora=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Restart game completely to " + (e.Value ? "enable" : "disable") + " new flora."); break; case "EnablePrecursorTab": ConfigSwitcher.EnablePrecursorTab = e.Value; UpdateConfigFile("\r\nenablePrecursorTab=" + (e.Value ? "false" : "true") + "\r\n", "\r\nenablePrecursorTab=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Restart game completely to " + (e.Value ? "enable" : "disable") + " precursor tab."); break; case "EnableNutrientBlock": ConfigSwitcher.EnableNutrientBlock = e.Value; UpdateConfigFile("\r\nenableNutrientBlock=" + (e.Value ? "false" : "true") + "\r\n", "\r\nenableNutrientBlock=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Restart game completely to " + (e.Value ? "enable" : "disable") + " nutrient block."); break; case "EnableRegularEggs": ConfigSwitcher.EnableRegularEggs = e.Value; UpdateConfigFile("\r\nenableAllEggs=" + (e.Value ? "false" : "true") + "\r\n", "\r\nenableAllEggs=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Restart game completely to " + (e.Value ? "enable" : "disable") + " regular eggs."); break; case "EnableEggsWhenCreatureScanned": ConfigSwitcher.EnableEggsWhenCreatureScanned = e.Value; UpdateConfigFile("\r\naddEggsWhenCreatureScanned=" + (e.Value ? "false" : "true") + "\r\n", "\r\naddEggsWhenCreatureScanned=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Restart game completely to " + (e.Value ? "enable" : "disable") + " eggs unlocking when discovered."); break; case "EnableEggsAtStart": ConfigSwitcher.EnableEggsAtStart = e.Value; UpdateConfigFile("\r\naddEggsAtStart=" + (e.Value ? "false" : "true") + "\r\n", "\r\naddEggsAtStart=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Restart game completely to " + (e.Value ? "enable" : "disable") + " eggs unlocking at start."); break; case "PrecursorKeysAll": ConfigSwitcher.PrecursorKeysAll = e.Value; UpdateConfigFile("\r\nprecursorKeysAll=" + (e.Value ? "false" : "true") + "\r\n", "\r\nprecursorKeysAll=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Restart game completely to " + (e.Value ? "enable" : "disable") + " regular alien tablets."); break; case "EnableRegularAirSeeds": ConfigSwitcher.EnableRegularAirSeeds = e.Value; UpdateConfigFile("\r\naddRegularAirSeeds=" + (e.Value ? "false" : "true") + "\r\n", "\r\naddRegularAirSeeds=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Restart game completely to " + (e.Value ? "enable" : "disable") + " regular air seeds."); break; case "AddRegularAirSeedsWhenDiscovered": ConfigSwitcher.AddAirSeedsWhenDiscovered = e.Value; UpdateConfigFile("\r\naddAirSeedsWhenDiscovered=" + (e.Value ? "false" : "true") + "\r\n", "\r\naddAirSeedsWhenDiscovered=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Restart game completely to " + (e.Value ? "enable" : "disable") + " unlocking air seeds when discovered."); break; case "EnableRegularWaterSeeds": ConfigSwitcher.EnableRegularWaterSeeds = e.Value; UpdateConfigFile("\r\naddRegularWaterSeeds=" + (e.Value ? "false" : "true") + "\r\n", "\r\naddRegularWaterSeeds=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Restart game completely to " + (e.Value ? "enable" : "disable") + " regular water seeds."); break; case "AddRegularWaterSeedsWhenDiscovered": ConfigSwitcher.AddWaterSeedsWhenDiscovered = e.Value; UpdateConfigFile("\r\naddWaterSeedsWhenDiscovered=" + (e.Value ? "false" : "true") + "\r\n", "\r\naddWaterSeedsWhenDiscovered=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Restart game completely to " + (e.Value ? "enable" : "disable") + " unlocking water seeds when discovered."); break; case "AllowIndoorLongPlanterOutside": ConfigSwitcher.AllowIndoorLongPlanterOutside = e.Value; UpdateConfigFile("\r\nallowIndoorLongPlanterOutside=" + (e.Value ? "false" : "true") + "\r\n", "\r\nallowIndoorLongPlanterOutside=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Indoor long planter outside " + (e.Value ? "enabled" : "disabled") + "."); break; case "AllowOutdoorLongPlanterInside": ConfigSwitcher.AllowOutdoorLongPlanterInside = e.Value; UpdateConfigFile("\r\nallowOutdoorLongPlanterInside=" + (e.Value ? "false" : "true") + "\r\n", "\r\nallowOutdoorLongPlanterInside=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Outdoor long planter inside " + (e.Value ? "enabled" : "disabled") + "."); break; case "FixAquariumLighting": ConfigSwitcher.FixAquariumLighting = e.Value; if (e.Value) { PrefabsHelper.FixAquariumSkyApplier(); ErrorMessage.AddMessage("Aquarium lighting fix enabled."); } else { ErrorMessage.AddMessage("Restart game completely to disable aquarium lighting fix."); } UpdateConfigFile("\r\nfixAquariumLighting=" + (e.Value ? "false" : "true") + "\r\n", "\r\nfixAquariumLighting=" + (e.Value ? "true" : "false") + "\r\n"); break; case "GlowingAquariumGlass": ConfigSwitcher.GlowingAquariumGlass = e.Value; UpdateConfigFile("\r\nenableAquariumGlassGlowing=" + (e.Value ? "false" : "true") + "\r\n", "\r\nenableAquariumGlassGlowing=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Restart game completely to " + (e.Value ? "enable" : "disable") + " glowing effect."); break; case "GhostLeviatan_enable": ConfigSwitcher.GhostLeviatan_enable = e.Value; UpdateConfigFile("\r\nGhostLeviatan_enable=" + (e.Value ? "false" : "true") + "\r\n", "\r\nGhostLeviatan_enable=" + (e.Value ? "true" : "false") + "\r\n"); ErrorMessage.AddMessage("Ghost Leviatan spawning " + (e.Value ? "enabled" : "disabled") + "."); break; /* * case "AlienRelic1Animation": * ConfigSwitcher.AlienRelic1Animation = e.Value; * UpdateConfigFile("\r\nalienRelic1Animation=" + (e.Value ? "false" : "true") + "\r\n", "\r\nalienRelic1Animation=" + (e.Value ? "true" : "false") + "\r\n"); * ErrorMessage.AddMessage("Alien relic 1 animation " + (e.Value ? "enabled" : "disabled") + "."); * break; * case "AlienRelic2Animation": * ConfigSwitcher.AlienRelic2Animation = e.Value; * UpdateConfigFile("\r\nalienRelic2Animation=" + (e.Value ? "false" : "true") + "\r\n", "\r\nalienRelic2Animation=" + (e.Value ? "true" : "false") + "\r\n"); * ErrorMessage.AddMessage("Alien relic 2 animation " + (e.Value ? "enabled" : "disabled") + "."); * break; * case "AlienRelic3Animation": * ConfigSwitcher.AlienRelic3Animation = e.Value; * UpdateConfigFile("\r\nalienRelic3Animation=" + (e.Value ? "false" : "true") + "\r\n", "\r\nalienRelic3Animation=" + (e.Value ? "true" : "false") + "\r\n"); * ErrorMessage.AddMessage("Alien relic 3 animation " + (e.Value ? "enabled" : "disabled") + "."); * break; * case "AlienRelic4Animation": * ConfigSwitcher.AlienRelic4Animation = e.Value; * UpdateConfigFile("\r\nalienRelic4Animation=" + (e.Value ? "false" : "true") + "\r\n", "\r\nalienRelic4Animation=" + (e.Value ? "true" : "false") + "\r\n"); * ErrorMessage.AddMessage("Alien relic 4 animation " + (e.Value ? "enabled" : "disabled") + "."); * break; * case "AlienRelic5Animation": * ConfigSwitcher.AlienRelic5Animation = e.Value; * UpdateConfigFile("\r\nalienRelic5Animation=" + (e.Value ? "false" : "true") + "\r\n", "\r\nalienRelic5Animation=" + (e.Value ? "true" : "false") + "\r\n"); * ErrorMessage.AddMessage("Alien relic 5 animation " + (e.Value ? "enabled" : "disabled") + "."); * break; * case "AlienRelic6Animation": * ConfigSwitcher.AlienRelic6Animation = e.Value; * UpdateConfigFile("\r\nalienRelic6Animation=" + (e.Value ? "false" : "true") + "\r\n", "\r\nalienRelic6Animation=" + (e.Value ? "true" : "false") + "\r\n"); * ErrorMessage.AddMessage("Alien relic 6 animation " + (e.Value ? "enabled" : "disabled") + "."); * break; * case "AlienRelic7Animation": * ConfigSwitcher.AlienRelic7Animation = e.Value; * UpdateConfigFile("\r\nalienRelic7Animation=" + (e.Value ? "false" : "true") + "\r\n", "\r\nalienRelic7Animation=" + (e.Value ? "true" : "false") + "\r\n"); * ErrorMessage.AddMessage("Alien relic 7 animation " + (e.Value ? "enabled" : "disabled") + "."); * break; * case "AlienRelic8Animation": * ConfigSwitcher.AlienRelic8Animation = e.Value; * UpdateConfigFile("\r\nalienRelic8Animation=" + (e.Value ? "false" : "true") + "\r\n", "\r\nalienRelic8Animation=" + (e.Value ? "true" : "false") + "\r\n"); * ErrorMessage.AddMessage("Alien relic 8 animation " + (e.Value ? "enabled" : "disabled") + "."); * break; * case "AlienRelic9Animation": * ConfigSwitcher.AlienRelic9Animation = e.Value; * UpdateConfigFile("\r\nalienRelic9Animation=" + (e.Value ? "false" : "true") + "\r\n", "\r\nalienRelic9Animation=" + (e.Value ? "true" : "false") + "\r\n"); * ErrorMessage.AddMessage("Alien relic 9 animation " + (e.Value ? "enabled" : "disabled") + "."); * break; * case "AlienRelic10Animation": * ConfigSwitcher.AlienRelic10Animation = e.Value; * UpdateConfigFile("\r\nalienRelic10Animation=" + (e.Value ? "false" : "true") + "\r\n", "\r\nalienRelic10Animation=" + (e.Value ? "true" : "false") + "\r\n"); * ErrorMessage.AddMessage("Alien relic 10 animation " + (e.Value ? "enabled" : "disabled") + "."); * break; * case "AlienRelic11Animation": * ConfigSwitcher.AlienRelic11Animation = e.Value; * UpdateConfigFile("\r\nalienRelic11Animation=" + (e.Value ? "false" : "true") + "\r\n", "\r\nalienRelic11Animation=" + (e.Value ? "true" : "false") + "\r\n"); * ErrorMessage.AddMessage("Alien relic 11 animation " + (e.Value ? "enabled" : "disabled") + "."); * break; */ default: break; } } }