Advertisement
Guest User

Untitled

a guest
Mar 26th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.59 KB | None | 0 0
  1. package craftsgp.altarmistico.Eventos;
  2.  
  3. import java.text.NumberFormat;
  4. import java.util.ArrayList;
  5. import java.util.HashMap;
  6. import java.util.List;
  7.  
  8. import org.bukkit.Bukkit;
  9. import org.bukkit.ChatColor;
  10. import org.bukkit.Effect;
  11. import org.bukkit.EntityEffect;
  12. import org.bukkit.Location;
  13. import org.bukkit.Material;
  14. import org.bukkit.entity.ArmorStand;
  15. import org.bukkit.entity.EnderCrystal;
  16. import org.bukkit.entity.Entity;
  17. import org.bukkit.entity.EntityType;
  18. import org.bukkit.entity.Player;
  19. import org.bukkit.event.EventHandler;
  20. import org.bukkit.event.Listener;
  21. import org.bukkit.event.block.BlockPlaceEvent;
  22. import org.bukkit.event.entity.EntityDamageEvent;
  23. import org.bukkit.event.player.PlayerInteractAtEntityEvent;
  24. import org.bukkit.inventory.ItemStack;
  25. import org.bukkit.inventory.meta.ItemMeta;
  26. import org.bukkit.metadata.FixedMetadataValue;
  27. import org.bukkit.metadata.MetadataValue;
  28. import org.bukkit.scheduler.BukkitRunnable;
  29. import org.bukkit.scheduler.BukkitTask;
  30.  
  31. import craftsgp.altarmistico.Main;
  32. import craftsgp.altarmistico.Utils.Metodos;
  33.  
  34. public class Eventos extends BukkitRunnable implements Listener {
  35.  
  36. BukkitTask taskid;
  37.  
  38.  
  39. public void createEnderCrystal(Location e) {
  40. EnderCrystal ec = e.getWorld().spawn(e, EnderCrystal.class);
  41. ec.setCustomNameVisible(true);
  42. ec.setCustomName(Main.getInstance().getConfig().getString("Altar.Nome").replace('&', '§'));
  43. ec.setMetadata("Altar", new FixedMetadataValue(Main.getInstance(), Boolean.valueOf(true)));
  44. }
  45.  
  46. @SuppressWarnings("deprecation")
  47. public void createNewArmorStand(Location e, String name) {
  48. HashMap<Player, Integer> tm = new HashMap<>();
  49. ArmorStand am = e.getWorld().spawn(e, ArmorStand.class);
  50. am.setVisible(false);
  51. am.setGravity(false);
  52. am.setCustomNameVisible(true);
  53. taskid = new BukkitRunnable() {
  54. int numero = Main.getInstance().getConfig().getInt("Altar.Tempo");
  55. @Override
  56. public void run() {
  57. if (numero > 0) {
  58. numero -- ;
  59. am.setCustomName(Main.getInstance().getConfig().getString("Altar.Descricao").replace('&', '§') + " " + numero + "m");
  60. }
  61. if (this.numero == 0) {
  62. ItemStack i = new ItemStack(Material.getMaterial(Main.getInstance().getConfig().getInt("Itens.Material")));
  63. ItemMeta m = i.getItemMeta();
  64. m.setDisplayName(Main.getInstance().getConfig().getString("Itens.Nome").replace('&', '§'));
  65.  
  66. ArrayList<String> lore = new ArrayList<>();
  67. List<String> newLore = new ArrayList<>();
  68. lore.addAll(Main.getInstance().getConfig().getConfigurationSection("Itens").getStringList("Lore"));
  69. for(String s : lore) {
  70. newLore.add(ChatColor.translateAlternateColorCodes('&', s));
  71. }
  72. m.setLore(newLore);
  73. i.setItemMeta(m);
  74. am.getWorld().dropItem(am.getLocation(), i);
  75. this.numero = 30;
  76. }
  77. }
  78. }.runTaskTimer(Main.getInstance(), 0, 20*60);
  79.  
  80. }
  81. @EventHandler
  82. public void colocarAltar(BlockPlaceEvent e) {
  83. Player p = e.getPlayer();
  84. if (!(p.getInventory().getItemInHand().hasItemMeta()) || p.getInventory().getItemInHand().getItemMeta().getLore() == null || e.getItemInHand() == null) return;
  85. if ((p.getItemInHand().getItemMeta().getDisplayName().equals(Metodos.Altar().getItemMeta().getDisplayName()))){
  86. e.getBlock().setType(Material.AIR);
  87. createEnderCrystal(e.getBlock().getLocation().add(0, 1, 0));
  88. createNewArmorStand(e.getBlock().getLocation().add(0, 0.5, 0), Main.getInstance().getConfig().getString("Altar.Nome").replace('&', '§'));
  89.  
  90. }
  91. }
  92. @EventHandler
  93. public void aointeragir(PlayerInteractAtEntityEvent e) {
  94. Player p = e.getPlayer();
  95. if (e.getRightClicked().getType() == (EntityType.ENDER_CRYSTAL)) {
  96. if (p.getItemInHand().getType().equals(Material.BLAZE_ROD)) {
  97. if (p.hasPermission("altarmistico.admin")) {
  98. e.getRightClicked().remove();
  99. p.sendMessage("§aRemovido com Sucesso!");
  100. Bukkit.getScheduler().cancelAllTasks();
  101. for (Entity es : e.getRightClicked().getNearbyEntities(2, 2, 2))
  102. if (es instanceof ArmorStand) {
  103. es.remove();
  104. }
  105. e.setCancelled(true);
  106. return;
  107. }
  108. }
  109. }
  110. }
  111. @EventHandler
  112. public void damage(EntityDamageEvent event){
  113. Entity entity = event.getEntity();
  114. if (entity instanceof EnderCrystal){
  115. event.setCancelled(true);
  116. }
  117. }
  118.  
  119. @Override
  120. public void run() {
  121. Bukkit.getScheduler().runTaskAsynchronously(Main.getInstance(), (Runnable) taskid);
  122.  
  123. }
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement