summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/commands/SaveMap.java
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2021-08-27 17:20:07 -0400
committerTyler Murphy <tylermurphy534@gmail.com>2021-08-27 17:20:07 -0400
commit0154a34f1dc240652908810314167a44638c847e (patch)
tree4f4e4a7dac2581ee8b32644cb30c3f852a1b8e8d /src/main/java/net/tylermurphy/hideAndSeek/commands/SaveMap.java
parent1.3.0 beta 2, bug fixes, added more block settings, added more config options (diff)
downloadkenshinshideandseek-0154a34f1dc240652908810314167a44638c847e.tar.gz
kenshinshideandseek-0154a34f1dc240652908810314167a44638c847e.tar.bz2
kenshinshideandseek-0154a34f1dc240652908810314167a44638c847e.zip
add world rollback and other stuff
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/commands/SaveMap.java')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/commands/SaveMap.java59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/commands/SaveMap.java b/src/main/java/net/tylermurphy/hideAndSeek/commands/SaveMap.java
new file mode 100644
index 0000000..c5b753f
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/commands/SaveMap.java
@@ -0,0 +1,59 @@
+package net.tylermurphy.hideAndSeek.commands;
+
+import static net.tylermurphy.hideAndSeek.Store.*;
+
+import java.io.File;
+
+import org.bukkit.Bukkit;
+import org.bukkit.command.CommandSender;
+
+import net.tylermurphy.hideAndSeek.Main;
+import net.tylermurphy.hideAndSeek.util.Functions;
+import net.tylermurphy.hideAndSeek.util.ICommand;
+
+public class SaveMap implements ICommand {
+
+ public void execute(CommandSender sender, String[] args) {
+ if(spawnPosition.getBlockX() == 0 && spawnPosition.getBlockY() == 0 && spawnPosition.getBlockZ() == 0) {
+ sender.sendMessage(errorPrefix + "Please set spawn location first");
+ return;
+ }
+ sender.sendMessage(warningPrefix + "This command may lag the server");
+ Bukkit.getServer().getWorld(spawnWorld).save();
+ File current = new File(Main.root+File.separator+spawnWorld);
+ if(current.exists()) {
+ File destenation = new File(Main.root+File.separator+"hideandseek_"+spawnWorld);
+ if(destenation.exists()) {
+ deleteDirectory(destenation);
+ destenation.mkdir();
+ }
+ Functions.copyFileStructure(current, destenation);
+ sender.sendMessage(messagePrefix + "Map save complete");
+ } else {
+ sender.sendMessage(errorPrefix + "Coudnt find current map");
+ }
+ }
+
+ boolean deleteDirectory(File directoryToBeDeleted) {
+ File[] allContents = directoryToBeDeleted.listFiles();
+ if (allContents != null) {
+ for (File file : allContents) {
+ deleteDirectory(file);
+ }
+ }
+ return directoryToBeDeleted.delete();
+ }
+
+ public String getLabel() {
+ return "saveMap";
+ }
+
+ public String getUsage() {
+ return "";
+ }
+
+ public String getDescription() {
+ return "Saves current map for the game. May lag server.";
+ }
+
+}