From e723f23b3ade4e7ae178ecb8db3a40682fe92e00 Mon Sep 17 00:00:00 2001 From: Sergey Velikonsky <94070808+TermalQuake@users.noreply.github.com> Date: Fri, 5 May 2023 02:39:17 +0300 Subject: [PATCH] 1.0 --- src/main/java/me/lignumreload/main.java | 74 ++++++++++++++++++ src/main/resources/plugin.yml | 10 +++ .../classes/me/lignumreload/main$logic.class | Bin 0 -> 3534 bytes target/classes/me/lignumreload/main.class | Bin 0 -> 972 bytes target/classes/plugin.yml | 8 ++ 5 files changed, 92 insertions(+) create mode 100644 src/main/java/me/lignumreload/main.java create mode 100644 src/main/resources/plugin.yml create mode 100644 target/classes/me/lignumreload/main$logic.class create mode 100644 target/classes/me/lignumreload/main.class create mode 100644 target/classes/plugin.yml diff --git a/src/main/java/me/lignumreload/main.java b/src/main/java/me/lignumreload/main.java new file mode 100644 index 0000000..d359d98 --- /dev/null +++ b/src/main/java/me/lignumreload/main.java @@ -0,0 +1,74 @@ +package me.lignumreload; + +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.World; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import org.bukkit.plugin.java.JavaPlugin; + +public final class main extends JavaPlugin { + + @Override + public void onEnable() { + // Plugin startup logic + System.out.println("всё работает!"); + getCommand("ligreload").setExecutor(new logic()); + } + + @Override + public void onDisable() { + // Plugin shutdown logic + System.out.println("всё сломалось :с"); + } + public class logic implements CommandExecutor { + @Override + public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { + if (cmd.getName().equalsIgnoreCase("ligreload")) { + if(sender instanceof Player) { // Проверяем, что команду вызвал игрок + Bukkit.savePlayers(); + for (World world : Bukkit.getWorlds()) { + world.save(); + System.out.println("out.мир сохранился"); + } + + Player player = (Player) sender; // Приводим CommandSender к типу Player + sender.sendMessage(ChatColor.GREEN + "Технический перезапуск сервера через:"); + player.playSound(player.getLocation(), "minecraft:entity.cat.ambient", 1.0f, 1.0f); // Проигрываем звук кота + // отсчёт с 5 до 0 + for (int i = 5; i >= 0; i--) { + if (i == 0) { + sender.sendMessage(ChatColor.RED + "Пожалуйста не двигайтесь."); + } else { + sender.sendMessage(ChatColor.YELLOW + String.valueOf(i)); + player.playSound(player.getLocation(), "minecraft:entity.experience_orb.pickup", 1.0f, 1.0f); // Проигрываем звук лвл + } + try { + Thread.sleep(1000); // ждём 1 сек + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + //Player player = (Player) sender; // Приводим CommandSender к типу Player + String title = ChatColor.RED + "Перезапуск..."; // Заголовок сообщения + String subtitle = ChatColor.YELLOW.toString() + "Пожалуйста, подождите."; // Подзаголовок сообщения + int fadeIn = 10; // Время появления заголовка (в тиках) + int stay = 70; // Время отображения заголовка (в тиках) + int fadeOut = 20; // Время исчезновения заголовка (в тиках) + player.sendTitle(title, subtitle, fadeIn, stay, fadeOut); // Отправляем заголовок игроку + } + Bukkit.getServer().reload(); // Перезагружаем сервер + System.out.println("out.перезапуск успешен"); + Player player = (Player) sender; // Переводим CommandSender в Player + player.playSound(player.getLocation(), "minecraft:entity.player.levelup", 1.0f, 1.0f); // Проигрываем звук лвл апа + sender.sendMessage(ChatColor.GREEN + "Перезагрузка прошла успешно."); + return true; + } + return false; + } + } +} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml new file mode 100644 index 0000000..4d1d9d4 --- /dev/null +++ b/src/main/resources/plugin.yml @@ -0,0 +1,10 @@ +name: LignumReload +version: '${project.version}' +author: TermalQuake +website: lignum.su +main: me.lignumreload.main +api-version: 1.19 +commands: + ligreload: + description: Перезагрузить плагины + usage: /ligreload diff --git a/target/classes/me/lignumreload/main$logic.class b/target/classes/me/lignumreload/main$logic.class new file mode 100644 index 0000000000000000000000000000000000000000..07dac4427694e213e2fbde1be688e28009ad5ec5 GIT binary patch literal 3534 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