- Баллы
- 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")));
А то я думаю ТС сам бы не догадался.