Lobby/src/main/java/eu/univento/lobby/listeners/JoinQuit.java

94 lines
3.1 KiB
Java
Raw Normal View History

2018-01-15 12:26:24 +01:00
/*
* Copyright (c) 2018 univento.eu - All rights reserved
* You are not allowed to use, distribute or modify this code
*/
2016-07-09 13:17:02 +02:00
package eu.univento.lobby.listeners;
2017-06-04 13:44:31 +02:00
import eu.univento.commons.player.rank.Rank;
2016-10-14 13:56:26 +02:00
import eu.univento.core.api.Hologram;
2018-01-15 12:26:24 +01:00
import eu.univento.core.api.items.ItemBuilder;
2016-10-14 13:56:26 +02:00
import eu.univento.core.api.player.CustomPlayer;
2016-07-09 13:17:02 +02:00
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;
2016-10-14 13:56:26 +02:00
import java.sql.SQLException;
2016-07-09 13:17:02 +02:00
/**
* @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);
2018-01-15 12:26:24 +01:00
p.getInventory().clear();
p.getInventory().setItem(4, new ItemBuilder(Material.COMPASS).name("§aNavigator").glow().build());
2016-07-09 13:17:02 +02:00
2017-06-04 13:44:31 +02:00
//InventoryManager invs = new InventoryManager(p);
2016-07-09 13:17:02 +02:00
2017-06-04 13:44:31 +02:00
//p.sendTitle(10, 50, 10, p.getMessages().Lobby_JOIN_TITLE_1(), p.getMessages().Lobby_JOIN_TITLE_2());
//invs.setMainInventory(false);
2016-07-09 13:17:02 +02:00
2017-06-04 13:44:31 +02:00
p.getDatabasePlayer().isAllowedAsync(Rank.Supporter).whenComplete((aBoolean, throwable) -> {
if(!aBoolean) {
for (CustomPlayer players : PlayerHider.getHidden()) {
players.hidePlayer(p);
}
}
for (CustomPlayer players : PlayerHider.getSilentlobby()) {
2016-07-09 13:17:02 +02:00
players.hidePlayer(p);
2017-06-04 13:44:31 +02:00
p.hidePlayer(players);
2016-07-09 13:17:02 +02:00
}
2017-06-04 13:44:31 +02:00
});
2016-07-09 13:17:02 +02:00
2018-01-15 12:26:24 +01:00
String[] text = {"§2univento§8.§aeu"};
2016-10-14 13:56:26 +02:00
Hologram holo = new Hologram(new ItemStack(Material.WOOD_AXE), text, p.getWorld().getSpawnLocation());
2016-07-09 13:17:02 +02:00
holo.showPlayer(p);
2018-01-15 12:26:24 +01:00
BossBar bar = Bukkit.createBossBar("§7Nutze den §aNavigator§8!", BarColor.GREEN, BarStyle.SEGMENTED_6, BarFlag.CREATE_FOG);
2016-07-09 13:17:02 +02:00
bar.addPlayer(p);
2017-06-04 13:44:31 +02:00
//p.sendActionBar(p.getMessages().LobbyBoard_NEW() + " " + p.getMessages().LobbyBoard_NEWS());
2016-07-09 13:17:02 +02:00
Scoreboards.updateScoreboard(p);
2018-01-15 12:26:24 +01:00
p.getLastLocation().whenComplete((location, throwable) -> p.teleport(location));
2016-07-09 13:17:02 +02:00
}
/**
* 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);
}
}