Coding mit Java | Java-basierten APIs

  • Ersteller Ersteller ij9F_i0FaF-d9lrDSDDpDbfo
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
Hab da auch mal ne Frage.
Code:
Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.v1_8_R1.block.CraftBlockState cannot be cast to org.bukkit.block.Sign
Das ist der Fehler, die zugehörige Codezeile ist folgende:
Code:
org.bukkit.block.Sign sign = (org.bukkit.block.Sign) e.getClickedBlock().getState();
Ursprünglich hatte ich getState() weggelassen, jedoch war das laut Internet die Lösung. Ist sie aber nicht, zudem verwundert mich, weshalb der das ClickedBlock-Objekt nicht vom Typ org.bukkit.block.Block ist, sondern von was anderem, obwohl Eclipse auch ersteres sagt.
Die Codezeile ist übrigens in einem PlayerInteractEvent. Hat jemand eine Lösung parat?
 
Hast du
Code:
if(event.getClickedBlock.getState() instanceof Sign) {
in deinem Code drin?
Nein, habe ich jedoch getestet. Allerdings habe ich auch eine Methode, die erkennt, wenn man ein Schild hinstellt und was drauf schreibt. dort kann ich mir den Block holen und mit deiner Zeile wird das Schild dort auch erkannt. In der anderen Methode jedoch nicht. Das ist leicht irritierend. Das Problem liegt eigentlich darin, dass mir ein NMS Block zurückgegeben wird anstatt dem, was Eclipse mir anzeigt, nämlich ein org.bukkit.block.Block.
 
Nein, habe ich jedoch getestet. Allerdings habe ich auch eine Methode, die erkennt, wenn man ein Schild hinstellt und was drauf schreibt. dort kann ich mir den Block holen und mit deiner Zeile wird das Schild dort auch erkannt. In der anderen Methode jedoch nicht. Das ist leicht irritierend. Das Problem liegt eigentlich darin, dass mir ein NMS Block zurückgegeben wird anstatt dem, was Eclipse mir anzeigt, nämlich ein org.bukkit.block.Block.
Verwechselst du bei der Überprüfung vllt org.bukkit.material.Sign mit org.bukkit.block.Sign?
 
  • Like
Reaktionen: batthomas
FRAGE:

wie mache ich einen Timer? also eine Art Countdown (also wie in den Gommelobbys)?
das ganze kommt NICHT in ein Spigot-Projekt, sondern in eine Art Minesweeper-Game mit Zeitlimit :D
 
System.currentTimeMillis() gibt dir die jetztige laufzeit an. das könnte dir schonmal weiterhelfen ;)
 
???
die arme Endlosschleife mit dem If... nee, geht das auch sparsamer? :)

wer hat gesagt das du eine endlose ifschleife machen musst?

zb. so

for(int sekunden = 0; sekunden < 30; //*(spielzeit)*// sekunden++){
prevTime = System.currentTimeMillis();
int effektiveSekunden = 0;

if(System.currentTimeMillis() - 1000 == prevtime){
effektiveSekunden =+ 1;
}
}

PS: Das ist Pseudocode, kann sein, dass das so nicht funktioniert.
 
Kennt jemand eine Seite wo mann Seine Plugins veröffentlicht
 
Brauch wer Hilfe? ^^
Ich brauch eine gute Idee. Ich will eine Liste von Chatlogs irgendwo online speichern (mit java) wo ich sie auch gut wieder herbekomm und ich will diese liste später auch noch editieren können. Ich hab da an sowas wie pastebin gedacht, eine datenbank will ich da eher vermeiden. Aber bei pastebin hab ich noch keinen weg gefunden wie ich die liste nachträglich noch verändern kann.
 
Status
Für weitere Antworten geschlossen.

Soziale Medien

  • X
  • TikTok

Über uns

  • GommeHD.net ist einer der größten Minecraft-Server der Welt. Dir gefällt unser Server? Dann unterstütze uns durch einen Kauf im Shop!
  • Shop