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

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

Discussion in 'Разработка плагинов для новичков' started by Kalabealu, Sep 15, 2016.

  1. Автор темы
    Kalabealu

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

    Trophy Points:
    46
    Имя в Minecraft:
    GoldFox
    а это я могу удалить
    Code:
    config.getDouble("locations." + name + ".x"),
                    config.getDouble("locations." + name + ".y"),
                    config.getDouble("locations." + name + ".z"));
    [DOUBLEPOST=1478705818,1478705723][/DOUBLEPOST]
    Так-же вся тоже строчка 63
    Code:
    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;
        }

    Та проблема 64 строчка Location home = configToLoc(p.getName());
     
  2. Хостинг MineCraft
    <
  3. SimMiMo

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

    Trophy Points:
    76
    ну или юзай getDouble, забыл о нем, так как пишу не с ide, а тут сразу.
    Тут ошибки и сам плагин - дет сад.[DOUBLEPOST=1478705988,1478705855][/DOUBLEPOST]Разберись с тем, какую выдает ошибку и что там не так в этом методе.
     
  4. Автор темы
    Kalabealu

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

    Trophy Points:
    46
    Имя в Minecraft:
    GoldFox
    Location home = configToLoc(p.getName());
    Ему не нравилась строчка.Щас пилю Location home = configToLoc(p.getName());
     
  5. SimMiMo

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

    Trophy Points:
    76
    Когда есть ошибка выходит стак трейс ошибки. Ее пояснение. Что в нем?
    И где код этого configToLoc()
     
  6. Автор темы
    Kalabealu

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

    Trophy Points:
    46
    Имя в Minecraft:
    GoldFox
    Code:
    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;
        }
    вот.[DOUBLEPOST=1478706615,1478706550][/DOUBLEPOST]
    Code:
    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 false;
            }
          }
            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, "Зачем ты сломал это блок?");
        }
    }
    
    весь код.
     
  7. SimMiMo

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

    Trophy Points:
    76
    Ну так ошибка то где? Сделай проверки на нулл, там, где просит.
     
  8. _MediaNik_

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

    Trophy Points:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Если он этого не поймет, то я ору.
     
  9. Автор темы
    Kalabealu

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

    Trophy Points:
    46
    Имя в Minecraft:
    GoldFox
  10. UniWest

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

    Trophy Points:
    66
    Skype:
    CrazyLee1337
    Имя в Minecraft:
    Reflect1on
    Господи, ты серьезно эту ересь несешь? Консоль ругается потому, что метод, который ты используешь в 63 или 64 строке попросту не существует. Сам сделай метод, который возьмет значения из конфига и на их основе сделает локацию. Проверяешь валидность локации и телепортируешь на нее игрока. Это же такое изи.
     
  11. Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Trophy Points:
    123
    Это даже легче чем изи, просто у ТСа есть КР2.
     
  12. Автор темы
    Kalabealu

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

    Trophy Points:
    46
    Имя в Minecraft:
    GoldFox
    Так ты запили проверку на валидность,и достань по другому из конфига значение.
     
  13. Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Trophy Points:
    123
    Кидай 10 баксов мне на Вебмани, кошелёк в подписи, и запилю без проблем.
     
  14. Автор темы
    Kalabealu

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

    Trophy Points:
    46
    Имя в Minecraft:
    GoldFox
    Бесплатно должны помогать.
     
  15. Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Trophy Points:
    123
    ДОЛЖНЫ?!! Ты блджд вообще озуевший?!!
     
  16. slavik123123123

    slavik123123123 Старожил Пользователь

    Trophy Points:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Почему он должен пилить? Тебе или ему нужен плагин? Тебе только должны подсказать как решить проблему, а не полностью ее решить. Так что сам делай проверку.
     
  17. Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Trophy Points:
    123
    Не должны, а Могут.
    Но когда челик говорит что мы ему "ДОЛЖНЫ" лично у меня возникает желание послать его назуй...
     
  18. IcedwinterZ

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

    Trophy Points:
    76
    Имя в Minecraft:
    IcedwinterZ
    Правильно! Давай вместе! Пошлем его назуй!
     
  19. DonDays

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

    Trophy Points:
    96
    Имя в Minecraft:
    DonDays
    Раз уж апнули тему, разрешите орнуть[DOUBLEPOST=1478842809,1478842700][/DOUBLEPOST]
    Жаль, что нельзя лайк поставить(. Присоединяюсь.[DOUBLEPOST=1478842936][/DOUBLEPOST]ТС с таким отношением тебе никто не поможет, иди учить джаву, на крайней случай уж уроки
     
  20. IcedwinterZ

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

    Trophy Points:
    76
    Имя в Minecraft:
    IcedwinterZ
    Нет, просто уроки!
     
  21. Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Trophy Points:
    123
    Блyat зачем вы напомнили про его мини-игру на 5к строк? Хддд
    Как теперь прекратить орать? :D
     

Share This Page