• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Minecraft Plugin Code Fehler

Map_der_echte

Redstoneengineer
Mitglied seit
28 September 2018
Beiträge
34
Was ist an diesem Code falsch:
Java:
package main;

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin {

    public void onEnable() {
        System.out.println("Dein Plugin wurde gestartet!");
    }

    public void onDisable() {
        System.out.println("Dein Plugin wurde gestoppt!");
    }

    public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args) {
        if (cmd.getName().equalsIgnoreCase("forum")) {

            Player p = (Player) sender;
            if (p.hasPermission("TestPlugin.help")) {
                if (args.length == 0) {
                    p.sendMessage("§2Zum Forum:");
                    p.sendMessage("http://pixelmine1.xobor.de/");
                } else {
                    p.sendMessage("/forum");
                }
            }
            else {
                p.sendMessage("§4Du hast keine Rechte dazu.");
            }

            return true;
        }

        return false;
    }

}
 

BiVieh

Minecrafter
Mitglied seit
3 Juli 2018
Beiträge
2
Minecraft
DasBiVieh
Welcher Fehler resultiert denn aus deinem Quellcode?
 

DerFrZocker

Miner
Osterei Experte
Mitglied seit
10 Dezember 2017
Beiträge
151
Alter
19
Minecraft
DerFrZocker
Wie schon @ES-Henne geschrieben hat kann Zeile 21 zu ein Fehler führen. Wenn du den Command von der Console ausführst.
Wobei du den CommandSender nicht mal zum Spieler Casten musst, da alle Methoden die du aufrufst auch beim CommandSender vorhanden sind.

Da ich aber vermute, dass du es als Spieler testest. Könnte es auch sein, dass du vergessen hast den command in die plugin.yml einzutragen.

Noch eine kleine Anmerkung: "Main" ist einer der schlechtesten Namen für eine Plugin classe.
Besser wäre da den Name des Projektes / Plugin zu nehmen.
 

Avankziar

Kuhfänger
Osterei Experte
Mitglied seit
12 Februar 2018
Beiträge
81
Alter
26
Minecraft
Avankziar
bevor du Player p = (Player) sender; machen kannst musst du ausschließen, dass es sich eventuell um etwas anderres als um einen Spieler handeln kann, aka:
Code:
if(!(sender instanceof Player))
{
    return;
}
Player p = (Player)sender;
 

Map_der_echte

Redstoneengineer
Mitglied seit
28 September 2018
Beiträge
34
Das Plugin wird erfolgreich gestartet aber ich habe keine Rechte dazu obwohl ja jeder Spieler help Rechte hat.
 

Avankziar

Kuhfänger
Osterei Experte
Mitglied seit
12 Februar 2018
Beiträge
81
Alter
26
Minecraft
Avankziar
ja, aber die orginalen help Permission ist 'minecraft.command.help' soviel ich weiß und nicht 'TestPlugin.help'..
Heißt also entweder musst du im code die Permission ändern, oder du gibt dir die Permission 'TestPlugin.help'...
 

Map_der_echte

Redstoneengineer
Mitglied seit
28 September 2018
Beiträge
34
Muss ich sonst noch etwas ändern den es geht noch immer nicht.
Hier der veränderte Code.
Java:
package main;

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin {

    public void onEnable() {
        System.out.println("[TestPlugin] Das Plugin wurde erfolgreich gestartet");
    }

    public void onDisable() {
        System.out.println("Dein Plugin wurde gestoppt!");
    }

    public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args) {
        if (cmd.getName().equalsIgnoreCase("forum")) {
            Player p = (Player) sender;
            if (sender instanceof Player) {
                if (p.hasPermission("minecraft.command.help")) {
                    if (args.length == 0) {
                        p.sendMessage("╔════════════════╗");
                        p.sendMessage("  §2Zum Forum:");
                        p.sendMessage("  http://pixelmine1.xobor.de/");
                        p.sendMessage("╚════════════════╝");
                    } else {
                        p.sendMessage("/forum");
                    }
                } else {
                    p.sendMessage("§4Du hast keine Rechte für diesen Command.");
                }
            }

            return true;
        }

        return false;
    }

}
 

Avankziar

Kuhfänger
Osterei Experte
Mitglied seit
12 Februar 2018
Beiträge
81
Alter
26
Minecraft
Avankziar
Code:
package main;

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin {

    public void onEnable() {
        System.out.println("[TestPlugin] Das Plugin wurde erfolgreich gestartet");
    }

    public void onDisable() {
        System.out.println("Dein Plugin wurde gestoppt!");
    }

    public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args) {
        if (cmd.getName().equalsIgnoreCase("forum")) {
            if (sender instanceof Player) {
                Player p = (Player) sender;
                if (p.hasPermission("bukkit.command.help")) {
                    if (args.length == 0) {
                        p.sendMessage("╔════════════════╗");
                        p.sendMessage("  §2Zum Forum:");
                        p.sendMessage("  http://pixelmine1.xobor.de/");
                        p.sendMessage("╚════════════════╝");
                    } else {
                        p.sendMessage("/forum");
                    }
                } else {
                    p.sendMessage("§4Du hast keine Rechte für diesen Command.");
                }
            }

            return true;
        }

        return false;
    }

}
So müsste es jetzt richtig sein und verzeih es war bukkit,command.help und nicht minecraft.command.help (Zumindest hoffe ich das :D)
 

Map_der_echte

Redstoneengineer
Mitglied seit
28 September 2018
Beiträge
34
Danke für deine Hilfe Avankizar. Es hat jetzt funktioniert.
Aber ich habe jetzt ein neues Plugin erstellt und jetzt funktionieren beide Plugin nicht mehr, also das Plugin und das neue Plugin.
Ich bekomme auch keine Fehlermeldung.
 

BlackHole

Workaholic
Mitglied seit
1 Juli 2012
Beiträge
749
Minecraft
BlackHole
Evtl. haben beide Plugins den selben Namen oder verwenden beide als Hauptklasse main.Main?
 

Map_der_echte

Redstoneengineer
Mitglied seit
28 September 2018
Beiträge
34
Ich habe die eine Main Datei auf at.Map.main.Main und die andere auf at.Map_der_echte.main.Main.
Wenn ich nur das ältere starte geht es wenn ich aber beide oder nur das neue starte bekomme ich zwar keinen Fehler aber mit /pl und in der console wird die Startnachricht nicht angezeigt.
 

DerFrZocker

Miner
Osterei Experte
Mitglied seit
10 Dezember 2017
Beiträge
151
Alter
19
Minecraft
DerFrZocker
Heißen die beiden plugins auch unterschiedlich in der plugin.yml?
 

JOO200

Vorarbeiter
Osterei Experte
Mitglied seit
18 Dezember 2016
Beiträge
249
Normalerweise steht gaaaanz oben in der latest.log eine Fehlermeldung, wo ungefähr "Cannot load Plugin xxx" Such das mal und paste das hier rein, dann geht das schneller :p
 

JOO200

Vorarbeiter
Osterei Experte
Mitglied seit
18 Dezember 2016
Beiträge
249
1. Benenne dein Plugin von "Übung" in irgendetwas anderes ohne "Ü" um. Umlaute können je nachdem Probleme bereiten.
2. "at.Map.main.main" - ist das sicher dein Main-Pfad? Nicht eher "at.Map.main.Main"?
3. Benenne den Namen deiner "Main"-Klasse um, in irgendetwas, was etwas aussagekräftiger ist. Nenn dein Forums-Plugin doch "at.mapderechte.forum.ForumPlugin" (Pfade sollten klein geschrieben werden, Klassennamen CamelCase)
 
Allgemein
Hilfe Benutzer
    SkyPlayerTV SkyPlayerTV: Hallo
    Oben