Войти или зарегистрироваться

Помогите Проблемы с установкой спавна.

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

GodlikE

Старожил
Пользователь
Баллы
103
Имя в Minecraft
GodlikE
Всем привет. Я пытаюсь поставить спавн в лобби коммандой /setlobby (естественно с заносом его в конфиг), но когда я запускаю сервер и на сервере пишу /setlobby, выдается ошибка в чате красными буквами "An internal error occurred while attempting to perform this command", а в консоли сервера написано ERROR: Null. Я уже 3 дня ищу эту ошибку и не могу найти, помогите пожалуйста! Ниже представлен код:
Вот метод самого введения комманды:
Код:
Location lobby;
public boolean onCommand(CommandSender sender, Command cmd, String commandlabel, String args[] ){
        if (sender instanceof Player)
        {
                Player player = (Player) sender;
if (cmd.getName().equalsIgnoreCase("setlobby"))
                {
                    lobby = player.getLocation();
                    player.sendMessage("Точка спавна в лобби установлена");
                    conf.createSection("lobbyspawn", serializeLocation(lobby));
                    saveConfig();  
                }
}return true;
}
Вот метод, которым я заношу и выношу из конфига локации:
Код:
private Map<String, Object> serializeLocation(Location loc){
          Map<String, Object> map = new HashMap<String, Object>();
        
          map.put("x", loc.getX());
          map.put("y", loc.getY());
          map.put("z", loc.getZ());
          map.put("w", loc.getWorld().getName());
          return map;
         }
       
         Location deserializeLocation(ConfigurationSection section){
          return new Location(
            Bukkit.getWorld(section.getString("w")),
            section.getDouble("x"),
            section.getDouble("y"),
            section.getDouble("z"));
         }
Вот метод, которым я вызываю определенную локацию из конфига:
Код:
player.teleport(deserializeLocation(conf.getConfigurationSection("playerspawn")));
Помогите пожалуйста найти ошибку=)
 
Всем привет. Я пытаюсь поставить спавн в лобби коммандой /setlobby (естественно с заносом его в конфиг), но когда я запускаю сервер и на сервере пишу /setlobby, выдается ошибка в чате красными буквами "An internal error occurred while attempting to perform this command", а в консоли сервера написано ERROR: Null. Я уже 3 дня ищу эту ошибку и не могу найти, помогите пожалуйста! Ниже представлен код:
Вот метод самого введения комманды:
Код:
Location lobby;
public boolean onCommand(CommandSender sender, Command cmd, String commandlabel, String args[] ){
        if (sender instanceof Player)
        {
                Player player = (Player) sender;
if (cmd.getName().equalsIgnoreCase("setlobby"))
                {
                    lobby = player.getLocation();
                    player.sendMessage("Точка спавна в лобби установлена");
                    conf.createSection("lobbyspawn", serializeLocation(lobby));
                    saveConfig();
                }
}return true;
}
Вот метод, которым я заношу и выношу из конфига локации:
Код:
private Map<String, Object> serializeLocation(Location loc){
          Map<String, Object> map = new HashMap<String, Object>();
      
          map.put("x", loc.getX());
          map.put("y", loc.getY());
          map.put("z", loc.getZ());
          map.put("w", loc.getWorld().getName());
          return map;
         }
     
         Location deserializeLocation(ConfigurationSection section){
          return new Location(
            Bukkit.getWorld(section.getString("w")),
            section.getDouble("x"),
            section.getDouble("y"),
            section.getDouble("z"));
         }
Вот метод, которым я вызываю определенную локацию из конфига:
Код:
player.teleport(deserializeLocation(conf.getConfigurationSection("playerspawn")));
Помогите пожалуйста найти ошибку=)
1. У тебя в конфиге действительно существует место спауна.
2. Мне кажется что код серелизации и десерелизиации локации ты взял из MAPI, не так ли?
3. Покажи стактрейс, а то я хер пойму где null у тебя
 
Я написал уже, надо отладчиком смотреть.
 
Всем спасибо=)
 
Назад
Верх