spenk

Dive | Bukkit

Sep 6th, 2012
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.04 KB | None | 0 0
  1. package com.TopicaRP.spenk.Dive;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.logging.Logger;
  5.  
  6. import org.bukkit.Material;
  7. import org.bukkit.command.Command;
  8. import org.bukkit.command.CommandSender;
  9. import org.bukkit.entity.Player;
  10. import org.bukkit.event.EventHandler;
  11. import org.bukkit.event.Listener;
  12. import org.bukkit.event.entity.EntityDamageEvent;
  13. import org.bukkit.inventory.ItemStack;
  14. import org.bukkit.plugin.java.JavaPlugin;
  15.  
  16. public class Dive extends JavaPlugin implements Listener{
  17.  
  18.     public String name = "Dive";
  19.     public String author = "Spenk";
  20.     public String version = "1.0.x";
  21.     public Logger log = Logger.getLogger("Minecraft");
  22.    
  23.      public void onEnable() {
  24.          getServer().getPluginManager().registerEvents(this, this);
  25.          log.info(name+" by "+author+" version "+version+" is Enabled!");
  26.          
  27.      }
  28.      
  29.      public void onDisable() {
  30.          
  31.          log.info(name+" by "+author+" version "+version+" is Disabled!");
  32.          
  33.      }
  34.    
  35.         ArrayList<String> DivePlayers = new ArrayList<String>();
  36.  
  37.         @EventHandler
  38.         public void onEntityDamage(EntityDamageEvent event) {
  39.              if (!(event.getEntity() instanceof Player)){ return; }
  40.              Player player = (Player)event.getEntity();
  41.                 if (event.getCause().equals(EntityDamageEvent.DamageCause.DROWNING) && DivePlayers.contains(player.getName()) && player.getInventory().getHelmet().getType() == Material.GLASS){
  42.                     event.setCancelled(true);
  43.                 }
  44.         }
  45.        
  46.         @EventHandler
  47.         public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
  48.             if (commandLabel.equalsIgnoreCase("Dive"))
  49.             {
  50.               if ((sender instanceof Player))
  51.               {
  52.                 if ((sender.hasPermission("Dive.dive")) || (sender.isOp()))
  53.                 {
  54.                     Player player = (Player)sender;
  55.  
  56.                   if (args.length == 0)
  57.                   {
  58.                       if (player.getItemInHand() != null){
  59.                           if (player.getItemInHand().getType() != Material.GLASS){
  60.                               player.sendMessage("§cYou need to hold a glassblock to dive!");
  61.                               return true;
  62.                           }
  63.                       }
  64.                      
  65.                       if (player.getInventory().getHelmet() != null){
  66.                           player.sendMessage("§cThe helmet slot got to be empty!");
  67.                           return true;
  68.                       }
  69.                      
  70.                       if (player.getInventory().getItemInHand().getAmount() == 1){
  71.                           player.getInventory().remove(player.getItemInHand());
  72.                           this.divePlayer(player);
  73.                           player.sendMessage("§cYou put on your dive gear");
  74.                           return true;
  75.                       }
  76.                      
  77.                       player.getItemInHand().setAmount(player.getItemInHand().getAmount() -1);
  78.                       this.divePlayer(player);
  79.                       player.sendMessage("§cYou put on your dive gear");
  80.                       return true;
  81.                   }
  82.                 }
  83.               }
  84.             }
  85.             return false;
  86.         }
  87.        
  88.         public void divePlayer(Player player){
  89.             ItemStack i = new ItemStack(20,1);
  90.             player.getInventory().setHelmet(i);
  91.             DivePlayers.add(player.getName());
  92.             return;
  93.         }
  94.      
  95. }
Advertisement
Add Comment
Please, Sign In to add comment