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

Помогите Почему не создаёт данные в конфиге?

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

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

    Welester Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Welester
    Данные тупо не содаются в конфиге, а когда пишешь комманду, то пишет ошибку.

    Код:
    public class main extends JavaPlugin implements Listener {
       
        private int team;
        private int ongame;
        private int respawntime;
       
        public void onEnable(){
            Bukkit.getServer().getPluginManager().registerEvents(this, this);
            getConfig().options().copyDefaults(true);
            saveDefaultConfig();
           
            BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
           
            if(getConfig().getString("config." + ".team1name") == null){
                getConfig().set("config." + ".team1name", "red");
                getConfig().set("config." + ".team2name", "blue");
               
                getConfig().set("config." + ".respawntime", 10);
                getConfig().set("config." + ".ptpb", 5);
                getConfig().set("config." + ".startmoney", 500);
            }
        }
        public void onDisable(){
            getConfig().options().copyDefaults(true);
            saveConfig();
        }
       
        @Override
        public boolean onCommand(CommandSender sender,Command cmd,String label, String[] args){
           
            if(cmd.getName().equalsIgnoreCase("bnewarena")){
                if(sender.hasPermission("bl.create")){
                    String name = args[0];
                   
                    getConfig().set("arenas." + name, name);
                    getConfig().set("arenas." + name + "team1x", 0);
                    getConfig().set("arenas." + name + "team1y", 0);
                    getConfig().set("arenas." + name + "team1z", 0);
                   
                    getConfig().set("arenas." + name + "team2x", 0);
                    getConfig().set("arenas." + name + "team2y", 0);
                    getConfig().set("arenas." + name + "team2z", 0);
                   
                    getConfig().set("arenas." + name + "active", 0);
                   
                    if(getConfig().getString("arenas." + name) != null){
                        sender.sendMessage("Арена " + name + "была создана.");
                    }
                   
                }else{
                    sender.sendMessage("Нету прав.");
                }
               
            }
           
           
            return true;
        }
       
        public void openGUI(Player p){
            Inventory inv = Bukkit.createInventory(null, 9,ChatColor.AQUA +  "ыыыыы");
            ItemStack digger = new ItemStack(Material.IRON_HOE);
            ItemMeta diggermeta = digger.getItemMeta();
           
            diggermeta.setDisplayName(ChatColor.DARK_GREEN + "ыыыыы");
            digger.setItemMeta(diggermeta);
           
            inv.setItem(0, digger);
           
            p.openInventory(inv);
        }
       
        @EventHandler
        public void onPlayerDeath(PlayerDeathEvent e){
    
                respawntime = getConfig().getInt("config." + ".respawntime");
    
        }
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent e){
            Player p = e.getPlayer();
            p.sendMessage("AS");
            respawntime = 15;
            getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
           
                @Override
                public void run() {
                    if(respawntime > 0){
                        respawntime = respawntime - 1;
                        p.sendMessage("s" + respawntime);
                    }
                   
                }
                },0L,20L);
           
        }
       
    }
    
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    Welester

    Welester Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Welester
    Умный такой... Без всех этих изысков всё прекрасно работает, по крайней мере до этого писал всё нормально с командами работало. Про конфиг ты конечно молодец, такое ощущение что никто не знает о том, что там надо писать команду, это в любом гайде говорят.[DOUBLEPOST=1488543009][/DOUBLEPOST]
    Хах, гайды охеренные, гайд про работу с конфигом не актуален ещё с 2015, а остальные гайды сделаны явно с костылями, если storm или как его там, он пишет то же самое, только если у dak получается примерно 100 строк, у этого же получается за 25 сделать.
     
  4. Blc_Dragon

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    окей, но почему то у меня по гайдам dak все работало, а у тебя по гайдам *хз че за чел ваще первый раз вижу* нихрена не пашет.

    какой можно сделать вывод?
     
  5. Автор темы
    Welester

    Welester Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Welester
    Эммм, во первых, я ещё давно в 2016 году его смотрел, могу сразу сказать, он искал тут темы, и костыли по ним писал.
     
  6. Blc_Dragon

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    они всяко лучше того что ты тут наваял
     
  7. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    ClusterStorm[DOUBLEPOST=1488554789,1488554523][/DOUBLEPOST]
    Шторм, объясняет все доходчиво, я на этих гайдах вырос ;) + @Mr_RoboMan помогал.

    А Энви, хз что такое, объясняет как...
     
  8. Blc_Dragon

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    *посмотрел пару туторов*
    *Понял, что ничего не понял*
    *Ушел курить доки*
    теперь че то сваять могу (ах, да ну еще тут по началу помогли здорово. спасибо этим людям)
     
  9. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Код:
    public class main extends JavaPlugin implements Listener {
       
        private int respawntime;
       
        public void onEnable(){
            saveDefaultConfig();
           
          //Это не работает и не будет работать
            /*if(getConfig().getString("config." + ".team1name") == null){
                getConfig().set("config." + ".team1name", "red");
                getConfig().set("config." + ".team2name", "blue");
               
                getConfig().set("config." + ".respawntime", 10);
                getConfig().set("config." + ".ptpb", 5);
                getConfig().set("config." + ".startmoney", 500);
            }*/
            //Регистрируем свои слушатели только после того, как все инициализировано
            Bukkit.getServer().getPluginManager().registerEvents(this, this);
        }
       
        public void onDisable(){
            saveConfig();
        }
       
        @Override
        public boolean onCommand(CommandSender sender,Command cmd,String label, String[] args){
            if(!sender.hasPermission("bl.create")){
                sender.sendMessage("Нету прав.");
                return true;
            }
           
            String name = args.length > 0 ? args[0] : "default";
         
            getConfig().set("arenas." + name, name);
            getConfig().set("arenas." + name + "team1x", 0);
            getConfig().set("arenas." + name + "team1y", 0);
            getConfig().set("arenas." + name + "team1z", 0);
         
            getConfig().set("arenas." + name + "team2x", 0);
            getConfig().set("arenas." + name + "team2y", 0);
            getConfig().set("arenas." + name + "team2z", 0);
         
            getConfig().set("arenas." + name + "active", 0);
         
            if(getConfig().getString("arenas." + name) != null){
                sender.sendMessage("Арена " + name + "была создана.");
            }
            return true;
        }
       
        public void openGUI(Player p){
            Inventory inv = Bukkit.createInventory(null, 9,ChatColor.AQUA +  "ыыыыы");
           
            ItemStack digger = new ItemStack(Material.IRON_HOE);
            ItemMeta diggermeta = digger.getItemMeta();
            diggermeta.setDisplayName(ChatColor.DARK_GREEN + "ыыыыы");
            digger.setItemMeta(diggermeta);
            inv.setItem(0, digger);
           
            p.openInventory(inv);
        }
       
        @EventHandler
        public void onPlayerDeath(PlayerDeathEvent e){
           //Че это?
            //respawntime = getConfig().getInt("config." + ".respawntime");
    
        }
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent e){
            Player p = e.getPlayer();
            p.sendMessage("AS");
            respawntime = 15;
            getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
                @Override
                public void run() {
                    if(respawntime > 0){
                        respawntime = respawntime - 1;
                        p.sendMessage("s" + respawntime);
                    }
                   
                }
            }, 0L, 20L);
        }
    }
     
  10. Автор темы
    Welester

    Welester Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Welester
    Воп про сет ты зря, просто я убрал там кое что и всё прекрасно работает.
     
  11. Blc_Dragon

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    а чем не устроил буржуйский и еретичный respawntime--;
    Поговаривают, такая запись дико экономит время.
     
  12. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    +1 За говнокод, когда можно так getConfig().get("path","path"); Создаст само, если нету.
     
  13. Автор темы
    Welester

    Welester Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Welester
    с unity уже привычка пошла, ибо там так пишут, так как там иногда не просчитывает если так написать
    нуууу, как умею, помойму ты сам мне давно кидал гайд где именно так и делали.
     
  14. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    С какого канала пару туторов? Да, да, я про то, что поможет только в начале, потом наставник, а потом уже доки (хотя у кого как)
     
  15. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Ты меня с кем то путаешь.
     
  16. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
     
  17. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Твоё "кое что" никто не видел. Твой код в шапке в принципе работает (и не работает в т.ч.) не так, как ты это придумал.
     

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