Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.davenathanael.galaxysets;
- import java.util.EnumSet;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.block.BlockFace;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.block.BlockDispenseEvent;
- import org.bukkit.event.entity.PlayerDeathEvent;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.event.player.PlayerItemBreakEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.inventory.PlayerInventory;
- import me.davenathanael.galaxyitems.armorset.Blightraven;
- import me.davenathanael.galaxyitems.armorset.Participant;
- import me.davenathanael.galaxyitems.armorset.Windrunner;
- import me.davenathanael.galaxysets.listeners.VanillaXP;
- public class ArmorCheck implements Listener {
- Participant participant = new Participant();
- Blightraven blightraven = new Blightraven();
- Windrunner windrunner = new Windrunner();
- VanillaXP v = VanillaXP.getInstance();
- EnumSet<Material> dismantleAble = EnumSet.of(
- Material.LEATHER_HELMET, Material.LEATHER_CHESTPLATE, Material.LEATHER_LEGGINGS, Material.LEATHER_BOOTS, Material.CHAINMAIL_HELMET,
- Material.CHAINMAIL_CHESTPLATE, Material.CHAINMAIL_LEGGINGS, Material.CHAINMAIL_BOOTS, Material.IRON_HELMET, Material.IRON_CHESTPLATE,
- Material.IRON_LEGGINGS, Material.IRON_BOOTS, Material.GOLD_HELMET, Material.GOLD_CHESTPLATE, Material.GOLD_LEGGINGS, Material.GOLD_BOOTS,
- Material.DIAMOND_HELMET, Material.DIAMOND_CHESTPLATE, Material.DIAMOND_LEGGINGS, Material.DIAMOND_BOOTS);
- @EventHandler
- public void onJoinEvent(PlayerJoinEvent e) {
- Player p = e.getPlayer();
- checkArmors(p);
- if (!v.getToggles().containsKey(p.getName())) {
- v.getToggles().put(p.getName(), false);
- }
- }
- @EventHandler
- public void onLeaveEvent(PlayerQuitEvent e) {
- Player p = e.getPlayer();
- if (PlayerManager.getInstance().playerRegistered(p)) {
- PlayerManager.getInstance().getPlayers().remove(p.getName());
- }
- v.getToggles().remove(p.getName());
- }
- /*
- @EventHandler
- public void onArmorEquip(ArmorEquipEvent e) {
- Player p = e.getPlayer();
- p.sendMessage(e.getEventName() + "__" + e.getMethod().toString() + "__" + e.getNewArmorPiece().toString()
- + e.getOldArmorPiece().toString());
- checkArmors(p);
- }*/
- @EventHandler
- public void dispenserFireEvent(BlockDispenseEvent e){
- Material mat = e.getItem().getType();
- if (dismantleAble.contains(mat)) {
- Location loc = e.getBlock().getLocation();
- for (Player p : loc.getWorld().getPlayers()) {
- if ((loc.getBlockY() - p.getLocation().getBlockY() >= -1) && (loc.getBlockY() - p.getLocation().getBlockY() <= 1) && (
- ((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)))))
- {
- org.bukkit.block.Dispenser dispenser = (org.bukkit.block.Dispenser)e.getBlock().getState();
- org.bukkit.material.Dispenser dis = (org.bukkit.material.Dispenser)dispenser.getData();
- BlockFace directionFacing = dis.getFacing();
- 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())))
- {
- checkArmors(p);
- /*ArmorEquipEvent armorEquipEvent = new ArmorEquipEvent(p, ArmorEquipEvent.EquipMethod.DISPENSER, ArmorType.matchType(e.getItem()), null, e.getItem());
- Bukkit.getServer().getPluginManager().callEvent(armorEquipEvent);
- if (armorEquipEvent.isCancelled()) {
- e.setCancelled(true);
- }*/
- }
- }
- }
- }
- }
- @EventHandler
- public void itemBreakEvent(PlayerItemBreakEvent e){
- Player p = e.getPlayer();
- checkArmors(p);
- }
- @EventHandler
- public void playerDeath(PlayerDeathEvent e){
- Player p = e.getEntity();
- checkArmors(p);
- }
- @EventHandler
- public void playerInteract(PlayerInteractEvent e){
- if((e.getAction() == Action.RIGHT_CLICK_AIR)||(e.getAction() == Action.RIGHT_CLICK_BLOCK)){
- if(e.getItem() == null)return;
- if(!dismantleAble.contains(e.getItem().getType())){
- return;
- }
- Player p = e.getPlayer();
- checkArmors(p);
- }
- }
- @EventHandler
- public void invClick(InventoryClickEvent e){
- if(e.getCurrentItem() == null && e.getCurrentItem().getType() == Material.AIR && e.getCursor() == null)return;
- if((dismantleAble.contains(e.getCurrentItem().getType())) || (dismantleAble.contains(e.getCursor().getType())) || (e.isShiftClick()) ||
- (e.getCurrentItem() == null && dismantleAble.contains(e.getCursor().getType()))){
- checkArmors((Player)e.getWhoClicked());
- }
- }
- public void checkArmors(Player p) {
- PlayerArmor player;
- if (PlayerManager.getInstance().playerRegistered(p)) {
- player = PlayerManager.getInstance().getPlayerArmor(p);
- p.sendMessage("already reg");
- } else {
- PlayerManager.getInstance().createNewPlayerArmor(p);
- player = PlayerManager.getInstance().getPlayerArmor(p);
- p.sendMessage("new instance");
- }
- PlayerInventory pinv = p.getInventory();
- player.setArmorAmount("participant", 0);
- player.setArmorAmount("blightraven", 0);
- player.setArmorAmount("windrunner", 0);
- // helmet
- if (pinv.getHelmet() != null) {
- if (pinv.getHelmet().hasItemMeta()) {
- if (pinv.getHelmet().getItemMeta().getDisplayName()
- .equalsIgnoreCase(participant.helmet().getItemMeta().getDisplayName())) {
- player.addArmorAmount("participant");
- p.sendMessage("part1");
- } else if (pinv.getHelmet().getItemMeta().getDisplayName()
- .equalsIgnoreCase(blightraven.helmet().getItemMeta().getDisplayName())) {
- player.addArmorAmount("blightraven");
- } else if (pinv.getHelmet().getItemMeta().getDisplayName()
- .equalsIgnoreCase(windrunner.helmet().getItemMeta().getDisplayName())) {
- player.addArmorAmount("windrunner");
- }
- }
- }
- // chestplate
- if (pinv.getChestplate() != null) {
- if (pinv.getChestplate().hasItemMeta()) {
- if (pinv.getChestplate().getItemMeta().getDisplayName()
- .equalsIgnoreCase(participant.chestplate().getItemMeta().getDisplayName())) {
- player.addArmorAmount("participant");
- p.sendMessage("part2");
- } else if (pinv.getChestplate().getItemMeta().getDisplayName()
- .equalsIgnoreCase(blightraven.chestplate().getItemMeta().getDisplayName())) {
- player.addArmorAmount("blightraven");
- }
- }
- }
- // leggings
- if (pinv.getLeggings() != null) {
- if (pinv.getLeggings().hasItemMeta()) {
- if (pinv.getLeggings().getItemMeta().getDisplayName()
- .equalsIgnoreCase(participant.leggings().getItemMeta().getDisplayName())) {
- player.addArmorAmount("participant");
- p.sendMessage("part3");
- } else if (pinv.getLeggings().getItemMeta().getDisplayName()
- .equalsIgnoreCase(blightraven.leggings().getItemMeta().getDisplayName())) {
- player.addArmorAmount("blightraven");
- }
- }
- }
- // boots
- if (pinv.getBoots() != null) {
- if (pinv.getBoots().hasItemMeta()) {
- if (pinv.getBoots().getItemMeta().getDisplayName()
- .equalsIgnoreCase(participant.boots().getItemMeta().getDisplayName())) {
- player.addArmorAmount("participant");
- p.sendMessage("part4");
- } else if (pinv.getBoots().getItemMeta().getDisplayName()
- .equalsIgnoreCase(blightraven.boots().getItemMeta().getDisplayName())) {
- player.addArmorAmount("blightraven");
- } else if (pinv.getBoots().getItemMeta().getDisplayName()
- .equalsIgnoreCase(windrunner.boots().getItemMeta().getDisplayName())) {
- player.addArmorAmount("windrunner");
- }
- }
- }
- player.getPlayerEffects().checkSetAmount();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement