Este método verifica se o bloco fornecido é um boss ou não
@EventHandlervoidonBlockBreak(BlockBreakEvent event){Player player =event.getPlayer();BossAPI bossAPI =newBossAPI();Block block =event.getBlock();if (bossAPI.isBoss(block))player.sendMessage("Você acabou de literalmente quebrar um boss! (quer dizer, tentar)");}
Este método obtém o boss através do bloco fornecido. Caso não seja um boss, null é retornado.
@EventHandlervoidonPlayerInteract(PlayerInteractEvent event){BossAPI bossAPI =newBossAPI();Player player =event.getPlayer();User user =newUserAPI().loadUser(player.getName()); if (event.getAction() != Action.LEFT_CLICK_BLOCK || !bossAPI.isBoss(event.getClickedBlock()) || player.getItemInHand().getType() == Material.AIR || bossAPI.isNotBossKiller(player.getItemInHand()))
return;bossAPI.getBoss(event.getClickedBlock());}
Este método verifica se tem algum boss em uma lista de localizações
publicvoidspawn(Location location,BossDisplay bossDisplay){BossAPI bossAPI =newBossAPI();location.getBlock().setType(Material.AIR);FileConfiguration config =BossPlugin.getInstance().getBoss();List<Location> area =Area.getArea(location.clone().add(-1,-1,-1),location.clone().add(1,1,1));if (bossAPI.hasBossInArea(area)){Boss boss =bossAPI.getBossInArea(area);boss.setAmount(boss.getAmount() +1);boss.setHealth(boss.getBossDisplay().getMaxHealth());boss.update();return; }location.getBlock().setType(bossDisplay.getMaterial()); new Boss(bossDisplay, location.getBlock(), config.getDouble("boss." + bossDisplay.getMaterial().name().toUpperCase() + ".maxHealth"), 1);
}
Este método obtém 1 boss em uma lista de localizações. Caso não tenha 1 boss, null é retornado.
publicvoidspawn(Location location){Player player =Bukkit.getPlayer("player");BossAPI bossAPI =newBossAPI();location.getBlock().setType(Material.AIR);List<Location> area =Area.getArea(location.clone().add(-1,-1,-1),location.clone().add(1,1,1));Boss boss =bossAPI.getBossInArea(area);if (boss ==null) player.sendMessage("Não tem um boss nesta área!");}
Este método verifica se um ItemStack é uma matadora de bosses ou não.
@EventHandlervoidonPlayerInteract(PlayerInteractEvent event){BossAPI bossAPI =newBossAPI();Player player =event.getPlayer();User user =newUserAPI().loadUser(player.getName()); if (bossAPI.isNotBossKiller(player.getItemInHand()) || event.getAction() != Action.LEFT_CLICK_BLOCK || !bossAPI.isBoss(event.getClickedBlock()) || player.getItemInHand().getType() == Material.AIR)
return;bossAPI.getBoss(event.getClickedBlock());}