public override void OnStart() { shares.SetArea(new IRadius(Setting.GetValue <ILocation>("Start x y z"), Setting.GetValue <ILocation>("End x y z"))); var blocks = Setting.Get("Blocks") as IParentSetting; // Get blocks group. var macro = new MacroSync(); RegisterTask(new InventoryMonitor(Setting.GetValue <string>("Macro on inventory full"), macro)); RegisterTask(new RestockMonitor(Setting.GetValue <string>("Macro on out of tools"), macro)); RegisterTask(new Path(shares, (PathMode)Setting.GetValue <int>("Path mode"), macro)); RegisterTask(new Mine(shares, (Mode)Setting.GetValue <int>("Speed mode"), (PathMode)Setting.GetValue <int>("Path mode"), blocks.GetValue <BlockIdCollection>("Ignore ids").collection.Select(x => x.id).Distinct().ToArray(), macro)); }