package eu.univento.teamvento.listener; import eu.univento.commons.player.Rank; import eu.univento.core.api.Config; import eu.univento.core.api.Hologram; import eu.univento.core.api.player.CustomPlayer; import eu.univento.teamvento.TeamVento; import eu.univento.teamvento.utils.Plot; import eu.univento.teamvento.utils.PlotManager; import net.minecraft.server.v1_11_R1.EnumParticle; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import java.util.HashMap; /** * @author joethei * @version 0.1 */ public class JoinQuit implements Listener { public static final HashMap holograms = new HashMap<>(); @EventHandler public void onJoin(PlayerJoinEvent e) { CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer()); e.setJoinMessage(null); p.resetAttackSpeed(); if(PlotManager.hasPlot(p)) { Plot plot = PlotManager.getPlotByPlayer(p); assert plot != null; if(!plot.isReady()) { ItemStack menu = new ItemStack(Material.WATCH); ItemMeta menuMeta = menu.getItemMeta(); menuMeta.setDisplayName("§eErweiterungen"); menu.setItemMeta(menuMeta); p.getInventory().setItem(8, menu); } } if(p.getDatabasePlayer().getRank() == Rank.Builder || p.getDatabasePlayer().getRank() == Rank.SrBuilder) Bukkit.broadcastMessage(p.getDatabasePlayer().getRank().getColor() + p.getDisplayName() + " §8hat den Server §bbetreten"); else p.teleport(Config.readLocation("Build.Locs.Spawn")); String[] text; if(PlotManager.hasPlot(p)) text = new String[]{"§eZu deinem Plot teleportieren", "|", "|", "▼"}; else text = new String[]{"§eNeues Plot erstellen", "|", "|", "▼",}; Bukkit.getScheduler().runTaskTimerAsynchronously(TeamVento.getInstance(), () -> p.playParticle(Config.readLocation("Build.Locs.Holo").add(0.0D, 1.0D, 0.0D), EnumParticle.SPELL_WITCH, 0.4F, 10), 20L, 5L); Hologram holo = new Hologram(new ItemStack(Material.GRASS), text, Config.readLocation("Build.Locs.Holo")); holograms.put(p, holo); holo.showPlayer(p); } @EventHandler public void onQuit(PlayerQuitEvent e) { CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer()); e.setQuitMessage(null); holograms.remove(p); if(p.getDatabasePlayer().getRank() == Rank.Builder || p.getDatabasePlayer().getRank() == Rank.SrBuilder) Bukkit.broadcastMessage(p.getDatabasePlayer().getRank().getColor() + p.getDisplayName() + " §8hat den Server §cverlassen"); } }