コード例 #1
0
        public Store(int mode, MacroSync macroSync) {
            this.macroSync = macroSync;

            nothing = mode == 0;
            store = mode == 1;
            macro = mode == 2;
        }
コード例 #2
0
        public override void OnStart()
        {
            // Split the ids.
            var           ids          = Setting[4].Get <string>().Split(' ');
            List <ushort> ignoreIdList = new List <ushort>();

            for (int i = 0; i < ids.Length; i++)
            {
                ushort id;
                if (!ushort.TryParse(ids[i], out id))
                {
                    continue;
                }
                ignoreIdList.Add(id);
            }

            var startSplit = Setting[0].Get <string>().Split(' ');
            var endSplit   = Setting[1].Get <string>().Split(' ');

            var macro = new MacroSync();

            RegisterTask(new InventoryMonitor(Setting[2].Get <string>(), macro));
            RegisterTask(new Path(shares,
                                  new Location(int.Parse(startSplit[0]), int.Parse(startSplit[1]), int.Parse(startSplit[2])),
                                  new Location(int.Parse(endSplit[0]), int.Parse(endSplit[1]), int.Parse(endSplit[2])),
                                  (PathMode)Setting[5].Get <int>(), macro
                                  ));
            RegisterTask(new Mine(shares, (Mode)Setting[3].Get <int>(), (PathMode)Setting[5].Get <int>(), ignoreIdList.ToArray(), macro));
        }
コード例 #3
0
        public override void OnStart()
        {
            var macroSync = new MacroSync(((IParentSetting)((IParentSetting)Setting.Get("Automation")).GetGroup(false).Get("On Inventory Full")).Get(2, "On Inventory Full Macro").Get <string>());
            var actionNr  = ((IParentSetting)Setting.Get("Automation")).GetValue <int>("On Inventory Full");

            RegisterTask(new Farm(Setting.At(0).Get <int>(), Setting.At(1).Get <int>(), (Mode)Setting.At(2).Get <int>(), actionNr == 0, macroSync));
            RegisterTask(new Store(actionNr, macroSync));
        }
コード例 #4
0
ファイル: Farm.cs プロジェクト: cosmohdx/OQ.MineBot.Plugins
 public Farm(int x, int y, Mode mode, bool doNothing, MacroSync macroSync)
 {
     this.x         = x;
     this.y         = y;
     this.mode      = mode;
     this.scan      = true;
     this.doNothing = doNothing;
     this.macroSync = macroSync;
 }
コード例 #5
0
        public Farm(int x, int z, Mode mode, bool fullOnly, bool doNothing, MacroSync macroSync)
        {
            this.x        = x;
            this.z        = z;
            this.mode     = mode;
            this.scan     = true;
            this.fullOnly = fullOnly;
            this.personalBlocks.Clear();

            this.doNothing = doNothing;
            this.macroSync = macroSync;
        }
コード例 #6
0
ファイル: Tunnel.cs プロジェクト: cosmohdx/OQ.MineBot.Plugins
 public Tunnel(int height, IPattern pattern, bool diamondOre, bool emeraldOre, bool ironOre, bool goldOre, bool redstoneOre, bool lapisOre, bool coalOre, MacroSync macro)
 {
     this.height      = height;
     this.pattern     = pattern;
     this.diamondOre  = diamondOre;
     this.emeraldOre  = emeraldOre;
     this.ironOre     = ironOre;
     this.goldOre     = goldOre;
     this.redstoneOre = redstoneOre;
     this.lapisOre    = lapisOre;
     this.coalOre     = coalOre;
     this.macro       = macro;
 }
コード例 #7
0
        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));
        }
コード例 #8
0
ファイル: Path.cs プロジェクト: cosmohdx/OQ.MineBot.Plugins
        public Path(ShareManager shareManager, PathMode pathMode, MacroSync macro)
        {
            this.shareManager = shareManager;
            this.pathMode     = pathMode;
            this.macro        = macro;

            if (pathMode == PathMode.Advanced)
            {
                ZMO.Mine = true;
            }
            else
            {
                ZMO.Mine = false;
            }
        }
コード例 #9
0
ファイル: Mine.cs プロジェクト: cosmohdx/OQ.MineBot.Plugins
        public Mine(ShareManager shareManager, Mode mode, PathMode pathMode, ushort[] ignore, MacroSync macro)
        {
            this.shareManager = shareManager;
            this.mode         = mode;
            this.pathMode     = pathMode;
            this.ignore       = ignore;
            this.macro        = macro;

            if (pathMode == PathMode.Advanced)
            {
                MO.Mine = true;
            }
            else
            {
                MO.Mine = false;
            }
        }
コード例 #10
0
        public Path(ShareManager shareManager, ILocation start, ILocation end, PathMode pathMode, MacroSync macro)
        {
            this.shareManager = shareManager;
            this.pathMode     = pathMode;
            this.macro        = macro;

            if (pathMode == PathMode.Advanced)
            {
                ZMO.Mine = true;
            }
            else
            {
                ZMO.Mine = false;
            }
            radius = new IRadius(start, end);
            this.shareManager.SetArea(radius);
        }
コード例 #11
0
        public Mine(bool diamondOre, bool emeraldOre, bool ironOre, bool goldOre, bool redstoneOre, bool lapisOre, bool coalOre, MacroSync macro)
        {
            this.macro = macro;

            var list = new List <ushort>();

            if (diamondOre)
            {
                list.Add(56);
            }
            if (emeraldOre)
            {
                list.Add(129);
            }
            if (ironOre)
            {
                list.Add(15);
            }
            if (goldOre)
            {
                list.Add(14);
            }
            if (redstoneOre)
            {
                list.Add(73); list.Add(74);
            }
            if (lapisOre)
            {
                list.Add(21);
            }
            if (coalOre)
            {
                list.Add(16);
            }
            ids = list.ToArray();
        }
コード例 #12
0
 public RestockMonitor(string name, MacroSync macro)
 {
     this.macro     = macro;
     this.macroName = name;
 }
コード例 #13
0
 public InventoryMonitor(string name, MacroSync macro)
 {
     this.macro     = macro;
     this.macroName = name;
 }
コード例 #14
0
ファイル: Mine.cs プロジェクト: cosmohdx/OQ.MineBot.Plugins
 public Mine(BlockIdCollection ids, MacroSync macro)
 {
     this.macro = macro;
     this.ids   = ids.collection.Select(x => x.id).Distinct().ToArray();
 }