diff --git a/pkgs/tools/games/amidst/default.nix b/pkgs/tools/games/minecraft/amidst/default.nix similarity index 100% rename from pkgs/tools/games/amidst/default.nix rename to pkgs/tools/games/minecraft/amidst/default.nix diff --git a/pkgs/tools/games/minecraft/fabric-installer/default.nix b/pkgs/tools/games/minecraft/fabric-installer/default.nix new file mode 100644 index 000000000000..ef978875049e --- /dev/null +++ b/pkgs/tools/games/minecraft/fabric-installer/default.nix @@ -0,0 +1,35 @@ +{ lib +, stdenv +, fetchurl +, makeWrapper +, jre }: + +stdenv.mkDerivation rec { + pname = "fabric-installer"; + version = "0.7.4"; + + src = fetchurl { + url = "https://maven.fabricmc.net/net/fabricmc/fabric-installer/${version}/fabric-installer-${version}.jar"; + sha256 = "0s3nmwpq1qg90c27qh4anvvsg4yzsgcp6kwsb35fsiaaakxn0b8r"; + }; + + dontUnpack = true; + + nativeBuildInputs = [ jre makeWrapper ]; + + installPhase = '' + mkdir -p $out/{bin,lib/fabric} + + cp $src $out/lib/fabric/fabric-installer.jar + makeWrapper ${jre}/bin/java $out/bin/fabric-installer \ + --add-flags "-jar $out/lib/fabric/fabric-installer.jar" + ''; + + meta = with lib; { + homepage = "https://fabricmc.net/"; + description = "A lightweight, experimental modding toolchain for Minecraft"; + license = licenses.asl20; + maintainers = [ maintainers.ivar ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/tools/games/minecraft/optifine/default.nix b/pkgs/tools/games/minecraft/optifine/default.nix new file mode 100644 index 000000000000..06425e6b67ef --- /dev/null +++ b/pkgs/tools/games/minecraft/optifine/default.nix @@ -0,0 +1,39 @@ +{ lib +, stdenv +, fetchurl +, makeWrapper +, jre }: + +stdenv.mkDerivation rec { + pname = "optifine"; + version = "1.16.5_HD_U_G8"; + + src = fetchurl { + url = "https://optifine.net/download?f=OptiFine_${version}.jar"; + sha256 = "0ks91d6n4vkgb5ykdrc67br2c69nqjr0xhp7rrkybg24xn8bqxiw"; + }; + + dontUnpack = true; + + nativeBuildInputs = [ jre makeWrapper ]; + + installPhase = '' + mkdir -p $out/{bin,lib/optifine} + cp $src $out/lib/optifine/optifine.jar + + makeWrapper ${jre}/bin/java $out/bin/optifine \ + --add-flags "-jar $out/lib/optifine/optifine.jar" + ''; + + meta = with lib; { + homepage = "https://optifine.net/"; + description = "A Minecraft optimization mod"; + longDescription = '' + OptiFine is a Minecraft optimization mod. + It allows Minecraft to run faster and look better with full support for HD textures and many configuration options. + ''; + license = licenses.unfree; + maintainers = [ maintainers.ivar ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 18368f290c09..d36692b1c405 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -868,7 +868,7 @@ in auditwheel = callPackage ../tools/package-management/auditwheel { }; - amidst = callPackage ../tools/games/amidst { }; + amidst = callPackage ../tools/games/minecraft/amidst { }; gamemode = callPackage ../tools/games/gamemode { libgamemode32 = pkgsi686Linux.gamemode.lib; @@ -4812,6 +4812,8 @@ in lp_solve = callPackage ../applications/science/math/lp_solve { }; + fabric-installer = callPackage ../tools/games/minecraft/fabric-installer { }; + fastlane = callPackage ../tools/admin/fastlane { }; fatresize = callPackage ../tools/filesystems/fatresize {}; @@ -7664,6 +7666,8 @@ in openvswitch-lts = callPackage ../os-specific/linux/openvswitch/lts.nix { }; + optifine = callPackage ../tools/games/minecraft/optifine { }; + optipng = callPackage ../tools/graphics/optipng { libpng = libpng12; };