Discord

  • 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!

Spigot Einen Integer aus einer Lore erhalten.

ausgebildet

Redstoneengineer
Osterei Experte
Mitglied seit
30 Juni 2017
Beiträge
40
Alter
20
Minecraft
ausgebildet
Guten Abend,

hiermit frage ich nochmal höflich um eure Unterstützung. Folgendes : Ich möchte einen Integer der sich bei mir am Ende der Lore befindet getten.

Meine Linie mit dem Integer den ich möchte "§bKosten : 5" - Ich habe es bereits mit .replace sowie mit .split versucht. Funktioniert beides nicht.

Danke
 

DerFrZocker

Miner
Osterei Experte
Mitglied seit
10 Dezember 2017
Beiträge
155
Alter
19
Minecraft
DerFrZocker
Wie sieht den dein bisheriger Code aus?
 

ausgebildet

Redstoneengineer
Osterei Experte
Mitglied seit
30 Juni 2017
Beiträge
40
Alter
20
Minecraft
ausgebildet
Java:
        int cost = Integer.valueOf(event.getCurrentItem().getItemMeta().getLore().get(0).replace("§bKosten : ", ""));
                    int points = getPoints(player).intValue();
                    if(cost < points || cost == points) {
                        event.setCancelled(true);
                        player.getInventory().addItem(event.getCurrentItem());
                        removePoints(player, cost);
                        player.setLevel(getPoints(player));
                    } else {
                        event.setCancelled(true);
                        player.sendMessage(getInstance().getPrefix() + "Du hast nicht genügend Punkte!");
                    }
                } else {
                    event.setCancelled(true);
                    }
 

DerFrZocker

Miner
Osterei Experte
Mitglied seit
10 Dezember 2017
Beiträge
155
Alter
19
Minecraft
DerFrZocker
Bis auf ein par potenzielle NullPointer und ein paar andere dinge, sollte es funktunieren. Gibt es den eine Fehler meldung? Hast du schon versucht mit debuggen herauszufinden wo es scheitert?
 

SirYwell

Vorarbeiter
Osterei Experte
Mitglied seit
30 Juni 2017
Beiträge
269
Alter
20
Minecraft
SirYwell
Integer.valueOf() ist für diesen Zweck die "falsche" Methode, verwende lieber Integer.parseInt(). Um die Zahl aus deinem String herauszufiltern, gibt es jetzt unterschiedliche Ansätze. Der vermutlich eleganteste wäre ein Regulärer Ausdruck wie zum Beispiel .*(\d).*. Die Gruppe 1 ist dann deine positive Ganzzahl, für mehr Möglichkeiten müsstest du den Ausdruck also dementsprechend anpassen. Du musst nur noch aufpassen, es kann trotzdem noch eine NumberFormatException geworfen werden, falls die Zahl zu groß sein sollte beispielsweise.
 

ausgebildet

Redstoneengineer
Osterei Experte
Mitglied seit
30 Juni 2017
Beiträge
40
Alter
20
Minecraft
ausgebildet
Integer.valueOf() ist für diesen Zweck die "falsche" Methode, verwende lieber Integer.parseInt(). Um die Zahl aus deinem String herauszufiltern, gibt es jetzt unterschiedliche Ansätze. Der vermutlich eleganteste wäre ein Regulärer Ausdruck wie zum Beispiel .*(\d).*. Die Gruppe 1 ist dann deine positive Ganzzahl, für mehr Möglichkeiten müsstest du den Ausdruck also dementsprechend anpassen. Du musst nur noch aufpassen, es kann trotzdem noch eine NumberFormatException geworfen werden, falls die Zahl zu groß sein sollte beispielsweise.
Das ist doch einmal eine Antwort mit der ich was anfangen kann. Dankeschön dafür. Werde ich gleich später mal testen ;)
 
Oben