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

  • Автор темы Автор темы foxlye
  • Дата начала Дата начала

foxlye

Новичок
Пользователь
Баллы
16
Имя в Minecraft
foxlye
Как сделать так чтобы менялась строчка в конфиге с Tp: true на Tp:false
N9Dorf6.png

mj68q
 
Как сделать, чтобы при телепорте проверялась эта строчка и если true стоит, то дальше процесс идет, а если false то ничего не выдает.
Вот

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);
 
Вот

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);
Сейчас попробую
 
Вот

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);
Как-то не получается
 
Вот

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);
Вот весь мой код, не пойму как вставить:

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 + "Этот евент не существует!");
}
}
}
 
Вот весь мой код, не пойму как вставить:

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 + "Этот евент не существует!");
}
}
}
OMG, почему ты используешь костыли? Переменную int можно сразу достать из конфига и не парсить ее через Integer... Это во-первых. Во-вторых почитай мой код...
 
OMG, почему ты используешь костыли? Переменную int можно сразу достать из конфига и не парсить ее через Integer... Это во-первых. Во-вторых почитай мой код...
Это костыли которые я нашел, переделаешь на нормальный код ?
 
Вот весь мой код, не пойму как вставить:

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 + "Этот евент не существует!");
}
}
}
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))?
 
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))?
+++)
 
Вот, менее костыльный вариант

Код:
        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;
                    }
                }
            }
        }
 
Последнее редактирование:
Ответ на все вопросы.
Получить секцию "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"));
 
Ответ на все вопросы.
Получить секцию "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"));
Собс-но, нет разницы...
 
Как сделать, чтобы при телепорте проверялась эта строчка и если true стоит, то дальше процесс идет, а если false то ничего не выдает.

Код:
                  if(getConfig().getBoolean(warp + ".Tp") == false){
}
 
Последнее редактирование:
Код:
       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") == false){
                       player.sendMessage("Сюда нельзя, тут отключен варп!");
                       return false;
                   } 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;
                   }

}
И че ты скопировал мой код, животное?
 
Назад
Верх