public void Get() { using var log = Log(); using LevelDB.DB <string, string> db = GetTestDb(); Assert.Equal("1", db.Get("a")); Assert.Equal("26", db.Get("z")); Assert.Equal("1", db["a"]); Assert.Equal("26", db["z"]); }
public override bool AddChests(IEnumerable <long> mapids, string playerid) { // acquire the file this player is stored in, and the tag that represents said player byte[] playeridbytes; if (playerid == LOCAL_IDENTIFIER) { playeridbytes = Encoding.Default.GetBytes("~local_player"); } else { playeridbytes = Encoding.Default.GetBytes(playerid); } byte[] playerdata = BedrockDB.Get(playeridbytes.ToArray()); var file = new NbtFile(); file.BigEndian = false; file.LoadFromBuffer(playerdata, 0, playerdata.Length, NbtCompression.None); var invtag = (NbtList)file.RootTag["Inventory"]; var success = PutChestsInInventory(invtag, mapids); byte[] bytes = file.SaveToBuffer(NbtCompression.None); BedrockDB.Put(playeridbytes, bytes); return(success); }
public IValue GetItem(LevelDB.ReadOptions snapshot, byte[] key) { var _key = Helper.tagKey_Item.Concat(prefix).Concat(Helper.tagZero).Concat(key).ToArray(); var data = db.Get(snapshot, _key); return(Helper.CreateValue(this.db, data)); }
public byte[] Get(byte[] key) { System.Numerics.BigInteger nkey = new System.Numerics.BigInteger(key); if (cache.ContainsKey(nkey)) { return(cache[nkey]); } return(db.Get(snapshot, key)); }
public void PutToDB(LevelDB.DB db, byte[] key) { var snapshot = Helper.CreateSnapshot(db); if (this.Value == null) {//申请新的实例ID,然后初始化存储Map var key_instMax = Helper.tagKey_InstanceMax; var instid = db.Get(snapshot, key_instMax); if (instid == null || instid.Length == 0) { instid = BitConverter.GetBytes((UInt64)1); } this.Value = instid; this.db = db; //刷新max { UInt64 v = BitConverter.ToUInt64(instid, 0); v++; instid = BitConverter.GetBytes((UInt64)v); db.Put(key_instMax, instid); } //初始化字典数量 byte[] key_count = Helper.tagKey_MapCount.Concat(this.Value).ToArray(); db.Put(key_count, BitConverter.GetBytes((UInt64)0)); } else {//检查count是否存在, byte[] key_count = Helper.tagKey_MapCount.Concat(this.Value).ToArray(); var count = db.Get(snapshot, key_count); if (count == null || count.Length == 0) { throw new Exception("error map instance."); } } db.Put(key, Helper.tagValue_Map.Concat(this.Value).ToArray()); }
public static string ChromiumLevelDBReadString(LevelDB.DB database, string url, string keyName) { foreach (var a in database) { var str = System.Text.Encoding.ASCII.GetString(a.Key); Console.WriteLine(str); } var rawKeyName = $"_{url}\0\u0001{keyName}"; var rawValue = database.Get(rawKeyName); if (rawValue == null) { throw new KeyNotFoundException(); } return(rawValue.Replace("\u0001", "").TrimStart(new char[] { '"' }).TrimEnd(new char[] { '"' })); }