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

Помогите Как работать с Bunnge.

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

Статус темы:
Закрыта.
  1. Автор темы
    Bohdan_Hrytsak

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

    Баллы:
    76
    Имя в Minecraft:
    NegaTiV
    Привет.Прошу сказать что здесь не так.Первый раз писал плагин который взаемодействует с банжи(если можна так сказать).В консоль кидает ошибку при спробе загрузки плагина!
    Код
    Код:
    package ua.haipls.project;
    
    import java.io.ByteArrayOutputStream;
    import java.io.DataOutputStream;
    import java.io.IOException;
    import org.bukkit.Bukkit;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerKickEvent;
    import org.bukkit.plugin.Plugin;
    import org.bukkit.plugin.java.JavaPlugin;
    public class Main
      extends JavaPlugin
      implements Listener
    {
      static Plugin plugin;
      static boolean bk;
      static String s;
      public void onEnable()
      {
        saveDefaultConfig();
        getServer().getPluginManager().registerEvents(this, this);
        getCommand("lobby").setExecutor(this);
        plugin = this;
        s = getConfig().getString("server");
        bk = getConfig().getBoolean("teleportatkick");
      }
      public void onDisable() {}
      static void teleport(Player p){
            Bukkit.getServer().getMessenger().registerOutgoingPluginChannel(plugin, "BungeeCord");
           ByteArrayOutputStream b = new ByteArrayOutputStream();
           DataOutputStream out = new DataOutputStream(b);
           try
           {
             out.writeUTF("Connect");
             out.writeUTF(s);
           }
           catch (IOException localIOException) {}
           p.sendPluginMessage(plugin, "BungeeCord", b.toByteArray());
      }
      @EventHandler
      public static void onkick(PlayerKickEvent e)
      {
        if(bk){
        e.setCancelled(true);
        Player p = e.getPlayer();
        teleport(p);
      }
     }
      public boolean onCommand(CommandSender sender, Command command,String label, String[] args) {
         if(command.getName().equalsIgnoreCase("lobby")){
             if(sender instanceof Player){
                 Player p = (Player) sender;
                 teleport(p);
             }
            sender.sendMessage("NOT CONSOL");
            return true;
         }
         return false;
      }
    }
    
    
    
    
    Plugin.yml
    Код:
    name: LobbyCommand
    version: 1.2
    description: Teleport player in lobby.
    author: Haipls
    main: ua.haipls.Main
    commands:
      lobby:
        aliases: [hub,loby]
        usage: /lobby
    
     
    Последнее редактирование: 19 янв 2017
  2. Автор темы
    Bohdan_Hrytsak

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

    Баллы:
    76
    Имя в Minecraft:
    NegaTiV
    Ошибка
    Could not load 'plugins/YourWayLobbyCommand.jar' in folder 'plugins'org.bukkit.plugin.InvalidPluginException: java.lang.IllegalArgumentException: Plugin already initialized! at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:135) ~[spigot.jar:git-Spigot-db6de12-18fbb24] at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[spigot.jar:git-Spigot-db6de12-18fbb24] at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) [spigot.jar:git-Spigot-db6de12-18fbb24] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:292) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:198) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525) [spigot.jar:git-Spigot-db6de12-18fbb24] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]Caused by: java.lang.IllegalArgumentException: Plugin already initialized! at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:122) ~[spigot.jar:git-Spigot-db6de12-18fbb24] at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:66) ~[spigot.jar:git-Spigot-db6de12-18fbb24] at ua.haipls.Main.<init>(Main.java:11) ~[?:?] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_45] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_45] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_45] at java.lang.reflect.Constructor.newInstance(Constructor.java:422) ~[?:1.8.0_45] at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_45] at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:76) ~[spigot.jar:git-Spigot-db6de12-18fbb24] at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[spigot.jar:git-Spigot-db6de12-18fbb24] ... 6 moreCaused by: java.lang.IllegalStateException: Initial initialization at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:125) ~[spigot.jar:git-Spigot-db6de12-18fbb24] at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:66) ~[spigot.jar:git-Spigot-db6de12-18fbb24] at ua.haipls.Main.<init>(Main.java:11) ~[?:?] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_45] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_45] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_45] at java.lang.reflect.Constructor.newInstance(Constructor.java:422) ~[?:1.8.0_45] at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_45] at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:76) ~[spigot.jar:git-Spigot-db6de12-18fbb24] at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[spigot.jar:git-Spigot-db6de12-18fbb24] ... 6 more>
    Строка 11
    Код:
     import org.bukkit.plugin.Plugin;
    Как лучше переделать етат плагин?
     
  3. Sonicxd2

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

    Баллы:
    76
     
  4. Автор темы
    Bohdan_Hrytsak

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

    Баллы:
    76
    Имя в Minecraft:
    NegaTiV
    Так лучше ?
     
  5. Sonicxd2

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

    Баллы:
    76
    1)
    в onEnable.
    2)
    отсылаешь нулевой пакет при Exception. Чет как то не очень=)
     
  6. Автор темы
    Bohdan_Hrytsak

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

    Баллы:
    76
    Имя в Minecraft:
    NegaTiV
    2) Весь код что выше был взять с другого плагина.Перед етим я ево использовал в другом и он прекрансо работал.Помоему ошибка в другом.Плагин проста не грузитса.
     
  7. Sonicxd2

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

    Баллы:
    76
    2) Если работал, то это странно ^_^. А плагин не запускается из-за того что где-то создается второй инстанс.
     
  8. Автор темы
    Bohdan_Hrytsak

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

    Баллы:
    76
    Имя в Minecraft:
    NegaTiV
    Попробывал сделать както по другом и вот ета работает.
    Код:
    public class Main
      extends JavaPlugin
      implements Listener
    {
      static Plugin plugin;
      public void onEnable()
      {
        getServer().getPluginManager().registerEvents(this, this);
        plugin = this;
      }
      public void onDisable() {}
      @EventHandler
      public static void onkick(PlayerKickEvent e)
      {
        e.setCancelled(true);
        Player p = e.getPlayer();
        Bukkit.getServer().getMessenger().registerOutgoingPluginChannel(plugin, "BungeeCord");
      
        ByteArrayOutputStream b = new ByteArrayOutputStream();
        DataOutputStream out = new DataOutputStream(b);
        try
        {
          out.writeUTF("Connect");
          out.writeUTF("lobby");
        }
        catch (IOException localIOException) {}
        p.sendPluginMessage(plugin, "BungeeCord", b.toByteArray());
      }
    
    Но как заставить работать код на верху?
     
  9. Sonicxd2

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

    Баллы:
    76
    Моя оплошность ^_^ Удачи в дальнейшей реализации.
     
  10. Автор темы
    Bohdan_Hrytsak

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

    Баллы:
    76
    Имя в Minecraft:
    NegaTiV
    Спасиб.Проблему решил преназвал пакет.ХЗ ЧТО ЗА ПРОБЛЕМА НО ПОМОГЛО.
     
Статус темы:
Закрыта.

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