2016-04-30 07:38:37 +02:00
|
|
|
package eu.univento.teamvento.listener;
|
|
|
|
|
|
|
|
import eu.univento.core.api.Config;
|
2016-07-09 13:19:56 +02:00
|
|
|
import eu.univento.core.api.Hologram;
|
2016-04-30 07:38:37 +02:00
|
|
|
import eu.univento.core.api.player.CustomPlayer;
|
2016-07-09 13:19:56 +02:00
|
|
|
import eu.univento.core.api.player.Rank;
|
|
|
|
import eu.univento.teamvento.TeamVento;
|
|
|
|
import eu.univento.teamvento.utils.PlotManager;
|
|
|
|
import net.minecraft.server.v1_10_R1.EnumParticle;
|
2016-04-30 07:38:37 +02:00
|
|
|
import org.bukkit.Bukkit;
|
2016-07-09 13:19:56 +02:00
|
|
|
import org.bukkit.Material;
|
2016-04-30 07:38:37 +02:00
|
|
|
import org.bukkit.event.EventHandler;
|
|
|
|
import org.bukkit.event.Listener;
|
|
|
|
import org.bukkit.event.player.PlayerJoinEvent;
|
|
|
|
import org.bukkit.event.player.PlayerQuitEvent;
|
2016-07-09 13:19:56 +02:00
|
|
|
import org.bukkit.inventory.ItemStack;
|
|
|
|
import org.bukkit.inventory.meta.ItemMeta;
|
|
|
|
|
|
|
|
import java.util.HashMap;
|
2016-04-30 07:38:37 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @author joethei
|
|
|
|
* @version 0.1
|
|
|
|
*/
|
|
|
|
public class JoinQuit implements Listener {
|
|
|
|
|
2016-07-09 13:19:56 +02:00
|
|
|
static HashMap<CustomPlayer, Hologram> holograms = new HashMap<>();
|
|
|
|
|
2016-04-30 07:38:37 +02:00
|
|
|
@EventHandler
|
|
|
|
public void onJoin(PlayerJoinEvent e) {
|
|
|
|
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
|
|
|
|
e.setJoinMessage(null);
|
2016-07-09 13:19:56 +02:00
|
|
|
p.resetAttackSpeed();
|
|
|
|
if(PlotManager.hasPlot(p)) {
|
|
|
|
ItemStack menu = new ItemStack(Material.WATCH);
|
|
|
|
ItemMeta menuMeta = menu.getItemMeta();
|
|
|
|
menuMeta.setDisplayName("§eErweiterungen");
|
|
|
|
menu.setItemMeta(menuMeta);
|
|
|
|
p.getInventory().setItem(8, menu);
|
|
|
|
}
|
|
|
|
if(p.getRank() == Rank.Builder || p.getRank() == Rank.SrBuilder)
|
2016-04-30 07:38:37 +02:00
|
|
|
Bukkit.broadcastMessage(p.getColor() + p.getDisplayName() + " §8hat den Server §bbetreten");
|
2016-07-09 13:19:56 +02:00
|
|
|
else
|
2016-04-30 07:38:37 +02:00
|
|
|
p.teleport(Config.readLocation("Build.Locs.Spawn"));
|
2016-07-09 13:19:56 +02:00
|
|
|
|
|
|
|
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(text, Config.readLocation("Build.Locs.Holo"));
|
|
|
|
holograms.put(p, holo);
|
|
|
|
holo.showPlayer(p);
|
2016-04-30 07:38:37 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@EventHandler
|
|
|
|
public void onQuit(PlayerQuitEvent e) {
|
|
|
|
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
|
2016-07-09 13:19:56 +02:00
|
|
|
e.setQuitMessage(null);
|
|
|
|
holograms.remove(p);
|
|
|
|
if(p.getRank() == Rank.Builder || p.getRank() == Rank.SrBuilder)
|
|
|
|
Bukkit.broadcastMessage(p.getColor() + p.getDisplayName() + " §8hat den Server §cverlassen");
|
2016-04-30 07:38:37 +02:00
|
|
|
}
|
|
|
|
}
|