Paste #20003

package com.dengyu.mysql;

import java.io.File;

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;

public class Main extends JavaPlugin{
	
	public static Main instance;
	private static FileConfiguration config;
	@Override
	public void onEnable()
	{
		if(!getDataFolder().exists()) {
			getDataFolder().mkdir();
		}
		File file=new File(getDataFolder(),"config.yml");
		if (!(file.exists())) {
			saveDefaultConfig();
		}
		reloadConfig();
		config = getConfig();
		//以上为创建配置文件文件夹和配置文件
		new BukkitRunnable() {
			
			@Override
			public void run() {
				MySQLManager.get().enableMySQL();
			}
		}.runTaskAsynchronously(this);
		//利用BukkitRunnable创建新线程,防止使用SQL而堵塞主线程
	}
	
	@Override
	public void onDisable()
	{
		MySQLManager.get().shutdown(); //断开连接
	}
	
	@Override
	public boolean onCommand(CommandSender sender, Command command, String label, String as[])
	{
		//处理指令的方法,每个方法都使用BukkitRunnable创建新线程
		if (label.equalsIgnoreCase("ms"))
		{
			if (as[0].equalsIgnoreCase("add"))
			{
				new BukkitRunnable() {
					
					@Override
					public void run() {
						MySQLManager.get().insertData(as[1], as[2]);
					}
				}.runTaskAsynchronously(this);
				return true;
			}
			if (as[0].equalsIgnoreCase("del"))
			{
				new BukkitRunnable() {
					
					@Override
					public void run() {
						MySQLManager.get().deleteData(as[1]);
					}
				}.runTaskAsynchronously(this);
				return true;
			}
			
			if (as[0].equalsIgnoreCase("find"))
			{
				new BukkitRunnable() {
					
					@Override
					public void run() {
						MySQLManager.get().findData(as[1], sender);
					}
				}.runTaskAsynchronously(this);
				return true;
			}
		}
		return false;
	}
	//此方法忽略了权限问题,在对数据库进行操作的时候一定要考虑权限问题!
	public static String getConfigString(String path)
	{
		return config.getString(path);
	}
	public static int getConfigInt(String path)
	{
		return config.getInt(path);
	}
}
Raw