org.bukkit.entity.Item类的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(11.7k)|赞(0)|评价(0)|浏览(106)

本文整理了Java中org.bukkit.entity.Item类的一些代码示例,展示了Item类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Item类的具体详情如下:
包路径:org.bukkit.entity.Item
类名称:Item

Item介绍

[英]Represents an Item.
[中]表示一个项目。

代码示例

代码示例来源:origin: bergerkiller/BKCommonLib

public ItemStack getItemStack() {
  return entity.getItemStack();
}

代码示例来源:origin: TotalFreedom/TotalFreedomMod

@Override
  public void run()
  {
    entity.remove();
  }
}.runTaskLater(plugin, ITEM_DESPAWN_RATE);

代码示例来源:origin: GlowstoneMC/Glowstone

/**
 * Move all items from one inventory's chest to another, and drop those that don't fit.
 *
 * @param from the inventory to transfer from
 * @param to the inventory to transfer to
 */
protected void moveChestContents(InventoryT from, InventoryT to) {
  for (ItemStack remaining : to.addItem(from.getContents()).values()) {
    world.spawn(location, Item.class).setItemStack(remaining);
  }
}

代码示例来源:origin: ProjectKorra/ProjectKorra

if (this.player.isSneaking()) {
  this.hasSnuck = true;
    final ItemStack itemInHand = this.player.getInventory().getItemInMainHand();
      final Item iron = (Item) entity;
      if (Arrays.asList(METAL_ITEMS).contains(iron.getItemStack().getType())) {
        iron.setVelocity(vector.normalize().multiply(this.magnetPower).add(new Vector(0, 0.2, 0)));
  if (ii.isOnGround()) {
    this.trackedIngots.remove(i);
    continue;
  if (ii.getItemStack().getType() == Material.IRON_INGOT) {
    if (GeneralMethods.getEntitiesAroundPoint(ii.getLocation(), 2).size() == 0) {
      this.remove();
      return;
    for (final Entity e : GeneralMethods.getEntitiesAroundPoint(ii.getLocation(), 2)) {
      if (e instanceof LivingEntity && e.getEntityId() != this.player.getEntityId()) {
        if ((e instanceof Player || e instanceof Zombie || e instanceof Skeleton)) {
          this.dropIngots(e.getLocation(), ii.getItemStack().getAmount());
          this.remove();
        ii.remove();
        break;

代码示例来源:origin: elBukkit/MagicPlugin

@EventHandler
public void onPlayerDropItem(PlayerDropItemEvent event)
  final ItemStack droppedItem = event.getItemDrop().getItemStack();
  ItemMeta activeMeta = activeItem == null ? null : activeItem.getItemMeta();
  ItemMeta droppedMeta = droppedItem.getItemMeta();
  boolean droppedWand = droppedMeta != null && activeMeta != null && activeItem.getItemMeta().equals(droppedItem.getItemMeta());
  if (droppedWand && activeWand.isUndroppable()) {
  } else if (activeWand != null) {
    if (droppedWand) {
      ItemStack mainhandItem = player.getInventory().getItemInMainHand();
      activeWand.deactivate();
      ItemStack restoredItem = player.getInventory().getItemInMainHand();
      ItemMeta restoredMeta = restoredItem == null ? null : restoredItem.getItemMeta();
      activeMeta = activeWand.getItem().getItemMeta();
      if (Wand.hasActiveWand(player) && restoredItem.getType() != Material.AIR
          && restoredMeta != null && activeMeta.equals(restoredMeta)) {
        ItemStack newItem = player.getInventory().getItemInMainHand();
        if (mainhandItem.getAmount() > 0) {
          newItem.setAmount(mainhandItem.getAmount());

代码示例来源:origin: mcMMO-Dev/mcMMO

@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onPlayerFishHighest(PlayerFishEvent event) {
  if(WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
    return;
          fishingCatch.getItemStack().getType() != Material.SALMON &&
          fishingCatch.getItemStack().getType() != Material.COD &&
          fishingCatch.getItemStack().getType() != Material.TROPICAL_FISH &&
          fishingCatch.getItemStack().getType() != Material.PUFFERFISH) {
        fishingCatch.setItemStack(new ItemStack(Material.SALMON, 1));
      Block block = player.getTargetBlock(null, 100);

代码示例来源:origin: eccentricdevotion/TARDIS

@EventHandler(ignoreCancelled = true)
public void onPlayerDropAreaDisk(PlayerDropItemEvent event) {
  ItemStack stack = event.getItemDrop().getItemStack();
  if (stack != null && stack.getType().equals(Material.MUSIC_DISC_BLOCKS) && stack.hasItemMeta()) {
    ItemMeta ims = stack.getItemMeta();
    if (ims.hasDisplayName() && ims.getDisplayName().equals("Area Storage Disk")) {
      event.setCancelled(true);
      Player p = event.getPlayer();
      TARDISMessage.send(p, "ADV_NO_DROP");
    }
  }
}

代码示例来源:origin: mcMMO-Dev/mcMMO

public static void handleItemPickup(Player player, EntityPickupItemEvent event) {
  ItemStack[] storageContents = player.getInventory().getStorageContents();
  ItemStack itemDrop = event.getItem().getItemStack();
  int heldItemSlotID = player.getInventory().getHeldItemSlot();
  int amount = itemDrop.getAmount();
  boolean grabbedItem = false;
      player.getInventory().setItem(i, itemDrop);
      amount = 0;
      grabbedItem = true;
      break;
    else if(itemDrop.isSimilar(storageContents[i]) && storageContents[i].getAmount() < storageContents[i].getMaxStackSize())
    event.getItem().remove(); //Cleanup Item
  else
    event.getItem().getItemStack().setAmount(amount);

代码示例来源:origin: bitquest/bitquest

@EventHandler
public void OnPlayerPickup(PlayerPickupItemEvent event) {
 Player player = event.getPlayer();
 ItemStack item = event.getItem().getItemStack();
 Material itemType = item.getType();
 if (((itemType == Material.EMERALD_BLOCK) || (itemType == Material.EMERALD))
   && (BitQuest.REDIS
     .get("currency" + player.getUniqueId().toString())
     .equalsIgnoreCase("emerald"))) {
  try {
   bitQuest.updateScoreboard(player);
  } catch (Exception e) {
  }
 }
}
/*

代码示例来源:origin: eccentricdevotion/TARDIS

ItemStack is = item.getItemStack();
if (!isSiegeCube(is)) {
  return;
  return;
String w = p.getLocation().getWorld().getName();
if (!plugin.getConfig().getBoolean("worlds." + w)) {
  event.setCancelled(true);
  return;
item.setInvulnerable(true);
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, () -> {
  Location loc = item.getLocation();
  COMPASS d = COMPASS.valueOf(TARDISStaticUtils.getPlayersDirection(p, false));
  int[] start = TARDISTimeTravel.getStartLocation(loc, d);
    return;
  int id = TARDISNumberParsers.parseInt(line2[1]);
  item.remove();
  Block siege = loc.getBlock();
  siege.setBlockData(Material.BROWN_MUSHROOM_BLOCK.createBlockData());

代码示例来源:origin: marcelo-mason/PreciousStones

/**
 * @param event
 */
@EventHandler(priority = EventPriority.HIGH)
public void onItemPickup(PlayerPickupItemEvent event) {
  if (event.isCancelled()) {
    return;
  }
  Player player = event.getPlayer();
  Field field = plugin.getForceFieldManager().getEnabledSourceField(player.getLocation(), FieldFlag.UNUSABLE_ITEMS);
  if (field != null) {
    if (FieldFlag.UNUSABLE_ITEMS.applies(field, player)) {
      if (player.getItemInHand().getTypeId() == event.getItem().getItemStack().getTypeId()) {
        if (field.getSettings().isUnusableItem(event.getItem().getItemStack().getTypeId(), event.getItem().getItemStack().getData().getData())) {
          ChatHelper.send(player, "cannotUseItemHere");
          StackHelper.unHoldItem(player, player.getInventory().getHeldItemSlot());
        }
      }
    }
  }
}

代码示例来源:origin: eccentricdevotion/TARDIS

@EventHandler(priority = EventPriority.LOW)
  public void onBedDrop(ItemSpawnEvent event) {
    if ((plugin.getTrackerKeeper().getMaterialising().size() > 0 || plugin.getTrackerKeeper().getDematerialising().size() > 0) && items.contains(event.getEntity().getItemStack().getType())) {
      event.setCancelled(true);
    }
  }
}

代码示例来源:origin: TheBusyBiscuit/Slimefun4

@EventHandler(priority=EventPriority.HIGH, ignoreCancelled = true)
public void onInteract(PlayerInteractEvent e) {
  if (e.getAction() != Action.RIGHT_CLICK_BLOCK) return;
      Item stack = findItem(b);
      if (stack == null) {
        if(e.getPlayer().getInventory().getItemInMainHand().getType().equals(Material.AIR)) return;
        if(b.getRelative(0, 1, 0).getType() != Material.AIR) {
          Messages.local.sendTranslation(e.getPlayer(), "machines.ANCIENT_PEDESTAL.obstructed", true);
      else if (!removed_items.contains(stack.getUniqueId())) {
        final UUID uuid = stack.getUniqueId();
        removed_items.add(uuid);
        stack.remove();
        e.getPlayer().getInventory().addItem(fixItemStack(stack.getItemStack(), stack.getCustomName()));
        e.getPlayer().playSound(b.getLocation(), Sound.ENTITY_ITEM_PICKUP, 1F, 1F);
        PlayerInventory.update(e.getPlayer());
            Variables.altarinuse.add(pblock.getLocation());
          });
          if (catalyst != null && !catalyst.getType().equals(Material.AIR)) {
            List<ItemStack> input = new ArrayList<ItemStack>();
            for (Block pedestal: pedestals) {
              Item stack = findItem(pedestal);
              if (stack != null) input.add(fixItemStack(stack.getItemStack(), stack.getCustomName()));

代码示例来源:origin: ProjectKorra/ProjectKorra

public void shootMetal() {
  if (this.bPlayer.isOnCooldown("MetalClips Shoot")) {
    return;
  }
  this.bPlayer.addCooldown("MetalClips Shoot", this.shootCooldown);
  final ItemStack is = new ItemStack(Material.IRON_INGOT, 1);
  if (!this.player.getInventory().containsAtLeast(is, 1)) {
    return;
  }
  final Item item = this.player.getWorld().dropItemNaturally(this.player.getLocation().add(0, 1, 0), is);
  Vector vector;
  final Entity targetedEntity = GeneralMethods.getTargetedEntity(this.player, this.range, new ArrayList<Entity>());
  if (targetedEntity != null) {
    vector = GeneralMethods.getDirection(this.player.getLocation(), targetedEntity.getLocation());
  } else {
    vector = GeneralMethods.getDirection(this.player.getLocation(), GeneralMethods.getTargetedLocation(this.player, this.range));
  }
  item.setVelocity(vector.normalize().add(new Vector(0, 0.1, 0).multiply(1.2)));
  this.trackedIngots.add(item);
  this.player.getInventory().removeItem(is);
}

代码示例来源:origin: jiongjionger/NeverLag

@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
  public void onPlace(BlockPlaceEvent e) {
    if (!cm.isAntiPlaceDoorDupe) {
      return;
    }
    // 判断手里的物品是否为门
    if (e.getItemInHand().getType() == Material.WOOD_DOOR || e.getItemInHand().getType() == Material.IRON_DOOR) {
      // 清理所在区块的甘蔗掉落物
      for (Entity entity : e.getPlayer().getLocation().getChunk().getEntities()) {
        if (entity instanceof Item) {
          Material itemType = ((Item) entity).getItemStack().getType();
          if (itemType == Material.SUGAR_CANE || itemType == Material.CACTUS) {
            entity.remove();
          }
        }
      }
    }
  }
}

代码示例来源:origin: mcMMO-Dev/mcMMO

@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onPlayerPickupItem(EntityPickupItemEvent event) {
    ItemStack dropStack = drop.getItemStack();
    if (drop.hasMetadata(mcMMO.disarmedItemKey)) {
      if (!player.getName().equals(drop.getMetadata(mcMMO.disarmedItemKey).get(0).asString())) {
        event.setCancelled(true);
    if (!drop.hasMetadata(mcMMO.droppedItemKey) && mcMMOPlayer.inParty() && ItemUtils.isSharable(dropStack)) {
      event.setCancelled(ShareHandler.handleItemShare(drop, mcMMOPlayer));
        SoundManager.sendSound(player, player.getLocation(), SoundType.POP);
        return;

代码示例来源:origin: TheBusyBiscuit/Slimefun4

@EventHandler
public void onPickup(EntityPickupItemEvent 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(ChatColor.translateAlternateColorCodes('&', "&5&dALTAR &3Probe - &e"))) {
    e.setCancelled(true);
    e.getItem().remove();
  }
}

代码示例来源:origin: Co0sh/BetonQuest

@EventHandler(priority=EventPriority.HIGHEST)
public void onItemDrop(PlayerDropItemEvent event) {
  if (event.isCancelled()) {
    return;
  if (event.getPlayer().getGameMode() == GameMode.CREATIVE) {
    return;
    return;
  ItemStack item = event.getItemDrop().getItemStack();
  if (item == null) {
    return;
      event.getItemDrop().remove();
    } else if (Utils.isQuestItem(item)) {
      BetonQuest.getInstance().getPlayerData(playerID).addItem(item.clone(), item.getAmount());
      event.getItemDrop().remove();

代码示例来源:origin: jiongjionger/NeverLag

@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onPickup(PlayerPickupItemEvent e) {
  if (!cm.isAntiPlaceDoorDupe) {
    return;
  }
  if (e.getPlayer().getItemInHand().getType() == Material.WOOD_DOOR || e.getPlayer().getItemInHand().getType() == Material.IRON_DOOR) {
    if (e.getItem().getItemStack().getType() == Material.SUGAR_CANE || e.getItem().getItemStack().getType() == Material.CACTUS) {
      e.setCancelled(true);
    }
  }
}

代码示例来源:origin: BigScary/GriefPrevention

@EventHandler(priority = EventPriority.LOWEST)
public void onItemSpawn(ItemSpawnEvent event)
    if(pendingProtection.itemStack.getAmount() != newItem.getItemStack().getAmount() ||
      pendingProtection.itemStack.getType() != newItem.getItemStack().getType())
    newItem.setMetadata("GP_ITEMOWNER", new FixedMetadataValue(GriefPrevention.instance, pendingProtection.owner));

相关文章