On Entity Death Event

Discussion in 'Plugin Development' started by West_Dover, Jul 31, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    West_Dover

    So I need to make the plugin gives Players Money When They Kill a Mob, It uses Vault for intigration.
    So far I have This:

    Code:
    package org.westdover.main;
     
    import java.util.logging.Logger;
     
    import org.bukkit.Bukkit;
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.entity.EntityDeathEvent;
    import org.bukkit.event.entity.PlayerDeathEvent;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.plugin.java.JavaPlugin;
     
     
    public class AMM extends JavaPlugin implements Listener{
        public final Logger Logger = java.util.logging.Logger.getLogger("Minecraft");
        public static AMM plugin;
       
        //Startup stuff
        @Override
        public void onDisable() {
            this.Logger.info("[AMM]" + " Plugin Disabling... Thanks for using it!");
        }
       
        @Override
        public void onEnable() {
            this.Logger.info("[AMM]" + " Starting Plugin");
            this.Logger.info("[AMM]" + " Enabling Version 1.0.0");
            this.Logger.info("[AMM]" + " Created by WEST DOVER!");
            Bukkit.getServer().getPluginManager().registerEvents(this, this);
        }
     
        @EventHandler
        public void onEDeath(EntityDeathEvent event)
        {
            //drops the item
            ItemStack playermeat = new ItemStack( Material.ROTTEN_FLESH, 1, (byte)4 );
            Player player = (Player) event.getEntity();
            player.getLocation().getWorld().dropItem(player.getLocation(), playermeat);
       
     
        }
    }
    If you know how to do it please Reply.

    Thanks West.
     
  2. Offline

    Tarestudio

    West_Dover
    With event.getEntity() you get the dying entity, not the killer. I think something like the following should work
    Code:java
    1. @EventHandler
    2. public void onEDeath(EntityDeathEvent event) {
    3. if (event.getEntity().getKiller() != null) {
    4. Player player = event.getEntity().getKiller();
    5. ItemStack playermeat = new ItemStack( Material.ROTTEN_FLESH, 1, (byte)4 );
    6. player.getLocation().getWorld().dropItem(player.getLocation(), playermeat);
    7. }
    8. }
     
Thread Status:
Not open for further replies.

Share This Page