簡體   English   中英

從MySQL數據庫刪除播放器

[英]Delete player from MySQL database

我有一個命令可以從MySQL數據庫中踢出播放器,但是當播放器處於脫機狀態時該命令不起作用。 它不會從數據庫中刪除它們。

這是我的代碼:

this.ms.connect();
PreparedStatement kick = this.ms.prepare("DELETE FROM `players` WHERE `nick` = ?");

try {
    kick.setString(1, args[0]);
} catch (SQLException e) {
    e.printStackTrace();
}

this.ms.execute(kick);

我得到的錯誤是:

Caused by: java.lang.IllegalArgumentException: OfflinePlayer cannot be null

尚不清楚,但是如果nick是玩家的用戶名,請執行以下操作:

Bukkit.getOfflinePlayer(args[0]).getName()

請記住, args[0]應該是用戶名,但是如果它是UUID,請執行以下操作:

Bukkit.getOfflinePlayer(UUID.fromString(args[0]))

如果找不到確切名稱的離線播放器,則需要使用播放器uuid。 另外,請確保所有mySql請求都在新的異步線程上工作,而不是在主服務器線程上工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM