public ItemCollectorMod() { Log.Info($"Initalizing {nameof(ItemCollectorMod)}"); _config = ConfigurationBase.LoadConfiguration <ItemCollectorConfiguration>(); ItemFinder.ConnectorItems = new List <string>(_config.ItemsToConsiderConnectors.Split(',').Select(v => v.Trim())); ItemFinder.ConnectorFloorings = _config.FlooringsToConsiderConnectors; var machinesToCollectFrom = _config.MachinesToCollectFrom.Split(',').Select(v => v.Trim()).ToList(); var locationsToSearch = _config.LocationsToSearch.Split(',').Select(v => v.Trim()).ToList(); _machinesProcessor = new MachinesProcessor(machinesToCollectFrom, locationsToSearch, _config.AddBuildingsToLocations, _config.AllowDiagonalConnectionsForAllItems) { MuteWhileCollectingFromMachines = Math.Max(0, Math.Min(5000, _config.MuteWhileCollectingFromMachines)) }; _animalHouseProcessor = new AnimalHouseProcessor(_config.PetAnimals, _config.AdditionalFriendshipFromCollecting, _config.MuteAnimalsWhenCollecting); }
private void _InitializeMod() { Monitor.Log($"Initalizing {nameof(ItemCollectorMod)}", LogLevel.Info); _config.MachineConfigs.ForEach(t => { if (t.AcceptableObjects == null) { t.AcceptableObjects = new List <AcceptableObject>(); } if (t.AcceptableCategories == null) { t.AcceptableCategories = new List <AcceptableCategory>(); } }); _machineBuildingConfigs = _config.MachineBuildingConfigs; var machineConfigs = _config.MachineConfigs; var config = machineConfigs.FirstOrDefault(t => t.Name == "Seed Maker"); if (config != null) { config.AcceptableObjects = _GetSeedMakerMaterials(); } ItemFinder.ConnectorItems = machineConfigs.Where(t => t.AllowConnection).ToList().Select(t => t.Name).ToList(); ItemFinder.ConnectorFloorings = _config.FlooringsToConsiderConnectors; var locationsToSearch = _config.LocationsToSearch.Split(',').Select(v => v.Trim()).ToList(); _machinesProcessor = new MachinesProcessor(machineConfigs, locationsToSearch, _config.AddBuildingsToLocations, _config.AllowDiagonalConnectionsForAllItems, Monitor) { MuteWhileCollectingFromMachines = Math.Max(0, Math.Min(5000, _config.MuteWhileCollectingFromMachines)) }; _buildingProcessor = new BuildingProcessor(_config.PetAnimals, _config.AdditionalFriendshipFromCollecting, _config.MuteAnimalsWhenCollecting, _config.BuildingsToIgnore, Monitor); }