Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.scottyrobotixgaming.fireworkwand;
- import java.util.ArrayList;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Color;
- import org.bukkit.FireworkEffect;
- import org.bukkit.FireworkEffect.Type;
- import org.bukkit.Material;
- import org.bukkit.entity.Firework;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.FireworkMeta;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.java.JavaPlugin;
- public class FireWorkWand extends JavaPlugin implements Listener {
- public void onEnable(){
- Bukkit.getServer().getPluginManager().registerEvents(this, this);
- }
- @EventHandler
- public void onPlayerJoin(PlayerJoinEvent e){
- Player p = e.getPlayer();
- ItemStack blaze = new ItemStack(Material.BLAZE_ROD, 1);
- ItemMeta meta = (ItemMeta) blaze.getItemMeta();
- meta.setDisplayName(ChatColor.DARK_RED + "Firework Wand");
- //Name of blaze rod ^
- blaze.setItemMeta(meta);
- p.getInventory().addItem(blaze);
- }
- @EventHandler
- public void onPlayerQuit(PlayerQuitEvent e){
- Player p = e.getPlayer();
- ItemStack blaze = new ItemStack(Material.BLAZE_ROD);
- ItemMeta meta = (ItemMeta) blaze.getItemMeta();
- meta.setDisplayName(ChatColor.DARK_RED + "Firework Wand");
- //If you change the name of the blaze rod under PlayerJoinEvent then make it the exact same here.
- blaze.setItemMeta(meta);
- if (!(p.getInventory().contains(blaze))) return;
- if (!(blaze.getItemMeta().equals(meta))) return;
- p.getInventory().remove(blaze);
- }
- ArrayList<Player> cooldown = new ArrayList<Player>();
- @EventHandler
- public void onPlayerInteract(PlayerInteractEvent e){
- final Player p = e.getPlayer();
- if (!(e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK)) return;
- if (e.getItem() == null) return;
- if (!(e.getItem().getType() == Material.BLAZE_ROD)) return;
- if (cooldown.contains(p)){
- p.sendMessage(ChatColor.RED + "Firework Wand is cooling down!");
- //Things for cooldown, message is changeable^
- return;
- }
- //Custom fireworks below, to add more make sure the shortened versions are different E.G. 1. Firework f = _____ 2. Firework fw = ___
- //Make sure you change everywhere it is used as well.
- Firework f = (Firework) e.getPlayer().getWorld().spawn(e.getPlayer().getLocation(), Firework.class);
- FireworkMeta fm = f.getFireworkMeta();
- fm.addEffect(FireworkEffect.builder()
- .flicker(false)
- .trail(true)
- .with(Type.BALL_LARGE)
- .withColor(Color.BLUE)
- .withFade(Color.ORANGE)
- .build());
- fm.setPower(1);
- f.setFireworkMeta(fm);
- Firework fw = (Firework) e.getPlayer().getWorld().spawn(e.getPlayer().getLocation(), Firework.class);
- FireworkMeta fmm = fw.getFireworkMeta();
- fmm.addEffect(FireworkEffect.builder()
- .flicker(true)
- .trail(false)
- .with(Type.BALL_LARGE)
- .withColor(Color.ORANGE)
- .withFade(Color.AQUA)
- .build());
- fmm.setPower(2);
- fw.setFireworkMeta(fmm);
- Firework fww = (Firework) e.getPlayer().getWorld().spawn(e.getPlayer().getLocation(), Firework.class);
- FireworkMeta fmmm = fww.getFireworkMeta();
- fmmm.addEffect(FireworkEffect.builder()
- .flicker(true)
- .trail(false)
- .with(Type.STAR)
- .withColor(Color.RED)
- .withFade(Color.BLUE)
- .build());
- fmmm.setPower(2);
- fww.setFireworkMeta(fmmm);
- Firework fwww = (Firework) e.getPlayer().getWorld().spawn(e.getPlayer().getLocation(), Firework.class);
- FireworkMeta fmmmm = fwww.getFireworkMeta();
- fmmmm.addEffect(FireworkEffect.builder()
- .flicker(true)
- .trail(false)
- .with(Type.CREEPER)
- .withColor(Color.YELLOW)
- .withFade(Color.WHITE)
- .build());
- fmmmm.setPower(3);
- fwww.setFireworkMeta(fmmmm);
- Firework fwwww = (Firework) e.getPlayer().getWorld().spawn(e.getPlayer().getLocation(), Firework.class);
- FireworkMeta fmmmmm = fwwww.getFireworkMeta();
- fmmmmm.addEffect(FireworkEffect.builder()
- .flicker(false)
- .trail(true)
- .with(Type.BURST)
- .withColor(Color.PURPLE)
- .withFade(Color.NAVY)
- .build());
- //Effects of firework, don't remove .build());
- fmmmmm.setPower(2);
- //How high the firework goes.
- fwwww.setFireworkMeta(fmmmmm);
- cooldown.add(p);
- Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
- public void run() {
- cooldown.remove(p);
- }
- }, 600);
- //Cooldown time in ticks. 20 ticks=1 second. 600 ticks=30 seconds
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement