Search in sources :

Example 1 with GamePlayer

use of com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayer in project buildinggame by stefvanschie.

the class Arena method leave.

/**
 * Leaves the specified player. This will send messages to the player, restore their inventory, exp, armor etc.,
 * reset their time and weather to the one by the server, will make all invisible players visible again, cancel
 * timers if needed, updates the join signs for this arena and will leave the plot for the player. An
 * ArenaLeaveEvert may fire once this method is called.
 *
 * @param player the player to leave
 * @since 2.1.0
 */
public void leave(Player player) {
    YamlConfiguration arenas = SettingsManager.getInstance().getArenas();
    YamlConfiguration config = SettingsManager.getInstance().getConfig();
    YamlConfiguration messages = SettingsManager.getInstance().getMessages();
    if (ArenaManager.getInstance().getArena(player) == null) {
        MessageManager.getInstance().send(player, ChatColor.RED + "You're not in a game");
        return;
    }
    // call event
    ArenaLeaveEvent event = new ArenaLeaveEvent(this, player);
    Bukkit.getPluginManager().callEvent(event);
    if (event.isCancelled())
        return;
    var plot = getPlot(player);
    // this shouldn't happen unless you screwed up with the api
    if (plot == null) {
        MessageManager.getInstance().send(player, "You're not in a game");
        ArenaManager.getInstance().getArena(player).leave(player);
        return;
    }
    GamePlayer p = plot.getGamePlayer(player);
    p.restore();
    if (MainSpawnManager.getInstance().getMainSpawn() != null)
        p.connect(MainSpawnManager.getInstance().getServer(), MainSpawnManager.getInstance().getMainSpawn());
    if (config.getBoolean("scoreboards.main.enable"))
        MainScoreboardManager.getInstance().register(player);
    player.resetPlayerTime();
    player.resetPlayerWeather();
    // show all players again
    Bukkit.getOnlinePlayers().forEach(pl -> player.showPlayer(Main.getInstance(), pl));
    // reset player display name of removed player
    getPlots().forEach(pl -> {
        getLobbyScoreboard(pl).getRedTeam().removeEntry(player.getName());
        getBuildScoreboard(pl).getRedTeam().removeEntry(player.getName());
        getVoteScoreboard(pl).getRedTeam().removeEntry(player.getName());
        getWinScoreboard(pl).getRedTeam().removeEntry(player.getName());
    });
    getUsedPlots().forEach(usedPlot -> {
        for (GamePlayer gamePlayer : usedPlot.getGamePlayers()) {
            Player pl = gamePlayer.getPlayer();
            if (pl.equals(player)) {
                usedPlot.leave(gamePlayer);
                if (state == GameState.WAITING)
                    MessageManager.getInstance().send(player, messages.getStringList("leave.message.lobby"));
                else
                    MessageManager.getInstance().send(player, messages.getStringList("leave.message.in-game"));
                break;
            }
        }
    });
    getUsedPlots().forEach(usedPlot -> usedPlot.getGamePlayers().forEach(gamePlayer -> {
        Player pl = gamePlayer.getPlayer();
        if (state == GameState.WAITING)
            messages.getStringList("leave.other-players.lobby").forEach(message -> MessageManager.getInstance().send(pl, message.replace("%player%", player.getName())));
        else
            messages.getStringList("leave.other-players.in-game").forEach(message -> MessageManager.getInstance().send(pl, message.replace("%player%", player.getName())));
        if (config.getBoolean("scoreboards.lobby.enable"))
            getLobbyScoreboard(usedPlot).show(pl);
    }));
    // cancel wait timer when user amount drops below minimum
    if (getPlayers() < minPlayers && lobbyTimer.isActive()) {
        lobbyTimer.cancel();
        setLobbyTimer(new LobbyTimer(arenas.getInt(name + ".lobby-timer"), this));
    }
    if (getPlayers() <= 1) {
        if (getLobbyTimer().isActive()) {
            lobbyTimer.cancel();
            setLobbyTimer(new LobbyTimer(arenas.getInt(name + ".lobby-timer"), this));
            setState(GameState.WAITING);
        }
        if (buildTimer.isActive()) {
            buildTimer.cancel();
            setBuildTimer(new BuildTimer(arenas.getInt(name + ".timer"), this));
            forceStop();
        }
        if (getVoteTimer().isActive()) {
            voteTimer.cancel();
            setVoteTimer(new VoteTimer(arenas.getInt(name + ".vote-timer"), this));
            forceStop();
        }
        if (getWinTimer().isActive()) {
            winTimer.cancel();
            setWinTimer(new WinTimer(arenas.getInt(name + ".win-timer"), this));
            forceStop();
        }
    }
    if (getBossBar().getPlayers().contains(player))
        getBossBar().removePlayer(player);
    SignManager.getInstance().updateJoinSigns(this);
}
Also used : java.util(java.util) ZonedDateTime(java.time.ZonedDateTime) LocalDateTime(java.time.LocalDateTime) Player(org.bukkit.entity.Player) LobbyTimer(com.gmail.stefvanschiedev.buildinggame.timers.LobbyTimer) org.bukkit(org.bukkit) BuildTimer(com.gmail.stefvanschiedev.buildinggame.timers.BuildTimer) ArenaLeaveEvent(com.gmail.stefvanschiedev.buildinggame.api.events.ArenaLeaveEvent) BarColor(org.bukkit.boss.BarColor) com.gmail.stefvanschiedev.buildinggame.utils(com.gmail.stefvanschiedev.buildinggame.utils) Main(com.gmail.stefvanschiedev.buildinggame.Main) Timer(com.gmail.stefvanschiedev.buildinggame.timers.utils.Timer) ThreadLocalRandom(java.util.concurrent.ThreadLocalRandom) BarStyle(org.bukkit.boss.BarStyle) VoteTimer(com.gmail.stefvanschiedev.buildinggame.timers.VoteTimer) GamePlayerType(com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayerType) Attribute(org.bukkit.attribute.Attribute) ArenaStartEvent(com.gmail.stefvanschiedev.buildinggame.api.events.ArenaStartEvent) ArenaStopEvent(com.gmail.stefvanschiedev.buildinggame.api.events.ArenaStopEvent) Entity(org.bukkit.entity.Entity) BukkitRunnable(org.bukkit.scheduler.BukkitRunnable) PotentialLocation(com.gmail.stefvanschiedev.buildinggame.utils.potential.PotentialLocation) GamePlayer(com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayer) MessageManager(com.gmail.stefvanschiedev.buildinggame.managers.messages.MessageManager) com.gmail.stefvanschiedev.buildinggame.utils.scoreboards(com.gmail.stefvanschiedev.buildinggame.utils.scoreboards) SettingsManager(com.gmail.stefvanschiedev.buildinggame.managers.files.SettingsManager) SubjectMenu(com.gmail.stefvanschiedev.buildinggame.utils.guis.SubjectMenu) Plot(com.gmail.stefvanschiedev.buildinggame.utils.plot.Plot) Collectors(java.util.stream.Collectors) File(java.io.File) ItemStack(org.bukkit.inventory.ItemStack) TeamSelection(com.gmail.stefvanschiedev.buildinggame.utils.guis.TeamSelection) MainScoreboardManager(com.gmail.stefvanschiedev.buildinggame.managers.scoreboards.MainScoreboardManager) Nullable(org.jetbrains.annotations.Nullable) Contract(org.jetbrains.annotations.Contract) BossBar(org.bukkit.boss.BossBar) Region(com.gmail.stefvanschiedev.buildinggame.utils.region.Region) YamlConfiguration(org.bukkit.configuration.file.YamlConfiguration) DateTimeFormatter(java.time.format.DateTimeFormatter) SignManager(com.gmail.stefvanschiedev.buildinggame.managers.arenas.SignManager) When(com.gmail.stefvanschiedev.buildinggame.utils.guis.SubjectMenu.When) PotentialBlockPosition(com.gmail.stefvanschiedev.buildinggame.utils.potential.PotentialBlockPosition) NotNull(org.jetbrains.annotations.NotNull) ArenaManager(com.gmail.stefvanschiedev.buildinggame.managers.arenas.ArenaManager) MainSpawnManager(com.gmail.stefvanschiedev.buildinggame.managers.mainspawn.MainSpawnManager) ArenaJoinEvent(com.gmail.stefvanschiedev.buildinggame.api.events.ArenaJoinEvent) WinTimer(com.gmail.stefvanschiedev.buildinggame.timers.WinTimer) Player(org.bukkit.entity.Player) GamePlayer(com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayer) WinTimer(com.gmail.stefvanschiedev.buildinggame.timers.WinTimer) LobbyTimer(com.gmail.stefvanschiedev.buildinggame.timers.LobbyTimer) GamePlayer(com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayer) VoteTimer(com.gmail.stefvanschiedev.buildinggame.timers.VoteTimer) ArenaLeaveEvent(com.gmail.stefvanschiedev.buildinggame.api.events.ArenaLeaveEvent) YamlConfiguration(org.bukkit.configuration.file.YamlConfiguration) BuildTimer(com.gmail.stefvanschiedev.buildinggame.timers.BuildTimer)

Example 2 with GamePlayer

use of com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayer in project buildinggame by stefvanschie.

the class Arena method stop.

/**
 * Stops the arena and resets it so it's open for new players. If you want to stop the arena while it's still
 * running use {@link #forceStop()}.
 *
 * @since 2.1.0
 */
public void stop() {
    YamlConfiguration config = SettingsManager.getInstance().getConfig();
    YamlConfiguration messages = SettingsManager.getInstance().getMessages();
    // call event
    ArenaStopEvent event = new ArenaStopEvent(this);
    Bukkit.getPluginManager().callEvent(event);
    if (event.isCancelled())
        return;
    getUsedPlots().stream().flatMap(plot -> plot.getAllGamePlayers().stream()).forEach(gamePlayer -> gamePlayer.connect(MainSpawnManager.getInstance().getServer(), MainSpawnManager.getInstance().getMainSpawn()));
    // update bossbar
    getBossBar().setTitle(MessageManager.translate(messages.getString("global.bossbar-header").replace("%subject%", "?")));
    getBossBar().setVisible(false);
    getBossBar().getPlayers().forEach(player -> getBossBar().removePlayer(player));
    getUsedPlots().stream().flatMap(plot -> plot.getAllGamePlayers().stream()).forEach(gamePlayer -> {
        Player player = gamePlayer.getPlayer();
        gamePlayer.restore();
        player.setScoreboard(Bukkit.getScoreboardManager().getNewScoreboard());
        // show all players again
        if (config.getBoolean("tab-list.adjust"))
            Bukkit.getOnlinePlayers().forEach(pl -> player.showPlayer(Main.getInstance(), pl));
        // reset scoreboard
        getUsedPlots().stream().flatMap(p -> p.getGamePlayers().stream()).forEach(gp -> gp.getPlayer().setScoreboard(Bukkit.getScoreboardManager().getNewScoreboard()));
    });
    getPlots().forEach(plot -> plot.getAllGamePlayers().clear());
    this.matches = 0;
    SignManager.getInstance().updateJoinSigns(this);
}
Also used : java.util(java.util) ZonedDateTime(java.time.ZonedDateTime) LocalDateTime(java.time.LocalDateTime) Player(org.bukkit.entity.Player) LobbyTimer(com.gmail.stefvanschiedev.buildinggame.timers.LobbyTimer) org.bukkit(org.bukkit) BuildTimer(com.gmail.stefvanschiedev.buildinggame.timers.BuildTimer) ArenaLeaveEvent(com.gmail.stefvanschiedev.buildinggame.api.events.ArenaLeaveEvent) BarColor(org.bukkit.boss.BarColor) com.gmail.stefvanschiedev.buildinggame.utils(com.gmail.stefvanschiedev.buildinggame.utils) Main(com.gmail.stefvanschiedev.buildinggame.Main) Timer(com.gmail.stefvanschiedev.buildinggame.timers.utils.Timer) ThreadLocalRandom(java.util.concurrent.ThreadLocalRandom) BarStyle(org.bukkit.boss.BarStyle) VoteTimer(com.gmail.stefvanschiedev.buildinggame.timers.VoteTimer) GamePlayerType(com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayerType) Attribute(org.bukkit.attribute.Attribute) ArenaStartEvent(com.gmail.stefvanschiedev.buildinggame.api.events.ArenaStartEvent) ArenaStopEvent(com.gmail.stefvanschiedev.buildinggame.api.events.ArenaStopEvent) Entity(org.bukkit.entity.Entity) BukkitRunnable(org.bukkit.scheduler.BukkitRunnable) PotentialLocation(com.gmail.stefvanschiedev.buildinggame.utils.potential.PotentialLocation) GamePlayer(com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayer) MessageManager(com.gmail.stefvanschiedev.buildinggame.managers.messages.MessageManager) com.gmail.stefvanschiedev.buildinggame.utils.scoreboards(com.gmail.stefvanschiedev.buildinggame.utils.scoreboards) SettingsManager(com.gmail.stefvanschiedev.buildinggame.managers.files.SettingsManager) SubjectMenu(com.gmail.stefvanschiedev.buildinggame.utils.guis.SubjectMenu) Plot(com.gmail.stefvanschiedev.buildinggame.utils.plot.Plot) Collectors(java.util.stream.Collectors) File(java.io.File) ItemStack(org.bukkit.inventory.ItemStack) TeamSelection(com.gmail.stefvanschiedev.buildinggame.utils.guis.TeamSelection) MainScoreboardManager(com.gmail.stefvanschiedev.buildinggame.managers.scoreboards.MainScoreboardManager) Nullable(org.jetbrains.annotations.Nullable) Contract(org.jetbrains.annotations.Contract) BossBar(org.bukkit.boss.BossBar) Region(com.gmail.stefvanschiedev.buildinggame.utils.region.Region) YamlConfiguration(org.bukkit.configuration.file.YamlConfiguration) DateTimeFormatter(java.time.format.DateTimeFormatter) SignManager(com.gmail.stefvanschiedev.buildinggame.managers.arenas.SignManager) When(com.gmail.stefvanschiedev.buildinggame.utils.guis.SubjectMenu.When) PotentialBlockPosition(com.gmail.stefvanschiedev.buildinggame.utils.potential.PotentialBlockPosition) NotNull(org.jetbrains.annotations.NotNull) ArenaManager(com.gmail.stefvanschiedev.buildinggame.managers.arenas.ArenaManager) MainSpawnManager(com.gmail.stefvanschiedev.buildinggame.managers.mainspawn.MainSpawnManager) ArenaJoinEvent(com.gmail.stefvanschiedev.buildinggame.api.events.ArenaJoinEvent) WinTimer(com.gmail.stefvanschiedev.buildinggame.timers.WinTimer) Player(org.bukkit.entity.Player) GamePlayer(com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayer) ArenaStopEvent(com.gmail.stefvanschiedev.buildinggame.api.events.ArenaStopEvent) YamlConfiguration(org.bukkit.configuration.file.YamlConfiguration)

Example 3 with GamePlayer

use of com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayer in project buildinggame by stefvanschie.

the class Plot method getPlayerFormat.

/**
 * Returns a formatted string containing all players' name
 *
 * @return a formatted string of players
 * @since 2.1.0
 */
@NotNull
@Contract(pure = true)
public String getPlayerFormat() {
    YamlConfiguration messages = SettingsManager.getInstance().getMessages();
    StringBuilder players = new StringBuilder();
    for (var i = 0; i < getGamePlayers().size(); i++) {
        GamePlayer player = getGamePlayers().get(i);
        if (i == getGamePlayers().size() - 1)
            players.append(player.getPlayer().getName());
        else if (i == getGamePlayers().size() - 2)
            players.append(player.getPlayer().getName()).append(messages.getString("global.combine-names"));
        else
            players.append(player.getPlayer().getName()).append(", ");
    }
    return players.toString();
}
Also used : GamePlayer(com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayer) YamlConfiguration(org.bukkit.configuration.file.YamlConfiguration) NotNull(org.jetbrains.annotations.NotNull) Contract(org.jetbrains.annotations.Contract)

Example 4 with GamePlayer

use of com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayer in project buildinggame by stefvanschie.

the class Plot method restore.

/**
 * Restores the previous state of this plot which includes its block states and data, its time, rain state and
 * particles
 *
 * @since 2.1.0
 */
public void restore() {
    if (!SettingsManager.getInstance().getConfig().getBoolean("restore-plots"))
        return;
    blocks.forEach((blockState, biome) -> {
        Block block = blockState.getLocation().getBlock();
        block.setType(blockState.getType());
        block.setBiome(biome);
    });
    // refresh chunks because of the biomes
    arena.getPlots().forEach(plot -> plot.getBoundary().getChunks().forEach(chunk -> gamePlayers.forEach(gamePlayer -> gamePlayer.refreshChunk(chunk))));
    setRaining(false);
    setTime(0);
    getParticles().clear();
}
Also used : java.util(java.util) Player(org.bukkit.entity.Player) Biome(org.bukkit.block.Biome) org.bukkit(org.bukkit) Block(org.bukkit.block.Block) com.gmail.stefvanschiedev.buildinggame.utils(com.gmail.stefvanschiedev.buildinggame.utils) Main(com.gmail.stefvanschiedev.buildinggame.Main) GamePlayerType(com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayerType) CommandSender(org.bukkit.command.CommandSender) Particle(com.gmail.stefvanschiedev.buildinggame.utils.particle.Particle) Entity(org.bukkit.entity.Entity) PotentialLocation(com.gmail.stefvanschiedev.buildinggame.utils.potential.PotentialLocation) ArenaMode(com.gmail.stefvanschiedev.buildinggame.utils.arena.ArenaMode) GamePlayer(com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayer) MessageManager(com.gmail.stefvanschiedev.buildinggame.managers.messages.MessageManager) BlockState(org.bukkit.block.BlockState) SettingsManager(com.gmail.stefvanschiedev.buildinggame.managers.files.SettingsManager) LivingEntity(org.bukkit.entity.LivingEntity) Collectors(java.util.stream.Collectors) Nullable(org.jetbrains.annotations.Nullable) Contract(org.jetbrains.annotations.Contract) Region(com.gmail.stefvanschiedev.buildinggame.utils.region.Region) YamlConfiguration(org.bukkit.configuration.file.YamlConfiguration) StatManager(com.gmail.stefvanschiedev.buildinggame.managers.stats.StatManager) Arena(com.gmail.stefvanschiedev.buildinggame.utils.arena.Arena) BuildMenu(com.gmail.stefvanschiedev.buildinggame.utils.guis.buildmenu.BuildMenu) NotNull(org.jetbrains.annotations.NotNull) StatType(com.gmail.stefvanschiedev.buildinggame.utils.stats.StatType) ArenaManager(com.gmail.stefvanschiedev.buildinggame.managers.arenas.ArenaManager) MainSpawnManager(com.gmail.stefvanschiedev.buildinggame.managers.mainspawn.MainSpawnManager) SpectatorMenu(com.gmail.stefvanschiedev.buildinggame.utils.guis.spectatormenu.SpectatorMenu) Block(org.bukkit.block.Block)

Example 5 with GamePlayer

use of com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayer in project buildinggame by stefvanschie.

the class CommandManager method onSpectate.

/**
 * Called whenever a player wants to spectate
 *
 * @param player the player
 * @param toSpectate the player to spectate
 * @since 5.8.0
 */
@Subcommand("spectate")
@Description("Spectate a player")
@CommandPermission("bg.spectate")
public void onSpectate(Player player, Player toSpectate) {
    var arena = ArenaManager.getInstance().getArena(toSpectate);
    if (arena == null) {
        MessageManager.getInstance().send(player, ChatColor.RED + "Arena not found");
        return;
    }
    if (arena.getState() != GameState.BUILDING) {
        MessageManager.getInstance().send(player, ChatColor.RED + "You can't spectate right now");
        return;
    }
    GamePlayer toSpectateGamePlayer = arena.getUsedPlots().stream().flatMap(plot -> plot.getAllGamePlayers().stream()).filter(gamePlayer -> gamePlayer.getPlayer().equals(toSpectate)).findAny().orElse(null);
    if (toSpectateGamePlayer == null) {
        MessageManager.getInstance().send(player, ChatColor.RED + "Couldn't find the player to spectate");
        return;
    }
    if (toSpectateGamePlayer.getGamePlayerType() == GamePlayerType.SPECTATOR) {
        MessageManager.getInstance().send(player, ChatColor.RED + "You can't spectate a spectator");
        return;
    }
    // check if the player is playing the game
    if (ArenaManager.getInstance().getArena(player) != null && ArenaManager.getInstance().getArena(player).getPlot(player).getGamePlayer(player).getGamePlayerType() == GamePlayerType.PLAYER) {
        MessageManager.getInstance().send(player, ChatColor.RED + "You can't spectate while you're in game");
        return;
    }
    // check if we are already spectating
    Plot spectating = null;
    for (Arena a : ArenaManager.getInstance().getArenas()) {
        for (Plot plot : a.getUsedPlots()) {
            for (GamePlayer gamePlayer : plot.getSpectators()) {
                if (gamePlayer.getPlayer().equals(player)) {
                    spectating = plot;
                    break;
                }
            }
        }
    }
    if (spectating != null)
        spectating.removeSpectator(spectating.getGamePlayer(player));
    arena.getPlot(toSpectateGamePlayer.getPlayer()).addSpectator(player, toSpectateGamePlayer);
    MessageManager.getInstance().send(player, ChatColor.GREEN + "Now spectating " + toSpectateGamePlayer.getPlayer().getName() + '!');
}
Also used : CommandHelp(co.aikar.commands.CommandHelp) Player(org.bukkit.entity.Player) ReportMenu(com.gmail.stefvanschiedev.buildinggame.utils.guis.ReportMenu) Action(org.bukkit.event.block.Action) Supplier(java.util.function.Supplier) org.bukkit(org.bukkit) Main(com.gmail.stefvanschiedev.buildinggame.Main) com.gmail.stefvanschiedev.buildinggame.utils(com.gmail.stefvanschiedev.buildinggame.utils) Locale(java.util.Locale) PlayerInteractEvent(org.bukkit.event.player.PlayerInteractEvent) GamePlayerType(com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayerType) CommandSender(org.bukkit.command.CommandSender) co.aikar.commands.annotation(co.aikar.commands.annotation) ArenaSelection(com.gmail.stefvanschiedev.buildinggame.utils.guis.ArenaSelection) BaseCommand(co.aikar.commands.BaseCommand) RegionFactory(com.gmail.stefvanschiedev.buildinggame.utils.region.RegionFactory) ArenaMode(com.gmail.stefvanschiedev.buildinggame.utils.arena.ArenaMode) GamePlayer(com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayer) PotentialLocation(com.gmail.stefvanschiedev.buildinggame.utils.potential.PotentialLocation) MessageManager(com.gmail.stefvanschiedev.buildinggame.managers.messages.MessageManager) SettingsManager(com.gmail.stefvanschiedev.buildinggame.managers.files.SettingsManager) Plot(com.gmail.stefvanschiedev.buildinggame.utils.plot.Plot) Consumer(java.util.function.Consumer) List(java.util.List) Region(com.gmail.stefvanschiedev.buildinggame.utils.region.Region) YamlConfiguration(org.bukkit.configuration.file.YamlConfiguration) StatManager(com.gmail.stefvanschiedev.buildinggame.managers.stats.StatManager) com.gmail.stefvanschiedev.buildinggame.timers(com.gmail.stefvanschiedev.buildinggame.timers) Arena(com.gmail.stefvanschiedev.buildinggame.utils.arena.Arena) ArenaManager(com.gmail.stefvanschiedev.buildinggame.managers.arenas.ArenaManager) StatType(com.gmail.stefvanschiedev.buildinggame.utils.stats.StatType) MainSpawnManager(com.gmail.stefvanschiedev.buildinggame.managers.mainspawn.MainSpawnManager) GamePlayer(com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayer) Plot(com.gmail.stefvanschiedev.buildinggame.utils.plot.Plot) Arena(com.gmail.stefvanschiedev.buildinggame.utils.arena.Arena)

Aggregations

GamePlayer (com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayer)13 YamlConfiguration (org.bukkit.configuration.file.YamlConfiguration)11 Contract (org.jetbrains.annotations.Contract)11 Player (org.bukkit.entity.Player)10 Main (com.gmail.stefvanschiedev.buildinggame.Main)9 ArenaManager (com.gmail.stefvanschiedev.buildinggame.managers.arenas.ArenaManager)9 SettingsManager (com.gmail.stefvanschiedev.buildinggame.managers.files.SettingsManager)9 MainSpawnManager (com.gmail.stefvanschiedev.buildinggame.managers.mainspawn.MainSpawnManager)9 MessageManager (com.gmail.stefvanschiedev.buildinggame.managers.messages.MessageManager)9 com.gmail.stefvanschiedev.buildinggame.utils (com.gmail.stefvanschiedev.buildinggame.utils)9 GamePlayerType (com.gmail.stefvanschiedev.buildinggame.utils.gameplayer.GamePlayerType)9 PotentialLocation (com.gmail.stefvanschiedev.buildinggame.utils.potential.PotentialLocation)9 Region (com.gmail.stefvanschiedev.buildinggame.utils.region.Region)9 org.bukkit (org.bukkit)9 NotNull (org.jetbrains.annotations.NotNull)9 java.util (java.util)8 Collectors (java.util.stream.Collectors)8 Entity (org.bukkit.entity.Entity)8 Nullable (org.jetbrains.annotations.Nullable)8 Plot (com.gmail.stefvanschiedev.buildinggame.utils.plot.Plot)7