45 lines
1.6 KiB
Java
45 lines
1.6 KiB
Java
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 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.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());
|
|
p.connectToServer(sign.getServerName());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |