Skocz do zawartości
  • 0

Odczytywanie lokacji


Virosel

Pytanie

Cześć,

Z góry przepraszam za to, że otwieram tyle wątkówm, ale mam problem z odczytem lokacji z plików, po próbie teleportacji w to miejsce na konsoli pojawia się błąd: https://prnt.sc/tgxkfh

 

Kod z klasy LocationsManager:

 

kod z klasy AdminCommand:

 

W pliku lokacja jest zapisywana tak:

locations:
  spawn:
    world: world
    blockX: 851.3000000119209
    blockY: 5.0
    blockZ: -209.29947004619046
    direction:
      X: -0.09385672829702806
      Y: -0.9947920358991044
      Z: -0.09385672829702806
 

 

PS. nie chodzi mi o fakt, że nie sprawdzam, czy lokacja została ustawiona, to będę dorabiał później, najpierw chcę sobie poradzić z tym problemem, a dopiero potem zoptymalizować(ładować lokację w metodzie onEnable()) i zabezpieczyć

Edytowane przez Virosel
Odnośnik do komentarza
https://skript.pl/temat/40476-odczytywanie-lokacji/
Udostępnij na innych stronach

3 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Przypisujesz wartości do nulla.

Najpierw zrób nowy obiekt Location, a dopiero później przypisuj, do nulla nie można.

Zamień

Location loc = null;

na

Location loc = new Location(world, x, y, z)

 

Edytowane przez szymonjjay
Odnośnik do komentarza
https://skript.pl/temat/40476-odczytywanie-lokacji/#findComment-252688
Udostępnij na innych stronach

  • 0
5 minut temu, szymonjjay napisał:

Przypisujesz wartości do nulla.

Najpierw zrób nowy obiekt Location, a dopiero później przypisuj, do nulla nie można.

Zamień


Location loc = null;

na


Location loc = new Location(world, x, y, z)

 

A co z direction?

Odnośnik do komentarza
https://skript.pl/temat/40476-odczytywanie-lokacji/#findComment-252689
Udostępnij na innych stronach

  • 0

No jak zrobisz obiekt to normalnie możesz np w następnej linijce ustawić direction, tak jak miałeś.

    public static Location getLocation(String path){
        YamlConfiguration config = YamlConfiguration.loadConfiguration(FileManager.locationsFile);
        World world = Bukkit.getWorld(config.getString(path + ".world"))
        double blockX = config.getDouble(path + ".blockX");
        double blockY = config.getDouble(path + ".blockY");
        double blockZ = config.getDouble(path + ".blockZ");
        double dirX = config.getDouble(path + ".direction.X");
        double dirY = config.getDouble(path + ".direction.Y");
        double dirZ = config.getDouble(path + ".direction.Z");
        Location loc = new Location(world, blockX, blockY, blockZ);
        loc.setDirection(new Vector(dirX, dirY, dirZ));
        return loc;
    }

 

Edytowane przez szymonjjay
Odnośnik do komentarza
https://skript.pl/temat/40476-odczytywanie-lokacji/#findComment-252690
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...