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; } }
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() + ']'); } }
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())); }
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()); }
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); }
public object ToNBT() { NBT nbt = new NBT(); foreach (KeyValuePair <Effect, EffectCondition> e in Effects) { nbt.Set(e.Key.Id, e.Value); } return(nbt); }
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; } }
public object ToNBT() { if (IsEmpty()) { return(null); } NBT nbt = new NBT(); foreach (State s in states) { nbt.SetAny(s.Name, s.value); } return(nbt); }
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)); }
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()); }
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()); } }
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; } }
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)); }
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); }
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); }
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))); }
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))); }
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))); }
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))); }
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))); }
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))); }
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); }
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))); }
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; }
public override void MergeData(NBT nbt) { FunctionWriter.Write($"data merge block {this} {nbt}"); }