A one size fits all plugin for vanilla servers running Minecraft Beta 1.7.3
at master 61 lines 2.0 kB view raw
1package dev.keii.goldenage.commands; 2 3import dev.keii.goldenage.GoldenAge; 4import dev.keii.goldenage.config.Env; 5import dev.keii.goldenage.migration.Migrator; 6import dev.keii.goldenage.utils.DatabaseUtility; 7import org.bukkit.command.Command; 8import org.bukkit.command.CommandExecutor; 9import org.bukkit.command.CommandSender; 10import org.bukkit.entity.Player; 11 12import java.io.PrintWriter; 13import java.io.StringWriter; 14import java.sql.SQLException; 15 16@SuppressWarnings("unused") 17public class DatabaseCommand implements CommandExecutor { 18 DatabaseUtility db; 19 Migrator migrator; 20 GoldenAge plugin; 21 22 public DatabaseCommand(GoldenAge plugin) { 23 this.db = plugin.getDatabaseUtility(); 24 this.migrator = new Migrator(plugin); 25 this.plugin = plugin; 26 } 27 28 @Override 29 public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { 30 // Don't allow execution of this command if the environment isn't development 31 if (!plugin.getConfig().getEnv().equals(Env.Development)) { 32 return false; 33 } 34 35 if (args.length == 0) { 36 sender.sendMessage(this.plugin.getConfig().getErrors().getInsufficientArguments()); 37 return false; 38 } 39 40 try { 41 if (args[0].equalsIgnoreCase("migrate")) { 42 migrator.migrate(); 43 } else if (args[0].equalsIgnoreCase("rollback")) { 44 migrator.rollback(); 45 } else { 46 sender.sendMessage(this.plugin.getConfig().getErrors().getInvalidArgument(args[0])); 47 return false; 48 } 49 } catch (SQLException e) { 50 sender.sendMessage("Failed to migrate"); 51 sender.sendMessage(e.getMessage()); 52 StringWriter sw = new StringWriter(); 53 PrintWriter pw = new PrintWriter(sw); 54 e.printStackTrace(pw); 55 sender.sendMessage(sw.toString()); 56 } 57 58 return true; 59 } 60 61}