Making a /<rank> for info plugin

Discussion in 'Plugin Development' started by 99storm2, Feb 28, 2013.

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

    99storm2

    Im making a plugin for my server players so when they do /<donor rank> it gives them info
    i have made 1 command successfully and im on my 2nd one
    /vip is the first one and /mvp is the 2nd one
    when i do /mvp it shows the rank info for /vip do i need separate .class files for each command heres what i have so far
    Code:
    package me.storm2.DonationRanks;
     
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class main extends JavaPlugin{
       
        @Override
        public void onEnable(){
           
        }
       
        @Override
        public void onDisable(){
           
        }
     
        public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
            if(commandLabel.equalsIgnoreCase("VIP"));
            sender.sendMessage(ChatColor.DARK_GREEN+"The VIP donation perks:");
            sender.sendMessage(ChatColor.DARK_GREEN+"A nice prefix");
            sender.sendMessage(ChatColor.DARK_GREEN+"/nick-No colour");
            sender.sendMessage(ChatColor.DARK_GREEN+"/weather");
            sender.sendMessage(ChatColor.DARK_GREEN+"/disguise-Villager");
            sender.sendMessage(ChatColor.DARK_GREEN+"$1000 in-game cash!");
            return false;
           
        }
        public boolean onCommand1(CommandSender sender, Command cmd, String commandLabel, String[] args){
            if(commandLabel.equalsIgnoreCase("MVP"));
            sender.sendMessage(ChatColor.AQUA+"The MVP donation perks:");
            sender.sendMessage(ChatColor.AQUA+"A nice prefix");
            sender.sendMessage(ChatColor.AQUA+"/nick-With colour");
            sender.sendMessage(ChatColor.AQUA+"/weather");
            sender.sendMessage(ChatColor.AQUA+"/ptime");
            sender.sendMessage(ChatColor.AQUA+"/echest");
            sender.sendMessage(ChatColor.AQUA+"/disguise-Villager,Pig,Cow");
            sender.sendMessage(ChatColor.AQUA+"$2000 in-game cash!");
            return false;
        }
       
       
    }
       
    
    i am very new to coding and dont know much so if you can explain to me what im doing that would help a lot
     
  2. Offline

    chasechocolate

    You have a ; after your if-statement, put the VIP info stuff in brackets after the if-statement. No, you don't need a separate class file or method for each command, just put another if-statement.
     
  3. Offline

    99storm2

    i didnt really understand this i messaged u but if anyone else can help explain what i do it would help me a lot heres what i tryed from what he said
    Code:
    package me.storm2.DonationRanks;
     
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class main extends JavaPlugin{
       
        @Override
        public void onEnable(){
           
        }
       
        @Override
        public void onDisable(){
           
        }
     
        public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
            if(commandLabel.equalsIgnoreCase("VIP")){
            sender.sendMessage(ChatColor.DARK_GREEN+"The VIP donation perks:");
            sender.sendMessage(ChatColor.DARK_GREEN+"A nice prefix");
            sender.sendMessage(ChatColor.DARK_GREEN+"/nick-No colour");
            sender.sendMessage(ChatColor.DARK_GREEN+"/weather");
            sender.sendMessage(ChatColor.DARK_GREEN+"/disguise-Villager");
            sender.sendMessage(ChatColor.DARK_GREEN+"$1000 in-game cash!");
            }
            return false;
           
        }
        public boolean onCommand1(CommandSender sender, Command cmd, String commandLabel, String[] args){
            if(commandLabel.equalsIgnoreCase("MVP")){
            sender.sendMessage(ChatColor.AQUA+"The MVP donation perks:");
            sender.sendMessage(ChatColor.AQUA+"A nice prefix");
            sender.sendMessage(ChatColor.AQUA+"/nick-With colour");
            sender.sendMessage(ChatColor.AQUA+"/weather");
            sender.sendMessage(ChatColor.AQUA+"/ptime");
            sender.sendMessage(ChatColor.AQUA+"/echest");
            sender.sendMessage(ChatColor.AQUA+"/disguise-Villager,Pig,Cow");
            sender.sendMessage(ChatColor.AQUA+"$2000 in-game cash!");
            }
            return false;
     
        }
       
       
    }
       
    
     
  4. Offline

    AppleMC

    99storm2
    Code:
            if (commandLabel.equalsIgnoreCase("VIP")) {
              sender.sendMessage("insert stuff here...");
              }
          } else if (commandLabel.equalsIgnoreCase("MVP")) {
              insert stuff again..
          }
        return false;
        }
    }
    and fix my code with tabs..
     
  5. Offline

    RainoBoy97

    Code:
    package me.storm2.DonationRanks;
     
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class main extends JavaPlugin {
     
    @Override
    public void onEnable() {
     
    }
     
    @Override
    public void onDisable() {
     
    }
     
    public boolean onCommand(CommandSender sender, Command cmd,
    String commandLabel, String[] args) {
    if (sender instanceof Player) {
    Player player = (Player) sender;
    if (commandLabel.equalsIgnoreCase("VIP")) {
    player.sendMessage(ChatColor.DARK_GREEN
    + "The VIP donation perks:");
    player.sendMessage(ChatColor.DARK_GREEN + "A nice prefix");
    player.sendMessage(ChatColor.DARK_GREEN + "/nick-No colour");
    player.sendMessage(ChatColor.DARK_GREEN + "/weather");
    player.sendMessage(ChatColor.DARK_GREEN + "/disguise-Villager");
    player.sendMessage(ChatColor.DARK_GREEN + "$1000 in-game cash!");
    } else if (commandLabel.equalsIgnoreCase("MVP")) {
    player.sendMessage(ChatColor.AQUA + "The MVP donation perks:");
    player.sendMessage(ChatColor.AQUA + "A nice prefix");
    player.sendMessage(ChatColor.AQUA + "/nick-With colour");
    player.sendMessage(ChatColor.AQUA + "/weather");
    player.sendMessage(ChatColor.AQUA + "/ptime");
    player.sendMessage(ChatColor.AQUA + "/echest");
    player.sendMessage(ChatColor.AQUA
    + "/disguise-Villager,Pig,Cow");
    player.sendMessage(ChatColor.AQUA + "$2000 in-game cash!");
    }
    }
    }
    }
    
    Fixed the code + added a check if the sender is a player :)

    //Edit: The formatting is the forums fault =(
     
  6. Offline

    CarlOnMyDuty

    It is not required to have a ; after a if statement. I've used this before without any problems.
     
  7. Offline

    AppleMC

  8. Offline

    RainoBoy97

    No, i didnt. That would just tell the plugin the command wasnt sucessfully executed :p
     
  9. Offline

    AppleMC

  10. Offline

    -_Husky_-

    return true will tell the plugin it returned properly and wont print out "/<command>".

    I remember when I was new I had no idea what it did. :p
     
Thread Status:
Not open for further replies.

Share This Page