Infinidoge / nix-minecraft

An attempt to better support Minecraft-related content for the Nix ecosystem
MIT License
245 stars 26 forks source link

Add support for ignite #75

Open supercoolspy opened 3 months ago

supercoolspy commented 3 months ago

Ignite is a server mixin library comparable with paper and spigot. It would be cool to have a boolean option to enable it.

Infinidoge commented 3 months ago

Since ignite is a Java Agent, this would probably be better implemented as generic Java Agent handling, with a relevant package in nix-minecraft to make it easier to install. Wouldn't quite be a boolean option, but javaAgents = [ ignite ]; wouldn't be that difficult to use, and it would make using other Java Agents (like unsup) easier too.

If you don't want to wait, you can use

let
  ignite = fetchurl {
    url = "https://github.com/vectrix-space/ignite/releases/download/v1.0.1/ignite.jar";
    sha256 = "hash goes here";
  };
in {
  ... # (These are the server options)
  jvmArgs = "... -javaagent:${ignite}";
}

I'd like to avoid module options for server-specific things, because the server module is supposed to be server-agnostic. That said, a package override for paper/spigot to automatically include ignite would be possible.