Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите [1.5.2-1.8] Чтение YMLConfig

Тема в разделе "Разработка плагинов для новичков", создана пользователем tyumencev2004, 17 ноя 2015.

  1. Автор темы
    tyumencev2004

    tyumencev2004 Активный участник Пользователь

    Баллы:
    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 + "!");
        }
    }
    
    
     
    Последнее редактирование: 17 ноя 2015
  2. Хостинг MineCraft
    <
  3. Автор темы
    tyumencev2004

    tyumencev2004 Активный участник Пользователь

    Баллы:
    66
    Вопрос "отпал". "Очень хорошо" помогли... Конечный код:
    Код:
    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 + "!");
        }
    }
    
     
  4. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Отрадно смотреть, как люди сами побеждают свои проблемы :)
     
  5. Автор темы
    tyumencev2004

    tyumencev2004 Активный участник Пользователь

    Баллы:
    66
    Есть такое :)
     

Поделиться этой страницей