Coding mit Java | Java-basierten APIs

  • Ersteller ij9F_i0FaF-d9lrDSDDpDbfo
  • Erstellt am
Status
Für weitere Antworten geschlossen.

expeehaa

Mitglied
19 Juni 2015
305
1.283
1.065
github.com
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?
 

expeehaa

Mitglied
19 Juni 2015
305
1.283
1.065
github.com
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.
 

deFlaqk

Mitglied
21 März 2016
7
15
153
127.0.0.1
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

expeehaa

Mitglied
19 Juni 2015
305
1.283
1.065
github.com
Verwechselst du bei der Überprüfung vllt org.bukkit.material.Sign mit org.bukkit.block.Sign?
Nope. Inzwischen funktioniert es allerdings, wieso weiß ich nicht. Hab eigentlich nicht wirklich viel geändert. Was solls, Problem gelöst :) Jetzt hab ich nur noch ein Problem mit der XP... aber das wird schon noch.
 

Sceptix

Mitglied
2 Dez. 2014
251
1.671
665
System.currentTimeMillis() gibt dir die jetztige laufzeit an. das könnte dir schonmal weiterhelfen ;)
 

Sceptix

Mitglied
2 Dez. 2014
251
1.671
665
???
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.
 
L

lyxzXTthUX52ZQd0HfkxL_4h

Unregistriert
Kennt jemand eine Seite wo mann Seine Plugins veröffentlicht
 
D

Deleted member 16202

Unregistriert
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

Ü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