mirror of
https://github.com/SunNetservers/MiniGames.git
synced 2025-04-02 09:46:26 +02:00
Makes the current state of the player toggle visible. Makes it possible to toggle player visibility outside arenas.
48 lines
1.5 KiB
Java
48 lines
1.5 KiB
Java
package net.knarcraft.minigames.command;
|
|
|
|
import net.knarcraft.minigames.MiniGames;
|
|
import net.knarcraft.minigames.arena.ArenaSession;
|
|
import net.knarcraft.minigames.config.Message;
|
|
import net.knarcraft.minigames.gui.MiniGamesGUI;
|
|
import org.bukkit.command.Command;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.command.TabExecutor;
|
|
import org.bukkit.entity.Player;
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* The command for opening up an arena's menu
|
|
*/
|
|
public class MenuCommand implements TabExecutor {
|
|
|
|
@Override
|
|
public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s,
|
|
@NotNull String[] arguments) {
|
|
if (!(commandSender instanceof Player player)) {
|
|
commandSender.sendMessage(Message.ERROR_PLAYER_ONLY.getMessage());
|
|
return false;
|
|
}
|
|
|
|
ArenaSession existingSession = MiniGames.getInstance().getSession(player.getUniqueId());
|
|
if (existingSession == null) {
|
|
new MiniGamesGUI(player).openFor(player);
|
|
return false;
|
|
} else {
|
|
existingSession.getGUI().openFor(player);
|
|
return true;
|
|
}
|
|
}
|
|
|
|
@Nullable
|
|
@Override
|
|
public List<String> onTabComplete(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s,
|
|
@NotNull String[] strings) {
|
|
return new ArrayList<>();
|
|
}
|
|
|
|
}
|