java类org.bukkit.event.player.PlayerInteractAtEntityEvent的实例源码

ArmorStandListener.java 文件源码 项目:EditArmorStands 阅读 28 收藏 0 点赞 0 评论 0
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onArmorStandClick(PlayerInteractAtEntityEvent event) {
    if (event.getRightClicked() instanceof ArmorStand) {
        PlayerInteractEntityEvent pie = new PlayerInteractEntityEvent(event.getPlayer(), event.getRightClicked());
        plugin.getServer().getPluginManager().callEvent(pie);
        if (pie.isCancelled()) {
            return;
        }

        ArmorStand armorStand = (ArmorStand) event.getRightClicked();

        if (plugin.hasWaitingAction(event.getPlayer())) {
            event.setCancelled(true);
            plugin.calculateAction(event.getPlayer(), armorStand, plugin.getWaitingAction(event.getPlayer()));
            plugin.removeWaitingAction(event.getPlayer());
            return;
        }

        if (plugin.getPersistentAction(event.getPlayer()) != null) {
            event.setCancelled(true);
            plugin.calculateAction(event.getPlayer(), armorStand, plugin.getPersistentAction(event.getPlayer()));
            return;
        }

        if (event.getPlayer().getItemInHand().getType() == Material.NAME_TAG) {
            ItemStack hi = event.getPlayer().getItemInHand();
            if (hi.hasItemMeta() && hi.getItemMeta().hasDisplayName()) {
                if (event.getPlayer().hasPermission("editarmorstands.nametag.name")) {
                    event.setCancelled(true);
                    String name = hi.getItemMeta().getDisplayName();
                    if (event.getPlayer().hasPermission("editarmorstands.nametag.name.colored")) {
                        name = ChatColor.translateAlternateColorCodes('&', name);
                    } else {
                        name = ChatColor.ITALIC + name;
                    }
                    armorStand.setCustomName(name + ChatColor.RESET);
                    armorStand.setCustomNameVisible(true);
                    if (event.getPlayer().getGameMode() != GameMode.CREATIVE) {
                        if (hi.getAmount() > 1) {
                            hi.setAmount(hi.getAmount() - 1);
                        } else {
                            event.getPlayer().setItemInHand(new ItemStack(Material.AIR));
                        }
                        event.getPlayer().updateInventory();
                    }
                    return;
                }
            } else if (event.getPlayer().hasPermission("editarmorstands.nametag.name.clear")) {
                event.setCancelled(true);
                armorStand.setCustomName("");
                armorStand.setCustomNameVisible(false);
                return;
            }

        } else if (!event.getPlayer().isSneaking() && event.getPlayer().hasPermission("editarmorstands.openinventory")) {
            event.setCancelled(true);
            ArmorStandGui gui = new ArmorStandGui(plugin, armorStand, event.getPlayer());
            gui.show();
        }
    }
}
LotsListener.java 文件源码 项目:Peacecraft 阅读 23 收藏 0 点赞 0 评论 0
@EventHandler
public void onPlayerInteractAtEntity(PlayerInteractAtEntityEvent event) {
    this.onPlayerInteractEntity(event);
}
ProtectListener.java 文件源码 项目:Peacecraft 阅读 23 收藏 0 点赞 0 评论 0
@EventHandler
public void onPlayerInteractAtEntity(PlayerInteractAtEntityEvent event) {
    this.onPlayerInteractEntity(event);
}
ExtendEventExecutor.java 文件源码 项目:PlayerSQL 阅读 18 收藏 0 点赞 0 评论 0
@EventHandler(ignoreCancelled = true, priority = HIGHEST)
public void handle(PlayerInteractAtEntityEvent event) {
    if (manager.isLocked(event.getPlayer().getUniqueId())) {
        event.setCancelled(true);
    }
}
ExtendEventExecutor.java 文件源码 项目:PlayerSQL 阅读 16 收藏 0 点赞 0 评论 0
@EventHandler(priority = LOWEST)
public void pre(PlayerInteractAtEntityEvent event) {
    handle(event);
}
ObserverModule.java 文件源码 项目:CardinalPGM 阅读 22 收藏 0 点赞 0 评论 0
@EventHandler
public void PlayerInteractAtEntityEvent(PlayerInteractAtEntityEvent event) {
    if (testObserverOrDead(event.getPlayer())) {
        event.setCancelled(true);
    }
}
PlayerListener18.java 文件源码 项目:AuthMeReloaded 阅读 18 收藏 0 点赞 0 评论 0
@EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST)
public void onPlayerInteractAtEntity(PlayerInteractAtEntityEvent event) {
    if (listenerService.shouldCancelEvent(event)) {
        event.setCancelled(true);
    }
}
PlayerListener18Test.java 文件源码 项目:AuthMeReloaded 阅读 15 收藏 0 点赞 0 评论 0
@Test
public void shouldCancelEvent() {
    withServiceMock(listenerService)
        .check(listener::onPlayerInteractAtEntity, PlayerInteractAtEntityEvent.class);
}
CustomItem.java 文件源码 项目:NBTEditor 阅读 32 收藏 0 点赞 0 评论 0
public void onInteractAtEntity(PlayerInteractAtEntityEvent event, PlayerDetails details) { }


问题


面经


文章

微信
公众号

扫码关注公众号