Bonjour / Bonsoir,
Je créer un plugin de Hub pour mon serveur et quand je tente de faire connecter un joueur sur un autre lobby, une erreur apparaît dans la console, je suis sous Spigot-1.8, je me suis renseigner sur le wiki des plugins message de spigot (https://www.spigotmc.org/wiki/bukkit-bungee-plugin-messaging-channel/), hélas, j'ai rien trouvé par rapport à mon bug
Voici l'erreur se trouvant dans la console :
Et voici le code du plugin :
Merci d'avance de votre aide,
Cordialement DuckInGame.
Je créer un plugin de Hub pour mon serveur et quand je tente de faire connecter un joueur sur un autre lobby, une erreur apparaît dans la console, je suis sous Spigot-1.8, je me suis renseigner sur le wiki des plugins message de spigot (https://www.spigotmc.org/wiki/bukkit-bungee-plugin-messaging-channel/), hélas, j'ai rien trouvé par rapport à mon bug
Voici l'erreur se trouvant dans la console :
Code:
[14:56:46 ERROR]: Could not pass event InventoryClickEvent to BressolaMainHub v1.000.00
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1630) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PacketPlayInWindowClick.a(SourceFile:31) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PacketPlayInWindowClick.a(SourceFile:9) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_251]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_251]
at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_251]
Caused by: java.lang.IllegalArgumentException: Plugin source cannot be null
at org.bukkit.plugin.messaging.StandardMessenger.validatePluginMessage(StandardMessenger.java:473) ~[spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer.sendPluginMessage(CraftPlayer.java:1039) ~[spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at fr.DuckInGame.MainPluginHub.Events.ClickInGameMenu.onClickInGameMenu(ClickInGameMenu.java:36) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_251]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_251]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_251]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_251]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
... 15 more
Et voici le code du plugin :
Java:
package fr.DuckInGame.MainPluginHub.Events;
import java.util.Random;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import com.google.common.io.ByteArrayDataOutput;
import com.google.common.io.ByteStreams;
import fr.DuckInGame.MainPluginHub.Main;
public class ClickInGameMenu implements Listener {
private Main plugin = Main.getPlugin(Main.class);
@EventHandler
public void onClickInGameMenu(InventoryClickEvent e) {
ItemStack is = e.getCurrentItem();
Inventory inv = e.getInventory();
Player p = (Player) e.getWhoClicked();
int slot = e.getSlot();
if(is == null) return;
if(inv.getName().equalsIgnoreCase("Game Menu - Page 1")) {
ByteArrayDataOutput out = ByteStreams.newDataOutput();
Random random = new Random();
if(slot == 9) {
String[] hubservers = {"hub1", "hub2", "hub3"};
out.writeUTF("Connect");
out.writeUTF(hubservers[random.nextInt(hubservers.length)]);
p.sendPluginMessage(plugin, "BungeeCord", out.toByteArray());
}
}
}
}
Merci d'avance de votre aide,
Cordialement DuckInGame.