Solved Checking an Event

Discussion in 'Plugin Development' started by SourceForums, Nov 30, 2013.

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

    SourceForums

    Hey there, I've just finished writing a pretty long and complicated event and would just like to check if there are any errors. I do not really wish to test it on the server as I don't want anything crashing. :(. Thanks! Here's the link to the event: http://pastebin.com/iWYpDzbJ
     
  2. Set up a test server on your localhost :) (Or open a port for your main server)
     
  3. Offline

    SourceForums

    Datdenkikniet
    Sorry, can't really do that as it takes over 3 hours to simply copy the server folder. (The code requires direct information from the world, etc.)
     
  4. SourceForums ah, yeah, then it will become a little harder indeed :), In this case, I don't have any other solutions :s
     
  5. Offline

    PolarCraft

    SourceForums Just simply create a new server with everything you need.
     
  6. Offline

    SourceForums

    Datdenkikniet
    PolarCraft
    Alright then, could you please check if this part is correct?
    Code:java
    1. for(Player targetPlayers : Bukkit.getOnlinePlayers()){
    2. if(onA1LobbyList.contains(targetPlayers.getName())){
    3. targetPlayers.sendMessage(ChatColor.GOLD + "The game will be starting soon...");
    4. plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable(){
    5. public void run(){
    6. for(Player targetPlayers : Bukkit.getOnlinePlayers()){
    7. if(onA1LobbyList.contains(targetPlayers.getName())){
    8. targetPlayers.sendMessage(ChatColor.GOLD + "The game have started!");
    9. onA1ArenaList.addAll(onA1LobbyList);
    10. onA1LobbyList.clear();
    11. Player targetPlayerI = Bukkit.getServer().getPlayer(onA1ArenaList.get(0));
    12. Player targetPlayerII = Bukkit.getServer().getPlayer(onA1ArenaList.get(1));
    13. Player targetPlayerIII = Bukkit.getServer().getPlayer(onA1ArenaList.get(2));
    14. Player targetPlayerIV = Bukkit.getServer().getPlayer(onA1ArenaList.get(3));
    15. targetPlayerI.teleport(new Location(Bukkit.getWorld("Super Craft Bros Brawl Arenas"), 14, 55, -25));
    16. targetPlayerII.teleport(new Location(Bukkit.getWorld("Super Craft Bros Brawl Arenas"), 19, 74, 8));
    17. targetPlayerIII.teleport(new Location(Bukkit.getWorld("Super Craft Bros Brawl Arenas"), -8, 74, 4));
    18. targetPlayerIV.teleport(new Location(Bukkit.getWorld("Super Craft Bros Brawl Arenas"), -16, 66, -31));
    19. ScoreboardManager boardManager = Bukkit.getScoreboardManager();
    20. Scoreboard gameStats = boardManager.getNewScoreboard();
    21. Objective objective = gameStats.registerNewObjective("gameStats", "dummy");
    22. objective.setDisplaySlot(DisplaySlot.SIDEBAR);
    23. objective.setDisplayName(ChatColor.WHITE + "Game Stats (Lives)");
    24. Score playerIScore = objective.getScore(Bukkit.getOfflinePlayer(targetPlayerI.getDisplayName() + ": " ));
    25. playerIScore.setScore(5);
    26. Score playerIIScore = objective.getScore(Bukkit.getOfflinePlayer(targetPlayerII.getDisplayName() + ": " ));
    27. playerIIScore.setScore(5);
    28. Score playerIIIScore = objective.getScore(Bukkit.getOfflinePlayer(targetPlayerIII.getDisplayName() + ": " ));
    29. playerIIIScore.setScore(5);
    30. Score playerIVScore = objective.getScore(Bukkit.getOfflinePlayer(targetPlayerIV.getDisplayName() + ": " ));
    31. playerIVScore.setScore(5);
    32. targetPlayerI.setScoreboard(gameStats);
    33. targetPlayerII.setScoreboard(gameStats);
    34. targetPlayerIII.setScoreboard(gameStats);
    35. targetPlayerIV.setScoreboard(gameStats);
    36. PlayerInventory inventory = targetPlayers.getInventory();
    37. if(targetPlayers.getInventory().getHelmet().equals(zombieHelmet){
    38. ItemStack item = new ItemStack(Material.CACTUS);
    39. inventory.addItem(item);
    40. }

    Don't mind the spacing and the brackets error.
     
  7. Offline

    Rprrr

    SourceForums
    Just test it. It's one extreme mess. Also, I'd advice putting those players(or their names) in some kind of list and then looping through the list (performing the actions for every player in the list), because you're simply performing exactly the same actions for them which makes your code very repetitive.

    (Ánd I would advise you to save the locations in some kind of map or file, aswell.)
     
Thread Status:
Not open for further replies.

Share This Page