Skocz do zawartości
yooniks

InventoryAPI - proste tworzenie ekwipunkow

Rekomendowane odpowiedzi

Użytkownik

Github: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

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

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Losowy awatar
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Maksymalnie dozwolone są tylko 75 emotikony.

×   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.


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

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

×