Ejemplo n.º 1
0
        public void GetModidFromPath()
        {
            string path1 = @"C:\Dev\ForgeModGenerator\ForgeModGenerator\mods\TestMod\src\main\resources\assets\testmod";
            string path2 = @"testmod:entity/something/either";
            string path3 = @"testmod:entity.something.either";
            string path5 = @"\ForgeModGenerator\ForgeModGenerator\mods\TestMod";

            string resultModid1 = Models.McMod.GetModidFromPath(path1);
            string resultModid2 = Models.McMod.GetModidFromPath(path2);
            string resultModid3 = Models.McMod.GetModidFromPath(path3);
            string resultModid5 = Models.McMod.GetModidFromPath(path5);

            Assert.AreEqual("testmod", resultModid1);
            Assert.AreEqual("testmod", resultModid2);
            Assert.AreEqual("testmod", resultModid3);
            Assert.AreEqual(null, resultModid5);

            // IMPORTANT: to run this tests, make sure you have TestMod in /mods/ folder
            if (Directory.Exists(ModPaths.ModRootFolder("TestMod")))
            {
                string modPath       = @"C:\Dev\ForgeModGenerator\ForgeModGenerator\mods\TestMod";
                string modPathResult = Models.McMod.GetModidFromPath(modPath);
                Assert.AreEqual("testmod", modPathResult);

                string modPath1       = @"C:\Dev\ForgeModGenerator\ForgeModGenerator\mods\TestMod\src\main\resources";
                string modPath1Result = Models.McMod.GetModidFromPath(modPath1);
                Assert.AreEqual("testmod", modPath1Result);
            }
        }
Ejemplo n.º 2
0
        public void Compile(McMod mcMod)
        {
            string           modPath = ModPaths.ModRootFolder(mcMod.ModInfo.Name);
            ProcessStartInfo psi     = new ProcessStartInfo {
                FileName  = "CMD.EXE",
                Arguments = $"/K cd \"{modPath}\" & gradlew build"
            };

            Process.Start(psi);
        }
Ejemplo n.º 3
0
        public override void Setup(McMod mcMod)
        {
            string           modPath = ModPaths.ModRootFolder(mcMod.ModInfo.Name);
            ProcessStartInfo psi     = new ProcessStartInfo {
                FileName  = "CMD.EXE",
                Arguments = $"/K cd \"{modPath}\" & gradlew setupDecompWorkspace"
            };

            Process.Start(psi);
            psi.Arguments = $"/K cd \"{modPath}\" & gradlew idea";
            Process.Start(psi);
        }
Ejemplo n.º 4
0
        /// <summary> Ignore LanuchSetup and run server for this mod </summary>
        public void RunServer(McMod mcMod)
        {
            string   modPath  = ModPaths.ModRootFolder(mcMod.ModInfo.Name);
            string   eulaPath = Path.Combine(modPath, "run", "eula.txt");
            FileInfo eulaFile = new FileInfo(eulaPath);

            if (!eulaFile.Exists)
            {
                eulaFile.Directory.Create();
                string eulaMessage =
                    $@"#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#{DateTime.UtcNow}
eula = true";
                File.WriteAllText(eulaPath, eulaMessage);
            }

            ProcessStartInfo psi = new ProcessStartInfo {
                FileName  = "CMD.EXE",
                Arguments = $"/K cd \"{modPath}\" & gradlew runServer"
            };

            Process.Start(psi);
        }