Einstieg in die GUI-Programmierung

  • In diesem Lexikon Eintrag möchte ich euch die Gui-Programmierung von Spigot näher bringen.

    Diese Themen werden wir unter anderem Bearbeiten:

    -Erstellung und Namensgebung von einem Inventar.
    -Dem Inventar ein Item hinzufügen.
    -GUI relevante Listener bearbeiten und anwenden.

    Hallo, wie schon in der Kurzfassung erwähnt, werden wir uns in diesem Beitrag die

    GUI bzw. die Inventar Programmierung von Spigot ansehen.


    So, was ist jetzt überhaupt ein 'GUI'?


    Ein GUI, also ein graphical user interface oder eine Grafische Benutzeroberfläche bezeichnet eine

    Benutzerschnittstelle zwischen Benutzer und Computer.


    Wie kann ich als Developer ein GUI für Minecraft programmieren?


    Code
    1. public Inventory createGui(String name, int reihen, Player inventoryHolder) {
    2. Inventory inventory = Bukkit.createInventory(inventoryHolder, reihen*9, name);
    3. return inventory;
    4. }


    In dieser Methode sieht man, wie man ein einfaches GUI bzw. ein Inventar erstellt, diesem haben wir auch schon einen Namen gegeben.

    Wichtiges hier zu beachten:


    -Der integer der für die reihen steht, muss durch 9 teilbar sein, und darf max. 54 also 6 reihen sein.


    Wie kann ich dieses Inventar jetzt öffnen?

    Code
    1. public void openInventory(Player player) {
    2. Inventory inventory = createGui("Test-Inventar", 3, player);
    3. player.openInventory(inventory);
    4. }

    Jetzt wird dem Spieler ein leeres Inventar erscheinen, welches 3 Reihen hat und Test-Inventar heißt.

    Mit diesem Inventar kann der Spieler jedoch nicht viel anfangen.


    Wie kann ich diesen GUI den ich Programmiert habe weiter verwenden?


    Wir werden im nächsten schritt nun ein Item ins Inventar hinzufügen:

    Code
    1. public void addItem(ItemStack itemStack, Player player) {
    2. Inventory inventory = createGui("Test-Inventar", 3, player);
    3. inventory.setItem(0, itemStack);
    4. }

    In diesem Fall setzen wir auf den ersten Slot im Inventar einen ItemStack bzw. ein Item auf den ersten Slot im Inventar.


    Wie kann ich weitere Methoden ausführen, wenn der Spieler auf das Item klickt?


    Nun, dazu brauchen wir einen EventHandler bzw, einen Listener.

    Wir verwenden in dem Fall das InventoryClickEvent.

    Hier fragen wir ab, ob der Spieler auf einen Stick klickt, wenn dies der Fall ist, wird im eine Nachricht gesendet.

    Zudem fragen wir ab, ob das Inventar in dem geklickt wurde unserem entspricht, hier ist das Inventar nicht definiert, dort

    müsste dann das Inventar welches wir vorher erstellt haben statt inv eingetragen werden.



    Und nun los, viel Spaß beim weiteren Experimentieren mit der Gui Programmierung:)

Teilen