Помогите Не работает конфиг!

  • Автор темы Автор темы Sergeo
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Sergeo

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Solomka
Хочу чтобы плагин получал айдишники предметов которые нужно блокать, но он выдает ошибку в консолько, когда я что-либо ставлю(именно что было указанно в config.yml к примеру алмазный блок

лог ошибки
PHP:
[09:42:33 ERROR]: Could not pass event BlockPlaceEvent to BlockedBlocks v1.1
org.bukkit.event.EventException: null
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:500) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:485) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callBlockPlaceEvent(CraftEventFactory.java:150) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.ItemStack.placeItem(ItemStack.java:207) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.PlayerInteractManager.a(PlayerInteractManager.java:505) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:953) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:37) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:1) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_51]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_51]
        at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_51]
Caused by: java.lang.NullPointerException
        at command.main.BlockedCommands.onPlace(BlockedCommands.java:241) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_51]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_51]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_51]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        ... 18 more


Сам код который получает конфиг
Код:
    @EventHandler
   
    public void onPlace(BlockPlaceEvent event) {
        Player p = event.getPlayer();
        Block b = (Block) event.getBlock();
        @SuppressWarnings("unused")
        String s = plugin.getConfig().getString("blocks.id");

            b.setType(Material.AIR);
            if (!p.getPlayer().isOp() || p.getPlayer().hasPermission("UltimateBlocker.Block")) {
                p.playSound(p.getLocation(), Sound.BLOCK_NOTE_PLING, 100.0F, 100.0F);
            }
            p.sendMessage(ChatColor.GRAY + p.getName() + ChatColor.DARK_RED + " у вас нет разрешения " + ChatColor.YELLOW
                    + "UltimateBlocker.Block" + ChatColor.DARK_RED + " чтобы разместить данный блок!");
            p.getInventory().setItemInMainHand(null);
            return;

    }
}


config.yml

Код:
blocks:
  id: DIAMOND_BLOCK
 
Почему у тебя конструктор класса является методом? Убери void.
 
Почему у тебя конструктор класса является методом? Убери void.
Ошибка пропала, но теперь алмазный блок просто ставиться... Хотя я указал, что он должен заменятся на воздух


Теперь при запуске ошибка


[10:10:52 ERROR]: Could not load 'plugins\BlockedCommands.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Abnormal plugin type
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:94) ~[spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:327) ~[spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:248) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.java:305) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.reload(CraftServer.java:750) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.Bukkit.reload(Bukkit.java:525) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:27) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:648) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchServerCommand(CraftServer.java:634) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.DedicatedServer.aP(DedicatedServer.java:444) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:407) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_51]
Caused by: java.lang.InstantiationException: command.main.BlockedCommands
at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_51]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:90) ~[spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
... 15 more
Caused by: java.lang.NoSuchMethodException: command.main.BlockedCommands.<init>()
at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_51]
at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_51]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:90) ~[spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
... 15 more
 
Ошибка пропала, но теперь алмазный блок просто ставиться... Хотя я указал, что он должен заменятся на воздух


Теперь при запуске ошибка


[10:10:52 ERROR]: Could not load 'plugins\BlockedCommands.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Abnormal plugin type
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:94) ~[spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:327) ~[spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:248) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.java:305) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.reload(CraftServer.java:750) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.Bukkit.reload(Bukkit.java:525) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:27) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:648) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchServerCommand(CraftServer.java:634) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.DedicatedServer.aP(DedicatedServer.java:444) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:407) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_51]
Caused by: java.lang.InstantiationException: command.main.BlockedCommands
at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_51]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:90) ~[spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
... 15 more
Caused by: java.lang.NoSuchMethodException: command.main.BlockedCommands.<init>()
at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_51]
at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_51]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:90) ~[spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
... 15 more
Как ты регистрируешь его в главном классе плагина?
 
Как ты регистрируешь его в главном классе плагина?
Вот весь код
Чтобы не скидывать по кускам
Код:
package command.main;

import java.io.File;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.Sound;
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.Action;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.server.TabCompleteEvent;
import org.*********ventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;

import command.main.BlockedCommands;

public class BlockedCommands extends JavaPlugin implements Listener {

    // ВКЛ,ВЫКЛ ОБНАРУЖЕНИЕ ПЛАГИНА ПЕКС

    public void onEnable() {
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
        if (Bukkit.getServer().getPluginManager().getPlugin("PermissionsEx") != null) {
            System.out.println(" [UltimateBlocker] PermissionsEx found!!");
        } else {
            System.out.println("[UltimateBlocker] PermissionsEx not found! Plugin BLOCKED-BLOCK disable!");
            Bukkit.getServer().getPluginManager().disablePlugin(this);

            getLogger().info("/. // / //. / .//");
            getLogger().info("// ./ .// / // ./");
            getLogger().info("!|!|!|!|!|!|!|!|!|!|!");
            getLogger().info("");
            getLogger().info("[!] BLOCKED-BLOCK enable :> [!]");
            getLogger().info("=>  Version: v1.0");
            getLogger().info("=>  Author: Solomka");
            getLogger().info("=> vk.com/cergeianonim56");
            getLogger().info("");
            getLogger().info("Especially for Phoenix-Grief");
            getLogger().info("!|!|!|!|!|!|!|!|!|!|!");
            getLogger().info("/. // / //. / .//");
            getLogger().info("// ./ .// / // ./");
           
            File config = new File(getDataFolder() + File.separator + "config.yml");
            if(!config.exists()){
                getLogger().info("Creating new ,file config...");
                getConfig().options().copyDefaults(true);
                saveDefaultConfig();
            }
        }
    }

    public void onDisable() {
        getLogger().info("[BLOCKED-BLOCK] BLOCKED-BLOCK disable!");

        getLogger().info("/. // / //. / .//");
        getLogger().info("// ./ .// / // ./");
        getLogger().info("!|!|!|!|!|!|!|!|!|!|!");
        getLogger().info("");
        getLogger().info("[!] UltimateBlocker disable :< [!]");
        getLogger().info("=>  Version: v1.0");
        getLogger().info("=>  Author: Solomka");
        getLogger().info("=> vk.com/cergeianonim56");
        getLogger().info("");
        getLogger().info("");
        getLogger().info("!|!|!|!|!|!|!|!|!|!|!");
        getLogger().info("/. // / //. / .//");
        getLogger().info("// ./ .// / // ./");
    }
   

    private BlockedCommands plugin;
   
    public BlockedCommands(BlockedCommands plugin) {
        this.plugin = plugin;
    }
   
    @EventHandler

    // ЗАПРЕТ ТАБ-ЗАПОЛНЕНИЯ, ЕСЛИ НЕТ ОП ИЛИ ПРАВА

    public void onPlayerUseTab(TabCompleteEvent e) {
        if (!e.getSender().hasPermission("UltimateBlocker.complete") || !e.getSender().isOp()) {
            e.getSender().sendMessage("" + ChatColor.BLUE + ChatColor.BOLD
                    + "Таб-заполнение запрещено или у вас нет права " + ChatColor.YELLOW + "UltimateBlocker.complete");
            e.setCancelled(true);
        }
    }

    @EventHandler
    public boolean onPlayerInteract(PlayerInteractEvent e) {

        Player p = e.getPlayer();

        // УСЛОВИЯ, ПРИ КОТОРЫХ НЕ ДЕЙСТВУЕТ ЗАПРЕТ

        if (p.hasPermission("UltimateBlocker.Eggs") || p.getPlayer().isOp()) {
            return true;
        }

        // ПРОВЕРКА НАЖАТИЯ

        if (!e.hasItem())
            return true;
        if ((e.getAction() != Action.RIGHT_CLICK_AIR) && (e.getAction() != Action.RIGHT_CLICK_BLOCK))
            return true;

        ItemStack itemStack = e.getItem();

        // ПРЕДМЕТ КОТОРЫЙ БЛОКИРУЕТСЯ

       
        if (itemStack.getType() == Material.MONSTER_EGG) {

            // ЕСЛИ НЕТ ПРАВА, ТО ВЫВОДИМ СООБЩЕНИЕ      

            if (!p.hasPermission("UltimateBlocker.Eggs") || !e.getPlayer().isOp()) {
                p.getInventory().setItemInMainHand(null);
                p.sendMessage(ChatColor.GRAY + p.getName() + ChatColor.DARK_RED + " у вас нет права " + ChatColor.BOLD
                        + ChatColor.YELLOW + "UltimateBlocker.Eggs" + ChatColor.DARK_RED + " ," + ChatColor.DARK_RED
                        + " для того чтобы спавнить мобов!");

                // ПРОИГРОВАНИЕ ЗВУКА, ЕСЛИ НЕТУ ПРАВА НА ИСПОЛЬЗОВАНИЕ ЯИЦ

                if (!p.getPlayer().isOp() || p.getPlayer().hasPermission("UltimateBlocker.Eggs")) {
                    p.playSound(p.getLocation(), Sound.ENTITY_ENDERMEN_SCREAM, 100.0F, 100.0F);
                    e.setCancelled(true);
                    return true;
                }

            }
        }
        return true;
    }

   
   
    @EventHandler
    public boolean onPlayerInteract1(PlayerInteractEvent e) {

        Player p = e.getPlayer();

        // УСЛОВИЯ, ПРИ КОТОРЫХ НЕ ДЕЙСТВУЕТ ЗАПРЕТ

        if (p.hasPermission("UltimateBlocker.Block") || p.getPlayer().isOp()) {
            return true;
        }

        // ПРОВЕРКА НАЖАТИЯ

        if (!e.hasItem())
            return true;
        if ((e.getAction() != Action.RIGHT_CLICK_AIR) && (e.getAction() != Action.RIGHT_CLICK_BLOCK))
            return true;

        ItemStack itemStack = e.getItem();

        // ПРЕДМЕТ КОТОРЫЙ БЛОКИРУЕТСЯ

       
        if (itemStack.getType() == Material.LAVA_BUCKET) {

            // ЕСЛИ НЕТ ПРАВА, ТО ВЫВОДИМ СООБЩЕНИЕ      

            if (!p.hasPermission("UltimateBlocker.Block") || !e.getPlayer().isOp()) {
                p.getInventory().setItemInMainHand(null);
                p.sendMessage(ChatColor.GRAY + p.getName() + ChatColor.DARK_RED + " у вас нет права " + ChatColor.BOLD
                        + ChatColor.YELLOW + "UltimateBlocker.Block" + ChatColor.DARK_RED + " ," + ChatColor.DARK_RED
                        + " для того чтобы использовать ведро лавы!");

                // ПРОИГРОВАНИЕ ЗВУКА, ЕСЛИ НЕТУ ПРАВА НА ИСПОЛЬЗОВАНИЕ ЯИЦ

                if (!p.getPlayer().isOp() || p.getPlayer().hasPermission("UltimateBlocker.Block")) {
                    p.playSound(p.getLocation(), Sound.ENTITY_ENDERMEN_SCREAM, 100.0F, 100.0F);
                    e.setCancelled(true);
                    return true;
                }

            }
        }
        return true;
    }
   
    @EventHandler
    public boolean onPlayerInteract11(PlayerInteractEvent e) {

        Player p = e.getPlayer();

        // УСЛОВИЯ, ПРИ КОТОРЫХ НЕ ДЕЙСТВУЕТ ЗАПРЕТ

        if (p.hasPermission("UltimateBlocker.Block") || p.getPlayer().isOp()) {
            return true;
        }

        // ПРОВЕРКА НАЖАТИЯ

        if (!e.hasItem())
            return true;
        if ((e.getAction() != Action.RIGHT_CLICK_AIR) && (e.getAction() != Action.RIGHT_CLICK_BLOCK))
            return true;

        ItemStack itemStack = e.getItem();

        // ПРЕДМЕТ КОТОРЫЙ БЛОКИРУЕТСЯ

       
        if (itemStack.getType() == Material.WATER_BUCKET) {

            // ЕСЛИ НЕТ ПРАВА, ТО ВЫВОДИМ СООБЩЕНИЕ      

            if (!p.hasPermission("UltimateBlocker.Block") || !e.getPlayer().isOp()) {
                p.getInventory().setItemInMainHand(null);
                p.sendMessage(ChatColor.GRAY + p.getName() + ChatColor.DARK_RED + " у вас нет права " + ChatColor.BOLD
                        + ChatColor.YELLOW + "UltimateBlocker.Block" + ChatColor.DARK_RED + " ," + ChatColor.DARK_RED
                        + " для того чтобы использовать ведро c водой!");

                // ПРОИГРОВАНИЕ ЗВУКА, ЕСЛИ НЕТУ ПРАВА НА ИСПОЛЬЗОВАНИЕ ЯИЦ

                if (!p.getPlayer().isOp() || p.getPlayer().hasPermission("UltimateBlocker.Block")) {
                    p.playSound(p.getLocation(), Sound.ENTITY_ENDERMEN_SCREAM, 100.0F, 100.0F);
                    e.setCancelled(true);
                    return true;
                }

            }
        }
        return true;
    }
   
   
   
    @SuppressWarnings("unused")
    @EventHandler
   
    public void onPlace(BlockPlaceEvent event) {
        Player p = event.getPlayer();
        Block b = (Block) event.getBlock();
        String s = plugin.getConfig().getString("blocks.id");

            b.setType(Material.AIR);
            if (!p.getPlayer().isOp() || p.getPlayer().hasPermission("UltimateBlocker.Block")) {
                p.playSound(p.getLocation(), Sound.BLOCK_NOTE_PLING, 100.0F, 100.0F);
            }
            p.sendMessage(ChatColor.GRAY + p.getName() + ChatColor.DARK_RED + " у вас нет разрешения " + ChatColor.YELLOW
                    + "UltimateBlocker.Block" + ChatColor.DARK_RED + " чтобы разместить данный блок!");
            p.getInventory().setItemInMainHand(null);
            return;
    }
}


Сразу предупреждаю! Код работал исправно, но после попытки создать конфиг, так как это удобнее и можно будет настроить, что и как блокировать. В итоге он упаль
 
Последнее редактирование:
А, так ему конструктор даже не нужен. Зачем ты объявляешь в нем plugin, если можешь использовать getConfig
 
А, так ему конструктор даже не нужен. Зачем ты объявляешь в нем plugin, если можешь использовать getConfig
Друг, можно я тебя поцелую? Это помогло!!!
Только теперь он блокирует все блоки xd

вот код
Код:
    @EventHandler
    
    public void onPlace(BlockPlaceEvent event) {
        Player p = event.getPlayer();
        Block b = (Block) event.getBlock();
        getConfig().getString("blocks.id");

            b.setType(Material.AIR);
            if (!p.getPlayer().isOp() || p.getPlayer().hasPermission("UltimateBlocker.Block")) {
                p.playSound(p.getLocation(), Sound.BLOCK_NOTE_PLING, 100.0F, 100.0F);
            }
            p.sendMessage(ChatColor.GRAY + p.getName() + ChatColor.DARK_RED + " у вас нет разрешения " + ChatColor.YELLOW
                    + "UltimateBlocker.Block" + ChatColor.DARK_RED + " чтобы разместить данный блок!");
            p.getInventory().setItemInMainHand(null);
            return;
    }
}
 
Так у тебя не стоит проверка на блок
 
Так у тебя не стоит проверка на блок
А как получить проверку, то что напишет игрок в кфг? К примеру не алмазный блок, а табличка, как?
И еще проблема... У меня не создается папка с кфг
код
Код:
    @EventHandler
   
    public void onPlace(BlockPlaceEvent event) {
        Player p = event.getPlayer();
        Block b = (Block) event.getBlock();
        getConfig().getString("blocks.id");
       
         if (b.getType() == Material.DIAMOND_BLOCK) {

            b.setType(Material.AIR);
            if (!p.getPlayer().isOp() || p.getPlayer().hasPermission("UltimateBlocker.Block")) {
                p.playSound(p.getLocation(), Sound.BLOCK_NOTE_PLING, 100.0F, 100.0F);
            }
            p.sendMessage(ChatColor.GRAY + p.getName() + ChatColor.DARK_RED + " у вас нет разрешения " + ChatColor.YELLOW
                    + "UltimateBlocker.Block" + ChatColor.DARK_RED + " чтобы разместить данный блок!");
            p.getInventory().setItemInMainHand(null);
            return;
    }
}
}
 
Так у тебя плагин по идее включается, если pex не найден. Вынеси этот кусок кода из else
ikEBPz8.png
 
PHP:
if (Bukkit.getServer().getPluginManager().getPlugin("PermissionsEx") == null) {
    getLogger().info("[UltimateBlocker] PermissionsEx not found! Plugin BLOCKED-BLOCK disable!");
    Bukkit.getServer().getPluginManager().disablePlugin(this);
    return;
}
Bukkit.getServer().getPluginManager().registerEvents(this, this);
getLogger().info(" [UltimateBlocker] PermissionsEx found!!");
getLogger().info("/. // / //. / .//");
getLogger().info("// ./ .// / // ./");
getLogger().info("!|!|!|!|!|!|!|!|!|!|!");
getLogger().info("");
getLogger().info("[!] BLOCKED-BLOCK enable :> [!]");
getLogger().info("=>  Version: v1.0");
getLogger().info("=>  Author: Solomka");
getLogger().info("=> vk.com/cergeianonim56");
getLogger().info("");
getLogger().info("Especially for Phoenix-Grief");
getLogger().info("!|!|!|!|!|!|!|!|!|!|!");
getLogger().info("/. // / //. / .//");
getLogger().info("// ./ .// / // ./");

File config = new File(getDataFolder() + File.separator + "config.yml");
if(!config.exists()){
    getLogger().info("Creating new ,file config...");
    getConfig().options().copyDefaults(true);
    saveDefaultConfig();
}
 
Проверку материала вроде так можно реализовать (не проверял)
PHP:
        if (Material.getMaterial(mat) != null && e.getBlock().getType() == Material.getMaterial(mat)) {
            //TODO
        }
Material.getMaterial(string)
 
Проверку материала вроде так можно реализовать (не проверял)
PHP:
        if (Material.getMaterial(mat) != null && e.getBlock().getType() == Material.getMaterial(mat)) {
            //TODO
        }
Material.getMaterial(string)
Код:
    @EventHandler
    
    public boolean onPlace(BlockPlaceEvent event) {
        Player p = event.getPlayer();
        Block b = (Block) event.getBlock();
        getConfig().getString("blocks.id");
        
        if (Material.getMaterial(mat) != null && event.getBlock().getType() == Material.getMaterial(mat)) {
            return true;
        }

            b.setType(Material.AIR);
            if (!p.getPlayer().isOp() || p.getPlayer().hasPermission("UltimateBlocker.Block")) {
                p.playSound(p.getLocation(), Sound.BLOCK_NOTE_PLING, 100.0F, 100.0F);
            }
            p.sendMessage(ChatColor.GRAY + p.getName() + ChatColor.DARK_RED + " у вас нет разрешения " + ChatColor.YELLOW
                    + "UltimateBlocker.Block" + ChatColor.DARK_RED + " чтобы разместить данный блок!");
            p.getInventory().setItemInMainHand(null);
            return false;
    }
}
так?
 
if (Material.getMaterial(mat) != null && event.getBlock().getType() == Material.getMaterial(mat)) {
return true;
}
так?
Нет. Вставь туда нужный тебе код
PHP:
           b.setType(Material.AIR);
           if (!p.getPlayer().isOp() || p.getPlayer().hasPermission("UltimateBlocker.Block")) {
               p.playSound(p.getLocation(), Sound.BLOCK_NOTE_PLING, 100.0F, 100.0F);
           }
           p.sendMessage(ChatColor.GRAY + p.getName() + ChatColor.DARK_RED + " у вас нет разрешения " + ChatColor.YELLOW
                   + "UltimateBlocker.Block" + ChatColor.DARK_RED + " чтобы разместить данный блок!");
           p.getInventory().setItemInMainHand(null);
           return false;
 
Нет. Вставь туда нужный тебе код
PHP:
            b.setType(Material.AIR);
            if (!p.getPlayer().isOp() || p.getPlayer().hasPermission("UltimateBlocker.Block")) {
                p.playSound(p.getLocation(), Sound.BLOCK_NOTE_PLING, 100.0F, 100.0F);
            }
            p.sendMessage(ChatColor.GRAY + p.getName() + ChatColor.DARK_RED + " у вас нет разрешения " + ChatColor.YELLOW
                    + "UltimateBlocker.Block" + ChatColor.DARK_RED + " чтобы разместить данный блок!");
            p.getInventory().setItemInMainHand(null);
            return;
mat
подсвечивается красным
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх