Huhu,
nach langer Inaktivität hier im Forum melde ich mich mal mit einem Problem bzw. einer Frage zurück:
Ich habe wieder angefangen Minecraft Plugins zu programmieren und überlege aktuell ob es sinnvoller wäre, in der MySQL Datenbank gespeicherte Dinge(in dem Falle Stats) Ingame zwischenzuspeichern , solange diese Ingame durchgehend verändert oder genutzt werden.
Ich beziehe mich damit jetzt gerade hauptsächlich auf Stats. Wenn man jetzt beispielsweise die Stats beim Einloggen eines Spielers nur einmal aus der MySQL ausliest und beim Ausloggen wieder in der MySQL Datenbank speichert, wäre es doch besser als wenn man diese wegen jeder kleinsten Änderung ( z.B. einem Kill oder Geldveränderungen ) neu ausliest und dann wieder updatet, oder liege ich da falsch ?
Meine zweites Problem ist, dass ich noch nicht ganz sicher bin, auf welche Weise ich diese Daten dann zwischenspeichern soll, damit es am effektivsten ist.
//EDIT: Ich habe jetzt wirklich ziemlich viel gegooglet und bin zumindest schon so weit, dass ich mir ein PlayerStats Object angelegt habe. Ich weiß nur immernoch nicht, wie ich die Variablen bzw. Werte jetzt darin/damit speichere. Ich müsste ja die PlayerStats Klasse mit den UUIDs bzw. mit dem Player verbinden und so saven.
Hier noch die Klassen, falls irgendwie hilfreich:
Ich freue mich auf Ideen & Lösungen
MfG. Skeezy
nach langer Inaktivität hier im Forum melde ich mich mal mit einem Problem bzw. einer Frage zurück:
Ich habe wieder angefangen Minecraft Plugins zu programmieren und überlege aktuell ob es sinnvoller wäre, in der MySQL Datenbank gespeicherte Dinge(in dem Falle Stats) Ingame zwischenzuspeichern , solange diese Ingame durchgehend verändert oder genutzt werden.
Ich beziehe mich damit jetzt gerade hauptsächlich auf Stats. Wenn man jetzt beispielsweise die Stats beim Einloggen eines Spielers nur einmal aus der MySQL ausliest und beim Ausloggen wieder in der MySQL Datenbank speichert, wäre es doch besser als wenn man diese wegen jeder kleinsten Änderung ( z.B. einem Kill oder Geldveränderungen ) neu ausliest und dann wieder updatet, oder liege ich da falsch ?
Meine zweites Problem ist, dass ich noch nicht ganz sicher bin, auf welche Weise ich diese Daten dann zwischenspeichern soll, damit es am effektivsten ist.
//EDIT: Ich habe jetzt wirklich ziemlich viel gegooglet und bin zumindest schon so weit, dass ich mir ein PlayerStats Object angelegt habe. Ich weiß nur immernoch nicht, wie ich die Variablen bzw. Werte jetzt darin/damit speichere. Ich müsste ja die PlayerStats Klasse mit den UUIDs bzw. mit dem Player verbinden und so saven.
Hier noch die Klassen, falls irgendwie hilfreich:
Java:
public class sPlayer {
private int admin;
private int level;
private int bank;
private int cash;
private int deaths;
public sPlayer(int admin, int level, int bank, int cash, int deaths) {
this.admin = admin;
this.level = level;
this.bank = bank;
this.cash = cash;
this.deaths = deaths;
}
public void setAdmin(int admin) {
this.admin = admin;
}
public int getAdmin() {
return admin;
}
public void setLevel(int level) {
this.level = level;
}
public int getLevel() {
return level;
}
public void setBank(int bank) {
this.bank = bank;
}
public int getBank() {
return bank;
}
public void setCash(int cash) {
this.cash = cash;
}
public int getCash() {
return cash;
}
public void setDeaths(int deaths) {
this.deaths = deaths;
}
public int getDeaths() {
return deaths;
}
}
Java:
public class Stats {
public static boolean playerExists(String uuid) {
try {
ResultSet rs = MySQL.query("SELECT * FROM users WHERE UUID = '" +uuid+ "'");
if(rs.next()) {
return rs.getString("UUID") != null;
}
return false;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
public static void createPlayer(String uuid) {
if(!(playerExists(uuid))) {
MySQL.update("INSERT INTO users (UUID, ADMIN, LEVEL, BANK, CASH, DEATHS) VALUES ('" +uuid+ "', '0', '1', '0', '0', '0');");
}
}
/*public static void loadPlayer(String uuid) {
if(playerExists(uuid)) {
try {
ResultSet rs = MySQL.query("SELECT * FROM Stats WHERE UUID = '" +uuid+ "'");
} catch (Exception e) {
}
}
}*/
//savePlayer(String uuid)
}
Ich freue mich auf Ideen & Lösungen
MfG. Skeezy
Zuletzt bearbeitet: