Main.java
package me.mrpowergamerbr.powercomandos;
/*
* Códigozinho criado por MrPowerGamerBR
*
* Tópico: http://gamersboard.com.br/topic/6297-comandos-liberados/
*
* MrPowerGamerBR Blog: http://mrpowergamerbr.blogspot.com.br
* SparklyPower: http://sparklypower.net
*/
import java.util.ArrayList;
import me.mrpowergamerbr.powercomandos.listeners.CommandListener;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin implements Listener {
public static ArrayList<String> meusComandos = new ArrayList<String>();
@SuppressWarnings("unchecked")
@Override
public void onEnable() {
saveDefaultConfig();
meusComandos = (ArrayList<String>) getConfig().getList("Config.Comandos");
Bukkit.getPluginManager().registerEvents(new CommandListener(), this);
}
@Override
public void onDisable() {
}
@SuppressWarnings("unchecked")
public boolean onCommand(final CommandSender sender, Command command, String label, String[] args) {
if (command.getName().equalsIgnoreCase("powercomandosreload")) {
if (sender.hasPermission("wow.suchpermission.veryexample")) {
meusComandos = (ArrayList<String>) getConfig().getList("Config.Comandos");
sender.sendMessage("Config recarregada!");
return true;
} else {
sender.sendMessage("Sem Permissão!");
return true;
}
}
return false;
}
}
CommandListener.java
package me.mrpowergamerbr.powercomandos.listeners;
/*
* Códigozinho criado por MrPowerGamerBR
*
* Tópico: http://gamersboard.com.br/topic/6297-comandos-liberados/
*
* MrPowerGamerBR Blog: http://mrpowergamerbr.blogspot.com.br
* SparklyPower: http://sparklypower.net
*/
import me.mrpowergamerbr.powercomandos.Main;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
public class CommandListener implements Listener {
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onCommand(PlayerCommandPreprocessEvent e) {
for (String s : Main.meusComandos) {
if (e.getMessage().toLowerCase().startsWith(s)) {
return;
}
}
e.setCancelled(true);
e.getPlayer().sendMessage("Você não pode enviar este comando!");
return;
}
}
config.yml
Config:
Comandos:
- "/wow"
- "/login"
- "/register"
- "/msg"
- "/online"
Porque vocês ficam colocando para ficar pegando a config TODA HORA que alguém escreve um comando? Vocês querem que o TPS dos seus Servidores fiquem em somente um dígito feras?
Antes de reclamar que não funciona, eu TESTEI e FUNCIONOU no Spigot 1.7.10, se não funciona na 1.5.2... Bem, sabia que já lançaram a 1.8?
EDIT: 600 posts!