summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/command
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2021-10-27 19:57:44 -0400
committerTyler Murphy <tylermurphy534@gmail.com>2021-10-27 19:57:44 -0400
commit27dc2bbf908f10c103759a82c37560d63683ebce (patch)
tree899f154d788c322d88d8dc96e1c34b1e3cdd0aa2 /src/main/java/net/tylermurphy/hideAndSeek/command
parent1.3.0 full release (diff)
downloadkenshinshideandseek-27dc2bbf908f10c103759a82c37560d63683ebce.tar.gz
kenshinshideandseek-27dc2bbf908f10c103759a82c37560d63683ebce.tar.bz2
kenshinshideandseek-27dc2bbf908f10c103759a82c37560d63683ebce.zip
1.3.1 build 1
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/command')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/SaveMap.java68
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/SetBounds.java67
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/Setup.java6
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/Start.java7
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/Stop.java2
5 files changed, 79 insertions, 71 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/SaveMap.java b/src/main/java/net/tylermurphy/hideAndSeek/command/SaveMap.java
index a2554d1..2befd73 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/command/SaveMap.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/SaveMap.java
@@ -2,15 +2,6 @@ package net.tylermurphy.hideAndSeek.command;
import static net.tylermurphy.hideAndSeek.configuration.Config.*;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.scheduler.BukkitRunnable;
@@ -36,66 +27,15 @@ public class SaveMap implements ICommand {
Bukkit.getServer().getWorld(spawnWorld).save();
BukkitRunnable runnable = new BukkitRunnable() {
public void run() {
- File current = new File(Main.root+File.separator+spawnWorld);
- if(current.exists()) {
- File temp_destenation = new File(Main.root+File.separator+"temp_hideandseek_"+spawnWorld);
- File destenation = new File(Main.root+File.separator+"hideandseek_"+spawnWorld);
- copyFileStructure(current, temp_destenation);
- if(destenation.exists()) {
- deleteDirectory(destenation);
- destenation.mkdir();
- }
- temp_destenation.renameTo(destenation);
- sender.sendMessage(messagePrefix + message("MAPSAVE_END"));
- runningBackup = false;
- } else {
- sender.sendMessage(errorPrefix + message("MAPSAVE_ERROR"));
- }
+ sender.sendMessage(
+ Main.plugin.worldLoader.save()
+ );
+ runningBackup = false;
}
};
runnable.runTaskAsynchronously(Main.plugin);
runningBackup = true;
}
-
- private static void copyFileStructure(File source, File target){
- try {
- ArrayList<String> ignore = new ArrayList<>(Arrays.asList("uid.dat", "session.lock"));
- if(!ignore.contains(source.getName())) {
- if(source.isDirectory()) {
- if(!target.exists())
- if (!target.mkdirs())
- throw new IOException("Couldn't create world directory!");
- String files[] = source.list();
- for (String file : files) {
- File srcFile = new File(source, file);
- File destFile = new File(target, file);
- copyFileStructure(srcFile, destFile);
- }
- } else {
- InputStream in = new FileInputStream(source);
- OutputStream out = new FileOutputStream(target);
- byte[] buffer = new byte[1024];
- int length;
- while ((length = in.read(buffer)) > 0)
- out.write(buffer, 0, length);
- in.close();
- out.close();
- }
- }
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
-
- private 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";
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/SetBounds.java b/src/main/java/net/tylermurphy/hideAndSeek/command/SetBounds.java
new file mode 100644
index 0000000..210f7fe
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/SetBounds.java
@@ -0,0 +1,67 @@
+package net.tylermurphy.hideAndSeek.command;
+
+import static net.tylermurphy.hideAndSeek.configuration.Config.*;
+
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+
+import net.tylermurphy.hideAndSeek.Main;
+import static net.tylermurphy.hideAndSeek.configuration.Localization.*;
+
+public class SetBounds implements ICommand {
+
+ public void execute(CommandSender sender, String[] args) {
+ if(!Main.plugin.status.equals("Standby")) {
+ sender.sendMessage(errorPrefix + message("GAME_INPROGRESS"));
+ return;
+ }
+ if(spawnPosition == null) {
+ sender.sendMessage(errorPrefix + message("ERROR_GAME_SPAWN"));
+ return;
+ }
+ Player player = (Player) sender;
+ if(!player.getWorld().getName().equals(spawnWorld)){
+ sender.sendMessage(errorPrefix + message("BOUNDS_WRONG_WORLD"));
+ return;
+ }
+ if(saveMaxX == 0) {
+ addToConfig("bounds.max.x", player.getLocation().getBlockX());
+ saveMaxX = player.getLocation().getBlockX();
+ } else if(saveMaxX < player.getLocation().getBlockX()) {
+ addToConfig("bounds.max.x", player.getLocation().getBlockX());
+ addToConfig("bounds.min.x", saveMaxX);
+ saveMinX = saveMaxX;
+ saveMaxX = player.getLocation().getBlockX();
+ } else {
+ addToConfig("bounds.min.x", player.getLocation().getBlockX());
+ saveMinX = player.getLocation().getBlockX();
+ }
+ if(saveMaxZ == 0) {
+ addToConfig("bounds.max.z", player.getLocation().getBlockZ());
+ saveMaxZ = player.getLocation().getBlockZ();
+ } else if(saveMaxZ < player.getLocation().getBlockZ()) {
+ addToConfig("bounds.max.z", player.getLocation().getBlockZ());
+ addToConfig("bounds.min.z", saveMaxZ);
+ saveMinZ = saveMaxZ;
+ saveMaxZ = player.getLocation().getBlockZ();
+ } else {
+ addToConfig("bounds.min.z", player.getLocation().getBlockZ());
+ saveMinZ = player.getLocation().getBlockZ();
+ }
+ sender.sendMessage(messagePrefix + message("BOUNDS"));
+ saveConfig();
+ }
+
+ public String getLabel() {
+ return "setBounds";
+ }
+
+ public String getUsage() {
+ return "";
+ }
+
+ public String getDescription() {
+ return "Sets the map bounds for the game.";
+ }
+
+}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Setup.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Setup.java
index 8be0141..f47503a 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/command/Setup.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Setup.java
@@ -28,9 +28,13 @@ public class Setup implements ICommand {
msg = msg + "\n" + message("SETUP_EXIT").toString();
count++;
}
+ if(saveMinX == 0 || saveMinZ == 0 || saveMaxX == 0 || saveMaxZ == 0) {
+ msg = msg + "\n" + message("SETUP_BOUNDS").toString();
+ count++;
+ }
File destenation = new File(Main.root+File.separator+"hideandseek_"+spawnWorld);
if(!destenation.exists()) {
- msg = msg + "\n" + message("SETUP_MAPSAVE").toString();
+ msg = msg + "\n" + message("SETUP_SAVEMAP").toString();
count++;
}
if(count < 1) {
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Start.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Start.java
index 89cbc09..4bedd2f 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/command/Start.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Start.java
@@ -49,9 +49,9 @@ public class Start implements ICommand {
return;
}
if(Bukkit.getServer().getWorld("hideandseek_"+spawnWorld) != null) {
- Util.rollback("hideandseek_"+spawnWorld);
+ Main.plugin.worldLoader.rollback();
} else {
- Util.loadMap("hideandseek_"+spawnWorld);
+ Main.plugin.worldLoader.loadMap();
}
String seekerName;
if(args.length < 1) {
@@ -124,9 +124,6 @@ public class Start implements ICommand {
if(gameLength > 0) {
Main.plugin.timeLeft = gameLength;
- for(Player player : Main.plugin.board.getPlayers()) {
- player.setLevel(gameLength);
- }
}
}
}, 20 * 30);
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Stop.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Stop.java
index 810c071..52bf310 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/command/Stop.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Stop.java
@@ -58,7 +58,7 @@ public class Stop implements ICommand {
Packet.setGlow(player, temp, false);
}
}
- Util.unloadMap("hideandseek_"+spawnWorld);
+ Main.plugin.worldLoader.unloadMap();
Main.plugin.board.reloadLobbyBoards();
}