Assassin

Discussion in 'Plugin Development' started by 22vortex22, Oct 21, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    22vortex22

    Hey Guys! I made an event and for some reason it looks like its not running? I don't know why. There isn't any errors? Could you guys help me?


    Code:java
    1. @EventHandler
    2. public void onClickItem1(PlayerInteractEvent event){
    3. Player player = event.getPlayer();
    4. if(event.getPlayer().getItemInHand().equals(Material.NETHER_STAR)) {
    5. if(event.getAction().equals(Action.RIGHT_CLICK_AIR) || event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
    6. player.sendMessage(ChatColor.DARK_PURPLE + "Time to assassinate!");
    7. player.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 300, 0));
    8. player.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 300, 9 ));
    9. player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 300, 0));
    10. }
    11. }
    12. }
     
  2. Offline

    Deleted user

    22vortex22
    Are you registering the listener?

    EDIT:
    And check if there is an item before checking what the item is.
     
  3. Offline

    22vortex22


    Code:java
    1. public class EasyPvpKits extends JavaPlugin implements Listener{
    2.  
    3. @Override
    4. public void onEnable() {
    5. getServer().getPluginManager().registerEvents(this, this);
    6. }


    I think I did
     
  4. Offline

    Deleted user

    22vortex22

    Can you post the whole class please?
     
  5. Offline

    22vortex22


    Code:java
    1. package com.gmail.codervortex;
    2.  
    3. import java.util.ArrayList;
    4. import org.bukkit.ChatColor;
    5. import org.bukkit.Color;
    6. import org.bukkit.Material;
    7. import org.bukkit.command.Command;
    8. import org.bukkit.command.CommandSender;
    9. import org.bukkit.enchantments.Enchantment;
    10. import org.bukkit.entity.Player;
    11. import org.bukkit.event.EventHandler;
    12. import org.bukkit.event.Listener;
    13. import org.bukkit.event.block.Action;
    14. import org.bukkit.event.entity.PlayerDeathEvent;
    15. import org.bukkit.event.player.PlayerInteractEvent;
    16. import org.bukkit.event.player.PlayerRespawnEvent;
    17. import org.bukkit.inventory.ItemStack;
    18. import org.bukkit.inventory.meta.LeatherArmorMeta;
    19. import org.bukkit.plugin.java.JavaPlugin;
    20. import org.bukkit.potion.PotionEffect;
    21. import org.bukkit.potion.PotionEffectType;
    22.  
    23. public class EasyPvpKits extends JavaPlugin implements Listener{
    24.  
    25. @Override
    26. public void onEnable() {
    27. getServer().getPluginManager().registerEvents(this, this);
    28. }
    29. ArrayList<String> kits = new ArrayList<String>();
    30.  
    31. @EventHandler
    32. public void playerDeath(PlayerDeathEvent e) {
    33. kits.remove(e.getEntity().getName());
    34. }
    35. @EventHandler
    36. public void potionRemove(PlayerRespawnEvent e){
    37. Player player = e.getPlayer();
    38. for (PotionEffect effect : player.getActivePotionEffects())
    39. player.removePotionEffect(effect.getType());
    40. }
    41. @EventHandler
    42. public void OnPlayerSoup(PlayerInteractEvent event){
    43. Player player = event.getPlayer();
    44. if (player.hasPermission("EasyPvpKits.Soup")){
    45. if(player.getHealth() == 20){
    46. }
    47. else{
    48. int soup = +7;
    49. if((event.getAction() == Action.RIGHT_CLICK_AIR || event.getAction() ==Action.RIGHT_CLICK_BLOCK) && player.getItemInHand().getType() == Material.MUSHROOM_SOUP){
    50. player.setHealth(player.getHealth() + soup > player.getMaxHealth() ? player.getMaxHealth() : player.getHealth() + soup);
    51. event.getPlayer().getItemInHand().setType(Material.BOWL);
    52. }
    53. }
    54. }
    55. }
    56. @EventHandler
    57. public void onClickItem1(PlayerInteractEvent event){
    58. Player player = event.getPlayer();
    59. if(event.getPlayer().getItemInHand().equals(Material.NETHER_STAR)) {
    60. if(event.getAction().equals(Action.RIGHT_CLICK_AIR) || event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
    61. player.sendMessage(ChatColor.DARK_PURPLE + "Time to assassinate!");
    62. player.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 300, 0));
    63. player.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 300, 9 ));
    64. player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 300, 0));
    65. }
    66. }
    67. }
    68. public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
    69. Player player = (Player) sender;
    70. if (commandLabel.equalsIgnoreCase("Pvp") && sender instanceof Player) {
    71. if (player.hasPermission("EasyPvpKits.Pvp")) {
    72. if (!kits.contains(player.getName())) {
    73. player.sendMessage(ChatColor.GOLD + "You have been given the Pvp kit!");
    74. kits.add(player.getName());
    75. player.getInventory().clear();
    76. player.getInventory().addItem(new ItemStack(Material.DIAMOND_SWORD));
    77. player.getInventory().setHelmet(new ItemStack(Material.IRON_HELMET));
    78. player.getInventory().setChestplate(new ItemStack(Material.IRON_CHESTPLATE));
    79. player.getInventory().setLeggings(new ItemStack(Material.IRON_LEGGINGS));
    80. player.getInventory().setBoots(new ItemStack(Material.IRON_BOOTS));
    81. for (int i = 0; i < 35; i++){
    82. player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
    83. }
    84. }
    85. else { player.sendMessage(ChatColor.RED + "You have already picked a kit!");
    86. }
    87. }
    88. else {
    89. player.sendMessage(ChatColor.RED + "You don't have permission to recieve this kit.");
    90. }
    91. } else if (commandLabel.equalsIgnoreCase("Archer") && sender instanceof Player){
    92. if (player.hasPermission("EasyPvpKits.Archer")){
    93. if (!kits.contains(player.getName())){
    94. ItemStack ABow = new ItemStack(Material.BOW);
    95. ABow.addUnsafeEnchantment(Enchantment.ARROW_INFINITE, 2);
    96. player.sendMessage(ChatColor.GOLD + "You have been given the Archer kit!");
    97. kits.add(player.getName());
    98. player.getInventory().clear();
    99. player.getInventory().addItem(new ItemStack(Material.STONE_SWORD));
    100. player.getInventory().addItem(ABow);
    101. player.getInventory().setHelmet(new ItemStack(Material.LEATHER_HELMET));
    102. player.getInventory().setChestplate(new ItemStack(Material.IRON_CHESTPLATE));
    103. player.getInventory().setLeggings(new ItemStack(Material.IRON_LEGGINGS));
    104. player.getInventory().setBoots(new ItemStack(Material.LEATHER_BOOTS));
    105. for (int i = 0; i < 33; i++){
    106. player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
    107. }
    108. player.getInventory().addItem(new ItemStack(Material.ARROW));
    109. }
    110. else {
    111. player.sendMessage(ChatColor.RED + "You have already picked a kit!");
    112. }
    113. }
    114. else player.sendMessage(ChatColor.RED + "You don't have permission to recieve this kit.");
    115. }
    116. else if (commandLabel.equalsIgnoreCase("Heavy") && sender instanceof Player){
    117. if (player.hasPermission("EasyPvpKits.Heavy")){
    118. if (!kits.contains(player.getName())){
    119. player.sendMessage(ChatColor.GOLD + "You have been given the Heavy kit!");
    120. kits.add(player.getName());
    121. player.getInventory().clear();
    122. player.getInventory().addItem(new ItemStack(Material.DIAMOND_SWORD));
    123. player.getInventory().setHelmet(new ItemStack(Material.DIAMOND_HELMET));
    124. player.getInventory().setChestplate(new ItemStack(Material.DIAMOND_CHESTPLATE));
    125. player.getInventory().setLeggings(new ItemStack(Material.DIAMOND_LEGGINGS));
    126. player.getInventory().setBoots(new ItemStack(Material.DIAMOND_BOOTS));
    127. for (int i = 0; i < 35; i++){
    128. player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
    129. player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, Integer.MAX_VALUE, 1));
    130. }
    131. }
    132. else {
    133. player.sendMessage(ChatColor.RED + "You have already picked a kit!");
    134. }
    135. }
    136. else player.sendMessage(ChatColor.RED + "You don't have permission to recieve this kit.");
    137. }
    138. else if(commandLabel.equalsIgnoreCase("Pyro") && sender instanceof Player){
    139. if (player.hasPermission("EasyPvpKits.Pyro")){
    140. if (!kits.contains(player.getName())){
    141. ItemStack Arrow = new ItemStack(Material.ARROW, 64);
    142. ItemStack SSword = new ItemStack(Material.STONE_SWORD);
    143. SSword.addEnchantment(Enchantment.FIRE_ASPECT, 1);
    144. ItemStack FBow = new ItemStack(Material.BOW);
    145. FBow.addUnsafeEnchantment(Enchantment.ARROW_FIRE, 2);
    146. player.sendMessage(ChatColor.GOLD + "You have been given the Pyro kit!");
    147. kits.add(player.getName());
    148. player.getInventory().clear();
    149. player.getInventory().setHelmet(new ItemStack(Material.CHAINMAIL_HELMET));
    150. player.getInventory().setChestplate(new ItemStack(Material.CHAINMAIL_CHESTPLATE));
    151. player.getInventory().setLeggings(new ItemStack(Material.CHAINMAIL_LEGGINGS));
    152. player.getInventory().setBoots(new ItemStack(Material.CHAINMAIL_BOOTS));
    153. player.getInventory().addItem(SSword);
    154. player.getInventory().addItem(FBow);
    155. for (int i = 0; i < 33; i++){
    156. player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
    157. }
    158. player.getInventory().addItem(Arrow);
    159. }
    160. else player.sendMessage(ChatColor.RED + "You have already picked a kit!");
    161.  
    162. }
    163. else player.sendMessage(ChatColor.RED + "You don't have permission to recieve this kit.");
    164. }
    165. else if (commandLabel.equalsIgnoreCase("Assassin")){
    166. if (player.hasPermission("EasyPvpKits.Assassin")){
    167. if (!kits.contains(player.getName())){
    168. ItemStack AssassinHat = new ItemStack(Material.LEATHER_HELMET);
    169. LeatherArmorMeta AHat = (LeatherArmorMeta)AssassinHat.getItemMeta();
    170. AHat.setColor(Color.WHITE);
    171. AssassinHat.setItemMeta(AHat);
    172. AssassinHat.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
    173. ItemStack AssassinChest = new ItemStack(Material.LEATHER_CHESTPLATE);
    174. LeatherArmorMeta AChest = (LeatherArmorMeta)AssassinChest.getItemMeta();
    175. AChest.setColor(Color.WHITE);
    176. AssassinChest.setItemMeta(AChest);
    177. AssassinChest.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
    178. ItemStack AssassinLegs = new ItemStack(Material.LEATHER_LEGGINGS);
    179. LeatherArmorMeta ALegs = (LeatherArmorMeta)AssassinLegs.getItemMeta();
    180. ALegs.setColor(Color.WHITE);
    181. AssassinLegs.setItemMeta(ALegs);
    182. AssassinLegs.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
    183. ItemStack AssassinBoots = new ItemStack(Material.LEATHER_BOOTS);
    184. LeatherArmorMeta ABoots = (LeatherArmorMeta)AssassinBoots.getItemMeta();
    185. ABoots.setColor(Color.WHITE);
    186. AssassinBoots.setItemMeta(ABoots);
    187. AssassinBoots.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
    188. AssassinBoots.addEnchantment(Enchantment.PROTECTION_FALL, 4);
    189. ItemStack SSword = new ItemStack(Material.STONE_SWORD);
    190. SSword.addEnchantment(Enchantment.DAMAGE_ALL, 1);
    191. SSword.addEnchantment(Enchantment.DURABILITY, 2);
    192. player.sendMessage(ChatColor.GOLD + "You have been given the Assassin kit!");
    193. kits.add(player.getName());
    194. player.getInventory().clear();
    195. player.getInventory().setHelmet(AssassinHat);
    196. player.getInventory().setBoots(AssassinBoots);
    197. player.getInventory().setChestplate(AssassinChest);
    198. player.getInventory().setLeggings(AssassinLegs);
    199. player.getInventory().addItem(SSword);
    200. player.getInventory().addItem(new ItemStack(Material.NETHER_STAR));
    201. for (int i = 0; i < 34; i++){
    202. player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
    203. }
    204. }
    205. else player.sendMessage(ChatColor.RED + "You have already picked a kit!");
    206. }
    207. else player.sendMessage(ChatColor.RED + "You don't have permission to recieve this kit.");
    208. }
    209. else if (commandLabel.equalsIgnoreCase("Reset")){
    210. if (player.hasPermission("EasyPvpKits.Admin")){
    211. if (args.length == 0){
    212. player.sendMessage(ChatColor.RED + "Do /reset (Playername) to reset their kit.");
    213. }
    214. else if (args.length == 1){
    215. Player target = player.getServer().getPlayer(args[0]);
    216. if (kits.contains(target.getName())){
    217. kits.remove(target.getName());
    218. target.getInventory().clear();
    219. target.getInventory().setArmorContents(null);
    220. for (PotionEffect effect : target.getActivePotionEffects())
    221. target.removePotionEffect(effect.getType());
    222. target.sendMessage(ChatColor.RED + "Your kit has been reset by a staff member!");
    223. player.sendMessage(ChatColor.GOLD + "The player's class has been removed!");
    224. }
    225. else player.sendMessage(ChatColor.RED + "This person has not chosen a kit!");
    226. }
    227.  
    228. }
    229. else player.sendMessage(ChatColor.RED + "You do not have permission to excute this command.");
    230. }
    231. return false;
    232. }
    233. }
    234.  
    235.  
    236.  
    237.  
    238.  
    239.  
    240.  
     
  6. Offline

    Deleted user

    22vortex22

    Can you add some debugging code in?

    For example, after the first if statement (Nether Star), add in

    Code:
    getLogger().info("Passed Test 1");
    Then after the right click if statement, add in

    Code:
    getLogger().info("Passed Test 2");
     
  7. Offline

    22vortex22

    It doesn't run :/
     
  8. Offline

    Deleted user

    So nothing happens? Nothing's logged?

    Huh.

    Can I see your plugin.yml?
     
  9. Offline

    22vortex22

    Code:
    name: Easy Pvp Kits
    version: 1.0.5
    main: com.gmail.codervortex.EasyPvpKits
    author: Vortex
    description: A simple and easy to use pvp kit plugin.
    commands:
      Pvp:
        description: Gives the user the default pvp kit.
      Pyro:
        description: Gives the user the pyro kit.
      Archer:
        description: Gives the user the archer kit.
      Heavy:
        description: Gives the user the heavy kit.
      Reset:
        description: Resets a player's kit.
      Assassin:
        description: Gives the user the assassin kit.
     
  10. Offline

    Syd

    This line:
    if(event.getPlayer().getItemInHand().equals(Material.NETHER_STAR)) {

    getItemInHand() returns a itemstack, which can never be equal to a Material. Add a .getType().
    Also, getItemInHand() can return null, so you should check if the player actually has a item before you use it.

    ->
    if(event.hasItem() && event.getPlayer().getItemInHand().getType().equals(Material.NETHER_STAR)) {
     
  11. Offline

    Deleted user

    Syd

    Ah.

    Derp.

    Probably should have consulted Eclipse then :p
     
Thread Status:
Not open for further replies.

Share This Page