Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2016
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.09 KB | None | 0 0
  1. package me.davenathanael.galaxysets;
  2.  
  3. import java.util.EnumSet;
  4.  
  5. import org.bukkit.Location;
  6. import org.bukkit.Material;
  7. import org.bukkit.block.BlockFace;
  8. import org.bukkit.entity.Player;
  9. import org.bukkit.event.EventHandler;
  10. import org.bukkit.event.Listener;
  11. import org.bukkit.event.block.Action;
  12. import org.bukkit.event.block.BlockDispenseEvent;
  13. import org.bukkit.event.entity.PlayerDeathEvent;
  14. import org.bukkit.event.inventory.InventoryClickEvent;
  15. import org.bukkit.event.player.PlayerInteractEvent;
  16. import org.bukkit.event.player.PlayerItemBreakEvent;
  17. import org.bukkit.event.player.PlayerJoinEvent;
  18. import org.bukkit.event.player.PlayerQuitEvent;
  19. import org.bukkit.inventory.PlayerInventory;
  20.  
  21. import me.davenathanael.galaxyitems.armorset.Blightraven;
  22. import me.davenathanael.galaxyitems.armorset.Participant;
  23. import me.davenathanael.galaxyitems.armorset.Windrunner;
  24. import me.davenathanael.galaxysets.listeners.VanillaXP;
  25.  
  26. public class ArmorCheck implements Listener {
  27.  
  28.     Participant participant = new Participant();
  29.     Blightraven blightraven = new Blightraven();
  30.     Windrunner windrunner = new Windrunner();
  31.     VanillaXP v = VanillaXP.getInstance();
  32.     EnumSet<Material> dismantleAble = EnumSet.of(
  33.             Material.LEATHER_HELMET, Material.LEATHER_CHESTPLATE, Material.LEATHER_LEGGINGS, Material.LEATHER_BOOTS, Material.CHAINMAIL_HELMET,
  34.             Material.CHAINMAIL_CHESTPLATE, Material.CHAINMAIL_LEGGINGS, Material.CHAINMAIL_BOOTS, Material.IRON_HELMET, Material.IRON_CHESTPLATE,
  35.             Material.IRON_LEGGINGS, Material.IRON_BOOTS, Material.GOLD_HELMET, Material.GOLD_CHESTPLATE, Material.GOLD_LEGGINGS, Material.GOLD_BOOTS,
  36.             Material.DIAMOND_HELMET, Material.DIAMOND_CHESTPLATE, Material.DIAMOND_LEGGINGS, Material.DIAMOND_BOOTS);
  37.  
  38.     @EventHandler
  39.     public void onJoinEvent(PlayerJoinEvent e) {
  40.         Player p = e.getPlayer();
  41.         checkArmors(p);
  42.         if (!v.getToggles().containsKey(p.getName())) {
  43.             v.getToggles().put(p.getName(), false);
  44.         }
  45.     }
  46.  
  47.     @EventHandler
  48.     public void onLeaveEvent(PlayerQuitEvent e) {
  49.         Player p = e.getPlayer();
  50.         if (PlayerManager.getInstance().playerRegistered(p)) {
  51.             PlayerManager.getInstance().getPlayers().remove(p.getName());
  52.         }
  53.         v.getToggles().remove(p.getName());
  54.     }
  55.  
  56.     /*
  57.     @EventHandler
  58.     public void onArmorEquip(ArmorEquipEvent e) {
  59.         Player p = e.getPlayer();
  60.         p.sendMessage(e.getEventName() + "__" + e.getMethod().toString() + "__" + e.getNewArmorPiece().toString()
  61.                 + e.getOldArmorPiece().toString());
  62.         checkArmors(p);
  63.     }*/
  64.     @EventHandler
  65.     public void dispenserFireEvent(BlockDispenseEvent e){
  66.         Material mat = e.getItem().getType();
  67.         if (dismantleAble.contains(mat)) {
  68.           Location loc = e.getBlock().getLocation();
  69.           for (Player p : loc.getWorld().getPlayers()) {
  70.             if ((loc.getBlockY() - p.getLocation().getBlockY() >= -1) && (loc.getBlockY() - p.getLocation().getBlockY() <= 1) && (
  71.               ((p.getInventory().getHelmet() == null) && ((mat == Material.LEATHER_HELMET)||(mat == Material.CHAINMAIL_HELMET) || (mat == Material.IRON_HELMET) || (mat == Material.GOLD_HELMET) ||(mat == Material.DIAMOND_HELMET))) || ((p.getInventory().getChestplate() == null) && ((mat == Material.LEATHER_CHESTPLATE)||(mat == Material.CHAINMAIL_CHESTPLATE) || (mat == Material.IRON_CHESTPLATE) || (mat == Material.GOLD_CHESTPLATE) ||(mat == Material.DIAMOND_CHESTPLATE))) || ((p.getInventory().getLeggings() == null) && ((mat == Material.LEATHER_LEGGINGS)||(mat == Material.CHAINMAIL_LEGGINGS) || (mat == Material.IRON_LEGGINGS) || (mat == Material.GOLD_LEGGINGS) ||(mat == Material.DIAMOND_LEGGINGS))) || ((p.getInventory().getBoots() == null) && ((mat == Material.LEATHER_BOOTS)||(mat == Material.CHAINMAIL_BOOTS) || (mat == Material.IRON_BOOTS) || (mat == Material.GOLD_BOOTS) ||(mat == Material.DIAMOND_BOOTS)))))
  72.             {
  73.               org.bukkit.block.Dispenser dispenser = (org.bukkit.block.Dispenser)e.getBlock().getState();
  74.               org.bukkit.material.Dispenser dis = (org.bukkit.material.Dispenser)dispenser.getData();
  75.               BlockFace directionFacing = dis.getFacing();
  76.               if (((directionFacing == BlockFace.EAST) && (p.getLocation().getBlockX() != loc.getBlockX()) && (p.getLocation().getX() <= loc.getX() + 2.3D) && (p.getLocation().getX() >= loc.getX())) || ((directionFacing == BlockFace.WEST) && (p.getLocation().getX() >= loc.getX() - 1.3D) && (p.getLocation().getX() <= loc.getX())) || ((directionFacing == BlockFace.SOUTH) && (p.getLocation().getBlockZ() != loc.getBlockZ()) && (p.getLocation().getZ() <= loc.getZ() + 2.3D) && (p.getLocation().getZ() >= loc.getZ())) || ((directionFacing == BlockFace.NORTH) && (p.getLocation().getZ() >= loc.getZ() - 1.3D) && (p.getLocation().getZ() <= loc.getZ())))
  77.               {
  78.                   checkArmors(p);
  79.                 /*ArmorEquipEvent armorEquipEvent = new ArmorEquipEvent(p, ArmorEquipEvent.EquipMethod.DISPENSER, ArmorType.matchType(e.getItem()), null, e.getItem());
  80.                 Bukkit.getServer().getPluginManager().callEvent(armorEquipEvent);
  81.                 if (armorEquipEvent.isCancelled()) {
  82.                   e.setCancelled(true);
  83.                 }*/
  84.                
  85.               }
  86.             }
  87.           }
  88.         }
  89.       }
  90.    
  91.     @EventHandler
  92.     public void itemBreakEvent(PlayerItemBreakEvent e){
  93.         Player p = e.getPlayer();
  94.         checkArmors(p);
  95.     }
  96.     @EventHandler
  97.     public void playerDeath(PlayerDeathEvent e){
  98.         Player p = e.getEntity();
  99.         checkArmors(p);
  100.     }
  101.    
  102.     @EventHandler
  103.     public void playerInteract(PlayerInteractEvent e){
  104.         if((e.getAction() == Action.RIGHT_CLICK_AIR)||(e.getAction() == Action.RIGHT_CLICK_BLOCK)){
  105.             if(e.getItem() == null)return;
  106.             if(!dismantleAble.contains(e.getItem().getType())){
  107.                 return;
  108.             }
  109.             Player p = e.getPlayer();
  110.             checkArmors(p);
  111.         }
  112.     }
  113.     @EventHandler
  114.     public void invClick(InventoryClickEvent e){
  115.         if(e.getCurrentItem() == null && e.getCurrentItem().getType() == Material.AIR && e.getCursor() == null)return;
  116.         if((dismantleAble.contains(e.getCurrentItem().getType())) || (dismantleAble.contains(e.getCursor().getType())) || (e.isShiftClick()) ||
  117.                 (e.getCurrentItem() == null && dismantleAble.contains(e.getCursor().getType()))){
  118.             checkArmors((Player)e.getWhoClicked());
  119.         }
  120.     }
  121.    
  122.    
  123.    
  124.    
  125.    
  126.  
  127.     public void checkArmors(Player p) {
  128.         PlayerArmor player;
  129.         if (PlayerManager.getInstance().playerRegistered(p)) {
  130.             player = PlayerManager.getInstance().getPlayerArmor(p);
  131.             p.sendMessage("already reg");
  132.         } else {
  133.             PlayerManager.getInstance().createNewPlayerArmor(p);
  134.             player = PlayerManager.getInstance().getPlayerArmor(p);
  135.             p.sendMessage("new instance");
  136.         }
  137.         PlayerInventory pinv = p.getInventory();
  138.         player.setArmorAmount("participant", 0);
  139.         player.setArmorAmount("blightraven", 0);
  140.         player.setArmorAmount("windrunner", 0);
  141.         // helmet
  142.         if (pinv.getHelmet() != null) {
  143.             if (pinv.getHelmet().hasItemMeta()) {
  144.                 if (pinv.getHelmet().getItemMeta().getDisplayName()
  145.                         .equalsIgnoreCase(participant.helmet().getItemMeta().getDisplayName())) {
  146.                     player.addArmorAmount("participant");
  147.                     p.sendMessage("part1");
  148.                 } else if (pinv.getHelmet().getItemMeta().getDisplayName()
  149.                         .equalsIgnoreCase(blightraven.helmet().getItemMeta().getDisplayName())) {
  150.                     player.addArmorAmount("blightraven");
  151.                 } else if (pinv.getHelmet().getItemMeta().getDisplayName()
  152.                         .equalsIgnoreCase(windrunner.helmet().getItemMeta().getDisplayName())) {
  153.                     player.addArmorAmount("windrunner");
  154.                 }
  155.             }
  156.         }
  157.         // chestplate
  158.         if (pinv.getChestplate() != null) {
  159.             if (pinv.getChestplate().hasItemMeta()) {
  160.                 if (pinv.getChestplate().getItemMeta().getDisplayName()
  161.                         .equalsIgnoreCase(participant.chestplate().getItemMeta().getDisplayName())) {
  162.                     player.addArmorAmount("participant");
  163.                     p.sendMessage("part2");
  164.                 } else if (pinv.getChestplate().getItemMeta().getDisplayName()
  165.                         .equalsIgnoreCase(blightraven.chestplate().getItemMeta().getDisplayName())) {
  166.                     player.addArmorAmount("blightraven");
  167.                 }
  168.             }
  169.         }
  170.         // leggings
  171.         if (pinv.getLeggings() != null) {
  172.             if (pinv.getLeggings().hasItemMeta()) {
  173.                 if (pinv.getLeggings().getItemMeta().getDisplayName()
  174.                         .equalsIgnoreCase(participant.leggings().getItemMeta().getDisplayName())) {
  175.                     player.addArmorAmount("participant");
  176.                     p.sendMessage("part3");
  177.                 } else if (pinv.getLeggings().getItemMeta().getDisplayName()
  178.                         .equalsIgnoreCase(blightraven.leggings().getItemMeta().getDisplayName())) {
  179.                     player.addArmorAmount("blightraven");
  180.                 }
  181.             }
  182.         }
  183.         // boots
  184.         if (pinv.getBoots() != null) {
  185.             if (pinv.getBoots().hasItemMeta()) {
  186.                 if (pinv.getBoots().getItemMeta().getDisplayName()
  187.                         .equalsIgnoreCase(participant.boots().getItemMeta().getDisplayName())) {
  188.                     player.addArmorAmount("participant");
  189.                     p.sendMessage("part4");
  190.                 } else if (pinv.getBoots().getItemMeta().getDisplayName()
  191.                         .equalsIgnoreCase(blightraven.boots().getItemMeta().getDisplayName())) {
  192.                     player.addArmorAmount("blightraven");
  193.                 } else if (pinv.getBoots().getItemMeta().getDisplayName()
  194.                         .equalsIgnoreCase(windrunner.boots().getItemMeta().getDisplayName())) {
  195.                     player.addArmorAmount("windrunner");
  196.                 }
  197.             }
  198.         }
  199.         player.getPlayerEffects().checkSetAmount();
  200.     }
  201. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement