Advertisement
TechManDylan

TRTCLISTENER

Mar 11th, 2012
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.21 KB | None | 0 0
  1. package me.TechManDylan.bukkit.TheReaperThatCares;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.entity.Player;
  5. import org.bukkit.event.EventHandler;
  6. import org.bukkit.event.EventPriority;
  7. import org.bukkit.event.Listener;
  8. import org.bukkit.event.entity.EntityDamageEvent;
  9. import org.bukkit.event.entity.PlayerDeathEvent;
  10.  
  11. import ru.tehkode.permissions.PermissionManager;
  12. import ru.tehkode.permissions.bukkit.PermissionsEx;
  13.  
  14. public class TheReaperThatCaresPlayerListener implements Listener {
  15.    
  16.     @EventHandler(priority = EventPriority.NORMAL)
  17.     public void KeepExpOnDeath(PlayerDeathEvent event){
  18.         if(event.getEntity() instanceof Player) {
  19.             Player player = (Player) event.getEntity();
  20.         if(Bukkit.getServer().getPluginManager().isPluginEnabled("PermissionsEx")){
  21.             PermissionManager permissions = PermissionsEx.getPermissionManager();
  22.             ////////////////////
  23.             //Permission check//
  24.             ////////////////////
  25.             if(permissions.has(player, "TRTC.keepexp")){
  26.                 EntityDamageEvent died = event.getEntity().getLastDamageCause();
  27.                 /////////////////////////////////////
  28.                 //Checking all possible death types//
  29.                 /////////////////////////////////////
  30.                     switch(died.getCause()){
  31.                     case VOID:
  32.                        
  33.                     case LIGHTNING:
  34.                        
  35.                     case FALL:
  36.                
  37.                     case FIRE:
  38.                
  39.                     case FIRE_TICK:
  40.                
  41.                     case LAVA:
  42.                
  43.                     case SUFFOCATION:
  44.                        
  45.                     case DROWNING:
  46.                        
  47.                     case SUICIDE:
  48.                
  49.                     case STARVATION:
  50.                        
  51.                     case POISON:
  52.                        
  53.                     case CONTACT:
  54.                        
  55.                     case ENTITY_EXPLOSION:
  56.                        
  57.                     case BLOCK_EXPLOSION:
  58.                        
  59.                     case MAGIC:
  60.                        
  61.                     case ENTITY_ATTACK:
  62.                         if(died instanceof Player){
  63.                        
  64.                     } else {
  65.                        
  66.                     }
  67.                     case PROJECTILE:
  68.                         if(died instanceof Player){
  69.                        
  70.                     } else {
  71.                        
  72.                     }
  73.                     }
  74.                     /////////////////////////////////
  75.                     //Finished checking death types//
  76.                     /////////////////////////////////
  77.             } else {
  78.                 event.setKeepLevel(false);
  79.             }
  80.         } else {
  81.             event.setDroppedExp(0);
  82.             event.setKeepLevel(true);
  83.         }
  84.         }
  85.     }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement