Advertisement
mixmaster

Untitled

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