Welcome on MasterOf13FPS! MasterOf13FPS

Register today or sign up if you are already a member and never miss any cool content again :)

Saved Modules Toggle bug [REQ]

MasterOf13FPS

Administrator
Staff member
Administrator
MasterOf13FPS
Joined
Jul 11, 2020
Messages
0
Reaction score
25
Points
0
Heey, ich habe etwas gemacht, dass meine modules beim Restart des Clients gesaved werden, aber wenn ich meinen Client nun neustarte, sind die modules zwar getoggled aber sie funktionieren nicht...

hier mein loadStatus:
[hide]
public void loadStatus() {
File file = new File(Xerion.instance.path, "activeModules.xerion");
if (file.exists()) {
try (Scanner scanner = new Scanner(file)) {
while (scanner.hasNextLine()) {
String[] part = scanner.nextLine().split(separator);
if (part[0].equals(versionID)) {
if (!part[1].equals(Xerion.path)) {
scanner.close();
saveStatus();
return;
}
}
for (Module mod : getMods()) {
if (part[0].equals(mod.getName())) {
mod.setActive(Boolean.parseBoolean(part[1]));
}
}
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
} else {
this.saveStatus();
}
}
[/hide]

schonmal danke im vorraus c:

lg, gnmodz
 
In dem Code kann ich leider keinen Grund dafür finden, allerdings kann man diesen auch verbessern.
Code:
Xerion.instance.path
Code:
Xerion.path
Scheinbar ist 'path' statisch, ich würde den 'static'-Modifier weglassen.

Code:
try (Scanner scanner = new Scanner(file)) {
[...]
scanner.close();
}
In einem try-with-resources Block ist es nicht nötig, die jeweiligen Closeables zu schließen
Code:
if (part[0].equals(versionID)) {
 if (!part[1].equals(Xerion.path)) {
  scanner.close();
  saveStatus();
  return;
 }
}
Das kann man so zusammenfassen:
Code:
if (part[0].equals(versionID) && !part[1].equals(Xerion.path)) {
 saveStatus();
 return;
}
Ich würde außerdem nicht mal schauen, ob die Version die gleiche ist, dann können die Benutzer die Konfiguration auch in einer späteren Version verwenden.

Du kannst auch mal JSON testen, das ist meiner Meinung nach eine bessere Möglichkeit eine Konfiguration zu speichern.
 
shape1
shape2
shape3
shape4
shape5
shape6
Back
Top