Advertisement
Guest User

Untitled

a guest
May 1st, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.62 KB | None | 0 0
  1. package nl.mistermel.fireworkgun;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Random;
  5.  
  6. import org.bukkit.Color;
  7. import org.bukkit.FireworkEffect;
  8. import org.bukkit.FireworkEffect.Builder;
  9. import org.bukkit.FireworkEffect.Type;
  10. import org.bukkit.Material;
  11. import org.bukkit.command.Command;
  12. import org.bukkit.command.CommandSender;
  13. import org.bukkit.entity.EntityType;
  14. import org.bukkit.entity.Firework;
  15. import org.bukkit.entity.Player;
  16. import org.bukkit.event.EventHandler;
  17. import org.bukkit.event.Listener;
  18. import org.bukkit.event.block.Action;
  19. import org.bukkit.event.player.PlayerInteractEvent;
  20. import org.bukkit.inventory.ItemStack;
  21. import org.bukkit.inventory.meta.FireworkMeta;
  22. import org.bukkit.inventory.meta.ItemMeta;
  23. import org.bukkit.plugin.java.JavaPlugin;
  24.  
  25. import net.md_5.bungee.api.ChatColor;
  26.  
  27. public class Main extends JavaPlugin implements Listener {
  28.  
  29. private ItemStack fireworkGun;
  30.  
  31. public void onEnable() {
  32. getServer().getPluginManager().registerEvents(this, this);
  33.  
  34. fireworkGun = new ItemStack(Material.GOLD_BARDING);
  35. ItemMeta meta = fireworkGun.getItemMeta();
  36. meta.setDisplayName(ChatColor.GOLD + "Firework gun");
  37. ArrayList<String> loreList = new ArrayList<String>();
  38. loreList.add(ChatColor.GRAY + "Vuurt fireworks af!");
  39. meta.setLore(loreList);
  40. fireworkGun.setItemMeta(meta);
  41. }
  42.  
  43. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  44. if(!(sender instanceof Player)) {
  45. sender.sendMessage(ChatColor.RED + "Dit command kan alleen als player gebruikt worden!");
  46. return true;
  47. }
  48. Player p = (Player) sender;
  49. if(!p.hasPermission("fireworkgun.use")) {
  50. p.sendMessage(ChatColor.RED + "Je hebt geen toestemming om dit command te gebruiken!");
  51. return true;
  52. }
  53. p.getInventory().addItem(fireworkGun);
  54. p.sendMessage(ChatColor.GOLD + "Je hebt een firework gun gekregen!");
  55. return true;
  56. }
  57.  
  58. @EventHandler
  59. public void onPlayerInteract(PlayerInteractEvent e) {
  60. if(e.getAction() == Action.RIGHT_CLICK_AIR) {
  61. if(e.getPlayer().getInventory().getItemInMainHand().getType() == Material.GOLD_BARDING) {
  62. Builder fb = FireworkEffect.builder();
  63. Random r = new Random();
  64. fb.withColor(Color.fromRGB(r.nextInt(100), r.nextInt(100), r.nextInt(100)));
  65. Type[] types = Type.values();
  66. fb.with(types[r.nextInt(types.length)]);
  67. FireworkEffect fe = fb.build();
  68. Player p = e.getPlayer();
  69. Firework f = (Firework) p.getWorld().spawnEntity(p.getLocation(), EntityType.FIREWORK);
  70. FireworkMeta fm = f.getFireworkMeta();
  71. fm.clearEffects();
  72. fm.addEffect(fe);
  73. f.setFireworkMeta(fm);
  74. f.setVelocity(p.getLocation().getDirection().multiply(0.5));
  75. }
  76. }
  77. }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement