diff options
author | Tyler Murphy <tylermurphy534@gmail.com> | 2021-08-27 17:20:07 -0400 |
---|---|---|
committer | Tyler Murphy <tylermurphy534@gmail.com> | 2021-08-27 17:20:07 -0400 |
commit | 0154a34f1dc240652908810314167a44638c847e (patch) | |
tree | 4f4e4a7dac2581ee8b32644cb30c3f852a1b8e8d /src/main/java/net/tylermurphy/hideAndSeek/commands/SaveMap.java | |
parent | 1.3.0 beta 2, bug fixes, added more block settings, added more config options (diff) | |
download | kenshinshideandseek-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.java | 59 |
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."; + } + +} |