Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.baugh70pkerb0y.Levels.eventlistener;
- import me.baugh70pkerb0y.Levels.Levels;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.enchantment.EnchantItemEvent;
- import org.bukkit.event.entity.EntityDamageByEntityEvent;
- import org.bukkit.event.player.PlayerLevelChangeEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.PlayerInventory;
- import org.bukkit.plugin.java.JavaPlugin;
- public class EventListener extends JavaPlugin implements Listener{
- public int maxAttackLevel = getConfig().getInt("Max_Attack_Damage");
- public int maxFoodLevel = getConfig().getInt("Max_Food_Level");
- public int foodIncrease = getConfig().getInt("Food_Level_Increase");
- public int attackIncrease = getConfig().getInt("Attack_Level_Increase");
- public int levelStart = getConfig().getInt("Starting_Hunger_Level");
- public boolean foodLevels = getConfig().getBoolean("Enable_Food_Levels");
- public boolean attackLevels = getConfig().getBoolean("Enable_Attack_Levels");
- public boolean itemReplace = getConfig().getBoolean("Replace_Items_For_Levels");
- public boolean itemEnchant = getConfig().getBoolean("Replace_Items_For_Levels");
- private ItemStack blazeRod = new ItemStack(Material.BLAZE_ROD);
- private ItemStack goldIngot = new ItemStack(Material.GOLD_INGOT);
- private ItemStack item3 = new ItemStack(Material.IRON_INGOT);
- public EventListener(Levels plugin){
- plugin.getServer().getPluginManager().registerEvents(this, plugin);
- }
- @EventHandler
- public void onPlayerLevelChange(PlayerLevelChangeEvent event){
- Player player = (Player) event.getPlayer();
- int foodLevel = player.getFoodLevel();
- if (foodLevels == true && player.hasPermission("levels.foodlevels")){ // Checks if player foodLevels == to true in config
- // Checks to make sure player has permission
- if(player.getFoodLevel() == maxFoodLevel && !player.hasPermission("levels.bypass") || player.isOp()){
- // Checks to see if player already has the max food level and if the player does not habe permission
- player.sendMessage(ChatColor.DARK_AQUA + "You have the max food level, therefore your food level will not go up!");
- }else{
- int setFoodLevel = foodLevel + foodIncrease; // Adds the foodIncrease to the current food level
- if(setFoodLevel > maxFoodLevel){ // Checks to see if the setFoodLevel is greater than maxFoodLevel if so...
- int newFoodLevel = maxFoodLevel - foodLevel;
- // Calculating how much to add to the players food level
- player.setFoodLevel(newFoodLevel); // Sets the food level
- }else{
- player.setFoodLevel(foodIncrease);
- }
- }
- }
- }
- @EventHandler
- public void onEntityDamageByEntity(EntityDamageByEntityEvent event){
- if(attackLevels == true && event.getDamager() instanceof Player){ // If enabled in configuration
- Player player = (Player) event.getDamager();
- if(player.hasPermission("levels.attacklevels")){ // check to see if the damager
- double damage = event.getDamage();
- int level = player.getLevel(); // Get the XP level of the damager
- double levelDamage = level * level; // Get the level multiplied by the level increase
- if(level >= 15){
- if (levelDamage > maxAttackLevel){
- double checkedDamage = maxAttackLevel - damage;
- event.setDamage(checkedDamage);
- }
- }else{
- event.setDamage(levelDamage); // Set the damage
- }
- }
- }
- }
- @EventHandler
- public void onEnchantItem(EnchantItemEvent event){
- Player player = event.getEnchanter();
- if (itemEnchant == true&& player.hasPermission("levels.itemenchanting")) {// checks config and if player has permission
- PlayerInventory inv = player.getInventory();
- if (inv.contains(blazeRod) && inv.contains(goldIngot) && inv.contains(item3)){ // Checks player's inventory for the items
- inv.remove(blazeRod); // removes the items
- inv.remove(goldIngot);
- inv.remove(item3);
- }else{
- event.setCancelled(true); // Cancel the event
- player.sendMessage(ChatColor.DARK_AQUA + "You do not have the required items!"); // Tell them
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement