public void Execute(string PlayerName, params object[] Arguments)
        {
            if (Players.Get(PlayerName).TPARequest == null)
            {
                NBT TellRaw = new NBT();
                TellRaw["text"]  = Str.Tr("На данный момент у Вас нет никаких заявок на телепортации");
                TellRaw["color"] = "red";

                RCON.Command("tellraw", PlayerName, TellRaw.ToString());
                return;
            }
            else if (!Players.Get(Players.Get(PlayerName).TPARequest).Online)
            {
                Players.Get(PlayerName).TPARequest = null;

                NBT TellRaw = new NBT();
                TellRaw["text"]  = Str.Tr("Вы не можете телепортировать человека который на данный момент не в сети");
                TellRaw["color"] = "red";

                RCON.Command("tellraw", PlayerName, TellRaw.ToString());
                return;
            }
            else
            {
                NBT TellRaw = new NBT();
                TellRaw["text"]  = Str.Tr("Телепортируем...");
                TellRaw["color"] = "green";

                RCON.Command("tellraw", PlayerName, TellRaw.ToString());
                RCON.Command("tellraw", Players.Get(PlayerName).TPARequest, TellRaw.ToString());
                RCON.Command("tp", Players.Get(PlayerName).TPARequest, PlayerName);

                Players.Get(PlayerName).TPARequest = null;
            }
        }
Example #2
0
        public void Execute(string PlayerName, params object[] Arguments)
        {
            var Commands = CommandManager.GetInfo();

            foreach (var Command in Commands)
            {
                if ((byte)Players.Get(PlayerName).PlayerType < (byte)Command.Item3)
                {
                    continue;
                }

                NBT ActionNBT = new NBT();
                ActionNBT["action"] = "run_command";
                ActionNBT["value"]  = "/say !" + Command.Item1;

                NBT CommandNameNBT = new NBT();
                CommandNameNBT["color"]      = "yellow";
                CommandNameNBT["text"]       = '!' + Command.Item1;
                CommandNameNBT["clickEvent"] = ActionNBT;

                NBT SerparatorNBT = new NBT();
                SerparatorNBT["color"] = "dark_green";
                SerparatorNBT["text"]  = " - ";

                NBT DescriptionNBT = new NBT();
                DescriptionNBT["color"] = "dark_aqua";
                DescriptionNBT["text"]  = Str.Tr(Command.Item2);

                RCON.Command("tellraw", PlayerName, '[' + CommandNameNBT.ToString() + ", " + SerparatorNBT.ToString() + ", " + DescriptionNBT.ToString() + ']');
            }
        }
Example #3
0
        public override IQueryable <SaveAuction> AddQuery(IQueryable <SaveAuction> query, FilterArgs args)
        {
            var key = NBT.GetLookupKey("uid");
            var val = NBT.UidToLong(args.Get(this));

            Console.WriteLine("uuid as int " + val);
            return(query.Where(a => a.NBTLookup.Where(l => l.KeyId == key && l.Value == val).Any()));
        }
Example #4
0
        public void Execute(string PlayerName, params object[] Arguments)
        {
            NBT TellRaw = new NBT();

            TellRaw["text"] = Str.Tr("Телепортируемся на спавн...");

            RCON.Command("tellraw", PlayerName, TellRaw.ToString());
            RCON.Command("tp", PlayerName, Sys.Ref.Config.SpawnPosition.ToString());
        }
Example #5
0
        public override IQueryable <SaveAuction> AddQuery(IQueryable <SaveAuction> query, FilterArgs args)
        {
            var item = ItemDetails.Instance.GetItemIdForName(args.Get(this));
            var key  = NBT.GetLookupKey("heldItem");

            Console.WriteLine(item);
            Console.WriteLine(key);
            return(query.Include(a => a.NBTLookup).Where(a => a.NBTLookup.Where(l => l.KeyId == key && l.Value == item).Any()));
        }
        public object ToNBT()
        {
            NBT nbt = new NBT();

            foreach (var e in Scores)
            {
                nbt.Set(e.Key.Name, e.Value);
            }
            return(nbt);
        }
Example #7
0
        public object ToNBT()
        {
            NBT nbt = new NBT();

            foreach (KeyValuePair <Effect, EffectCondition> e in Effects)
            {
                nbt.Set(e.Key.Id, e.Value);
            }
            return(nbt);
        }
Example #8
0
        public void Execute(string PlayerName, params object[] Arguments)
        {
            NBT TellRaw = new NBT();

            TellRaw["text"]  = Str.Tr("Телепортируем в случайное место");
            TellRaw["color"] = "green";

            RCON.Command("tellraw", PlayerName, TellRaw.ToString());

            RCON.Command("spreadplayers 236 148 10000 100000 false " + PlayerName);
        }
        public void Process(string Text)
        {
            ProcessCommand(Rgx.Parse(Text, "^\\[(.*?):(.*?):(.*?)\\] \\[Server thread\\/INFO\\]: [<|\\[](.*?)[>|\\]] !(.*?)$", false));

            if (Rgx.Contains(Text, "^\\[(.*?):(.*?):(.*?)\\] \\[Server thread\\/INFO\\]: Saving players$", false))
            {
                Sys.Ref.Save();
            }

            if (Rgx.Contains(Text, "^\\[(.*?):(.*?):(.*?)\\] \\[Server thread\\/INFO\\]: Stopping server$", false))
            {
                Sys.Ref.Running = false;
            }

            var JoinedMatches = Rgx.Parse(Text, "^\\[(.*?):(.*?):(.*?)\\] \\[Server thread\\/INFO\\]: (.*?) joined the game$", false);

            foreach (var JoinedMatch in JoinedMatches)
            {
                Players.Get(JoinedMatch[3]).Online = true;

                if (Players.Get(JoinedMatch[3]).PlayedBefore == false)
                {
                    NBT TellRaw = new NBT();
                    TellRaw["text"]  = JoinedMatch[3] + Str.Tr(" впервые подключи(лся)/(лась) на сервер");
                    TellRaw["color"] = "aqua";

                    RCON.Command("tellraw", "@a", TellRaw.ToString());

                    RCON.Command("recipe give", JoinedMatch[3], "*");
                    RCON.Command("recipe take", JoinedMatch[3], "minecraft:tnt");
                    RCON.Command("recipe take", JoinedMatch[3], "minecraft:tnt_minecart");

                    Players.Get(JoinedMatch[3]).PlayedBefore = true;

                    NBT NewTellRaw = new NBT();
                    NewTellRaw["text"]  = Str.Tr("Приветствуем тебя на нашем сервере Unary Vanilla Server!\nПрочитай все таблички вокруг тебя и начинай игру");
                    NewTellRaw["color"] = "light_green";

                    RCON.Command("tellraw", JoinedMatch[3], NewTellRaw.ToString());

                    continue;
                }
            }

            var LeftMatches = Rgx.Parse(Text, "^\\[(.*?):(.*?):(.*?)\\] \\[Server thread\\/INFO\\]: (.*?) left the game$", false);

            foreach (var LeftMatch in LeftMatches)
            {
                Players.Get(LeftMatch[3]).Online = false;
            }
        }
Example #10
0
        public object ToNBT()
        {
            if (IsEmpty())
            {
                return(null);
            }
            NBT nbt = new NBT();

            foreach (State s in states)
            {
                nbt.SetAny(s.Name, s.value);
            }
            return(nbt);
        }
Example #11
0
    public void Sync(string uuid = "a1d119e53dc647a88e4eb24b457fae16", string url = "https://auctions.craftlink.xyz/graphql")
    {
        var client = new RestClient(url);

        client.Timeout = -1;
        var request = new RestRequest(Method.POST);

        request.AddHeader("Content-Type", "application/json");
        request.AddParameter("application/json", "{\"query\":\"query Auction($id: String) {\\n  auction(id: $id) {\\n    id\\n    itemBytes\\n  }\\n}\\n\",\"variables\":{\"id\":\"" + uuid + "\"}}",
                             ParameterType.RequestBody);
        IRestResponse response = client.Execute(request);
        dynamic       result   = JsonConvert.DeserializeObject(response.Content);
        var           a        = StorageManager.GetOrCreateAuction((string)result.data.auction.id);

        Console.WriteLine(JsonConvert.SerializeObject(a));
        NBT.FillDetails(a, (string)result.data.auction.itemBytes);
        Console.WriteLine(JsonConvert.SerializeObject(a));
    }
        public string ToJson()
        {
            NBT display = new NBT()
                          .Set("title", Title)
                          .Set("description", Description)
                          .Set("icon", new NBT().Set("item", Icon?.Id).Set("nbt", Icon == null ? null : Icon.nbt.IsEmpty() ? null : Icon.nbt.ToString()))
                          .Set("frame", Frame.ToString().ToLower())
                          .Set("show_toast", ShowToast)
                          .Set("announce_to_chat", AnnounceToChat)
                          .Set("hidden", Hidden);
            NBT crits = new NBT();

            foreach (var e in Criteria)
            {
                crits.Set(e.Key, new NBT().Set("trigger", e.Value.Id).Set("conditions", e.Value));
            }
            return(new NBT().Set("display", display).Set("parent", Parent.Id).Set("criteria", crits).SetAny("requirements", requirements).Set("rewards", Reward).ToString(true, true));
        }
Example #13
0
        public void Execute(string PlayerName, params object[] Arguments)
        {
            string PositionString = RCON.Command("data get entity", PlayerName, "Pos");

            var Result = Rgx.Parse(PositionString, ": \\[(.*?)d, (.*?)d, (.*?)d\\]");

            int X = Convert.ToInt32(JsonConvert.DeserializeObject <double>(Result[0][0]));
            int Y = Convert.ToInt32(JsonConvert.DeserializeObject <double>(Result[0][1]));
            int Z = Convert.ToInt32(JsonConvert.DeserializeObject <double>(Result[0][2]));

            Players.Get(PlayerName).Home = new Position <int>(X, Y, Z);

            NBT TellRaw = new NBT();

            TellRaw["text"]  = Str.Tr("Успешно установили дом на ") + Players.Get(PlayerName).Home.ToString();
            TellRaw["color"] = "green";

            RCON.Command("tellraw", PlayerName, TellRaw.ToString());
        }
Example #14
0
        public void Execute(string PlayerName, params object[] Arguments)
        {
            if (Players.Get(PlayerName).Home == null)
            {
                NBT TellRaw = new NBT();
                TellRaw["text"]  = Str.Tr("У Вас ещё нет дома! Установите его при помощи !sethome");
                TellRaw["color"] = "red";

                RCON.Command("tellraw", PlayerName, TellRaw.ToString());
            }
            else
            {
                NBT TellRaw = new NBT();
                TellRaw["text"] = Str.Tr("Телепортируемся домой...");

                RCON.Command("tellraw", PlayerName, TellRaw.ToString());
                RCON.Command("tp", PlayerName, Players.Get(PlayerName).Home.ToString());
            }
        }
Example #15
0
        public void Execute(string PlayerName, params object[] Arguments)
        {
            if (Players.Get(PlayerName).TPARequest == null)
            {
                NBT TellRaw = new NBT();
                TellRaw["text"]  = Str.Tr("На данный момент у Вас нет никаких заявок на телепортации");
                TellRaw["color"] = "red";

                RCON.Command("tellraw", PlayerName, TellRaw.ToString());
                return;
            }
            else if (!Players.Get(Players.Get(PlayerName).TPARequest).Online)
            {
                Players.Get(PlayerName).TPARequest = null;

                NBT TellRaw = new NBT();
                TellRaw["text"]  = Str.Tr("Вы не можете отменить заявку человека который на данный момент не в сети");
                TellRaw["color"] = "red";

                RCON.Command("tellraw", PlayerName, TellRaw.ToString());
                return;
            }
            else
            {
                NBT PlayerRaw = new NBT();
                PlayerRaw["text"]  = Str.Tr("Вы отклонили заявку...");
                PlayerRaw["color"] = "green";

                RCON.Command("tellraw", PlayerName, PlayerRaw.ToString());

                NBT TargetRaw = new NBT();
                TargetRaw["text"]  = Str.Tr("К сожалению Ваша заявка на телепортацию была отменена");
                TargetRaw["color"] = "red";

                RCON.Command("tellraw", Players.Get(PlayerName).TPARequest, TargetRaw.ToString());

                Players.Get(PlayerName).TPARequest = null;
            }
        }
Example #16
0
        public static Block Parse(string s)
        {
            int nbtStart = s.IndexOf('{');
            int nbtEnd   = s.LastIndexOf('}');
            NBT nbt      = new NBT();

            if (nbtStart != -1)
            {
                nbt = s.SubstringIndexed(nbtStart, nbtEnd + 1);
                s   = s.SubstringIndexed(0, nbtStart) + (nbtEnd == s.Length ? "" : s.Substring(nbtEnd + 1));
            }
            int        sqBrace = s.IndexOf('[');
            BlockState state   = new BlockState();

            if (sqBrace != -1)
            {
                state = BlockState.Parse(s.Substring(sqBrace + 1));
            }
            ResourceLocation id = s.Substring(0, sqBrace == -1 ? nbtEnd == -1 ? s.Length : nbtStart : Math.Min(sqBrace, nbtStart));

            return(new Block(id, state, nbt));
        }
Example #17
0
        public NBT ReadP(int pos, int m)
        {
            if (pos == 0)
            {
                return(null);
            }
            if (nbts[m] != null)
            {
                return
                    (nbts[m]);
            }
            Input.Position = pos * 4096;
            int    length = Input.ReadIntBigEndian() - 1;
            int    type   = Input.ReadByte();
            Stream decomStream;

            if (type == 2)
            {
                Input.ReadByte();
                Input.ReadByte();
                length     -= 2;
                decomStream = new DeflateStream(Input, CompressionMode.Decompress, true);
                //Skip Header
            }
            else if (type == 1)
            {
                decomStream = new GZipStream(Input, CompressionMode.Decompress, true);
            }
            else
            {
                return(null);
            }
            var nbt = new NBT(decomStream);

            nbt.Read();
            decomStream.Close();
            nbts[m] = nbt;
            return(nbt);
        }
Example #18
0
        public NBT CreateLevel(int x, int z)
        {
            var tc = new TagCompound("Level", new List <Tag>
            {
                new TagByte("LightPopulated", 0),
                new TagByte("TerrainPopulated", 1),
                new TagByte("V", 1),
                new TagInt("xPos", x + X),
                new TagInt("zPos", z + Z),
                new TagLong("InhabitedTime", 0),
                new TagLong("LastUpdate", 0),
                new TagByteArray("Biomes", CreateList <byte>(256, 0)),
                new TagList("Entities", TagType.Compound),
                new TagList("TileEntities", TagType.Compound),
                new TagList("Sections", TagType.Compound),
                new TagIntArray("HeightMap", CreateList <int>(256, 0))
            });
            var n = new NBT();

            n.Root = new TagCompound("");
            n.Root.AddTag(tc);
            return(n);
        }
Example #19
0
 public void TestForBlock(Coordinates location, string block, int dataValue = -1, NBTObject NBT = null, bool ifPrevious = false)
 {
     if (NBT == null)
     {
         NBT = new NBTObject();
     }
     CombineCommand(new Command("testforblock " + location.ToString() + " " + block + " " + dataValue + " " + NBT.ToString(), CurrentType(ifPrevious)));
 }
Example #20
0
 public void TestForEntity(Entities entities, NBTObject NBT = null, bool ifPrevious = false)
 {
     if (NBT == null)
     {
         NBT = new NBTObject();
     }
     CombineCommand(new Command("testfor " + entities.GetSelectorString() + " " + NBT.ToString(), CurrentType(ifPrevious)));
 }
Example #21
0
 public void SummonEntity(EntityType type, Coordinates location, NBTObject NBT = null, bool ifPrevious = false)
 {
     if (type == EntityType.ANY)
     {
         throw new ArgumentException("Cannot summon an entity with type ANY.");
     }
     if (NBT == null)
     {
         NBT = new NBTObject();
     }
     CombineCommand(new Command("summon " + type.ToString() + " " + location.ToString() + " " + NBT.ToString(), CurrentType(ifPrevious)));
 }
Example #22
0
 public void SetBlock(Coordinates location, string block, int dataValue = 0, string mode = "replace", NBTObject NBT = null, bool ifPrevious = false)
 {
     if (NBT == null)
     {
         NBT = new NBTObject();
     }
     CombineCommand(new Command("setblock " + location.ToString() + " " + block + " " + dataValue + " " + mode + " " + NBT.ToString(), CurrentType(ifPrevious)));
 }
Example #23
0
 public void ReplaceEntityItem(Entities entities, string slot, string item, int amount = 1, int dataValue = 0, NBTObject NBT = null, bool ifPrevious = false)
 {
     if (NBT == null)
     {
         NBT = new NBTObject();
     }
     CombineCommand(new Command("replaceitem entity " + entities.GetSelectorString() + " " + slot + " " + item + " " + amount + " " + dataValue + " " + NBT.ToString(), CurrentType(ifPrevious)));
 }
Example #24
0
 public void ReplaceBlockItem(Coordinates location, string slot, string item, int amount = 1, int dataValue = 0, NBTObject NBT = null, bool ifPrevious = false)
 {
     if (NBT == null)
     {
         NBT = new NBTObject();
     }
     CombineCommand(new Command("replaceitem block " + location.ToString() + " " + slot + " " + item + " " + amount + " " + dataValue + " " + NBT.ToString(), CurrentType(ifPrevious)));
 }
Example #25
0
 public void GiveItem(Entities players, string item, int amount = 1, int dataValue = 0, NBTObject NBT = null, bool ifPrevious = false)
 {
     if (NBT == null)
     {
         NBT = new NBTObject();
     }
     EntityCommand(new Command("give " + players.GetSelectorString() + " " + item + " " + amount + " " + dataValue + " " + NBT.ToString(), CurrentType(ifPrevious)), players);
 }
Example #26
0
 public void FillArea(Area area, string block, int dataValue = 0, string mode = "keep", NBTObject NBT = null, bool ifPrevious = false)
 {
     if (mode == "replace")
     {
         throw new ArgumentException("Cannot use mode \"replace\". Use ReplaceArea() instead.");
     }
     if (NBT == null)
     {
         NBT = new NBTObject();
     }
     CombineCommand(new Command("fill " + area.ToString() + " " + block + " " + dataValue + " " + mode + " " + NBT.ToString(), CurrentType(ifPrevious)));
 }
Example #27
0
 public void RemoveTag(string tag, Entities entities, NBTObject NBT = null, bool ifPrevious = false)
 {
     if (NBT == null)
     {
         NBT = new NBTObject();
     }
     EntityCommand(new Command("scoreboard players tag " + entities.GetSelectorString() + " remove " + tag + " " + NBT.ToString(), CurrentType(ifPrevious)), entities);
 }
 public static LootFunction SetNBT(NBT nbt)
 {
     return(New("set_nbt").Set("tag", nbt.ToString()));
 }
 private BonusFormula(string name, NBT parameters)
 {
     this.name       = name;
     this.parameters = parameters;
 }
Example #30
0
 public override void MergeData(NBT nbt)
 {
     FunctionWriter.Write($"data merge block {this} {nbt}");
 }