Skip to content

Actions

FlameyosFlow edited this page Sep 26, 2023 · 1 revision

Close Actions

Close actions in Woody are done this way:

menu.setCloseAction((event, result) -> {
    result.set(Result.denied()); // never close the inventory, open the same menu after 1 tick (50 milliseconds)
});

// before 1.3.0 close actions were done this way
menu.setCloseAction((event) -> {
    // you can't cancel closing.
});

Open Actions

Open actions in Woody are done this way:

menu.setOpenAction(event -> {
    // before 1.5.0, there were no animations and event#getOpener didn't exist. now they do because of the new OpenMenuEvent.
    Player player = event.getOpener();
    player.sendMessage("You opened this menu!!");
});

Click actions

Click actions in Woody are done this way:

menu.setDefaultClickAction(event -> { // clicking anything at all
    // before 1.5.0, event#getPlayer didn't exist.
    Player player = event.getPlayer();
});

menu.setOutsideClickAction(event -> { // no inventory clicked
    // before 1.5.0, event#getPlayer didn't exist.
    Player player = event.getPlayer();
});

menu.setTopClickAction(event -> { // the Menu object
    // before 1.5.0, event#getPlayer didn't exist.
    Player player = event.getPlayer();
});

menu.setBottomClickAction(event -> { // the actual inventory of the player.
    // before 1.5.0, event#getPlayer didn't exist.
    Player player = event.getPlayer();
});

Not much different syntax wise from the base but a bit more features.