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

Помогите Сделать плагин в IntelliJ IDEA.

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

Статус темы:
Закрыта.
  1. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    И снова здрасти. Как всегда нужна Ваша помощь. Но в этот раз именно по написанию плагина для ведра. У меня есть код, и plugin.yml прошу Вас проверить рабочий ли код, и рассказать как все это запустить :3 Ход работы я представляю себе таким (* - НЕ обязательные варианты).
    1*. Потролить/послать в гугл/что-то в этом роде.
    2. Выяснить будет ли работать код.
    3*. Потролить/послать в гугл/что-то в этом роде.
    4. Помочь в написании plugin.yml.
    5*. Потролить/послать в гугл/что-то в этом роде.
    6. Помочь скомпилировать все это в работающий плагин.
    7*. Потролить/послать в гугл/что-то в этом роде.
    8. ...
    9. PROFIT!!!
    Сам не знаю зачем 2 последние строчки, но выглядит прикольно.
    Буду очень благодарен за помощь.
    Авось я когда-то стану разработчиком плагинов на РБ?)))
    То что у меня сейчас есть:
    [​IMG]
    пакаж: com.roboman.plugins
    класс: Solution
    Код:
    package com.roboman.plugins;
    
    import org.bukkit.Bukkit;
    import org.bukkit.entity.Player;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.ChatColor;
    
    public class Solution
    {
    public void onEnable()
    {
    System.out.println("This MegaKrutoi plugin made by RoboMan and RuBukkit.");
    }
    
    public void onDisable()
    {
    System.out.println("The End...");
    }
    
    public void onJoin(PlayerJoinEvent pje)
    {
    Player player = pje.getPlayer();
    if (player.hasPermission("NuProstaSamiiKrutoiPluginVMire.owner"))
    player.sendMessage(ChatColor.DARK_AQUA + "Это сообщение ты увидел благодаря пермишену NuProstaSamiiKrutoiPluginVMire.owner");
    Bukkit.broadcastMessage(ChatColor.BLUE + "СПАСИБО РуБакит что объяснил этому нубу как меня запустить (c) плагин.");
    
    }
    }
    
    name: HelloMCWorld
    main: com.roboman.plugins.Solution
    version: 0.1
    author: Mr_RoboMan
    description: Test plugin for Rubukkit.org and Mr_RoboMan.
     
    Последнее редактирование: 8 янв 2015
  2. Хостинг MineCraft
    <
  3. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Сколько тебе лет?:confused:
     
  4. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    12 а что?.. Все когда-то гавнокодили)..
     
  5. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    plugin.yml нужно кинуть в корень папки с исходниками.
    UPD. Лучше убрать Thread.sleep(1000).
     
  6. Tiberiumk

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

    Баллы:
    76
    Skype:
    tiberium_11111
    Имя в Minecraft:
    Tiberium
    Давай в Skype tiberium_1111 , всё объясню-покажу))
     
  7. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    plugin.yml итак на месте (если это то место).
    [​IMG]
    Убрал Thread.sleep(), вместе с ним и throws Exception. Обновленный гавнокод в шапке.[DOUBLEPOST=1420737774,1420737711][/DOUBLEPOST]
    Отписал в ЛС.
     
  8. Plasticable

    Plasticable Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    plasticable
    Имя в Minecraft:
    Plasticable
    Рабочий код:
    Код:
    package com.roboman.plugins;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    //*************************↓ это не забудь
    public class Solution extends JavaPlugin implements Listener
    {//*************************************↑ и это тоже
        public void onEnable()
        {
            System.out.println("This долбаебский plugin made by RoboMan and RuBukkit.");
            getServer().getPluginManager().registerEvents(this, this); //Регаешь ивенты
        }
    
        public void onDisable()
        {
            System.out.println("The End...");
        }
    
        @EventHandler//Указываешь, что это ивент
        public void onJoin(PlayerJoinEvent pje)
        {
            Player player = pje.getPlayer();
            if (player.hasPermission("NuProstaSamiiKrutoiPluginVMire.owner"))
            {
                player.sendMessage(ChatColor.DARK_AQUA + "Привет Роба, если ты видишь это сообщение, значит РуБакит тебе помог и твой плагин работает!");
                //Thread.sleep(1000); - Этого делать тут низя(
            }
                Bukkit.broadcastMessage(ChatColor.BLUE + "СПАСИБО РуБакит что объяснил этому нубу как меня запустить (c) плагин.");
    
        }
    }
    
    
     
  9. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Вот исправленный исходник (не тестировал):
    Код:
    package com.roboman.plugins;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Solution extends JavaPlugin implements Listener
    {
        @Override
        public void onEnable()
        {
            System.out.println("This MegaKrutoi plugin made by RoboMan and RuBukkit.");
            this.getServer().getPluginManager().registerEvents(this, this);
        }
    
        @Override
        public void onDisable()
        {
            System.out.println("The End...");
        }
    
        @EventHandler
        public void onJoin(PlayerJoinEvent pje)
        {
            Player player = pje.getPlayer();
            if (player.hasPermission("NuProstaSamiiKrutoiPluginVMire.owner")) player.sendMessage(ChatColor.DARK_AQUA + "Это сообщение ты увидел благодаря пермишену NuProstaSamiiKrutoiPluginVMire.owner");
            Bukkit.broadcastMessage(ChatColor.BLUE + "СПАСИБО РуБакит что объяснил этому нубу как меня запустить (c) плагин.");
        }
    }
    [DOUBLEPOST=1420738026,1420737968][/DOUBLEPOST]
    Блин, в следующий раз буду обновлять страницу.
     
  10. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Большое спасибо, насчет Thread.sleep() мне уже объяснили, с @EventHandler тоже понятно. А вот насчет
    Код:
    getServer().getPluginManager().registerEvents(this, this);
    Это как psvm не изменимая часть?
     
  11. Xont

    Xont Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    xOnt
    Раз все уже сказали...с plugin.yml все норм. xD
     
  12. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    И это тоже неизменяемая часть?
    Код:
    public class Мой класс /*Вот до этого я знаю что неизменяемая, а дальше?*/ extends JavaPlugin implements Listener
    [DOUBLEPOST=1420738295,1420738224][/DOUBLEPOST]
    И за это спасибо, я просто пробовал вручную плагин сделать (но там такой бред вышел, рассказывать стыдно), когда я пробовал запустить этот бред, там вся консоль была в ошибках, но самое первое было жалоба на plugin.yml!))
     
  13. Plasticable

    Plasticable Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    plasticable
    Имя в Minecraft:
    Plasticable
    Да. Ты указываешь, что это плагин, и (добавляешь в использование?) слушатель событий
     
  14. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Вовсе нет, он должен лежать в C:/Users/Nazar/IdeaProjects/IMPRO/src.
     
  15. Xont

    Xont Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    xOnt
    class - показывает, что это класс, да, спасибо кэп. (обязательно)
    extends, то, что ты наследуешь JavaPlugin. (обязательно)
    implements, то, что именно в этом классе ты будешь слушать события. (необязательно).
    До меня уже написали, извиняюсь
     
  16. Plasticable

    Plasticable Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    plasticable
    Имя в Minecraft:
    Plasticable
    Сам слушатель тут-же и указываешь
     
  17. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Да вроде-же он у меня там и лежит... Фотка выше.
    Или надо именно в src а не в:
    C:/Users/Nazar/IdeaProjects/IMPRO/src/com/roboman/plugins?
    [DOUBLEPOST=1420738513,1420738479][/DOUBLEPOST]За исправленный код всем спасибо, что дальше делать с этим?
     
  18. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    На скриншоте он лежит в C:/Users/Nazar/IdeaProjects/IMPRO/src/com/roboman/plugins.
     
  19. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Понял.
     
  20. Xont

    Xont Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    xOnt
    File- Export- Выбираешь твой проект - Java- Jar File- Кнопка Next - Указываешь имя и разрешение- Finish. Ой стоп, у тебя ж не Eclipse.
     
  21. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Теперь он в src рядом с папкой com
     
Статус темы:
Закрыта.

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