Solved Why isn't this code working?

Discussion in 'Plugin Development' started by Urag, Jul 17, 2016.

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


        public void onPlayerCommandPreprocessEvent(PlayerCommandPreprocessEvent e){
            if(!e.getMessage().equalsIgnoreCase("/changepassword") || !e.getMessage().equalsIgnoreCase("/changepass") || !e.getMessage().equalsIgnoreCase("/unreg") || !e.getMessage().equalsIgnoreCase("/unregister") || !e.getMessage().equalsIgnoreCase("/reply") || !e.getMessage().equalsIgnoreCase("/r") || !e.getMessage().equalsIgnoreCase("/reg") || !e.getMessage().equalsIgnoreCase("/register") || !e.getMessage().equalsIgnoreCase("/l") || !e.getMessage().equalsIgnoreCase("/login") || !e.getMessage().equalsIgnoreCase("/spawn") || !e.getMessage().equalsIgnoreCase("/w") || !e.getMessage().equalsIgnoreCase("/whisper") || !e.getMessage().equalsIgnoreCase("/ewhisper") || !e.getMessage().equalsIgnoreCase("/t") || !e.getMessage().equalsIgnoreCase("/tell") || !e.getMessage().equalsIgnoreCase("/etell") || !e.getMessage().equalsIgnoreCase("/msg") || !e.getMessage().equalsIgnoreCase("/m") || !e.getMessage().equalsIgnoreCase("/emsg") || !e.getMessage().equalsIgnoreCase("/?") || !e.getMessage().equalsIgnoreCase("/informacje") || !e.getMessage().equalsIgnoreCase("/regulamin") && !e.getPlayer().hasPermission("commandblocker.prevent")) {
                e.getPlayer().sendMessage("§f§lUnknown command.");
    I have "commandblocker.prevent" permission, but plugin blocks all commands.
  2. Offline


    Why not putting the allowed commands in a data structure such as an array or a Collection Instead of countless or operators?
    Have you debuged the code?
  3. Offline

    bwfcwalshy Retired Staff

    @Urag Check your backets.
  4. Offline


    I'm noob-programmer. I only know basics, but i'm trying to make plugins instead of using Skript. What does mean "debugging code"? How to chceck if command is one from the allowed comamnds list?

    Bracket's are fine
    Last edited: Jul 17, 2016
  5. Offline


    Debugging is a procedure to try to figure the problem with your own code by inserting new "test code". This is often done with putting print statements in certain parts of the code to see whether certain code is run.
  6. Offline

    bwfcwalshy Retired Staff

    You sure about that? Your if statement wont fire correctly. Check your brackets, remember Java is kinda like maths

    1 + 6 * 2 is different than (1 + 6) * 2
  7. Offline


    Isn't this code working, beacuse i didn't mark arguments in commands?
  8. Offline


         List<String> whitelist = Arrays.asList(new String[] {
                "/command1", "/command2", "command3", "command4"
    //Put your commands in a list like this
    //then to check if it is not part of the whitelist
    //to lowercase to allow both /cOMMand and /command
    //permission check
    e.setCancelled(true); p.sendMessage("nope!");
    AlvinB likes this.
  9. Offline


    I have a problem:

    Attached Files:

  10. Offline

    bwfcwalshy Retired Staff

    @Urag Have you imported them? Remember to import java.util List
  11. Offline


    Sorry, I have imported wrong list :)

    @bwfcwalshy @iSexyChocobo

    How to make this list public? I have this list in "onEnable void", and i can't get it from EventHandler.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: Jul 17, 2016
  12. Offline

    bwfcwalshy Retired Staff

    @Urag Move the list out of onEnable and just into the class
  13. Offline


    As i told - I'm noob. Thank you for help! :)
    iSexyChocobo likes this.
Thread Status:
Not open for further replies.

Share This Page