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

Проверить, выполнил ли игрок команду /...

Тема в разделе "Разработка плагинов для новичков", создана пользователем xDark, 25 июн 2016.

Статус темы:
Закрыта.
  1. Автор темы
    xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Здравствуйте, форумчане! Не так давно начал писать плагины на разный функционал, и вот решил с ивентами пробовать, так вот, как проверить, выполнил ли игрок команду /....?
    Код плагина:
    Код:
    package ru.xDark.xAntiHackEvent.MAIN;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.block.Block;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.BlockPlaceEvent;
    import org.bukkit.event.player.PlayerCommandPreprocessEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    import net.minecraft.server.v1_5_R3.CommandAbstract;
    
    public class XMAINCLASS extends JavaPlugin implements Listener {
        @Override
        public void onEnable() {
            Bukkit.getServer().getPluginManager().registerEvents(this, this);
            System.out.println("xAntiHackEvent enabled!");
            if (Bukkit.getServer().getPluginManager().getPlugin("PermissionsEx") !=null ) {
                System.out.println("[xAntiHackEvent] PermissionsEx found!!");
            }else{
                System.out.println("[xAntiHackEvent] PermissionsEx not found! Plugin disabled!");
                Bukkit.getServer().getPluginManager().disablePlugin(this);
            }
        }
        @Override
        public void onDisable() {
            System.out.println("xAntiHackEvent disabled!");
        }
        @EventHandler
        public void onCommand(PlayerCommandPreprocessEvent event)
        {
            Player p = event.getPlayer();
          
            if (p.performCommand("global"));
            {
                event.setCancelled(true);
                p.sendMessage("Данная команда заблокирована! Используйте консоль!");
            }
        }
        @EventHandler
        public void onPlace(BlockPlaceEvent event)
        {
            Player p = event.getPlayer();
            Block b = (Block) event.getBlock();
          
            if (b.getType() == Material.TNT) {
                b.setType(Material.AIR);
                p.sendMessage(ChatColor.RED + "Данный блок запрещен!");
                event.setCancelled(true);
            }
        }
    }
    
    Заранее спасибо.
     
  2. Хостинг MineCraft
    <
  3. DiamondDen

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

    Баллы:
    76
    Skype:
    danil_20034
    Имя в Minecraft:
    DiamondDen
    p.performCommand("global") -> event.getMessage().startsWith("/global")
     
  4. Автор темы
    xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Нит, не помогло.
    code:
    Код:
    package ru.xDark.xAntiHackEvent.MAIN;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.block.Block;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.BlockPlaceEvent;
    import org.bukkit.event.player.PlayerCommandPreprocessEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    import net.minecraft.server.v1_5_R3.CommandAbstract;
    
    public class XMAINCLASS extends JavaPlugin implements Listener {
        @Override
        public void onEnable() {
            Bukkit.getServer().getPluginManager().registerEvents(this, this);
            System.out.println("xAntiHackEvent enabled!");
            if (Bukkit.getServer().getPluginManager().getPlugin("PermissionsEx") !=null ) {
                System.out.println("[xAntiHackEvent] PermissionsEx found!!");
            }else{
                System.out.println("[xAntiHackEvent] PermissionsEx not found! Plugin disabled!");
                Bukkit.getServer().getPluginManager().disablePlugin(this);
            }
        }
        @Override
        public void onDisable() {
            System.out.println("xAntiHackEvent disabled!");
        }
        @EventHandler
        public void onCommand(PlayerCommandPreprocessEvent event)
        {
            Player p = event.getPlayer();
          
            if (event.getMessage().startsWith("/global"));
            {
                p.sendMessage("Данная команда заблокирована! Используйте консоль!");
                event.setCancelled(true);
            }
        }
        @EventHandler
        public void onPlace(BlockPlaceEvent event)
        {
            Player p = event.getPlayer();
            Block b = (Block) event.getBlock();
          
            if (b.getType() == Material.TNT) {
                b.setType(Material.AIR);
                p.sendMessage(ChatColor.RED + "Данный блок запрещен!");
                event.setCancelled(true);
            }
        }
    }
    
     
  5. DiamondDen

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

    Баллы:
    76
    Skype:
    danil_20034
    Имя в Minecraft:
    DiamondDen
    1. if (event.getMessage().startsWith("/global"));
    2. {
    3. p.sendMessage("Данная команда заблокирована! Используйте консоль!");
    4. event.setCancelled(true);
    5. }
    [DOUBLEPOST=1466866707,1466866676][/DOUBLEPOST]; - убери....
     
  6. Автор темы
    xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Pasiba. Тема закрыта.
     
Статус темы:
Закрыта.

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