Solved Need help with saving in config

Discussion in 'Plugin Development' started by Urag, Jul 23, 2017.

Thread Status:
Not open for further replies.
  1. To not create new thread i need help with commandExecutor in the same plugin
    1. i don't want console to use "/rb"
    2. if there's 1 arg i don't want it to be different from place/break/reset/tool

    Code:
    package me.miloszgnk.RestoringBlocks;
    
    import java.util.List;
    
    import org.bukkit.Location;
    import org.bukkit.Material;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.HumanEntity;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.command.CommandExecutor;
    
    
    public class myCommandExecutor implements CommandExecutor {
    
        private Main main = Main.getInstance();
      
      
        List<Location>    locations = main.getLocationList();
      
      
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
            if (cmd.getName().equalsIgnoreCase("rb")){
                if (!(sender instanceof Player)){
                    sender.sendMessage("[RestoringBlocks] You can only use that command in-game");
                    return false;
                }
    
                if(args.length==0){
                    sender.sendMessage("====[RestoringBlocks]===");
                    sender.sendMessage("/rb - shows menu");
                    sender.sendMessage("/rb place - activates placing restoring blocks");
                    sender.sendMessage("/rb break - activates removing restoring blocks");
                    sender.sendMessage("/rb reset - removes all restoring block");
                    sender.sendMessage("/rb tool - gives tool for editing restoring blocks");
                    sender.sendMessage("=========================");
                }
              
                if (args.length==1 && args[0].equalsIgnoreCase("place")){
                    Player p;
                    p = (Player) sender;
                    if(main.getRestoring_Blocks_Placing_Activated(p).equals(false)){
                        main.setRestoring_Blocks_Placing_Activated(p, true);
                        sender.sendMessage("true");
                    }
                    else{
                        main.setRestoring_Blocks_Placing_Activated(p, false);
                        sender.sendMessage("false");
                    }
                    }
                }
              
                if (args.length==1 && args[0].equalsIgnoreCase("test")){
                    sender.sendMessage(main.getRestoring_Blocks_Placing_Activated((Player) sender).toString());
                }
          
                if (args.length==1 && args[0].equalsIgnoreCase("break")){
                    Player p;
                    p = (Player) sender;
                    if(main.getRestoring_Blocks_Breaking_Activated(p).equals(false)){
                        main.setRestoring_Blocks_Breaking_Activated(p, true);
                        sender.sendMessage("false");
                    }
                    else{
                        main.setRestoring_Blocks_Breaking_Activated(p, false);
                        sender.sendMessage("true");
                    }
                }
              
                if (args.length==1 && args[0].equalsIgnoreCase("reset")){
                    main.getConfig().set("locations", null);
                    main.saveConfig();
                }
              
                if (args.length==1 && args[0].equalsIgnoreCase("tool")){
                    ItemStack item = new ItemStack(Material.FEATHER, 1);
                    ItemMeta im = item.getItemMeta();
                    im.setDisplayName("Restoring Blocks' Editor");
                    item.setItemMeta(im);
                    ((HumanEntity) sender).getInventory().addItem(item);
                }
              
                if (!(args[0]).equalsIgnoreCase("break") || !(args[0]).equalsIgnoreCase("place") || !(args[0]).equalsIgnoreCase("reset") || !(args[0]).equalsIgnoreCase("tool")){
                    sender.sendMessage("[RestoringBlocks] Type \"rb\" for help");
                }
              
              
              
         return true;
        }
      
    }
    
    SOLVED
     
    Last edited: Jul 23, 2017
Thread Status:
Not open for further replies.

Share This Page