Skip to content

Commit 25a294c

Browse files
committed
Added NoCommandSuggestions to NoRender
Taken from an unmerged pr MeteorDevelopment/meteor-client#1347
1 parent 4c788e3 commit 25a294c

File tree

5 files changed

+60
-5
lines changed

5 files changed

+60
-5
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package cloudburst.rejects.mixin;
2+
3+
import cloudburst.rejects.modules.modifier.NoRenderModifier;
4+
import net.minecraft.client.gui.screen.CommandSuggestor;
5+
import net.minecraft.client.util.math.MatrixStack;
6+
import org.spongepowered.asm.mixin.Mixin;
7+
import org.spongepowered.asm.mixin.injection.At;
8+
import org.spongepowered.asm.mixin.injection.Inject;
9+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
10+
11+
@Mixin(CommandSuggestor.class)
12+
public class CommandSuggestorMixin {
13+
@Inject(method = "render", at = @At(value = "HEAD"), cancellable = true)
14+
public void onRenderCommandSuggestion(MatrixStack matrices, int mouseX, int mouseY, CallbackInfo info) {
15+
if (NoRenderModifier.noCommandSuggestions()) info.cancel();
16+
}
17+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package cloudburst.rejects.mixin.meteor.modules;
2+
3+
import meteordevelopment.meteorclient.settings.SettingGroup;
4+
import meteordevelopment.meteorclient.systems.modules.render.NoRender;
5+
import org.spongepowered.asm.mixin.Mixin;
6+
import org.spongepowered.asm.mixin.gen.Accessor;
7+
8+
@Mixin(NoRender.class)
9+
public interface NoRenderAccessor {
10+
@Accessor("sgOverlay")
11+
SettingGroup getSgOverlay();
12+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package cloudburst.rejects.modules.modifier;
2+
3+
import cloudburst.rejects.mixin.meteor.modules.NoRenderAccessor;
4+
import meteordevelopment.meteorclient.settings.BoolSetting;
5+
import meteordevelopment.meteorclient.settings.Setting;
6+
import meteordevelopment.meteorclient.settings.SettingGroup;
7+
import meteordevelopment.meteorclient.systems.modules.Modules;
8+
import meteordevelopment.meteorclient.systems.modules.render.NoRender;
9+
10+
public class NoRenderModifier {
11+
static SettingGroup sgOverlay = ((NoRenderAccessor) Modules.get().get(NoRender.class)).getSgOverlay();
12+
13+
public static final Setting<Boolean> noCommandSuggestions = sgOverlay.add(new BoolSetting.Builder()
14+
.name("command-suggestions")
15+
.description("Disables command suggestions in chat.")
16+
.defaultValue(false)
17+
.build()
18+
);
19+
20+
public static boolean noCommandSuggestions() {
21+
return Modules.get().get(NoRender.class).isActive() && noCommandSuggestions.get();
22+
}
23+
}

src/main/resources/meteor-rejects-meteor.mixins.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22
"required": true,
33
"package": "cloudburst.rejects.mixin.meteor",
44
"compatibilityLevel": "JAVA_16",
5-
"mixins": [ ],
5+
"mixins": [
6+
"modules.NoRenderAccessor"
7+
],
68
"client": [
79
"ConfigTabMixin",
810
"GuiRendererAccessor",
911
"HttpMixin"
1012
]
11-
}
13+
}

src/main/resources/meteor-rejects.mixins.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,17 @@
33
"package": "cloudburst.rejects.mixin",
44
"compatibilityLevel": "JAVA_16",
55
"mixins": [
6+
"CommandSuggestorMixin"
67
],
78
"client": [
89
"CustomPayloadS2CPacketMixin",
910
"Deadmau5FeatureRendererMixin",
1011
"EntityAccessor",
11-
"StructureVoidBlockMixin",
12-
"TitleScreenMixin",
12+
"GameRendererMixin",
1313
"LivingEntityRendererMixin",
1414
"MinecraftClientMixin",
15-
"GameRendererMixin",
15+
"StructureVoidBlockMixin",
16+
"TitleScreenMixin",
1617
"ToastManagerMixin"
1718
],
1819
"injectors": {

0 commit comments

Comments
 (0)