54 lines
1.4 KiB
Nix
54 lines
1.4 KiB
Nix
{ config, lib, options, pkgs, ... }:
|
|
with lib;
|
|
let
|
|
multiverse = pkgs.callPackage ../../packages/minecraft/multiverse.nix { };
|
|
cfg = config.services.minecraft.multiverse;
|
|
opt = options.services.minecraft.multiverse;
|
|
in
|
|
{
|
|
options.services.minecraft.multiverse = {
|
|
enable = mkOption {
|
|
default = false;
|
|
description = "Enable Multiverse";
|
|
type = types.bool;
|
|
};
|
|
netherportals = mkOption {
|
|
default = false;
|
|
description = "Enable Nether portals";
|
|
type = types.bool;
|
|
};
|
|
signportals = mkOption {
|
|
default = false;
|
|
description = "Enable sign portals";
|
|
type = types.bool;
|
|
};
|
|
inventories = mkOption {
|
|
default = false;
|
|
description = "Enable inventories";
|
|
type = types.bool;
|
|
};
|
|
};
|
|
config = mkIf cfg.enable {
|
|
services.minecraft.plugins = mkMerge [
|
|
[{
|
|
package = multiverse.core;
|
|
startScript = pkgs.writeScript "dummy" "";
|
|
}]
|
|
(mkIf cfg.netherportals
|
|
[{
|
|
package = multiverse.nether-portals;
|
|
startScript = pkgs.writeScript "dummy" "";
|
|
}])
|
|
(mkIf cfg.signportals
|
|
[{
|
|
package = multiverse.sign-portals;
|
|
startScript = pkgs.writeScript "dummy" "";
|
|
}])
|
|
(mkIf cfg.inventories
|
|
[{
|
|
package = multiverse.inventories;
|
|
startScript = pkgs.writeScript "dummy" "";
|
|
}])
|
|
];
|
|
};
|
|
}
|