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

Frage zu Plugin mit GUI

_benschu13_

Minecrafter
Registriert
10 März 2017
Beiträge
11
Alter
31
Diamanten
0
Moin,

ich habe zwei Probleme mit meinem Kit Plugin zum einen wie ihr seht gibt es die Klassen
- RangKitGUI
- StandardKitGUI

ich will das mit /kit sich die StandardKitGUI öffnet und man dann auf ein Item klickt in diesem Inventar und zu RangKitGUI kommt jetzt habe ich ein Problem ich möchte das alles in zwei Klassen machen wie kann ich es machen das man in dem Inventar von StandardKitGUI mit einem klick auf ein bestimmtes Item ins andere Inv kommt?

( Das der Befehl nicht in der Class ist das weiß ich selbst, den hab ich in einer anderen, aber ich denke es werden nur die beiden benötigt. )

________________________________________________________________________________________________________________________

Dann komme ich zu meinem zweiten Problem, wie ihr bei beiden Klassen seht gibt es ein Skull mit dem man mit einem Klick ins nächste Inventar kommen sollen.

Nur unten bei case ITEM: kann ich nicht zweimal das selbe benutzen, wie kann ich es machen, dass man unten bei case irgendwie noch den SkullOwner festlegen kann oder das ich nicht zweimal das selbe benutzen will.

Bitte nicht wundern wenn es ein einfacher Fehler ist, ich fange momentan an zu programmieren und will halt doch Antworten und Bücher Java und CO. lernen.

CODES:
RangKitGUI : https://pastebin.com/RwEXEg89
StandardKitGUI: https://pastebin.com/4MGtpjyW

Mfg. benschu13
 

combo

Miner
Registriert
16 Juli 2012
Beiträge
175
Diamanten
0
Minecraft
combo5
Bei deinem ersten Problem würde ich einfach das alte Inventar schließen mit
Code:
 player.closeInventorys()
(Bin mir gerade nicht 100% sicher ob die Methode so heißt, bin gerade nicht in der IDE ^^)
Und folgend öffnest du einfach das andere Inventar.

Bei deinem zweiten Problem gibt es eine einfache Lösung.
Deine Switch/Case bezieht sich auf das Material von
Code:
 e.getCurrentItem()
Wenn du in der Case-Sektion von deinem Skull bist, kannst du dein CurrentItem zu einem Skull casten
Code:
Skull skull = (Skull) e.getCurrentItem();

Mit dem Skullobjekt kannst du mal einwenig rumprobieren. Wenn du Java wirklich lernen willst findest du einige tolle Methoden in der Skull-Klasse die man für deine Lösung braucht.
-> Case Item: nicht nochmal nutzen :)

Ich hoffe ich konnte helfen, falls fachliche Fehler drin sind, würde ich mich über einen konstruktiven Hinweiß freuen ;)
 

_benschu13_

Minecrafter
Registriert
10 März 2017
Beiträge
11
Alter
31
Diamanten
0
Okay, Danke schonmal dann probiere ich das zur zweiten Frage mal aus.

Nur nochmal zur ersten, jo ich schließe ja das erste Inventar mit
Code:
player.closeInventory();

Nur mein Problem ist, wenn ich dann in der StandardKitGUI eingebe
Code:
player.openInventory(inv);
Dann wird die Variable inv nicht gefunden, da ich diese ja in RangKitGUI definiert habe und bei
Code:
player.openInventory(RangKitGUI.this.inv);

Kommt bei Eclipse folgender Fehler:
No enclosing instance of the type RangKitGUI is accessible in scope

Mfg. benschu13
 
A

Anmegum

Guest
Das ist simpel in Java. Grundlage sozusagen. Du musst beiden Klassen initialisieren, sonst geht eh nichts. Initialisiere also die zweite Klasse in der ersten und speichere die Klasseninstanz der zweiten einfach in einer Variable mit Typ der entsprechenden Klasse. Dann kannst du über die Variable eine Methode in der zweiten Klasse aufrufen, welche dann den Inventar erstellt und öffnet.

Code:
KlassenName class = new KlassenName();

class.methodeZumÖffnenDesInventars(Player p);
 

combo

Miner
Registriert
16 Juli 2012
Beiträge
175
Diamanten
0
Minecraft
combo5
Du solltest vielleicht versuchen, díe Klasse RangKitGUI zu initialisieren, das ist etwas was zu dir anschauen solltest in Sachen Java, ist sehr wichtig!
Code:
//Das ruft den Konstruktor auf
player.openInventory(new RangKitGUI(player));

// stevebruder war schneller ^^
 
Oben