66 lines
1.5 KiB
Nix
66 lines
1.5 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" "";
|
|
}
|
|
])
|
|
];
|
|
};
|
|
}
|