spenk

Untitled

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