71 lines
2.3 KiB
Java
71 lines
2.3 KiB
Java
package cn.citycraft.CTZServerBridge;
|
|
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.ChatColor;
|
|
import org.bukkit.command.ConsoleCommandSender;
|
|
import org.bukkit.plugin.PluginManager;
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
|
|
import cn.citycraft.CTZServerBridge.listen.PlayerListen;
|
|
import cn.citycraft.PluginHelper.sql.KeyValue;
|
|
import cn.citycraft.PluginHelper.sql.MySQLHelper;
|
|
import cn.citycraft.PluginHelper.sql.SQLHelper;
|
|
|
|
public class CTZServerBridge extends JavaPlugin {
|
|
|
|
ConsoleCommandSender ccs;
|
|
SQLHelper sql;
|
|
|
|
public SQLHelper getSql() {
|
|
return sql;
|
|
}
|
|
|
|
@Override
|
|
public void onDisable() {
|
|
super.onDisable();
|
|
}
|
|
|
|
@Override
|
|
public void onEnable() {
|
|
this.initDatabase();
|
|
this.initListener();
|
|
}
|
|
|
|
private void initListener() {
|
|
PluginManager pm = Bukkit.getPluginManager();
|
|
pm.registerEvents(new PlayerListen(this), this);
|
|
}
|
|
|
|
/**
|
|
* 初始化数据库
|
|
*/
|
|
void initDatabase() {
|
|
String dbtable = "ctzserver";
|
|
ccs.sendMessage(ChatColor.GREEN + "初始化数据库连接...");
|
|
sql = new MySQLHelper("127.0.0.1", 3306, "minecraft", "root", "325325");
|
|
if (!sql.dbConnection()) {
|
|
ccs.sendMessage(ChatColor.RED + "数据库连接失败...");
|
|
return;
|
|
}
|
|
ccs.sendMessage(ChatColor.GREEN + "数据库连接成功,检查数据表是否存在...");
|
|
if (!sql.isTableExists(dbtable)) {
|
|
ccs.sendMessage(ChatColor.RED + "数据表不存在,新建表" + dbtable + "...");
|
|
KeyValue kv = new KeyValue("player", "VARCHAR(16) NOT NULL")
|
|
.add("password", "VARCHAR(50) NOT NULL")
|
|
.add("ip", "VARCHAR(40) NOT NULL DEFAULT '127.0.0.1'")
|
|
.add("lastloginout", "BIGINT(20) NOT NULL DEFAULT 0")
|
|
.add("x", "DOUBLE NOT NULL DEFAULT 0")
|
|
.add("y", "DOUBLE NOT NULL DEFAULT 0")
|
|
.add("z", "DOUBLE NOT NULL DEFAULT 0")
|
|
.add("email", "VARCHAR(50) NOT NULL DEFAULT 'mc@mc.com'")
|
|
.add("world", "VARCHAR(20) DEFAULT 'world'")
|
|
.add("islogged", "SMALLINT(6) NOT NULL DEFAULT 0");
|
|
String Conditions = "UNIQUE (`player`)";
|
|
if (!sql.createTables(dbtable, kv, Conditions))
|
|
ccs.sendMessage(ChatColor.RED + "数据表 " + dbtable + " 创建失败,请尝试手动创建并重启服务器...");
|
|
else
|
|
ccs.sendMessage(ChatColor.GREEN + "数据表 " + dbtable + " 创建成功...");
|
|
}
|
|
}
|
|
}
|