Skip to content

Amount selector (Dutch)

stefvanschie edited this page Oct 22, 2021 · 2 revisions

Talen: Engels (English)

Aantal selecteren

Voorbeeldcode voor een gui waarin je een aantal kan selecteren. Deze kan bijvoorbeeld gebruikt worden om spelers te kunnen laten kiezen hoeveel ze van een item willen kopen/verkopen in winkels.

De gui die wordt gemaakt door onderstaande code

Code

ChestGui gui = new ChestGui(3, "Select amount");

ItemStack item = new ItemStack(Material.DIAMOND);

OutlinePane itemPaneel = new OutlinePane(4, 1, 1, 1);
itemPaneel.addItem(new GuiItem(item));

Label minder = new Label(2, 1, 1, 1, Font.OAK_PLANKS);
minder.setText("-");
minder.setVisible(false);

Label meer = new Label(6, 1, 1, 1, Font.OAK_PLANKS);
meer.setText("+");

if (item.getMaxStackSize() == 1) {
    meer.setVisible(false);
}

minder.setOnClick(event -> {
    item.setAmount(item.getAmount() - 1);

    if (item.getAmount() == 1) {
        minder.setVisible(false);
    }

    meer.setVisible(true);

    gui.update();
});

meer.setOnClick(event -> {
    item.setAmount(item.getAmount() + 1);

    minder.setVisible(true);

    if (item.getAmount() == item.getMaxStackSize()) {
        meer.setVisible(false);
    }

    gui.update();
});

gui.addPane(itemPaneel);
gui.addPane(minder);
gui.addPane(meer);

XML

<chestgui title="Selecteer hoeveelheid" rows="3">
  <outlinepane x="4" y="1" length="1" height="1">
    <item id="diamond" />
  </outlinepane>
  <label x="2" y="1" length="1" height="1" font="oak_planks" text="-" visible="false" />
  <label x="6" y="1" length="1" height="1" font="oak_planks" text="+" />
</chestgui>
Clone this wiki locally