My plugin wont work with my bukkit server

Discussion in 'Plugin Development' started by MinecraftMart, Mar 25, 2014.

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

    MinecraftMart

    My plugin works when i put it in an empty plugin map. But when i put it with others i get this Error
    Code:
    [13:20:15] [Server thread/ERROR]: Could not load'plugins/WizardsTheBest-0.0.1-SNAPSHOT.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.IllegalArgumentException: File cannot be null
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:182) ~[craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:308) ~[craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:231) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugins(CraftServer.java:255) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at org.bukkit.craftbukkit.v1_7_R1.CraftServer.reload(CraftServer.java:628) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at org.bukkit.Bukkit.reload(Bukkit.java:279) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:196) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:542) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at net.minecraft.server.v1_7_R1.PlayerConnection.handleCommand(PlayerConnection.java:932) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:814) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at net.minecraft.server.v1_7_R1.PacketPlayInChat.a(PacketPlayInChat.java:28) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at net.minecraft.server.v1_7_R1.PacketPlayInChat.handle(PacketPlayInChat.java:47) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    Caused by: java.lang.IllegalArgumentException: File cannot be null
    at org.apache.commons.lang.Validate.notNull(Validate.java:203) ~[craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(YamlConfiguration.java:171) ~[craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at org.bukkit.plugin.java.JavaPlugin.reloadConfig(JavaPlugin.java:118) ~[craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at org.bukkit.plugin.java.JavaPlugin.getConfig(JavaPlugin.java:112) ~[craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    at com.outlook.mcpkmart.wizardsthebest.WizardsTheBest.<init>(WizardsTheBest.java:42) ~[?:?]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.7.0_40]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[?:1.7.0_40]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.7.0_40]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[?:1.7.0_40]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:178) ~[craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    ... 19 more
    Main class
    Code:java
    1. package com.outlook.mcpkmart.wizardsthebest;
    2.  
    3. import java.io.File;
    4. import java.util.ArrayList;
    5. import java.util.HashMap;
    6. import java.util.Random;
    7.  
    8. import org.bukkit.Bukkit;
    9. import org.bukkit.ChatColor;
    10. import org.bukkit.command.Command;
    11. import org.bukkit.command.CommandSender;
    12. import org.bukkit.entity.Player;
    13. import org.bukkit.plugin.java.JavaPlugin;
    14. import org.bukkit.potion.PotionEffect;
    15. import org.bukkit.potion.PotionEffectType;
    16. import org.bukkit.scheduler.BukkitRunnable;
    17.  
    18. public class WizardsTheBest extends JavaPlugin {
    19.  
    20. private Random r;
    21. private HashMap<Player, Integer> cooldownTime;
    22. private HashMap<Player, BukkitRunnable> cooldownTask;
    23.  
    24. @Override
    25. public void onEnable() {
    26. if(!new File(this.getDataFolder(), "config.yml").exists()){
    27. this.saveDefaultConfig();
    28. }
    29. cooldownTime = new HashMap<Player, Integer>();
    30. cooldownTask = new HashMap<Player, BukkitRunnable>();
    31. r = new Random();
    32. }
    33.  
    34. @Override
    35. public void onDisable() {
    36.  
    37. }
    38.  
    39.  
    40.  
    41. //Configs
    42. public int regentime = getConfig().getInt("regentime");
    43. public int regeneffectiveness = getConfig().getInt("regeneffectiveness");
    44.  
    45. public int hastetime = getConfig().getInt("hastetime");
    46. public int hasteeffectiveness = getConfig().getInt("hasteeffectiveness");
    47.  
    48. public int speedtime = getConfig().getInt("hastetime");
    49. public int speedeffectiveness = getConfig().getInt("hasteeffectiveness");
    50.  
    51. public int damagetime = getConfig().getInt("damagetime");
    52. public int damageeffectiveness = getConfig().getInt("damageeffectiveness");
    53.  
    54. public int jumptime = getConfig().getInt("jumptime");
    55. public int jumpeffectiveness = getConfig().getInt("jumpeffectiveness");
    56.  
    57. public int resistancetime = getConfig().getInt("resistancetime");
    58. public int resistanceeffectiveness = getConfig().getInt("resistanceeffectiveness");
    59.  
    60. public int absorptiontime = getConfig().getInt("absorptiontime");
    61. public int absorptioneffectiveness = getConfig().getInt("absorptioneffectiveness");
    62.  
    63. public int fireresistancetime = getConfig().getInt("fireresistancetime");
    64. public int fireresistanceeffectiveness = getConfig().getInt("fireresistanceeffectiveness");
    65.  
    66. public int invisibilitytime = getConfig().getInt("invisibilitytime");
    67. public int invisibilityeffectiveness = getConfig().getInt("invisibilityeffectiveness");
    68.  
    69. public int nighttime = getConfig().getInt("nighttime");
    70. public int nighteffectiveness = getConfig().getInt("nighteffectiveness");
    71.  
    72. public int watertime = getConfig().getInt("watertime");
    73. public int watereffectiveness = getConfig().getInt("watereffectiveness");
    74.  
    75. public int countdown = getConfig().getInt("countdowntime");
    76. //Regen
    77. @Override
    78. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    79. final Player p = (Player)sender;
    80. if (cmd.getName().equalsIgnoreCase("wregen")) {
    81. if (cooldownTime.containsKey(p)) {
    82. p.sendMessage(ChatColor.RED + "You must wait for " + cooldownTime.get(p) + " seconds.");
    83. return true;}
    84. p.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, regentime, regeneffectiveness));
    85. p.sendMessage(ChatColor.GREEN + "You used magic for Regeneration!");
    86. cooldownTime.put(p, countdown);
    87. cooldownTask.put(p, new BukkitRunnable() {
    88. public void run() {
    89. cooldownTime.put(p, cooldownTime.get(p) - 1);
    90. if (cooldownTime.get(p) == 0) {
    91. cooldownTime.remove(p);
    92. cooldownTask.remove(p);
    93. cancel();
    94. }
    95. }
    96. });
    97. cooldownTask.get(p).runTaskTimer(this, 20, 20);
    98. return true;
    99. }
    100.  
    101. else if (cmd.getName().equalsIgnoreCase("whaste")) {
    102. if (cooldownTime.containsKey(p)) {
    103. p.sendMessage(ChatColor.RED + "You must wait for " + cooldownTime.get(p) + " seconds.");
    104. return true;}
    105. p.addPotionEffect(new PotionEffect(PotionEffectType.FAST_DIGGING, hastetime, hasteeffectiveness));
    106. p.sendMessage(ChatColor.GREEN + "You used magic for Mining Speed!");
    107. cooldownTime.put(p, countdown);
    108. cooldownTask.put(p, new BukkitRunnable() {
    109. public void run() {
    110. cooldownTime.put(p, cooldownTime.get(p) - 1);
    111. if (cooldownTime.get(p) == 0) {
    112. cooldownTime.remove(p);
    113. cooldownTask.remove(p);
    114. cancel();
    115. }
    116. }
    117. });
    118. cooldownTask.get(p).runTaskTimer(this, 20, 20);
    119. return true;
    120. }
    121.  
    122.  
    123. else if (cmd.getName().equalsIgnoreCase("wspeed")) {
    124. if (cooldownTime.containsKey(p)) {
    125. p.sendMessage(ChatColor.RED + "You must wait for " + cooldownTime.get(p) + " seconds.");
    126. return true;}
    127. p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, speedtime, speedeffectiveness));
    128. p.sendMessage(ChatColor.GREEN + "You used magic for Extra Speed!");
    129. cooldownTime.put(p, countdown);
    130. cooldownTask.put(p, new BukkitRunnable() {
    131. public void run() {
    132. cooldownTime.put(p, cooldownTime.get(p) - 1);
    133. if (cooldownTime.get(p) == 0) {
    134. cooldownTime.remove(p);
    135. cooldownTask.remove(p);
    136. cancel();
    137. }
    138. }
    139. });
    140. cooldownTask.get(p).runTaskTimer(this, 20, 20);
    141. return true;
    142. }
    143. else if (cmd.getName().equalsIgnoreCase("wdamage")) {
    144. if (cooldownTime.containsKey(p)) {
    145. p.sendMessage(ChatColor.RED + "You must wait for " + cooldownTime.get(p) + " seconds.");
    146. return true;}
    147. p.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, damagetime, damageeffectiveness));
    148. p.sendMessage(ChatColor.GREEN + "You used magic for Extra Damage!");
    149. cooldownTime.put(p, countdown);
    150. cooldownTask.put(p, new BukkitRunnable() {
    151. public void run() {
    152. cooldownTime.put(p, cooldownTime.get(p) - 1);
    153. if (cooldownTime.get(p) == 0) {
    154. cooldownTime.remove(p);
    155. cooldownTask.remove(p);
    156. cancel();
    157. }
    158. }
    159. });
    160. cooldownTask.get(p).runTaskTimer(this, 20, 20);
    161. return true;
    162. }
    163. else if (cmd.getName().equalsIgnoreCase("wjump")) {
    164. if (cooldownTime.containsKey(p)) {
    165. p.sendMessage(ChatColor.RED + "You must wait for " + cooldownTime.get(p) + " seconds.");
    166. return true;}
    167. p.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, jumptime, jumpeffectiveness));
    168. p.sendMessage(ChatColor.GREEN + "You used magic for Higher Jumps!");
    169. cooldownTime.put(p, countdown);
    170. cooldownTask.put(p, new BukkitRunnable() {
    171. public void run() {
    172. cooldownTime.put(p, cooldownTime.get(p) - 1);
    173. if (cooldownTime.get(p) == 0) {
    174. cooldownTime.remove(p);
    175. cooldownTask.remove(p);
    176. cancel();
    177. }
    178. }
    179. });
    180. cooldownTask.get(p).runTaskTimer(this, 20, 20);
    181. return true;
    182. }
    183. else if (cmd.getName().equalsIgnoreCase("wresistance")) {
    184. if (cooldownTime.containsKey(p)) {
    185. p.sendMessage(ChatColor.RED + "You must wait for " + cooldownTime.get(p) + " seconds.");
    186. return true;}
    187. p.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, resistancetime, resistanceeffectiveness));
    188. p.sendMessage(ChatColor.GREEN + "You used magic for Damage Resistance!");
    189. cooldownTime.put(p, countdown);
    190. cooldownTask.put(p, new BukkitRunnable() {
    191. public void run() {
    192. cooldownTime.put(p, cooldownTime.get(p) - 1);
    193. if (cooldownTime.get(p) == 0) {
    194. cooldownTime.remove(p);
    195. cooldownTask.remove(p);
    196. cancel();
    197. }
    198. }
    199. });
    200. cooldownTask.get(p).runTaskTimer(this, 20, 20);
    201. return true;
    202. }
    203. else if (cmd.getName().equalsIgnoreCase("wabsorption")) {
    204. if (cooldownTime.containsKey(p)) {
    205. p.sendMessage(ChatColor.RED + "You must wait for " + cooldownTime.get(p) + " seconds.");
    206. return true;}
    207. p.addPotionEffect(new PotionEffect(PotionEffectType.ABSORPTION, absorptiontime, absorptioneffectiveness));
    208. p.sendMessage(ChatColor.GREEN + "You used magic for Extra Hearts!");
    209. cooldownTime.put(p, countdown);
    210. cooldownTask.put(p, new BukkitRunnable() {
    211. public void run() {
    212. cooldownTime.put(p, cooldownTime.get(p) - 1);
    213. if (cooldownTime.get(p) == 0) {
    214. cooldownTime.remove(p);
    215. cooldownTask.remove(p);
    216. cancel();
    217. }
    218. }
    219. });
    220. cooldownTask.get(p).runTaskTimer(this, 20, 20);
    221.  
    222. return true;
    223. }
    224. else if (cmd.getName().equalsIgnoreCase("wfireresistance")) {
    225. if (cooldownTime.containsKey(p)) {
    226. p.sendMessage(ChatColor.RED + "You must wait for " + cooldownTime.get(p) + " seconds.");
    227. return true;}
    228. p.addPotionEffect(new PotionEffect(PotionEffectType.FIRE_RESISTANCE, fireresistancetime, fireresistanceeffectiveness));
    229. p.sendMessage(ChatColor.GREEN + "You used magic for Fire Resistance");
    230. cooldownTime.put(p, countdown);
    231. cooldownTask.put(p, new BukkitRunnable() {
    232. public void run() {
    233. cooldownTime.put(p, cooldownTime.get(p) - 1);
    234. if (cooldownTime.get(p) == 0) {
    235. cooldownTime.remove(p);
    236. cooldownTask.remove(p);
    237. cancel();
    238. }
    239. }
    240. });
    241. cooldownTask.get(p).runTaskTimer(this, 20, 20);
    242. return true;
    243. }
    244. else if (cmd.getName().equalsIgnoreCase("winvisibility")) {
    245. if (cooldownTime.containsKey(p)) {
    246. p.sendMessage(ChatColor.RED + "You must wait for " + cooldownTime.get(p) + " seconds.");
    247. return true;}
    248. p.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, invisibilitytime, invisibilityeffectiveness));
    249. p.sendMessage(ChatColor.GREEN + "You used magic for Invisibility!");
    250. cooldownTime.put(p, countdown);
    251. cooldownTask.put(p, new BukkitRunnable() {
    252. public void run() {
    253. cooldownTime.put(p, cooldownTime.get(p) - 1);
    254. if (cooldownTime.get(p) == 0) {
    255. cooldownTime.remove(p);
    256. cooldownTask.remove(p);
    257. cancel();
    258. }
    259. }
    260. });
    261. cooldownTask.get(p).runTaskTimer(this, 20, 20);
    262. ;
    263. return true;
    264. }
    265. else if (cmd.getName().equalsIgnoreCase("wnight")) {
    266. if (cooldownTime.containsKey(p)) {
    267. p.sendMessage(ChatColor.RED + "You must wait for " + cooldownTime.get(p) + " seconds.");
    268. return true;}
    269. p.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, nighttime, nighteffectiveness));
    270. p.sendMessage(ChatColor.GREEN + "You used magic for Vision at Night!");
    271. cooldownTime.put(p, countdown);
    272. cooldownTask.put(p, new BukkitRunnable() {
    273. public void run() {
    274. cooldownTime.put(p, cooldownTime.get(p) - 1);
    275. if (cooldownTime.get(p) == 0) {
    276. cooldownTime.remove(p);
    277. cooldownTask.remove(p);
    278. cancel();
    279. }
    280. }
    281. });
    282. cooldownTask.get(p).runTaskTimer(this, 20, 20);
    283. return true;
    284. }
    285. else if (cmd.getName().equalsIgnoreCase("wwater")) {
    286. if (cooldownTime.containsKey(p)) {
    287. p.sendMessage(ChatColor.RED + "You must wait for " + cooldownTime.get(p) + " seconds.");
    288. return true;}
    289. p.addPotionEffect(new PotionEffect(PotionEffectType.WATER_BREATHING, watertime, watereffectiveness));
    290. p.sendMessage(ChatColor.GREEN + "You used magic for Waterbreathing!");
    291. cooldownTime.put(p, countdown);
    292. cooldownTask.put(p, new BukkitRunnable() {
    293. public void run() {
    294. cooldownTime.put(p, cooldownTime.get(p) - 1);
    295. if (cooldownTime.get(p) == 0) {
    296. cooldownTime.remove(p);
    297. cooldownTask.remove(p);
    298. cancel();
    299. }
    300. }
    301. });
    302.  
    303. return true;
    304. }
    305. return false;
    306. }
    307.  
    308.  
    309.  
    310. }
    311.  


    Pls help it would be cool if my own made plugin would work on our server

    Thx!
     
  2. Offline

    2MBKindiegames

    Are you sure you included a valid plugin.yml in your jar file and the arguments match?
     
  3. Offline

    PogoStick29

    The stack trace says that it is attempting to load the plugin.yml or config.yml and the file is null. Where are you keeping the file in question? The src folder?
     
Thread Status:
Not open for further replies.

Share This Page