Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static String hulk = "http://textures.minecraft.net/texture/56786ff975920a7655df02068967ab137dfa5950a7e836a24d1cbb11eaaa6e";
- public static ItemStack getSkull(String url) {
- ItemStack skull = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
- if (url == null || url.isEmpty()) return skull;
- SkullMeta skullMeta = (SkullMeta) skull.getItemMeta();
- GameProfile profile = new GameProfile(UUID.randomUUID(), null);
- byte[] encodedData = Base64.encodeBase64(String.format("{textures:{SKIN:{url:\"%s\"}}}", url).getBytes());
- profile.getProperties().put("textures", new Property("textures", new String(encodedData)));
- Field profileField = null;
- try {
- profileField = skullMeta.getClass().getDeclaredField("profile");
- }catch (NoSuchFieldException | SecurityException e) {
- e.printStackTrace();
- }
- profileField.setAccessible(true);
- try {
- profileField.set(skullMeta, profile);
- }catch (IllegalArgumentException | IllegalAccessException e) {
- e.printStackTrace();
- }
- skull.setItemMeta(skullMeta);
- return skull;
- }
- public static int trail;
- @SuppressWarnings("deprecation")
- public static void iniciar(Player jogador) {
- jogador.getInventory().setArmorContents(null);
- jogador.getInventory().setHelmet(getSkull(hulk));
- jogador.getWorld().playSound(jogador.getLocation(), Sound.CHICKEN_EGG_POP, 2F, 1F);
- ParticleEffect.EXPLOSION_NORMAL.display(jogador.getEyeLocation(), 0, 0, 0, 5, 0, 15);
- new BukkitRunnable() {
- public void run() {
- jogador.setVelocity(new Vector(0.0D, 3.0D, 0.0D));
- jogador.getWorld().playSound(jogador.getLocation(), Sound.ENDERDRAGON_WINGS, 2F, 1F);
- trail = new BukkitRunnable() {
- public void run() {
- ParticleEffect.CLOUD.display(jogador.getLocation(), 0, 0, 0, 3, 0, 10);
- }
- }.runTaskTimerAsynchronously(Main.plugin, 1L, 1L).getTaskId();
- }
- }.runTaskLaterAsynchronously(Main.plugin, 25);
- new BukkitRunnable() {
- public void run() {
- Bukkit.getScheduler().cancelTask(trail);
- jogador.setVelocity(new Vector(0, -3, 0));
- }
- }.runTaskLaterAsynchronously(Main.plugin, 50);
- Bukkit.getScheduler().scheduleSyncDelayedTask(Main.plugin, () -> {
- jogador.getWorld().playSound(jogador.getLocation(), Sound.EXPLODE, 2F, 1F);
- ParticleEffect.LAVA.display(jogador.getLocation(), 0, 0, 0, 5, 0, 15);
- ParticleEffect.EXPLOSION_LARGE.display(jogador.getLocation(), 0, 0, 0, 5, 0, 15);
- for (Block blocos : verificador(jogador.getLocation().add(0, -1, 0), 1)) {
- if (blocos.getType().isSolid()) {
- FallingBlock fb = blocos.getWorld().spawnFallingBlock(blocos.getLocation().add(0, 1.1, 0), blocos.getType(), blocos.getData());
- fb.setDropItem(false);
- fb.setVelocity(new Vector(0, 0.1, 0));
- fb.setMetadata("hulk_block", new FixedMetadataValue(Main.plugin, new Object()));
- ParticleEffect.SMOKE_LARGE.display(fb.getLocation(), 0, 0, 0, 1, 0, 15);
- }
- }
- }, 64L);
- Bukkit.getScheduler().scheduleSyncDelayedTask(Main.plugin, () -> {
- for (Block blocos : verificador(jogador.getLocation().add(0, -1, 0), 2)) {
- if (blocos.getType().isSolid()) {
- FallingBlock fb = blocos.getWorld().spawnFallingBlock(blocos.getLocation().add(0, 1.1, 0), blocos.getType(), blocos.getData());
- fb.setDropItem(false);
- fb.setVelocity(new Vector(0, 0.2, 0));
- fb.setMetadata("hulk_block", new FixedMetadataValue(Main.plugin, new Object()));
- ParticleEffect.SMOKE_LARGE.display(fb.getLocation(), 0, 0, 0, 1, 0, 15);
- }
- }
- }, 67L);
- Bukkit.getScheduler().scheduleSyncDelayedTask(Main.plugin, () -> {
- for (Block blocos : verificador(jogador.getLocation().add(0, -1, 0), 3)) {
- if (blocos.getType().isSolid()) {
- FallingBlock fb = blocos.getWorld().spawnFallingBlock(blocos.getLocation().add(0, 1.1, 0), blocos.getType(), blocos.getData());
- fb.setDropItem(false);
- fb.setVelocity(new Vector(0, 0.2, 0));
- fb.setMetadata("hulk_block", new FixedMetadataValue(Main.plugin, new Object()));
- ParticleEffect.SMOKE_LARGE.display(fb.getLocation(), 0, 0, 0, 1, 0, 15);
- }
- }
- }, 70L);
- Bukkit.getScheduler().scheduleSyncDelayedTask(Main.plugin, () -> {
- for (Block blocos : verificador(jogador.getLocation().add(0, -1, 0), 4)) {
- if (blocos.getType().isSolid()) {
- FallingBlock fb = blocos.getWorld().spawnFallingBlock(blocos.getLocation().add(0, 1.1, 0), blocos.getType(), blocos.getData());
- fb.setDropItem(false);
- fb.setVelocity(new Vector(0, 0.2, 0));
- fb.setMetadata("hulk_block", new FixedMetadataValue(Main.plugin, new Object()));
- ParticleEffect.SMOKE_LARGE.display(fb.getLocation(), 0, 0, 0, 1, 0, 15);
- }
- }
- }, 73L);
- Bukkit.getScheduler().scheduleSyncDelayedTask(Main.plugin, () -> {
- for (Block blocos : verificador(jogador.getLocation().add(0, -1, 0), 5)) {
- if (blocos.getType().isSolid()) {
- FallingBlock fb = blocos.getWorld().spawnFallingBlock(blocos.getLocation().add(0, 1.1, 0), blocos.getType(), blocos.getData());
- fb.setDropItem(false);
- fb.setVelocity(new Vector(0, 0.2, 0));
- fb.setMetadata("hulk_block", new FixedMetadataValue(Main.plugin, new Object()));
- ParticleEffect.SMOKE_LARGE.display(fb.getLocation(), 0, 0, 0, 1, 0, 15);
- }
- }
- }, 76L);
- new BukkitRunnable() {
- public void run() {
- jogador.getInventory().setArmorContents(null);
- jogador.getWorld().playSound(jogador.getLocation(), Sound.CHICKEN_EGG_POP, 2F, 1F);
- ParticleEffect.EXPLOSION_NORMAL.display(jogador.getEyeLocation(), 0, 0, 0, 5, 0, 15);
- }
- }.runTaskLaterAsynchronously(Main.plugin, 91);
- }
- public static List<Block> verificador(Location local, int raio) {
- List<Block> blocos = new ArrayList<Block>();
- for (int x = local.getBlockX() - raio; x <= local.getBlockX() + raio; x++) {
- for (int z = local.getBlockZ() - raio; z <= local.getBlockZ() + raio; z++) {
- if(Math.round(Math.sqrt(Math.pow(local.getBlockX() - x, 2) + Math.pow(local.getBlockZ() - z, 2))) == raio) {
- blocos.add(local.getWorld().getBlockAt(x, local.getBlockY(), z));
- }
- }
- }
- return blocos;
- }
- @SuppressWarnings("deprecation")
- @EventHandler (priority = EventPriority.HIGHEST, ignoreCancelled = true)
- public static void aoTrocar(EntityChangeBlockEvent e) {
- Entity block = e.getEntity();
- if (block.hasMetadata("hulk_block")) {
- FallingBlock fb = (FallingBlock) block;
- e.setCancelled(true);
- ParticleEffect.BLOCK_CRACK.display(new ParticleEffect.BlockData(fb.getMaterial(), e.getBlock().getData()), 0, 0, 0, 0.4F, 25, fb.getLocation(), 64);
- block.getWorld().playSound(block.getLocation(), Sound.STEP_STONE, 1F, 1F);
- block.remove();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement