Hub / src / main / java / com / lifeknight / relaymchub / commands / map / SetSpawnCommand.java
SetSpawnCommand.java
Raw
package com.lifeknight.relaymchub.commands.map;

import com.lifeknight.relaymchub.player.HubPlayer;
import com.lifeknight.relayutils.basic.Text;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;

import java.util.ArrayList;
import java.util.List;

public class SetSpawnCommand implements CommandExecutor, TabExecutor {
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (!(sender instanceof Player) || !command.getName().equalsIgnoreCase("setspawn")) {
            return true;
        }
        HubPlayer hubPlayer = HubPlayer.getHubPlayer((Player) sender);

        if (!hubPlayer.isCreatingCustomMap()) {
            hubPlayer.sendErrorMessage("You must be editing a custom map to use this command!");
        } else {
            if (args.length == 0) {
                hubPlayer.setCustomMapSpawn(hubPlayer.getLocation());
            } else {
                hubPlayer.setCustomMapSpawn(hubPlayer.getLocation(), (args[0].equalsIgnoreCase("b") || args[0].equalsIgnoreCase("2")));
            }
        }

        return true;
    }

    @Override
    public List<String> onTabComplete(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, String[] args) {
        if (args.length > 1) {
            return new ArrayList<>();
        }
        return Text.returnStartingEntries(new String[]{"1", "2"}, args.length > 0 ? args[0] : null, true);
    }
}