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

45 lines
1.6 KiB
Java

package eu.univento.lobby.listeners;
import eu.univento.core.api.languages.Messages;
import eu.univento.core.api.player.CustomPlayer;
import eu.univento.core.api.player.Rank;
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 0.1
*/
public class StatusSigns implements Listener{
@EventHandler
public void onSignChange(SignChangeEvent e) {
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
if(e.getLine(0).equals("[join]") && p.isAllowed(Rank.Developer)) {
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());
p.connectToServer(sign.getServerName());
}
}
}
}
}