Advertisement
thegarfish

Untitled

Sep 14th, 2013
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.35 KB | None | 0 0
  1. package me.thegarfish.pvp;
  2.  
  3. import org.bukkit.Color;
  4. import org.bukkit.Material;
  5. import org.bukkit.command.Command;
  6. import org.bukkit.command.CommandSender;
  7. import org.bukkit.enchantments.Enchantment;
  8. import org.bukkit.entity.Item;
  9. import org.bukkit.entity.Player;
  10. import org.bukkit.event.EventHandler;
  11. import org.bukkit.event.Listener;
  12. import org.bukkit.event.block.Action;
  13. import org.bukkit.event.entity.PlayerDeathEvent;
  14. import org.bukkit.event.player.PlayerDropItemEvent;
  15. import org.bukkit.event.player.PlayerInteractEvent;
  16. import org.bukkit.inventory.ItemStack;
  17. import org.bukkit.inventory.meta.LeatherArmorMeta;
  18. import org.bukkit.metadata.FixedMetadataValue;
  19. import org.bukkit.metadata.MetadataValue;
  20. import org.bukkit.plugin.java.JavaPlugin;
  21. import org.bukkit.potion.PotionEffect;
  22. import org.bukkit.potion.PotionEffectType;
  23.  
  24. public class Main extends JavaPlugin implements Listener {
  25.  
  26. public void onEnable() {
  27. System.out.print("§4KitPvP Enabled!");
  28. getServer().getPluginManager().registerEvents(this, this);
  29. getConfig().options().copyDefaults(true);
  30. saveConfig();
  31. }
  32.  
  33. public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
  34. if (sender instanceof Player == false) {
  35. sender.sendMessage("You must be a player to select a kit.");
  36. return true;
  37. }
  38. Player player = (Player) sender;
  39. if (player.hasMetadata("kit")) {
  40. player.sendMessage("You have already selected a kit!");
  41. return true;
  42. }
  43. if(commandLabel.equalsIgnoreCase("Kits")) {
  44. player.sendMessage("§aKits: Warrior, Archer, Tank");
  45. player.sendMessage("§6Gold Kits: Pyromancer, Scout, ???");
  46. player.sendMessage("§cPlatinum Kits: Rot, ???");
  47.  
  48. } else if(commandLabel.equalsIgnoreCase("Rot")) {
  49. player.setMetadata("kit", (MetadataValue) new FixedMetadataValue(this, commandLabel));
  50. player.sendMessage("§4ONLY ROT's WEAKNESS CAN HAND THIS KIT!");
  51. ItemStack rot = new ItemStack(Material.STICK);
  52. rot.addUnsafeEnchantment(Enchantment.KNOCKBACK, 5);
  53. player.getInventory().addItem(rot);
  54. ItemStack helm = new ItemStack(Material.LEATHER_HELMET);
  55. LeatherArmorMeta meta = (LeatherArmorMeta) helm.getItemMeta();
  56. meta.setColor(Color.FUCHSIA);
  57. helm.setItemMeta(meta);
  58. player.getInventory().setHelmet(helm);
  59. player.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS,Integer.MAX_VALUE, 1));
  60. player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW_DIGGING,Integer.MAX_VALUE, 4));
  61. player.addPotionEffect(new PotionEffect(PotionEffectType.HUNGER,Integer.MAX_VALUE, 1));
  62. player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
  63. player.getInventory().addItem(new ItemStack(Material.BOWL, 7));
  64. } else if(commandLabel.equalsIgnoreCase("Archer")) {
  65. player.setMetadata("kit", (MetadataValue) new FixedMetadataValue(this, commandLabel));
  66. player.sendMessage("§6You have chosen kit §aArcher§6!");
  67. player.getInventory().setHelmet(new ItemStack (Material.CHAINMAIL_HELMET));
  68. player.getInventory().setChestplate(new ItemStack (Material.CHAINMAIL_CHESTPLATE));
  69. player.getInventory().setLeggings(new ItemStack(Material.CHAINMAIL_LEGGINGS));
  70. player.getInventory().setBoots(new ItemStack(Material.CHAINMAIL_BOOTS));
  71. ItemStack bow = new ItemStack(Material.BOW);
  72. bow.addEnchantment(Enchantment.DURABILITY, 1);
  73. bow.addEnchantment(Enchantment.ARROW_KNOCKBACK, 1);
  74. bow.addEnchantment(Enchantment.ARROW_INFINITE, 1);
  75. player.getInventory().addItem(bow);
  76. player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 8));
  77. player.getInventory().addItem(new ItemStack(Material.ARROW));
  78. } else if(commandLabel.equalsIgnoreCase("Tank")) {
  79. player.setMetadata("kit", (MetadataValue) new FixedMetadataValue(this, commandLabel));
  80. player.sendMessage("§6You have chosen kit §aTank§6!");
  81. player.getInventory().setHelmet(new ItemStack(Material.DIAMOND_HELMET));
  82. player.getInventory().setChestplate(new ItemStack(Material.DIAMOND_CHESTPLATE));
  83. player.getInventory().setLeggings(new ItemStack(Material.DIAMOND_LEGGINGS));
  84. player.getInventory().setBoots(new ItemStack(Material.DIAMOND_BOOTS));
  85. ItemStack tanksword = new ItemStack(Material.IRON_AXE);
  86. tanksword.addEnchantment(Enchantment.DURABILITY, 3);
  87. tanksword.addEnchantment(Enchantment.DAMAGE_ALL, 1);
  88. player.getInventory().addItem(tanksword);
  89. player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW,Integer.MAX_VALUE, 1));
  90. player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 8));
  91. } else if(commandLabel.equalsIgnoreCase("Warrior")) {
  92. player.setMetadata("kit", (MetadataValue) new FixedMetadataValue(this, commandLabel));
  93. player.sendMessage("§6You have chosen kit §aWarrior§6!");
  94. player.getInventory().setHelmet(new ItemStack (Material.IRON_HELMET));
  95. player.getInventory().setChestplate(new ItemStack (Material.IRON_CHESTPLATE));
  96. player.getInventory().setLeggings(new ItemStack (Material.IRON_LEGGINGS));
  97. player.getInventory().setBoots(new ItemStack (Material.IRON_BOOTS));
  98. player.getInventory().addItem(new ItemStack (Material.DIAMOND_SWORD));
  99. player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 8));
  100. } else if(commandLabel.equalsIgnoreCase("Pyromancer")) {
  101. player.setMetadata("kit", (MetadataValue) new FixedMetadataValue(this, commandLabel));
  102. player.sendMessage("§6You have chosen kit §cPyromancer!");
  103. player.getInventory().setHelmet(new ItemStack(Material.CHAINMAIL_HELMET));
  104. player.getInventory().setChestplate(new ItemStack(Material.CHAINMAIL_CHESTPLATE));
  105. player.getInventory().setLeggings(new ItemStack(Material.CHAINMAIL_LEGGINGS));
  106. player.getInventory().setBoots(new ItemStack(Material.CHAINMAIL_BOOTS));
  107. player.getInventory().addItem(new ItemStack(Material.FLINT_AND_STEEL));
  108. player.getInventory().addItem(new ItemStack(Material.LAVA_BUCKET));
  109. player.addPotionEffect(new PotionEffect(PotionEffectType.FIRE_RESISTANCE,Integer.MAX_VALUE, 1));
  110. player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 7));
  111. } else if(commandLabel.equalsIgnoreCase("Scout")) {
  112. ItemStack scouthelm = new ItemStack(Material.LEATHER_HELMET);
  113. LeatherArmorMeta meta = (LeatherArmorMeta) scouthelm.getItemMeta();
  114. meta.setColor(Color.YELLOW);
  115. scouthelm.setItemMeta(meta);
  116. player.getInventory().setHelmet(scouthelm);
  117. ItemStack scoutchest = new ItemStack(Material.LEATHER_CHESTPLATE);
  118. LeatherArmorMeta meta1 = (LeatherArmorMeta) scoutchest.getItemMeta();
  119. meta1.setColor(Color.YELLOW);
  120. scoutchest.setItemMeta(meta1);
  121. player.getInventory().setChestplate(scoutchest);
  122. ItemStack scoutpants = new ItemStack(Material.LEATHER_LEGGINGS);
  123. LeatherArmorMeta meta11 = (LeatherArmorMeta) scoutchest.getItemMeta();
  124. meta11.setColor(Color.YELLOW);
  125. scoutpants.setItemMeta(meta11);
  126. player.getInventory().setLeggings(scoutpants);
  127. ItemStack scoutboots = new ItemStack(Material.LEATHER_BOOTS);
  128. LeatherArmorMeta meta111 = (LeatherArmorMeta) scoutboots.getItemMeta();
  129. meta111.setColor(Color.YELLOW);
  130. scoutboots.setItemMeta(meta111);
  131. player.getInventory().setBoots(scoutboots);
  132. player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED,Integer.MAX_VALUE, 1));
  133. ItemStack scoutshovel = new ItemStack(Material.IRON_SPADE);
  134. scoutshovel.addEnchantment(Enchantment.DURABILITY, 3);
  135. scoutshovel.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, 2);
  136. player.getInventory().addItem(scoutshovel);
  137. player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 8));
  138. } else if(commandLabel.equalsIgnoreCase("Kills")) {
  139. player.sendMessage(getConfig().getString("kills:"));
  140. }
  141. return false;
  142.  
  143. }
  144.  
  145. @EventHandler
  146. public void onPlayerDeath(PlayerDeathEvent event) {
  147. Player p = event.getEntity();
  148. if (p.hasPermission("kit.nodrop")) {
  149. event.getDrops().clear();
  150. }
  151. p.removeMetadata("kit", this);
  152. if(p.getKiller() instanceof Player){ //Check if the entity who killed the player is a player
  153. Player killer = p.getKiller(); //The killer of the person
  154. this.reloadConfig();
  155. getConfig().set("players." + p.getName() + ".deaths", getConfig().getInt("players." + p.getName() + ".deaths") + 1); //Add a death to the player
  156. getConfig().set("players." + killer.getName() + ".kills", getConfig().getInt("players." + killer.getName() + ".kills") + 1); //Add a kill to the killer
  157. this.saveConfig();
  158. }
  159.  
  160. }
  161.  
  162. @EventHandler
  163. public void onPlayerInteract(PlayerInteractEvent event) {
  164. if (event.getAction() == Action.RIGHT_CLICK_AIR
  165. || event.getAction() == Action.RIGHT_CLICK_BLOCK) {
  166. Player player = event.getPlayer();
  167. if (player.getItemInHand() != null
  168. && player.getItemInHand().getType() == Material.MUSHROOM_SOUP) {
  169. if (player.getHealth() == player.getMaxHealth())
  170. return;
  171.  
  172. event.setCancelled(true);
  173. player.setHealth(player.getHealth() > 14 ? 20 : player
  174. .getHealth() + 6);
  175. player.getItemInHand().setType(Material.BOWL);
  176. }
  177. }
  178. }
  179.  
  180. @EventHandler
  181. public void onPlayerDropItem(PlayerDropItemEvent event) {
  182. Player p = event.getPlayer();
  183. if(event.getItemDrop().getItemStack().getType() == Material.BOWL) {
  184. }
  185. else {
  186. event.setCancelled(true);
  187. p.sendMessage("§cWarning: §6You Can Not Drop Kit Items! §3(Only Bowls)!");
  188. }
  189.  
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement