61 lines
1.9 KiB
Java
61 lines
1.9 KiB
Java
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());
|
|
}
|
|
}
|
|
}
|
|
|
|
} |