下面列出了怎么用org.bukkit.event.player.PlayerSwapHandItemsEvent的API类实例代码及写法,或者点击链接到github查看源代码。
@EventHandler
public void onPlayerSwapHandItems(PlayerSwapHandItemsEvent event) {
Player player = event.getPlayer();
Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(player);
if (game == null) {
return;
}
if (game.getState() == GameState.WAITING
|| (game.getCycle() instanceof BungeeGameCycle && game.getCycle().isEndGameRunning()
&& BedwarsRel.getInstance().getBooleanConfig("bungeecord.endgame-in-lobby", true))) {
event.setCancelled(true);
return;
}
}
@EventHandler(priority = EventPriority.HIGHEST)
public void playerSwapHand(PlayerSwapHandItemsEvent event) {
GameMap gMap = MatchManager.get().getPlayerMap(event.getPlayer());
if (gMap == null) {
ItemStack item = event.getOffHandItem();
if (item.equals(SkyWarsReloaded.getIM().getItem("optionselect"))
|| item.equals(SkyWarsReloaded.getIM().getItem("joinselect"))
|| item.equals(SkyWarsReloaded.getIM().getItem("spectateselect"))) {
event.setCancelled(true);
}
} else {
if (gMap.getMatchState().equals(MatchState.WAITINGSTART) || gMap.getMatchState().equals(MatchState.ENDING)) {
event.setCancelled(true);
}
}
}
@EventHandler
public void onPlayerSwapHandItems(PlayerSwapHandItemsEvent event) {
Player player = event.getPlayer();
if (Main.isPlayerInGame(player)) {
GamePlayer gPlayer = Main.getPlayerGameProfile(player);
if (gPlayer.getGame().getStatus() == GameStatus.WAITING) {
event.setCancelled(true);
}
}
}
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void offHand(PlayerSwapHandItemsEvent e) {
boolean opened = TrMenuAPI.openByShortcut(e.getPlayer(), (e.getPlayer().isSneaking() ? TrMenu.SETTINGS.getString("SHORTCUT-OPEN.SNEAKING-OFFHAND", null) : TrMenu.SETTINGS.getString("SHORTCUT-OPEN.OFFHAND", null)));
if (opened) {
e.setCancelled(true);
}
}
@EventHandler
public void onPlayerSwapHandItems(PlayerSwapHandItemsEvent event) {
Player player = event.getPlayer();
if (Main.isPlayerInGame(player)) {
GamePlayer gPlayer = Main.getPlayerGameProfile(player);
if (gPlayer.getGame().getStatus() == GameStatus.WAITING) {
event.setCancelled(true);
}
}
}
@EventHandler(priority = EventPriority.HIGHEST)
public void onHandSwitch(PlayerSwapHandItemsEvent event) {
if (event.isCancelled())
return;
sendDurabilityBossBar(event.getPlayer(), event.getMainHandItem(), EquipmentSlot.HAND);
sendDurabilityBossBar(event.getPlayer(), event.getOffHandItem(), EquipmentSlot.OFF_HAND);
}
@EventHandler
public void onSwap(PlayerSwapHandItemsEvent e) {
if (e.getPlayer().getOpenInventory().getTopInventory().getHolder() instanceof MenuHolder && ((MenuHolder) e.getPlayer().getOpenInventory().getTopInventory().getHolder()).getBuilder().isLockHand()) {
e.setCancelled(true);
}
}
@EventHandler
public void onDrop(PlayerSwapHandItemsEvent e) {
if (CustomBookOverlay.opening.contains(e.getPlayer().getUniqueId())) e.setCancelled(true);
}
@EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST)
public void onPlayerSwapHandItems(PlayerSwapHandItemsEvent event) {
if (listenerService.shouldCancelEvent(event)) {
event.setCancelled(true);
}
}
@Test
public void shouldCancelEvent() {
withServiceMock(listenerService)
.check(listener::onPlayerSwapHandItems, PlayerSwapHandItemsEvent.class);
}