Solved Solved

Discussion in 'Plugin Development' started by gamemster2468, Jul 3, 2014.

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

    gamemster2468

  2. Offline

    NoLiver92

    ok whats the error? your car wont start?
     
    Rocoty likes this.
  3. Offline

    gamemster2468

    Last edited by a moderator: Jun 9, 2016
  4. Offline

    MarinusLeeuweri

    Well, since you did not provide us with an error. Let me ask how to tried to block users using the % sign.
    I will provide you with a proper way to remove them from a message.

    First make a eventlistener.

    Code:java
    1. @EventHandler
    2. public void onChat(AsyncPlayerChatEvent e) {
    3.  
    4. String message = event.getMessage();
    5. if(message.contains("%")) {
    6. message.replaceAll("%","");
    7. event.setMessage(message);
    8. }
    9. }


    You'll figure out the rest. But please do provide us with the error, and perhaps the code that causes the error.

    Regards,

    Marinus


    Btw, "event", must be "e" inside the codeblock

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 9, 2016
  5. Offline

    gamemster2468

  6. Offline

    Rocoty

    Who said anything about anything? How are we supposed to help you when you don't tell us what's wrong? Read your mind?
     
  7. Offline

    hamzaxx

  8. Offline

    Rocoty

    gamemster2468 The print screen you provided doesn't show the entire error. It leaves out the important part. Please post the entire error, and please post it as text and not an image.
     
    NoLiver92 likes this.
  9. Offline

    NoLiver92

  10. Offline

    ChipDev

    Someone did say something about a car.
    I think like 30 days ago.
     
  11. Offline

    gamemster2468

  12. Offline

    Rocoty

    gamemster2468 This doesn't help at all. The entire error as text...Please...
     
  13. Offline

    hamzaxx

    No need to run a check, also your code should be:
    Code:java
    1. @EventHandler
    2. public void onPlayerChat(AsyncPlayerChatEvent event) {
    3. String chatMessage = event.getMessage();
    4. chatMessage = chatMessage.replace("%", "%%");
    5. event.setMessage(chatMessage);
    6. }
     
  14. Offline

    gamemster2468

    Last edited by a moderator: Jun 9, 2016
  15. Offline

    Rocoty

    As text, no? Fine whatever. The error is complaining about line 20 of PlayerChatFormat post the entire class.

    Please post errors and code as text in the future.
     
  16. Offline

    gamemster2468

    Rocoty

    Code:
    Code:
    @EventHandler
            public void onChat(AsyncPlayerChatEvent event) {
                Player player = (Player) event.getPlayer();
                String message = event.getMessage();
                if (Ranks.isOwner(player)){
                    event.setFormat("§aOwner §8|" + player.getDisplayName() + "§8: §f" + message);
                }
                else if (Ranks.isAdmin(player)){
                    event.setFormat("§4Admin §8|" + player.getDisplayName() + "§8: §f" + message);
                }
     
                else if (Ranks.isSrMod(player)){
                    event.setFormat("§4SeniorMod §8|" + player.getDisplayName() + " §8: §f" + message);
                }
     
                else if (Ranks.isMod(player)) {
                    event.setFormat("§cMod §8|" + player.getDisplayName() + " §8: §f" + message);
                }
     
                else if (Ranks.isSearborgia(player)) {
                    event.setFormat("§1Seaborgia §8| " + player.getDisplayName() + " §8: §f" + message);
                }
                else if (Ranks.isYoutube(player)) {
                    event.setFormat("§dYoutube §8|" + player.getDisplayName() + " §8: §f" + message);
                }
                else if (Ranks.isVIP(player)) {
                    event.setFormat("§eVIP §8| " + player.getDisplayName() + "§8: §f" + message);
                }
                else if (Ranks.isDiamond(player)) {
                    event.setFormat(player.getDisplayName() + "§8: §f" + message);
                }
                else if (Ranks.isGold(player)) {
                    event.setFormat(player.getDisplayName() + "§8: §f" + message);
                }
                else if (Ranks.isIron(player)) {
                    event.setFormat(player.getDisplayName() + "§8: §f" + message);
                }
                else {
                    event.setFormat(player.getDisplayName() + "§8: §f" + message);
                }
            }
     
  17. Offline

    Rocoty

    gamemster2468 I am afraid you misunderstood me. I said to post the entire class. Preferably in syntax tags instead of code tags. At any rate you should tell us which line is line 20.
     
  18. Offline

    hamzaxx


    Code:java
    1. @EventHandler
    2. public void onChat(AsyncPlayerChatEvent event) {
    3. Player player = (Player) event.getPlayer();
    4. String message = event.getMessage();
    5. message = message.replace("%", "%%");
    6. event.setMessage(message);
    7. if (Ranks.isOwner(player)){
    8. event.setFormat("§aOwner §8|" + player.getDisplayName() + "§8: §f" + message);
    9. }
    10. else if (Ranks.isAdmin(player)){
    11. event.setFormat("§4Admin §8|" + player.getDisplayName() + "§8: §f" + message);
    12. }
    13.  
    14. else if (Ranks.isSrMod(player)){
    15. event.setFormat("§4SeniorMod §8|" + player.getDisplayName() + " §8: §f" + message);
    16. }
    17.  
    18. else if (Ranks.isMod(player)) {
    19. event.setFormat("§cMod §8|" + player.getDisplayName() + " §8: §f" + message);
    20. }
    21.  
    22. else if (Ranks.isSearborgia(player)) {
    23. event.setFormat("§1Seaborgia §8| " + player.getDisplayName() + " §8: §f" + message);
    24. }
    25. else if (Ranks.isYoutube(player)) {
    26. event.setFormat("§dYoutube §8|" + player.getDisplayName() + " §8: §f" + message);
    27. }
    28. else if (Ranks.isVIP(player)) {
    29. event.setFormat("§eVIP §8| " + player.getDisplayName() + "§8: §f" + message);
    30. }
    31. else if (Ranks.isDiamond(player)) {
    32. event.setFormat(player.getDisplayName() + "§8: §f" + message);
    33. }
    34. else if (Ranks.isGold(player)) {
    35. event.setFormat(player.getDisplayName() + "§8: §f" + message);
    36. }
    37. else if (Ranks.isIron(player)) {
    38. event.setFormat(player.getDisplayName() + "§8: §f" + message);
    39. }
    40. else {
    41. event.setFormat(player.getDisplayName() + "§8: §f" + message);
    42. }
    43. }
     
  19. Offline

    gamemster2468

    Rocoty This is line 20: event.setFormat("§aOwner §8|" + player.getDisplayName() + "§8: §f" + message);

    hamzaxx Thank you!

    Thank you all for helping, it now works! <3

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 9, 2016
  20. Offline

    Rocoty

    Well no wonder it breaks when you are regarding the message as a part of the format. You should read about how the string formatter works. Basically you should replace the display name and message with %s

    Please be aware that the solution you have accepted may introduce more problems with formats later on, whereas my solution is the way to do it in accordance with the Bukkit API documentation and the java language specification on String Formatting.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 9, 2016
    AdamQpzm likes this.
Thread Status:
Not open for further replies.

Share This Page