Minecraft Bukkit Plugin: Was bedeutet "null", "!" "instanceof" ....

4 Antworten

Ich hab überall in Google gesucht aber ich finde nix

Das ist schlicht und einfach gelogen. "java instanceof" gibt ca. 18 Millionen Suchergebnisse zurück. Meine Definition des Wortes "nix" ist irgendwie anders.

Deine Fragen lassen ganz klar durchblicken, dass du weder von Java noch Bukkit (programmatisch) etwas verstehst. Diese Fragen sich Anfängerfragen bzw. grundlegende Sachen, die in jedem zweitklassigen Youtube-Tutorial behandelt werden. Such also mit einer Suchmaschine deiner Wahl nach "java tutorial" (es wird sogar etwas gefunden) ein und nimm dir ein oder zwei vor.

Ansonsten sollte in dem Tutorial noch Klassen, Instanzen, Interfaces, Listener Pattern, Enums sowie Ploymorphismus behandelt werden. Das brauchst du, um die Bukkit-API (besser) zu verstehen.

schachtl 
Fragesteller
 08.04.2015, 12:53

Das ist nicht gelogen. Ich weiß schon die Grundladen?.. Ich weis was eine Listener ist .. die Grundladen halt. 

0

x instanceof y = wenn man x zu y casten kann = wenn x y ist.

null = nicht 0 sondern "nichts" also wenn die Variable "leer" ist.

args[x] = wenn du z.B. die onCommand Methode verwendest übergibst du ein paar Variablen Bsp.: 

public boolean onCommand(CommandSender sender, Command cmd,String label, String[] args) {

Du hast jetzt einen Commandsender der sender heißt. Er gibt an, wer den Command ausführt. Den Command an sich(cmd) also z.B. bei /test 1 2 3 währe test der Name des Commands. Dann noch das Label mit dem ich auch nichts anfangen kann :D.

 Zuletztnoch die args. Das ist eine Folge von Strings(eine Folge von Zeichen z.b. aB_0). Du kannst auf jeden String mit einer Nummer zugreifen z.B. bei /test 1 2 3 mit args[0] zu 1 mit args[1] zu 2 mit args[2] zu 3 und bei args[3] würdest du nen Fehler kriegen weil der fehlt.

/[cmd.getName] args[0] args[1] args[2] ...

! ist in Java negativierend Bsp. If(1 == 0) währe nicht richtig da 1 nie 0(nicht null) sein wird. if(1 != 0) währe richtig, weil 1 nicht 0 ist. Du kannst es auch nicht mit Zahlen machen Bsp. if(!x.equals(y))

Du nimmst dir eine Zahl(int oder Interger) und wandelst sie in einen Short um. Ein Short ist in kurzen Zahlen performanter. Ein Long dagegen in langen. (Der Seed einer Welt wird meistens als Long angegeben, weil der eben lang ist).

|| ist in Java oder. if(irgendeinmaterial.equals(material.apple) || irgendeinmaterial.equals(material.bed)) heißt also wenn irgendeinmaterial ein Apfel ist oder ein bed.

&& ist dagegen und. if(irgendeinmaterial.equals(material.apple) && irgendeinmaterial.equals(material.bed)) heißt wenn irgendeinmaterial gleichzeitig bed und apfel ist, was nie sein kann.

ne Hashmap ist wenn du 2 Sachen quasi verknotest. Bsp. HashMap<Player, Integer> irgendwas = new HashMap<>();

du kannst dann da was reinstecken Bsp. irgendwas.put(irgendeinSpieler, 5);

und raushohlen Bsp. irgendwas.get(irgendeinSpieler) dann ist das 5

irgendwas.getValue(5) ist dann irgendein Spieler.

Ein String ist eine Variable, die eine Zeichenfolge sein muss Bsp. String irgendwas = "aB_0" in ne ArrayList Bsp. ArrayList<String> imspiel = new ArrayList<>()

kannst du Sachen rein tuen Bsp. imspiel.add("irgendeinSpielerName")

und dann gucken ob er drin ist Bsp. if(imspiel.contains("irgendeinSpielerName")

oder entfernen wenn er drin ist Bsp. imspiel.remove("irgendeinSpielerName")

Hoffe ich konnte dir helfen :) 

Bei Fragen einfach PN.

schachtl 
Fragesteller
 07.04.2015, 10:28

Vielen Dank :D

1
MaxLPs  07.04.2015, 10:28
@schachtl

Immer Gerne. Bei Fragen einfach PN wie gesagt

0
MisterNeugier  17.06.2016, 15:04

null = nicht 0 sondern "nichts" also wenn die Variable "leer" ist.

Nein das ist falsch.

null = nicht "leer" sondern null heisst sie ist nicht da sie enthält garnichts :), denn leer wäre sowas "" :)

0
Buh13246  03.01.2017, 01:26

ergänzend kann ich noch label erklären (auch wenn es hier nicht gefragt war) . Label ist der name des Aufrufs (bei "/test" ist es "test" bei "/ping" ist es "ping" etc.)  ist außerst wichtig wenn du ein plugin mit mehreren Commands schreibst. Ich empfehle aber möglichst für jeden befehl ein eigenes Plugin zu schreiben ... hoffe ich konnte helfen ;)

Buh13246

0

mit instanceof kannst du herausfinden ob ein Bukkit Objekt ein Spieler, die Konsole oder etwas anderes ist.

Fang erst garnicht mit Bukkit Plugins an, wenn du nicht mal die Java Grundlagen kennst

MaxLPs  07.04.2015, 13:47

Eigentlich hat er nicht gefragt ob er mit Bukkit Plugins anfangen sollte, sondern nach schweren Begriffen. Aber Grundlagen sollte man manche kennen oder bisschen mehr nachforschen was die angeht

0
schachtl 
Fragesteller
 08.04.2015, 12:54

Aha. Mit was soll ich sonst anfangen mit C++?!..

0