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

Статус
Закрыто для дальнейших ответов.

Bohdan_Hrytsak

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
NegaTiV
Привет.Прошу сказать что здесь не так.Первый раз писал плагин который взаемодействует с банжи(если можна так сказать).В консоль кидает ошибку при спробе загрузки плагина!
Код
Java:
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
 
Последнее редактирование:
Ошибка
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
Java:
 import org.bukkit.plugin.Plugin;
Как лучше переделать етат плагин?
 
Ошибка
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>
static ByteArrayOutputStream b;
static DataOutputStream out;
Как то не очень... Учитывая что заполняешь(и не очищаешь) out, а посылаешь b.
 
1) в onEnable.
2) отсылаешь нулевой пакет при Exception. Чет как то не очень=)
2) Весь код что выше был взять с другого плагина.Перед етим я ево использовал в другом и он прекрансо работал.Помоему ошибка в другом.Плагин проста не грузитса.
 
2) Весь код что выше был взять с другого плагина.Перед етим я ево использовал в другом и он прекрансо работал.Помоему ошибка в другом.Плагин проста не грузитса.
2) Если работал, то это странно ^_^. А плагин не запускается из-за того что где-то создается второй инстанс.
 
2) Если работал, то это странно ^_^. А плагин не запускается из-за того что где-то создается второй инстанс.
Попробывал сделать както по другом и вот ета работает.
Java:
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());
  }
Но как заставить работать код на верху?
 
Моя оплошность ^_^ Удачи в дальнейшей реализации.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх