Python Bukkit Plugin Fehler?

Hallo,

Ich wollte mich mal damit Beschäftigen, wie man für Minecraft Plugins in Python programmiert. Dafür habe ich mir einen Bukkit-Server eingerichtet und das Plugin PPLoader installiert, damit ich selber Plugins in Python entwickeln kann.

Ich habe mir dann ein passendes Verzeichnis erstellt und mir die beiden notwendigen Dateien erstellt.

plugin.py:

class HelloPlugin(PythonPlugin):
    def onEnable(self):
        self.getLogger().info("Hello world!")

plugin.yml:

name: Hello Plugin
mani: HelloPlugin
version: 1.0

Aber leider wenn ich meinen Server starte bekomme ich folgenden Fehler:

[16:41:54] [Server thread/INFO]: [PPLoader] Loading PPLoader v1.2.0
[16:41:54] [Server thread/INFO]: [PPLoader] Loading Plugin Hello.py.dir
[16:41:54] [Server thread/WARN]: org.bukkit.plugin.InvalidPluginException: org.bukkit.plugin.InvalidDescriptionException: main is not defined
[16:41:54] [Server thread/WARN]:    at org.cyberlis.pyloader.PythonPluginLoader.loadPlugin(PythonPluginLoader.java:160)
[16:41:54] [Server thread/WARN]:    at org.cyberlis.pyloader.PythonPluginLoader.loadPlugin(PythonPluginLoader.java:119)
[16:41:54] [Server thread/WARN]:    at org.cyberlis.pyloader.PythonPluginLoader.loadPlugin(PythonPluginLoader.java:93)
[16:41:54] [Server thread/WARN]:    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:393)
[16:41:54] [Server thread/WARN]:    at org.cyberlis.pyloader.PythonLoader.onLoad(PythonLoader.java:85)
[16:41:54] [Server thread/WARN]:    at org.bukkit.craftbukkit.v1_20_R3.CraftServer.loadPlugins(CraftServer.java:433)
[16:41:54] [Server thread/WARN]:    at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:213)
[16:41:54] [Server thread/WARN]:    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:979)
[16:41:54] [Server thread/WARN]:    at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:296)
[16:41:54] [Server thread/WARN]:    at java.base/java.lang.Thread.run(Thread.java:1583)
[16:41:54] [Server thread/WARN]: Caused by: org.bukkit.plugin.InvalidDescriptionException: main is not defined
[16:41:54] [Server thread/WARN]:    at org.bukkit.plugin.PluginDescriptionFile.loadMap(PluginDescriptionFile.java:1037)
[16:41:54] [Server thread/WARN]:    at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.java:264)
[16:41:54] [Server thread/WARN]:    at org.cyberlis.pyloader.PythonPluginLoader.loadPlugin(PythonPluginLoader.java:152)
[16:41:54] [Server thread/WARN]:    ... 9 more
[16:41:54] [Server thread/WARN]: Caused by: java.lang.NullPointerException: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is null
[16:41:54] [Server thread/WARN]:    at org.bukkit.plugin.PluginDescriptionFile.loadMap(PluginDescriptionFile.java:1032)
[16:41:54] [Server thread/WARN]:    ... 11 more

Viele Grüße und danke für eine Antwort

TheCPP

Minecraft, Minecraft Server, Plug-in, Python, Bukkit, Bukkit-Plugin
Minecraft Citybuild Server erstellen?

Hey Community,

Ich baue gerade an einem Minecraft Spigot 1.14.4 Server.

Das Hauptprinzip des Servers ist "Advanced Survival". Ich will aber nicht nur Minigames und andere Spielmodi als Extra hinzufügen, sondern habe auch von "Citybuild" gehört.

Bitte nehmt es mir nicht übel, aber Ich bin so gar nicht der Typ der oft auf Servern spielt, sondern eher der Typ, der sich auf das "Schönbauen" konzentriert und die Server selbst macht.

Das führt natürlich dazu, dass Ich keine Ahnung habe, was Citybuild eigentlich ist (Ja, Ich weiß, es ist lustig, dass Ich keine Ahnung habe). Anscheinend geht es darum, dass es Coins gibt (also wird Vault benötigt) und man diese mit Jobs verdienen kann. Man kann Plots claimen und so etwas schönes bauen (Warum auch immer, das macht ja gar keinen Sinn, da gibt es bestimmt auch einen Grund für). Materialen bekommt man aus anderen Welten (z. B. Farmwelt).

Korrigiert mich wenn Ich etwas falsch verstanden habe (Habe Ich sehr wahrscheinlich).

Doch Ich weiß trotzdem nicht, wie man so einen Citybuild Server macht.

Deshalb lautet meine eigentliche Frage: Wie mache Ich so einen Server und was für Plugins benötige Ich dafür (Bzw. welche würdet ihr mir empfehlen)? Wie kann Ich automatisch so eine Welt mit Plots generieren? Und das größte Problem ist, dass das der eigentliche Server in der 1.14.4 ist, die meißten Plugins aber nur für z. B. 1.12. Wie kann Ich machen dass 1.12 Plugins trotzdem funktionieren (Die anderen Server kriegen das ja auch hin, dass man mit verschiedenen Versionen joinen kann)? Und man soll das ganze auch von einem 1.14.4 Server betreten können.

Auch wenn ihr nur die Antwort auf eine Frage kennt, gebt sie mir Bitte. Ich weiß, dass Ich seht viele Fragen gestellt habe, deshalb freue Ich mich auch über eine Antwort. Danke im Vorraus ♥️.

Server, Computer, Gaming, Minecraft, Minecraft Server, Spigot, Bukkit server, Bukkit-Plugin, BukkitSpigot, Spigot Server, Spigot Plugin, Spiele und Gaming
Bukkit Java: Public Static String = Target.getName(); nicht in Methode erlaubt. Wie mache ich das Trotzdem. Ich muss das in der Methode machen. Mehr in der Fra?

Hey!

Ich will ein Plugin machen, wo man Spieler in Teams einteilt.

Um einen Spieler zu einem Team zu adden, soll man /set team 1 <Spieler> nutzen.

Und das gleiche noch mit /set team 2 <Spieler>

Ich will die Spieler Namen in einen String haben.

Guckt bitte bei den // -**

wie macht man das?

} else if (args[0].equalsIgnoreCase("team")) {
    if (args[1].equalsIgnoreCase("1")) {
        //TEAM 1 SET
    Player target1 = Bukkit.getPlayer(args[2]);
    p.sendMessage("§aDu wurdest von §5§l" + p.getName() + "§a§r in Team 1 eingesetzt!");
    Bukkit.broadcastMessage("§aDer Spieler §5§l" + target1.getName() + "§r§a wurde von §5§l" + p.getName() + "§r§a in Team §4§l1 §r§aeingesetzt!");

// -HIER SOLL EIN PUBLIC STRING HIN DEN ICH AUS JEDER KLASSE AUFRUFEN KANN // - ODER ETWAS ANDERES ES SOLLTE IRGENDWIE SO SEIN:

   Public Static String Team1 = Target1.getName();

//TEAM 2

} else if (args[1].equalsIgnoreCase("2")) {
    //TEAM 2 SET
    Player target2 = Bukkit.getPlayer(args[2]);
    p.sendMessage("§aDu wurdest von §5§l" + p.getName() + "§a§r in Team 2 eingesetzt!");
    Bukkit.broadcastMessage("§aDer Spieler §5§l" + target2.getName() + "§r§a wurde von §5§l" + p.getName() + "§r§a in Team §4§l2 §r§aeingesetzt!");

mfg colin

Computer, programmieren, Java, Minecraft, Informatik, Bukkit, Bukkit-Plugin, Spigot Server, Spiele und Gaming

Meistgelesene Fragen zum Thema Bukkit-Plugin