Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package nl.mistermel.fireworkgun;
- import java.util.ArrayList;
- import java.util.Random;
- import org.bukkit.Color;
- import org.bukkit.FireworkEffect;
- import org.bukkit.FireworkEffect.Builder;
- import org.bukkit.FireworkEffect.Type;
- import org.bukkit.Material;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.EntityType;
- 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.inventory.ItemStack;
- import org.bukkit.inventory.meta.FireworkMeta;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.java.JavaPlugin;
- import net.md_5.bungee.api.ChatColor;
- public class Main extends JavaPlugin implements Listener {
- private ItemStack fireworkGun;
- public void onEnable() {
- getServer().getPluginManager().registerEvents(this, this);
- fireworkGun = new ItemStack(Material.GOLD_BARDING);
- ItemMeta meta = fireworkGun.getItemMeta();
- meta.setDisplayName(ChatColor.GOLD + "Firework gun");
- ArrayList<String> loreList = new ArrayList<String>();
- loreList.add(ChatColor.GRAY + "Vuurt fireworks af!");
- meta.setLore(loreList);
- fireworkGun.setItemMeta(meta);
- }
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if(!(sender instanceof Player)) {
- sender.sendMessage(ChatColor.RED + "Dit command kan alleen als player gebruikt worden!");
- return true;
- }
- Player p = (Player) sender;
- if(!p.hasPermission("fireworkgun.use")) {
- p.sendMessage(ChatColor.RED + "Je hebt geen toestemming om dit command te gebruiken!");
- return true;
- }
- p.getInventory().addItem(fireworkGun);
- p.sendMessage(ChatColor.GOLD + "Je hebt een firework gun gekregen!");
- return true;
- }
- @EventHandler
- public void onPlayerInteract(PlayerInteractEvent e) {
- if(e.getAction() == Action.RIGHT_CLICK_AIR) {
- if(e.getPlayer().getInventory().getItemInMainHand().getType() == Material.GOLD_BARDING) {
- Builder fb = FireworkEffect.builder();
- Random r = new Random();
- fb.withColor(Color.fromRGB(r.nextInt(100), r.nextInt(100), r.nextInt(100)));
- Type[] types = Type.values();
- fb.with(types[r.nextInt(types.length)]);
- FireworkEffect fe = fb.build();
- Player p = e.getPlayer();
- Firework f = (Firework) p.getWorld().spawnEntity(p.getLocation(), EntityType.FIREWORK);
- FireworkMeta fm = f.getFireworkMeta();
- fm.clearEffects();
- fm.addEffect(fe);
- f.setFireworkMeta(fm);
- f.setVelocity(p.getLocation().getDirection().multiply(0.5));
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement