Skocz do zawartości
KrejzolekPRO

InventoryAutomalizer - ułatwij sobie tworzenie GUI.

Rekomendowane odpowiedzi

Użytkownik

Cześć, dzisiaj mam wam do zaprezentowania API do pluginów, które ułatwia tworzenie GUI. Niestety kodu nie mogę dać na githuba, gdyż ciągle Eclipse wyrzuca błąd i nie mogę otrzymać autoryzacji, tak samo na Intellij, a o wierszu poleceń nawet nie wspomnę...

Przechodząc do sedna, jak zrobić takie GUI i dlaczego ułatwia sprawę?

InventoryAutomalizer [nazwa] = new InventoryAutomalizer("Nazwa GUI.", ilość_linijek); //nowe inventory
new ItemAutomalizer([nazwa] (nazwa inventory automalizera), przedmiot(itemstack), slot, ExecutorType.CONSOLE/PLAYER/NONE, "komenda", czy ma zamknąć po kliknięciu na niego (true, false)); //nowy przedmiot
[nazwa].open(player);

ExecutorType:
  - PLAYER - po kliknięciu komenda podana dalej wykona się jako gracz, który klika.

  - CONSOLE - po kliknięciu komendę wykona konsola

  - NONE - nic się nie wykona

 

InventoryAutomalizer test = new InventoryAutomalizer(ChatColor.translateAlternateColorCodes('&', "&6Testowe."), 5);
new ItemAutomalizer(test, new ItemStack(Material.STONE), 12, ExecutorType.CONSOLE, "broadcast &6Brawo klik!", true);
test.open(player);

Dlaczego warto go użyć? 

> Nie musimy w naszym pluginie tworzyć klas od nasłuchiwania eventu kliknięcia w inventory, czy innych.

> Znacznie skraca kod.

> Po źle dobraniu slotów czy ilości linijek, plugin sam dostosuje, aby nie wyrzuciło błędu (sam je naprawi).

 

Co należy dodać?

> Wykonywanie po kliknięciu danej metody (np. "user.setGuild("123")");

> Więcej typów inventory (furnace, workbench, anvil itd.)

Wasze propozycje...

 

Download link (Plugin jest zbugowany, nie używać): Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! (na hostuje jest automatycznie skanowany).

 

 

 

Edytowane przez KrejzolekPRO

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
Cytat

Niestety kodu nie mogę dać na githuba, gdyż ciągle Eclipse wyrzuca błąd i nie mogę otrzymać autoryzacji, tak samo na Intellij, a o wierszu poleceń nawet nie wspomnę...

Tego inaczej niż "xD" skomentować się nie da. No i brak mavena ;/

 

a co jak 2 EQ mają takie same nazwy? i można [ciachować ("pożyczać")]/bugować itemki z gui. Do tego memory leak bo dodajesz wszystkie stworzone inventory do mapki i nigdy nie usuwasz. No i ogólnie bieda w opcje bo nie idzie tworzyć GUI pod gracza - trzeba by tworzyć kompletnie od zera dla każdego gracza - a to tylko pogorszy sprawę z memory leakem.

A nuli w kodzie to się unika, a nie dodaje jeszcze więcej: 

  public static List<InventoryAutomalizer> getList()
  {
    if (inventoryList.size() == 0) {
      return null;
    }
    return inventoryList;
  }

no i masa innych zasad złamana oczywiście, brakuje też wykrycia zamknięcia EQ i ogólnie wszystkiego.

Edytowane przez JanekJaran
JanekJaran

Ocenzurowano

Notatka dodana przez JanekJaran

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
5 minut temu, GotoFinal napisał:

Tego inaczej niż "xD" skomentować się nie da. No i brak mavena ;/

 

a co jak 2 EQ mają takie same nazwy? i można podpierdalać/bugować itemki z gui. Do tego memory leak bo dodajesz wszystkie stworzone inventory do mapki i nigdy nie usuwasz. No i ogólnie bieda w opcje bo nie idzie tworzyć GUI pod gracza - trzeba by tworzyć kompletnie od zera dla każdego gracza - a to tylko pogorszy sprawę z memory leakem.

A nuli w kodzie to się unika, a nie dodaje jeszcze więcej: 

  public static List<InventoryAutomalizer> getList()
  {
    if (inventoryList.size() == 0) {
      return null;
    }
    return inventoryList;
  }

no i masa innych zasad złamana oczywiście, brakuje też wykrycia zamknięcia EQ i ogólnie wszystkiego.

Dzięki, spróbuje to poprawić, a o co dokładnie chodzi z "podpierdalaniem z gui"?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik

XD

A gdzie jakieś eventy, cokolwiek, tak trudno ci zrobić interfejs np. OpenInventory i tak dalej :c

To wgl nie ma sensu, OpenGUI jesto wiele lepsze :/

Cytat

Dlaczego warto go użyć? 

> Nie musimy w naszym pluginie tworzyć klas od nasłuchiwania eventu kliknięcia w inventory, czy innych.

> Znacznie skraca kod.

I co z tego? FastLogin ma pelno klas od samej autoryzacji gracza itd. i nawet nie idzie go porównać do takiego randomowego dmauth lub innego.

 

Nie chce mi się dekompilowac, dodaj projekt na jakiegoś gita, gdzie można przejrzeć kod

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik

Ogólnie bawiłem się trochę pluginem i muszę stwierdzić, że jak chcecie mieć nieskończone przedmioty to polecam używać heh, no dopóki w szkole przestane mieć 3 sprawdziany dziennie pluginu nie tykam. 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×