Advertisement
mixmaster

Untitled

Sep 7th, 2014
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.mixmasterjacob.buzz;
  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.EntityType;
  14. import org.bukkit.entity.Minecart;
  15. import org.bukkit.entity.Player;
  16. import org.bukkit.entity.Projectile;
  17. import org.bukkit.entity.Snowball;
  18. import org.bukkit.event.EventHandler;
  19. import org.bukkit.event.Listener;
  20. import org.bukkit.event.block.Action;
  21. import org.bukkit.event.entity.EntityDamageByEntityEvent;
  22. import org.bukkit.event.entity.ProjectileHitEvent;
  23. import org.bukkit.event.inventory.InventoryClickEvent;
  24. import org.bukkit.event.player.PlayerDropItemEvent;
  25. import org.bukkit.event.player.PlayerInteractEvent;
  26. import org.bukkit.event.player.PlayerJoinEvent;
  27. import org.bukkit.inventory.ItemStack;
  28. import org.bukkit.inventory.meta.ItemMeta;
  29. import org.bukkit.plugin.java.JavaPlugin;
  30.  
  31. public class Main extends JavaPlugin implements Listener {
  32.  
  33.     private ItemStack stack;
  34.  
  35.     @Override
  36.     public void onEnable() {
  37.  
  38.         this.getCommand("buzzrank").setExecutor(new BuzzRank(this));
  39.  
  40.         getServer().getPluginManager().registerEvents(this, this);
  41.         stack = new ItemStack(Material.WOOD_HOE, 1);
  42.         ItemMeta im = stack.getItemMeta();
  43.         im.setDisplayName(ChatColor.BLUE
  44.                 + "\u2583\u2584\u2585Ray Gun\u2585\u2584\u2583");
  45.         List<String> loreList = Arrays.asList(ChatColor.BLUE
  46.                 + "Click to shoot lazers!", ChatColor.RED
  47.                 + "Hit the targets to score points.");
  48.         im.setLore(loreList);
  49.         stack.setItemMeta(im);
  50.     }
  51.  
  52.     @Override
  53.     public void onDisable() {
  54.  
  55.     }
  56.  
  57.     @Override
  58.     public boolean onCommand(CommandSender sender, Command command,
  59.             String label, String[] args) {
  60.         if (!(sender instanceof Player)) {
  61.             if (label.equalsIgnoreCase("buzz")) {
  62.                 if (args.length == 1) {
  63.                     Player player;
  64.                     try {
  65.                         player = Bukkit.getPlayer(args[0]);
  66.                     } catch (Exception e) {
  67.                         return true;
  68.                     }
  69.                     if (!player.getInventory().contains(stack)) {
  70.                         player.getInventory().addItem(stack);
  71.                         player.sendMessage(ChatColor.BLUE + "You now have a"
  72.                                 + ChatColor.RED + " Ray gun!");
  73.                         player.setLevel(0);
  74.                     }
  75.                 }
  76.             } else if (label.equalsIgnoreCase("buzzreset")) {
  77.                 if (args.length == 1) {
  78.                     Player player;
  79.                     try {
  80.                         player = Bukkit.getPlayer(args[0]);
  81.                     } catch (Exception e) {
  82.                         return true;
  83.                     }
  84.                     player.sendMessage(ChatColor.BLUE + "Your Final Score: "
  85.                             + ChatColor.RED + "" + ChatColor.BOLD
  86.                             + +player.getLevel());
  87.                     player.setLevel(0);
  88.                     player.getInventory().removeItem(stack);
  89.                 }
  90.                 return false;
  91.  
  92.             }
  93.  
  94.         }
  95.  
  96.         return false;
  97.  
  98.     }
  99.  
  100.     @EventHandler
  101.     public void oninventoryclick(InventoryClickEvent event) {
  102.         // Player player = (Player) event.getWhoClicked();
  103.         if (event.getCurrentItem().equals(stack)) {
  104.             event.setCancelled(true);
  105.         }
  106.     }
  107.  
  108.     @EventHandler
  109.     public void onDrop(PlayerDropItemEvent e) {
  110.         if (e.getItemDrop().getItemStack().equals(stack))
  111.             ;
  112.         e.setCancelled(true);
  113.     }
  114.  
  115.     @EventHandler
  116.     public void onJoin(PlayerJoinEvent e) {
  117.         Player player = (Player) e.getPlayer();
  118.         player.getInventory().removeItem(stack);
  119.         player.setLevel(0);
  120.  
  121.     }
  122.  
  123.     @EventHandler
  124.     public void onMinecartHit(EntityDamageByEntityEvent e) {
  125.         if (e.getEntity() instanceof Minecart
  126.                 && e.getDamager().getType() == EntityType.SNOWBALL)
  127.             e.setCancelled(true);
  128.     }
  129.  
  130.     @EventHandler
  131.     public void onInteract(PlayerInteractEvent e) {
  132.         if (e.getAction() == Action.PHYSICAL) {
  133.             return;
  134.         }
  135.         if (e.getPlayer().getItemInHand().equals(stack)) {
  136.             e.setCancelled(true);
  137.             e.getPlayer().launchProjectile(Snowball.class);
  138.         }
  139.     }
  140.  
  141.     // Diamond Blocks = 1 point
  142.     @SuppressWarnings("deprecation")
  143.     @EventHandler
  144.     public void onProjectileHit(ProjectileHitEvent event) {
  145.         Projectile projectile = event.getEntity();
  146.         if (projectile instanceof Snowball
  147.                 && projectile.getShooter() instanceof Player) {
  148.             Snowball snowball = (Snowball) projectile;
  149.             Player player = (Player) projectile.getShooter();
  150.             final Location loc = projectile.getLocation().add(
  151.                     projectile.getVelocity().normalize());
  152.             // System.out.println(loc.getBlock().getType());
  153.             if (loc.getBlock().getType() == Material.DIAMOND_BLOCK) {
  154.                 if (snowball.getShooter() instanceof Player) {
  155.                     ((Player) snowball.getShooter()).playSound(
  156.                             snowball.getLocation(), Sound.NOTE_PLING, 10, 1);
  157.                     player.setLevel(player.getLevel() + 1);
  158.                     player.sendMessage(ChatColor.AQUA + "+1");
  159.                     loc.getBlock().setType(Material.REDSTONE_BLOCK);
  160.                     Bukkit.getScheduler().scheduleSyncDelayedTask(this,
  161.                             new Runnable() {
  162.                                 @Override
  163.                                 public void run() {
  164.  
  165.                                     loc.getBlock().setType(
  166.                                             Material.DIAMOND_BLOCK);
  167.                                 }
  168.                             }, 100L);
  169.                 }
  170.             }
  171.         }
  172.     }
  173.  
  174.     // Emerald Blocks = 5 points
  175.     @SuppressWarnings("deprecation")
  176.     @EventHandler
  177.     public void onProjectileHit1(ProjectileHitEvent event) {
  178.         Projectile projectile = event.getEntity();
  179.         if (projectile instanceof Snowball
  180.                 && projectile.getShooter() instanceof Player) {
  181.             Snowball snowball = (Snowball) projectile;
  182.             Player player = (Player) projectile.getShooter();
  183.             final Location loc = projectile.getLocation().add(
  184.                     projectile.getVelocity().normalize());
  185.             // System.out.println(loc.getBlock().getType());
  186.             if (loc.getBlock().getType() == Material.EMERALD_BLOCK) {
  187.                 if (snowball.getShooter() instanceof Player) {
  188.                     ((Player) snowball.getShooter()).playSound(
  189.                             snowball.getLocation(), Sound.NOTE_PLING, 10,
  190.                             (float) 1.3);
  191.                     player.setLevel(player.getLevel() + 5);
  192.                     player.sendMessage(ChatColor.GREEN + "+5");
  193.                     loc.getBlock().setType(Material.REDSTONE_BLOCK);
  194.                     Bukkit.getScheduler().scheduleSyncDelayedTask(this,
  195.                             new Runnable() {
  196.                                 @Override
  197.                                 public void run() {
  198.                                     loc.getBlock().setType(
  199.                                             Material.EMERALD_BLOCK);
  200.                                 }
  201.                             }, 200L);
  202.                 }
  203.             }
  204.         }
  205.     }
  206.  
  207.     // Mushroom = 1000 points
  208.     @SuppressWarnings("deprecation")
  209.     @EventHandler
  210.     public void onProjectileHit2(ProjectileHitEvent event) {
  211.         Projectile projectile = event.getEntity();
  212.         if (projectile instanceof Snowball
  213.                 && projectile.getShooter() instanceof Player) {
  214.             Snowball snowball = (Snowball) projectile;
  215.             Player player = (Player) projectile.getShooter();
  216.             final Location loc = projectile.getLocation().add(
  217.                     projectile.getVelocity().normalize());
  218.             // System.out.println(loc.getBlock().getType());
  219.             if (loc.getBlock().getType() == Material.HUGE_MUSHROOM_1) {
  220.                 if (snowball.getShooter() instanceof Player) {
  221.                     ((Player) snowball.getShooter()).playSound(
  222.                             snowball.getLocation(), Sound.NOTE_PLING, 10,
  223.                             (float) 1.6);
  224.                     player.setLevel(player.getLevel() + 100);
  225.                     player.sendMessage(ChatColor.RED + "+100");
  226.                     loc.getBlock().setType(Material.REDSTONE_BLOCK);
  227.                     Bukkit.getScheduler().scheduleSyncDelayedTask(this,
  228.                             new Runnable() {
  229.                                 @Override
  230.                                 public void run() {
  231.                                     loc.getBlock().setType(
  232.                                             Material.HUGE_MUSHROOM_1);
  233.                                 }
  234.                             }, 300L);
  235.                 }
  236.             }
  237.         }
  238.     }
  239. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement