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

Стартап Создаем плагины на Bukkit

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

?

Продолжать?

Голосование закрыто 1 апр 2017.
  1. Да

    20,0%
  2. Нет

    40,0%
  3. Иди в ж...

    50,0%
  4. ДААААААА!

    0 голосов
    0,0%
Можно выбрать сразу несколько вариантов.
Статус темы:
Закрыта.
  1. Автор темы
    DWortY

    DWortY Ньюби

    Баллы:
    1
    Имя в Minecraft:
    DWortY
    Итак, я думаю все знают что такое плагины на Bukkit.
    Есть множество разных Ядр:
    • Bukkit
    • Spigot
    • Cauldron
    • BungeeCord
    Существует еще много различных ядр, сегодня разработаем плагин для Bukkit!
    Итак начнем:
    Нам понадобятся программы:
    Начнем, запустим Eclipse. Видим стартовый экран.
    Выберем путь к главной папке с плагинами (Проектами).
    Закроем начал. страницу и создадим проект. Кликаем ПКМ по Package Explorer, Новый, Java Project.
    Введем Название проекта и нажмем Готово.

    Нажмем на папочку src ПКМ и создадим новый Package
    назовем его например ru.dworty в нем создадим Class файл, назовем его Main.
    Затем нажмем ПКМ на наш проект и нажмем Properties.
    Далее Java Build Path -> Libraries -> Add External JARs -> Выберим ядро сервера. Готово.
    Код:
    package ru.dworty;
    
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Main extends JavaPlugin {
      
    }

    Затем наводим мышку на JavaPlugin и import.

    Добавим методы при включении плагина и выключении.
    Напишем
    Код:
    package ru.dworty;
    
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Main extends JavaPlugin {
        public void onEnable() {
          
        }
        public void onDisable() {
          
        }
    }
    Готово, теперь создадим первый класс отвечающий Handler'у.
    Назовем класс Handler. В классе добавим евент выполнения.
    Для этого введем код:
    Код:
    package ru.dworty;
    
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    
    public class Handler implements Listener {
        @EventHandler
        public void onJoin(PlayerJoinEvent e) {
          
        }
    }
    Данный код изображает Евент который срабатывает при заходе
    игрока на сервер. Давайте выведим ему сообщение в чат:
    'Ты зашел на сервер!' красным цветом.
    Напишем код:
    Код:
    package ru.dworty;
    
    import net.md_5.bungee.api.ChatColor;
    
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    
    public class Handler implements Listener {
        @EventHandler
        public void onJoin(PlayerJoinEvent e) {
            Player p = e.getPlayer();
          
            p.sendMessage(ChatColor.RED + "Ты зашел на сервер");
        }
    }
    В следующих частях я обьясню как добавлять комманды в плагин.
    Жду голосов!
     
  2. Хостинг MineCraft
    <
  3. Mr_RoboMan

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

    Баллы:
    123
    Зачем?
     
  4. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Согласен. Ничего сложнее не может никто сделать
     
  5. Автор темы
    DWortY

    DWortY Ньюби

    Баллы:
    1
    Имя в Minecraft:
    DWortY
    Я только начал
    !!!
    Не суди строго!
     
  6. LuckyZeeRo

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

    Баллы:
    76
    Skype:
    luckyzeero
    Имя в Minecraft:
    LuckyZeeRo_
    Не стоит делать туториалы, если ты не опытный. Никому такое не нужно. Подучись и создавай.
     
  7. Dexel

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

    Баллы:
    76
    Skype:
    the_osirius
    1) Вместо Eclipse лучше всего использовать IntelliJ IDEA. Он половину кода может написать за программиста.
    2) Объясняй. Почему мы должны создавать onEnable и onDisable? Что такое ивенты? Почему мы должны это писать? Что такое Handler? Почему в классе Main мы приписываем extends JavaPlugin? Почему мы не приписываем то же самое в Handler'е? Почему мы приписываем там какой-то implements Listener?
    3) Хватит импортировать лишние библиотеки. Почему вы всё время пишете ChatColor.RED? Из-за этого ведь сообщение получается длинным и сложным для чтения? Почему мы не можем написать "§cТы зашёл на сервер!" вместо ChatColor.RED + "Ты зашёл на сервер!". Почему именно ChatColor? Правильно, потому что так написано во всех (во многих) туториалах. Отсюда мы видим "креативность" автора.
    4) Почему мне кажется, что это вообще не сработает? Мы не увидим сообщение, так как не зарегистрировали этот самый PlayerJoinEvent. Хотя я могу ошибаться. Опять же - косяк автора. А из-за чего косяк? Из-за отсутствия опыта.
    5) И конечно, перфекционист внутри меня просто не смог не обратить внимание на ошибки в словах
    (ядер)
    и
    (выберем)
    Насчёт пунктуации я заставил его (перфекциониста) заткнуться.

    По-моему, автор только начал изучать плагины вообще. Такое чувство, что он посмотрел псевдотуториал и написал сюда то, что усвоил.

    Извиняюсь за слишком конструктивную критику, но я действительно видел туториалы получше.
    Голосую за второй вариант.
     
  8. Blc_Dragon

    Blc_Dragon Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    Blc_Dragon
    посмотрите, какой гуру кодер нашелся, который даже доки открыть не может, и сыпет вопросами, туторы на которые, есть даже на русском
     
  9. Dexel

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

    Баллы:
    76
    Skype:
    the_osirius
    Где же я, интересно, назвал себя гуру?
     
  10. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Мне не нравится, удаляй.
     
  11. Blc_Dragon

    Blc_Dragon Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    Blc_Dragon
    тебе сюда
    +1
     
  12. Bohdan_Hrytsak

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

    Баллы:
    76
    Имя в Minecraft:
    NegaTiV
    Ззззааааччччеееммм?
     
  13. PsyhopatMC

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

    Баллы:
    78
    Skype:
    ilyxxxaa
    Имя в Minecraft:
    Psyhopat
    Скажу больше, он не отловит эвент, потому что то просто не зарегистрирован.
     
  14. Автор темы
    DWortY

    DWortY Ньюби

    Баллы:
    1
    Имя в Minecraft:
    DWortY
    Заедает клава, я говорил Я НАЧИНАЮЩИЙ !
     
Статус темы:
Закрыта.

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