Advertisement
Guest User

Untitled

a guest
Dec 8th, 2013
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.24 KB | None | 0 0
  1. package me.baugh70pkerb0y.Levels.eventlistener;
  2.  
  3. import me.baugh70pkerb0y.Levels.Levels;
  4.  
  5. import org.bukkit.ChatColor;
  6. import org.bukkit.Material;
  7. import org.bukkit.entity.Player;
  8. import org.bukkit.event.EventHandler;
  9. import org.bukkit.event.Listener;
  10. import org.bukkit.event.enchantment.EnchantItemEvent;
  11. import org.bukkit.event.entity.EntityDamageByEntityEvent;
  12. import org.bukkit.event.player.PlayerLevelChangeEvent;
  13. import org.bukkit.inventory.ItemStack;
  14. import org.bukkit.inventory.PlayerInventory;
  15. import org.bukkit.plugin.java.JavaPlugin;
  16.  
  17.  
  18. public class EventListener extends JavaPlugin implements Listener{
  19.     public int maxAttackLevel = getConfig().getInt("Max_Attack_Damage");
  20.     public int maxFoodLevel = getConfig().getInt("Max_Food_Level");
  21.     public int foodIncrease = getConfig().getInt("Food_Level_Increase");
  22.     public int attackIncrease = getConfig().getInt("Attack_Level_Increase");
  23.     public int levelStart = getConfig().getInt("Starting_Hunger_Level");
  24.     public boolean foodLevels = getConfig().getBoolean("Enable_Food_Levels");
  25.     public boolean attackLevels = getConfig().getBoolean("Enable_Attack_Levels");
  26.     public boolean itemReplace = getConfig().getBoolean("Replace_Items_For_Levels");
  27.     public boolean itemEnchant = getConfig().getBoolean("Replace_Items_For_Levels");
  28.     private ItemStack blazeRod = new ItemStack(Material.BLAZE_ROD);
  29.     private ItemStack goldIngot = new ItemStack(Material.GOLD_INGOT);
  30.     private ItemStack item3 = new ItemStack(Material.IRON_INGOT);
  31.    
  32.     public EventListener(Levels plugin){
  33.         plugin.getServer().getPluginManager().registerEvents(this, plugin);
  34.     }
  35.    
  36.     @EventHandler
  37.     public void onPlayerLevelChange(PlayerLevelChangeEvent event){
  38.         Player player = (Player) event.getPlayer();
  39.         int foodLevel = player.getFoodLevel();
  40.        
  41.         if (foodLevels == true && player.hasPermission("levels.foodlevels")){ // Checks if player foodLevels == to true in config
  42.             // Checks to make sure player has permission
  43.             if(player.getFoodLevel() == maxFoodLevel && !player.hasPermission("levels.bypass") || player.isOp()){
  44.                 // Checks to see if player already has the max food level and if the player does not habe permission
  45.                 player.sendMessage(ChatColor.DARK_AQUA + "You have the max food level, therefore your food level will not go up!");
  46.             }else{
  47.                 int setFoodLevel = foodLevel + foodIncrease; // Adds the foodIncrease to the current food level
  48.                 if(setFoodLevel > maxFoodLevel){ // Checks to see if the setFoodLevel is greater than maxFoodLevel if so...
  49.                     int newFoodLevel = maxFoodLevel - foodLevel;
  50.                     // Calculating how much to add to the players food level
  51.                    
  52.                     player.setFoodLevel(newFoodLevel); // Sets the food level
  53.                 }else{
  54.                     player.setFoodLevel(foodIncrease);
  55.                 }
  56.             }
  57.         }
  58.     }
  59.    
  60.     @EventHandler
  61.      public void onEntityDamageByEntity(EntityDamageByEntityEvent event){
  62.         if(attackLevels == true && event.getDamager() instanceof Player){ // If enabled in configuration
  63.             Player player = (Player) event.getDamager();
  64.           if(player.hasPermission("levels.attacklevels")){ // check to see if the damager
  65.               double damage = event.getDamage();
  66.               int level = player.getLevel(); // Get the XP level of the damager
  67.               double levelDamage = level * level; // Get the level multiplied by the level increase
  68.               if(level >= 15){
  69.                   if (levelDamage > maxAttackLevel){
  70.                       double checkedDamage = maxAttackLevel - damage;
  71.                  
  72.                       event.setDamage(checkedDamage);
  73.                   }
  74.               }else{
  75.                   event.setDamage(levelDamage); // Set the damage
  76.               }
  77.           }
  78.         }
  79.     }
  80.      
  81.     @EventHandler
  82.      public void onEnchantItem(EnchantItemEvent event){
  83.          Player player = event.getEnchanter();
  84.         if (itemEnchant == true&& player.hasPermission("levels.itemenchanting")) {// checks config and if player has permission
  85.             PlayerInventory inv = player.getInventory();
  86.             if (inv.contains(blazeRod) && inv.contains(goldIngot) && inv.contains(item3)){ // Checks player's inventory for the items
  87.                 inv.remove(blazeRod); // removes the items
  88.                 inv.remove(goldIngot);
  89.                 inv.remove(item3);
  90.             }else{
  91.                 event.setCancelled(true); // Cancel the event
  92.                 player.sendMessage(ChatColor.DARK_AQUA + "You do not have the required items!"); // Tell them
  93.             }
  94.          }
  95.      }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement