aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/UpdateCommand.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/commands/misc/UpdateCommand.java')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/misc/UpdateCommand.java78
1 files changed, 78 insertions, 0 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/UpdateCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/UpdateCommand.java
new file mode 100644
index 00000000..cac93369
--- /dev/null
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/UpdateCommand.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package io.github.moulberry.notenoughupdates.commands.misc;
+
+import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
+import io.github.moulberry.notenoughupdates.commands.ClientCommandBase;
+import net.minecraft.command.CommandException;
+import net.minecraft.command.ICommandSender;
+import net.minecraft.util.ChatComponentText;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+
+public class UpdateCommand extends ClientCommandBase {
+ NotEnoughUpdates neu;
+
+ public UpdateCommand(NotEnoughUpdates neu) {
+ super("neuupdate");
+ this.neu = neu;
+ }
+
+ @Override
+ public List<String> getCommandAliases() {
+ return Arrays.asList("neuupdates", "enoughupdates");
+ }
+
+ public void displayHelp(ICommandSender sender) {
+ sender.addChatMessage(new ChatComponentText(
+ "" +
+ "§e[NEU] §b/neuupdate help - View help.\n" +
+ "§e[NEU] §b/neuupdate check - Check for updates.\n" +
+ ""
+ ));
+
+ }
+
+ @Override
+ public void processCommand(ICommandSender sender, String[] args) throws CommandException {
+ if ((args.length == 1 && Objects.equals(args[0], "help")) || args.length == 0) {
+ displayHelp(sender);
+ return;
+ }
+ switch (args[0].toLowerCase().intern()) {
+ case "check":
+ neu.autoUpdater.displayUpdateMessageIfOutOfDate();
+ break;
+ case "scheduledownload":
+ neu.autoUpdater.scheduleDownload();
+ break;
+ case "updatemodes":
+ sender.addChatMessage(new ChatComponentText("§e[NEU] §bTo ensure we do not accidentally corrupt your mod folder, we can only offer support for autoupdates on system with certain capabilities for file deletions (specifically unix systems). You can still manually update your files"));
+ break;
+ default:
+ displayHelp(sender);
+
+ }
+ }
+}