Advertisement
mixmaster

Untitled

Sep 1st, 2014
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.09 KB | None | 0 0
  1. `package com.mixmasterjacob.snow;
  2.  
  3. import java.util.Arrays;
  4. import java.util.List;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.Location;
  9. import org.bukkit.Material;
  10. import org.bukkit.Sound;
  11. import org.bukkit.command.Command;
  12. import org.bukkit.command.CommandSender;
  13. import org.bukkit.entity.Player;
  14. import org.bukkit.entity.Projectile;
  15. import org.bukkit.entity.Snowball;
  16. import org.bukkit.event.EventHandler;
  17. import org.bukkit.event.Listener;
  18. import org.bukkit.event.block.Action;
  19. import org.bukkit.event.entity.ProjectileHitEvent;
  20. import org.bukkit.event.inventory.InventoryClickEvent;
  21. import org.bukkit.event.player.PlayerDropItemEvent;
  22. import org.bukkit.event.player.PlayerInteractEvent;
  23. import org.bukkit.inventory.ItemStack;
  24. import org.bukkit.inventory.meta.ItemMeta;
  25. import org.bukkit.plugin.java.JavaPlugin;
  26.  
  27. public class Main extends JavaPlugin implements Listener {
  28.  
  29. private ItemStack stack;
  30.  
  31. @Override
  32. public void onEnable() {
  33.  
  34. getServer().getPluginManager().registerEvents(this, this);
  35. stack = new ItemStack(Material.WOOD_HOE, 1);
  36. ItemMeta im = stack.getItemMeta();
  37. im.setDisplayName(ChatColor.BLUE
  38. + "\u2583\u2584\u2585Ray Gun\u2585\u2584\u2583");
  39. List<String> loreList = Arrays.asList(ChatColor.BLUE
  40. + "Click to shoot lazers!", "Second Line", "Third Line");
  41. im.setLore(loreList);
  42. stack.setItemMeta(im);
  43.  
  44. }
  45.  
  46. public void onDisable() {
  47.  
  48. }
  49.  
  50. {
  51.  
  52. }
  53.  
  54. public boolean onCommand(CommandSender sender, Command command,
  55. String label, String[] args) {
  56. if (!(sender instanceof Player)) {
  57. if (label.equalsIgnoreCase("buzz")) {
  58. if (args.length == 1) {
  59. Player player;
  60. try {
  61. player = Bukkit.getPlayer(args[0]);
  62. } catch (Exception e) {
  63. return true;
  64. }
  65. if (!player.getInventory().contains(stack)) {
  66. player.getInventory().addItem(stack);
  67. player.sendMessage(ChatColor.BLUE + "You now have a"
  68. + ChatColor.RED + " Ray gun!");
  69.  
  70. } else if (label.equalsIgnoreCase("buzzreset")) {
  71. player.setLevel(player.getLevel() + 5);
  72. }
  73. }
  74. return false;
  75. }
  76. }
  77. return false;
  78. }
  79.  
  80. @EventHandler
  81. public void oninventoryclick(InventoryClickEvent event) {
  82. // Player player = (Player) event.getWhoClicked();
  83. if (event.getCurrentItem().equals(stack)) {
  84. event.setCancelled(true);
  85. }
  86. }
  87. @EventHandler
  88. public void onItemDropped(PlayerDropItemEvent event) {
  89. Player p = event.getPlayer();
  90. if (this(event.getItemDrop().getItemStack())) {
  91. event.getItemDrop().remove();
  92. this.stack.cannotBeMoved(p);
  93. }
  94. }
  95. }
  96.  
  97. @EventHandler
  98. public void onInteract(PlayerInteractEvent e) {
  99. if (e.getAction() == Action.PHYSICAL) {
  100. return;
  101. }
  102. if (e.getPlayer().getItemInHand().equals(stack)) {
  103. e.setCancelled(true);
  104. e.getPlayer().launchProjectile(Snowball.class);
  105. }
  106. }
  107.  
  108. // Diamond Blocks = 1 point
  109. @SuppressWarnings("deprecation")
  110. @EventHandler
  111. public void onProjectileHit(ProjectileHitEvent event) {
  112. Projectile projectile = event.getEntity();
  113. if (projectile instanceof Snowball
  114. && projectile.getShooter() instanceof Player) {
  115. Snowball snowball = (Snowball) projectile;
  116. Player player = (Player) projectile.getShooter();
  117. final Location loc = projectile.getLocation().add(
  118. projectile.getVelocity().normalize());
  119. // System.out.println(loc.getBlock().getType());
  120. if (loc.getBlock().getType() == Material.DIAMOND_BLOCK) {
  121. if (snowball.getShooter() instanceof Player) {
  122. ((Player) snowball.getShooter()).playSound(
  123. snowball.getLocation(), Sound.NOTE_PIANO, 10, 1);
  124. player.setLevel(player.getLevel() + 1);
  125. player.sendMessage(ChatColor.AQUA + "+1");
  126. loc.getBlock().setType(Material.REDSTONE_BLOCK);
  127. Bukkit.getScheduler().scheduleSyncDelayedTask(this,
  128. new Runnable() {
  129. public void run() {
  130.  
  131. loc.getBlock().setType(
  132. Material.DIAMOND_BLOCK);
  133. }
  134. }, 100L);
  135. }
  136. }
  137. }
  138. }
  139.  
  140. // Emerald Blocks = 5 points
  141. @SuppressWarnings("deprecation")
  142. @EventHandler
  143. public void onProjectileHit1(ProjectileHitEvent event) {
  144. Projectile projectile = event.getEntity();
  145. if (projectile instanceof Snowball
  146. && projectile.getShooter() instanceof Player) {
  147. Snowball snowball = (Snowball) projectile;
  148. Player player = (Player) projectile.getShooter();
  149. final Location loc = projectile.getLocation().add(
  150. projectile.getVelocity().normalize());
  151. // System.out.println(loc.getBlock().getType());
  152. if (loc.getBlock().getType() == Material.EMERALD_BLOCK) {
  153. if (snowball.getShooter() instanceof Player) {
  154. ((Player) snowball.getShooter()).playSound(
  155. snowball.getLocation(), Sound.NOTE_PLING, 8, 1);
  156. player.setLevel(player.getLevel() + 5);
  157. player.sendMessage(ChatColor.GREEN + "+5");
  158. loc.getBlock().setType(Material.REDSTONE_BLOCK);
  159. Bukkit.getScheduler().scheduleSyncDelayedTask(this,
  160. new Runnable() {
  161. public void run() {
  162. loc.getBlock().setType(
  163. Material.EMERALD_BLOCK);
  164. }
  165. }, 200L);
  166. }
  167. }
  168. }
  169. }
  170. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement