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

59 lines
1.9 KiB
Java

/*
* Copyright (c) 2017 univento.eu - All rights reserved
* You are not allowed to use, distribute or modify this code
*/
package eu.univento.core.listeners;
import eu.univento.commons.player.rank.Rank;
import eu.univento.commons.player.language.MessageConstant;
import eu.univento.core.Core;
import eu.univento.core.api.player.CustomPlayer;
import org.bukkit.Bukkit;
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 commons message
* @param e PlayerCommandPreprocessEvent
*/
@EventHandler(priority = EventPriority.NORMAL)
public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent e) {
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
if (!e.isCancelled()) {
String cmd = e.getMessage().split(" ")[0];
HelpTopic topic = Bukkit.getServer().getHelpMap().getHelpTopic(cmd);
if (topic == null) {
p.sendMessage(p.getDatabasePlayer().getLanguage().getMessage(MessageConstant.COMMAND_NOT_FOUND));
e.setCancelled(true);
}
}
String cmd = e.getMessage();
if(cmd.equalsIgnoreCase("/rl") || cmd.equalsIgnoreCase("/reload")) {
if(p.getDatabasePlayer().isAllowed(Rank.Admin)) {
e.setCancelled(true);
Bukkit.getScheduler().scheduleSyncDelayedTask(Core.getInstance(), () -> {
for(CustomPlayer players : Core.getOnlinePlayers()) {
players.connectToServer("Lobby01");
}
Bukkit.spigot().restart();
}, 100L);
}else {
p.sendMessage(p.getDatabasePlayer().getLanguage().getMessage(MessageConstant.COMMAND_NO_PERMS));
}
}
}
}