本文整理了Java中org.bukkit.entity.Item
类的一些代码示例,展示了Item
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Item
类的具体详情如下:
包路径:org.bukkit.entity.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));
内容来源于网络,如有侵权,请联系作者删除!