Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

Метки:
Теги Теги
новый плагин плагин

Gizar_TV

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Gizar
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
 
Последнее редактирование:
Плагин как-то проверит наличие стрима или любой человек с правом хоть порнуху в чат будет рекламировать под видом стрима?
 
Плагин как-то проверит наличие стрима или любой человек с правом хоть порнуху в чат будет рекламировать под видом стрима?
Он не проверит а выдаст ссылку которую указал человек при регистрации стрима
 
Плагин как-то проверит наличие стрима или любой человек с правом хоть порнуху в чат будет рекламировать под видом стрима?
Тк право выдают ютуберам людям у которых есть ютуб канал и зачем людям пиарить что-то другое по мимо своего контента
 
Плагин как-то проверит наличие стрима или любой человек с правом хоть порнуху в чат будет рекламировать под видом стрима?
Да и любой админ может проверить какую сылку он указал через конфиг
 
Да и любой админ может проверить какую сылку он указал через конфиг
Тебе сколько лет? Ты до сих пор думаешь, что все люди белые и пушистые и никак не могут тебе поднасрать?
 
Да и любой админ может проверить какую сылку он указал через конфиг
Наивно, а если по существу, точно таких же плагинов уже много. Интересней будет если он будет оповещать только тогда, когда ютубер подрубил стрим.(Хотя и такой уже есть)
 
Наивно, а если по существу, точно таких же плагинов уже много. Интересней будет если он будет оповещать только тогда, когда ютубер подрубил стрим.(Хотя и такой уже есть)
Но у них сложная настройка да использование для стримера будет той ещë историей а с этим плагинов можно просто с помощью 2-х комманд запустить стрим и остановить
 
Но у них сложная настройка да использование для стримера будет той ещë историей а с этим плагинов можно просто с помощью 2-х комманд запустить стрим и остановить
Сложная настройка? Использование? Скажем так, он идентичен с вашим, только вот написан лет так 5 назад (это к тому что идея давно динозар)
 
Сложная настройка? Использование? Скажем так, он идентичен с вашим, только вот написан лет так 5 назад (это к тому что идея давно динозар)
мой попроще там надо писать /stream (название канала) (url стрима)
а в том там какие то аргументы еще
 
Структура кода - говно, сам код - костыльное говно)
Я тебя не заставляю скачивать плагин я сделал его для себя
Весь мой хейт - мой хайп
Хотя это не про рубакит хотя ты поднимаешь тему в верх
 
Мне кажется в сети точно есть какой-нибудь Twitch или Youtube API, в нем точно есть какой-нибудь ивент по началу стрима. Как по мне, от автоматического сообщения о включении или выключении стрима будет намного больше смысла
Русс. Яз тоже бы неплохо подучить тебе
 
Мне кажется в сети точно есть какой-нибудь Twitch или Youtube API, в нем точно есть какой-нибудь ивент по началу стрима. Как по мне, от автоматического сообщения о включении или выключении стрима будет намного больше смысла
Русс. Яз тоже бы неплохо подучить тебе
Естественно есть, даже велосипед изобретать не надо
 
Опять же говорю не нравится выходите из темы
А насчет API я бы поискал
 
Но ведь ты выложил плагин на форум, на всеобщее обозрение. Очевидно же, что если что-то выкладываешь, будь готов к критике. Очень глупо считать критику чем-то плохим, так как она показывает плохие стороны твоего плагина. А так, если "Опять же говорю не нравится выходите из темы", то оставил бы плагин у себя и не выкладывал, никто и критиковать не будет
 

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

Назад
Верх