Search in sources :

Example 1 with Mod

use of dev.hypnotic.module.Mod in project Hypnotic-Client by Hypnotic-Development.

the class ClickGUI method refresh.

private void refresh() {
    buttons.clear();
    buttonNames.clear();
    Collections.sort(ModuleManager.INSTANCE.getModulesInCategory(currentCategory), Comparator.comparing(Mod::getName));
    for (Mod mod : ModuleManager.INSTANCE.getModulesInCategory(currentCategory)) {
        if (!(mod instanceof FlightBlink)) {
            buttonNames.add(mod.getName());
        }
    }
    buttonNames.sort(Collator.getInstance());
    Collections.sort(buttons, Comparator.comparing(ModuleButton::getName));
    int count = 0;
    for (String name : buttonNames) {
        ModuleButton mb = new ModuleButton(ModuleManager.INSTANCE.getModuleByName(name), currentCategory, x + 120, y + count);
        buttons.add(mb);
        mb.startY = count;
        count += 30;
    }
    this.offset = 0;
}
Also used : FlightBlink(dev.hypnotic.module.movement.FlightBlink) Mod(dev.hypnotic.module.Mod)

Example 2 with Mod

use of dev.hypnotic.module.Mod in project Hypnotic-Client by Hypnotic-Development.

the class ModuleArgumentType method parse.

@Override
public Mod parse(StringReader reader) throws CommandSyntaxException {
    String argument = reader.readString();
    Mod module = ModuleManager.INSTANCE.getModuleByName(argument);
    if (module == null)
        throw NO_SUCH_MODULE.create(argument);
    return module;
}
Also used : Mod(dev.hypnotic.module.Mod)

Example 3 with Mod

use of dev.hypnotic.module.Mod in project Hypnotic-Client by Hypnotic-Development.

the class Bind method build.

@Override
public void build(LiteralArgumentBuilder<CommandSource> builder) {
    builder.then(argument("mod", ModuleArgumentType.module()).then(argument("key", StringArgumentType.string()).executes(context -> {
        Mod mod = context.getArgument("mod", Mod.class);
        String key = context.getArgument("key", String.class);
        mod.setKey(KeyUtils.getKey(key));
        ChatUtils.tellPlayer("Bound " + ColorUtils.white + mod.getName() + ColorUtils.gray + " to " + ColorUtils.white + (KeyUtils.getKey(key) != -1 ? GLFW.glfwGetKeyName(KeyUtils.getKey(key), KeyUtils.getKeyScanCode(key)).toUpperCase() : "NONE"));
        return SINGLE_SUCCESS;
    })));
}
Also used : Mod(dev.hypnotic.module.Mod)

Example 4 with Mod

use of dev.hypnotic.module.Mod 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());
}
Also used : NumberSetting(dev.hypnotic.settings.settingtypes.NumberSetting) ColorSetting(dev.hypnotic.settings.settingtypes.ColorSetting) Mod(dev.hypnotic.module.Mod) GsonBuilder(com.google.gson.GsonBuilder) ModeSetting(dev.hypnotic.settings.settingtypes.ModeSetting) ColorSetting(dev.hypnotic.settings.settingtypes.ColorSetting) Setting(dev.hypnotic.settings.Setting) ModeSetting(dev.hypnotic.settings.settingtypes.ModeSetting) KeybindSetting(dev.hypnotic.settings.settingtypes.KeybindSetting) NumberSetting(dev.hypnotic.settings.settingtypes.NumberSetting) BooleanSetting(dev.hypnotic.settings.settingtypes.BooleanSetting) KeybindSetting(dev.hypnotic.settings.settingtypes.KeybindSetting) ArrayList(java.util.ArrayList) BooleanSetting(dev.hypnotic.settings.settingtypes.BooleanSetting) Gson(com.google.gson.Gson)

Example 5 with Mod

use of dev.hypnotic.module.Mod 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;
}
Also used : ColorSetting(dev.hypnotic.settings.settingtypes.ColorSetting) Mod(dev.hypnotic.module.Mod) GsonBuilder(com.google.gson.GsonBuilder) ModeSetting(dev.hypnotic.settings.settingtypes.ModeSetting) ColorSetting(dev.hypnotic.settings.settingtypes.ColorSetting) Setting(dev.hypnotic.settings.Setting) ModeSetting(dev.hypnotic.settings.settingtypes.ModeSetting) KeybindSetting(dev.hypnotic.settings.settingtypes.KeybindSetting) NumberSetting(dev.hypnotic.settings.settingtypes.NumberSetting) BooleanSetting(dev.hypnotic.settings.settingtypes.BooleanSetting) BooleanSetting(dev.hypnotic.settings.settingtypes.BooleanSetting) Gson(com.google.gson.Gson) HudModule(dev.hypnotic.module.hud.HudModule) IOException(java.io.IOException) NumberSetting(dev.hypnotic.settings.settingtypes.NumberSetting)

Aggregations

Mod (dev.hypnotic.module.Mod)16 ArrayList (java.util.ArrayList)5 Gson (com.google.gson.Gson)4 GsonBuilder (com.google.gson.GsonBuilder)4 HudModule (dev.hypnotic.module.hud.HudModule)4 Setting (dev.hypnotic.settings.Setting)4 BooleanSetting (dev.hypnotic.settings.settingtypes.BooleanSetting)4 ColorSetting (dev.hypnotic.settings.settingtypes.ColorSetting)4 KeybindSetting (dev.hypnotic.settings.settingtypes.KeybindSetting)4 ModeSetting (dev.hypnotic.settings.settingtypes.ModeSetting)4 NumberSetting (dev.hypnotic.settings.settingtypes.NumberSetting)4 IOException (java.io.IOException)3 Inject (org.spongepowered.asm.mixin.injection.Inject)3 Friend (dev.hypnotic.config.friends.Friend)2 EventTarget (dev.hypnotic.event.EventTarget)2 Category (dev.hypnotic.module.Category)2 Frame (dev.hypnotic.ui.clickgui2.frame.Frame)2 Waypoint (dev.hypnotic.waypoint.Waypoint)2 FileNotFoundException (java.io.FileNotFoundException)2 EventKeyPress (dev.hypnotic.event.events.EventKeyPress)1