Skip to content

Commit 1868d2c

Browse files
committed
Allow using normal meteor discord presence
1 parent bd5ff79 commit 1868d2c

1 file changed

Lines changed: 55 additions & 7 deletions

File tree

Lines changed: 55 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,82 @@
11
package cqb13.NumbyHack.mixins.meteor;
22

33
import meteordevelopment.discordipc.RichPresence;
4+
import meteordevelopment.meteorclient.systems.modules.Category;
45
import meteordevelopment.meteorclient.systems.modules.misc.DiscordPresence;
56
import org.spongepowered.asm.mixin.Mixin;
7+
import org.spongepowered.asm.mixin.injection.Inject;
68
import org.spongepowered.asm.mixin.injection.*;
79
import org.spongepowered.asm.mixin.injection.invoke.arg.Args;
10+
import meteordevelopment.meteorclient.systems.modules.Module;
11+
import meteordevelopment.meteorclient.settings.*;
12+
import org.spongepowered.asm.mixin.injection.At;
13+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
814

915
@Mixin(value = DiscordPresence.class, remap = false)
10-
public class DiscordPresenceMixin {
16+
public abstract class DiscordPresenceMixin extends Module {
17+
private SettingGroup numby$sgNumby;
18+
private Setting<Boolean> numby$numbyImage;
19+
private Setting<Boolean> numby$numbyImageText;
20+
private Setting<Boolean> numby$numbyDetails;
21+
22+
public DiscordPresenceMixin(Category category, String name , String description) {
23+
super(category, name, description);
24+
}
25+
26+
@Inject(method = "<init>", at = @At("TAIL"))
27+
private void constructor(CallbackInfo ci) {
28+
numby$sgNumby = settings.createGroup("Numby Presence");
29+
numby$numbyImage = numby$sgNumby.add(new BoolSetting.Builder()
30+
.name("numby-image")
31+
.description("Shows the Numby Hack logo as the large image.")
32+
.defaultValue(true)
33+
.build()
34+
);
35+
numby$numbyImageText = numby$sgNumby.add(new BoolSetting.Builder()
36+
.name("numby-image-text")
37+
.description("Displays Numby Hack text as the large image text.")
38+
.defaultValue(true)
39+
.build()
40+
);
41+
numby$numbyDetails = numby$sgNumby.add(new BoolSetting.Builder()
42+
.name("numby-details")
43+
.description("Shows the current module in use as the details.")
44+
.defaultValue(true)
45+
.build()
46+
);
47+
}
48+
1149
@ModifyArg(method = "onActivate", at = @At(value = "INVOKE", target = "Lmeteordevelopment/discordipc/DiscordIPC;start(JLjava/lang/Runnable;)Z"))
1250
private long modifyAppId(long appId) {
13-
return 943264770642034708L;
51+
if (numby$numbyImage.get()) {
52+
return 943264770642034708L;
53+
}
54+
return appId;
1455
}
1556

1657
@ModifyArgs(method = "onActivate", at = @At(value = "INVOKE", target = "Lmeteordevelopment/discordipc/RichPresence;setLargeImage(Ljava/lang/String;Ljava/lang/String;)V"))
1758
private void modifyLargeImage(Args args) {
18-
args.set(0, "large");
19-
args.set(1, "Numby Hack !");
59+
if (numby$numbyImageText.get()) {
60+
args.set(0, "large");
61+
args.set(1, "Numby Hack!");
62+
}
2063
}
2164

2265
@Redirect(method = "onTick", at = @At(value = "INVOKE", target = "Lmeteordevelopment/discordipc/RichPresence;setState(Ljava/lang/String;)V", ordinal = 0))
2366
private void modifyState(RichPresence instance, String state) {
24-
instance.setDetails(state); //this is stupid -Crosby
67+
if (numby$numbyDetails.get()) {
68+
instance.setDetails(state); //this is stupid -Crosby
69+
}
2570
}
2671

2772
@ModifyArg(method = "onTick", at = @At(value = "INVOKE", target = "Lmeteordevelopment/discordipc/RichPresence;setDetails(Ljava/lang/String;)V", ordinal = 1))
2873
private String modifyDetails(String details) {
29-
return "Number81 on top!";
74+
if (numby$numbyDetails.get()) {
75+
return "Number81 on top!";
76+
}
77+
return details;
3078
}
3179

3280
@Redirect(method = "onTick", at = @At(value = "INVOKE", target = "Lmeteordevelopment/discordipc/RichPresence;setState(Ljava/lang/String;)V"), slice = @Slice(from = @At(value = "INVOKE", target = "Lmeteordevelopment/discordipc/RichPresence;setDetails(Ljava/lang/String;)V", ordinal = 1)))
3381
private void deleteMethods(RichPresence instance, String state) {}
34-
}
82+
}

0 commit comments

Comments
 (0)