Core/src/eu/univento/core/listeners/Commands.java

61 lines
1.9 KiB
Java
Raw Normal View History

2015-12-06 11:04:47 +01:00
package eu.univento.core.listeners;
2015-12-05 12:26:39 +01:00
2016-02-27 09:08:17 +01:00
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;
2015-12-05 12:26:39 +01:00
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
*/
2016-02-27 09:08:17 +01:00
@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();
2015-12-05 12:26:39 +01:00
if(cmd.equalsIgnoreCase("/rl") || cmd.equalsIgnoreCase("/reload")) {
if(p.isAllowed(Ranks.Admin)) {
e.setCancelled(true);
2016-02-27 09:08:17 +01:00
Bukkit.broadcastMessage(msgs.PREFIX() + "§cWarning ! Server will be restarted");
2015-12-05 12:26:39 +01:00
Bukkit.getScheduler().scheduleSyncDelayedTask(Core.getInstance(), new Runnable() {
@Override
public void run() {
for(Player players : Bukkit.getOnlinePlayers()) {
2016-02-27 09:08:17 +01:00
players.kickPlayer("§cServer has been restarted \n §6Please join again at: \n §bplay§5.§6univento§5.§aeu");
2015-12-05 12:26:39 +01:00
}
2016-02-27 09:08:17 +01:00
Bukkit.getServer().spigot().restart();
2015-12-05 12:26:39 +01:00
}
2016-02-27 09:08:17 +01:00
2015-12-05 12:26:39 +01:00
}, 100L);
}else {
2016-02-27 09:08:17 +01:00
p.sendMessage(msgs.NO_PERMS());
2015-12-05 12:26:39 +01:00
}
}
2016-02-27 09:08:17 +01:00
}
2015-12-05 12:26:39 +01:00
}