@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onPickup(PlayerPickupItemEvent evt) {
if (!fixRPGItemInfItem) return;
if (evt.getRemaining() <= 0) {
evt.getItem().remove();
}
}
java类org.bukkit.event.player.PlayerPickupItemEvent的实例源码
RPGItemPatch.java 文件源码
项目:EscapeLag
阅读 21
收藏 0
点赞 0
评论 0
ItemPickupListener.java 文件源码
项目:Slimefun4-Chinese-Version
阅读 27
收藏 0
点赞 0
评论 0
@EventHandler
public void onPickup(PlayerPickupItemEvent e) {
if (e.getItem().hasMetadata("no_pickup")) e.setCancelled(true);
else if (!e.getItem().hasMetadata("no_pickup") && e.getItem().getItemStack().hasItemMeta() && e.getItem().getItemStack().getItemMeta().hasDisplayName() && e.getItem().getItemStack().getItemMeta().getDisplayName().startsWith("&5&dALTAR &3Probe - &e")) {
e.setCancelled(true);
e.getItem().remove();
}
}
ToolRepairMatchModule.java 文件源码
项目:ProjectAres
阅读 24
收藏 0
点赞 0
评论 0
private void doRepair(PlayerPickupItemEvent event, ItemStack stack) {
ItemStack pickup = event.getItem().getItemStack();
int hitsLeft = pickup.getType().getMaxDurability() - pickup.getDurability() + 1;
stack.setDurability((short) Math.max(stack.getDurability() - hitsLeft, 0));
event.setCancelled(true);
event.getItem().remove();
event.getPlayer().playSound(event.getPlayer().getLocation(), Sound.ENTITY_ITEM_PICKUP, 0.5f, 1f);
}
ToolRepairMatchModule.java 文件源码
项目:ProjectAres
阅读 20
收藏 0
点赞 0
评论 0
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void processRepair(PlayerPickupItemEvent event) {
ItemStack pickup = event.getItem().getItemStack();
if(this.toRepair.contains(pickup.getType())) {
PlayerInventory inv = event.getPlayer().getInventory();
for(ItemStack invStack : inv.contents()) {
if(this.canRepair(pickup, invStack)) {
this.doRepair(event, invStack);
return;
}
}
}
}
ItemTransferListener.java 文件源码
项目:ProjectAres
阅读 27
收藏 0
点赞 0
评论 0
@EventHandler
public void onPlayerPickupItem(PlayerPickupItemEvent event) {
// When this event is fired, the ItemStack in the Item being picked up is temporarily
// set to the amount that will actually be picked up, while the difference from the
// actual amount in the stack is available from getRemaining(). When the event returns,
// the original amount is restored to the stack, meaning that we can't change the amount
// from inside the event, so instead we replace the entire stack.
int initialQuantity = event.getItem().getItemStack().getAmount();
PlayerItemTransferEvent transferEvent = new PlayerItemTransferEvent(
event, ItemTransferEvent.Type.PICKUP, event.getPlayer(),
Optional.empty(),
Optional.of(new InventorySlot<>(event.getPlayer().getInventory())),
event.getItem().getItemStack(), event.getItem(),
initialQuantity, event.getPlayer().getOpenInventory().getCursor()
);
this.callEvent(transferEvent);
int quantity = Math.min(transferEvent.getQuantity(), initialQuantity);
if(!event.isCancelled() && quantity < initialQuantity) {
event.setCancelled(true);
if(quantity > 0) {
ItemStack stack = event.getItem().getItemStack().clone();
stack.setAmount(stack.getAmount() - quantity);
event.getItem().setItemStack(stack);
stack = stack.clone();
stack.setAmount(quantity);
event.getPlayer().getInventory().addItem(stack);
event.getPlayer().playSound(event.getPlayer().getLocation(), Sound.ENTITY_ITEM_PICKUP, 1, 1);
}
}
}
BenchBlitz.java 文件源码
项目:OpenUHC
阅读 27
收藏 0
点赞 0
评论 0
/**
* Limits the player to one workbench in their inventory at a time, by means of picking up an item.
*
* @param event The event
*/
@EventHandler(ignoreCancelled = true)
public void onPlayerPickupItem(PlayerPickupItemEvent event) {
Item item = event.getItem();
Player player = event.getPlayer();
if (item.getItemStack().getType().equals(Material.WORKBENCH)
&& player.getInventory().contains(Material.WORKBENCH)) {
event.setCancelled(true);
item.setPickupDelay(20);
player.sendMessage(ChatColor.RED + "You may not pick up another workbench!");
}
}
Bowless.java 文件源码
项目:OpenUHC
阅读 23
收藏 0
点赞 0
评论 0
/**
* Prevents a player from picking up a bow.
*
* @param event The event
*/
@EventHandler(ignoreCancelled = true)
public void onPlayerPickupItem(PlayerPickupItemEvent event) {
Item item = event.getItem();
if (item.getItemStack().getType().equals(Material.BOW)) {
event.setCancelled(true);
item.setPickupDelay(20);
event.getPlayer().sendMessage(ChatColor.RED + "You may not pick up a bow!");
}
}
Core.java 文件源码
项目:kaosEssentials
阅读 26
收藏 0
点赞 0
评论 0
@EventHandler
public void getEmerald(PlayerPickupItemEvent e){
Player p = e.getPlayer();
String uuid = p.getUniqueId().toString();
if(e.getItem().getItemStack().getType().equals(Material.EMERALD)){
e.setCancelled(true);
int amount = e.getItem().getItemStack().getAmount();
e.getItem().remove();
setEmeralds(uuid, getEmeralds(uuid)+amount);
p.playNote(p.getLocation(), Instrument.PIANO, Note.natural(1, Tone.A));
}
}
GeneralEvents.java 文件源码
项目:mczone
阅读 32
收藏 0
点赞 0
评论 0
@EventHandler
public void onPlayerDropItem(PlayerPickupItemEvent event) {
Gamer g = Gamer.get(event.getPlayer());
event.setCancelled(true);
if (g.getVariable("edit") != null) {
if ((boolean) g.getVariable("edit"))
event.setCancelled(false);
}
}
GeneralEvents.java 文件源码
项目:mczone
阅读 31
收藏 0
点赞 0
评论 0
@EventHandler
public void onPlayerDropItem(PlayerPickupItemEvent event) {
Gamer g = Gamer.get(event.getPlayer());
event.setCancelled(true);
if (g.getVariable("edit") != null) {
if ((boolean) g.getVariable("edit"))
event.setCancelled(false);
}
}