Chanti_heyhey Geschrieben 26. Mai 2014 Share Geschrieben 26. Mai 2014 Hallo Leute, ich habe mal eine Frage, ich bin anfänger im programmieren mit Java und habe bei dem Plugin irgendwo einen Fehler, leider weiß ich aber nicht wo, bitte helft mir package Info;import net.minecraft.server.v1_7_R1.PacketPlayOutPlayerInfo;import org.bukkit.craftbukkit.v1_7_R1.entity.CraftPlayer;import org.bukkit.entity.Player;import org.bukkit.event.EventHandler;import org.bukkit.event.Listener;import org.bukkit.event.player.PlayerJoinEvent;import org.bukkit.plugin.java.JavaPlugin;public class JoinListener extends JavaPlugin implements Listener { @SuppressWarnings("unused") private Object plugin; public JoinListener(JoinListener plugin){ this.plugin = plugin; plugin.getServer().getPluginManager().registerEvents(this, plugin); } @EventHandler public void OnJoin(PlayerJoinEvent e) { Player p = e.getPlayer(); String name = p.getName(); if(name.length() > 14){ name = name.substring(0, 14); } updateTablist(p); if(p.isOp()){ e.setJoinMessage("Welcome back " + p.getName()); p.setPlayerListName("?4" + name); }else{ e.setJoinMessage("Welcome to the server " + p.getName()); if(p.hasPermission("Farbe.Supporter")){ p.setPlayerListName("?a" + name); } } } public void updateTablist(Player p){ PacketPlayOutPlayerInfo packet1 = new PacketPlayOutPlayerInfo("?1rfhdzfgk", true, 0); ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packet1); PacketPlayOutPlayerInfo packet2 = new PacketPlayOutPlayerInfo("?8eefdsedgad", true, 0); ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packet2); PacketPlayOutPlayerInfo packet3 = new PacketPlayOutPlayerInfo("?5sdfs<e", true, 0); ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packet3); }} Hier ist die dazugehörige Fehlermeldung: [13:39:47] [server thread/ERROR]: Could not load 'plugins/ScoreF.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: Abnormal plugin type at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:56) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:313) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:236) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugins(CraftServer.java:350) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at org.bukkit.craftbukkit.v1_7_R1.CraftServer.reload(CraftServer.java:771) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at org.bukkit.Bukkit.reload(Bukkit.java:279) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:175) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:683) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchServerCommand(CraftServer.java:670) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at net.minecraft.server.v1_7_R1.DedicatedServer.aw(DedicatedServer.java:286) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:251) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] Caused by: java.lang.InstantiationException: Info.JoinListener at java.lang.Class.newInstance(Unknown Source) ~[?:1.7.0_51] at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:52) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] ... 15 more Ich hoffe ihr könnt mir helfen Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Beefsteakwerfer Geschrieben 26. Mai 2014 Share Geschrieben 26. Mai 2014 Gibt es das gleiche Problem nicht schon in einem anderen Thema? Der Quellcode kommt mir bekannt vor. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Arcalio Geschrieben 26. Mai 2014 Share Geschrieben 26. Mai 2014 (bearbeitet) Ist das nicht egal? Helfen wir ihm doch einfach (oder wenigstens könnten wir ihm ein Beef anbieten )! Also... 1. Passt dein Plugin zu deiner Bukkit-Version auf deinem Server? 2. Zwar ist das nicht der Fehler, aber wie sieht deine plugin.yml aus? 3. Damit das Event funktioniert, musst du es auch registrieren. Dafür stellt JavaPlugin eine onEnable()-Methode zur Verfügung. Dort fügst du dann folgende Zeile ein: getServer().getPluginManager().registerEvents(this, this); Das ist erstmal das, was ich als erstes finde. Allerdings hatte ich noch nie "Abnormal plugin type" Gruß Arcalio bearbeitet 26. Mai 2014 von Arcalio Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Baustein Geschrieben 26. Mai 2014 Share Geschrieben 26. Mai 2014 Caused by: java.lang.InstantiationException: Info.JoinListener Ich vermute mal, deine Instanzenbildung ist falsch. Schau deinen Constructor nochmal durch Liebe Grüße, Baustein Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Arcalio Geschrieben 26. Mai 2014 Share Geschrieben 26. Mai 2014 Ich vermute mal, deine Instanzenbildung ist falsch. Schau deinen Constructor nochmal durch Liebe Grüße, Baustein Also mir sieht das nach der einzigen Klasse aus, du kannst also selbst schauen Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Baustein Geschrieben 26. Mai 2014 Share Geschrieben 26. Mai 2014 Wenn's die einzige Klasse ist, so kann der Konstruktor ganz raus. EDIT: Dann macht man alles nötige halt im onEnable() Liebe Grüße, Baustein Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Arcalio Geschrieben 26. Mai 2014 Share Geschrieben 26. Mai 2014 EDIT: Dann macht man alles nötige halt im onEnable() Dafür stellt JavaPlugin eine onEnable()-Methode zur Verfügung. Arcalio war wieder mal schneller Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Baustein Geschrieben 26. Mai 2014 Share Geschrieben 26. Mai 2014 Also mir sieht das nach der einzigen Klasse aus, du kannst also selbst schauen Also mir sieht das nach der einzigen Klasse aus, du kannst also selbst schauen 1. Beziehen diese Zitate sich auf unterschiedliche Themen 2. Selbst wenn sie sich auf dasselbe Thema beziehen, so ist es widersprüchlich 3. Zweimal derselbe Smiley... Bah. Liebe Grüße, Baustein Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Chanti_heyhey Geschrieben 26. Mai 2014 Autor Share Geschrieben 26. Mai 2014 (bearbeitet) Ist das nicht egal? Helfen wir ihm doch einfach (oder wenigstens könnten wir ihm ein Beef anbieten )! Also... 1. Passt dein Plugin zu deiner Bukkit-Version auf deinem Server? 2. Zwar ist das nicht der Fehler, aber wie sieht deine plugin.yml aus? 3. Damit das Event funktioniert, musst du es auch registrieren. Dafür stellt JavaPlugin eine onEnable()-Methode zur Verfügung. Dort fügst du dann folgende Zeile ein: getServer().getPluginManager().registerEvents(this, this); Das ist erstmal das, was ich als erstes finde. Allerdings hatte ich noch nie "Abnormal plugin type" Gruß Arcalio 1. mein Server läuft auf 1.7.2-1.7.5 und die Bukkit version mit der ich programmiere ist 1.7.2 2. name: TabName version: 1.0 main: Info.JoinListener 3. Diese Zeile ist schon enthalten: public JoinListener(JoinListener plugin){ this.plugin = plugin; plugin.getServer().getPluginManager().registerEvents(this, plugin); } #edit: Ich habe das Plugin jetzt soweit bearbeitet, dass es keine Fehlermeldungen anzeigt und dennoch nicht Funktioniert -> Ich habe nun dies mit dem Registrieren der Events in eine OnEnable() methode geschrieben und außerdem noch das System.out.println("[Tabname] " + this.getDescription().getversion() + " is now enabled") hinzugefügt um zu sehen ob das Plugin überhaupt geladen wird. Das Plugin wird geladen und zeigt keine Fehlermeldungen mehr an, dennoch funktioniert es nicht, hat wer noch andere ideen? bearbeitet 26. Mai 2014 von Chanti_heyhey Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Arcalio Geschrieben 26. Mai 2014 Share Geschrieben 26. Mai 2014 1. Wir können dir sicher besser helfen, wenn du den gesamten Code postest und nicht nur Bruchstücke. Am besten auch nicht dazwischen zu viele Leerzeilen. 2. Hast du denn mal getestet, ob dein Event funktioniert? Geh am besten schrittweise durch deinen Code und überprüfe, an welcher Stelle etwas nicht passt. Dort kannst du dann das Problem/deinen Fehler immer weiter eingrenzen @Baustein: Was zur Hölle laberst du? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Baustein Geschrieben 27. Mai 2014 Share Geschrieben 27. Mai 2014 @Baustein: Was zur Hölle laberst du? Darauf geh ich mal nicht ein main: Info.JoinListener "Info" ist ein ungewöhnlicher Package-Name, sicher, dass er so ist? Das wärs ja noch Dürfte dann aber beim Laden des Plugins eine PackageNotFoundException oder so raushauen... Liebe Grüße, Baustein Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Arcalio Geschrieben 27. Mai 2014 Share Geschrieben 27. Mai 2014 "Info" ist ein ungewöhnlicher Package-Name, sicher, dass er so ist? Das wärs ja noch Dürfte dann aber beim Laden des Plugins eine PackageNotFoundException oder so raushauen... Du siehst doch oben die Hauptklasse. Offensichtlich wurde das Package so genannt, auch wenn das unüblich ist Außerdem lag die Fehlermeldung an der Tatsache, dass ein Konstruktor verwendet wurde statt der onEnable()-Methode... Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden