fix config settings
This commit is contained in:
parent
0982c30299
commit
ce8dd2ebed
3 changed files with 42 additions and 4 deletions
|
@ -6,17 +6,23 @@ import java.nio.file.Files;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
|
|
||||||
import me.kawaiizenbo.moonlight.module.Category;
|
import me.kawaiizenbo.moonlight.module.Category;
|
||||||
import me.kawaiizenbo.moonlight.module.ModuleManager;
|
import me.kawaiizenbo.moonlight.module.ModuleManager;
|
||||||
import me.kawaiizenbo.moonlight.module.Module_;
|
import me.kawaiizenbo.moonlight.module.Module_;
|
||||||
|
import me.kawaiizenbo.moonlight.module.settings.BooleanSetting;
|
||||||
|
import me.kawaiizenbo.moonlight.module.settings.DoubleSetting;
|
||||||
import me.kawaiizenbo.moonlight.module.settings.Setting;
|
import me.kawaiizenbo.moonlight.module.settings.Setting;
|
||||||
import me.kawaiizenbo.moonlight.ui.clickgui.ClickGUIScreen;
|
import me.kawaiizenbo.moonlight.ui.clickgui.ClickGUIScreen;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
|
||||||
public class Config
|
public class Config
|
||||||
{
|
{
|
||||||
|
public static final Logger LOGGER = LoggerFactory.getLogger("mcfg");
|
||||||
MinecraftClient mc = MinecraftClient.getInstance();
|
MinecraftClient mc = MinecraftClient.getInstance();
|
||||||
public File configDir = new File(mc.runDirectory.getPath() + "/moonlight");
|
public File configDir = new File(mc.runDirectory.getPath() + "/moonlight");
|
||||||
public File configFile = new File(configDir, "config.json");
|
public File configFile = new File(configDir, "config.json");
|
||||||
|
@ -41,10 +47,19 @@ public class Config
|
||||||
{
|
{
|
||||||
Map<String, Object> mo = new HashMap<>();
|
Map<String, Object> mo = new HashMap<>();
|
||||||
mo.put("enabled", m.enabled);
|
mo.put("enabled", m.enabled);
|
||||||
|
Map<String, Object> ms = new HashMap<>();
|
||||||
for (Setting s : m.settings)
|
for (Setting s : m.settings)
|
||||||
{
|
{
|
||||||
mo.put(s.name, s.value);
|
if (s instanceof BooleanSetting)
|
||||||
|
{
|
||||||
|
ms.put(s.name, ((BooleanSetting)s).value);
|
||||||
|
}
|
||||||
|
else if (s instanceof DoubleSetting)
|
||||||
|
{
|
||||||
|
ms.put(s.name, ((DoubleSetting)s).value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
mo.put("settings", ms);
|
||||||
mi.put(m.name, mo);
|
mi.put(m.name, mo);
|
||||||
}
|
}
|
||||||
config.put("modules", mi);
|
config.put("modules", mi);
|
||||||
|
|
|
@ -10,6 +10,8 @@ import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import me.kawaiizenbo.moonlight.module.ModuleManager;
|
import me.kawaiizenbo.moonlight.module.ModuleManager;
|
||||||
import me.kawaiizenbo.moonlight.module.Module_;
|
import me.kawaiizenbo.moonlight.module.Module_;
|
||||||
|
import me.kawaiizenbo.moonlight.module.settings.BooleanSetting;
|
||||||
|
import me.kawaiizenbo.moonlight.module.settings.DoubleSetting;
|
||||||
import me.kawaiizenbo.moonlight.module.settings.Setting;
|
import me.kawaiizenbo.moonlight.module.settings.Setting;
|
||||||
import me.kawaiizenbo.moonlight.ui.clickgui.CategoryPane;
|
import me.kawaiizenbo.moonlight.ui.clickgui.CategoryPane;
|
||||||
import me.kawaiizenbo.moonlight.ui.clickgui.ClickGUIScreen;
|
import me.kawaiizenbo.moonlight.ui.clickgui.ClickGUIScreen;
|
||||||
|
@ -44,9 +46,22 @@ public class Moonlight implements ModInitializer
|
||||||
for (Module_ m : ModuleManager.INSTANCE.modules)
|
for (Module_ m : ModuleManager.INSTANCE.modules)
|
||||||
{
|
{
|
||||||
m.enabled = (boolean)((Map<String, Object>)((Map<String, Object>)CONFIG.config.get("modules")).get(m.name)).get("enabled");
|
m.enabled = (boolean)((Map<String, Object>)((Map<String, Object>)CONFIG.config.get("modules")).get(m.name)).get("enabled");
|
||||||
|
if (m.enabled)
|
||||||
|
{
|
||||||
|
//m.onEnable();
|
||||||
|
/// brocken :(
|
||||||
|
}
|
||||||
for (Setting s : m.settings)
|
for (Setting s : m.settings)
|
||||||
{
|
{
|
||||||
s.value = ((Map<String, Object>)((Map<String, Object>)CONFIG.config.get("modules")).get(m.name)).get(s.name);
|
if (s instanceof BooleanSetting)
|
||||||
|
{
|
||||||
|
((BooleanSetting)s).value = (boolean)((Map<String, Object>)((Map<String, Object>)((Map<String, Object>)CONFIG.config.get("modules")).get(m.name)).get("settings")).get(s.name);
|
||||||
|
}
|
||||||
|
else if (s instanceof DoubleSetting)
|
||||||
|
{
|
||||||
|
((DoubleSetting)s).value = (Double)((Map<String, Object>)((Map<String, Object>)((Map<String, Object>)CONFIG.config.get("modules")).get(m.name)).get("settings")).get(s.name);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -59,10 +74,19 @@ public class Moonlight implements ModInitializer
|
||||||
{
|
{
|
||||||
Map<String, Object> mo = new HashMap<>();
|
Map<String, Object> mo = new HashMap<>();
|
||||||
mo.put("enabled", m.enabled);
|
mo.put("enabled", m.enabled);
|
||||||
|
Map<String, Object> ms = new HashMap<>();
|
||||||
for (Setting s : m.settings)
|
for (Setting s : m.settings)
|
||||||
{
|
{
|
||||||
mo.put(s.name, s.value);
|
if (s instanceof BooleanSetting)
|
||||||
|
{
|
||||||
|
ms.put(s.name, ((BooleanSetting)s).value);
|
||||||
|
}
|
||||||
|
else if (s instanceof DoubleSetting)
|
||||||
|
{
|
||||||
|
ms.put(s.name, ((DoubleSetting)s).value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
mo.put("settings", ms);
|
||||||
mi.put(m.name, mo);
|
mi.put(m.name, mo);
|
||||||
}
|
}
|
||||||
CONFIG.config.put("modules", mi);
|
CONFIG.config.put("modules", mi);
|
||||||
|
|
|
@ -7,7 +7,6 @@ public class Setting
|
||||||
{
|
{
|
||||||
public String name;
|
public String name;
|
||||||
public int height = 24;
|
public int height = 24;
|
||||||
public Object value;
|
|
||||||
|
|
||||||
int x = 0, y = 0;
|
int x = 0, y = 0;
|
||||||
public void render(DrawContext drawContext, int x, int y, int mouseX, int mouseY, TextRenderer textRenderer)
|
public void render(DrawContext drawContext, int x, int y, int mouseX, int mouseY, TextRenderer textRenderer)
|
||||||
|
|
Loading…
Add table
Reference in a new issue