Skip to content

Commit

Permalink
Added NoCommandSuggestions to NoRender
Browse files Browse the repository at this point in the history
Taken from an unmerged pr

MeteorDevelopment/meteor-client#1347
  • Loading branch information
sbxte committed Aug 7, 2021
1 parent 4c788e3 commit 25a294c
Show file tree
Hide file tree
Showing 5 changed files with 60 additions and 5 deletions.
17 changes: 17 additions & 0 deletions src/main/java/cloudburst/rejects/mixin/CommandSuggestorMixin.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package cloudburst.rejects.mixin;

import cloudburst.rejects.modules.modifier.NoRenderModifier;
import net.minecraft.client.gui.screen.CommandSuggestor;
import net.minecraft.client.util.math.MatrixStack;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

@Mixin(CommandSuggestor.class)
public class CommandSuggestorMixin {
@Inject(method = "render", at = @At(value = "HEAD"), cancellable = true)
public void onRenderCommandSuggestion(MatrixStack matrices, int mouseX, int mouseY, CallbackInfo info) {
if (NoRenderModifier.noCommandSuggestions()) info.cancel();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package cloudburst.rejects.mixin.meteor.modules;

import meteordevelopment.meteorclient.settings.SettingGroup;
import meteordevelopment.meteorclient.systems.modules.render.NoRender;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;

@Mixin(NoRender.class)
public interface NoRenderAccessor {
@Accessor("sgOverlay")
SettingGroup getSgOverlay();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package cloudburst.rejects.modules.modifier;

import cloudburst.rejects.mixin.meteor.modules.NoRenderAccessor;
import meteordevelopment.meteorclient.settings.BoolSetting;
import meteordevelopment.meteorclient.settings.Setting;
import meteordevelopment.meteorclient.settings.SettingGroup;
import meteordevelopment.meteorclient.systems.modules.Modules;
import meteordevelopment.meteorclient.systems.modules.render.NoRender;

public class NoRenderModifier {
static SettingGroup sgOverlay = ((NoRenderAccessor) Modules.get().get(NoRender.class)).getSgOverlay();

public static final Setting<Boolean> noCommandSuggestions = sgOverlay.add(new BoolSetting.Builder()
.name("command-suggestions")
.description("Disables command suggestions in chat.")
.defaultValue(false)
.build()
);

public static boolean noCommandSuggestions() {
return Modules.get().get(NoRender.class).isActive() && noCommandSuggestions.get();
}
}
6 changes: 4 additions & 2 deletions src/main/resources/meteor-rejects-meteor.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@
"required": true,
"package": "cloudburst.rejects.mixin.meteor",
"compatibilityLevel": "JAVA_16",
"mixins": [ ],
"mixins": [
"modules.NoRenderAccessor"
],
"client": [
"ConfigTabMixin",
"GuiRendererAccessor",
"HttpMixin"
]
}
}
7 changes: 4 additions & 3 deletions src/main/resources/meteor-rejects.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,17 @@
"package": "cloudburst.rejects.mixin",
"compatibilityLevel": "JAVA_16",
"mixins": [
"CommandSuggestorMixin"
],
"client": [
"CustomPayloadS2CPacketMixin",
"Deadmau5FeatureRendererMixin",
"EntityAccessor",
"StructureVoidBlockMixin",
"TitleScreenMixin",
"GameRendererMixin",
"LivingEntityRendererMixin",
"MinecraftClientMixin",
"GameRendererMixin",
"StructureVoidBlockMixin",
"TitleScreenMixin",
"ToastManagerMixin"
],
"injectors": {
Expand Down

0 comments on commit 25a294c

Please sign in to comment.