Skip to content

Commit

Permalink
Add setClickHandler
Browse files Browse the repository at this point in the history
  • Loading branch information
fullwall committed Jul 26, 2022
1 parent f38d681 commit a440030
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/main/java/net/citizensnpcs/api/gui/InputMenus.java
Expand Up @@ -109,7 +109,7 @@ public void initialise(final MenuContext ctx) {
final Choice<T> choice = choices[i];
final InventoryMenuSlot slot = ctx.getSlot(i * 2);
slot.setItemStack(choice.createDisplayItem());
slot.addClickHandler((evt) -> {
slot.setClickHandler((evt) -> {
evt.setCancelled(true);
boolean newState = !choice.isActive();
switch (type) {
Expand Down Expand Up @@ -145,9 +145,9 @@ public void onClose(HumanEntity entity) {
private static class StringInputMenu extends InventoryMenuPage {
private final Function<String, Boolean> callback;
private MenuContext ctx;
private final Supplier<String> initialValue;
@MenuSlot(slot = { 0, 0 }, material = Material.PAPER, amount = 1)
private InventoryMenuSlot slot;
private InventoryMenuSlot from;
private final Supplier<String> initialValue;

public StringInputMenu(Supplier<String> initialValue, Function<String, Boolean> callback) {
this.initialValue = initialValue;
Expand All @@ -163,7 +163,7 @@ public void cancel(InventoryMenuSlot slot, CitizensInventoryClickEvent evt) {
@Override
public void initialise(MenuContext ctx) {
this.ctx = ctx;
ItemStack item = slot.getCurrentItem();
ItemStack item = from.getCurrentItem();
ItemMeta meta = item.getItemMeta();
meta.setDisplayName(initialValue.get());
item.setItemMeta(meta);
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/net/citizensnpcs/api/gui/InventoryMenuSlot.java
Expand Up @@ -130,6 +130,11 @@ void onClick(CitizensInventoryClickEvent event) {
}
}

public void setClickHandler(Consumer<CitizensInventoryClickEvent> handler) {
handlers.clear();
handlers.add(handler);
}

public void setDescription(String description) {
ItemStack item = inventory.getItem(index);
ItemMeta meta = item.getItemMeta();
Expand Down
Expand Up @@ -9,6 +9,7 @@
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.LinkedList;
Expand Down Expand Up @@ -127,6 +128,14 @@ public void staticPersistence() {
assertThat(PersistenceLoader.load(StaticPersistenceTest.class, root).abc, equalTo("test"));
}

@Test
public void testLists() {
ListTest load = new ListTest();
yamlRoot.setRaw("test", Arrays.asList("one", "two", "three"));
PersistenceLoader.load(load, yamlRoot);
assertThat(load.test, equalTo(Arrays.asList("one", "two", "three")));
}

@Test
public void testMapReload() {
root.setBoolean("enabled.trig1", true);
Expand Down Expand Up @@ -183,6 +192,11 @@ public static class InferenceTest {
public Map<String, Integer> map = new ConcurrentHashMap<String, Integer>();
}

public static class ListTest {
@Persist
private List<String> test;
}

public static class LongLoadSaveTest {
@Persist("root2")
public long term = 0;
Expand Down

0 comments on commit a440030

Please sign in to comment.