package eu.univento.core.listeners; import eu.univento.core.Core; import eu.univento.core.api.languages.Messages; import eu.univento.core.api.player.CustomPlayer; import eu.univento.core.api.player.Perms.Ranks; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.help.HelpTopic; /** * commands * @author joethei * @version 1.0 */ public class Commands implements Listener{ /** * prints unknown command message * @param e PlayerCommandPreprocessEvent */ @EventHandler(priority = EventPriority.NORMAL) public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent e) { CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer()); Messages msgs = new Messages(p); if (!e.isCancelled()) { String cmd = e.getMessage().split(" ")[0]; HelpTopic topic = Bukkit.getServer().getHelpMap().getHelpTopic(cmd); if (topic == null) { p.sendMessage(msgs.COMMAND_NOT_FOUND()); e.setCancelled(true); } } String cmd = e.getMessage(); if(cmd.equalsIgnoreCase("/rl") || cmd.equalsIgnoreCase("/reload")) { if(p.isAllowed(Ranks.Admin)) { e.setCancelled(true); Bukkit.broadcastMessage(msgs.PREFIX() + "§cWarning ! Server will be restarted"); Bukkit.getScheduler().scheduleSyncDelayedTask(Core.getInstance(), new Runnable() { @Override public void run() { for(Player players : Bukkit.getOnlinePlayers()) { players.kickPlayer("§cServer has been restarted \n §6Please join again at: \n §bplay§5.§6univento§5.§aeu"); } Bukkit.getServer().spigot().restart(); } }, 100L); }else { p.sendMessage(msgs.NO_PERMS()); } } } }