Events [UNSOLVED]

Discussion in 'Plugin Development' started by benzimmer123, Apr 16, 2014.

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

    benzimmer123

    I have tried to code an event plugin, everything appears to be working so far. However when the number is equals 0 in my code... Nothing happens! I have added debug messages and it only gets to debug message 2. This is how I add players to the list and this is my piece of code that doesn't work. No errors are displayed in console.

    Thanks in advance! ;)

    ERROR:

    Code:java
    1. if (args.length == 0 || args.length == 1 || (args.length > 2)) {
    2. p.sendMessage(ChatColor.RED + "Usage: /event <jug, tntrun or ko> <prize>");
    3. return true;
    4. }
    5. if (!p.hasPermission("Admin.*")) {
    6. p.sendMessage(ChatColor.RED + "You don't have permission. Ask an admin to host events.");
    7. return true;
    8. }
    9. if (plugin.getConfig().getBoolean(("Event." + "1" + ".started")) || (plugin.getConfig().getBoolean(("Event." + "2" + ".started")) || (plugin.getConfig().getBoolean(("Event." + "3" + ".started"))))) {
    10. p.sendMessage(ChatColor.RED + "Already an event in progress.");
    11. return true;
    12. }
    13. if (plugin.getConfig().getBoolean("Event." + "starting")) {
    14. p.sendMessage(ChatColor.RED + "There is already an event about to start.");
    15. return true;
    16. }
    17. if (args[0].equalsIgnoreCase("ko")) {
    18. final double event1x = plugin.getConfig().getDouble("warps." + "event" + ".1." + "spawn" + ".x", p.getLocation().getX());
    19. final double event1y = plugin.getConfig().getDouble("warps." + "event" + ".1." + "spawn" + ".y", p.getLocation().getY());
    20. final double event1z = plugin.getConfig().getDouble("warps." + "event" + ".1." + "spawn" + ".z", p.getLocation().getZ());
    21. final float event1pitch = (float) plugin.getConfig().getDouble("warps." + "event" + ".1." + "spawn" + ".pitch", p.getLocation().getPitch());
    22. final float event1yaw = (float) plugin.getConfig().getDouble("warps." + "event" + ".1." + "spawn" + ".yaw", p.getLocation().getYaw());
    23. plugin.getConfig().set("Event." + "starting", true);
    24. plugin.getConfig().set("Event." + "1" + ".Prize", args[1]);
    25. plugin.saveConfig();
    26. number = 31;
    27. this.event1 = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
    28. public void run() {
    29. int players1 = plugin.getConfig().getInt("Event." + "1" + ".players");
    30. number--;
    31. if (number == 30) {
    32. Bukkit.broadcastMessage(ChatColor.GRAY + "[" + ChatColor.RED + "Knockout" + ChatColor.GRAY + "]: " + ChatColor.YELLOW + "The event starts in " + number + " seconds. Type /join to join.");
    33. } else if (number == 10) {
    34. Bukkit.broadcastMessage(ChatColor.GRAY + "[" + ChatColor.RED + "Knockout" + ChatColor.GRAY + "]: " + ChatColor.YELLOW + "The event starts in " + number + " seconds. Type /join to join.");
    35. } else if (number <= 5 && number > 0) {
    36. Bukkit.broadcastMessage(ChatColor.GRAY + "[" + ChatColor.RED + "Knockout" + ChatColor.GRAY + "]: " + ChatColor.YELLOW + "The event starts in " + number + " seconds. Type /join to join.");
    37. } else if (number == 0) {
    38. Bukkit.broadcastMessage("Debug message 1");
    39. for (final Player online : Bukkit.getOnlinePlayers()) {
    40. Bukkit.broadcastMessage("Debug message 2");
    41. if (ingame1.contains(online)) {
    42. Bukkit.broadcastMessage("Debug message 3");
    43. if (players1 >= 3) {
    44. Bukkit.broadcastMessage("Debug message 4");
    45. online.teleport(new Location(online.getWorld(), event1x, event1y, event1z, event1yaw, event1pitch));
    46. online.sendMessage(ChatColor.GRAY + "[" + ChatColor.RED + "Knockout" + ChatColor.GRAY + "]: " + ChatColor.YELLOW + "Let the knockout begin!");
    47. online.sendMessage(ChatColor.GRAY + "[" + ChatColor.RED + "Knockout" + ChatColor.GRAY + "]: " + ChatColor.YELLOW + "Prize: " + args[1]);
    48. plugin.getConfig().set("Event." + "1" + ".started", true);
    49. plugin.getConfig().set("Event." + "starting", false);
    50. plugin.saveConfig();
    51. online.getInventory().clear();
    52. online.setGameMode(GameMode.ADVENTURE);
    53. online.setAllowFlight(false);
    54. ItemStack stick = new ItemStack(Material.STICK);
    55. stick.addUnsafeEnchantment(Enchantment.KNOCKBACK, 3);
    56. online.getInventory().addItem(stick);
    57. Bukkit.getScheduler().cancelTask(event1);
    58. } else {
    59. ingame1.remove(online);
    60. Bukkit.broadcastMessage(ChatColor.GRAY + "[" + ChatColor.RED + "Knockout" + ChatColor.GRAY + "]: " + ChatColor.YELLOW + "Let the knockout begin!");
    61. Bukkit.broadcastMessage(ChatColor.GRAY + "[" + ChatColor.RED + "Knockout" + ChatColor.GRAY + "]: " + ChatColor.YELLOW + "Prize: " + args[1]);
    62. Bukkit.broadcastMessage(ChatColor.GRAY + "[" + ChatColor.RED + "Knockout" + ChatColor.GRAY + "]: " + ChatColor.YELLOW + "Not enough players to start!");
    63. plugin.getConfig().set("Event." + "starting", false);
    64. plugin.getConfig().set("Event." + "1" + ".players", 0);
    65. plugin.saveConfig();
    66. Bukkit.getScheduler().cancelTask(event1);
    67. }
    68. }
    69. }
    70. }
    71. }
    72. }, 0, 20);
    73. } else if (args[0].equalsIgnoreCase("tntrun")) {
    74. p.sendMessage(ChatColor.RED + "Coming Soon!");
    75. } else if (args[0].equalsIgnoreCase("jug")) {
    76. p.sendMessage(ChatColor.RED + "Coming Soon!");
    77. } else {
    78. p.sendMessage(ChatColor.RED + "Usage: /event <jug, tntrun or ko> <prize>");
    79. return true;
    80. }


    ADDING TO THE ARRAYLIST:

    Code:java
    1. if (cmd.getName().equalsIgnoreCase("join")) {
    2. if (ingame1.contains(p)) {
    3. p.sendMessage(ChatColor.RED + "You are already in an event.");
    4. return true;
    5. }
    6. if (plugin.getConfig().getBoolean(("Event." + "1" + ".started")) || (plugin.getConfig().getBoolean(("Event." + "2" + ".started")) || (plugin.getConfig().getBoolean(("Event." + "3" + ".started"))))) {
    7. p.sendMessage(ChatColor.RED + "This event is already in progress.");
    8. return true;
    9. }
    10. if (!plugin.getConfig().getBoolean(("Event." + "starting"))) {
    11. p.sendMessage(ChatColor.RED + "No event is in progress.");
    12. return true;
    13. }
    14. int players1 = plugin.getConfig().getInt("Event." + "1" + ".players");
    15. if (players1 >= 12) {
    16. p.sendMessage(ChatColor.RED + "This event is full.");
    17. return true;
    18. }
    19. ingame1.add(p);
    20. players1++;
    21. plugin.getConfig().set("Event." + "1" + ".players", players1);
    22. plugin.saveConfig();
    23. for (Player online : Bukkit.getOnlinePlayers()) {
    24. if (ingame1.contains(online)) {
    25. online.sendMessage(ChatColor.GRAY + "[" + ChatColor.RED + "Knockout" + ChatColor.GRAY + "]: " + Color(p) + p.getName() + ChatColor.YELLOW + " has joined the game " + players1 + "/12.");
    26. }
    27. }
    28. }
     
  2. Offline

    Alan26

    Try adding this to your onEnable():
    Code:java
    1. Bukkit.getServer().getPluginManager().registerEvents(this, this);
     
  3. Offline

    benzimmer123

    Alan26
    If the events weren't registered or I didn't know how to register events I don't think I would be working on such a complex subject. Anyway I stated it gets to the number 0 and then cuts out.
     
Thread Status:
Not open for further replies.

Share This Page