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

Помогите Удаление ключа из конфига.

Discussion in 'Разработка плагинов для новичков' started by Novichock, Jul 6, 2016.

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

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

    Trophy Points:
    76
    Skype:
    pavel.batalov1
    Имею вот такой конфиг:
    Code:
    tasks:
      task1:
        kill: ZOMBIE
        count: '5'
        reward: '100'
      task2:
        kill: ZOMBIE
        count: '5'
        reward: '100'
      task3:
        break: DIAMOND_ORE
        count: '-70'
        reward: '250'
    
    Возможно ли как-то удалить ключ "task2" вместе с его содержимым,не используя циклы?
     
  2. Хостинг MineCraft
    <
  3. Mr_RoboMan

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

    Trophy Points:
    123
    set("tasks.task2", null)
     
  4. Автор темы
    Novichock

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

    Trophy Points:
    76
    Skype:
    pavel.batalov1
    Появилась ошибка в консоле:
    Code:
    [16:50:18] [Server thread/ERROR]: Could not pass event BlockBreakEvent to DailyTasks v0.1
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:509) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:494) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.PlayerInteractManager.breakBlock(PlayerInteractManager.java:264) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.PlayerInteractManager.dig(PlayerInteractManager.java:118) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:552) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.PacketPlayInBlockDig.a(PacketPlayInBlockDig.java:41) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.PacketPlayInBlockDig.handle(PacketPlayInBlockDig.java:65) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:186) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:734) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
    Caused by: java.lang.NumberFormatException: null
        at java.lang.Integer.parseInt(Unknown Source) ~[?:1.8.0_91]
        at java.lang.Integer.valueOf(Unknown Source) ~[?:1.8.0_91]
        at ru.Novichock.DailyTasks.EvListen.onBreak(EvListen.java:70) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_91]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_91]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_91]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_91]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        ... 15 more
    
     
  5. Mr_RoboMan

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

    Trophy Points:
    123
    at ru.Novichock.DailyTasks.EvListen.onBreak(EvListen.java:70) ~[?:?][DOUBLEPOST=1467806903,1467806867][/DOUBLEPOST]СорЭ, курсы Хогвардса с удаленным чтением кода я только начал...
     
  6. Автор темы
    Novichock

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

    Trophy Points:
    76
    Skype:
    pavel.batalov1
    вот этот евент:
    Code:
        @EventHandler
        public void onBreak(BlockBreakEvent e){
            File datap = new File(plugin.getDataFolder() + File.separator + "player_data"+ File.separator+e.getPlayer().getName()+".yml");
            YamlConfiguration config = YamlConfiguration.loadConfiguration(datap);
            for(String key : config.getConfigurationSection("tasks").getKeys(false)){
                if(config.contains("tasks."+key+".break")){
                    if(Material.getMaterial(config.getString("tasks."+key+".break"))==e.getBlock().getType()){
                        config.set("tasks."+key+".count", String.valueOf((Integer.valueOf(config.getString("tasks."+key+".count"))-1)));
                         if((Integer.valueOf(config.getString("tasks."+key+".count")))==0){
                             config.set("tasks."+key, null);
                             try {
                                Economy.setMoney(e.getPlayer().getName(), Economy.getMoney(e.getPlayer().getName())+Integer.valueOf(config.getString("tasks."+key+".reward")));
                            } catch (NoLoanPermittedException e1) {
                                e1.printStackTrace();
                            } catch (UserDoesNotExistException e1) {
                                e1.printStackTrace();
                            }
                         }
                        try {
                            config.save(datap);
                            } catch (IOException e1) {e1.printStackTrace();}
                    }
                }
            }
        }
    [DOUBLEPOST=1467807130,1467807049][/DOUBLEPOST]Ошибка пропадает когда закоменчиваю 10 строку.
     
  7. Dereku

    Dereku Старожил

    Trophy Points:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
     
  8. Автор темы
    Novichock

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

    Trophy Points:
    76
    Skype:
    pavel.batalov1
    Что-то здесь не так?Если что я count обновляю до 5 для проверки.[DOUBLEPOST=1467809925,1467808542][/DOUBLEPOST]Ошибку сам нашёл,я после того как удалил ключ,пытался из него считать кое-какие переменные из-за чего и появилась ошибка.
     

Share This Page