コード例 #1
0
ファイル: Form1.cs プロジェクト: Northcode/MC-Manager
        private void button1_Click(object sender, EventArgs e)
        {
            DictionaryPropertyGridAdapter <string, object> data = propertyGrid1.SelectedObject as DictionaryPropertyGridAdapter <string, object>;

            if (data != null)
            {
                Dictionary <string, object> mapped = data.GetDictionary();
                Dictionary <string, Tuple <Config.Type, object> > unmapped = ReverseConfigMap(mapped);
                DataHolder.GetConfig(lstConfigs.SelectedItem.ToString()).SetAll(unmapped);
            }
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: Northcode/MC-Manager
 private void btnLoginInfo_Click(object sender, EventArgs e)
 {
     if (!DataHolder.HasLoginInfo)
     {
         string name     = txtLoginName.Text;
         string password = txtLoginPassword.Text;
         DataHolder.SetLoginInfo(new LoginInfo(name, password));
     }
     else
     {
         DataHolder.DeleteLoginInfo();
     }
 }
コード例 #3
0
ファイル: Form1.cs プロジェクト: Northcode/MC-Manager
 public void CheckLoginInfo()
 {
     if (DataHolder.HasLoginInfo)
     {
         btnLoginInfo.Text = "Delete saved";
         lblLoginInfo.Text = "Stored info: \r\nusername: "******"\r\npassword (encrypted): " + DataHolder.GetLoginInfo().GetPassword();
     }
     else
     {
         btnLoginInfo.Text = "Store";
         lblLoginInfo.Text = "No stored information";
     }
 }
コード例 #4
0
ファイル: Form1.cs プロジェクト: Northcode/MC-Manager
 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (cbxNewBackup.SelectedIndex != 0)
     {
         IBackup backup = BackupLoader.formats[cbxNewBackup.SelectedIndex - 1].CreateBackup();
         if (backup != null)
         {
             DataHolder.AddBackup(backup);
         }
         UpdateBackupList();
         cbxNewBackup.SelectedIndex = 0;
     }
 }
コード例 #5
0
 private void UpdateBackupList()
 {
     treeView1.Nodes.Clear();
     foreach (IBackupFormat format in BackupLoader.formats)
     {
         TreeNode node = new TreeNode(format.GetType().Name);
         foreach (IBackup backup in DataHolder.GetBackups())
         {
             if (backup.GetFormat().GetType() == format.GetType())
             {
                 node.Nodes.Add(backup.GetName());
             }
         }
         treeView1.Nodes.Add(node);
     }
 }
コード例 #6
0
        private void button1_Click(object sender, EventArgs e)
        {
            string param = "";

            if (DataHolder.HasLoginInfo)
            {
                param += DataHolder.GetLoginInfo().GetName() + " " + DataHolder.GetLoginInfo().GetDecryptedPassword();
            }
            if (checkBox1.Checked)
            {
                Directory.Delete(Data.minecraftbin, true);
            }
            else
            {
            }
            Process.Start(Data.minecraftexe, param);
        }
コード例 #7
0
ファイル: Form1.cs プロジェクト: Northcode/MC-Manager
        public void StartMinecraftWithoutLauncher()
        {
            LoginInfo li;

            if (DataHolder.HasLoginInfo)
            {
                li = DataHolder.GetLoginInfo();
            }
            else
            {
                li = LoginInput.Show();
                if (li == null)
                {
                    MessageBox.Show("Please type in username and password!", "Login Error");
                    return;
                }
            }
            try
            {
                WebClient wc       = new WebClient();
                string    loginURI = String.Format("http://login.minecraft.net/?user={0}&password={1}&version=14", li.GetName(), li.GetDecryptedPassword());
                string    str      = wc.DownloadString(loginURI);

                if (str != "Bad login")
                {
                    string[] args = str.Split(':');

                    Process mc = new Process();
                    mc.StartInfo.FileName  = "java.exe";
                    mc.StartInfo.Arguments = String.Format("-Xincgc -Xmx1024m -cp \"" + Data.minecraftbin + "minecraft.jar;" + Data.minecraftbin + "lwjgl.jar;" + Data.minecraftbin + "lwjgl_util.jar;" + Data.minecraftbin + "jinput.jar\" -Djava.library.path=\"" + Data.minecraftbin + "natives\" net.minecraft.client.Minecraft {0} {1}", args[2], args[3]);
                    mc.Start();
                }
                else
                {
                    MessageBox.Show("Invalid Login! try again...");
                }
            }
            catch (WebException ex)
            {
                MessageBox.Show("Can't connect to login.minecraft.net, try again later or start with launcher to play offline\r\nMore information: " + ex.ToString());
            }
        }
コード例 #8
0
ファイル: Form1.cs プロジェクト: Northcode/MC-Manager
 private void Form1_Load(object sender, EventArgs e)
 {
     DataHolder.StartPlugins(this);
     cbxNewBackup.Items.Clear();
     cbxNewBackup.Items.Add("New Backup");
     foreach (IBackupFormat format in BackupLoader.formats)
     {
         cbxNewBackup.Items.Add(format.GetFormatName());
     }
     cbxNewBackup.SelectedIndex = 0;
     cbxMCStart.SelectedIndex   = 0;
     cbxMCLoaded = true;
     UpdateBackupList();
     UpdatePluginList();
     UpdateConfigList();
     foreach (string line in changelog.loglines)
     {
         richTextBox1.AppendText(" - " + line);
     }
 }
コード例 #9
0
ファイル: Form1.cs プロジェクト: Northcode/MC-Manager
        public void StartMinecraftWithLauncher()
        {
            Process[] javas;

            bool start = true;

            if ((javas = Process.GetProcessesByName("javaw")).Length > 0)
            {
                foreach (Process p in javas)
                {
                    if (p.MainWindowTitle.Equals("minecraft", StringComparison.CurrentCultureIgnoreCase))
                    {
                        start = false;
                        if (MessageBox.Show("Minecraft is allready running, do you want to close it before restarting. \r\nIf no minecraft will not start a second time.", "Minecraft is allready running", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
                        {
                            p.Kill();
                            start = true;
                        }
                        break;
                    }
                }
            }

            if (start)
            {
                string param = "";
                if (DataHolder.HasLoginInfo)
                {
                    param += DataHolder.GetLoginInfo().GetName() + " " + DataHolder.GetLoginInfo().GetDecryptedPassword();
                }
                if (checkBox1.Checked)
                {
                    Directory.Delete(Data.minecraftbin, true);
                }
                else
                {
                }
                Process.Start(Data.minecraftexe, param);
            }
        }
コード例 #10
0
ファイル: Program.cs プロジェクト: kvamren/MC-Manager
 private static void Main()
 {
     Data.CheckStartupFolders();
     PluginLoader.LoadPlugins();
     if (File.Exists(Data.logininfo))
     {
         DataHolder.SetLoginInfo(LoginInfo.Load(Data.logininfo));
     }
     DataHolder.SetBackups(BackupLoader.LoadBackups());
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     Application.Run(new Form1());
     BackupLoader.SaveBackups(DataHolder.GetBackups());
     if (DataHolder.HasLoginInfo)
     {
         DataHolder.GetLoginInfo().Save(Data.logininfo);
     }
     else
     {
         File.Delete(Data.logininfo);
     }
 }
コード例 #11
0
ファイル: Form1.cs プロジェクト: Northcode/MC-Manager
 public void UpdateBackupList()
 {
     treeView1.Nodes.Clear();
     foreach (IBackupFormat format in BackupLoader.formats)
     {
         TreeNode node = new TreeNode(format.GetFormatName());
         node.ToolTipText = format.GetFormatName();
         int i = 0;
         foreach (IBackup backup in DataHolder.GetBackups())
         {
             if (backup.GetFormat().GetType() == format.GetType())
             {
                 TreeNode n = new TreeNode(backup.GetName());
                 n.Tag         = DataHolder.GetBackups().IndexOf(backup);
                 n.ToolTipText = backup.GetDescription();
                 n.Tag         = i;
                 n.ImageKey    = format.GetImageName();
                 node.Nodes.Add(n);
             }
             i++;
         }
         treeView1.Nodes.Add(node);
     }
 }
コード例 #12
0
ファイル: PluginLoader.cs プロジェクト: Northcode/MC-Manager
        public static void LoadPlugin(string file)
        {
            Assembly assembly = Assembly.LoadFile(file);

            foreach (Type t in assembly.GetTypes())
            {
                if (typeof(IBackupFormat).IsAssignableFrom(t))
                {
                    IBackupFormat format = Activator.CreateInstance(t) as IBackupFormat;
                    BackupLoader.formats.Add(format);
                }
                if (typeof(IUpdater).IsAssignableFrom(t))
                {
                    IUpdater updater = Activator.CreateInstance(t) as IUpdater;
                    updater.SetPath(file);
                    DataHolder.AddUpdater(updater);
                }
                if (typeof(IPlugin).IsAssignableFrom(t))
                {
                    IPlugin plugin = Activator.CreateInstance(t) as IPlugin;
                    DataHolder.AddPlugin(plugin);
                }
            }
        }
コード例 #13
0
ファイル: Form1.cs プロジェクト: Northcode/MC-Manager
 private void button4_Click(object sender, EventArgs e)
 {
     DataHolder.RemoveBackup(treeView1.SelectedNode.Text);
     UpdateBackupList();
 }
コード例 #14
0
 private void btnRestoreBackup_Click(object sender, EventArgs e)
 {
     DataHolder.GetBackups().FindAll(b => treeView1.SelectedNode.Text == b.GetName()).ForEach(b => b.Extract());
 }
コード例 #15
0
        private static void Main()
        {
            //Init windows visuals
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            //Init data & load plugins
            Data.CheckStartupFolders();
            PluginLoader.LoadPlugins();
            DataHolder.LoadConfigs();
            DataHolder.LoadImages();

            //Check for updates
            if (!DataHolder.GetConfig().Has("autoupdate"))
            {
                DataHolder.GetConfig().Set("autoupdate", Plugin_API.Config.Type.Bool, false);
            }

            if ((bool)DataHolder.GetConfig().Get("autoupdate"))
            {
                Thread updateThread = new Thread(() => {
                    Data.CheckForUpdate();
                    DataHolder.UpdatePlugins();
                    Data.PreformUpdate();
                    if (Data.updateData.ToString() != "")
                    {
                        DialogResult r = MessageBox.Show("New Update Available! Download?", "Update", MessageBoxButtons.YesNo);
                        if (r == DialogResult.Yes)
                        {
                            Process.Start(Data.updaterExe);
                            Thread.Sleep(100);
                            Application.Exit();
                        }
                    }
                });
                updateThread.Start();
            }
            if (File.Exists(Data.logininfo))
            {
                DataHolder.SetLoginInfo(LoginInfo.Load(Data.logininfo));
            }
            DataHolder.SetBackups(BackupLoader.LoadBackups());
            //try
            //{
            DataHolder.mainWindow = new MainWindow();
            Application.Run(DataHolder.mainWindow);
            DataHolder.StopPlugins();
            //}
            //catch (Exception ex)
            //{
            //    ErrorPage ep = new ErrorPage(ex.ToString());
            //    Application.Run(ep);
            //}
            BackupLoader.SaveBackups(DataHolder.GetBackups());
            if (DataHolder.HasLoginInfo)
            {
                DataHolder.GetLoginInfo().Save(Data.logininfo);
            }
            else
            {
                if (File.Exists(Data.logininfo))
                {
                    File.Delete(Data.logininfo);
                }
            }
            DataHolder.SaveConfigs();
        }
コード例 #16
0
ファイル: Form1.cs プロジェクト: Northcode/MC-Manager
 private void btnRestoreBackup_Click(object sender, EventArgs e)
 {
     DataHolder.GetBackups()[(int)treeView1.SelectedNode.Tag].Extract();
     MessageBox.Show("Backup restored");
 }
コード例 #17
0
ファイル: Form1.cs プロジェクト: Northcode/MC-Manager
 public MainWindow()
 {
     InitializeComponent();
     Size = new Size(404, 390);
     treeView1.ImageList = DataHolder.GetBackupImages();
 }