- Баллы
- 66
Пишу плагин, пытаюсь читать StringList - а вот хрен мне. Блокирую команды по этому стринглисту, а он не читается. В commandCheck всегда false. Хаос! Я не слишком-уж гений в Java что бы руководить хаосом >_< Бета-код:
Код:
package mc.moofmonkey;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.World;
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.plugin.java.JavaPlugin;
public class Main extends JavaPlugin implements Listener {
final String s = "\"";
final String[] DefBlockCmds = { "/pl", "/plugins", "/help", "/fp", "//", "/?" };
public boolean commandCheck(String command) {
for (String s : getConfig().getStringList("commands.blacklist"))
if (command.contains(s))
return true;
return false;
}
public String getDate() {
final DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy hh:mm a");
final Date date = new Date();
return dateFormat.format(date);
}
public void notifyPlayer(String playername, String command) {
for (final Player player : Bukkit.getServer().getOnlinePlayers())
if (player.isOp())
player.sendMessage(ChatColor.BLUE + "[" + ChatColor.RED + "MoofPl" + ChatColor.BLUE + "] "
+ ChatColor.GOLD + playername + ": " + ChatColor.WHITE + command);
}
@Override
public void onEnable() {
Bukkit.getPluginManager().registerEvents(this, this);
if (!getConfig().contains("Commands.BlackList"))
getConfig().addDefault("Commands.BlackList", DefBlockCmds);
getConfig().options().copyDefaults(true);
saveConfig();
}
@EventHandler(priority = EventPriority.LOW)
public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) throws Throwable {
final Player player = event.getPlayer();
final String name = event.getPlayer().getName();
final Location location = player.getLocation();
final int xLocation = (int) location.getX();
final int yLocation = (int) location.getY();
final int zLocation = (int) location.getZ();
final World world = location.getWorld();
final String ipAddress = player.getAddress().getAddress().getHostAddress();
final String worldName = world.getName();
final String date = getDate();
final String[] args = event.getMessage().split(" ");
Bukkit.getServer().getConsoleSender()
.sendRawMessage("Player: \"" + name + "\" has entered a command: \"" + args[0]
+ "\". Here's coordinates - X: " + xLocation + " Y: " + yLocation + " Z: " + zLocation
+ " World: " + worldName + " Date/Time: " + date + " IP: " + ipAddress);
if (commandCheck(args[0])) {
event.setCancelled(true);
SendErrMSG(player, args[0]);
}
}
private void SendErrMSG(Player player, String command) {
final String s = "\"";
player.sendMessage(ChatColor.RED + "Sowwy, you don't have permissions to execute command " + s + ChatColor.AQUA
+ command + ChatColor.RED + s + "!");
}
}
Последнее редактирование:
