Was ist bei meinem Plugin Falsch?

Hallo allerseits,

ich habe gerade ein plugin gemacht das keine Fehler auffweist dennoch ist in minecraft im chat immer wenn ich den Command ausführe "Unknown Command"

Aber es wurde alles Richtig gemacht

Main class:

package at.nyntex.prefix;

import commands.Command_Prefix;
import org.bukkit.plugin.java.JavaPlugin;

public final class Prefix extends JavaPlugin {

    @Override
    public void onEnable() {
        System.out.println("§8[§b§lBetterPrefix§8] §awurde erfolgreich geladen!");

        //comma register

     getCommand("prefix").setExecutor(new Command_Prefix());




     //listeners
    }

    @Override
    public void onDisable() {
        // Plugin shutdown logic
    }
}

Command:

package commands;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import java.lang.annotation.Target;

public class Command_Prefix implements CommandExecutor {
    @Override
    public boolean onCommand(CommandSender s, Command cmd, String label, String[] args) {
       String pr = "§8[§b§lBetterPrefix§8]";
        Player t = Bukkit.getPlayer(args[0]);
        Player p = (Player) s;
        if(s instanceof Player) {

            if(args.length == 0){
               if(p.hasPermission("prefix list")) {
                   p.sendMessage(pr + "§6 PREFIX - LIST:");
                   p.sendMessage("§f1 - §3King");
                   p.sendMessage("§f2 - §cScammer");
                   p.sendMessage("§f3 - §dFreund");
               }else{
                   p.sendMessage(pr+ "§cDazu hast du keine Rechte!");
               }

            }else{
                if (args.length == 2){
                     if(p.hasPermission("prefix.use")){
                         if(t != null);
                         if(args[1].equals(t)){
                             if(args[2].equalsIgnoreCase("1")){
                                 t.setDisplayName("§3King : " + t.getName());
                                 p.sendMessage(pr + "§aDer Prefix §3King§a wurde an " + t.getName() + "§avergeben");
                             }else{
                                 if(args[2].equalsIgnoreCase("2")){
                                     t.setDisplayName("§cScammer : " + t.getName());
                                     p.sendMessage(pr + "§aDer Prefix §cScammer§a wurde an " + t.getName() + "§avergeben");
                                 }else{
                                     if(args[2].equalsIgnoreCase("3")){
                                         t.setDisplayName("§dFreund : " + t.getName());
                                         p.sendMessage(pr + "§aDer Prefix §dFFreund§a wurde an " + t.getName() + "§avergeben");
                                     }else{
                                         if(args[2].equalsIgnoreCase("del")){
                                             t.setDisplayName(t.getName());
                                             p.sendMessage(pr + "§aDer Prefix wurde erfolgreich zurückgesetzt");
                                         }else{
                                             p.sendMessage(pr + "§c Benutze §6/prefix <Spieler> 1/2/3§c !");
                                         }
                                     }
                                 }
                             }
                         }else{
                             p.sendMessage(pr + "§c Benutze §6/prefix <Spieler> 1/2/3§c !");
                         }

                }else{
                         p.sendMessage(pr + "§cDazu hast du keine Rechte!");
                     }
                }
            }

        }else{
            s.sendMessage("Du musst ein Spieler sein!");
        }




        return false;
    }
}

Plugin yml:

name: BetterPrefix
version: ${project.version}
main: at.nyntex.prefix.Prefix
api-version: 1.19
Commands:
  prefix:
Minecraft, Plug-in
Was haltet ihr von Maria.2.0 und dieser Aktion?

Maria.2.0 ist eine Initiative von Frauen in der römisch-katholischen Kirche, die sich für Reformationen innerhalb der römisch-katolischen Kirche einsetzt.

"Konkret fordert die Aktion "Maria 2.0" im Wortlaut:

kein Amt mehr für diejenigen, die andere geschändet haben an Leib und Seele oder diese Taten geduldet oder vertuscht haben

die selbstverständliche Überstellung der Täter an weltliche Gerichte und uneingeschränkte Kooperation mit den Strafverfolgungsbehörden

Zugang von Frauen zu allen Ämtern der Kirche

Aufhebung des Pflichtzölibatskirchliche Sexualmoral an der Lebenswirklichkeit der Menschen auszurichten"

https://www.spiegel.de/panorama/gesellschaft/maria-2-0-bewegung-fordert-frauenrechte-in-der-katholischen-kirche-a-1266926.html

Seit den Schwierigkeiten mit Kardinal Woelki in Köln bei denen er ein Gutachten zum Missbrauch erstellen ließ, dieses jedoch nicht veröffentlichte und sich Hilfe bei einer PR-Agebtur holte, mit der er u.a. Mitglieder des Betroffenenrates beeinflussen wollte diese Enstcheidung als richtig anzusehen, steht er dauerhaft in Kritik.

Die Initiative Maria 2.0 hat eine Aktion am Bistum Köln gewagt:

"Mit einer symbolischen Absperrung des Erzbischöflichen Generalvikariats in der Kölner Marzellenstraße am frühen Montagmorgen hat die katholische Basisbewegung Maria 2.0 das Verhalten der Bistumsleitung nach den jüngsten Enthüllungen zu Kardinal Rainer Woelkis PR-Strategie im Missbrauchsskandal angeprangert.

„Die Führungsspitze des Erzbistums versagt moralisch auf der ganzen Linie“, sagte die Sprecherin von Maria 2.0, Maria Mesrian.

Mit dem Nachweis einer bewussten Instrumentalisierung des Betroffenenbeirats zur Durchsetzung von Woelkis Plänen und dem Schweigen des Kardinals zu diesem ungeheuerlichen Verhalten ist jetzt erneut eine Grenze überschritten worden.“ Wie zuvor der Kölner Stadtdechant Robert Kleine sprach Mesrian von einer „moralischen Bankrotterklärung“.

Protestaktion in Köln: „Woelki ist ein Bischof ohne Volk“

Mit der Aktion wolle Maria 2.0 einerseits das Wegducken führender Funktionäre anprangern, andererseits aber auch stellvertretend für diejenigen in der Bistumsverwaltung stehen, die in einem Klima der Angst und des unkontrollierten Machtgebarens zum Schweigen gebracht werden.

„Tiefpunkt erreicht“ Kölner Seelsorger distanzieren sich in Resolution von WoelkiKommentar zu Woelki Erzbistum Köln liefert ein Lehrstück des strukturellen VersagensWoelkis PR-Strategie Opfervertreter: „Charakter einer Verschwörung“

„Wir wissen, wie viele aufrechte Katholikinnen und Katholiken in den Diensten des Bistums unter ihrer Führung leiden“, so Mesrian. Die kritischen öffentlichen Erklärungen von inzwischen fast der Hälfte der Stadt- und Kreisdechanten und von Vertretern der Seelsorgenden zeigten, dass der Kardinal im gesamten Bistum zunehmend isoliert sei. „Woelki ist ein Bischof ohne Volk.“ (red)

https://www.ksta.de/koeln/protest-gegen-woelki-in-koeln-maria-2-0-sperrt-generalvikariat-ab--39877408

Was haltet ihr von Maria.2.0 und dieser Aktion?
Maria2.0 finde ich gut, diese Aktion auch 65%
Maria2.0 finde ich schlecht, diese Aktion auch 19%
Andere Antwort 10%
Maria2.0 finde ich gut, diese Aktion schlecht 3%
Maria2.0 finde ich schlecht, diese Aktion gut 3%
Religion, Kirche, Deutschland, Politik, Frauen, Christentum, Papst, Abstimmung, Umfrage
Wo liegt bei meinem Code der Fehler?

Hallo zusammen,

ich habe grad als Übung diesen Code geschrieben.
Allerdings kommt beim eingeben des neuen Preises dieser Fehler

 AttributeError: 'Auto' object has no attribute 'setPreis'

In dem Buch, aus dem ich den Code habe, steht es allerdings (meiner Ansicht nach) genau so da.

Vielleicht findet ja jemand von euch den Fehler!
LG Tobi

 class Auto:
    def __init__(self,ma, mo, bj, pr):
        self.__Marke = ma
        self.__Modell = mo
        self.__Baujahr = bj
        self.__Preis = pr


def getMarke(self):
    return self.__Marke
def getModell(self):
    return self.__Modell
def getBaujahr(self):
    return self.__Baujahr
def getPreis(self):
    return self.__Preis

def setPreis(self, preis_neu):
    if abs(self.__Preis - preis_neu) < self.__Preis * 0.05:
        self.__Preis = preis_neu
    else:
        print("Die Abweichung von Preis ist sehr groß.")
        bestaetigung = input("Soll",preis_neu,"als neuer Preis festgelegt werden? (ja/nein)")
        if bestaetigung == "ja":
            self.__Preis = preis_neu

auto1 = Auto("VW", "Golf", 2011, 5000)
auto2 = Auto("Audi", "A4", 2003, 13000)
auto3 = Auto("Porsche", "Panamera", 2021, 50000)


# Laut Debug ist der Fehler in der Zeile darunter
wert = eval(input("Geben Sie den neuen Preis ein: "))
auto1.setPreis(wert)

print ("Neuer Preis:", auto1.setPreis())
Computer, programmieren, fehlercode, Python

Was möchtest Du wissen?