PVP Plugin error

Discussion in 'Plugin Development' started by Void_Mastery, Sep 10, 2014.

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

    Void_Mastery

    Hi! I'm making a private plugin for a few of my friends and me to play on. It's a plugin that displays the amount of kills + deaths a play has.
    I'm having a bit of trouble with the bit that monitors if someone has died so that I can put a +1 on the 'playerKills' int, anyone know how I can do this?
    Here's the whole plugin class
    Much thanks

    Code:java
    1. package me.Void_Mastery.Pvp;
    2.  
    3. import java.awt.Color;
    4. import java.util.logging.Logger;
    5.  
    6.  
    7.  
    8. import org.bukkit.ChatColor;
    9. import org.bukkit.command.Command;
    10. import org.bukkit.command.CommandSender;
    11. import org.bukkit.entity.Player;
    12. import org.bukkit.event.EventHandler;
    13. import org.bukkit.event.entity.EntityDeathEvent;
    14. import org.bukkit.plugin.PluginDescriptionFile;
    15. import org.bukkit.plugin.java.JavaPlugin;
    16.  
    17. public class Pvp extends JavaPlugin{
    18. public final Logger logger = Logger.getLogger("Minecraft");
    19. public static Pvp plugin;
    20. public static int joeKills = 0;
    21. public static int joeDeaths = 0;
    22. public static int joshDeaths = 0;
    23. public static int joshKills = 0;
    24. public static int nickDeaths = 0;
    25. public static int nickKills = 0;
    26. public static int nickRank = 0;
    27. public static int joeRank = 0;
    28. public static int joshRank = 0;
    29.  
    30. public static String josh = "void_mastery2";
    31. public static String nick = "Void_Mastery";
    32. public static String joe = "_TitaniumEagle_";
    33.  
    34. @Override
    35. public void onDisable(){
    36. PluginDescriptionFile pdfFile = this.getDescription();
    37. this.logger.info("[PVP] got disabled :(");
    38.  
    39. }
    40.  
    41. @Override
    42. public void onEnable() {
    43. PluginDescriptionFile pdfFile = this.getDescription();
    44. this.logger.info("[PVP]" + " Version " + pdfFile.getVersion() + " Has Been Enabled!");
    45.  
    46.  
    47. }
    48.  
    49.  
    50.  
    51.  
    52.  
    53. @EventHandler
    54. public void checkDeathCauses(EntityDeathEvent e)
    55. {
    56. Player p = (Player) e.getEntity();
    57.  
    58.  
    59.  
    60.  
    61.  
    62. if(p.getKiller().getDisplayName() == josh) {
    63.  
    64. joshKills++;
    65. if(p.getDisplayName() == nick) {
    66.  
    67. nickDeaths++;
    68.  
    69. if(nickKills >= joeKills && nickKills >= joshKills) {
    70. nickRank = 1;
    71. }
    72. else if(nickKills >= joeKills && nickKills <= joshKills) {
    73. nickRank = 2;
    74. }
    75. else if (nickKills <= joeKills && nickKills >= joshKills) {
    76. nickRank = 2;
    77. }
    78. else if (nickKills <= joeKills && nickKills <= joshKills) {
    79. nickRank = 3;
    80. }
    81. if(joeKills >= nickKills && joeKills >= joshKills) {
    82. joeRank = 1;
    83. }
    84. else if(joeKills <= nickKills && joeKills >= joshKills) {
    85. joeRank = 2;
    86. }
    87. else if (joeKills >= nickKills && joeKills <= joshKills) {
    88. joeRank = 2;
    89. }
    90. else if (joeKills <= nickKills && joeKills <= joshKills) {
    91. joeRank = 3;
    92. }
    93. if(joshKills >= nickKills && joshKills >= joeKills) {
    94. joshRank = 1;
    95. }
    96. else if(joshKills <= nickKills && joshKills >= joeKills) {
    97. joshRank = 2;
    98. }
    99. else if (joshKills >= nickKills && joshKills <= joeKills) {
    100. joshRank = 2;
    101. }
    102. else if (joshKills <= nickKills && joshKills <= joeKills) {
    103. nickRank = 3;
    104. }
    105.  
    106. }
    107. else if(p.getDisplayName() == joe) {
    108.  
    109. joeDeaths++;
    110.  
    111.  
    112. if(nickKills >= joeKills && nickKills >= joshKills) {
    113. nickRank = 1;
    114. }
    115. else if(nickKills >= joeKills && nickKills <= joshKills) {
    116. nickRank = 2;
    117. }
    118. else if (nickKills <= joeKills && nickKills >= joshKills) {
    119. nickRank = 2;
    120. }
    121. else if (nickKills <= joeKills && nickKills <= joshKills) {
    122. nickRank = 3;
    123. }
    124. if(joeKills >= nickKills && joeKills >= joshKills) {
    125. joeRank = 1;
    126. }
    127. else if(joeKills <= nickKills && joeKills >= joshKills) {
    128. joeRank = 2;
    129. }
    130. else if (joeKills >= nickKills && joeKills <= joshKills) {
    131. joeRank = 2;
    132. }
    133. else if (joeKills <= nickKills && joeKills <= joshKills) {
    134. joeRank = 3;
    135. }
    136. if(joshKills >= nickKills && joshKills >= joeKills) {
    137. joshRank = 1;
    138. }
    139. else if(joshKills <= nickKills && joshKills >= joeKills) {
    140. joshRank = 2;
    141. }
    142. else if (joshKills >= nickKills && joshKills <= joeKills) {
    143. joshRank = 2;
    144. }
    145. else if (joshKills <= nickKills && joshKills <= joeKills) {
    146. nickRank = 3;
    147. }
    148.  
    149. }
    150.  
    151. }
    152. else{
    153. if(p.getKiller().getDisplayName() == nick) {
    154.  
    155.  
    156. nickKills++;
    157. if(p.getDisplayName() == joe) {
    158.  
    159. joeDeaths++;
    160.  
    161. if(nickKills >= joeKills && nickKills >= joshKills) {
    162. nickRank = 1;
    163. }
    164. else if(nickKills >= joeKills && nickKills <= joshKills) {
    165. nickRank = 2;
    166. }
    167. else if (nickKills <= joeKills && nickKills >= joshKills) {
    168. nickRank = 2;
    169. }
    170. else if (nickKills <= joeKills && nickKills <= joshKills) {
    171. nickRank = 3;
    172. }
    173. if(joeKills >= nickKills && joeKills >= joshKills) {
    174. joeRank = 1;
    175. }
    176. else if(joeKills <= nickKills && joeKills >= joshKills) {
    177. joeRank = 2;
    178. }
    179. else if (joeKills >= nickKills && joeKills <= joshKills) {
    180. joeRank = 2;
    181. }
    182. else if (joeKills <= nickKills && joeKills <= joshKills) {
    183. joeRank = 3;
    184. }
    185. if(joshKills >= nickKills && joshKills >= joeKills) {
    186. joshRank = 1;
    187. }
    188. else if(joshKills <= nickKills && joshKills >= joeKills) {
    189. joshRank = 2;
    190. }
    191. else if (joshKills >= nickKills && joshKills <= joeKills) {
    192. joshRank = 2;
    193. }
    194. else if (joshKills <= nickKills && joshKills <= joeKills) {
    195. nickRank = 3;
    196. }
    197.  
    198. }
    199. else if(p.getDisplayName() == josh) {
    200.  
    201. joshDeaths++;
    202.  
    203.  
    204. if(nickKills >= joeKills && nickKills >= joshKills) {
    205. nickRank = 1;
    206. }
    207. else if(nickKills >= joeKills && nickKills <= joshKills) {
    208. nickRank = 2;
    209. }
    210. else if (nickKills <= joeKills && nickKills >= joshKills) {
    211. nickRank = 2;
    212. }
    213. else if (nickKills <= joeKills && nickKills <= joshKills) {
    214. nickRank = 3;
    215. }
    216. if(joeKills >= nickKills && joeKills >= joshKills) {
    217. joeRank = 1;
    218. }
    219. else if(joeKills <= nickKills && joeKills >= joshKills) {
    220. joeRank = 2;
    221. }
    222. else if (joeKills >= nickKills && joeKills <= joshKills) {
    223. joeRank = 2;
    224. }
    225. else if (joeKills <= nickKills && joeKills <= joshKills) {
    226. joeRank = 3;
    227. }
    228. if(joshKills >= nickKills && joshKills >= joeKills) {
    229. joshRank = 1;
    230. }
    231. else if(joshKills <= nickKills && joshKills >= joeKills) {
    232. joshRank = 2;
    233. }
    234. else if (joshKills >= nickKills && joshKills <= joeKills) {
    235. joshRank = 2;
    236. }
    237. else if (joshKills <= nickKills && joshKills <= joeKills) {
    238. nickRank = 3;
    239. }
    240.  
    241. }
    242. }
    243. else{
    244. if(p.getKiller().getDisplayName() == joe) {
    245.  
    246.  
    247. joeKills++;
    248. if(p.getDisplayName() == nick) {
    249.  
    250. nickDeaths++;
    251.  
    252. if(nickKills >= joeKills && nickKills >= joshKills) {
    253. nickRank = 1;
    254. }
    255. else if(nickKills >= joeKills && nickKills <= joshKills) {
    256. nickRank = 2;
    257. }
    258. else if (nickKills <= joeKills && nickKills >= joshKills) {
    259. nickRank = 2;
    260. }
    261. else if (nickKills <= joeKills && nickKills <= joshKills) {
    262. nickRank = 3;
    263. }
    264. if(joeKills >= nickKills && joeKills >= joshKills) {
    265. joeRank = 1;
    266. }
    267. else if(joeKills <= nickKills && joeKills >= joshKills) {
    268. joeRank = 2;
    269. }
    270. else if (joeKills >= nickKills && joeKills <= joshKills) {
    271. joeRank = 2;
    272. }
    273. else if (joeKills <= nickKills && joeKills <= joshKills) {
    274. joeRank = 3;
    275. }
    276. if(joshKills >= nickKills && joshKills >= joeKills) {
    277. joshRank = 1;
    278. }
    279. else if(joshKills <= nickKills && joshKills >= joeKills) {
    280. joshRank = 2;
    281. }
    282. else if (joshKills >= nickKills && joshKills <= joeKills) {
    283. joshRank = 2;
    284. }
    285. else if (joshKills <= nickKills && joshKills <= joeKills) {
    286. nickRank = 3;
    287. }
    288.  
    289. }
    290. else if(p.getDisplayName() == josh) {
    291.  
    292. joshDeaths++;
    293.  
    294.  
    295. if(nickKills >= joeKills && nickKills >= joshKills) {
    296. nickRank = 1;
    297. }
    298. else if(nickKills >= joeKills && nickKills <= joshKills) {
    299. nickRank = 2;
    300. }
    301. else if (nickKills <= joeKills && nickKills >= joshKills) {
    302. nickRank = 2;
    303. }
    304. else if (nickKills <= joeKills && nickKills <= joshKills) {
    305. nickRank = 3;
    306. }
    307. if(joeKills >= nickKills && joeKills >= joshKills) {
    308. joeRank = 1;
    309. }
    310. else if(joeKills <= nickKills && joeKills >= joshKills) {
    311. joeRank = 2;
    312. }
    313. else if (joeKills >= nickKills && joeKills <= joshKills) {
    314. joeRank = 2;
    315. }
    316. else if (joeKills <= nickKills && joeKills <= joshKills) {
    317. joeRank = 3;
    318. }
    319. if(joshKills >= nickKills && joshKills >= joeKills) {
    320. joshRank = 1;
    321. }
    322. else if(joshKills <= nickKills && joshKills >= joeKills) {
    323. joshRank = 2;
    324. }
    325. else if (joshKills >= nickKills && joshKills <= joeKills) {
    326. joshRank = 2;
    327. }
    328. else if (joshKills <= nickKills && joshKills <= joeKills) {
    329. nickRank = 3;
    330. }
    331.  
    332.  
    333.  
    334. }
    335. }
    336. }
    337.  
    338. }
    339.  
    340.  
    341. }
    342. public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
    343. Player player = (Player) sender;
    344.  
    345.  
    346. if(commandLabel.equalsIgnoreCase("pvp")){
    347.  
    348. player.sendMessage(ChatColor.LIGHT_PURPLE + "[PVP]");
    349. player.sendMessage(ChatColor.BLUE + "Here are the current stats of this game!");
    350. player.sendMessage(ChatColor.DARK_RED + "-----------------------------------------------------");
    351. player.sendMessage(ChatColor.GREEN + "Josh's Stats:");
    352. player.sendMessage(ChatColor.GREEN + "Kills: " + joshKills + " Deaths: " + joshDeaths + " Rank: " + joshRank);
    353. player.sendMessage(ChatColor.DARK_RED + "-----------------------------------------------------");
    354. player.sendMessage(ChatColor.GREEN + "Joe's Stats:");
    355. player.sendMessage(ChatColor.GREEN + "Kills: " + joeKills + " Deaths: " + joeDeaths + " Rank: " + joeRank);
    356. player.sendMessage(ChatColor.DARK_RED + "-----------------------------------------------------");
    357. player.sendMessage(ChatColor.GREEN + "Nick's Stats:");
    358. player.sendMessage(ChatColor.GREEN + "Kills: " + nickKills + " Deaths: " + nickDeaths + " Rank: " + nickRank);
    359. player.sendMessage(ChatColor.DARK_RED + "-----------------------------------------------------");
    360.  
    361.  
    362. }
    363.  
    364.  
    365. return false;
    366. }
    367.  
    368. }
    369.  
    370.  
    371.  
     
  2. Offline

    Cerberus XII

    Void_Mastery, Create a HashMap with the key String and value Integer and then keep getting and saving the value. Simple.

    EDIT:
    Code:java
    1. /**
    2. * How to create the HashMap.
    3. */
    4.  
    5. HashMap<String, Integer> playerKills = new HashMap<String, Integer>();
    6.  
    7. /**
    8. * How to set the default HashMap key and value for the player.
    9. */
    10.  
    11. playerKills.put(p.getName(), 0);
    12.  
    13. /**
    14. * How to get the current value and add to their kills.
    15. */
    16.  
    17. playerKills.put(p.getName(), playerKills.get(p.getName()) + 1);
     
  3. Offline

    Creeoer

  4. Offline

    teej107

    Registering it you mean?

    Void_Mastery To answer your question, you have to register you events. To avoid further problems.......You should also use a PlayerDeathEvent rather than EntityDeathEvent or face the ordeal of ClassCastExceptions since not every entity that dies is a Player. An alternative would to use instanceof checks but you wouldn't need to since PlayerDeathEvent is more suited for you. I also see a possible NPE because getKiller() only returns a player if the player died from a player. If not then it will return null. One more question: What's with the the long if statements?
     
  5. Offline

    Void_Mastery

    teej107 Sorry if this sounds like an incredibly nooby question, but how do I register my events?
    do I need to do implements Listener?
    Thanks all
     
  6. Offline

    teej107

Thread Status:
Not open for further replies.

Share This Page