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

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

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

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

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

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

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

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

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

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

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

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

    Баллы:
    46
    Имя в Minecraft:
    GoldFox
    Код:
    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]
    Код:
    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 Активный участник Пользователь

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

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

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

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

    Баллы:
    46
    Имя в Minecraft:
    GoldFox
  10. UniWest

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    Нет, просто уроки!
     
  21. Mr_RoboMan

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

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

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