类org.bukkit.event.entity.EntityDeathEvent源码实例Demo

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

源代码1 项目: BedWars   文件: GolemListener.java
@EventHandler
public void onGolemDeath(EntityDeathEvent event) {
    if (!(event.getEntity() instanceof IronGolem)) {
        return;
    }

    IronGolem ironGolem = (IronGolem) event.getEntity();
    for (String name : Main.getGameNames()) {
        Game game = Main.getGame(name);
        if ((game.getStatus() == GameStatus.RUNNING || game.getStatus() == GameStatus.GAME_END_CELEBRATING) && ironGolem.getWorld().equals(game.getGameWorld())) {
            List<SpecialItem> golems = game.getActivedSpecialItems(Golem.class);
            for (SpecialItem item : golems) {
                if (item instanceof Golem) {
                    Golem golem = (Golem) item;
                    if (golem.getEntity().equals(ironGolem)) {
                        event.getDrops().clear();
                    }
                }
            }
        }
    }
}
 
源代码2 项目: askyblock   文件: IslandGuard.java
/**
 * Drops the Enderman's block when he dies if he has one
 *
 * @param e - event
 */
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onEndermanDeath(final EntityDeathEvent e) {
    if (DEBUG) {
        plugin.getLogger().info(e.getEventName());
    }
    if (!Settings.endermanDeathDrop)
        return;
    if (!inWorld(e.getEntity())) {
        return;
    }
    if (!(e.getEntity() instanceof Enderman)) {
        // plugin.getLogger().info("Not an Enderman!");
        return;
    }
    // Get the block the enderman is holding
    Enderman ender = (Enderman) e.getEntity();
    MaterialData m = ender.getCarriedMaterial();
    if (m != null && !m.getItemType().equals(Material.AIR)) {
        // Drop the item
        // plugin.getLogger().info("Dropping item " + m.toString());
        e.getEntity().getWorld().dropItemNaturally(e.getEntity().getLocation(), m.toItemStack(1));
    }
}
 
源代码3 项目: BedWars   文件: GolemListener.java
@EventHandler
public void onGolemDeath(EntityDeathEvent event) {
    if (!(event.getEntity() instanceof IronGolem)) {
        return;
    }

    IronGolem ironGolem = (IronGolem) event.getEntity();
    for (String name : Main.getGameNames()) {
        Game game = Main.getGame(name);
        if ((game.getStatus() == GameStatus.RUNNING || game.getStatus() == GameStatus.GAME_END_CELEBRATING) && ironGolem.getWorld().equals(game.getGameWorld())) {
            List<SpecialItem> golems = game.getActivedSpecialItems(Golem.class);
            for (SpecialItem item : golems) {
                if (item instanceof Golem) {
                    Golem golem = (Golem) item;
                    if (golem.getEntity().equals(ironGolem)) {
                        event.getDrops().clear();
                    }
                }
            }
        }
    }
}
 
源代码4 项目: KTP   文件: UHPluginListener.java
@EventHandler
public void onEntityDeath(EntityDeathEvent ev) {
	if (ev.getEntity() instanceof Ghast) {
		Bukkit.getLogger().info("Modifying drops for Ghast");
		List<ItemStack> drops = new ArrayList<ItemStack>(ev.getDrops());
		ev.getDrops().clear();
		for (ItemStack i : drops) {
			if (i.getType() == Material.GHAST_TEAR) {
				Bukkit.getLogger().info("Added "+i.getAmount()+" ghast tear(s)");
				ev.getDrops().add(new ItemStack(Material.GOLD_INGOT,i.getAmount()));
			} else {
				Bukkit.getLogger().info("Added "+i.getAmount()+" "+i.getType().toString());
				ev.getDrops().add(i);
			}
		}
	}
}
 
源代码5 项目: ScoreboardStats   文件: StatsListener.java
/**
 * Tracks the mob kills.
 *
 * @param event the death event
 */
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
public void onMobDeath(EntityDeathEvent event) {
    LivingEntity entity = event.getEntity();
    //killer is null if it's not a player
    Player killer = entity.getKiller();

    //Check if it's not player because we are already handling it
    if (entity.getType() != EntityType.PLAYER && Settings.isActiveWorld(entity.getWorld().getName())) {
        database.getStats(killer).ifPresent(stats -> {
            //If the cache entry is loaded and the player isn't null, increase the mob kills
            stats.onMobKill();

            ReplaceManager.getInstance().forceUpdate(killer, "mob", stats.getMobkills());
        });
    }
}
 
源代码6 项目: Slimefun4   文件: TalismanListener.java
@EventHandler(ignoreCancelled = true)
public void onKill(EntityDeathEvent e) {
    if (e.getDrops().isEmpty() || e.getEntity().getKiller() == null) {
        return;
    }

    LivingEntity entity = e.getEntity();

    if (!(entity instanceof Player) && !(entity instanceof ArmorStand) && Talisman.checkFor(e, SlimefunItems.TALISMAN_HUNTER)) {
        Collection<ItemStack> extraDrops = getExtraDrops(e.getEntity(), e.getDrops());

        for (ItemStack drop : extraDrops) {
            if (drop != null) {
                e.getDrops().add(drop.clone());
            }
        }
    }
}
 
源代码7 项目: UhcCore   文件: EntityDeathListener.java
private void handleGoldDrop(EntityDeathEvent event){
	if(enableGoldDrops && affectedMobs.contains(event.getEntityType())){
		Random r = new Random();
		if(r.nextInt(100) < chance){
			int drop;
			try{
				drop = min+r.nextInt(1+max-min);
			}catch(IllegalArgumentException e){
				drop=0;
			}
			if(drop > 0){
				ItemStack gold = new ItemStack(Material.GOLD_INGOT,drop);
				event.getDrops().add(gold);
			}
		}			
	}
}
 
源代码8 项目: Slimefun4   文件: Talisman.java
private static Player getPlayerByEventType(Event e) {
    if (e instanceof EntityDeathEvent) {
        return ((EntityDeathEvent) e).getEntity().getKiller();
    }
    else if (e instanceof BlockBreakEvent) {
        return ((BlockBreakEvent) e).getPlayer();
    }
    else if (e instanceof PlayerEvent) {
        return ((PlayerEvent) e).getPlayer();
    }
    else if (e instanceof EntityEvent) {
        return (Player) ((EntityEvent) e).getEntity();
    }
    else if (e instanceof EnchantItemEvent) {
        return ((EnchantItemEvent) e).getEnchanter();
    }

    return null;
}
 
源代码9 项目: StackMob-3   文件: DeathEvent.java
@EventHandler(priority = EventPriority.HIGHEST)
public void onDeath(EntityDeathEvent e) {
    LivingEntity dead = e.getEntity();
    if(!(dead instanceof Mob)){
        return;
    }
    if(!(StackTools.hasValidStackData(dead))){
        if(StackTools.hasValidData(dead)){
            sm.getLogic().cleanup(dead);
        }
        return;
    }
    int stackAmount = StackTools.getSize(dead);
    
    DeathStep method = sm.getDeathManager().calculateMethod(dead);
    int subtractAmount = sm.getDeathManager().calculateStep(dead, method);
    callEvent(dead, e, subtractAmount);
    multiplication(dead, e.getDrops(), subtractAmount - 1, e.getDroppedExp());
    if(subtractAmount != stackAmount){
        Entity entity = spawnNewEntity(stackAmount - subtractAmount, dead);
        if(method instanceof KillStepDamage){
            ((KillStepDamage)method).onceSpawned(dead, (LivingEntity) entity);
        }
    }
    sm.getLogic().cleanup(dead);
}
 
源代码10 项目: Plan   文件: DeathEventListener.java
@SuppressWarnings("deprecation")
@EventHandler(priority = EventPriority.MONITOR)
public void onDeath(EntityDeathEvent event) {
    long time = System.currentTimeMillis();
    LivingEntity dead = event.getEntity();

    if (dead instanceof Player) {
        // Process Death
        SessionCache.getCachedSession(dead.getUniqueId()).ifPresent(Session::died);
    }

    try {
        EntityDamageEvent entityDamageEvent = dead.getLastDamageCause();
        if (!(entityDamageEvent instanceof EntityDamageByEntityEvent)) {
            return;
        }

        EntityDamageByEntityEvent entityDamageByEntityEvent = (EntityDamageByEntityEvent) entityDamageEvent;
        Entity killerEntity = entityDamageByEntityEvent.getDamager();

        UUID uuid = dead instanceof Player ? dead.getUniqueId() : null;
        handleKill(time, uuid, killerEntity);
    } catch (Exception e) {
        errorLogger.log(L.ERROR, e, ErrorContext.builder().related(event, dead).build());
    }
}
 
源代码11 项目: Skript   文件: ExprAttacked.java
@Override
public boolean init(final Expression<?>[] vars, final int matchedPattern, final Kleenean isDelayed, final ParseResult parser) {
	if (!ScriptLoader.isCurrentEvent(EntityDamageEvent.class, EntityDeathEvent.class, VehicleDamageEvent.class, VehicleDestroyEvent.class)) {
		Skript.error("The expression 'victim' can only be used in a damage or death event", ErrorQuality.SEMANTIC_ERROR);
		return false;
	}
	final String type = parser.regexes.size() == 0 ? null : parser.regexes.get(0).group();
	if (type == null) {
		this.type = EntityData.fromClass(Entity.class);
	} else {
		final EntityData<?> t = EntityData.parse(type);
		if (t == null) {
			Skript.error("'" + type + "' is not an entity type", ErrorQuality.NOT_AN_EXPRESSION);
			return false;
		}
		this.type = t;
	}
	return true;
}
 
源代码12 项目: Skript   文件: ExprAttacker.java
@Nullable
	private static Entity getAttacker(final @Nullable Event e) {
		if (e == null)
			return null;
		if (e instanceof EntityDamageByEntityEvent) {
			if (((EntityDamageByEntityEvent) e).getDamager() instanceof Projectile) {
				final Object o = ProjectileUtils.getShooter((Projectile) ((EntityDamageByEntityEvent) e).getDamager());
				if (o instanceof Entity)
					return (Entity) o;
				return null;
			}
			return ((EntityDamageByEntityEvent) e).getDamager();
//		} else if (e instanceof EntityDamageByBlockEvent) {
//			return ((EntityDamageByBlockEvent) e).getDamager();
		} else if (e instanceof EntityDeathEvent) {
			return getAttacker(((EntityDeathEvent) e).getEntity().getLastDamageCause());
		} else if (e instanceof VehicleDamageEvent) {
			return ((VehicleDamageEvent) e).getAttacker();
		} else if (e instanceof VehicleDestroyEvent) {
			return ((VehicleDestroyEvent) e).getAttacker();
		}
		return null;
	}
 
源代码13 项目: Skript   文件: EffCancelDrops.java
@Override
public boolean init(Expression<?>[] exprs, int matchedPattern, Kleenean isDelayed, ParseResult parseResult) {
	cancelItems = parseResult.mark == 0 || parseResult.mark == 1;
	cancelExps = parseResult.mark == 0 || parseResult.mark == 2;
	if (ScriptLoader.isCurrentEvent(BlockBreakEvent.class)) {
		if (cancelItems && !CAN_CANCEL_BLOCK_ITEM_DROPS) {
			Skript.error("Cancelling drops of items in a block break event requires Minecraft 1.12 or newer");
			return false;
		}
	} else if (!ScriptLoader.isCurrentEvent(EntityDeathEvent.class)) {
		Skript.error("The cancel drops effect can't be used outside of a death" +
			(CAN_CANCEL_BLOCK_ITEM_DROPS ? " or block break" : "") + " event");
		return false;
	}
	if (isDelayed.isTrue()) {
		Skript.error("Can't cancel the drops anymore after the event has already passed");
		return false;
	}
	return true;
}
 
源代码14 项目: Sentinel   文件: SentinelTrait.java
/**
 * Called when any entity dies.
 */
public void whenSomethingDies(EntityDeathEvent event) {
    UUID id = event.getEntity().getUniqueId();
    if (needsDropsClear.contains(id)) {
        needsDropsClear.remove(id);
        if (event.getEntity().getType() != EntityType.PLAYER) {
            if (SentinelPlugin.debugMe) {
                debug("A " + event.getEntity().getType() + " with id " + id + " died. Clearing its drops.");
            }
            event.getDrops().clear();
            event.setDroppedExp(0);
        }
    }
    else {
        if (SentinelPlugin.debugMe) {
            debug("A " + event.getEntity().getType() + " with id " + id + " died, but that's none of my business.");
        }
    }
    targetingHelper.removeTarget(id);
}
 
源代码15 项目: EliteMobs   文件: Corpse.java
@EventHandler
public void onDeath(EntityDeathEvent event) {

    EliteMobEntity eliteMobEntity = EntityTracker.getEliteMobEntity(event.getEntity());
    if (eliteMobEntity == null) return;

    if (!eliteMobEntity.hasPower(this)) return;

    if (!event.getEntity().getLocation().getBlock().getType().equals(Material.AIR)) return;

    blocks.add(event.getEntity().getLocation().getBlock());
    event.getEntity().getLocation().getBlock().setType(Material.BONE_BLOCK);

    new BukkitRunnable() {
        @Override
        public void run() {
            blocks.remove(event.getEntity().getLocation().getBlock());
            if (event.getEntity().getLocation().getBlock().getType().equals(Material.BONE_BLOCK))
                event.getEntity().getLocation().getBlock().setType(Material.AIR);
        }
    }.runTaskLater(MetadataHandler.PLUGIN, 20 * 60 * 2);

}
 
源代码16 项目: DungeonsXL   文件: DMobListener.java
@EventHandler
public void onEntityDeath(EntityDeathEvent event) {
    World world = event.getEntity().getWorld();

    if (event.getEntity() instanceof LivingEntity) {
        LivingEntity entity = event.getEntity();
        GameWorld gameWorld = plugin.getGameWorld(world);
        if (gameWorld != null) {
            if (gameWorld.isPlaying()) {
                DMob dMob = (DMob) plugin.getDungeonMob(entity);
                if (dMob != null) {
                    dMob.onDeath(plugin, event);
                }
            }
        }
    }
}
 
源代码17 项目: iDisguise   文件: EventListener.java
@EventHandler
public void onEntityDeath(EntityDeathEvent event) {
	final LivingEntity livingEntity = event.getEntity();
	final int entityId = livingEntity.getEntityId();
	
	if(livingEntity instanceof Player) return; // we have a seperate method for players
	
	if(DisguiseManager.isDisguised(livingEntity)) {
		Bukkit.getScheduler().runTaskLater(plugin, new Runnable() {
			
			public void run() {
				DisguiseManager.undisguise(livingEntity);
			}
			
		}, 100L);
	}
	
	Bukkit.getScheduler().runTaskLater(plugin, new Runnable() {
		
		public void run() {
			EntityIdList.removeEntity(entityId);
		}
		
	}, 200L);
}
 
源代码18 项目: BetonQuest   文件: CustomDropListener.java
@EventHandler(ignoreCancelled = true)
public void onEntityDeath(EntityDeathEvent event) {
    int i = 0;
    while (event.getEntity().hasMetadata("betonquest-drops-" + i)) {
        try {
            List<MetadataValue> metadata = event.getEntity().getMetadata("betonquest-drops-" + i);
            for (MetadataValue m : metadata) {
                String item = m.asString();
                int index = item.indexOf(':');
                event.getDrops().add(new QuestItem(new ItemID(null, item.substring(0, index)))
                        .generate(Integer.valueOf(item.substring(index + 1))));
            }
        } catch (Exception e) {
            LogUtils.getLogger().log(Level.WARNING, "Error when dropping custom item from entity: " + e.getMessage());
            LogUtils.logThrowable(e);
        }
        i++;
    }
}
 
源代码19 项目: IridiumSkyblock   文件: EntityDeathListener.java
@EventHandler
public void onEntityDeath(EntityDeathEvent event) {
    try {
        final LivingEntity entity = event.getEntity();
        final Player killer = entity.getKiller();
        if (killer == null) return;

        final Location location = killer.getLocation();
        final IslandManager islandManager = IridiumSkyblock.getIslandManager();
        if (!islandManager.isIslandWorld(location)) return;

        final User user = User.getUser(killer);
        final Island userIsland = user.getIsland();
        if (userIsland == null) return;

        for (Mission mission : IridiumSkyblock.getMissions().missions) {
            final Map<String, Integer> levels = userIsland.getMissionLevels();
            levels.putIfAbsent(mission.name, 1);

            final MissionData level = mission.levels.get(levels.get(mission.name));
            if (level.type != MissionType.ENTITY_KILL) continue;

            final List<String> conditions = level.conditions;
            if (conditions.isEmpty() || conditions.contains(entity.toString()))
                userIsland.addMission(mission.name, 1);
        }

        if (userIsland.getExpBooster() != 0)
            event.setDroppedExp(event.getDroppedExp() * 2);
    } catch (Exception e) {
        IridiumSkyblock.getInstance().sendErrorMessage(e);
    }
}
 
源代码20 项目: InventoryGui   文件: InventoryGui.java
public void unregister() {
    InventoryClickEvent.getHandlerList().unregister(this);
    InventoryDragEvent.getHandlerList().unregister(this);
    InventoryCloseEvent.getHandlerList().unregister(this);
    InventoryMoveItemEvent.getHandlerList().unregister(this);
    BlockDispenseEvent.getHandlerList().unregister(this);
    BlockBreakEvent.getHandlerList().unregister(this);
    EntityDeathEvent.getHandlerList().unregister(this);
}
 
源代码21 项目: HolographicDisplays   文件: PowerUps.java
@EventHandler
public void onEntityDeath(EntityDeathEvent event) {
	
	if (event.getEntityType() == EntityType.ZOMBIE) {

		// Remove normal drops and exp.
		event.getDrops().clear();
		event.setDroppedExp(0);
		
		// Spawn the floating item with a label.
		final Hologram hologram = HologramsAPI.createHologram(this, event.getEntity().getLocation().add(0.0, 0.9, 0.0));
		hologram.appendTextLine(ChatColor.AQUA  + "" + ChatColor.BOLD + "Speed PowerUp");
		ItemLine icon = hologram.appendItemLine(new ItemStack(Material.SUGAR));
		
		icon.setPickupHandler(new PickupHandler() {
			
			@Override
			public void onPickup(Player player) {
				
				// Play an effect.
				player.playEffect(hologram.getLocation(), Effect.MOBSPAWNER_FLAMES, null);
				
				// 30 seconds of speed II.
				player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 30 * 20, 1), true);
				
				// Delete the hologram.
				hologram.delete();
				
			}
		});
		
	}
}
 
源代码22 项目: EnchantmentsEnhance   文件: LifeskillingListener.java
/**
 * Killing mobs gives enhancement stone.
 *
 * @param e
 */
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
public void onKilling(EntityDeathEvent e) {
    // If the killed entity is a monster
    if (e.getEntity() instanceof Monster) {
        if (e.getEntity().getKiller() instanceof Player) {
            Player player = e.getEntity().getKiller();
            if (DropManager.killingChance > random.nextDouble()) {
                DropManager.randomDrop(player, DropManager.killingLootTable);
            }
        }
    }
}
 
源代码23 项目: UhcCore   文件: DragonRushListener.java
@EventHandler
public void onEntityDeath(EntityDeathEvent e){
    if (e.getEntityType() != EntityType.ENDER_DRAGON){
        return;
    }

    if (e.getEntity().getKiller() == null) {
        return;
    }

    Player killer = e.getEntity().getKiller();
    UhcPlayer uhcKiller = getPlayersManager().getUhcPlayer(killer);

    List<UhcPlayer> spectators = new ArrayList<>();

    for (UhcPlayer playingPlayer : getPlayersManager().getAllPlayingPlayers()){

        if (!playingPlayer.isInTeamWith(uhcKiller)){
            spectators.add(playingPlayer);
        }
    }

    for (UhcPlayer spectator : spectators){
        spectator.setState(PlayerState.DEAD);

        try {
            Player all = spectator.getPlayer();
            all.setGameMode(GameMode.SPECTATOR);
            all.teleport(killer);
        }catch (UhcPlayerNotOnlineException exeption){
            // Nothing
        }
    }

    getPlayersManager().checkIfRemainingPlayers();
}
 
源代码24 项目: Slimefun4   文件: ButcherAndroidListener.java
@EventHandler(priority = EventPriority.HIGHEST)
public void onDeath(EntityDeathEvent e) {
    if (e.getEntity().hasMetadata(METADATA_KEY)) {
        AndroidInstance obj = (AndroidInstance) e.getEntity().getMetadata(METADATA_KEY).get(0).value();

        Slimefun.runSync(() -> {
            List<ItemStack> items = new ArrayList<>();

            // Collect any nearby dropped items
            for (Entity n : e.getEntity().getNearbyEntities(0.5D, 0.5D, 0.5D)) {
                if (n instanceof Item && n.isValid() && !SlimefunUtils.hasNoPickupFlag((Item) n)) {
                    items.add(((Item) n).getItemStack());
                    n.remove();
                }
            }

            addExtraDrops(items, e.getEntityType());

            obj.getAndroid().addItems(obj.getBlock(), items.toArray(new ItemStack[0]));
            ExperienceOrb exp = (ExperienceOrb) e.getEntity().getWorld().spawnEntity(e.getEntity().getLocation(), EntityType.EXPERIENCE_ORB);
            exp.setExperience(1 + ThreadLocalRandom.current().nextInt(6));
        }, 1L);

        // Removing metadata to prevent memory leaks
        e.getEntity().removeMetadata(METADATA_KEY, SlimefunPlugin.instance);
    }
}
 
源代码25 项目: Carbon   文件: ItemListener.java
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onEntityKilled(EntityDeathEvent e) {
    if (e.getEntity().getType() != EntityType.SHEEP || !plugin.getConfig().getBoolean("options.sheep.dropMutton", true) || !e.getEntity().getWorld().isGameRule("doMobLoot") || !(e.getEntity() instanceof Ageable)) {
        return;
    }
    Ageable entity = (Ageable) e.getEntity();
    if (!entity.isAdult()) {
        return;
    }
    boolean fireaspect = false;
    int looting = 1;
    if (entity.getLastDamageCause() instanceof EntityDamageByEntityEvent) {
        EntityDamageByEntityEvent dEvent = (EntityDamageByEntityEvent) entity.getLastDamageCause();
        if (dEvent.getDamager() != null && dEvent.getDamager() instanceof Player) {
            ItemStack hand = ((Player) dEvent.getDamager()).getItemInHand();
            fireaspect = hand.containsEnchantment(Enchantment.FIRE_ASPECT);
            if (hand.containsEnchantment(Enchantment.LOOT_BONUS_MOBS))
                looting += hand.getEnchantmentLevel(Enchantment.LOOT_BONUS_MOBS);
            if (looting < 1) //Incase a plugin sets an enchantment level to be negative
                looting = 1;
        } else if (dEvent.getDamager() != null && dEvent.getDamager() instanceof Arrow) {
            Arrow a = (Arrow) dEvent.getDamager();
            if (a.getFireTicks() > 0)
                fireaspect = true;
        }
    }
    if (entity.getLastDamageCause().getCause() == DamageCause.FIRE_TICK || entity.getLastDamageCause().getCause() == DamageCause.FIRE
            || entity.getLastDamageCause().getCause() == DamageCause.LAVA || fireaspect)
        e.getDrops().add(new ItemStack(Carbon.injector().cookedMuttonItemMat, random.nextInt(2) + 1 + random.nextInt(looting)));
    else
        e.getDrops().add(new ItemStack(Carbon.injector().muttonItemMat, random.nextInt(2) + 1 + random.nextInt(looting)));
}
 
源代码26 项目: UhcCore   文件: EntityDeathListener.java
@EventHandler(priority = EventPriority.HIGHEST)
public void onEntityDeath(EntityDeathEvent event) {
	handleMobLoot(event);
	handleGoldDrop(event);
	handleGhastTearDrop(event);
	handleOfflineZombieDeath(event);
}
 
源代码27 项目: UhcCore   文件: EntityDeathListener.java
private void handleMobLoot(EntityDeathEvent event){
	EntityType entity = event.getEntityType();
	if(mobLoots.containsKey(entity)){
		MobLootConfiguration lootConfig = mobLoots.get(entity);
		event.getDrops().clear();
		event.getDrops().add(lootConfig.getLoot().clone());
		event.setDroppedExp(lootConfig.getAddXp());
		UhcItems.spawnExtraXp(event.getEntity().getLocation(),lootConfig.getAddXp());
	}
}
 
源代码28 项目: UhcCore   文件: EntityDeathListener.java
private void handleGhastTearDrop(EntityDeathEvent event){
	if(event.getEntityType().equals(EntityType.GHAST) && !allowGhastTearDrop){
		for(int i = event.getDrops().size()-1 ; i>=0 ; i--){
			if(event.getDrops().get(i).getType().equals(Material.GHAST_TEAR)){
				event.getDrops().remove(i);
			}
		}
	}
}
 
源代码29 项目: MarriageMaster   文件: BonusXpListener.java
@Override
public void setEventExp(EntityDeathEvent event, double xp, Object o, MarriagePlayer player, Marriage marriage)
{
	BonusXPDropEvent bonusXPDropEvent = new BonusXPDropEvent(player, marriage, (int) Math.round(xp));
	Bukkit.getServer().getPluginManager().callEvent(bonusXPDropEvent);
	if(!bonusXPDropEvent.isCancelled())
	{
		event.setDroppedExp(bonusXPDropEvent.getAmount());
	}
}
 
源代码30 项目: Civs   文件: VillagerEffect.java
@EventHandler
public void onVillagerDeath(EntityDeathEvent event) {
    if (!(event.getEntity() instanceof Villager)) {
        return;
    }
    Location location = event.getEntity().getLocation();
    Town town = TownManager.getInstance().getTownAt(location);
    if (town == null) {
        return;
    }
    TownManager.getInstance().setTownPower(town,
            town.getPower() - ConfigManager.getInstance().getPowerPerNPCKill());
}
 
 类所在包
 同包方法