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

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

源代码1 项目: civcraft   文件: CustomItemManager.java
@EventHandler(priority = EventPriority.HIGHEST)
public void onItemHeld(PlayerItemHeldEvent event) {
	if (event.isCancelled()) {
		return;
	}
	
	ItemStack stack = event.getPlayer().getItemInHand();
	if (stack == null) {
		return;
	}

	LoreMaterial material = LoreMaterial.getMaterial(stack);
	if (material != null) {
		material.onHold(event);
	}
}
 
源代码2 项目: Shopkeepers   文件: CreateListener.java
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
void onItemHeld(PlayerItemHeldEvent event) {
	Player player = event.getPlayer();
	if (player.getGameMode() == GameMode.CREATIVE) return;
	ItemStack newItemInHand = player.getInventory().getItem(event.getNewSlot());
	if (!Settings.isShopCreationItem(newItemInHand)) {
		return;
	}

	if (!ShopkeepersPlugin.getInstance().hasCreatePermission(player)) {
		// player cannot create any shopkeeper at all
		return;
	}

	// print info message about usage:
	Utils.sendMessage(player, Settings.msgCreationItemSelected);
}
 
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
public void item(PlayerItemHeldEvent e) {
    if (!useEnhanceProtection) {
        return;
    }
    if (DisplayItem.getNowUsing() != DisplayType.REALITEM) {
        return;
    }
    final ItemStack stack = e.getPlayer().getInventory().getItemInMainHand();
    final ItemStack stackOffHand = e.getPlayer().getInventory().getItemInOffHand();
    if (DisplayItem.checkIsGuardItemStack(stack)) {
        e.getPlayer().getInventory().setItemInMainHand(new ItemStack(Material.AIR, 0));
        // You shouldn't be able to pick up that...
        sendAlert(
                "[DisplayGuard] Player "
                        + e.getPlayer().getName()
                        + " helded the displayItem, QuickShop already cancelled and removed it.");
        e.setCancelled(true);
        Util.inventoryCheck(e.getPlayer().getInventory());
    }
    if (DisplayItem.checkIsGuardItemStack(stackOffHand)) {
        e.getPlayer().getInventory().setItemInOffHand(new ItemStack(Material.AIR, 0));
        // You shouldn't be able to pick up that...
        sendAlert(
                "[DisplayGuard] Player "
                        + e.getPlayer().getName()
                        + " helded the displayItem, QuickShop already cancelled and removed it.");
        e.setCancelled(true);
        Util.inventoryCheck(e.getPlayer().getInventory());
    }
}
 
源代码4 项目: ActionHealth   文件: ActionListener.java
@EventHandler(ignoreCancelled = true)
public void onSwap(PlayerItemHeldEvent event) {
    if (!main.configStore.actionStore.enabled)
        return;

    ActionStore.ActionType actionType = ActionStore.ActionType.SWAP;
    Player player = event.getPlayer();

    ItemStack itemStack = player.getInventory().getItem(event.getNewSlot());

    actionHelper.executeTriggers(actionType, player, itemStack);
}
 
源代码5 项目: AdditionsAPI   文件: DurabilityBar.java
@EventHandler(priority = EventPriority.HIGHEST)
public void onItemSwitch(PlayerItemHeldEvent event) {
	if (event.isCancelled())
		return;
	Player player = event.getPlayer();
	Bukkit.getScheduler().scheduleSyncDelayedTask(AdditionsAPI.getInstance(), () -> {
		sendDurabilityBossBar(player, player.getInventory().getItemInMainHand(), EquipmentSlot.HAND);
		sendDurabilityBossBar(player, player.getInventory().getItemInOffHand(), EquipmentSlot.OFF_HAND);
	});
}
 
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onPlayerHeldItem(PlayerItemHeldEvent e) {
    Player player = e.getPlayer();
    ItemStack oldItem = player.getInventory().getItem(e.getPreviousSlot());
    ItemStack newItem = player.getInventory().getItem(e.getNewSlot());

    if ((oldItem == null && newItem == null) || (oldItem != null && newItem != null && oldItem.getType() == newItem.getType())) {
        return;
    }

    Bukkit.getScheduler().runTask(plugin, () ->
            plugin.updateHoldingSelectionItem(plugin.getPlayerInfos(player)));
}
 
源代码7 项目: FastAsyncWorldedit   文件: BrushListener.java
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onPlayerItemHoldEvent(final PlayerItemHeldEvent event) {
    final Player bukkitPlayer = event.getPlayer();
    if (bukkitPlayer.isSneaking()) {
        return;
    }
    FawePlayer<Object> fp = FawePlayer.wrap(bukkitPlayer);
    com.sk89q.worldedit.entity.Player player = fp.getPlayer();
    LocalSession session = fp.getSession();
    Tool tool = session.getTool(player);
    if (tool instanceof ScrollTool) {
        final int slot = event.getNewSlot();
        final int oldSlot = event.getPreviousSlot();
        final int ri;
        if ((((slot - oldSlot) <= 4) && ((slot - oldSlot) > 0)) || (((slot - oldSlot) < -4))) {
            ri = 1;
        } else {
            ri = -1;
        }
        ScrollTool scrollable = (ScrollTool) tool;
        if (scrollable.increment(player, ri)) {
            if (Settings.IMP.EXPERIMENTAL.PERSISTENT_BRUSHES) {
                bukkitPlayer.getInventory().setHeldItemSlot(oldSlot);
            } else {
                final PlayerInventory inv = bukkitPlayer.getInventory();
                final ItemStack item = inv.getItem(slot);
                final ItemStack newItem = inv.getItem(oldSlot);
                inv.setItem(slot, newItem);
                inv.setItem(oldSlot, item);
                bukkitPlayer.updateInventory();
            }
        }
    }
}
 
源代码8 项目: BetonQuest   文件: MenuConvIO.java
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void playerItemHeldEvent(PlayerItemHeldEvent event) {
    if (event.getPlayer() != player) {
        return;
    }

    if (!controls.containsKey(CONTROL.SCROLL)) {
        return;
    }

    event.setCancelled(true);

    if (debounce) {
        return;
    }

    // Cheat and assume the closest distance between previous and new slots is the direction scrolled
    int slotDistance = event.getPreviousSlot() - event.getNewSlot();

    if (slotDistance > 5 || (slotDistance < 0 && slotDistance >= -5)) {
        // Scrolled down
        if (selectedOption < options.size() - 1) {
            oldSelectedOption = selectedOption;
            selectedOption++;
            updateDisplay();
            debounce = true;
        }
    } else if (slotDistance != 0) {
        // Scrolled up
        if (selectedOption > 0) {
            oldSelectedOption = selectedOption;
            selectedOption--;
            updateDisplay();
            debounce = true;
        }
    }

}
 
源代码9 项目: civcraft   文件: CustomItemManager.java
@EventHandler(priority = EventPriority.NORMAL)
public void OnInventoryHold(PlayerItemHeldEvent event) {
	
	ItemStack stack = event.getPlayer().getInventory().getItem(event.getNewSlot());
	if (stack == null) {
		return;
	}
	
	LoreCraftableMaterial craftMat = LoreCraftableMaterial.getCraftMaterial(stack);
	if (craftMat == null) {
		return;
	}
	
	craftMat.onHold(event);
}
 
源代码10 项目: civcraft   文件: BonusGoodieManager.java
@EventHandler(priority = EventPriority.MONITOR)
public void OnItemHeldChange(PlayerItemHeldEvent event) {
	Inventory inv = event.getPlayer().getInventory();
	ItemStack stack = inv.getItem(event.getNewSlot());
	
	BonusGoodie goodie = CivGlobal.getBonusGoodie(stack);
	if (goodie == null) {
		return;
	}
	
	CivMessage.send(event.getPlayer(), CivColor.Purple+"Bonus Goodie: "+CivColor.Yellow+goodie.getDisplayName());
	
}
 
源代码11 项目: civcraft   文件: RangedAttack.java
@Override
public void onHold(PlayerItemHeldEvent event) {	
	
	Resident resident = CivGlobal.getResident(event.getPlayer());
	if (!resident.hasTechForItem(event.getPlayer().getInventory().getItem(event.getNewSlot()))) {		
		CivMessage.send(resident, CivColor.Rose+"Warning - "+CivColor.LightGray+
				"You do not have the required technology to use this item. It's attack output will be reduced in half.");
	}
}
 
源代码12 项目: civcraft   文件: Attack.java
@Override
public void onHold(PlayerItemHeldEvent event) {	
	
	Resident resident = CivGlobal.getResident(event.getPlayer());
	if (!resident.hasTechForItem(event.getPlayer().getInventory().getItem(event.getNewSlot()))) {		
		CivMessage.send(resident, CivColor.Rose+"Warning - "+CivColor.LightGray+
				"You do not have the required technology to use this item. It's attack output will be reduced in half.");
	}
}
 
源代码13 项目: civcraft   文件: Defense.java
@Override
public void onHold(PlayerItemHeldEvent event) {	
	
	Resident resident = CivGlobal.getResident(event.getPlayer());
	if (!resident.hasTechForItem(event.getPlayer().getInventory().getItem(event.getNewSlot()))) {		
		CivMessage.send(resident, CivColor.Rose+"Warning - "+CivColor.LightGray+
				"You do not have the required technology to use this item. It's defense output will be reduced in half.");
	}
}
 
源代码14 项目: AuthMeReloaded   文件: PlayerListenerTest.java
@Test
public void shouldHandleSimpleCancelableEvents() {
    withServiceMock(listenerService)
        .check(listener::onPlayerShear, PlayerShearEntityEvent.class)
        .check(listener::onPlayerFish, PlayerFishEvent.class)
        .check(listener::onPlayerBedEnter, PlayerBedEnterEvent.class)
        .check(listener::onPlayerDropItem, PlayerDropItemEvent.class)
        .check(listener::onPlayerHitPlayerEvent, EntityDamageByEntityEvent.class)
        .check(listener::onPlayerConsumeItem, PlayerItemConsumeEvent.class)
        .check(listener::onPlayerInteract, PlayerInteractEvent.class)
        .check(listener::onPlayerPickupItem, PlayerPickupItemEvent.class)
        .check(listener::onPlayerInteractEntity, PlayerInteractEntityEvent.class)
        .check(listener::onPlayerHeldItem, PlayerItemHeldEvent.class);
}
 
源代码15 项目: Skript   文件: ExprTool.java
@SuppressWarnings("unchecked")
@Override
public boolean setTime(final int time) {
	return super.setTime(time, getExpr(), PlayerItemHeldEvent.class, PlayerBucketFillEvent.class, PlayerBucketEmptyEvent.class);
}
 
源代码16 项目: MCAuthenticator   文件: InventoryEvent.java
@EventHandler
public void onPlayerMoveItemHand(PlayerItemHeldEvent e){
    if(!auth(e)) e.setCancelled(true);
}
 
源代码17 项目: LagMonitor   文件: ThreadSafetyListener.java
@EventHandler
public void onItemHeldChange(PlayerItemHeldEvent itemHeldEvent) {
    checkSafety(itemHeldEvent);
}
 
源代码18 项目: LagMonitor   文件: ThreadSafetyListener.java
@EventHandler
public void onItemHeldChange(PlayerItemHeldEvent itemHeldEvent) {
    checkSafety(itemHeldEvent);
}
 
源代码19 项目: civcraft   文件: MarkerPlacementManager.java
@EventHandler(priority = EventPriority.MONITOR) 
public void OnItemHeldChange(PlayerItemHeldEvent event) {
	if (isPlayerInPlacementMode(event.getPlayer())) {
		removeFromPlacementMode(event.getPlayer(), true);
	}
}
 
源代码20 项目: civcraft   文件: LoreCraftableMaterial.java
@Override
public void onHold(PlayerItemHeldEvent event) {
	for (ItemComponent comp : this.components.values()) {
		comp.onHold(event);
	} 
}
 
源代码21 项目: civcraft   文件: UnitItemMaterial.java
@Override
public void onHold(PlayerItemHeldEvent event) {
}
 
源代码22 项目: civcraft   文件: UnitMaterial.java
@Override
public void onHold(PlayerItemHeldEvent event) {
}
 
源代码23 项目: AuthMeReloaded   文件: PlayerListener.java
@EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST)
public void onPlayerHeldItem(PlayerItemHeldEvent event) {
    if (listenerService.shouldCancelEvent(event)) {
        event.setCancelled(true);
    }
}
 
源代码24 项目: civcraft   文件: LoreMaterial.java
public abstract void onHold(PlayerItemHeldEvent event); 
源代码25 项目: civcraft   文件: ItemComponent.java
public void onHold(PlayerItemHeldEvent event) {	} 
 类所在包
 类方法
 同包方法