98 lines
3.0 KiB
Java
98 lines
3.0 KiB
Java
package eu.univento.lobby.listeners;
|
|
|
|
import java.sql.SQLException;
|
|
|
|
import eu.univento.core.api.*;
|
|
import eu.univento.core.api.player.Rank;
|
|
import eu.univento.lobby.utils.PetManager;
|
|
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 eu.univento.core.api.player.CustomPlayer;
|
|
import eu.univento.lobby.utils.Inventorys;
|
|
import net.minecraft.server.v1_10_R1.EnumParticle;
|
|
import org.bukkit.inventory.ItemStack;
|
|
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
|
|
|
/**
|
|
* @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);
|
|
|
|
if (!p.hasPlayedBefore()) {
|
|
p.teleport(Config.readLocation("Lobby.Locs.Spawn"));
|
|
}
|
|
|
|
Inventorys invs = new Inventorys(p);
|
|
p.playParticle(p.getEyeLocation(), EnumParticle.SPELL_MOB, 2.0F, 500);
|
|
p.giveExp(p.getExperience());
|
|
|
|
Title.sendTitle(p, 10, 50, 10, p.getMessages().Lobby_JOIN_TITLE_1(), p.getMessages().Lobby_JOIN_TITLE_2());
|
|
invs.setMainInventory(false);
|
|
|
|
|
|
if (!p.isAllowed(Rank.Supporter)) {
|
|
for (CustomPlayer players : PlayerHider.getHidden()) {
|
|
players.hidePlayer(p);
|
|
}
|
|
}
|
|
for (CustomPlayer players : PlayerHider.getSilentlobby()) {
|
|
players.hidePlayer(p);
|
|
p.hidePlayer(players);
|
|
}
|
|
|
|
String[] text = {"§e@univentoEU"};
|
|
Hologram holo = new Hologram(text, p.getWorld().getSpawnLocation());
|
|
holo.showPlayer(p);
|
|
|
|
BossBar bar = Bukkit.createBossBar("§cAchtung, frisch gestrichen", BarColor.GREEN, BarStyle.SEGMENTED_6, BarFlag.CREATE_FOG);
|
|
bar.addPlayer(p);
|
|
|
|
Actionbar.send(p, p.getMessages().LobbyBoard_NEW() + " " + p.getMessages().LobbyBoard_NEWS());
|
|
|
|
Scoreboards.updateScoreboard(p);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* 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);
|
|
if (PetManager.hasPet(p))
|
|
PetManager.removePet(p);
|
|
}
|
|
|
|
} |