Advertisement
MiunaPA

AutoCommand Main.java

Apr 29th, 2019
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.12 KB | None | 0 0
  1. package xiosy.ac;
  2.  
  3. import java.text.SimpleDateFormat;
  4. import java.util.Arrays;
  5. import java.util.Date;
  6. import java.util.HashMap;
  7. import java.util.List;
  8. import java.util.Map;
  9. import java.util.function.Consumer;
  10. import org.bukkit.Bukkit;
  11. import org.bukkit.Server;
  12. import org.bukkit.command.Command;
  13. import org.bukkit.command.CommandExecutor;
  14. import org.bukkit.command.CommandSender;
  15. import org.bukkit.command.ConsoleCommandSender;
  16. import org.bukkit.command.PluginCommand;
  17. import org.bukkit.configuration.file.FileConfiguration;
  18. import org.bukkit.configuration.file.FileConfigurationOptions;
  19. import org.bukkit.entity.Player;
  20. import org.bukkit.plugin.Plugin;
  21. import org.bukkit.plugin.java.JavaPlugin;
  22. import org.bukkit.scheduler.BukkitTask;
  23.  
  24. public class Main
  25. extends JavaPlugin {
  26.     private Map<String, String> commandList = new HashMap<String, String>();
  27.  
  28.     public void onEnable() {
  29.         this.configSet();
  30.         this.loadCommandList();
  31.         Bukkit.getScheduler().runTaskTimer((Plugin)this, new Runnable(){
  32.  
  33.             @Override
  34.             public void run() {
  35.                 SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
  36.                 String current = sdf.format(new Date());
  37.                 if (Main.this.commandList.containsKey(current)) {
  38.                     Main.this.getServer().dispatchCommand((CommandSender)Main.this.getServer().getConsoleSender(), (String)Main.this.commandList.get(current));
  39.                 }
  40.             }
  41.         }, 0L, 20L);
  42.         this.getCommand("autocommand").setExecutor((CommandExecutor)this);
  43.     }
  44.  
  45.     private void loadCommandList() {
  46.         this.reloadConfig();
  47.         List list = this.getConfig().getStringList("AutoCommandList");
  48.         list.forEach(k -> {
  49.             String[] cs = k.split(" ");
  50.             String cmd = "";
  51.             for (int i = 1; i < cs.length; ++i) {
  52.                 cmd = String.valueOf(cmd) + cs[i] + " ";
  53.             }
  54.             if ((cmd = cmd.trim().replaceAll("/", "")) != null) {
  55.                 this.commandList.put(cs[0], cmd);
  56.             }
  57.         });
  58.     }
  59.  
  60.     private void configSet() {
  61.         this.getConfig().addDefault("AutoCommandList", Arrays.asList("00:00:00 give @a diamond"));
  62.         this.getConfig().options().copyDefaults(true);
  63.         this.saveConfig();
  64.     }
  65.  
  66.     public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) {
  67.         if (!(sender instanceof Player)) {
  68.             if (args.length == 0) {
  69.                 return false;
  70.             }
  71.             if (args[0].equalsIgnoreCase("reload")) {
  72.                 this.loadCommandList();
  73.                 sender.sendMessage("\u00a7a\u5df2\u91cd\u65b0\u8b80\u53d6yml\u8a2d\u5b9a!");
  74.                 return true;
  75.             }
  76.             return true;
  77.         }
  78.         Player p = (Player)sender;
  79.         if (args.length == 0) {
  80.             return false;
  81.         }
  82.         if (args[0].equalsIgnoreCase("reload")) {
  83.             this.loadCommandList();
  84.             p.sendMessage("\u00a7a\u5df2\u91cd\u65b0\u8b80\u53d6yml\u8a2d\u5b9a!");
  85.             return true;
  86.         }
  87.         return false;
  88.     }
  89.  
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement