2021-10-11 21:06:21 +00:00
|
|
|
package net.tylermurphy.hideAndSeek.command;
|
|
|
|
|
2021-10-23 00:03:15 +00:00
|
|
|
import static net.tylermurphy.hideAndSeek.configuration.Config.*;
|
2021-10-11 21:06:21 +00:00
|
|
|
|
2021-12-26 22:58:18 +00:00
|
|
|
import net.tylermurphy.hideAndSeek.game.Game;
|
|
|
|
import net.tylermurphy.hideAndSeek.util.Status;
|
|
|
|
import org.bukkit.World;
|
2021-10-11 21:06:21 +00:00
|
|
|
import org.bukkit.command.CommandSender;
|
|
|
|
import org.bukkit.entity.Player;
|
|
|
|
import org.bukkit.util.Vector;
|
|
|
|
|
2021-10-23 00:03:15 +00:00
|
|
|
import static net.tylermurphy.hideAndSeek.configuration.Localization.*;
|
2021-10-11 21:06:21 +00:00
|
|
|
|
|
|
|
public class SetLobbyLocation implements ICommand {
|
|
|
|
|
|
|
|
public void execute(CommandSender sender, String[] args) {
|
2021-12-26 22:58:18 +00:00
|
|
|
if(Game.status != Status.STANDBY) {
|
2021-10-31 15:25:27 +00:00
|
|
|
sender.sendMessage(errorPrefix + message("GAME_INPROGRESS"));
|
|
|
|
return;
|
|
|
|
}
|
2021-10-11 21:06:21 +00:00
|
|
|
Vector newLobbyPosition = new Vector();
|
|
|
|
Player player = (Player) sender;
|
2021-10-31 15:25:27 +00:00
|
|
|
if(player.getLocation().getBlockX() == 0 || player.getLocation().getBlockZ() == 0 || player.getLocation().getBlockY() == 0){
|
|
|
|
sender.sendMessage(errorPrefix + message("NOT_AT_ZERO"));
|
|
|
|
return;
|
|
|
|
}
|
2021-10-11 21:06:21 +00:00
|
|
|
newLobbyPosition.setX(player.getLocation().getBlockX());
|
|
|
|
newLobbyPosition.setY(player.getLocation().getBlockY());
|
|
|
|
newLobbyPosition.setZ(player.getLocation().getBlockZ());
|
2021-12-26 22:58:18 +00:00
|
|
|
World world = player.getLocation().getWorld();
|
|
|
|
if(world == null){
|
|
|
|
throw new RuntimeException("Unable to get world: " + spawnWorld);
|
|
|
|
}
|
|
|
|
lobbyWorld = world.getName();
|
2021-10-11 21:06:21 +00:00
|
|
|
lobbyPosition = newLobbyPosition;
|
2021-10-23 00:03:15 +00:00
|
|
|
sender.sendMessage(messagePrefix + message("LOBBY_SPAWN"));
|
2021-10-29 03:09:28 +00:00
|
|
|
addToConfig("spawns.lobby.x", lobbyPosition.getX());
|
|
|
|
addToConfig("spawns.lobby.y", lobbyPosition.getY());
|
|
|
|
addToConfig("spawns.lobby.z", lobbyPosition.getZ());
|
|
|
|
addToConfig("spawns.lobby.world", player.getLocation().getWorld().getName());
|
2021-10-11 21:06:21 +00:00
|
|
|
saveConfig();
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getLabel() {
|
|
|
|
return "setlobby";
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getUsage() {
|
|
|
|
return "";
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getDescription() {
|
|
|
|
return "Sets hide and seeks lobby location to current position";
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|