Помогите Как правильно разложить на методы?

Статус
Закрыто для дальнейших ответов.

gianluca91

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
gianluca91
Код:
@EventHandler
    public void onPlayerJoin(PlayerJoinEvent e) {

        Player p = e.getPlayer();
        World w = Bukkit.getWorld(getConfig().getString("spawn.world"));
        double x = this.getConfig().getDouble("spawn.x");
        double y = this.getConfig().getDouble("spawn.y");
        double z = this.getConfig().getDouble("spawn.z");
        Location loc =  new Location(w,x,y,z);
p.teleport(loc);
}
Как это правильно разложить на методы?Чтобы здесь был только телепорт на "loc",а все координаты хранились в отдельном методе,чтобы не засорять эвент.
 
PHP:
Location location;

public void onEnable() {
       World w = Bukkit.getWorld(getConfig().getString("spawn.world"));
       double x = this.getConfig().getDouble("spawn.x");
       double y = this.getConfig().getDouble("spawn.y");
       double z = this.getConfig().getDouble("spawn.z");
       location =  new Location(w,x,y,z);
}

@EventHandler
   public void onPlayerJoin(PlayerJoinEvent e) {
    Player p = e.getPlayer();
    p.teleport(location);
}
 
Код:
    public static Spawn spawn;
    @Override
    public void onEnable() {
        spawn = new Spawn(this.getConfig().getConfigurationSection("spawn"));
    }

Код:
package Example;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.configuration.ConfigurationSection;

public class Spawn {
    private Location loc;

    Spawn(ConfigurationSection cfg) {
        loc = new Location(Bukkit.getWorld(cfg.getString("world")), cfg.getInt("x"), cfg.getInt("y"), cfg.getInt("z"));
    }
    
    public Location getLocation() {
        return loc;
    }
}
 
Код:
    public static Spawn spawn;
    @Override
    public void onEnable() {
        spawn = new Spawn(this.getConfig().getConfigurationSection("spawn"));
    }

Код:
package Example;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.configuration.ConfigurationSection;

public class Spawn {
    private Location loc;

    Spawn(ConfigurationSection cfg) {
        loc = new Location(Bukkit.getWorld(cfg.getString("world")), cfg.getInt("x"), cfg.getInt("y"), cfg.getInt("z"));
    }
   
    public Location getLocation() {
        return loc;
    }
}


Если использовать p.teleport(spawn),просит изменить его на Location. Что я не правильно делаю?
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх