package eu.univento.lobby.listeners; import eu.univento.commons.player.Rank; import eu.univento.core.api.languages.Messages; import eu.univento.core.api.player.CustomPlayer; import eu.univento.lobby.utils.StatusSign; import eu.univento.lobby.utils.StatusSignManager; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.block.SignChangeEvent; import org.bukkit.event.player.PlayerInteractEvent; /** * @author joethei * @version 1.0 */ public class StatusSigns implements Listener{ @EventHandler public void onSignChange(SignChangeEvent e) { CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer()); if(e.getLine(0).equals("[join]") && p.getDatabasePlayer().isAllowed(Rank.SrDeveloper)) { StatusSignManager.addSign(e.getLine(1), e.getBlock().getLocation()); Messages msgs = new Messages(p); p.sendMessage(msgs.Lobby_SET_SIGN()); } } @EventHandler public void onInteract(PlayerInteractEvent e) { CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer()); if(e.getAction() == Action.RIGHT_CLICK_BLOCK) { Block block = e.getClickedBlock(); if(block.getType() == Material.WALL_SIGN) { if(StatusSignManager.isStatusSign(block.getLocation())) { StatusSign sign = StatusSignManager.getSign(block.getLocation()); assert sign != null; p.connectToServer(sign.getServerName()); } } } } }