summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/commands/SetBorder.java
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2021-08-13 16:49:36 -0400
committerTyler Murphy <tylermurphy534@gmail.com>2021-08-13 16:49:36 -0400
commit173d4b0e6a1eca9d088b0bcf8b81c82494d658d6 (patch)
tree0ea188aae579b99336b0df331422868cc9279e22 /src/main/java/net/tylermurphy/hideAndSeek/commands/SetBorder.java
downloadkenshinshideandseek-173d4b0e6a1eca9d088b0bcf8b81c82494d658d6.tar.gz
kenshinshideandseek-173d4b0e6a1eca9d088b0bcf8b81c82494d658d6.tar.bz2
kenshinshideandseek-173d4b0e6a1eca9d088b0bcf8b81c82494d658d6.zip
1.0.0
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/commands/SetBorder.java')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/commands/SetBorder.java68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/commands/SetBorder.java b/src/main/java/net/tylermurphy/hideAndSeek/commands/SetBorder.java
new file mode 100644
index 0000000..07e69bb
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/commands/SetBorder.java
@@ -0,0 +1,68 @@
+package net.tylermurphy.hideAndSeek.commands;
+
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+import org.bukkit.util.Vector;
+
+import net.tylermurphy.hideAndSeek.ICommand;
+import net.tylermurphy.hideAndSeek.manager.WorldborderManager;
+
+import static net.tylermurphy.hideAndSeek.Store.*;
+
+public class SetBorder implements ICommand {
+
+ public void execute(CommandSender sender, String[] args) {
+ if(spawnPosition == null) {
+ sender.sendMessage(errorPrefix + "Please set spawn position first");
+ return;
+ }
+ if(args.length < 2) {
+ sender.sendMessage(errorPrefix + "Please enter worldborder size and delay");
+ return;
+ }
+ int num,delay;
+ try { num = Integer.parseInt(args[0]); } catch (Exception e) {
+ sender.sendMessage(errorPrefix + "Invalid integer: "+args[0]);
+ return;
+ }
+ try { delay = Integer.parseInt(args[1]); } catch (Exception e) {
+ sender.sendMessage(errorPrefix + "Invalid integer: "+args[1]);
+ return;
+ }
+ if(num < 100) {
+ sender.sendMessage(errorPrefix + "Worldborder cannot be smaller than 100 blocks.");
+ return;
+ }
+ Vector newWorldborderPosition = new Vector();
+ Player player = (Player) sender;
+ newWorldborderPosition.setX(player.getLocation().getBlockX());
+ newWorldborderPosition.setY(0);
+ newWorldborderPosition.setZ(player.getLocation().getBlockZ());
+ if(spawnPosition.distance(newWorldborderPosition) > 100) {
+ sender.sendMessage(errorPrefix + "Spawn position must be 100 from worldborder center");
+ return;
+ }
+ worldborderPosition = newWorldborderPosition;
+ worldborderSize = num;
+ worldborderDelay = delay;
+ sender.sendMessage(messagePrefix + "Set border center to current location, size to "+num+", and delay to "+delay);
+ getConfig().set("borderPosition", newWorldborderPosition);
+ getConfig().set("borderSize", num);
+ getConfig().set("borderDelay", delay);
+ saveConfig();
+ WorldborderManager.reset();
+ }
+
+ public String getLabel() {
+ return "setBorder";
+ }
+
+ public String getUsage() {
+ return "<size> <delay>";
+ }
+
+ public String getDescription() {
+ return "Sets worldboarder's center location, size in blocks, and delay in minutes";
+ }
+
+}