目前,我正在寫一個RPG插件。我創建了一個PlayerInfo
類,用於存儲玩家的UUID,角色類(如騎士和弓箭手)以及修改玩家屬性的技能。 vitality
會增加玩家的健康,strength
會增加玩家的物理傷害,等等。Bukkit:如何存儲玩家和課程信息?
這裏的類迄今:
public class PlayerInfo {
public String suuid;
public String charClass;
public int vitality;
public int strength;
public int defense;
public int dexterity;
public int intelligence;
public int faith;
public PlayerInfo() {
}
public PlayerInfo(String UUID, String characterClass, int VIT, int STR, int DEF, int DEX, int INT, int FAI) {
suuid = UUID;
charClass = characterClass;
vitality = VIT;
strength = STR;
defense = DEF;
dexterity = DEX;
intelligence = INT;
faith = FAI;
}
我想說的清楚,我主要是一個Python和JavaScript程序員。大約兩天前我拿起了Java,所以如果我的代碼不衛生,我很抱歉。我仍然試圖理解語言及其實踐。如果你願意,我會很感激任何意見。雖然,隨時回答我的基本問題,因爲我將在未來的某個時間發佈到Code Review。
展望未來......
雖然關於這個插件的基本框架的工作,我已經意識到PlayerInfo
類內的信息是最有可能在服務器停止不保存。我想可能是我可以編寫信息,使用FileOutputStream
和ObjectOutputStream
,到一個文件,並存儲在一個config文件夾,後來與Input
版本的這些模塊的檢索。然而,當我試圖動態地選擇jar文件的路徑時遇到了一個問題,因爲我的服務器告訴我,在嘗試創建文件夾和文件時,我的Access被拒絕。
我試圖使用加載的信息時,我的最後一個問題。我的插件的命令以/static
開頭。如果我有一個名爲/static stats
的命令來顯示用戶的統計信息,那麼它與將用戶的UUID與存儲在保存文件中的UUID進行比較一樣簡單嗎?例如:
Player player = (Player) sender;
String suuid = player.getUniqueId().toString();
if (character.suuid == suuid) {
// Load stats here...
}
還是有不同的方式去做呢?
爲了簡化我的文章:
如何有效存儲播放器和類信息,以及如何稍後檢索該數據以用於信息並查看當前播放器是否與保存的對象相匹配?這是什麼東西像SQL被用於?
我將如何對應此HashMap到SQL數據庫PlayerInfo?如果這是一個複雜的答案,不要擔心沒有長時間的回答。我將開始一個新的問題線程。 – staticCoffee
@staticCoffee你的意思是如何將信息從HashMap傳輸到SQL數據庫? – elving
是的,如果不明確,我很抱歉。這是一個複雜的過程嗎? – staticCoffee