Перейти к содержанию

Jodex

Пользователи
  • Постов

    26
  • Зарегистрирован

  • Посещение

2 Подписчика

Информация о Jodex

  • День рождения 16.10.2007

Информация

  • Пол
    Мужчина

Контакты

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

Достижения Jodex

  1. Этот гайд написан для школьников, даже если что-то не понятно, можно спросить здесь. По поводу значений по типу Minecraft Version, как школьник будет понимать, что это версия SpigotAPI? Здесь тебе не форум баккита, это инсайд. Пустой Override я просто забыл удалить, это не повод говорить, что код [Слово удалено системой]. Если выводить всё в отдельные классы, то гайд был бы ещё больше и утомительнее для школо. Как я в начале написал, я не учу людей программировать, я всего лишь показал пример. Возможно какой-то школьник захочет повторить и у него получится это сделать, хоть и с костылями.
  2. Пускай учатся хотя бы так. Возможно приведу ещё примеров.
  3. Чтобы люди, которые хотят помочь не заходили сюда просто так.
  4. Если проблема решена, закрой тему.
  5. Привет, форумчане! Давно хотели написать свой плагин? У меня есть для вас решение! Вы уже сегодня сможете написать свой плагин майнкрафт с небольшим функционалом. Здесь я показываю как сделать свой первый плагин, если вы хотите пойти дальше, вам нужно изучить Java, а также внимательно изучить SpigotAPI Поехали! 1 Этап. Скачивание софта. Лично я рекомендую использовать IntelliJ IDEA - ССЫЛКА Очень удобный IDE для разработки на Java. Скачивайте Community версию, она бесплатная! Запускаем программу. Кликаем на кнопку Plugins В поисковике пишем Minecraft Development Устанавливаем, перезапускаем программу. 2 Этап. Подготовка проекта. После запуска программы вас встречает окно выбора проектов, если у вас это первый проект, то никаких других не будет. Справа сверху находим кнопку New Project , кликаем После клика мы видим окно с выбором шаблона проекта. Выбираем Minecraft, далее Spigot Plugin. Project SDK - это версия Java которую вы хотите выбрать для своего проекта, если это плагин ниже 1.12.2, то выбирайте 1.8, если это плагин выше, то выбирайте 11, в моём случае это 1.8 (Java 8). Next Далее видим, что нам предлагает вписать GroupId, ArtifactId и Version GroupId - путь ко всем вашим класс файлам плагина. ArtifactId - название плагина, лучше писать латинскими буквами (желательно без пробелов) Version - версия плагина Пример: Next Очень много разных значений, обьясню по порядку. Plugin Name - название плагина Main Class Name - путь к класс файлу плагина ( Лучше оставить как есть) Minecraft Version - версия майнкрафта Description - описание плагина (Можно оставить пустым) Authors - разработчики плагина (Можно оставить пустым) WebSite - сайт плагина (Можно оставить пустым) Log Prefix - префикс логгирования плагина в консоль (Можно оставить пустым, по умолчанию используется название плагина в качестве префикса) Load Before - загружать плагин после определённых плагинов (Лучше оставить пустым) Depend - зависимости плагина (Какие плагины обязательно требуются для работы нашего плагина, например Vault. Лучше оставить пустым, если вы не используете API других плагинов) Soft Depend - не обязательные зависимости плагина (Какие плагины необязательно требуются для работы нашего плагина) Next Project name - название проекта (можно оставить как есть) Project location - путь к проекту Finish 3 Этап. Написание плагина. Теперь мы перешли к написанию нашего плагина. Я напишу команду /grant для выдачи доната другому игроку. Открываю главный класс import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.plugin.java.JavaPlugin; public final class TestPlugin extends JavaPlugin { @Override public void onEnable() { // Регистрируем команду /grant getCommand("grant").setExecutor((sender, command, label, args) -> { // Если у отправителя нету прав test.plugin.grant выводим сообщение с ошибкой if (!sender.hasPermission("testplugin.grant")) { sender.sendMessage("§7[§c§l!§7] §cУ вас недостаточно прав!"); // Завершаем выполнение return true; } if (args.length == 0 || args.length == 1) { // При вводе /grant отправляем сообщение // также с /grant (ник) ,так как не все аргументы учтены sender.sendMessage("§7[§c§l!§7] §c/grant (ник) (группа)"); return true; } // Аргумент 0 отвечает за строку игрока (ник) String player = args[0]; // Player (переменная) = Bukkit.getPlayer(player) - получаем переменную с игроков доступным на сервере Player target = Bukkit.getPlayer(player); String groupname = "Неизвестно"; String group = ""; // Если аргумент 1 (аргумент с группой) = premium, то if (args[1].equalsIgnoreCase("premium")) { // Перменная group = premium group = "premium"; // Переменная groupname = §3Premium groupname = "§3Premium"; } if (args[1].equalsIgnoreCase("vip")) { group = "vip"; groupname = "§6Vip"; } // Если игрок оффлайн, выводим сообщение и пытаемся выдать донат if (target == null) { sender.sendMessage(ChatColor.RED + "§7[§c§l!§7] §cДанный игрок не онлайн!"); sender.sendMessage(ChatColor.RED + "§7[§c§l!§7] §cПопытка выдачи привилегии..."); Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "lp user " + player + " parent add " + group); return true; } // Если аргумент 0 (ник игрока) совпадает с ником отправителя команды, выводим сообщение if (target.getName().equals(sender.getName())) { sender.sendMessage("§7[§c§l!§7] §cВы не можете выдать привилегию самому себе!"); return true; } // Если количество аргументов равняется 2 и аргумент с группой равняется vip или равняется premium и игрок не оффлайн, // то выполняем команду через консоль (lp user (ник) parent add (группа) if (args.length == 2 && args[1].equalsIgnoreCase("vip") || args[1].equalsIgnoreCase("premium") && target != null) { Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "lp user " + target.getName() + " parent add " + group); sender.sendMessage("§7[§c§l!§7] §aВы успешно выдали игроку §c" + target.getName() + " §aпривилегию " + groupname); target.sendMessage("§7[§c§l!§7] §aАдминистратор §d" + sender.getName() + " §aвыдал вам привилегию " + groupname); return true; } return true; }); } @Override public void onDisable() { } } Далее открываю plugin.yml и в конце файла пишу commands: grant: {} После всех манипуляций я могу спокойно скомпилировать свой плагин, для этого мне нужно справа сверху кликнуть на кнопку Maven И кликнуть на package И вуаля, мой плагин успешно скомпилировался. Теперь заходим в папку с проектом и видим папку target В ней и лежит мой готовый плагин На этом всё, спасибо за внимание!
  6. Пишите свои идеи для [Слово удалено системой]-плагинов, будем обсуждать и возможно создавать🤡
×
×
  • Создать...