ModCommand #445
@ -64,7 +64,7 @@ public class ModCommand extends SWCommand {
|
||||
}
|
||||
|
||||
public void updateAndCloseGui(Mod.ModType modType,String modName,Mod.Platform modPlatform,SWInventory toClose,ProxiedPlayer p) {
|
||||
Mod.setMod(modType, modName, modPlatform);
|
||||
Mod.get(modName,modPlatform).setModType(modType,modName,modPlatform);
|
||||
toClose.close();
|
||||
openGui(p);
|
||||
}
|
||||
@ -123,7 +123,7 @@ public class ModCommand extends SWCommand {
|
||||
return;
|
||||
}
|
||||
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
|
||||
Mod.setMod(newModType,modName,platform);
|
||||
Mod.get(modName,platform).setModType(newModType,modName,platform);
|
||||
|
||||
Message.send("MOD_CHANGED_TYPE",p,modName,platform.name(),newModType.name());
|
||||
}
|
||||
@ -135,10 +135,9 @@ public class ModCommand extends SWCommand {
|
||||
|
||||
@Register(value = {"next"})
|
||||
public void next(ProxiedPlayer p) {
|
||||
Pair<String ,Integer> foundMod = Mod.findFirstMod();
|
||||
Mod mod = Mod.get(foundMod.getKey(),foundMod.getValue());
|
||||
Mod mod = Mod.findFirstMod();
|
||||
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Wenn du das Mod-Object hast, weißt du schon, welcher Typ das ganze ist... Wenn du das Mod-Object hast, weißt du schon, welcher Typ das ganze ist...
|
||||
if(foundMod == null) {
|
||||
if(mod == null) {
|
||||
Message.send("MOD_NO_MORE_UNCLASSIFIED_MODS",p);
|
||||
return;
|
||||
}
|
||||
|
@ -70,25 +70,13 @@ public class Mod {
|
||||
return get(modName,platform).modType;
|
||||
}
|
||||
|
||||
public static void setMod(Mod.ModType newModType,String modName,Mod.Platform platform) {
|
||||
public void setModType(Mod.ModType newModType,String modName,Mod.Platform platform) {
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Bitte umbenennen in setModType und in Member-Funktion umwandeln (wie getModType)! Bitte umbenennen in setModType und in Member-Funktion umwandeln (wie getModType)!
Lixfel
hat
Bitte modName und platform aus den Argumenten entfernen und von dieser Mod-Instanz verwenden. Bitte modName und platform aus den Argumenten entfernen und von dieser Mod-Instanz verwenden.
|
||||
set.update(newModType.value ,modName,platform.value);
|
||||
}
|
||||
|
||||
public static boolean doesModExist(String modName,Mod.Platform modPlatform) {
|
||||
Lixfel markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Schöner wäre (weil ansonsten doppelter Datenbankzugriff) wenn du die derzeitige get()-Methode umbennenen würdest in z.B. getOrCreate() und den eigentlichen get() Anteil der Methode in eine neue get()-Methode auslagerst, welche einfach null zurückliefert, wenn der Mod nicht existiert. (Weniger Codeduplication, weniger DB-Calls) Schöner wäre (weil ansonsten doppelter Datenbankzugriff) wenn du die derzeitige get()-Methode umbennenen würdest in z.B. getOrCreate() und den eigentlichen get() Anteil der Methode in eine neue get()-Methode auslagerst, welche einfach null zurückliefert, wenn der Mod nicht existiert. (Weniger Codeduplication, weniger DB-Calls)
|
||||
return get.select(ResultSet::next,modName,modPlatform.value);
|
||||
}
|
||||
|
||||
public static List<Mod> getAll(int page, int elementsPerPage) {
|
||||
return Mod.getAll.select(rs -> {
|
||||
List<Mod> f = new ArrayList<>();
|
||||
while(rs.next()){
|
||||
Mod entry = new Mod(rs.getString("ModName"), Mod.Platform.valueOf(rs.getInt("Platform")),Mod.ModType.valueOf(rs.getInt("ModType")));
|
||||
f.add(entry);
|
||||
}
|
||||
return f;
|
||||
},page * elementsPerPage, elementsPerPage);
|
||||
}
|
||||
|
||||
public static List<Mod> getAllModsFiltered(int page,int elementsPerPage, Mod.ModType filter) {
|
||||
return Mod.getAllFiltered.select(rs -> {
|
||||
List<Mod> f = new ArrayList<>();
|
||||
@ -100,11 +88,11 @@ public class Mod {
|
||||
},filter.value, page * elementsPerPage, elementsPerPage);
|
||||
}
|
||||
|
||||
public static Pair<String,Integer> findFirstMod() {
|
||||
public static Mod findFirstMod() {
|
||||
findFirst.select(rs -> {
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Statt filtered würde ich eher getAllModsOfType verwenden... (auch SQL-Statement so umbenennen) Statt filtered würde ich eher getAllModsOfType verwenden... (auch SQL-Statement so umbenennen)
zOnlyKroks
hat
damit würde ich aber permanent einen filter applien. wenn ich dies aber nicht möchte, brauch ich das statement ohne filter damit würde ich aber permanent einen filter applien. wenn ich dies aber nicht möchte, brauch ich das statement ohne filter
Lixfel
hat
Was ja auch der Methodenname "ofType" impliziert. Damit ändert sich ja nichts am Methodeninhalt, nur statt filtered - ofType im Namen. Was ja auch der Methodenname "ofType" impliziert. Damit ändert sich ja nichts am Methodeninhalt, nur statt filtered - ofType im Namen.
|
||||
String name = rs.getString("ModName");
|
||||
int platform = rs.getInt("Platform");
|
||||
return new ImmutablePair<>(name,platform);
|
||||
return get(name,Platform.valueOf(platform));
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Du hast hier doch bereits schon auch den ModType, warum erstellst du nicht direkt ein Mod-Objekt? So machst du stattdessen nochmal einen Datenbankaufruf! Du hast hier doch bereits schon auch den ModType, warum erstellst du nicht direkt ein Mod-Objekt? So machst du stattdessen nochmal einen Datenbankaufruf!
|
||||
});
|
||||
return null;
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Wie wäre es, statt immer null zu returnen, dein Ergebnis von findFirst zu returnen? Wie wäre es, statt immer null zu returnen, dein Ergebnis von findFirst zu returnen?
|
||||
}
|
||||
|
Kann auch durch Mod klasse ersetzt werden