Jump to content

Minecraft Plugin: Modifizieren der Tablist


Recommended Posts

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 to comment
Share on other sites

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" :D

Gruß Arcalio

Edited by Arcalio
Link to comment
Share on other sites

Caused by: java.lang.InstantiationException: Info.JoinListener

Ich vermute mal, deine Instanzenbildung ist falsch.

Schau deinen Constructor nochmal durch ;)

Liebe Grüße,

Baustein

Link to comment
Share on other sites

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 :P

Link to comment
Share on other sites

Also mir sieht das nach der einzigen Klasse aus, du kannst also selbst schauen :P

Also mir sieht das nach der einzigen Klasse aus, du kannst also selbst schauen :P

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 to comment
Share on other sites

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" :D

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?

Edited by Chanti_heyhey
Link to comment
Share on other sites

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? :D

Link to comment
Share on other sites

@Baustein: Was zur Hölle laberst du? :D

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 to comment
Share on other sites

"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 to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...
B
B