Skocz do zawartości

InventoryAPI - proste tworzenie ekwipunkow


Rekomendowane odpowiedzi

Github: https://github.com/yooniks/phasmatos-inventory-api/

Przyklad uzycia:

public final class ExamplePlugin extends JavaPlugin {

  @Override
  public void onEnable() {

    final PhasmatosBukkitInventoryAPI inventoryAPI = new PhasmatosBukkitInventoryAPI();
    inventoryAPI.register(this);

    final PhasmatosInventory stableInventory = new ExampleStableInventory("This is simple stable inventory!", 9);
    stableInventory.addItem(0, new ItemBuilder(Material.COBBLESTONE)
        .withName("Hello!= )")
        .withLore("You can only look at me!")
        .build());

    final ExampleChangeableInventory changeableInventory = new ExampleChangeableInventory("Changeable inventory", 9);
    final ItemStack changeableItem = new ItemBuilder(Material.COBBLESTONE)
        .withName("Your name: {PLAYER}")
        .withLore("You can look at me, i will change my meta", "You can click me!!!")
        .build();
    changeableInventory.addItem(4, changeableItem);
    changeableInventory.addItemAction(4, (player) -> player.sendMessage("Wow! You clicked at me!"));

    inventoryAPI.addInventory(stableInventory);
    inventoryAPI.addInventory(changeableInventory);
  }

  private final class ExampleStableInventory extends PhasmatosStableInventory implements PhasmatosCloseableInventory {

    ExampleStableInventory(String title, int size) {
      super(title, size);
    }

    @Override
    public void onClose(InventoryCloseEvent event) {
      //closed inventory, you can send message etc..
    }
  }

  private final class ExampleChangeableInventory extends PhasmatosClickableChangeableInventory {
    ExampleChangeableInventory(String title, int size) {
      super(title, size);
    }

    @Override
    public ItemStack updateItem(ItemStack item, Player player) {
      if (item.getType() == Material.COBBLESTONE) {
        final ItemMeta meta = item.getItemMeta();
        meta.setDisplayName(StringUtils.replace(meta.getDisplayName(), "{PLAYER}", player.getName()));
        item.setItemMeta(meta);
      }
      return item;
    }
  }

}

 

Edytowane przez yooniks
Odnośnik do komentarza
https://skript.pl/temat/32279-inventoryapi-proste-tworzenie-ekwipunkow/
Udostępnij na innych stronach

  • 4 miesiące temu...
15 godzin temu, STEINER napisał:

https://github.com/SocketByte/OpenGUI

 

Chyba niczym się nie różni więc dodaj coś ciekawego

Różni się. Jedyne czego nie mam to zapis ekwipunkow do yaml.  Też mógłbyś coś dodać do swoich toolsow bo niczym się nie różnią. 

W opengui nie zrobisz różnych itemow w gui dla każdego gracza. 

Gui są stałe i nie możesz później zmieniać itemow dla jednego gracza, typu lore w itemie "Drop: włączony".

To też przyczyniło się do stworzenia tego api, chciałem mieć właśnie taka możliwość aktualizowania itemow dla każdego gracza, ale żadne api mi tego nie oferowało. 

 

9 godzin temu, JanekMaSkrypta_ napisał:

https://github.com/MinusKube/SmartInvs
Myślę że to API jest o wiele lepsze :) Ale to tylko moja opinia

Fajnie byłoby jakbyś uzasadnił czemu jest 'o wiele lepsze'. I tutaj cię zaskocze bo pomysł na te api wziął się właśnie z tego smartinvs. Używałem go ale nie miał wielu funkcji które chciałem, więc zrobiłem własne api. Smartinvs trzyma trochę niepotrzebnych rzeczy i nie ma wielu funkcji fajnych, jakbyś kiedyś tego użył na większym projekcie to sam byś się przekonał ;)

Edytowane przez yooniks
Odnośnik do komentarza
https://skript.pl/temat/32279-inventoryapi-proste-tworzenie-ekwipunkow/#findComment-219713
Udostępnij na innych stronach

10 godzin temu, yooniks napisał:

Różni się. Jedyne czego nie mam to zapis ekwipunkow do yaml.  Też mógłbyś coś dodać do swoich toolsow bo niczym się nie różnią. 

W opengui nie zrobisz różnych itemow w gui dla każdego gracza. 

Gui są stałe i nie możesz później zmieniać itemow dla jednego gracza, typu lore w itemie "Drop: włączony".

To też przyczyniło się do stworzenia tego api, chciałem mieć właśnie taka możliwość aktualizowania itemow dla każdego gracza, ale żadne api mi tego nie oferowało. 

 

Fajnie byłoby jakbyś uzasadnił czemu jest 'o wiele lepsze'. I tutaj cię zaskocze bo pomysł na te api wziął się właśnie z tego smartinvs. Używałem go ale nie miał wielu funkcji które chciałem, więc zrobiłem własne api. Smartinvs trzyma trochę niepotrzebnych rzeczy i nie ma wielu funkcji fajnych, jakbyś kiedyś tego użył na większym projekcie to sam byś się przekonał ;)

Użyłem i no przyznam nie ma np. wyciągania itemów z gui w takim razie raczej wiem. Nw czy w twoim da się ale i tak daje + za to że ci się chciało zrobić to API ;) 

Odnośnik do komentarza
https://skript.pl/temat/32279-inventoryapi-proste-tworzenie-ekwipunkow/#findComment-219784
Udostępnij na innych stronach

  • 5 miesięcy temu...

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...