Advertisement
Guest User

barb

a guest
Nov 27th, 2014
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.98 KB | None | 0 0
  1. package me.AcpSoldier7.BarbCutters;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.Effect;
  8. import org.bukkit.Location;
  9. import org.bukkit.Material;
  10. import org.bukkit.Sound;
  11. import org.bukkit.block.Block;
  12. import org.bukkit.command.Command;
  13. import org.bukkit.command.CommandExecutor;
  14. import org.bukkit.command.CommandSender;
  15. import org.bukkit.enchantments.Enchantment;
  16. import org.bukkit.entity.Player;
  17. import org.bukkit.event.EventHandler;
  18. import org.bukkit.event.Listener;
  19. import org.bukkit.event.block.Action;
  20. import org.bukkit.event.block.BlockPlaceEvent;
  21. import org.bukkit.event.player.PlayerInteractEvent;
  22. import org.bukkit.event.player.PlayerMoveEvent;
  23. import org.bukkit.inventory.ItemStack;
  24. import org.bukkit.inventory.meta.ItemMeta;
  25. import org.bukkit.plugin.java.JavaPlugin;
  26. import org.bukkit.scheduler.BukkitScheduler;
  27.  
  28.  
  29. public class Main extends JavaPlugin implements CommandExecutor, Listener {
  30.  
  31.     public void onEnable() {
  32.         Bukkit.getPluginManager().registerEvents(this, this);
  33.         getLogger().info("The testing plugin has been enabled!");
  34.     }
  35.  
  36.     public void onDisable() {
  37.         getLogger().info("The testing plugin has been enabled!");
  38.     }
  39.    
  40.     public enum Items{
  41.         BarbCutters,
  42.     }
  43.     boolean inBarb = false;
  44.     boolean placing = false;
  45.    
  46.     public ItemStack getCustomItem(Items itemName) {
  47.         ItemStack is = null;
  48.         ItemMeta im;
  49.         ArrayList<String> lore;
  50.        
  51.         switch(itemName) {
  52.             case BarbCutters:
  53.                 is = new ItemStack(Material.SHEARS);
  54.                 im = is.getItemMeta();
  55.                 im.setDisplayName(ChatColor.BOLD + "" + ChatColor.GOLD +"Barbed Wire Cutters");
  56.                 lore = new ArrayList<String>();
  57.                 lore.add(ChatColor.AQUA + "hey now brown cow");
  58.                 im.setLore(lore);
  59.                 im.addEnchant(Enchantment.DURABILITY, 100, true);
  60.                 is.setItemMeta(im);
  61.         }
  62.         return is;
  63.     }
  64.  
  65.     @Override
  66.     public boolean onCommand(CommandSender sender, Command command,String Label, String[] args) {
  67.         String cmd = command.getName();
  68.         Player player = (Player) sender;
  69.  
  70.         if (cmd.equalsIgnoreCase("toggleBlockPlace")) {
  71.             if(player.isOp()) {
  72.                
  73.                 if(placing == true) {
  74.                     placing = false;
  75.                     player.sendMessage(ChatColor.AQUA + "Placing is now set to false!");
  76.                 }
  77.                 else if (placing == false) {
  78.                     placing = true;
  79.                     player.sendMessage(ChatColor.AQUA + "Placing is now set to true!");
  80.                 }
  81.             }
  82.             else {
  83.                 player.sendMessage(ChatColor.AQUA + "You must be OP to use this command!");
  84.             }
  85.         }
  86.         return true;
  87.     }
  88.    
  89.     @EventHandler
  90.     public void onPlayerMove(final PlayerMoveEvent e) {
  91.         final Material m = e.getPlayer().getLocation().getBlock().getType();
  92.         Player p = e.getPlayer();
  93.         if (m == Material.WEB) {
  94.             inBarb = true;
  95.             p.damage(2F);
  96.         }
  97.     }
  98.    
  99.     @EventHandler
  100.     public void onRightClick(PlayerInteractEvent e) {
  101.         final Player p = e.getPlayer();
  102.         if (e.getAction() == Action.RIGHT_CLICK_BLOCK) {
  103.             final Block b = e.getClickedBlock();
  104.             if ((b.getType() == Material.WEB)) {
  105.                 if(p.getItemInHand().getType() == (Material.SHEARS)) {
  106.                    
  107.                     final BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
  108.                     scheduler.scheduleSyncDelayedTask(Bukkit.getPluginManager().getPlugin("BarbCutters"), new Runnable() {
  109.                         public void run() {
  110.                             p.playSound(b.getLocation(), Sound.ZOMBIE_METAL, 1, 50);
  111.                             p.playSound(b.getLocation(), Sound.ZOMBIE_WOODBREAK, 1, 50);
  112.                             b.setType(Material.AIR);
  113.                         }
  114.                     }, 3); // 20 = one second in ticks.
  115.                 }
  116.             }
  117.         }
  118.     }
  119.  
  120.     @SuppressWarnings("deprecation")
  121.     @EventHandler
  122.     public void onBlockPlaceEvent(BlockPlaceEvent e) {
  123.         Block block = e.getBlock();
  124.         Location loc = block.getLocation();
  125.         Player p = e.getPlayer();
  126.         if(placing == false) {
  127.             if (block.getType() != Material.WEB) {
  128.                 block.setType(Material.AIR);
  129.                 p.sendMessage(ChatColor.AQUA + "You are only permitted to place barb wire!");
  130.                 p.playEffect(loc, Effect.SMOKE, 10);
  131.             }
  132.         }
  133.     }
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement