Setting players spawns

Discussion in 'Plugin Development' started by McCastleWars, Feb 5, 2013.

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

    McCastleWars

    I'm wondering how to set spawns. Current way I have is doesn't work. I changed it to a certain way it gave errors.. So i'm wondering how to do this


    Current code
    Code:text
    1.  
    2. @EventHandler()
    3. public void onPlayerRespawn(PlayerRespawnEvent event){
    4. Player respawner = event.getPlayer();
    5.  
    6. if(CastleWars.gameOn && CastleWars.blueTeam.contains(respawner)){
    7. event.setRespawnLocation(CastleSpawn.teleportBlueSpawn());
    8. }else if(CastleWars.gameOn && CastleWars.redTeam.contains(respawner)){
    9. event.setRespawnLocation(CastleSpawn.teleportRedSpawn());
    10. }else if(CastleWars.spectate.contains(respawner)){
    11. event.setRespawnLocation(CastleSpawn.teleportSpectateSpawn());
    12. }else{
    13. event.setRespawnLocation(respawner.getWorld().getSpawnLocation());
    14. }
    15. }
    16.  
     
  2. Offline

    RealDope

    lol, that doesn't work because you have () after your EventHandler
     
  3. Offline

    McCastleWars

    lol, Didnt fix.
     
  4. Offline

    RealDope

    Throws no errors?

    If so, add debugs to your code, after each if statement, just put a little System.out.println("Test"); then "Test 2" "Test 3", etc. See how far it reaches.
     
  5. Offline

    McCastleWars

    That code worked above with & without the (). And what it got to is the else{}. So it wasn't detecting if hes in the arraylist. I also changed .contains(respawner) to .contains(respawner.getName()) because the arraylist is a putting the players as strings. Still doesn't work

    Code:text
    1.  
    2. public static ArrayList<String> blueTeam = new ArrayList<String>();
    3.  

    is my array list
     
  6. Offline

    RealDope

    And when do you add players to this list?
     
  7. Offline

    McCastleWars

    When they rightclick a Sign with the first line being [CastleWars] and second being random
     
  8. Offline

    RealDope

    Show the code please
     
  9. Offline

    McCastleWars

    This prob wont help much.
    Code:text
    1.  
    2. if(s.getLine(1).equalsIgnoreCase("random")){
    3. TeamJoining.joinRandom(player.getName());
    4.  


    But this might. The TeamJoining Class.
    Code:text
    1.  
    2. public static void joinRandom(String player){
    3. if(CastleWars.blueTeam.size() >= CastleWars.redTeam.size() && !CastleWars.gameOn && !CastleWars.playersInGame.contains(player) && !CastleWars.spectate.contains(player)){
    4. Bukkit.getPlayer(player).teleport(CastleSpawn.teleportLobbySpawn());
    5. CastleWars.redTeam.add(player);
    6. CastleWars.playersInGame.add(player);
    7. Bukkit.getPlayer(player).setCanPickupItems(false);
    8. Bukkit.getPlayer(player).getInventory().setHelmet(new ItemStack(Material.WOOL, 1, (short) 14));
    9. Bukkit.broadcastMessage(CastleWars.name + ChatColor.RED + " " + player +" Has Joined Red Team");
    10. CastleWars.RandomMode();
    11.  
    12. }else if(CastleWars.redTeam.size() >= CastleWars.blueTeam.size() && !CastleWars.playersInGame.contains(player) && !CastleWars.spectate.contains(player) && !CastleWars.gameOn){
    13. Bukkit.getPlayer(player).teleport(CastleSpawn.teleportLobbySpawn());
    14. CastleWars.blueTeam.add(player);
    15. CastleWars.playersInGame.add(player);
    16. Bukkit.getPlayer(player).getInventory().setHelmet(new ItemStack(Material.WOOL, 1, (short) 11));
    17. Bukkit.getPlayer(player).setCanPickupItems(false);
    18. Bukkit.broadcastMessage(CastleWars.name + ChatColor.BLUE + " " + player +" Has Joined Blue Team");
    19. CastleWars.RandomMode();
    20. }else if(CastleWars.playersInGame.contains(player) || CastleWars.spectate.contains(player)){
    21. Bukkit.getPlayer(player).sendMessage(CastleWars.name + " You tried to join a team. But you are currently in one please do /castlewars leave to rejoin");
    22. }else if(CastleWars.gameOn){
    23. Bukkit.getPlayer(player).sendMessage(CastleWars.name + " Sorry! you cant join a team while the game is on");
    24. }
    25. }
    26.  
     
  10. Offline

    McCastleWars

    Does anyone know how to fix this?
     
  11. Offline

    Tirelessly

    Raise the priority.
     
Thread Status:
Not open for further replies.

Share This Page