类org.bukkit.event.player.PlayerArmorStandManipulateEvent源码实例Demo

下面列出了怎么用org.bukkit.event.player.PlayerArmorStandManipulateEvent的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: CloudNet   文件: ArmorStandListener.java
@EventHandler
public void handle(PlayerArmorStandManipulateEvent e) {
    MobSelector.MobImpl mob = CollectionWrapper.filter(MobSelector.getInstance().getMobs().values(),
                                                       new Acceptable<MobSelector.MobImpl>() {
                                                           @Override
                                                           public boolean isAccepted(MobSelector.MobImpl value) {
                                                               try {
                                                                   return e.getRightClicked()
                                                                           .getUniqueId()
                                                                           .equals(value.getDisplayMessage()
                                                                                        .getClass()
                                                                                        .getMethod("getUniqueId")
                                                                                        .invoke(value.getDisplayMessage()));
                                                               } catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e1) {
                                                                   return false;
                                                               }
                                                           }
                                                       });
    if (mob != null) {
        e.setCancelled(true);
    }
}
 
源代码2 项目: Modern-LWC   文件: LWCPlayerListener.java
@EventHandler(priority = EventPriority.HIGHEST)
public void onPlayerArmorStandManipulate(PlayerArmorStandManipulateEvent e) {
    Entity entity = e.getRightClicked();
    if (plugin.getLWC().isProtectable(e.getRightClicked().getType())) {
        int A = 50000 + entity.getUniqueId().hashCode();

        LWC lwc = LWC.getInstance();
        Protection protection = lwc.getPhysicalDatabase().loadProtection(entity.getWorld().getName(), A, A, A);
        Player p = e.getPlayer();
        boolean canAccess = lwc.canAccessProtection(p, protection);
        if (onPlayerEntityInteract(p, entity, e.isCancelled())) {
            e.setCancelled(true);
        }
        if (protection != null) {
            if (canAccess)
                return;
            e.setCancelled(true);
        }
    }
}
 
源代码3 项目: UHC   文件: DeathStandsModule.java
@EventHandler
public void on(PlayerArmorStandManipulateEvent event) {
    final ArmorStand stand = event.getRightClicked();

    if (!isProtectedArmourStand(stand)) return;

    final ItemStack players = event.getPlayerItem();
    final ItemStack stands = event.getArmorStandItem();

    // if the player is holding something it will be a swap
    if (players == null || players.getType() != Material.AIR) return;

    // if the stand hasn't got something then the player is adding
    // items or nothing will happen
    if (stands == null || stands.getType() == Material.AIR) return;

    // they're removing an item from the armour stand. If there
    // is only 1 item on the stand then this is the final item
    // on the armour stand so kill it (fire optional)
    if (Maps.filterValues(getItems(stand), Predicates.not(EMPTY_ITEM)).values().size() == 1)  {
        stand.remove();
    }
}
 
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
public void player(PlayerArmorStandManipulateEvent event) {
    if (!DisplayItem.checkIsGuardItemStack(event.getArmorStandItem())) {
        return;
    }
    if (DisplayItem.getNowUsing() != DisplayType.REALITEM) {
        return;
    }
    event.setCancelled(true);
    Util.inventoryCheck(event.getPlayer().getInventory());
    sendAlert(
            "[DisplayGuard] Player  "
                    + event.getPlayer().getName()
                    + " trying mainipulate armorstand contains displayItem.");
}
 
源代码5 项目: NovaGuilds   文件: RegionInteractListener.java
/**
 * Handles editing items on an ArmorStand
 *
 * @param event The event
 */
@EventHandler
public void onPlayerManipulateArmorStand(PlayerArmorStandManipulateEvent event) {
	Player player = event.getPlayer();
	NovaPlayer nPlayer = PlayerManager.getPlayer(player);
	Location location = event.getRightClicked().getLocation();

	if(RegionManager.get(location) != null
			&& (!plugin.getRegionManager().canInteract(player, location) || (!nPlayer.getPreferences().getBypass() && !nPlayer.hasPermission(GuildPermission.INTERACT)))) {
		event.setCancelled(true);
		Message.CHAT_REGION_DENY_INTERACT.send(player);
	}
}
 
源代码6 项目: BetonQuest   文件: QuestItemHandler.java
@EventHandler(ignoreCancelled = true)
public void onArmorStandEquip(final PlayerArmorStandManipulateEvent event) {
    if (event.getPlayer().getGameMode() == GameMode.CREATIVE) {
        return;
    }
    final ItemStack item = event.getPlayerItem();
    final String playerID = PlayerConverter.getID(event.getPlayer());
    if (item != null && (Journal.isJournal(playerID, item) || Utils.isQuestItem(item))) {
        event.setCancelled(true);
    }
}
 
源代码7 项目: PlotMe-Core   文件: BukkitPlotListener.java
@EventHandler
public void onArmorStand(PlayerArmorStandManipulateEvent event) {
    Location location = BukkitUtil.adapt(event.getRightClicked().getLocation());

    if (manager.isPlotWorld(location)) {
        if (event.getPlayer().hasPermission(PermissionNames.ADMIN_BUILDANYWHERE)) {
            return;
        }

        Plot plot = manager.getPlot(location);

        if (plot == null) {
            event.getPlayer().sendMessage(api.C("CannotBuild"));
            event.setCancelled(true);
        } else {
            if (plot.getOwnerId().equals(event.getPlayer().getUniqueId())) {
                return;
            }
            Optional<Plot.AccessLevel> member = plot.isMember(event.getPlayer().getUniqueId());
            if (member.isPresent()) {
                if (member.get().equals(Plot.AccessLevel.TRUSTED) && !api.getServerBridge().getOfflinePlayer(plot.getOwnerId()).isOnline()) {
                    event.getPlayer().sendMessage(api.C("CannotBuild"));
                    event.setCancelled(true);
                } else if (api.isPlotLocked(plot.getId())) {
                    event.getPlayer().sendMessage(api.C("PlotLocked"));
                    event.setCancelled(true);
                }
            } else {
                event.getPlayer().sendMessage(api.C("CannotBuild"));
                event.setCancelled(true);
            }
        }
    }
}
 
源代码8 项目: GriefDefender   文件: PlayerEventHandler.java
@EventHandler(priority = EventPriority.LOWEST)
public void onPlayerArmorStandManipulateEvent(PlayerArmorStandManipulateEvent event) {
    onPlayerInteractEntity(event);
}
 
源代码9 项目: PGM   文件: EventFilterMatchModule.java
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onArmorStandInteract(final PlayerArmorStandManipulateEvent event) {
  cancelUnlessInteracting(event, event.getPlayer());
}
 
源代码10 项目: ProjectAres   文件: EventFilterMatchModule.java
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onArmorStandInteract(final PlayerArmorStandManipulateEvent event) {
    cancelUnlessInteracting(event, event.getPlayer());
}
 
源代码11 项目: DungeonsXL   文件: DWorldListener.java
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
public void onArmorStandManipulate(PlayerArmorStandManipulateEvent event) {
    onTouch(event, event.getRightClicked(), true);
}
 
 类所在包
 同包方法