@@ -1,13 +1,11 @@
|
||||
package anticope.rejects.mixin;
|
||||
|
||||
import anticope.rejects.events.ChunkPosDataEvent;
|
||||
import anticope.rejects.events.PlayerRespawnEvent;
|
||||
import anticope.rejects.modules.SilentDisconnect;
|
||||
import meteordevelopment.meteorclient.MeteorClient;
|
||||
import meteordevelopment.meteorclient.systems.modules.Modules;
|
||||
import meteordevelopment.meteorclient.utils.player.ChatUtils;
|
||||
import net.minecraft.client.network.ClientPlayNetworkHandler;
|
||||
import net.minecraft.network.packet.s2c.play.ChunkDataS2CPacket;
|
||||
import net.minecraft.network.packet.s2c.play.PlayerRespawnS2CPacket;
|
||||
import net.minecraft.text.Text;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
@@ -20,12 +18,6 @@ import static meteordevelopment.meteorclient.MeteorClient.mc;
|
||||
@Mixin(ClientPlayNetworkHandler.class)
|
||||
public class ClientPlayNetworkHandlerMixin {
|
||||
|
||||
//the normal onChunkDataEvent should just provide coords aswell
|
||||
@Inject(method = "onChunkData", at = @At("TAIL"))
|
||||
public void onChunkData(ChunkDataS2CPacket packet, CallbackInfo ci) {
|
||||
MeteorClient.EVENT_BUS.post(ChunkPosDataEvent.get(packet.getX(), packet.getZ()));
|
||||
}
|
||||
|
||||
//called on dimension change too
|
||||
@Inject(method = "onPlayerRespawn", at = @At("TAIL"))
|
||||
public void onPlayerRespawn(PlayerRespawnS2CPacket packet, CallbackInfo ci) {
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package anticope.rejects.mixin;
|
||||
|
||||
import anticope.rejects.modules.modifier.NoRenderModifier;
|
||||
import anticope.rejects.mixininterface.INoRender;
|
||||
import meteordevelopment.meteorclient.systems.modules.Modules;
|
||||
import meteordevelopment.meteorclient.systems.modules.render.NoRender;
|
||||
import net.minecraft.client.gui.screen.ChatInputSuggestor;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
@@ -12,6 +14,6 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
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();
|
||||
if (((INoRender) Modules.get().get(NoRender.class)).noCommandSuggestions()) info.cancel();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
package anticope.rejects.mixin;
|
||||
|
||||
import anticope.rejects.events.CustomPayloadEvent;
|
||||
import meteordevelopment.meteorclient.MeteorClient;
|
||||
import net.minecraft.network.listener.ClientPlayPacketListener;
|
||||
import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket;
|
||||
import net.minecraft.util.Identifier;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(CustomPayloadS2CPacket.class)
|
||||
public class CustomPayloadS2CPacketMixin {
|
||||
@Shadow
|
||||
private Identifier channel;
|
||||
|
||||
@Inject(method = "apply(Lnet/minecraft/network/listener/ClientPlayPacketListener;)V",
|
||||
at = @At(value = "HEAD"), cancellable = true)
|
||||
private void onApply(ClientPlayPacketListener clientPlayPacketListener, CallbackInfo info) {
|
||||
CustomPayloadS2CPacket packet = (CustomPayloadS2CPacket) (Object) this;
|
||||
CustomPayloadEvent event = MeteorClient.EVENT_BUS.post(CustomPayloadEvent.get(packet));
|
||||
if (event.isCancelled()) {
|
||||
info.cancel();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,6 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
@Mixin(StructureVoidBlock.class)
|
||||
public abstract class StructureVoidBlockMixin extends Block {
|
||||
|
||||
public StructureVoidBlockMixin(Settings settings) {
|
||||
super(settings);
|
||||
}
|
||||
@@ -31,5 +30,4 @@ public abstract class StructureVoidBlockMixin extends Block {
|
||||
Rendering renderingModule = Modules.get().get(Rendering.class);
|
||||
return !(renderingModule != null && renderingModule.renderStructureVoid());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
package anticope.rejects.mixin;
|
||||
|
||||
import anticope.rejects.modules.modifier.NoRenderModifier;
|
||||
|
||||
import anticope.rejects.mixininterface.INoRender;
|
||||
import meteordevelopment.meteorclient.systems.modules.Modules;
|
||||
import meteordevelopment.meteorclient.systems.modules.render.NoRender;
|
||||
import net.minecraft.client.toast.Toast;
|
||||
import net.minecraft.client.toast.ToastManager;
|
||||
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;
|
||||
|
||||
import net.minecraft.client.toast.Toast;
|
||||
import net.minecraft.client.toast.ToastManager;
|
||||
|
||||
@Mixin(ToastManager.class)
|
||||
public class ToastManagerMixin {
|
||||
@Inject(method="add", at = @At("HEAD"), cancellable = true)
|
||||
@Inject(method = "add", at = @At("HEAD"), cancellable = true)
|
||||
public void preventAdd(Toast toast, CallbackInfo ci) {
|
||||
if (NoRenderModifier.disableToasts()) ci.cancel();
|
||||
if (((INoRender) Modules.get().get(NoRender.class)).disableToasts()) ci.cancel();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
package anticope.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(value = "sgOverlay", remap = false)
|
||||
SettingGroup getSgOverlay();
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package anticope.rejects.mixin.meteor.modules;
|
||||
|
||||
import anticope.rejects.mixininterface.INoRender;
|
||||
import meteordevelopment.meteorclient.settings.BoolSetting;
|
||||
import meteordevelopment.meteorclient.settings.Setting;
|
||||
import meteordevelopment.meteorclient.settings.SettingGroup;
|
||||
import meteordevelopment.meteorclient.systems.modules.Category;
|
||||
import meteordevelopment.meteorclient.systems.modules.Module;
|
||||
import meteordevelopment.meteorclient.systems.modules.render.NoRender;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(value = NoRender.class,remap = false)
|
||||
public class NoRenderMixin extends Module implements INoRender {
|
||||
@Shadow @Final private SettingGroup sgOverlay;
|
||||
|
||||
private Setting<Boolean> noCommandSuggestions;
|
||||
private Setting<Boolean> disableToasts;
|
||||
|
||||
public NoRenderMixin(Category category, String name, String description) {
|
||||
super(category, name, description);
|
||||
}
|
||||
|
||||
@Inject(method = "<init>", at = @At("TAIL"))
|
||||
private void onInit(CallbackInfo ci) {
|
||||
noCommandSuggestions = sgOverlay.add(new BoolSetting.Builder()
|
||||
.name("command-suggestions")
|
||||
.description("Disables command suggestions in chat.")
|
||||
.defaultValue(false)
|
||||
.build()
|
||||
);
|
||||
disableToasts = sgOverlay.add(new BoolSetting.Builder()
|
||||
.name("disable-toasts")
|
||||
.description("Disable toasts (e.g. advancements)")
|
||||
.defaultValue(false)
|
||||
.build()
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean noCommandSuggestions() {
|
||||
return isActive() && noCommandSuggestions.get();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean disableToasts() {
|
||||
return isActive() && disableToasts.get();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user