{ lib, pkgs, bootstrap, ... }: { packUrl, gameVersion, loaderUid, loaderVersion, }: pkgs.stdenvNoCC.mkDerivation { name = "minecraft-client"; dontUnpack = true; mmcpack = '' { "components": [ { "important": true, "uid": "net.minecraft", "version": "${gameVersion}" }, { "uid": "${loaderUid}", "version": "${loaderVersion}" } ], "formatVersion": 1 } ''; instancecfg = pkgs.writeText "instance.cfg" '' [General] ConfigVersion=1.2 InstanceType=OneSix OverrideCommands=true PreLaunchCommand=\"$INST_JAVA\" -jar packwiz-installer-bootstrap.jar ${packUrl} ''; buildPhase = '' # Remove env-vars rm env-vars # Add the mmc-pack echo $mmcpack > ./mmc-pack.json # Add the instance-cfg cp $instancecfg ./instance.cfg # Add the bootstrap jar mkdir ./minecraft cp ${bootstrap} ./minecraft/packwiz-installer-bootstrap.jar # Zip everything together ${pkgs.zip}/bin/zip -r modpack.zip ./* ''; installPhase = '' mkdir $out mv modpack.zip $out/ ''; }