From b3e76f64856d9c43da8059638bdf085a16be49f7 Mon Sep 17 00:00:00 2001 From: dfsek Date: Fri, 4 Dec 2020 00:34:09 -0700 Subject: [PATCH] Add packs list command. --- .../com/dfsek/terra/command/PacksCommand.java | 56 +++++++++++++++++++ .../com/dfsek/terra/command/TerraCommand.java | 3 +- src/main/resources/lang/en_us.yml | 4 ++ 3 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/dfsek/terra/command/PacksCommand.java diff --git a/src/main/java/com/dfsek/terra/command/PacksCommand.java b/src/main/java/com/dfsek/terra/command/PacksCommand.java new file mode 100644 index 000000000..844201f64 --- /dev/null +++ b/src/main/java/com/dfsek/terra/command/PacksCommand.java @@ -0,0 +1,56 @@ +package com.dfsek.terra.command; + +import com.dfsek.terra.config.base.ConfigPackTemplate; +import com.dfsek.terra.config.lang.LangUtil; +import com.dfsek.terra.registry.ConfigRegistry; +import org.bukkit.command.CommandSender; +import org.jetbrains.annotations.NotNull; +import org.polydev.gaea.command.Command; + +import java.util.Collections; +import java.util.List; + +public class PacksCommand extends Command { + public PacksCommand(Command parent) { + super(parent); + } + + @Override + public String getName() { + return "packs"; + } + + @Override + public List getSubCommands() { + return Collections.emptyList(); + } + + @Override + public boolean execute(@NotNull CommandSender commandSender, org.bukkit.command.@NotNull Command command, @NotNull String s, @NotNull String[] strings) { + + ConfigRegistry registry = ConfigRegistry.getRegistry(); + + if(registry.entries().size() == 0) { + LangUtil.send("command.packs.none", commandSender); + return true; + } + + LangUtil.send("command.packs.main", commandSender); + registry.entries().forEach(entry -> { + ConfigPackTemplate template = entry.getTemplate(); + LangUtil.send("command.packs.pack", commandSender, template.getID(), template.getAuthor()); + }); + + return true; + } + + @Override + public int arguments() { + return 0; + } + + @Override + public List getTabCompletions(@NotNull CommandSender commandSender, @NotNull String s, @NotNull String[] strings) { + return Collections.emptyList(); + } +} diff --git a/src/main/java/com/dfsek/terra/command/TerraCommand.java b/src/main/java/com/dfsek/terra/command/TerraCommand.java index abaa14356..07a8d23a7 100644 --- a/src/main/java/com/dfsek/terra/command/TerraCommand.java +++ b/src/main/java/com/dfsek/terra/command/TerraCommand.java @@ -25,7 +25,8 @@ public class TerraCommand extends Command { new ImageCommand(this), new GeometryCommand(this), new FixChunkCommand(this), - new VersionCommand(this)); + new VersionCommand(this), + new PacksCommand(this)); public TerraCommand(GaeaPlugin main) { super(main); diff --git a/src/main/resources/lang/en_us.yml b/src/main/resources/lang/en_us.yml index cfcfcff3c..8c6f941cc 100644 --- a/src/main/resources/lang/en_us.yml +++ b/src/main/resources/lang/en_us.yml @@ -28,6 +28,10 @@ command: invalid-radius: "Invalid radius: \"%s\"" invalid: "Invalid Biome ID: \"%s\"" in: "You are in \"%s\"" + packs: + main: "Currently installed config packs:" + pack: " - %1$s by %2$s" + none: "No config packs are installed." ore: main-menu: - "---------------Terra/ore---------------"