Getting fireworks with effects

Discussion in 'Plugin Development' started by kingBS11, Dec 24, 2012.

Thread Status:
Not open for further replies.
  1. Offline

    kingBS11

    Okay, I have it so when a dispenser launches a firework, the firework gets replaced so it has infinite fireworks. The only problem is that it doesn't replace fireworks that have effects and colors in them. PLEASE HELP!
    Code:
    package com.endlessshadow;
     
    import org.bukkit.Material;
    import org.bukkit.block.Dispenser;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.BlockDispenseEvent;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
     
    public class DispenseListener implements Listener {
    public EndlessFireworks plugin;
           
            public DispenseListener(EndlessFireworks plugin) {
                    this.plugin = plugin;
            }
     
            @EventHandler
            public void onDispense(BlockDispenseEvent evt){
           ItemStack FIREWORK = new ItemStack(Material.FIREWORK, 1);
           Dispenser dispenser = (Dispenser) evt.getBlock().getState();
           Inventory inv = dispenser.getInventory();
           if(inv.contains(FIREWORK)){
           inv.addItem(evt.getItem());
           }
            }
    }
     
  2. Offline

    drampelt

    Instead of doing inv.contains(ItemStack), you could try inv.contains(Material.FIREWORK) instead. This should return true for any firework, regardless of effects but I'm not 100% certain.
     
  3. Offline

    kingBS11

    I'll try it

    It worked! Thanks!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 30, 2016
  4. Offline

    drampelt

    Glad I could help :)
     
Thread Status:
Not open for further replies.

Share This Page