下面列出了怎么用org.bukkit.event.entity.ItemDespawnEvent的API类实例代码及写法,或者点击链接到github查看源代码。
@EventHandler(ignoreCancelled = true)
public void onDespawn(ItemDespawnEvent event) {
Item item = event.getEntity();
ItemStack is = item.getItemStack();
if (!((modManager.isArmorViable(is) || modManager.isToolViable(is) || modManager.isWandViable(is))
|| (MineTinker.getPlugin().getConfig().getBoolean("ItemBehaviour.ForModItems")
&& modManager.isModifierItem(is)))) {
return;
}
if (MineTinker.getPlugin().getConfig().getBoolean("ItemBehaviour.SetPersistent")) {
event.setCancelled(true);
item.setTicksLived(1);
}
}
@EventHandler
public void handle(ItemDespawnEvent e) {
MobSelector.MobImpl mob = CollectionWrapper.filter(MobSelector.getInstance().getMobs().values(),
new Acceptable<MobSelector.MobImpl>() {
@Override
public boolean isAccepted(MobSelector.MobImpl value) {
return ((Entity) value.getDisplayMessage()).getPassenger() != null && e.getEntity()
.getEntityId() == ((Entity) value
.getDisplayMessage()).getPassenger().getEntityId();
}
});
if (mob != null) {
e.setCancelled(true);
}
}
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onItemDespawn(ItemDespawnEvent e) {
if (plugin.cfg.dropProtectMode == DropProtectMode.OFF) return;
Item ent = e.getEntity();
if (items.getIfPresent(ent.getEntityId()) != null) {
e.setCancelled(true);
}
}
@EventHandler(priority = EventPriority.MONITOR)
public void onItemDespawn(ItemDespawnEvent event) {
BonusGoodie goodie = CivGlobal.getBonusGoodie(event.getEntity().getItemStack());
if (goodie == null) {
return;
}
goodie.replenish(event.getEntity().getItemStack(), event.getEntity(), null, null);
}
@EventHandler
private void itemDespawnItem(ItemDespawnEvent event) {
CustomItem customItem = CustomItemManager.getCustomItem(event.getEntity().getItemStack());
if (verifyCustomItem(customItem, event.getEntity().getWorld())) {
customItem.onDespawn(event);
}
}
@EventHandler(priority = EventPriority.MONITOR)
public void onItemDespawn(ItemDespawnEvent event) {
if (isTracked(event.getEntity()))
spawnedEntities -= event.getEntity().getItemStack().getAmount();
}
@EventHandler
public void itemDespawnPrevention(ItemDespawnEvent event) {
if (EntityTracker.isItemVisualEffect(event.getEntity()))
event.setCancelled(true);
}
@Override
public void onDespawn(ItemDespawnEvent event) {
if (shouldBroadcastMessage()) {
UtilsMc.broadcastToWorld(event.getEntity().getWorld(), MessageFormat.format("The {0}§f has been lost forever!", getName()));
}
}
public void onDespawn(ItemDespawnEvent event) { }