/* * Copyright (c) 2018 univento.eu - All rights reserved * You are not allowed to use, distribute or modify this code */ package eu.univento.lobby.listeners; import eu.univento.commons.player.rank.Rank; import eu.univento.core.api.Hologram; import eu.univento.core.api.items.ItemBuilder; import eu.univento.core.api.player.CustomPlayer; import eu.univento.lobby.utils.Scoreboards; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.boss.BarColor; import org.bukkit.boss.BarFlag; import org.bukkit.boss.BarStyle; import org.bukkit.boss.BossBar; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.inventory.ItemStack; import java.sql.SQLException; /** * @author joethei * @version 1.5 */ public class JoinQuit implements Listener { @EventHandler(priority = EventPriority.HIGH) public void onJoin(PlayerJoinEvent e) throws ClassNotFoundException, SQLException { CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer()); e.setJoinMessage(null); p.setMaxHealth(10.0D); p.setHealth(10.0D); p.setFoodLevel(20); p.setExp(0F); p.setLevel(0); p.getInventory().clear(); p.getInventory().setItem(4, new ItemBuilder(Material.COMPASS).name("§aNavigator").glow().build()); //InventoryManager invs = new InventoryManager(p); //p.sendTitle(10, 50, 10, p.getMessages().Lobby_JOIN_TITLE_1(), p.getMessages().Lobby_JOIN_TITLE_2()); //invs.setMainInventory(false); p.getDatabasePlayer().isAllowedAsync(Rank.Supporter).whenComplete((aBoolean, throwable) -> { if(!aBoolean) { for (CustomPlayer players : PlayerHider.getHidden()) { players.hidePlayer(p); } } for (CustomPlayer players : PlayerHider.getSilentlobby()) { players.hidePlayer(p); p.hidePlayer(players); } }); String[] text = {"§2univento§8.§aeu"}; Hologram holo = new Hologram(new ItemStack(Material.WOOD_AXE), text, p.getWorld().getSpawnLocation()); holo.showPlayer(p); BossBar bar = Bukkit.createBossBar("§7Nutze den §aNavigator§8!", BarColor.GREEN, BarStyle.SEGMENTED_6, BarFlag.CREATE_FOG); bar.addPlayer(p); //p.sendActionBar(p.getMessages().LobbyBoard_NEW() + " " + p.getMessages().LobbyBoard_NEWS()); Scoreboards.updateScoreboard(p); p.getLastLocation().whenComplete((location, throwable) -> p.teleport(location)); } /** * removes player from lists * * @param e PlayerQuitEvent */ @EventHandler public void onQuit(PlayerQuitEvent e) { CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer()); p.getInventory().clear(); p.getInventory().setChestplate(null); e.setQuitMessage(null); if (PlayerHider.getHidden().contains(p)) PlayerHider.getHidden().remove(p); } }