Bukkit Plugins Programmieren?
Hallo habe hier ein code der mit spigot 1.8.8 funktioniert aber mit 1.18.2 nicht mehr
else if (p.getItemInHand().getItemMeta().getDisplayName().equals("§cNavigator")) {
/* */
/* 67 */ final Inventory inv = Bukkit.createInventory(null, 54, "§cNavigator");
/* */
/* 69 */ Bukkit.getScheduler().runTaskLater((Plugin)Main.getInstance(), new Runnable()
/* */ {
/* */ public void run()
/* */ {
/* 73 */ inv.setItem(0, Items.createItem(Material.BLACK_STAINED_GLASS, 7, "§4", null));
/* 74 */ p.playSound(p.getLocation(), Sound.BLOCK_NOTE_BLOCK_BASS, 1.0F, 1.0F);
/* */ }
/* 77 */ }20L);
immer unten bei den 20L kommt eine fehlermeldung mit spigot 1.8.8 aber nicht verstehe den unterschied leider nicht bitte um hilfe
2 Antworten
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
- Zwischen 1.8. und 1.18 hat sich eine ganze Menge verändert.
- Was ich so auf den ersten Blick über den Java Code sagen kann:
else if (p.getItemInHand().getItemMeta().getDisplayName().equals("§cNavigator")) {
final Inventory inv = Bukkit.createInventory(null, 54, "§cNavigator");
// Mal hoffen dass diese Main classe existiert
Bukkit.getScheduler().runTaskLater( (Plugin) Main.getInstance(), new Runnable() {
public void run() {
inv.setItem(0, Items.createItem(Material.BLACK_STAINED_GLASS, 7, "§4", null));
p.playSound(p.getLocation(), Sound.BLOCK_NOTE_BLOCK_BASS, 1.0F, 1.0F);
}
} 20L); // Komma fehlt zwischen "}" und "20L"
// Hoffentlich schließt jemand die geschweifte Klammer von dem else if da oben
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
Wann habe ich etwas davon gesagt, dass du das "InventoryClickEvent" wegmachen sollst?!?!? Steht da jetzt "e.getView().getTitle().equals("§cNavigator")" und nicht "e.getInventory.getName.equals("§cNavigator")"?
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
Und außerdem ist hier nicht das Problem, dass der Code in einer neueren Version nicht mehr funktionieren würde. Der Code hat niemals funktioniert. Das Problem ist, dass du - wie es mir scheint - weder Java kannst noch wüsstest, was diese Code-Zeilen, die du da zusammenkopiert hast, bedeuten. Für den Anfang wäre es schon einmal gut, wenn du über eine der wichtigsten Tastenkombinationen bescheid weißt: Strg+Leertaste. Diese schlägt dir alle Methoden und Variablen eines Objekts vor und beschreibt was diese tun. Schau dir am besten einmal ein paar kurze Java-Tutorials an. Beispiel: https://www.youtube.com/watch?v=HuYs2Vp3GtM Ich möchte dir ja gerne helfen, kann das aber leider nicht, wenn Ich mit allem was ich sage, an dir vorbeirede.
![](https://images.gutefrage.net/media/default/user/10_nmmslarge.png?v=1551279448000)
wieso funktionier hier https://prnt.sc/Ku9l5NttfxxV das getname() nicht verstehe ich leider nicht
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
Kannst du mal bitte die Auto-Formatierung von IntelliJ mit Strg+Alt+L betätigen? Dann sieht man nämlich so etwas wie fehlende Kommas sofort... Zudem sind a eine ganze Menge an gelben Markern - wenn du da drüberschwebst sagen die dir normalerweise was los ist.
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
Oh, das getName da oben meinst du!
Da hast du "()" vergessen. getName() ist eine Funktion keine Variable!
![](https://images.gutefrage.net/media/default/user/10_nmmslarge.png?v=1551279448000)
ok funktioniert trotzdem irgendwie nicht ist rot gemarkt ?
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
Warscheinlich, da das Inventory Objekt InventoryClickEvent.getInventory() keine getName() Methode hat. https://hub.spigotmc.org/javadocs/spigot/org/bukkit/inventory/Inventory.html Das was du warscheinlich suchst is die InventoryClickEvent.getView().getTitle() Methode. https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/inventory/InventoryEvent.html#getView() https://hub.spigotmc.org/javadocs/spigot/org/bukkit/inventory/InventoryView.html
![](https://images.gutefrage.net/media/default/user/10_nmmslarge.png?v=1551279448000)
und die methode funktioniert nicht ich weiß nicht was ich machen soll
![](https://images.gutefrage.net/media/default/user/10_nmmslarge.png?v=1551279448000)
eine sache funktioniert immer noch nicht könnten sie mir vielleicht dbaei auch helfen ?
![](https://images.gutefrage.net/media/default/user/10_nmmslarge.png?v=1551279448000)
ja der code ist noch sehr viel länger , hat geklappt
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
ich kenne mich nicht sehr mit programmieren aus aber ich glaube es liebt daran weil 1.8.8 eine viel ältere version als 1.18.2 ist
![](https://images.gutefrage.net/media/default/user/10_nmmslarge.png?v=1551279448000)
ja das denke ich auch aber was ist der unterschied zu jetzt was muss ich ändern
@doej13 aber dann wird alles andere rot wenn ich das InventoryClickEvent weg mache