下面列出了怎么用org.bukkit.event.inventory.InventoryInteractEvent的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public void accept(final InventoryInteractEvent event) {
if (elementReq.control(event)) {
for (final Target target : targets) {
target.handle(event);
}
}
}
@Override
public boolean control(final InventoryInteractEvent event) {
if (event instanceof InventoryDragEvent) {
return ((InventoryDragEvent) event).getNewItems().values()
.stream().anyMatch(element::is);
}
return false;
}
@Override
public boolean control(final InventoryInteractEvent event) {
if (event instanceof InventoryClickEvent) {
return element.is(((InventoryClickEvent) event).getCurrentItem());
} else {
return false;
}
}
@Override
public boolean control(final InventoryInteractEvent event) {
if (event instanceof InventoryClickEvent) {
return false;
} else {
return ((InventoryDragEvent) event).getOldCursor().equals(item);
}
}
@Override
public boolean control(final InventoryInteractEvent event) {
if (event instanceof InventoryClickEvent) {
return element.is(((InventoryClickEvent) event).getCursor());
} else {
return false;
}
}
@Override
public boolean control(final InventoryInteractEvent event) {
if (event instanceof InventoryClickEvent) {
return ((InventoryClickEvent) event).getClick() == clickType;
} else {
return false;
}
}
@Override
public boolean control(final InventoryInteractEvent event) {
if (event instanceof InventoryClickEvent) {
return ((InventoryClickEvent) event).getCursor().equals(item);
} else {
return false;
}
}
@Override
public boolean control(final InventoryInteractEvent event) {
for (final Requirement req : reqs) {
if (req.control(event)) {
return true;
}
}
return false;
}
@Override
public boolean control(final InventoryInteractEvent event) {
if (event instanceof InventoryClickEvent) {
return ((InventoryClickEvent) event).getHotbarButton() == button;
} else {
return false;
}
}
@Override
public boolean control(final InventoryInteractEvent event) {
if (event instanceof InventoryClickEvent) {
return ((InventoryClickEvent) event).getCurrentItem().equals(item);
} else {
return false;
}
}
@Override
public boolean control(final InventoryInteractEvent event) {
if (event instanceof InventoryClickEvent) {
return false;
} else {
return element.is(((InventoryDragEvent) event).getCursor());
}
}
@Override
public boolean control(final InventoryInteractEvent event) {
if (event instanceof InventoryDragEvent) {
return ((InventoryDragEvent) event).getNewItems().values()
.stream().anyMatch(this.item::equals);
}
return false;
}
@Override
public boolean control(final InventoryInteractEvent event) {
if (event instanceof InventoryClickEvent) {
return ((InventoryClickEvent) event).getSlot() == slot;
} else {
return ((InventoryDragEvent) event).getInventorySlots().contains(slot);
}
}
@Override
public boolean control(final InventoryInteractEvent event) {
if (event instanceof InventoryDragEvent) {
return ((InventoryDragEvent) event).getType() == dragType;
} else {
return false;
}
}
@Override
public void accept(final InventoryInteractEvent event) {
forEachSlot((y, x) -> {
if (new SlotReq(locX + x + (locY + y) * 9).control(event)) {
paneElements[y][x].accept(event);
}
});
}
@Override
public void handle(final InventoryInteractEvent event) {
if (event instanceof InventoryDragEvent &&
Arrays.stream(reqs).allMatch(req -> req.control(event))) {
handler.accept(new ElementDragEvent((InventoryDragEvent) event));
}
}
@Override
public void handle(final InventoryInteractEvent event) {
for (final Requirement req : reqs) {
if (!req.control(event)) {
return;
}
}
handler.accept(new ElementBasicEvent(event));
}
@Override
public void handle(final InventoryInteractEvent event) {
if (event instanceof InventoryClickEvent &&
Arrays.stream(reqs).allMatch(req -> req.control(event))) {
handler.accept(new ElementClickEvent((InventoryClickEvent) event));
}
}
@EventHandler
public void onInteract(final InventoryInteractEvent e) {
if (GuiWindow.getWindow(e.getView().getTitle()) != null) {
if (e.getInventory().getType().equals(InventoryType.CHEST)) {
e.setResult(Event.Result.DENY);
}
}
}
@EventHandler(ignoreCancelled = true)
public void invEvent(InventoryInteractEvent e) {
if (e.getInventory().getHolder() instanceof QuickShopPreviewInventoryHolder) {
e.setCancelled(true);
}
}
public Player getClicker() {
return (Player) ((InventoryInteractEvent) event).getWhoClicked();
}
@Override
public void accept(final InventoryInteractEvent event) {
for (final Element frame : frames) {
frame.accept(event);
}
}
@Override
public void accept(final InventoryInteractEvent event) {
baseElement.accept(event);
}
@Override
public boolean control(final InventoryInteractEvent event) {
return event instanceof InventoryDragEvent;
}
@Override
public boolean control(final InventoryInteractEvent event) {
return event instanceof InventoryClickEvent;
}
@Override
public boolean control(final InventoryInteractEvent event) {
return event.getWhoClicked().getUniqueId().equals(player.getUniqueId());
}
@Override
public void accept(final InventoryInteractEvent event) {
basePane.accept(event);
}
@Override
public void accept(final InventoryInteractEvent event) {
for (final Pane frame : frames) {
frame.accept(event);
}
}
@Override
public void accept(final InventoryInteractEvent event) {
synchronized (basePage) {
basePage.accept(event);
}
}
@Override
public void accept(final InventoryInteractEvent event) {
new ArrayList<>(panes).forEach(pane -> pane.accept(event));
}