目前,我正在写一个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