1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Работа с конфигом

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

  1. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Вот

    String warp = args[0];

    if (!getConfig().getBoolean(warp + ".Tp")) {
    p.sendMessage("У этой точке телепорт отключен.");
    return true;
    }
    Location loc = new Location(Bukkit.getWorld(getConfig().getString(warp + ".world")), getConfig().getInt(warp + ".x"), getConfig().getInt(warp + ".y"), getConfig().getInt(warp + ".z"));
    p.teleport(loc);
     
  2. Автор темы
    foxlye

    foxlye Новичок Пользователь

    Баллы:
    16
    Имя в Minecraft:
    foxlye
    Сейчас попробую
     
  3. Автор темы
    foxlye

    foxlye Новичок Пользователь

    Баллы:
    16
    Имя в Minecraft:
    foxlye
    Как-то не получается
     
  4. Автор темы
    foxlye

    foxlye Новичок Пользователь

    Баллы:
    16
    Имя в Minecraft:
    foxlye
    Вот весь мой код, не пойму как вставить:

    else if (cmd.getName().equalsIgnoreCase("feventtp")) {
    final Player player1 = (Player)sender;
    final Server server = player1.getServer();
    if (args.length == 0) {
    player1.sendMessage(ChatColor.GRAY + "[" + ChatColor.GOLD + "Troll" + ChatColor.GREEN + "Craft" + ChatColor.GRAY + "] " + ChatColor.RED + "Неправильное имя евента!");
    }
    if (args.length == 1 && player1.hasPermission(new Permission("fevent.event.tp"))) {
    try {
    final String warp2 = args[0].toUpperCase();
    final int x2 = Integer.parseInt(this.getConfig().getString(String.valueOf(String.valueOf(warp2)) + ".X"));
    final int y2 = Integer.parseInt(this.getConfig().getString(String.valueOf(String.valueOf(warp2)) + ".Y"));
    final int z2 = Integer.parseInt(this.getConfig().getString(String.valueOf(String.valueOf(warp2)) + ".Z"));
    final World w2 = server.getWorld(this.getConfig().getString(String.valueOf(String.valueOf(warp2)) + ".W"));
    final Location loc = new Location(w2, (double)x2, (double)y2, (double)z2);
    player1.teleport(loc);
    player1.sendMessage(ChatColor.GRAY + "[" + ChatColor.GOLD + "Troll" + ChatColor.GREEN + "Craft" + ChatColor.GRAY + "] " + ChatColor.GREEN + "Телепортация на евент: " + ChatColor.GRAY + warp2);
    }
    catch (Exception exc) {
    player1.sendMessage(ChatColor.GRAY + "[" + ChatColor.GOLD + "Troll" + ChatColor.GREEN + "Craft" + ChatColor.GRAY + "] " + ChatColor.RED + "Этот евент не существует!");
    }
    }
    }
     
  5. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    OMG, почему ты используешь костыли? Переменную int можно сразу достать из конфига и не парсить ее через Integer... Это во-первых. Во-вторых почитай мой код...
     
  6. Автор темы
    foxlye

    foxlye Новичок Пользователь

    Баллы:
    16
    Имя в Minecraft:
    foxlye
    Это костыли которые я нашел, переделаешь на нормальный код ?
     
  7. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    PHP:
    final int x2 Integer.parseInt(this.getConfig().getString(String.valueOf(String.valueOf(warp2)) + ".X"));
    final 
    int y2 Integer.parseInt(this.getConfig().getString(String.valueOf(String.valueOf(warp2)) + ".Y"));
    final 
    int z2 Integer.parseInt(this.getConfig().getString(String.valueOf(String.valueOf(warp2)) + ".Z"));
    getInt() для слабаков? Что это за String.valueOf(warp2))?
     
  8. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    +++)
     
  9. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Вот, менее костыльный вариант

    Код:
            if (cmd.getName().equalsIgnoreCase("feventtp")) {
                Player player = (Player)sender;
                if (args.length == 0) {
                    player.sendMessage("Введите имя варпа!");
                }
                if (args.length == 1 && player.hasPermission("fevent.event.tp")) {
                        String warp = args[0].toUpperCase();
                        if (getConfig().get(warp) == null) {
                            player.sendMessage("Варпа не существует!");
                            return true;
                        }
                      
                        if (!getConfig().getBoolean(warp + ".Tp")) {
                            player.sendMessage("Сюда нельзя, тут отключен варп!");
                            return true;
                        } else {
                            World world = Bukkit.getWorld(getConfig().getString(warp + ".W"));
                            int x = getConfig().getInt(warp + ".X");
                            int y = getConfig().getInt(warp + ".Y");
                            int z = getConfig().getInt(warp + ".Z");
                            Location loc = new Location(world, x, y, z);
                            player.teleport(loc);
                            player.sendMessage("Вы телепортировались на " + warp);
                            return true;
                        }
                    }
                }
            }
    
     
    Последнее редактирование: 20 окт 2017
  10. alexandrage

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

    Баллы:
    173
    Ответ на все вопросы.
    Получить секцию "213123".
    ConfigurationSection section = getConfig().getConfigurationSection("213123");
    Поменять булев.
    section.set("Tp", false);
    Получить значение булева.
    boolean isTp = section.getBoolean("Tp");
    Получить локацию.
    Location loc = new Location(Bukkit.getWorld(section.getString("W")), section.getInt("X"), section.getInt("Y"), section.getInt("Z"));
     
  11. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Собс-но, нет разницы...
     
  12. CriticaMobslps

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

    Баллы:
    76
    Имя в Minecraft:
    Votybo
    Код:
                      if(getConfig().getBoolean(warp + ".Tp") == false){
    }
     
    Последнее редактирование: 22 окт 2017
  13. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    И че ты скопировал мой код, животное?
     
  14. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Дело привычки, но лучше использовать
    PHP:
    if(!getConfig().getBoolean(warp ".Tp") )
    (и да, не воруй код :creeper:)
     
  15. alexandrage

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

    Баллы:
    173
    Нет, не лучше. Я скинул выше, как луче.
     
  16. CriticaMobslps

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

    Баллы:
    76
    Имя в Minecraft:
    Votybo
    Я не воровал я дал как вариант
     
  17. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Ты дурак? Ты полностью скопировал код, разве что изменил строку getConfig().getBoolean(warp + ".Tp") == false
     
  18. CriticaMobslps

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

    Баллы:
    76
    Имя в Minecraft:
    Votybo
    Ну да, а что смущает?
    Ок изменил главное не плачь
     
  19. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Меня смущает, то что ты набиваешь сообщения и копипастишь мой код...
     
  20. hyndorik

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

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Еще бы == true написал
     

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