Compare commits

...

6 Commits

Author SHA1 Message Date
noil 811a56f3fa LoadCommand remove unloading test for reload later 2023-05-17 02:05:59 -04:00
noil e132ed7365 Punctuation for new commands 2023-05-17 01:44:24 -04:00
noil 6534eb32c5 Final fixes to Load/Save/Export commands 2023-05-17 01:43:05 -04:00
noil 7af3a6f613 Update SaveCommand text 2023-05-17 01:20:42 -04:00
noil 2cd23c3632 Remove NukerFilterConfig from Export & Load commands 2023-05-17 01:19:03 -04:00
noil 607fcb9b8d Add SaveCommand 2023-05-17 01:07:56 -04:00
7 changed files with 54 additions and 27 deletions

View File

@ -37,11 +37,11 @@ public abstract class Configurable {
}
protected void saveJsonObjectToFile(JsonObject object) {
public void saveJsonObjectToFile(JsonObject object) {
FileUtil.saveJsonFile(FileUtil.recreateFile(this.getFile()), object);
}
protected JsonObject convertJsonObjectFromFile() {
public JsonObject convertJsonObjectFromFile() {
if (!this.getFile().exists())
return new JsonObject();

View File

@ -16,7 +16,7 @@ import java.io.File;
*/
public final class ExportCommand extends Command {
public ExportCommand() {
super("Export", new String[]{"Exprt"}, "Export all Module & HUD configs into a single json for upload on Seppuku's website.", "Export <config_name>");
super("Export", new String[]{"Exprt"}, "Export all Module & HUD configs into a single json for upload on Seppuku's website", "Export <config_name>");
}
@Override
@ -33,29 +33,25 @@ public final class ExportCommand extends Command {
JsonObject endJson = new JsonObject();
for (Configurable cfg : Seppuku.INSTANCE.getConfigManager().getConfigurableList()) {
if (cfg.getClass().equals(ClientConfig.class)) {
final JsonObject clientJson = cfg.getJsonObject();
final JsonObject clientJson = cfg.convertJsonObjectFromFile();
endJson.add("Client", clientJson);
}
if (cfg.getClass().equals(XrayConfig.class)) {
final JsonObject xrayJson = cfg.getJsonObject();
final JsonObject xrayJson = cfg.convertJsonObjectFromFile();
endJson.add("Xray", xrayJson);
}
if (cfg.getClass().equals(SearchConfig.class)) {
final JsonObject searchJson = cfg.getJsonObject();
final JsonObject searchJson = cfg.convertJsonObjectFromFile();
endJson.add("Search", searchJson);
}
if (cfg.getClass().equals(NukerFilterConfig.class)) {
final JsonObject nukerFilterJson = cfg.getJsonObject();
endJson.add("NukerFilter", nukerFilterJson);
}
if (cfg.getClass().equals(ModuleConfig.class)) {
final JsonObject moduleJson = cfg.getJsonObject();
final JsonObject moduleJson = cfg.convertJsonObjectFromFile();
final ModuleConfig moduleConfig = (ModuleConfig) cfg;
final Module module = moduleConfig.getModule();
endJson.add("Module" + module.getDisplayName(), moduleJson);
}
if (cfg.getClass().equals(HudConfig.class)) {
final JsonObject hudJson = cfg.getJsonObject();
final JsonObject hudJson = cfg.convertJsonObjectFromFile();
final HudConfig hudConfig = (HudConfig) cfg;
final HudComponent hudComponent = hudConfig.getHudComponent();
endJson.add("HudComponent" + hudComponent.getName(), hudJson);
@ -64,7 +60,7 @@ public final class ExportCommand extends Command {
FileUtil.saveJsonFile(file, endJson);
Seppuku.INSTANCE.logChat("\247c" + "Exported config " + configName + ".json into the Seppuku directory.");
Seppuku.INSTANCE.logChat("\247c" + "Exported config " + configName + ".json into the Seppuku directory");
}
}

View File

@ -3,7 +3,6 @@ package me.rigamortis.seppuku.impl.command;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import me.rigamortis.seppuku.Seppuku;
import me.rigamortis.seppuku.api.cape.CapeUser;
import me.rigamortis.seppuku.api.command.Command;
import me.rigamortis.seppuku.impl.config.*;
import net.minecraft.client.Minecraft;
@ -19,7 +18,7 @@ import java.net.URL;
public final class LoadCommand extends Command {
public LoadCommand() {
super("Load", new String[]{"Lode"}, "Load a config from your profile on Seppuku's website.", "Load <pin>");
super("Load", new String[]{"Lode"}, "Load a config from your profile on Seppuku's website", "Load <pin>");
}
@Override
@ -52,7 +51,7 @@ public final class LoadCommand extends Command {
} catch (Exception e) {
e.printStackTrace();
Seppuku.INSTANCE.logChat("\247c" + "Error loading config from server.");
Seppuku.INSTANCE.logChat("\247c" + "Error loading config from server");
}
if (configJson != null) {
@ -65,10 +64,6 @@ public final class LoadCommand extends Command {
}
if (entry.getKey().equalsIgnoreCase("Search")) {
this.loadConfigForClass(SearchConfig.class, entry.getValue().getAsJsonObject());
}
if (entry.getKey().equalsIgnoreCase("NukerFilter")) {
this.loadConfigForClass(NukerFilterConfig.class, entry.getValue().getAsJsonObject());
}
Seppuku.INSTANCE.getModuleManager().getModuleList().forEach(module -> {
if (entry.getKey().equalsIgnoreCase("Module" + module.getDisplayName())) {
@ -82,7 +77,10 @@ public final class LoadCommand extends Command {
});
});
Seppuku.INSTANCE.logChat("\247c" + "Loaded config from server.");
// Seppuku.INSTANCE.getConfigManager().saveAll();
// Seppuku.INSTANCE.reload();
Seppuku.INSTANCE.logChat("\247c" + "Loaded config from server");
}
}
@ -95,8 +93,8 @@ public final class LoadCommand extends Command {
private void loadModuleConfigForClass(Class configClass, JsonObject jsonObject, String displayName) {
Seppuku.INSTANCE.getConfigManager().getConfigurableList().stream().filter(configurable -> configurable.getClass().equals(ModuleConfig.class)).forEach(configurable -> {
final ModuleConfig moduleConfig = (ModuleConfig) configurable;
if (moduleConfig.getModule().getDisplayName().equals(displayName)) {
configurable.onLoad(jsonObject);
if (moduleConfig.getModule().getDisplayName().equalsIgnoreCase(displayName)) {
moduleConfig.onLoad(jsonObject);
}
});
}
@ -104,8 +102,8 @@ public final class LoadCommand extends Command {
private void loadHudConfigForClass(Class configClass, JsonObject jsonObject, String name) {
Seppuku.INSTANCE.getConfigManager().getConfigurableList().stream().filter(configurable -> configurable.getClass().equals(HudConfig.class)).forEach(configurable -> {
final HudConfig hudConfig = (HudConfig) configurable;
if (hudConfig.getHudComponent().getName().equals(name)) {
configurable.onLoad(jsonObject);
if (hudConfig.getHudComponent().getName().equalsIgnoreCase(name)) {
hudConfig.onLoad(jsonObject);
}
});
}

View File

@ -0,0 +1,26 @@
package me.rigamortis.seppuku.impl.command;
import me.rigamortis.seppuku.Seppuku;
import me.rigamortis.seppuku.api.command.Command;
/**
* @author noil
*/
public final class SaveCommand extends Command {
public SaveCommand() {
super("Save", new String[]{"SaveAll"}, "Saves all client settings to disk", "Save");
}
@Override
public void exec(String input) {
if (!this.clamp(input, 1, 1)) {
this.printUsage();
return;
}
Seppuku.INSTANCE.getConfigManager().saveAll();
Seppuku.INSTANCE.logChat("Saved current config");
}
}

View File

@ -20,7 +20,7 @@ public class NukerFilterConfig extends Configurable {
public NukerFilterConfig(File dir) {
super(FileUtil.createJsonFile(dir, "NukerFilter"));
this.nukerModule = (NukerModule) Seppuku.INSTANCE.getModuleManager().find("Nuker");
this.nukerModule = (NukerModule) Seppuku.INSTANCE.getModuleManager().find(NukerModule.class);
}
@Override
@ -51,6 +51,12 @@ public class NukerFilterConfig extends Configurable {
if (this.nukerModule == null)
return;
if (this.nukerModule.getFilter().getValue() == null)
return;
if (this.nukerModule.getFilter().getValue().isEmpty())
return;
JsonObject save = new JsonObject();
JsonArray xrayIdsJsonArray = new JsonArray();

View File

@ -79,6 +79,7 @@ public final class CommandManager {
this.commandList.add(new NukerFilterCommand());
this.commandList.add(new ExportCommand());
this.commandList.add(new LoadCommand());
this.commandList.add(new SaveCommand());
//create commands for every value within every module
loadValueCommands();

View File

@ -86,7 +86,7 @@ public final class ConfigManager {
this.configurableList.add(new ModuleConfig(this.moduleConfigDir, module));
});
Seppuku.INSTANCE.getHudManager().getComponentList().stream().forEach(hudComponent -> {
Seppuku.INSTANCE.getHudManager().getComponentList().forEach(hudComponent -> {
this.configurableList.add(new HudConfig(this.hudComponentConfigDir, hudComponent));
});