diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..418b336 --- /dev/null +++ b/.gitignore @@ -0,0 +1,39 @@ +# Secrets +/**/**/.env +/**/**/origin.server +/**/**/server.manifest +/**/**/server.registry + +/**/**/_shared + +# Trash +/**/**/*.log +/**/**/dumps.log +/**/**/.crash.log +/**/**/.tmp +/**/**/.cache +/**/**/cache +/**/**/out +/**/**/.out +/**/**/dist +/**/**/node_modules +/**/**/corenode_modules +/**/**/.DS_Store +/**/**/package-lock.json +/**/**/yarn.lock +/**/**/.evite +/**/**/uploads +/**/**/d_data +/**/**/*.tar +/**/**/*.7z +/**/**/*.zip +/**/**/*.env + +# Logs +/**/**/npm-debug.log* +/**/**/yarn-error.log +/**/**/dumps.log +/**/**/corenode.log + +# Temporal configurations +/**/**/.aliaser \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/manifest b/manifest new file mode 100644 index 0000000..396d2fa --- /dev/null +++ b/manifest @@ -0,0 +1,131 @@ +const os = require("node:os") +const path = require("node:path") +const fs = require("node:fs") +const child_process = require("node:child_process") + +function resolveMcPath() { + let minecraftGameFolder + + switch (os.type()) { + case "Darwin": + minecraftGameFolder = path.join( + os.homedir(), + "/Library", + "Application Support", + "minecraft" + ) + break + + case "win32": + case "Windows_NT": + minecraftGameFolder = path.join( + process.env.APPDATA || + path.join(os.homedir(), "AppData", "Roaming"), + ".minecraft" + ) + + break + default: + minecraftGameFolder = path.join(os.homedir(), ".minecraft"); + break + } + + return minecraftGameFolder +} + +module.exports = { + id: "mccomm2023", + icon: "https://storage.ragestudio.net/gose-uploads/mccom/MCx128.png", + pack_name: "MCCommunity", + version: "1.1.0", + init: ({ pack_dir, tmp_dir }) => { + return { + git_update: [ + { + path: pack_dir, + branch: "main", + url: "https://git.ragestudio.net/srgooglo/pack_mcommunity_2023" + } + ], + git_clones_steps: [ + { + path: pack_dir, + branch: "main", + url: "https://git.ragestudio.net/srgooglo/pack_mcommunity_2023" + } + ], + http_downloads: [ + { + path: `${pack_dir}/tmp/forge-installer.jar`, + url: "https://storage.ragestudio.net/gose-uploads/mccom/forge-1.20.1-47.2.0-installer.jar", + }, + { + path: `${pack_dir}/icon/mc.png`, + url: "https://storage.ragestudio.net/gose-uploads/mccom/MCx128.png", + } + ] + } + }, + after_install: async ({ manifest, pack_dir, tmp_dir, spinner }) => { + if (spinner) { + spinner.color = "yellow" + spinner.text = `Installing Forge version and libraries...` + } + + await new Promise((resolve, reject) => { + const process = child_process.execFile("java", ["-jar", `${pack_dir}/tmp/forge-installer.jar`, "-installClient"], { + cwd: pack_dir, + shell: true, + }) + + process.on("exit", resolve) + process.on("error", reject) + }) + + if (spinner) { + spinner.succeed() + } + + const minecraftGameFolder = resolveMcPath() + + const profilesFilePath = path.join(minecraftGameFolder, "launcher_profiles.json") + + if (fs.existsSync(profilesFilePath)) { + let launcherJSON = fs.readFileSync(profilesFilePath, "utf8") + + launcherJSON = JSON.parse(launcherJSON) + + launcherJSON.profiles[manifest.id] = { + name: manifest.pack_name, + gameDir: pack_dir, + created: "2023-00-00T00:00:00.002Z", + javaArgs: "-Xmx4G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M", + lastVersionId: "1.20.1-forge-47.2.0", + version: "1.20.1-forge-47.2.0", + type: "custom", + path: `${pack_dir}/icon/mc.png`, + } + + fs.writeFileSync(profilesFilePath, JSON.stringify(launcherJSON, null, 2)) + } else { + console.warn("WARNING: Its seems that you are not using the official launcher launcher, you must create a new profile on your launcher!") + console.log(`Installation Path: ${pack_dir}`) + console.log(`Version: 1.20.1-forge-47.2.0`) + } + }, + uninstall: async ({ manifest, pack_dir, tmp_dir, spinner }) => { + const minecraftGameFolder = resolveMcPath() + + const profilesFilePath = path.join(minecraftGameFolder, "launcher_profiles.json") + + if (fs.existsSync(profilesFilePath)) { + let launcherJSON = fs.readFileSync(profilesFilePath, "utf8") + + launcherJSON = JSON.parse(launcherJSON) + + delete launcherJSON.profiles[manifest.id] + + fs.writeFileSync(profilesFilePath, JSON.stringify(launcherJSON, null, 2)) + } + }, +} \ No newline at end of file diff --git a/FarmersDelight-1.20.1-1.2.3.jar b/mods/FarmersDelight-1.20.1-1.2.3.jar similarity index 100% rename from FarmersDelight-1.20.1-1.2.3.jar rename to mods/FarmersDelight-1.20.1-1.2.3.jar diff --git a/Iceberg-1.20.1-forge-1.1.15.jar b/mods/Iceberg-1.20.1-forge-1.1.15.jar similarity index 100% rename from Iceberg-1.20.1-forge-1.1.15.jar rename to mods/Iceberg-1.20.1-forge-1.1.15.jar diff --git a/L_Enders_Cataclysm-1.39+-1.20.1.jar b/mods/L_Enders_Cataclysm-1.39+-1.20.1.jar similarity index 100% rename from L_Enders_Cataclysm-1.39+-1.20.1.jar rename to mods/L_Enders_Cataclysm-1.39+-1.20.1.jar diff --git a/LegendaryTooltips-1.20.1-forge-1.4.5.jar b/mods/LegendaryTooltips-1.20.1-forge-1.4.5.jar similarity index 100% rename from LegendaryTooltips-1.20.1-forge-1.4.5.jar rename to mods/LegendaryTooltips-1.20.1-forge-1.4.5.jar diff --git a/MyhomeV1.2.jar b/mods/MyhomeV1.2.jar similarity index 100% rename from MyhomeV1.2.jar rename to mods/MyhomeV1.2.jar diff --git a/Prism-1.20.1-forge-1.0.5.jar b/mods/Prism-1.20.1-forge-1.0.5.jar similarity index 100% rename from Prism-1.20.1-forge-1.0.5.jar rename to mods/Prism-1.20.1-forge-1.0.5.jar diff --git a/Terralith_1.20.1_v2.4.5.jar b/mods/Terralith_1.20.1_v2.4.5.jar similarity index 100% rename from Terralith_1.20.1_v2.4.5.jar rename to mods/Terralith_1.20.1_v2.4.5.jar diff --git a/alexscaves-1.0.3.jar b/mods/alexscaves-1.0.3.jar similarity index 100% rename from alexscaves-1.0.3.jar rename to mods/alexscaves-1.0.3.jar diff --git a/athena-forge-1.20.1-3.1.1.jar b/mods/athena-forge-1.20.1-3.1.1.jar similarity index 100% rename from athena-forge-1.20.1-3.1.1.jar rename to mods/athena-forge-1.20.1-3.1.1.jar diff --git a/backpacked-forge-1.20.1-2.2.5.jar b/mods/backpacked-forge-1.20.1-2.2.5.jar similarity index 100% rename from backpacked-forge-1.20.1-2.2.5.jar rename to mods/backpacked-forge-1.20.1-2.2.5.jar diff --git a/chat_heads-0.10.22-forge-1.20.jar b/mods/chat_heads-0.10.22-forge-1.20.jar similarity index 100% rename from chat_heads-0.10.22-forge-1.20.jar rename to mods/chat_heads-0.10.22-forge-1.20.jar diff --git a/chipped-forge-1.20.1-3.0.1.jar b/mods/chipped-forge-1.20.1-3.0.1.jar similarity index 100% rename from chipped-forge-1.20.1-3.0.1.jar rename to mods/chipped-forge-1.20.1-3.0.1.jar diff --git a/citadel-2.4.5-1.20.1.jar b/mods/citadel-2.4.5-1.20.1.jar similarity index 100% rename from citadel-2.4.5-1.20.1.jar rename to mods/citadel-2.4.5-1.20.1.jar diff --git a/corpse-1.20.1-1.0.5.jar b/mods/corpse-1.20.1-1.0.5.jar similarity index 100% rename from corpse-1.20.1-1.0.5.jar rename to mods/corpse-1.20.1-1.0.5.jar diff --git a/create-1.20.1-0.5.1.e.jar b/mods/create-1.20.1-0.5.1.e.jar similarity index 100% rename from create-1.20.1-0.5.1.e.jar rename to mods/create-1.20.1-0.5.1.e.jar diff --git a/creeperoverhaul-3.0.1-forge.jar b/mods/creeperoverhaul-3.0.1-forge.jar similarity index 100% rename from creeperoverhaul-3.0.1-forge.jar rename to mods/creeperoverhaul-3.0.1-forge.jar diff --git a/dynamiclights-v1.7-mc1.17x-1.20x-mod.jar b/mods/dynamiclights-v1.7-mc1.17x-1.20x-mod.jar similarity index 100% rename from dynamiclights-v1.7-mc1.17x-1.20x-mod.jar rename to mods/dynamiclights-v1.7-mc1.17x-1.20x-mod.jar diff --git a/embeddium-0.2.2+mc1.20.1.jar b/mods/embeddium-0.2.2+mc1.20.1.jar similarity index 100% rename from embeddium-0.2.2+mc1.20.1.jar rename to mods/embeddium-0.2.2+mc1.20.1.jar diff --git a/endermanoverhaul-forge-1.20.1-1.0.1.jar b/mods/endermanoverhaul-forge-1.20.1-1.0.1.jar similarity index 100% rename from endermanoverhaul-forge-1.20.1-1.0.1.jar rename to mods/endermanoverhaul-forge-1.20.1-1.0.1.jar diff --git a/entity_model_features_forge_1.20-1.0.2.jar b/mods/entity_model_features_forge_1.20-1.0.2.jar similarity index 100% rename from entity_model_features_forge_1.20-1.0.2.jar rename to mods/entity_model_features_forge_1.20-1.0.2.jar diff --git a/entity_texture_features_forge_1.20-4.5.1.jar b/mods/entity_texture_features_forge_1.20-4.5.1.jar similarity index 100% rename from entity_texture_features_forge_1.20-4.5.1.jar rename to mods/entity_texture_features_forge_1.20-4.5.1.jar diff --git a/entityculling-forge-1.6.2-mc1.20.1.jar b/mods/entityculling-forge-1.6.2-mc1.20.1.jar similarity index 100% rename from entityculling-forge-1.6.2-mc1.20.1.jar rename to mods/entityculling-forge-1.6.2-mc1.20.1.jar diff --git a/ferritecore-6.0.0-forge.jar b/mods/ferritecore-6.0.0-forge.jar similarity index 100% rename from ferritecore-6.0.0-forge.jar rename to mods/ferritecore-6.0.0-forge.jar diff --git a/framework-forge-1.20.1-0.6.16.jar b/mods/framework-forge-1.20.1-0.6.16.jar similarity index 100% rename from framework-forge-1.20.1-0.6.16.jar rename to mods/framework-forge-1.20.1-0.6.16.jar diff --git a/geckolib-forge-1.20.1-4.2.3.jar b/mods/geckolib-forge-1.20.1-4.2.3.jar similarity index 100% rename from geckolib-forge-1.20.1-4.2.3.jar rename to mods/geckolib-forge-1.20.1-4.2.3.jar diff --git a/handcrafted-forge-1.20.1-3.0.2.jar b/mods/handcrafted-forge-1.20.1-3.0.2.jar similarity index 100% rename from handcrafted-forge-1.20.1-3.0.2.jar rename to mods/handcrafted-forge-1.20.1-3.0.2.jar diff --git a/jei-1.20.1-forge-15.2.0.27.jar b/mods/jei-1.20.1-forge-15.2.0.27.jar similarity index 100% rename from jei-1.20.1-forge-15.2.0.27.jar rename to mods/jei-1.20.1-forge-15.2.0.27.jar diff --git a/memoryleakfix-forge-1.17+-1.1.2.jar b/mods/memoryleakfix-forge-1.17+-1.1.2.jar similarity index 100% rename from memoryleakfix-forge-1.17+-1.1.2.jar rename to mods/memoryleakfix-forge-1.17+-1.1.2.jar diff --git a/moremobvariants-forge+1.20-1.2.2.jar b/mods/moremobvariants-forge+1.20-1.2.2.jar similarity index 100% rename from moremobvariants-forge+1.20-1.2.2.jar rename to mods/moremobvariants-forge+1.20-1.2.2.jar diff --git a/oculus-mc1.20.1-1.6.9.jar b/mods/oculus-mc1.20.1-1.6.9.jar similarity index 100% rename from oculus-mc1.20.1-1.6.9.jar rename to mods/oculus-mc1.20.1-1.6.9.jar diff --git a/resourcefulconfig-forge-1.20.1-2.1.0.jar b/mods/resourcefulconfig-forge-1.20.1-2.1.0.jar similarity index 100% rename from resourcefulconfig-forge-1.20.1-2.1.0.jar rename to mods/resourcefulconfig-forge-1.20.1-2.1.0.jar diff --git a/resourcefullib-forge-1.20.1-2.1.11.jar b/mods/resourcefullib-forge-1.20.1-2.1.11.jar similarity index 100% rename from resourcefullib-forge-1.20.1-2.1.11.jar rename to mods/resourcefullib-forge-1.20.1-2.1.11.jar diff --git a/soundphysics-forge-1.20.1-1.2.1.jar b/mods/soundphysics-forge-1.20.1-1.2.1.jar similarity index 100% rename from soundphysics-forge-1.20.1-1.2.1.jar rename to mods/soundphysics-forge-1.20.1-1.2.1.jar diff --git a/vivecraft-1.20.1-1.1.2-forge.jar b/mods/vivecraft-1.20.1-1.1.2-forge.jar similarity index 100% rename from vivecraft-1.20.1-1.1.2-forge.jar rename to mods/vivecraft-1.20.1-1.1.2-forge.jar diff --git a/servers.dat b/servers.dat new file mode 100644 index 0000000..62eaad9 Binary files /dev/null and b/servers.dat differ