Advertisement
Guest User

Code

a guest
Oct 24th, 2013
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.26 KB | None | 0 0
  1. package me.scottyrobotixgaming.fireworkwand;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.Color;
  8. import org.bukkit.FireworkEffect;
  9. import org.bukkit.FireworkEffect.Type;
  10. import org.bukkit.Material;
  11. import org.bukkit.entity.Firework;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.event.EventHandler;
  14. import org.bukkit.event.Listener;
  15. import org.bukkit.event.block.Action;
  16. import org.bukkit.event.player.PlayerInteractEvent;
  17. import org.bukkit.event.player.PlayerJoinEvent;
  18. import org.bukkit.event.player.PlayerQuitEvent;
  19. import org.bukkit.inventory.ItemStack;
  20. import org.bukkit.inventory.meta.FireworkMeta;
  21. import org.bukkit.inventory.meta.ItemMeta;
  22. import org.bukkit.plugin.java.JavaPlugin;
  23.  
  24. public class FireWorkWand extends JavaPlugin implements Listener {
  25. public void onEnable(){
  26. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  27. }
  28. @EventHandler
  29. public void onPlayerJoin(PlayerJoinEvent e){
  30. Player p = e.getPlayer();
  31. ItemStack blaze = new ItemStack(Material.BLAZE_ROD, 1);
  32. ItemMeta meta = (ItemMeta) blaze.getItemMeta();
  33. meta.setDisplayName(ChatColor.DARK_RED + "Firework Wand");
  34. //Name of blaze rod ^
  35. blaze.setItemMeta(meta);
  36. p.getInventory().addItem(blaze);
  37. }
  38. @EventHandler
  39. public void onPlayerQuit(PlayerQuitEvent e){
  40. Player p = e.getPlayer();
  41. ItemStack blaze = new ItemStack(Material.BLAZE_ROD);
  42. ItemMeta meta = (ItemMeta) blaze.getItemMeta();
  43. meta.setDisplayName(ChatColor.DARK_RED + "Firework Wand");
  44. //If you change the name of the blaze rod under PlayerJoinEvent then make it the exact same here.
  45. blaze.setItemMeta(meta);
  46. if (!(p.getInventory().contains(blaze))) return;
  47. if (!(blaze.getItemMeta().equals(meta))) return;
  48. p.getInventory().remove(blaze);
  49. }
  50.  
  51. ArrayList<Player> cooldown = new ArrayList<Player>();
  52.  
  53. @EventHandler
  54. public void onPlayerInteract(PlayerInteractEvent e){
  55. final Player p = e.getPlayer();
  56. if (!(e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK)) return;
  57. if (e.getItem() == null) return;
  58. if (!(e.getItem().getType() == Material.BLAZE_ROD)) return;
  59. if (cooldown.contains(p)){
  60. p.sendMessage(ChatColor.RED + "Firework Wand is cooling down!");
  61. //Things for cooldown, message is changeable^
  62. return;
  63. }
  64. //Custom fireworks below, to add more make sure the shortened versions are different E.G. 1. Firework f = _____ 2. Firework fw = ___
  65. //Make sure you change everywhere it is used as well.
  66. Firework f = (Firework) e.getPlayer().getWorld().spawn(e.getPlayer().getLocation(), Firework.class);
  67. FireworkMeta fm = f.getFireworkMeta();
  68. fm.addEffect(FireworkEffect.builder()
  69. .flicker(false)
  70. .trail(true)
  71. .with(Type.BALL_LARGE)
  72. .withColor(Color.BLUE)
  73. .withFade(Color.ORANGE)
  74. .build());
  75. fm.setPower(1);
  76. f.setFireworkMeta(fm);
  77. Firework fw = (Firework) e.getPlayer().getWorld().spawn(e.getPlayer().getLocation(), Firework.class);
  78. FireworkMeta fmm = fw.getFireworkMeta();
  79. fmm.addEffect(FireworkEffect.builder()
  80. .flicker(true)
  81. .trail(false)
  82. .with(Type.BALL_LARGE)
  83. .withColor(Color.ORANGE)
  84. .withFade(Color.AQUA)
  85. .build());
  86. fmm.setPower(2);
  87. fw.setFireworkMeta(fmm);
  88. Firework fww = (Firework) e.getPlayer().getWorld().spawn(e.getPlayer().getLocation(), Firework.class);
  89. FireworkMeta fmmm = fww.getFireworkMeta();
  90. fmmm.addEffect(FireworkEffect.builder()
  91. .flicker(true)
  92. .trail(false)
  93. .with(Type.STAR)
  94. .withColor(Color.RED)
  95. .withFade(Color.BLUE)
  96. .build());
  97. fmmm.setPower(2);
  98. fww.setFireworkMeta(fmmm);
  99. Firework fwww = (Firework) e.getPlayer().getWorld().spawn(e.getPlayer().getLocation(), Firework.class);
  100. FireworkMeta fmmmm = fwww.getFireworkMeta();
  101. fmmmm.addEffect(FireworkEffect.builder()
  102. .flicker(true)
  103. .trail(false)
  104. .with(Type.CREEPER)
  105. .withColor(Color.YELLOW)
  106. .withFade(Color.WHITE)
  107. .build());
  108. fmmmm.setPower(3);
  109. fwww.setFireworkMeta(fmmmm);
  110. Firework fwwww = (Firework) e.getPlayer().getWorld().spawn(e.getPlayer().getLocation(), Firework.class);
  111. FireworkMeta fmmmmm = fwwww.getFireworkMeta();
  112. fmmmmm.addEffect(FireworkEffect.builder()
  113. .flicker(false)
  114. .trail(true)
  115. .with(Type.BURST)
  116. .withColor(Color.PURPLE)
  117. .withFade(Color.NAVY)
  118. .build());
  119. //Effects of firework, don't remove .build());
  120. fmmmmm.setPower(2);
  121. //How high the firework goes.
  122. fwwww.setFireworkMeta(fmmmmm);
  123. cooldown.add(p);
  124. Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
  125. public void run() {
  126. cooldown.remove(p);
  127.  
  128. }
  129. }, 600);
  130. //Cooldown time in ticks. 20 ticks=1 second. 600 ticks=30 seconds
  131. }
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement