Having problems again

Discussion in 'Plugin Development' started by Zangoran, May 31, 2014.

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

    Zangoran

    Crash report: http://pastebin.com/QjdK32Pr

    Code:
    Code:java
    1. package me.zangoran.kobaltorange.smp;
    2.  
    3. import org.bukkit.Bukkit;
    4. import org.bukkit.ChatColor;
    5. import org.bukkit.command.Command;
    6. import org.bukkit.command.CommandSender;
    7. import org.bukkit.entity.Player;
    8. import org.bukkit.event.EventHandler;
    9. import org.bukkit.event.Listener;
    10. import org.bukkit.event.player.PlayerJoinEvent;
    11. import org.bukkit.permissions.Permissible;
    12. import org.bukkit.plugin.java.JavaPlugin;
    13.  
    14. public class SMP extends JavaPlugin implements Listener {
    15.  
    16. public static boolean state = false;
    17. private int smp1;
    18.  
    19. public void onEnable1() {
    20. getLogger().info("onEnable has been enabled!");
    21. getServer().getPluginManager().registerEvents(this, this);
    22. }
    23.  
    24. @
    25. Override
    26. public void onDisable() {}
    27.  
    28. int smp = 0;
    29. public void onEnable() {
    30. getServer().getPluginManager().registerEvents(this, this);
    31. }
    32. @SuppressWarnings("null")
    33. @EventHandler
    34. public void onPlayerJoin(PlayerJoinEvent event){
    35. Permissible p = null;
    36. if (!p.hasPermission("smp.bypass"));
    37. if(smp == 1){
    38. Player player = event.getPlayer();
    39. player.kickPlayer("Kick Message");
    40. }
    41. }
    42.  
    43. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    44. if (cmd.getName().equalsIgnoreCase("smp") && sender instanceof Player) {
    45. Player player = (Player) sender;
    46. if (!player.hasPermission("smp.toggle")) {
    47. player.sendMessage(ChatColor.RED + "You are not allowed to perform this command.");
    48. return true;
    49. } else if (args.length > 0) {
    50. if (args[0].equalsIgnoreCase("on")) {
    51. smp1 = 1;
    52. for (Player p: Bukkit.getServer().getOnlinePlayers()) {
    53. if (!p.hasPermission("smp.bypass")) {
    54. p.kickPlayer("Server is under maintenance!");
    55. return true;
    56. } else {
    57. Bukkit.getLogger().info(ChatColor.RED + "[" + ChatColor.GOLD + "SMP" + ChatColor.RED + "]" + ChatColor.BLUE + " SMP has been turned" + ChatColor.DARK_GREEN + " ON");
    58. p.sendMessage(ChatColor.RED + "[" + ChatColor.GOLD + "SMP" + ChatColor.RED + "]" + ChatColor.BLUE + " SMP has been turned" + ChatColor.DARK_GREEN + " ON");
    59. }
    60. }
    61. } else if (args[0].equalsIgnoreCase("off")) {
    62. smp1 = 0;
    63. for (Player p: Bukkit.getServer().getOnlinePlayers()) {
    64. p.sendMessage(ChatColor.RED + "[" + ChatColor.GOLD + "SMP" + ChatColor.RED + "]" + ChatColor.BLUE + " SMP has been turned" + ChatColor.RED + " OFF");
    65. }
    66. return true;
    67.  
    68. } else if (args[0].equalsIgnoreCase("status")) {
    69. for (Player p: Bukkit.getServer().getOnlinePlayers()) {
    70. p.sendMessage(ChatColor.RED + "[" + ChatColor.GOLD + "SMP" + ChatColor.RED + "]" + " " + ChatColor.RED + ChatColor.BOLD + smp1 + ChatColor.GOLD + " 0 = OFF, 1 = ON");
    71. }
    72. return true;
    73. } else if (args[0].equalsIgnoreCase("reload")) {
    74. if (player.hasPermission("smp.reload")) {
    75. this.reloadConfig();
    76. player.sendMessage(ChatColor.RED + "[" + ChatColor.GOLD + "SMP" + ChatColor.RED + "]" + ChatColor.DARK_RED + " SMP reloaded!");
    77. Bukkit.getLogger().info(ChatColor.RED + "[" + ChatColor.GOLD + "SMP" + ChatColor.RED + "]" + ChatColor.DARK_RED + " SMP reloaded!");
    78. return true;
    79. }
    80. }
    81. } else {
    82. return false;
    83. }
    84. } else {
    85. return true;
    86. }
    87.  
    88. return true;
    89. }
    90.  
    91. }
    92.  
    93.  
    94.  
    95.  
    96.  
    97.  
    98.  


    Plugin.yml:
    Code:
    name: SMP
    main: me.zangoran.kobaltorange.smp.SMP
    version: 1.0
    author: Zangoran
     
    commands:
      smp:
        description: Kicks every player when they join unless they have the smp.bypass permission!
        usage: "Error! Perhaps you meant /smp <command>"
        permission-message: "&kI&4[&6SMP&4]&2You do not have &6permission &4to do this! &c(&d<permission>&c)&kI"
     
    permissions:
      smp.*:
        description: Gives access to all commands
        children:
          smp.toggle: true
          smp.bypass: true
          smp.kickmsg: true
      smp.toggle:
        description: "Allows you to toggle /smp on|off|status|reload"
        default: op
      smp.bypass:
        description: Allows you to not be kicked when smp is active
        default: op
      smp.reload:
        description: Allows you to reload the config
        default: op
    So I know it somewhat works because when a player join the crash happens.
     
  2. Offline

    CraftCreeper6

    Line 36 you forgot a { on the end instead you put a ;
     
  3. Offline

    Zangoran

    CraftCreeper6
    Code:
    [20:47:32 ERROR]: Could not pass event PlayerJoinEvent to SMP v1.0
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:294) ~[craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.
    9-R0.1-2-g1e4dcde-b3086jnks]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-
    R0.1-2-g1e4dcde-b3086jnks]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.
    9-R0.1-2-g1e4dcde-b3086jnks]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.
    9-R0.1-2-g1e4dcde-b3086jnks]
            at net.minecraft.server.v1_7_R3.PlayerList.c(PlayerList.java:251) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.1-2-g1e4dc
    de-b3086jnks]
            at net.minecraft.server.v1_7_R3.PlayerList.a(PlayerList.java:138) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.1-2-g1e4dc
    de-b3086jnks]
            at net.minecraft.server.v1_7_R3.LoginListener.c(LoginListener.java:76) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.1-2-g
    1e4dcde-b3086jnks]
            at net.minecraft.server.v1_7_R3.LoginListener.a(LoginListener.java:42) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.1-2-g
    1e4dcde-b3086jnks]
            at net.minecraft.server.v1_7_R3.NetworkManager.a(NetworkManager.java:160) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.1-
    2-g1e4dcde-b3086jnks]
            at net.minecraft.server.v1_7_R3.ServerConnection.c(SourceFile:134) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.1-2-g1e4d
    cde-b3086jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:667) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.
    1-2-g1e4dcde-b3086jnks]
            at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:260) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.
    1-2-g1e4dcde-b3086jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:558) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.
    1-2-g1e4dcde-b3086jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:469) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R
    0.1-2-g1e4dcde-b3086jnks]
            at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.
    1-2-g1e4dcde-b3086jnks]
    Caused by: java.lang.NullPointerException
            at me.zangoran.kobaltorange.smp.SMP.onPlayerJoin(SMP.java:36) ~[?:?]
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_55]
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_55]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_55]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_55]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:292) ~[craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.
    9-R0.1-2-g1e4dcde-b3086jnks]
            ... 14 more
    Didn't work above is the crash report

    CODE:
    Code:java
    1. package me.zangoran.kobaltorange.smp;
    2.  
    3. import org.bukkit.Bukkit;
    4. import org.bukkit.ChatColor;
    5. import org.bukkit.command.Command;
    6. import org.bukkit.command.CommandSender;
    7. import org.bukkit.entity.Player;
    8. import org.bukkit.event.EventHandler;
    9. import org.bukkit.event.Listener;
    10. import org.bukkit.event.player.PlayerJoinEvent;
    11. import org.bukkit.permissions.Permissible;
    12. import org.bukkit.plugin.java.JavaPlugin;
    13.  
    14. public class SMP extends JavaPlugin implements Listener {
    15.  
    16. public static boolean state = false;
    17. private int smp1;
    18.  
    19. public void onEnable1() {
    20. getLogger().info("onEnable has been enabled!");
    21. getServer().getPluginManager().registerEvents(this, this);
    22. }
    23.  
    24. @
    25. Override
    26. public void onDisable() {}
    27.  
    28. int smp = 0;
    29. public void onEnable() {
    30. getServer().getPluginManager().registerEvents(this, this);
    31. }
    32. @SuppressWarnings("null")
    33. @EventHandler
    34. public void onPlayerJoin(PlayerJoinEvent event){
    35. Permissible p = null;
    36. if (!p.hasPermission("smp.bypass")){
    37. if(smp == 1){
    38. Player player = event.getPlayer();
    39. player.kickPlayer("Kick Message");
    40. }
    41. else {
    42.  
    43. }
    44. }
    45. }
    46.  
    47. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    48. if (cmd.getName().equalsIgnoreCase("smp") && sender instanceof Player) {
    49. Player player = (Player) sender;
    50. if (!player.hasPermission("smp.toggle")) {
    51. player.sendMessage(ChatColor.RED + "You are not allowed to perform this command.");
    52. return true;
    53. } else if (args.length > 0) {
    54. if (args[0].equalsIgnoreCase("on")) {
    55. smp1 = 1;
    56. for (Player p: Bukkit.getServer().getOnlinePlayers()) {
    57. if (!p.hasPermission("smp.bypass")) {
    58. p.kickPlayer("Server is under maintenance!");
    59. return true;
    60. } else {
    61. Bukkit.getLogger().info(ChatColor.RED + "[" + ChatColor.GOLD + "SMP" + ChatColor.RED + "]" + ChatColor.BLUE + " SMP has been turned" + ChatColor.DARK_GREEN + " ON");
    62. p.sendMessage(ChatColor.RED + "[" + ChatColor.GOLD + "SMP" + ChatColor.RED + "]" + ChatColor.BLUE + " SMP has been turned" + ChatColor.DARK_GREEN + " ON");
    63. }
    64. }
    65. } else if (args[0].equalsIgnoreCase("off")) {
    66. smp1 = 0;
    67. for (Player p: Bukkit.getServer().getOnlinePlayers()) {
    68. p.sendMessage(ChatColor.RED + "[" + ChatColor.GOLD + "SMP" + ChatColor.RED + "]" + ChatColor.BLUE + " SMP has been turned" + ChatColor.RED + " OFF");
    69. }
    70. return true;
    71.  
    72. } else if (args[0].equalsIgnoreCase("status")) {
    73. for (Player p: Bukkit.getServer().getOnlinePlayers()) {
    74. p.sendMessage(ChatColor.RED + "[" + ChatColor.GOLD + "SMP" + ChatColor.RED + "]" + " " + ChatColor.RED + ChatColor.BOLD + smp1 + ChatColor.GOLD + " 0 = OFF, 1 = ON");
    75. }
    76. return true;
    77. } else if (args[0].equalsIgnoreCase("reload")) {
    78. if (player.hasPermission("smp.reload")) {
    79. this.reloadConfig();
    80. player.sendMessage(ChatColor.RED + "[" + ChatColor.GOLD + "SMP" + ChatColor.RED + "]" + ChatColor.DARK_RED + " SMP reloaded!");
    81. Bukkit.getLogger().info(ChatColor.RED + "[" + ChatColor.GOLD + "SMP" + ChatColor.RED + "]" + ChatColor.DARK_RED + " SMP reloaded!");
    82. return true;
    83. }
    84. }
    85. } else {
    86. return false;
    87. }
    88. } else {
    89. return true;
    90. }
    91.  
    92. return true;
    93. }
    94.  
    95. }
    96.  
    97.  
    98.  
    99.  
    100.  
    101.  
    102.  


    plugin.yml: same as above
     
  4. Offline

    es359


    Code:java
    1. Permissible p = null;
    2.  
    3. if(!p.hasPermission("smp.bypass")) {
    4.  
    5. }



    You have giving the variable p a value of null...
     
  5. Offline

    JaguarJo

Thread Status:
Not open for further replies.

Share This Page