Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package kits;
- import base.*;
- import org.bukkit.inventory.*;
- import org.bukkit.inventory.meta.*;
- import org.bukkit.entity.*;
- import me.metrofico.anni.basegame.*;
- import org.bukkit.*;
- import java.util.*;
- import me.metrofico.anni.itemmenu.*;
- import me.metrofico.anni.annihilation.*;
- import me.metrofico.anni.utils.*;
- import me.metrofico.anni.language.*;
- import org.bukkit.scheduler.*;
- import org.bukkit.plugin.*;
- import me.metrofico.anni.customevents.*;
- import org.bukkit.event.*;
- import me.metrofico.anni.kits.*;
- import org.bukkit.enchantments.*;
- import org.bukkit.potion.*;
- import me.metrofico.anni.tools.runnables.*;
- public class MineroPlus extends SpecialItemKit
- {
- private HashSet<String> allowed_break_duplicate;
- public MineroPlus() {
- this.allowed_break_duplicate = new HashSet<String>();
- }
- @Override
- protected void onInitialize() {
- this.allowed_break_duplicate = new HashSet<String>();
- }
- @Override
- protected ItemStack specialItem() {
- final ItemStack hammer = KitUtils.addSoulbound(new ItemStack(Material.BLAZE_POWDER));
- final ItemMeta meta = hammer.getItemMeta();
- meta.setDisplayName(String.valueOf(String.valueOf(this.getSpecialItemName())) + " " + ChatColor.GREEN + "LISTO");
- hammer.setItemMeta(meta);
- return hammer;
- }
- @Override
- protected String defaultSpecialItemName() {
- return ChatColor.YELLOW + "&5Duplicador";
- }
- @Override
- protected boolean isSpecialItem(final ItemStack stack) {
- return stack != null && stack.hasItemMeta() && stack.getItemMeta().hasDisplayName() && stack.getItemMeta().getDisplayName().contains(this.getSpecialItemName()) && KitUtils.isSoulbound(stack);
- }
- @Override
- protected boolean performSpecialAction(final Player var1, final AnniPlayer var2) {
- if (!this.allowed_break_duplicate.contains(var1.getPlayer().getName().toLowerCase())) {
- this.allowed_break_duplicate.add(var1.getPlayer().getName().toLowerCase());
- this.allowed(var2.getName().toLowerCase());
- var1.sendMessage(ChatColor.translateAlternateColorCodes('&', "&a¡El duplicador se ha activado!"));
- var1.getWorld().playSound(var1.getLocation(), Sound.SLIME_WALK, 5.0f, 5.0f);
- }
- return true;
- }
- @Override
- protected long getDelayLength() {
- return 40000L;
- }
- @Override
- protected boolean useDefaultChecking() {
- return true;
- }
- @Override
- protected String getInternalName() {
- return "&2MineroPlus";
- }
- public List<String> getFinalLore(final Player arg0) {
- final ArrayList<String> all = new ArrayList<String>();
- if (arg0.hasPermission("anni.kit." + this.getPerms())) {
- all.add("");
- all.add(ChatColor.GREEN + "Desbloqueado");
- }
- else {
- if (10000 - NexoAPI.obtenerMineralesPicados(arg0.getName()) <= 0) {
- all.add("");
- all.add(ChatColor.GREEN + "¡Ya has picado más de 10.000 minerales!");
- all.add("");
- all.add(ChatColor.GREEN + "Click para desbloquear");
- }
- else {
- all.add("");
- all.add(ChatColor.GREEN + "&c¡Necesitas picar 10.000 minerales");
- all.add(ChatColor.GREEN + "&cpara poder desbloquear este kit!");
- all.add(ChatColor.GOLD + "&cRestantes&7: &b" + (10000 - NexoAPI.obtenerMineralesPicados(arg0.getName())));
- }
- }
- return all;
- }
- public List<ItemStack> itemsKit() {
- return (List<ItemStack>)this.getFinalLoadout().getLoadout();
- }
- public boolean onClick(ItemClickEvent arg0)
- {
- Player player = arg0.getPlayer();
- if (10000 - NexoAPI.obtenerMineralesPicados(player.getName()) <= 0)
- {
- Util.addKit(player.getName(), getPerms());
- player.sendMessage(ChatColor.GREEN + "¡Kit desbloqueado!");
- player.playSound(player.getLocation(), Sound.ANVIL_LAND, 5.0F, 4.0F);
- }
- else
- {
- player.sendMessage(Lang.CANT_SELECT_KIT.toString());
- }
- return true;
- }
- private void allowed(final String player) {
- new BukkitRunnable() {
- public void run() {
- synchronized (this) {
- MineroPlus.this.allowed_break_duplicate.remove(player.toLowerCase());
- }
- }
- }.runTaskLaterAsynchronously((Plugin)DestroyTheNexusMain.getPlugin((Class)DestroyTheNexusMain.class), 420L);
- }
- public String getPerms() {
- return "MineroPlus";
- }
- @Override
- protected ItemStack getIcon() {
- return new ItemStack(Material.DIAMOND_PICKAXE);
- }
- @EventHandler(priority = EventPriority.HIGHEST)
- public void onBreakMineral(final ResourceBreakEvent mineralRoto) {
- if (this.allowed_break_duplicate.contains(mineralRoto.getPlayer().getPlayer().getName().toLowerCase())) {
- final Material m = mineralRoto.getResource().Type;
- if (m == Material.COAL_ORE || m == Material.IRON_ORE || m == Material.EMERALD_ORE || m == Material.GOLD_ORE || m == Material.REDSTONE_ORE || m == Material.GLOWING_REDSTONE_ORE) {
- final ItemStack[] ck = mineralRoto.getProducts();
- ItemStack[] array;
- for (int length = (array = ck).length, i = 0; i < length; ++i) {
- final ItemStack k = array[i];
- k.setAmount(k.getAmount() * 2);
- }
- mineralRoto.setProducts(ck);
- }
- }
- }
- @Override
- protected List<String> getDefaultDescription() {
- final ArrayList<String> l = new ArrayList<String>();
- this.addToList(l, "&7Tienes la habilidad de picar más", "&7rápido y conseguir el doble", "&7ítems, la habilidad no afecta al diamante.");
- return l;
- }
- public void cleanup(final Player arg0) {
- }
- @Override
- protected Loadout getFinalLoadout() {
- return new Loadout().addWoodSword().addStonePick().addWoodAxe().addSoulboundItem(new ItemStack(Material.WORKBENCH)).addItem(super.getSpecialItem()).addNavCompass();
- }
- public void onPlayerSpawn(final Player player) {
- RunTask.later(() -> player.addPotionEffect(new PotionEffect(PotionEffectType.FAST_DIGGING, Integer.MAX_VALUE, 0, true, true)), 20L);
- super.onPlayerSpawn(player);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement