diff --git a/src/main/java/meteordevelopment/meteorclient/systems/hud/elements/MeteorTextHud.java b/src/main/java/meteordevelopment/meteorclient/systems/hud/elements/MeteorTextHud.java index 16259d95e2..b5cba5a834 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/hud/elements/MeteorTextHud.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/hud/elements/MeteorTextHud.java @@ -31,6 +31,7 @@ public class MeteorTextHud { public static final HudElementInfo.Preset MODULE_ENABLED_WITH_INFO; public static final HudElementInfo.Preset WATERMARK; public static final HudElementInfo.Preset BARITONE; + public static final HudElementInfo.Preset PROFILE; static { addPreset("Empty", null); @@ -54,6 +55,7 @@ public class MeteorTextHud { MODULE_ENABLED_WITH_INFO = addPreset("Module enabled with info", "Kill Aura: {meteor.is_module_active(\"kill-aura\") ? #2 \"ON\" : #3 \"OFF\"} #1{meteor.get_module_info(\"kill-aura\")}", 0); WATERMARK = addPreset("Watermark", "{meteor.name} #1{meteor.version}"); BARITONE = addPreset("Baritone", "Baritone: #1{baritone.process_name}"); + PROFILE = addPreset("Profile", "Profile: #1{meteor.profile}"); } private static TextHud create() { diff --git a/src/main/java/meteordevelopment/meteorclient/systems/profiles/Profile.java b/src/main/java/meteordevelopment/meteorclient/systems/profiles/Profile.java index 8ce3aeb02f..81d9bbdfe9 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/profiles/Profile.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/profiles/Profile.java @@ -82,6 +82,8 @@ public void load() { if (macros.get()) Macros.get().load(folder); if (modules.get()) Modules.get().load(folder); if (waypoints.get()) Waypoints.get().load(folder); + + Profiles.get().setActiveProfile(this); } public void save() { diff --git a/src/main/java/meteordevelopment/meteorclient/systems/profiles/Profiles.java b/src/main/java/meteordevelopment/meteorclient/systems/profiles/Profiles.java index 0f37c0f49f..6523d2d20e 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/profiles/Profiles.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/profiles/Profiles.java @@ -24,11 +24,20 @@ public class Profiles extends System implements Iterable { public static final File FOLDER = new File(MeteorClient.FOLDER, "profiles"); private List profiles = new ArrayList<>(); + private Profile activeProfile = null; public Profiles() { super("profiles"); } + public void setActiveProfile(Profile profile) { + this.activeProfile = profile; + } + + public String getActiveProfileName() { + return activeProfile != null ? activeProfile.name.get() : "None"; + } + public static Profiles get() { return Systems.get(Profiles.class); } @@ -85,12 +94,14 @@ public boolean isEmpty() { public NbtCompound toTag() { NbtCompound tag = new NbtCompound(); tag.put("profiles", NbtUtils.listToTag(profiles)); + if (activeProfile != null) tag.putString("activeProfile", activeProfile.name.get()); return tag; } @Override public Profiles fromTag(NbtCompound tag) { profiles = NbtUtils.listFromTag(tag.getListOrEmpty("profiles"), Profile::new); + tag.getString("activeProfile").ifPresent(name -> activeProfile = get(name)); for (File file : FOLDER.listFiles()) { if (file.isDirectory() && get(file.getName()) == null) { diff --git a/src/main/java/meteordevelopment/meteorclient/utils/misc/MeteorStarscript.java b/src/main/java/meteordevelopment/meteorclient/utils/misc/MeteorStarscript.java index c6abd876b9..84de6a07c4 100644 --- a/src/main/java/meteordevelopment/meteorclient/utils/misc/MeteorStarscript.java +++ b/src/main/java/meteordevelopment/meteorclient/utils/misc/MeteorStarscript.java @@ -16,6 +16,7 @@ import meteordevelopment.meteorclient.systems.config.Config; import meteordevelopment.meteorclient.systems.modules.Module; import meteordevelopment.meteorclient.systems.modules.Modules; +import meteordevelopment.meteorclient.systems.profiles.Profiles; import meteordevelopment.meteorclient.utils.PreInit; import meteordevelopment.meteorclient.utils.Utils; import meteordevelopment.meteorclient.utils.player.ChatUtils; @@ -94,6 +95,7 @@ public static void init() { .set("get_module_info", MeteorStarscript::getModuleInfo) .set("get_module_setting", MeteorStarscript::getModuleSetting) .set("prefix", MeteorStarscript::getMeteorPrefix) + .set("profile", () -> Value.string(Profiles.get().getActiveProfileName())) ); // Baritone