Help With KitPvP Plugin

Discussion in 'Plugin Development' started by candyfloss20, Apr 12, 2014.

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

    candyfloss20

    Im Makeing a KitPvP Plugin but i keep getting this error:
    dose anyone know how i can fix this ?

    Code:
    [16:30:36 ERROR]: Could not load 'plugins/PlagueKitPvP(V1.0).jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.ExceptionInInitializerError
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:137) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:313) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:236) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugins(CraftServer.java:350) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at org.bukkit.craftbukkit.v1_7_R1.CraftServer.reload(CraftServer.java:771) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at org.bukkit.Bukkit.reload(Bukkit.java:279) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:175) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:683) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at net.minecraft.server.v1_7_R1.PlayerConnection.handleCommand(PlayerConnection.java:952) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:814) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at net.minecraft.server.v1_7_R1.PacketPlayInChat.a(PacketPlayInChat.java:28) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at net.minecraft.server.v1_7_R1.PacketPlayInChat.handle(PacketPlayInChat.java:47) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    Caused by: java.lang.ExceptionInInitializerError
    at java.lang.Class.forName0(Native Method) ~[?:1.7.0_51]
    at java.lang.Class.forName(Class.java:270) ~[?:1.7.0_51]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:40) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    ... 19 more
    Caused by: java.lang.IllegalArgumentException: Title cannot be longer than 32 characters
    at org.apache.commons.lang.Validate.isTrue(Validate.java:157) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at org.bukkit.craftbukkit.v1_7_R1.inventory.CraftInventoryCustom$MinecraftInventory.<init>(CraftInventoryCustom.java:48) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at org.bukkit.craftbukkit.v1_7_R1.inventory.CraftInventoryCustom.<init>(CraftInventoryCustom.java:26) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at org.bukkit.craftbukkit.v1_7_R1.CraftServer.createInventory(CraftServer.java:1472) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at org.bukkit.Bukkit.createInventory(Bukkit.java:588) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at me.candyfloss20.PlaguekitPvP.Main.<clinit>(Main.java:21) ~[?:?]
    at java.lang.Class.forName0(Native Method) ~[?:1.7.0_51]
    at java.lang.Class.forName(Class.java:270) ~[?:1.7.0_51]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:40) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    ... 19 more
    this is what i have so far :

    Main class:
    Code:java
    1. package me.candyfloss20.PlaguekitPvP;
    2.  
    3. import org.bukkit.Bukkit;
    4. import org.bukkit.command.Command;
    5. import org.bukkit.command.CommandSender;
    6. import org.bukkit.entity.Player;
    7. import org.bukkit.event.EventHandler;
    8. import org.bukkit.event.EventPriority;
    9. import org.bukkit.event.Listener;
    10. import org.bukkit.event.block.BlockBreakEvent;
    11. import org.bukkit.event.block.BlockPlaceEvent;
    12. import org.bukkit.event.block.LeavesDecayEvent;
    13. import org.bukkit.event.entity.EntityDamageEvent;
    14. import org.bukkit.inventory.Inventory;
    15. import org.bukkit.plugin.java.JavaPlugin;
    16. import org.bukkit.potion.PotionEffect;
    17. import org.bukkit.potion.PotionEffectType;
    18.  
    19.  
    20. public class Main extends JavaPlugin implements Listener {
    21. public static Inventory kits = Bukkit.createInventory(null, 18, "§aKit Menu");
    22.  
    23.  
    24. //Resisting Events!
    25. @Override
    26. public void onEnable() {
    27. getServer().getPluginManager().registerEvents(this, this);
    28. getServer().getPluginManager().registerEvents(new Messages(), this);
    29. getServer().getPluginManager().registerEvents(new GUI(), this);
    30. getServer().getPluginManager().registerEvents(new GUIitems(), this);
    31. }
    32.  
    33. @Override
    34. public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
    35. Player player = (Player) sender;
    36. if (command.getName().equalsIgnoreCase("help")) {
    37. sender.sendMessage("§6Plague §4KitPvP§5§l> §aKitPvP Help Commands!");
    38. sender.sendMessage("§6Plague §4KitPvP§5§l> §6/kit §5-- §aShows the help commands for KitPvP");
    39. sender.sendMessage("§6Plague §4KitPvP§5§l> §6/kits §5-- §aOpens kit selector GUI");
    40. sender.sendMessage("§6Plague §4KitPvP§5§l> §6/stats §5-- §aShows your stats");
    41. sender.sendMessage("§6Plague §4KitPvP§5§l> §aKitPvP Help Commands!");
    42. }
    43. else if (command.getName().equalsIgnoreCase("kit")) {
    44. sender.sendMessage("§6Plague §4KitPvP§5§l> §aKitPvP Help Commands!");
    45. sender.sendMessage("§6Plague §4KitPvP§5§l> §6/kit §5-- §aShows the help commands for KitPvP");
    46. sender.sendMessage("§6Plague §4KitPvP§5§l> §6/kits §5-- §aOpens kit selector GUI");
    47. sender.sendMessage("§6Plague §4KitPvP§5§l> §6/stats §5-- §aShows your stats");
    48. sender.sendMessage("§6Plague §4KitPvP§5§l> §aKitPvP Help Commands!");
    49. }
    50. else if (command.getName().equalsIgnoreCase("kits")) {
    51. player.openInventory(kits);
    52. sender.sendMessage("§6Plague §4KitPvP§5§l> §5Opening Kit Selector GUI...");
    53. }
    54.  
    55. return true;
    56. }
    57. //Stop Block Smashing//
    58. @EventHandler
    59. public void onBlockSmash(BlockBreakEvent event) {
    60. Player player = event.getPlayer();
    61.  
    62. player.sendMessage("§6Plague §4KitPvP§5§l> §4Block Glitching Detected! Attempt LOGGED!");
    63. player.addPotionEffect(new PotionEffect(PotionEffectType.HARM, 8 , 1));
    64. event.setCancelled(true);
    65.  
    66. }
    67. //Stop Block Placing//
    68. @EventHandler
    69. public void onBlockPlace(BlockPlaceEvent event) {
    70. Player player = event.getPlayer();
    71.  
    72. player.sendMessage("§6Plague §4KitPvP§5§l> §4Block Glitching Detected! Attempt LOGGED!");
    73. player.addPotionEffect(new PotionEffect(PotionEffectType.HARM, 4 , 1));
    74. event.setCancelled(true);
    75. }
    76. //Stop leaf diapering//
    77. @EventHandler
    78. public void Leaf(LeavesDecayEvent event) {
    79. event.setCancelled(true);
    80. }
    81. //Stops Fall Damage!//
    82. @EventHandler(priority = EventPriority.HIGHEST)
    83. public void onPlayerDamage(EntityDamageEvent event) {
    84. if(event.getCause() == EntityDamageEvent.DamageCause.FALL){
    85. event.setCancelled(true);
    86. }
    87. }
    88. }
    89.  
    90.  


    Messages class:

    Code:java
    1. package me.candyfloss20.PlaguekitPvP;
    2.  
    3. import me.confuser.barapi.BarAPI;
    4. import org.bukkit.Bukkit;
    5. import org.bukkit.Location;
    6. import org.bukkit.World;
    7. import org.bukkit.entity.Player;
    8. import org.bukkit.event.EventHandler;
    9. import org.bukkit.event.Listener;
    10. import org.bukkit.event.entity.PlayerDeathEvent;
    11. import org.bukkit.event.player.PlayerJoinEvent;
    12. import org.bukkit.event.player.PlayerQuitEvent;
    13. import org.bukkit.potion.PotionEffect;
    14.  
    15.  
    16. public class Messages implements Listener {
    17.  
    18. World world = Bukkit.getServer().getWorld("world");
    19.  
    20. Location lobby = new Location(world, 835.53955, 70.000, 553.48403);
    21.  
    22. //Player Joining Event//
    23. //Tp's to Lobby//
    24. //Sends Messages//
    25. //Sets A Join Messahe//
    26. @EventHandler
    27. public void onJoin(PlayerJoinEvent event) {
    28. Player player = event.getPlayer();
    29.  
    30. event.setJoinMessage("§6Plague §4KitPvP§5§l> §a" + player.getDisplayName() + " §bJoined §6the server! ");
    31. BarAPI.setMessage("§6Playing: §4KitPvP §aOn Map: §5Wilted Grove");
    32. player.sendMessage("§6Plague §4KitPvP§5§l> §aTo The Lobby We GO! §5WHOOSH!");
    33. player.sendMessage("§6Plague §4KitPvP§5§l> §aOnline Victims: §b" + Bukkit.getServer().getOnlinePlayers().length);
    34. player.sendMessage("§6Plague §4KitPvP§5§l> §aMap By: §5JeremyTyler, Creepy_Crawler, Swordz_");
    35. player.sendMessage("§6Plague §4KitPvP§5§l> §aLink: §5http://bit.ly/1eyi9dd");
    36. }
    37.  
    38. @EventHandler
    39. public void onOuit(PlayerQuitEvent event) {
    40. Player player = event.getPlayer();
    41. event.setQuitMessage("§6Plague §4KitPvP§5§l> §a" + player.getDisplayName() + " §4Left §6the server! ");
    42. }
    43.  
    44. @EventHandler
    45. public void onDeath(PlayerDeathEvent event) {
    46. Player player = event.getEntity().getPlayer();
    47. for (PotionEffect effect : player.getActivePotionEffects())
    48. player.removePotionEffect(effect.getType());
    49. }
    50. }


    GUI Class:

    Code:java
    1. package me.candyfloss20.PlaguekitPvP;
    2. import org.bukkit.Bukkit;
    3. import org.bukkit.Material;
    4. import org.bukkit.entity.Player;
    5. import org.bukkit.event.EventHandler;
    6. import org.bukkit.event.Listener;
    7. import org.bukkit.event.inventory.InventoryClickEvent;
    8. import org.bukkit.inventory.Inventory;
    9. import org.bukkit.inventory.ItemStack;
    10. public class GUI extends Main implements Listener {
    11. @EventHandler
    12. public void onInventoryClick(InventoryClickEvent event) {
    13. Player player = (Player) event.getWhoClicked();
    14. ItemStack clicked = event.getCurrentItem();
    15. Inventory inventory = event.getInventory();
    16. if (inventory.getName().equals(kits.getName())) {
    17. //SwordsMan Kit
    18. if (clicked.getType() == Material.WOOD_SWORD) {
    19. event.setCancelled(true);
    20. player.closeInventory();
    21. //Give Them the items
    22. }
    23. //Archer Kit
    24. else if (clicked.getType() == Material.BOW) {
    25. event.setCancelled(true);
    26. player.closeInventory();
    27. //Give them the items
    28. }
    29. }
    30. }
    31. }


    GUIitems class:

    Code:java
    1.  
    2. package me.candyfloss20.PlaguekitPvP;
    3. import org.bukkit.Material;
    4. import org.bukkit.event.Listener;
    5. import org.bukkit.inventory.ItemStack;
    6. public class GUIitems extends Main implements Listener {
    7. static {
    8. kits.setItem(0, new ItemStack(Material.WOOD_SWORD, 1));
    9. kits.setItem(8, new ItemStack(Material.BOW, 1));
    10. }
    11. }


    Code:
    Plugin.yml:
     
    name: Plague KitPvP
    version: 1.0
    description: This plugin for the Plaguecraft KitPvP server(s).
    main: me.candyfloss20.PlaguekitPvP.Main
    depend: [BarAPI]
    commands:
    help:
    description: kit help for plaguecraft kitpvp.
    kit:
    description: kit help for plaguecraft kitpvp.
    kits:
    description: opens kits GUI !.
     
  2. Offline

    DrTURTLE2

    Use the "Code" feature.
     
  3. Offline

    candyfloss20

  4. Offline

    DrTURTLE2


    You edited it.
     
  5. Your Inventory title must be less than 32 chars, including Chatcolors.
     
  6. Offline

    candyfloss20

    KingFaris11
    its not more than 32 its only this
    Code:java
    1. "§aKit Menu"
     
  7. Offline

    Onlineids

    It says it is change it to ChatColor.Green + "Kit Menu"
    Don't know if that will work but thats the same color
     
    KingFaris11 likes this.
  8. That may work. Although, candyfloss20, initialize the inventory inside the onEnable() to ensure it's being loaded correctly.
     
    Banana_Coder likes this.
  9. Offline

    candyfloss20

    Thanks, Onlineids and KingFaris11
    the plugin works fine it was reading it as ChatColor.GREEN :) Should of guessed that wow
    so thanks know I can carry on with the plugin development
     
    KingFaris11 likes this.
Thread Status:
Not open for further replies.

Share This Page