現在、私はRPGプラグインを作成しています。私は、プレーヤーのUUID、騎士とアーチャーのようなキャラクタークラス、プレーヤーの属性を変更するスキルを格納するPlayerInfo
クラスを作成しました。 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のプログラマだと言いたいです。私は約2日前にJavaを拾いました。私のコードが非衛生的であれば、お詫びします。私はまだ言語とその実践を理解しようとしています。あなたが望むなら、それについてのアドバイスもありがとうと思います。しかし、私の基本的な質問にはちょうど答えてください。将来私はコードレビューにも投稿しています。今後
...
このプラグインの基本的な枠組みに取り組んでいる間は、私はPlayerInfo
クラス内の情報は、サーバーが停止されたときに保存されていない可能性が高いことに気づきました。私はおそらく、FileOutputStream
とObjectOutputStream
を使ってファイルに情報を書き込んで、それをconfigフォルダに保存し、後でこれらのモジュールのバージョンInput
で取得できると考えました。しかし、フォルダとファイルを作成しようとしたときにアクセスが拒否されたと私のサーバーから通知されたので、jarファイルのパスを動的に取得しようとすると問題が発生しました。
私の最後の問題は、読み込まれた情報を使用しようとしたときです。私のプラグインのコマンドは/static
で始まります。ユーザの統計情報を表示する/static stats
というコマンドがあると、ユーザのUUIDと保存ファイルに保存されているものを比較するだけで簡単ですか?例:
Player player = (Player) sender;
String suuid = player.getUniqueId().toString();
if (character.suuid == suuid) {
// Load stats here...
}
または別の方法でこれを行う方法はありますか?
Playerとクラス情報を効果的に保存するにはどうしたらいいですか?また、後で情報に使用するデータを取得して、現在のプレーヤーが保存されたオブジェクトと一致するかどうかを確認できますか?これはSQLのようなものが使われていますか?
に選手を配置する簡単な関数を作成することができますか?それが複雑な答えであれば、長い答えで応答しないことを心配しないでください。私はちょうど新しい質問スレッドを開始します。 – staticCoffee
@staticCoffeeあなたはHashMapからSQLデータベースに情報をどのように転送するのでしょうか? – elving
はい、申し訳ありませんが、それは明確ではありません。それは複雑なプロセスですか? – staticCoffee