1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Плагин [CHAT/STREAM] MyStream v1.0 - Плагин нужен для оповещения о стримах на сервер! [1.12.2-R1.0]

Тема в разделе "Неподтвержденные плагины", создана пользователем Gizar_TV, 27 авг 2020.

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

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

    Баллы:
    76
    Имя в Minecraft:
    Gizar_TV
    MyStream - Релиз плагина:
    Версия: v1.0

    Плагин API ядро: CraftBukkit_1.12.2.jar

    Этот плагин позволит вам уведомлять игроков на сервере о ваших стримах на YouTube!

    - mystream.use
    - mystream.stop
    - mystream.reload
    /stream (cсanel) (url)
    /stream reload
    /stream stop
    /stream
    #Плагин cделан автором Gizar_TV YouTube канал: https://youtube.com/c/gizartv
    #Подробние о плагине на:
    #Плагин сделан при поддержке сервера MineRun ВК ссылка: https://vk.com/minerun.sknd.host
    messages:
    #Сообшение о недостатке прав!
    noper: '&cУ вас нет прав!'
    #Сообшение о стриме!
    messages: '&aУ %name% на канале, сейчас стрим: %url%'
    #Сообшение о успешном сохранение!
    successfully: '&aУспешно сохранено!'
    #Сообшение о законченом стриме!
    stopstream: '&a%name% закончил стримить на сервере!'
    #Сообшение о не стриме!
    nostream: '&cВы неможете остановить стрим если вы не стримите!'

    Код:
    package MyStream.main;
    
    import java.io.File;
    import java.util.ArrayList;
    import org.bukkit.Bukkit;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class MyStream extends JavaPlugin{
    
        public void onEnable(){
      
            File config = new File(getDataFolder() + File.separator + "config.yml");
            if(!config.exists()){
                getConfig().options().copyDefaults(true);
                saveDefaultConfig();
          
            }
            Bukkit.getPluginManager().registerEvents(new Handler(this), this);
      
            getCommand("Stream").setExecutor(new Commands(this));
        }
     
        ArrayList<String> streams = new ArrayList<String>();
    }
    
    Код:
    package MyStream.main;
    
    import org.bukkit.Bukkit;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerQuitEvent;
    
    public class Handler implements Listener{
     
        private MyStream plugin;
    
        public Handler(MyStream plugin) {
           this.plugin = plugin;
        }
     
        @EventHandler
        public void onStopStream(PlayerQuitEvent e) {
            Player player = e.getPlayer();
            if(plugin.streams.contains(player.getName())) {
               plugin.streams.remove(player.getName());
            }
            for(Player p : Bukkit.getOnlinePlayers()) {
                    p.sendMessage(plugin.getConfig().getString("messages.stopstream").replace("&", "§").replace("%name%", e.getPlayer().getName()));
                }
            }
     
    }
    
    
    
    Код:
    package MyStream.main;
    
    import java.util.UUID;
    import org.bukkit.Bukkit;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    
    public class Commands implements CommandExecutor{
     
        private MyStream plugin;
    
        public Commands(MyStream instance) {
            plugin = instance;
        }
    
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
      
            Player player = (Player)sender;
      
            if(!sender.hasPermission("mystream.use")) {
                sender.sendMessage(plugin.getConfig().getString("messages.noper").replace("&", "§"));
                return true;
            }
      
            if(!sender.hasPermission("mystream.stop")) {
                sender.sendMessage(plugin.getConfig().getString("messages.noper").replace("&", "§"));
                return true;
            }
      
            if(args.length == 0) {
                 if(sender.hasPermission("mystream.use")) {
                     UUID player1 = player.getUniqueId();
                     String playername = plugin.getConfig().getString("youtubers." + player1 + ".player");
                     if(sender.getName() == playername) {
                         for(Player p : Bukkit.getOnlinePlayers()) {
                              String name = plugin.getConfig().getString("youtubers." + player1 + ".name");
                              String url = plugin.getConfig().getString("youtubers." + player1 + ".url");
                              p.sendMessage(plugin.getConfig().getString("messages.messages").replace("%name%", name).replace("%url%", url).replace("&", "§"));
                              if(!plugin.streams.contains(sender.getName())) {
                                     plugin.streams.add(sender.getName());
                                     return true;
                              }
                        }
                    }else {
                      return false;
                    }
                }
            }
      
            if(args.length == 1) {
                if(args[0].equalsIgnoreCase("stop")) {
                    if(sender.hasPermission("mystream.stop")) {
                        if(plugin.streams.contains(sender.getName())) {
                               plugin.streams.remove(sender.getName());
                        }
                        for(Player p : Bukkit.getOnlinePlayers()) {
                            p.sendMessage(plugin.getConfig().getString("messages.stopstream").replace("&", "§").replace("%name%", sender.getName()));
                                 return true;
                            }
                      }else {
                          sender.sendMessage(plugin.getConfig().getString("nostream").replace("&", "§"));
                          return true;
                    }
                  }
                 return true;
                }
                if(args.length == 1) {
                   if(args[0].equalsIgnoreCase("reload")) {
                         if(sender.hasPermission("mystream.reload")) {
                             sender.sendMessage("§aReloded starting!");
                             plugin.reloadConfig();
                             sender.sendMessage("§aReloded complited!");
                             return true;
                  }
               }else {
                   return false;
                  }
                }
      
            if(args.length == 2) {
                if(sender.hasPermission("mystream.use")) {
                    UUID player1 = player.getUniqueId();
                    String playername = plugin.getConfig().getString("youtubers." + player1 + ".player");
                    if(sender.getName() == playername) {
                        for(Player p : Bukkit.getOnlinePlayers()) {
                             String name = plugin.getConfig().getString("youtubers." + player1 + ".name");
                             String url = plugin.getConfig().getString("youtubers." + player1 + ".url");
                             p.sendMessage(plugin.getConfig().getString("messages.messages").replace("%name%", name).replace("%url%", url).replace("&", "§"));
                             if(!plugin.streams.contains(sender.getName())) {
                                 plugin.streams.add(sender.getName());
                             }
                            }
                    }else {
                        String name = args[0].replace("/", " ").replace("!", " ").replace("@", " ").replace("#", " ").replace("$", " ").replace("%", " ").replace("^", " ").replace("*", " ").replace("+", " ");
                        String url = args[1];
                        plugin.getConfig().set("youtubers." + player.getUniqueId() + ".player", sender.getName());
                        plugin.getConfig().set("youtubers." + player.getUniqueId() + ".name", name);
                        plugin.getConfig().set("youtubers." + player.getUniqueId() + ".url", url);
                        plugin.saveConfig();
                        sender.sendMessage(plugin.getConfig().getString("messages.successfully").replace("&", "§"));
                  }
               }
                return true;
            }
      
            return true;
        }
    
    }
    
    Сурсы на GitHub: https://github.com/GizarTV/MyStream/tree/master/MyStream

    Особенности:
    • Мой плагин дает возможность
    • Оповещать сервер о стримах
    Скачать релиз плагина:

    Плагин на GitHub: https://github.com/GizarTV/MyStream
    Плагин на Spigot.org: https://www.spigotmc.org/resources/mystream.83246/
    Плагин на Bukkit.org: https://dev.bukkit.org/projects/mystream
    Плагин на Яндекс Диске: https://yadi.sk/d/RGL5pZVt6PyQ1g
     
    Последнее редактирование: 28 авг 2020
  2. Saharo4ek

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

    Баллы:
    96
    Имя в Minecraft:
    tin
    Плагин как-то проверит наличие стрима или любой человек с правом хоть порнуху в чат будет рекламировать под видом стрима?
     
  3. Автор темы
    Gizar_TV

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

    Баллы:
    76
    Имя в Minecraft:
    Gizar_TV
    Он не проверит а выдаст ссылку которую указал человек при регистрации стрима
     
  4. Автор темы
    Gizar_TV

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

    Баллы:
    76
    Имя в Minecraft:
    Gizar_TV
    Тк право выдают ютуберам людям у которых есть ютуб канал и зачем людям пиарить что-то другое по мимо своего контента
     
  5. Автор темы
    Gizar_TV

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

    Баллы:
    76
    Имя в Minecraft:
    Gizar_TV
    Да и любой админ может проверить какую сылку он указал через конфиг
     
  6. Saharo4ek

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

    Баллы:
    96
    Имя в Minecraft:
    tin
    Тебе сколько лет? Ты до сих пор думаешь, что все люди белые и пушистые и никак не могут тебе поднасрать?
     
  7. SaMEC

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

    Баллы:
    173
    Skype:
    support.meedway
    Имя в Minecraft:
    Nick
    Наивно, а если по существу, точно таких же плагинов уже много. Интересней будет если он будет оповещать только тогда, когда ютубер подрубил стрим.(Хотя и такой уже есть)
     
  8. Автор темы
    Gizar_TV

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

    Баллы:
    76
    Имя в Minecraft:
    Gizar_TV
    Но у них сложная настройка да использование для стримера будет той ещë историей а с этим плагинов можно просто с помощью 2-х комманд запустить стрим и остановить
     
  9. SaMEC

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

    Баллы:
    173
    Skype:
    support.meedway
    Имя в Minecraft:
    Nick
    Сложная настройка? Использование? Скажем так, он идентичен с вашим, только вот написан лет так 5 назад (это к тому что идея давно динозар)
     
  10. Автор темы
    Gizar_TV

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

    Баллы:
    76
    Имя в Minecraft:
    Gizar_TV
    мой попроще там надо писать /stream (название канала) (url стрима)
    а в том там какие то аргументы еще
     
  11. nutrolshok

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

    Баллы:
    76
    Структура кода - говно, сам код - костыльное говно)
     
  12. SaMEC

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

    Баллы:
    173
    Skype:
    support.meedway
    Имя в Minecraft:
    Nick
    А там есть код?
     
  13. Автор темы
    Gizar_TV

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

    Баллы:
    76
    Имя в Minecraft:
    Gizar_TV
    Я тебя не заставляю скачивать плагин я сделал его для себя
    Весь мой хейт - мой хайп
    Хотя это не про рубакит хотя ты поднимаешь тему в верх
     
  14. Автор темы
    Gizar_TV

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

    Баллы:
    76
    Имя в Minecraft:
    Gizar_TV
    Костыли в студию
     
  15. kefavova

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

    Баллы:
    76
    Имя в Minecraft:
    Afek
    Ты основ java даже не знаешь.
     
  16. nutrolshok

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

    Баллы:
    76
  17. 4APP1

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

    Баллы:
    76
    Имя в Minecraft:
    HappyWaffle
    Мне кажется в сети точно есть какой-нибудь Twitch или Youtube API, в нем точно есть какой-нибудь ивент по началу стрима. Как по мне, от автоматического сообщения о включении или выключении стрима будет намного больше смысла
    Русс. Яз тоже бы неплохо подучить тебе
     
  18. SaMEC

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

    Баллы:
    173
    Skype:
    support.meedway
    Имя в Minecraft:
    Nick
    Естественно есть, даже велосипед изобретать не надо
     
  19. Автор темы
    Gizar_TV

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

    Баллы:
    76
    Имя в Minecraft:
    Gizar_TV
    Опять же говорю не нравится выходите из темы
    А насчет API я бы поискал
     
  20. 4APP1

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

    Баллы:
    76
    Имя в Minecraft:
    HappyWaffle
    Но ведь ты выложил плагин на форум, на всеобщее обозрение. Очевидно же, что если что-то выкладываешь, будь готов к критике. Очень глупо считать критику чем-то плохим, так как она показывает плохие стороны твоего плагина. А так, если "Опять же говорю не нравится выходите из темы", то оставил бы плагин у себя и не выкладывал, никто и критиковать не будет
     

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