use of dev.hypnotic.settings.settingtypes.ModeSetting in project Hypnotic-Client by Hypnotic-Development.
the class Config method serialize.
public String serialize() {
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().setPrettyPrinting().create();
for (Mod module : ModuleManager.INSTANCE.getAllModules()) {
List<ConfigSetting> settings = new ArrayList<>();
for (Setting setting : module.settings) {
if (setting instanceof KeybindSetting)
continue;
ConfigSetting cfgSetting = new ConfigSetting(null, null);
cfgSetting.name = setting.name;
if (setting instanceof BooleanSetting) {
cfgSetting.value = ((BooleanSetting) setting).isEnabled();
}
if (setting instanceof ModeSetting) {
cfgSetting.value = ((ModeSetting) setting).getSelected();
}
if (setting instanceof NumberSetting) {
cfgSetting.value = ((NumberSetting) setting).getValue();
}
if (setting instanceof ColorSetting) {
cfgSetting.value = ((ColorSetting) setting).getHex();
}
settings.add(cfgSetting);
}
module.cfgSettings = settings.toArray(new ConfigSetting[0]);
}
return gson.toJson(ModuleManager.INSTANCE.getAllModules());
}
use of dev.hypnotic.settings.settingtypes.ModeSetting in project Hypnotic-Client by Hypnotic-Development.
the class ConfigManager method loadConfig.
public boolean loadConfig() {
try {
String configString = new String(Files.readAllBytes(config.toPath()));
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().setPrettyPrinting().create();
Mod[] modules = gson.fromJson(configString, Mod[].class);
HudModule[] hudModules = gson.fromJson(configString, HudModule[].class);
for (Mod module : ModuleManager.INSTANCE.getAllModules()) {
if (module instanceof HudModule) {
HudModule hudMod = (HudModule) module;
for (HudModule configHudModule : hudModules) {
if (hudMod.getName().equals(configHudModule.getName())) {
hudMod.setX(configHudModule.getX());
hudMod.setY(configHudModule.getY());
System.out.println(hudMod.getName() + ":" + configHudModule.getX());
}
}
}
for (Mod configModule : modules) {
if (module.getName().equals(configModule.getName())) {
try {
if (configModule.isEnabled() && !module.isEnabled())
module.setEnabled(true);
else if (!configModule.isEnabled() && module.isEnabled())
module.setEnabled(false);
module.setKey(configModule.getKey());
for (Setting setting : module.settings) {
for (ConfigSetting cfgSetting : configModule.cfgSettings) {
if (setting.name.equals(cfgSetting.name)) {
if (setting instanceof BooleanSetting) {
((BooleanSetting) setting).setEnabled((boolean) cfgSetting.value);
}
if (setting instanceof ModeSetting) {
((ModeSetting) setting).setSelected((String) cfgSetting.value);
}
if (setting instanceof NumberSetting) {
((NumberSetting) setting).setValue((double) cfgSetting.value);
}
if (setting instanceof ColorSetting) {
int[] color = ((ColorSetting) setting).hexToRgbInt((String) cfgSetting.value);
((ColorSetting) setting).setRGB(color[0], color[1], color[2], color[3]);
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
use of dev.hypnotic.settings.settingtypes.ModeSetting in project Hypnotic-Client by Hypnotic-Development.
the class ConfigManager method serialize.
public String serialize() {
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().setPrettyPrinting().create();
for (Mod module : ModuleManager.INSTANCE.getAllModules()) {
List<ConfigSetting> settings = new ArrayList<>();
for (Setting setting : module.settings) {
if (setting instanceof KeybindSetting)
continue;
ConfigSetting cfgSetting = new ConfigSetting(null, null);
cfgSetting.name = setting.name;
if (setting instanceof BooleanSetting) {
cfgSetting.value = ((BooleanSetting) setting).isEnabled();
}
if (setting instanceof ModeSetting) {
cfgSetting.value = ((ModeSetting) setting).getSelected();
}
if (setting instanceof NumberSetting) {
cfgSetting.value = ((NumberSetting) setting).getValue();
}
if (setting instanceof ColorSetting) {
ColorSetting colorSet = (ColorSetting) setting;
cfgSetting.value = colorSet.getHex();
}
settings.add(cfgSetting);
}
module.cfgSettings = settings.toArray(new ConfigSetting[0]);
}
return gson.toJson(ModuleManager.INSTANCE.getAllModules());
}
use of dev.hypnotic.settings.settingtypes.ModeSetting in project Hypnotic-Client by Hypnotic-Development.
the class ConfigManager method load.
public boolean load(String name) {
Config config = new Config(name);
try {
String configString = new String(Files.readAllBytes(config.getFile().toPath()));
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().setPrettyPrinting().create();
Mod[] modules = gson.fromJson(configString, Mod[].class);
HudModule[] hudModules = gson.fromJson(configString, HudModule[].class);
for (Mod module : ModuleManager.INSTANCE.getAllModules()) {
for (HudModule configHudModule : hudModules) {
HudModule hudMod = (HudModule) module;
hudMod.setX(configHudModule.getX());
hudMod.setY(configHudModule.getY());
}
for (Mod configModule : modules) {
if (module.getName().equals(configModule.getName())) {
try {
if (configModule.isEnabled() && !module.isEnabled())
module.toggle();
else if (!configModule.isEnabled() && module.isEnabled())
module.setEnabled(false);
module.setKey(configModule.getKey());
if (module instanceof HudModule) {
HudModule hudMod = (HudModule) module;
HudModule configHudMod = (HudModule) configModule;
hudMod.setX(configHudMod.getX());
hudMod.setY(configHudMod.getY());
}
for (Setting setting : module.settings) {
for (ConfigSetting cfgSetting : configModule.cfgSettings) {
if (setting.name.equals(cfgSetting.name)) {
if (setting instanceof BooleanSetting) {
((BooleanSetting) setting).setEnabled((boolean) cfgSetting.value);
}
if (setting instanceof ModeSetting) {
((ModeSetting) setting).setSelected((String) cfgSetting.value);
}
if (setting instanceof NumberSetting) {
((NumberSetting) setting).setValue((double) cfgSetting.value);
}
if (setting instanceof ColorSetting) {
int[] color = ((ColorSetting) setting).hexToRgbInt((String) cfgSetting.value);
((ColorSetting) setting).setRGB(color[0], color[1], color[2], color[3]);
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
Aggregations