private void TeleportLastDeath(CommandArgs arg)
        {
            TSPlayer player = arg.Player;
            SOSKey   sos    = lastPlaceOfDeathData.GetUserDeathInfo(player.UUID);

            if (sos.deathCount > 0)
            {
                player.Teleport(sos.lastDeathPlaceX, sos.lastDeathPlaceY);
                player.SendMessage("You have teleported to your last corpse.", Color.YellowGreen);
            }
            else
            {
                player.SendMessage("You haven't died yet in the server.", Color.YellowGreen);
            }
        }
        //private void SaveMoney(CommandArgs arg)
        //{
        //    TSPlayer player = arg.Player;
        //    lastPlaceOfDeathData.UpdateSaveMoneyUser(player.UUID);
        //    if (lastPlaceOfDeathData.GetUserSavedMoney(player.UUID))
        //        player.SendMessage("Save Money Mode has been Enabled", Color.GreenYellow);
        //    else
        //        player.SendMessage("Save Money Mode has been Disabled", Color.GreenYellow);
        //}

        private void InfoLastDeath(CommandArgs arg)
        {
            TSPlayer player = arg.Player;
            SOSKey   sos    = lastPlaceOfDeathData.GetUserDeathInfo(player.UUID);

            if (sos.deathCount > 0)
            {
                string text = String.Format("Location (X, Y): ({0}, {1})\nDescription: {2}\nDeath Count: {3}",
                                            sos.lastDeathPlaceX, sos.lastDeathPlaceY, sos.lastDeathMessage,
                                            sos.deathCount);
                player.SendMessage(text, Color.YellowGreen);
            }
            else
            {
                player.SendMessage("You haven't died yet in the server.", Color.YellowGreen);
            }
        }
        public SOSKey GetUserDeathInfo(string UUID)
        {
            SOSKey sos;
            Dictionary <string, SOSKey> ds;

            if (!data.TryGetValue(WorldID, out ds))
            {
                ds = new Dictionary <string, SOSKey>();
                data.Add(WorldID, ds);
            }

            if (!ds.TryGetValue(UUID, out sos))
            {
                sos = new SOSKey(false);
                ds.Add(UUID, sos);
            }

            return(sos);
        }
        public bool GetUserSavedMoney(string UUID)
        {
            SOSKey sos;
            Dictionary <string, SOSKey> ds;

            if (!data.TryGetValue(WorldID, out ds))
            {
                ds = new Dictionary <string, SOSKey>();
                data.Add(WorldID, ds);
            }

            if (!ds.TryGetValue(UUID, out sos))
            {
                sos = new SOSKey(false);
                ds.Add(UUID, sos);
            }

            return(sos.saveMoney);
        }
        public void UpdateSaveMoneyUser(string UUID)
        {
            SOSKey sos;
            Dictionary <string, SOSKey> ds;

            if (!data.TryGetValue(WorldID, out ds))
            {
                ds = new Dictionary <string, SOSKey>();
                data.Add(WorldID, ds);
            }

            if (!ds.TryGetValue(UUID, out sos))
            {
                sos = new SOSKey(false);
                ds.Add(UUID, sos);
            }

            // Update
            sos.saveMoney = !sos.saveMoney;
        }
        public void UpdateLocationUser(string UUID, Vector2 pos, string lastDeathMessage)
        {
            SOSKey sos;
            Dictionary <string, SOSKey> ds;

            if (!data.TryGetValue(WorldID, out ds))
            {
                ds = new Dictionary <string, SOSKey>();
                data.Add(WorldID, new Dictionary <string, SOSKey>());
            }

            if (!ds.TryGetValue(UUID, out sos))
            {
                sos = new SOSKey(false);
                ds.Add(UUID, sos);
            }

            // Update
            sos.lastDeathPlaceX  = (int)pos.X;
            sos.lastDeathPlaceY  = (int)pos.Y;
            sos.lastDeathMessage = lastDeathMessage;
            sos.deathCount++;
        }