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

Загрузка из .yml(конфига ) [Решено]

Тема в разделе "Разработка плагинов для новичков", создана пользователем _MediaNik_, 30 июн 2016.

Статус темы:
Закрыта.
  1. Автор темы
    _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Я хочу чтобы при введении одной команды сохранялись в конфиг координаты на которых сейчас игрок, а потом при перезагрузке сервера загружалось из конфига в переменную pos, но загружается совсем другое, вот код:
    Сам конфиг:
    Код:
    Locations:
      lobby:
        world: world
        x: 98
        y: 68
        z: 254
    
    Класс переменной pos:
    Код:
    public class Pos {
           public String worldName;
           public double x, y, z;
         
           public Pos(String name, double x, double y, double z) {
               worldName = name;
               this.x = x;
               this.y = y;
               this.z = z;
           }
        }
    
    Загрузка переменной в конфиг:
    Код:
    public void locToConfig(String world, Location loc){
            pos = new Pos(world, loc.getX(), loc.getY(), loc.getZ());
            config.set("Locations.lobby.world", pos.worldName);
            config.set("Locations.lobby.x", pos.x);
            config.set("Locations.lobby.y", pos.y);
            config.set("Locations.lobby.z", pos.z);
            saveConfig();
        }
    
    Загрузка переменной из конфига:
    Код:
    public void onEnable(){
            Bukkit.getServer().getPluginManager().registerEvents(this, this);//Это не для вас
            this.saveDefaultConfig();
            pos = new Pos(config.getString("locations.lobby.world", "world"), 
                    config.getDouble("Locations.lobby.z"), 
                    config.getDouble("Locations.lobby.x"), 
                    config.getDouble("Locations.lobby.y"));
            getLogger().info("Plugin was loaded");//
            getLogger().info(pos.worldName + pos.x + pos.y + pos.z);//Это вывод данных в консоль
        }
    
    Телепортирование игрока на lobby
    Код:
    World world = Bukkit.getWorld(pos.worldName);
                        pl.teleport(new Location(world, pos.x, pos.y, pos.z));
    
    В консоли выводит переменную pos как:
    world: world254
    x: 098
    y: 068
    z: 0​
     
  2. Хостинг MineCraft
    <
Статус темы:
Закрыта.

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