Помогите Не тпешает домой.

Я тебе плагин пишу или что????
Location home = configToLoc(p.getName());
if (home != null){
p.teleport(home);
MessageManager.getManager().msg(p, MessageType.GOOD, "Телепорт домой!");
}

Конфетку должен
if (cmd.getName().equalsIgnoreCase("tphome")) {
if (checkSender(sender)) {
MessageManager.getManager().msg(sender, MessageType.BAD, "Only players can use this command!");
return true;
}
Player p = (Player) sender;

Location home = configToLoc(p.getName());
if (home != null){
p.teleport(home);
MessageManager.getManager().msg(p, MessageType.GOOD, "Телепорт домой!");
return true;
}
}
return false;
}
 
if (cmd.getName().equalsIgnoreCase("tphome")) {
if (checkSender(sender)) {
MessageManager.getManager().msg(sender, MessageType.BAD, "Only players can use this command!");
return true;
}
Player p = (Player) sender;

Location home = configToLoc(p.getName());
if (home != null){
p.teleport(home);
MessageManager.getManager().msg(p, MessageType.GOOD, "Телепорт домой!");
return true;
}
}
return false;
}
Слушай, я тебе что справочное бюро?
 
/del
 
Последнее редактирование:
Вот
Java:
public class TEST implements org.bukkit.command.CommandExecutor {

    // ignore it, just made it for myself
    YamlConfiguration cfg = null;

    @Override
    public boolean onCommand(CommandSender s, Command cmd, String str, String[] args) {
        if (s.equals(Bukkit.getConsoleSender())) {
            // sender is console, cancel it.
            return false;
        }
        switch (cmd.getName().toLowerCase()) {
        case "sethome":
            if (!s.hasPermission("permission")) {
                // no permission, cancel it.
                return false;
            }
            locToConfig(s.getName(), ((Player) s).getLocation());
            // home saved
            break;
        case "tphome":
            if (!s.hasPermission("permission")) {
                // no permission, cancel it.
                return false;
            }
            Location loc = configToLoc(s.getName());
            if (loc == null) {
                // player has no home, cancel it.
                return false;
            }
            ((Player) s).teleport(loc);
            // teleported to home
            break;
        default:
            break;
        }
        return true;
    }

    public void locToConfig(String name, Location loc) {
        cfg.set("locations." + name + ".world", loc.getWorld().getName());
        cfg.set("locations." + name + ".x", loc.getX());
        cfg.set("locations." + name + ".y", loc.getY());
        cfg.set("locations." + name + ".z", loc.getZ());
        saveConfig();
    }

    public Location configToLoc(String name) {
        Location loc = new Location(Bukkit.getWorld(cfg.getString("locations." + name + ".world")),
                cfg.getDouble("locations." + name + ".x"), cfg.getDouble("locations." + name + ".y"),
                cfg.getDouble("locations." + name + ".z"));
        return loc;
    }
}
Работает хотя бы?)
upload_2016-11-9_19-29-39.pngа то вот что в его коде...
 
скинь свой код "сейчашний"
 
Вот я до сих пор не могу понять...
Девелоперы...
НУ ЗАЧЕМ МАТ ВАЩУ, ЗАЧЕ БЛДЖД ВЫ ПОМОГАЕТЕ ЛЮДЯМ КОТОРЫЕ ВООБЩЕ В ДЖАВУ НЕ ИПУТ?!!
ЗачЕЕЕЕЕМ вы это делаете?!!
Я понимаю когда помогают людям, которые понимают что они делают, но там ошиблись в чем-то, или не нашли какой-то инфы в гугле и т.д., но зачем вы помогаете таким как этот, который вообще не понимаете что означает сделать праверку на null??
Я бы сказал " вы ему еще готовый код дайте", но вы так уже сделали...
От @IcedwinterZ и @xDark я конечно такого вообще не ожидал..

Eto prosto pizdec.
 
Вот я до сих пор не могу понять...
Девелоперы...
НУ ЗАЧЕМ МАТ ВАЩУ, ЗАЧЕ БЛДЖД ВЫ ПОМОГАЕТЕ ЛЮДЯМ КОТОРЫЕ ВООБЩЕ В ДЖАВУ НЕ ИПУТ?!!
ЗачЕЕЕЕЕМ вы это делаете?!!
Я понимаю когда помогают людям, которые понимают что они делают, но там ошиблись в чем-то, или не нашли какой-то инфы в гугле и т.д., но зачем вы помогаете таким как этот, который вообще не понимаете что означает сделать праверку на null??
Я бы сказал " вы ему еще готовый код дайте", но вы так уже сделали...
От @IcedwinterZ и @xDark я конечно такого вообще не ожидал..

Eto prosto pizdec.
... На готовом коде можно учиться, но думаю конечно не в этом случае, но все таки, если его "сервер" зависнит когда нибудь в цикле из - за моего кода - я буду этому рад :)
 
... На готовом коде можно учиться, но думаю конечно не в этом случае, но все таки, если его "сервер" зависнит когда нибудь в цикле из - за моего кода - я буду этому рад :)
Чтоб учиться на готовом коде, нужно отсутствие КР2 и присутствие мозга.
*КР2 = Кривые Руки 2 шт.
 
... На готовом коде можно учиться, но думаю конечно не в этом случае, но все таки, если его "сервер" зависнит когда нибудь в цикле из - за моего кода - я буду этому рад :)
JavaScript:
package ru.goldfox.files;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;

import ru.goldfox.files.MessageManager.MessageType;

public class Main  extends JavaPlugin implements Listener {
   
    private static Main instance;
    FileConfiguration config = getConfig();
   
    public static Main instance() {
        return instance;
    }

    public void onEnable() {
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
        Bukkit.getServer().getPluginManager().registerEvents(new KillMob(), this);
    }
   
    public void onDisable() {
       
    }
   
    public boolean checkSender (CommandSender sender) {
        if (sender instanceof Player) {
            return false;
        }
        return true;
    }
   
    public boolean onCommand (CommandSender sender, Command cmd, String label, String[] args) {
        if (cmd.getName().equalsIgnoreCase("savehome")) {
            if (checkSender(sender)) {
                MessageManager.getManager().msg(sender, MessageType.BAD, "Only players can use this command!");
                return true;
            }
            Player p = (Player) sender;
           
            locToConfig(p.getName(), p.getLocation());
            MessageManager.getManager().msg(p, MessageType.GOOD, "Дом установлен!");
            return true;
        }
        if (cmd.getName().equalsIgnoreCase("tphome")) {
            if (checkSender(sender)) {
                MessageManager.getManager().msg(sender, MessageType.BAD, "Only players can use this command!");
                return true;
            }
            Player p = (Player) sender;
           
            Location home = configToLoc(p.getName());
            if (home != null){
            p.teleport(home);
            MessageManager.getManager().msg(p, MessageType.GOOD, "Телепорт домой!");
            return true;
        }
      }
        return false;
    }
   
    public void locToConfig (String name, Location loc) {
        config.set("locations." + name + ".world", loc.getWorld().getName());
        config.set("locations." + name + ".x", loc.getX());
        config.set("locations." + name + ".y", loc.getY());
        config.set("locations." + name + ".z", loc.getZ());
        saveConfig();
    }
   
    public Location configToLoc (String name) {
        Location loc = new Location(Bukkit.getWorld(config.getString("locations." + name + ".world")),
                config.getDouble("locations." + name + ".x"),
                config.getDouble("locations." + name + ".y"),
                config.getDouble("locations." + name + ".z"));
        return loc;
    }
   
    @EventHandler
    public void onPlayerJoin (PlayerJoinEvent e) {
        Player p = e.getPlayer();
       
        MessageManager.getManager().msg(p, MessageType.INFO, "Plugin by GoldFox");
        p.playSound(p.getLocation(), Sound.NOTE_PIANO, 1, 1);
    }
   
    @EventHandler
    public void onBlockBreak (BlockBreakEvent e) {
        Player p = e.getPlayer();
        p.giveExp(100);
       
        if (e.getBlock().getType() != Material.DIAMOND_BLOCK) return;
       
        p.giveExp(500);
        p.damage(2);
        MessageManager.getManager().msg(p, MessageType.BAD, "Зачем ты сломал это блок?");
    }
}

Не работает код??
 
JavaScript:
package ru.goldfox.files;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;

import ru.goldfox.files.MessageManager.MessageType;

public class Main  extends JavaPlugin implements Listener {
  
    private static Main instance;
    FileConfiguration config = getConfig();
  
    public static Main instance() {
        return instance;
    }

    public void onEnable() {
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
        Bukkit.getServer().getPluginManager().registerEvents(new KillMob(), this);
    }
  
    public void onDisable() {
      
    }
  
    public boolean checkSender (CommandSender sender) {
        if (sender instanceof Player) {
            return false;
        }
        return true;
    }
  
    public boolean onCommand (CommandSender sender, Command cmd, String label, String[] args) {
        if (cmd.getName().equalsIgnoreCase("savehome")) {
            if (checkSender(sender)) {
                MessageManager.getManager().msg(sender, MessageType.BAD, "Only players can use this command!");
                return true;
            }
            Player p = (Player) sender;
          
            locToConfig(p.getName(), p.getLocation());
            MessageManager.getManager().msg(p, MessageType.GOOD, "Дом установлен!");
            return true;
        }
        if (cmd.getName().equalsIgnoreCase("tphome")) {
            if (checkSender(sender)) {
                MessageManager.getManager().msg(sender, MessageType.BAD, "Only players can use this command!");
                return true;
            }
            Player p = (Player) sender;
          
            Location home = configToLoc(p.getName());
            if (home != null){
            p.teleport(home);
            MessageManager.getManager().msg(p, MessageType.GOOD, "Телепорт домой!");
            return true;
        }
      }
        return false;
    }
  
    public void locToConfig (String name, Location loc) {
        config.set("locations." + name + ".world", loc.getWorld().getName());
        config.set("locations." + name + ".x", loc.getX());
        config.set("locations." + name + ".y", loc.getY());
        config.set("locations." + name + ".z", loc.getZ());
        saveConfig();
    }
  
    public Location configToLoc (String name) {
        Location loc = new Location(Bukkit.getWorld(config.getString("locations." + name + ".world")),
                config.getDouble("locations." + name + ".x"),
                config.getDouble("locations." + name + ".y"),
                config.getDouble("locations." + name + ".z"));
        return loc;
    }
  
    @EventHandler
    public void onPlayerJoin (PlayerJoinEvent e) {
        Player p = e.getPlayer();
      
        MessageManager.getManager().msg(p, MessageType.INFO, "Plugin by GoldFox");
        p.playSound(p.getLocation(), Sound.NOTE_PIANO, 1, 1);
    }
  
    @EventHandler
    public void onBlockBreak (BlockBreakEvent e) {
        Player p = e.getPlayer();
        p.giveExp(100);
      
        if (e.getBlock().getType() != Material.DIAMOND_BLOCK) return;
      
        p.giveExp(500);
        p.damage(2);
        MessageManager.getManager().msg(p, MessageType.BAD, "Зачем ты сломал это блок?");
    }
}
сначала пойми в чем различие return false и true, т.к. с таким кодом далеко не уедешь
 
сначала пойми в чем различие return false и true, т.к. с таким кодом далеко не уедешь
Значит в строке

  1. MessageManager.getManager().msg(p, MessageType.GOOD, "Телепорт домой!");
  2. return true;
    Я ставлю false или удалить строчку.И какую строчку удалить с ошибкой.
 
Значит в строке

  1. MessageManager.getManager().msg(p, MessageType.GOOD, "Телепорт домой!");
  2. return true;
    Я ставлю false или удалить строчку.И какую строчку удалить с ошибкой.
не пиши плагины больше, или туторчики почитай.. пожалуйста.. хотя бы недельки 2
 
Назад
Верх