This commit is contained in:
retuci0 committed 2026-02-09 17:52:39 +01:00
1 parent 9b6d037b6c
commit a9fd8da7f5
152 files changed
+1023 -350

No files matched your search

+9 -22
View File
@@ -1,36 +1,23 @@
# v3.0
# v3.1
## novedades
- categoría de combate
- aviso para actualizar
### adiciones
#### módulos nuevos:
- colocar en aire: te permite colocar bloques sin soporte alguno
- tobillos fuertes: evita el daño de caída, ya sea por medio de paquetes o amortiguándola con un cubo de agua, si este está disponible
- don quijote: te acelera para inflingir cantidades importantes de daño con la lanza
- auto herramienta: cambia automáticamente a la herramienta más veloz disponible para el bloque seleccionado
- autismo: da vueltas
- anti hambre: previene el hambre, cancelando los paquetes que le indican al server que empiezas a esprintar
- trayectoria: preve la trayectoria de los proyectiles (maomeno, aún lo tengo que ajustar un poco)
- hotkeys inv. creativo: te permite usar las teclas de la hotbar correctamente en la pestaña de búsqueda, por ejemplo, si tienes el slot 5 en la E, al posicionar el cursor sobre un stack del resultado de búsqueda, y darle a la E, en vez de escribir una E, actúa como las teclas del 1-9
- auto pesca: pesca por ti
#### comandos nuevos:
- `$plugins`: trata de buscar plugins del server al que estás conectado mediante la búsqueda de comandos no vanilla
- `$clickslot`: simula un clic en un slot específico, también se especifica el botón del ratón y la acción
- `$wait`: espera un delay determinado antes de enviar un mensaje / ejecutar un comando
- `$repeat`: repite un comando o mensaje x veces
- resaltado de entidades: wallhack para entidades, modo de caja y de brillo
- hitboxes: cambia el color de las hitboxes de f3+b
### arreglos / mejoras
- delfín ahora funciona mejor (*ruidos de delfín*)
- barco volador ahora usa el ajuste de velocidad vertical
- escalones inversos ahora usa el ajuste de velocidad
- ahora puedes ver el tiempo restante hasta que una entidad de tnt explote
- más opciones para amortiguar caídas con tobillos fuertes
- selección de minado ahora solo renderizará el contorno si su ajuste está activado
- prioridad de selección de minado, cuantos más clics tenga un bloque, mayor será su prioridad. también la opción de deseleccionar un bloque.
- opción para minar bloques en orden forzosamente en selección de minado (no funciona del todo)
- evitar romper la caña si está a punto de romperse en auto pesca
## problemas reconocidos
+1 -1
View File
@@ -8,6 +8,6 @@ loom_version=1.13-SNAPSHOT
fabric_api_version=0.140.2+1.21.11
mod_version=3.0
mod_version=3.1
maven_group=me.retucio
archives_base_name=sputnik
+15 -5
View File
@@ -1,6 +1,5 @@
package me.retucio.sputnik;
import me.retucio.sputnik.cape.CapeManager;
import me.retucio.sputnik.command.CommandManager;
import me.retucio.sputnik.command.commands.BindCommand;
@@ -22,6 +21,7 @@ import me.retucio.sputnik.module.modules.client.HUD;
import me.retucio.sputnik.ui.hud.HudRenderer;
import me.retucio.sputnik.ui.screen.ClickGUI;
import me.retucio.sputnik.ui.hud.HudEditorScreen;
import me.retucio.sputnik.ui.screen.UpdateScreen;
import me.retucio.sputnik.ui.widgets.buttons.settings.BindButton;
import me.retucio.sputnik.ui.widgets.buttons.SettingButton;
import me.retucio.sputnik.ui.widgets.buttons.settings.TextButton;
@@ -32,7 +32,6 @@ import me.retucio.sputnik.ui.widgets.Button;
import me.retucio.sputnik.util.*;
import me.retucio.sputnik.util.KeyUtil;
import me.retucio.sputnik.util.render.DrawUtil;
import me.retucio.sputnik.util.render.Pipelines;
import me.retucio.sputnik.util.render.RenderUtil;
import me.retucio.sputnik.util.render.Textures;
@@ -51,6 +50,13 @@ import org.apache.logging.log4j.Logger;
import org.lwjgl.glfw.GLFW;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
public class Sputnik implements ClientModInitializer {
@@ -83,6 +89,8 @@ public class Sputnik implements ClientModInitializer {
mc = MinecraftClient.getInstance();
ConfigManager.load();
VersionChecker.check();
EVENT_BUS.register(this);
EVENT_BUS.register(ChatUtil.class);
@@ -94,7 +102,6 @@ public class Sputnik implements ClientModInitializer {
EVENT_BUS.register(RenderUtil.class);
Lists.init();
Textures.init();
CapeManager.INSTANCE = new CapeManager();
@@ -126,6 +133,11 @@ public class Sputnik implements ClientModInitializer {
settingsApplied = true;
}
if (VersionChecker.shouldShowScreen && !(mc.currentScreen instanceof UpdateScreen)) {
VersionChecker.shouldShowScreen = false;
CompletableFuture.delayedExecutor(5, TimeUnit.SECONDS).execute(() -> mc.execute(() -> mc.setScreen(new UpdateScreen())));
}
ModuleManager.INSTANCE.getEnabledModules().forEach(Module::onTick);
mc.getWindow().setTitle(ClientSettingsFrame.guiSettings.windowTitle.getValue());
}
@@ -189,8 +201,6 @@ public class Sputnik implements ClientModInitializer {
if (key != ClientSettingsFrame.guiSettings.getKey() || anyFocused || isOnTypingScreen())
return;
// al parecer esto hace que con la tecla de la interfaz puedas ir cambiando de splash text en la pantalla del título
// pero me ha hecho gracia así que así se queda
if (mc.currentScreen != ClickGUI.INSTANCE) {
prevScreen = mc.currentScreen;
mc.setScreen(ClickGUI.INSTANCE);
@@ -3,7 +3,7 @@ package me.retucio.sputnik.command.commands;
import com.mojang.brigadier.arguments.StringArgumentType;
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
import me.retucio.sputnik.command.Command;
import me.retucio.sputnik.mixin.accessor.ClientPlayNetworkHandlerAccessor;
import me.retucio.sputnik.mixin.accessors.ClientPlayNetworkHandlerAccessor;
import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.command.CommandSource;
import net.minecraft.network.encryption.NetworkEncryptionUtils;
@@ -1,10 +1,11 @@
package me.retucio.sputnik.event.events;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.misc.MinecraftClientMixin;
/**
* @see me.retucio.sputnik.mixin.MinecraftClientMixin#onStop
* @see MinecraftClientMixin#onStop
*/
public class ShutdownEvent extends Event {
@@ -1,11 +1,12 @@
package me.retucio.sputnik.event.events;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.misc.MinecraftClientMixin;
/**
* @see me.retucio.sputnik.mixin.MinecraftClientMixin#onTickPre
* @see me.retucio.sputnik.mixin.MinecraftClientMixin#onTickPost
* @see MinecraftClientMixin#onTickPre
* @see MinecraftClientMixin#onTickPost
*/
public class TickEvent {
@@ -1,10 +1,11 @@
package me.retucio.sputnik.event.events.input;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.io.KeyboardMixin;
/**
* @see me.retucio.sputnik.mixin.KeyboardMixin#onKeyPress
* @see KeyboardMixin#onKeyPress
*/
public class KeyEvent extends Event {
@@ -1,10 +1,11 @@
package me.retucio.sputnik.event.events.input;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.io.MouseMixin;
/**
* @see me.retucio.sputnik.mixin.MouseMixin#onMouseButton
* @see MouseMixin#onMouseButton
*/
public class MouseClickEvent extends Event {
@@ -1,10 +1,11 @@
package me.retucio.sputnik.event.events.input;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.io.MouseMixin;
/**
* @see me.retucio.sputnik.mixin.MouseMixin#onMouseScroll
* @see MouseMixin#onMouseScroll
*/
public class MouseScrollEvent extends Event {
@@ -1,11 +1,12 @@
package me.retucio.sputnik.event.events.interact;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.player.ClientPlayerInteractionManagerMixin;
import net.minecraft.entity.Entity;
/**
* @see me.retucio.sputnik.mixin.ClientPlayerInteractionManagerMixin#onAttackEntity
* @see ClientPlayerInteractionManagerMixin#onAttackEntity
*/
public class AttackEntityEvent extends Event {
@@ -1,11 +1,12 @@
package me.retucio.sputnik.event.events.interact;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.player.ClientPlayerInteractionManagerMixin;
import net.minecraft.util.math.BlockPos;
/**
* @see me.retucio.sputnik.mixin.ClientPlayerInteractionManagerMixin#onBlockBreak
* @see ClientPlayerInteractionManagerMixin#onBlockBreak
*/
public class BreakBlockEvent extends Event {
@@ -1,11 +1,12 @@
package me.retucio.sputnik.event.events.interact;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.item.ItemStackMixin;
import net.minecraft.item.ItemStack;
/**
* @see me.retucio.sputnik.mixin.ItemStackMixin#onDamage
* @see ItemStackMixin#onDamage
*/
public class DamageItemEvent extends Event {
@@ -1,12 +1,13 @@
package me.retucio.sputnik.event.events.interact;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.player.ClientPlayerInteractionManagerMixin;
import net.minecraft.entity.Entity;
import net.minecraft.util.Hand;
/**
* @see me.retucio.sputnik.mixin.ClientPlayerInteractionManagerMixin#onEntityInteract
* @see ClientPlayerInteractionManagerMixin#onEntityInteract
*/
public class InteractEntityEvent extends Event {
@@ -1,11 +1,12 @@
package me.retucio.sputnik.event.events.interact;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.misc.MinecraftClientMixin;
import net.minecraft.client.gui.screen.Screen;
/**
* @see me.retucio.sputnik.mixin.MinecraftClientMixin#onOpenScreen
* @see MinecraftClientMixin#onOpenScreen
*/
public class OpenScreenEvent extends Event {
@@ -1,12 +1,13 @@
package me.retucio.sputnik.event.events.interact;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.player.ClientPlayerInteractionManagerMixin;
import net.minecraft.util.Hand;
import net.minecraft.util.hit.BlockHitResult;
/**
* @see me.retucio.sputnik.mixin.ClientPlayerInteractionManagerMixin#onBlockPlace
* @see ClientPlayerInteractionManagerMixin#onBlockPlace
*/
public class PlaceBlockEvent extends Event {
@@ -0,0 +1,26 @@
package me.retucio.sputnik.event.events.interact;
import me.retucio.sputnik.event.Event;
public class SwitchSlotEvent extends Event {
private final int prevSlot;
private int slot;
public SwitchSlotEvent(int prevSlot, int slot) {
this.prevSlot = prevSlot;
this.slot = slot;
}
public int getPrevSlot() {
return prevSlot;
}
public int getSlot() {
return slot;
}
public void setSlot(int slot) {
this.slot = slot;
}
}
@@ -1,12 +1,13 @@
package me.retucio.sputnik.event.events.interact;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.misc.MinecraftClientMixin;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Hand;
/**
* @see me.retucio.sputnik.mixin.MinecraftClientMixin#onUseItem
* @see MinecraftClientMixin#onUseItem
*/
public class UseItemEvent extends Event {
@@ -1,11 +1,12 @@
package me.retucio.sputnik.event.events.network;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.world.ClientWorldMixin;
import net.minecraft.entity.Entity;
/**
* @see me.retucio.sputnik.mixin.ClientWorldMixin#onAddEntity
* @see ClientWorldMixin#onAddEntity
*/
public class AddEntityEvent extends Event {
@@ -1,9 +1,10 @@
package me.retucio.sputnik.event.events.network;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.world.ChunkOcclusionDataBuilderMixin;
/**
* @see me.retucio.sputnik.mixin.ChunkOcclusionDataBuilderMixin#onChunkOcclusion
* @see ChunkOcclusionDataBuilderMixin#onChunkOcclusion
*/
public class ChunkOcclusionEvent extends Event {}
@@ -1,12 +1,13 @@
package me.retucio.sputnik.event.events.network;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.network.ClientConnectionMixin;
import net.minecraft.client.network.ServerInfo;
import net.minecraft.network.DisconnectionInfo;
/**
* @see me.retucio.sputnik.mixin.ClientConnectionMixin#onDisconnect
* @see ClientConnectionMixin#onDisconnect
*/
public class DisconnectEvent extends Event {
@@ -1,11 +1,12 @@
package me.retucio.sputnik.event.events.network;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.misc.MinecraftClientMixin;
import net.minecraft.client.world.ClientWorld;
/**
* @see me.retucio.sputnik.mixin.MinecraftClientMixin#onJoinWorld
* @see MinecraftClientMixin#onJoinWorld
*/
public class JoinWorldEvent extends Event {
@@ -2,13 +2,14 @@ package me.retucio.sputnik.event.events.network;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.event.Stage;
import me.retucio.sputnik.mixin.mixins.network.ClientConnectionMixin;
import net.minecraft.network.packet.Packet;
/**
* @see me.retucio.sputnik.mixin.ClientConnectionMixin#onSendPacketPre
* @see me.retucio.sputnik.mixin.ClientConnectionMixin#onSendPacketPost
* @see me.retucio.sputnik.mixin.ClientConnectionMixin#onReceivePacket
* @see ClientConnectionMixin#onSendPacketPre
* @see ClientConnectionMixin#onSendPacketPost
* @see ClientConnectionMixin#onReceivePacket
*/
public class PacketEvent {
@@ -1,11 +1,12 @@
package me.retucio.sputnik.event.events.network;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.hud.ChatHudMixin;
import net.minecraft.client.gui.hud.MessageIndicator;
import net.minecraft.text.Text;
/**
* @see me.retucio.sputnik.mixin.ChatHudMixin#onAddMessage
* @see ChatHudMixin#onAddMessage
*/
public class ReceiveMessageEvent extends Event {
@@ -1,11 +1,12 @@
package me.retucio.sputnik.event.events.network;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.world.ClientWorldMixin;
import net.minecraft.entity.Entity;
/**
* @see me.retucio.sputnik.mixin.ClientWorldMixin#onRemoveEntity
* @see ClientWorldMixin#onRemoveEntity
*/
public class RemoveEntityEvent extends Event {
@@ -1,10 +1,11 @@
package me.retucio.sputnik.event.events.network;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.network.ClientPlayNetworkHandlerMixin;
/**
* @see me.retucio.sputnik.mixin.ClientPlayNetworkHandlerMixin#onSendMessage
* @see ClientPlayNetworkHandlerMixin#onSendMessage
*/
public class SendMessageEvent extends Event {
@@ -1,12 +1,13 @@
package me.retucio.sputnik.event.events.render;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.entity.EntityMixin;
/**
* @see me.retucio.sputnik.mixin.EntityMixin#onRotation
* @see me.retucio.sputnik.mixin.EntityMixin#onChangeYaw
* @see me.retucio.sputnik.mixin.EntityMixin#onChangePitch
* @see EntityMixin#onRotation
* @see EntityMixin#onChangeYaw
* @see EntityMixin#onChangePitch
*/
public class ChangeRotationEvent extends Event {
@@ -1,10 +1,11 @@
package me.retucio.sputnik.event.events.render;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.render.GameRendererMixin;
/**
* @see me.retucio.sputnik.mixin.GameRendererMixin#modifyFov
* @see GameRendererMixin#modifyFov
*/
public class GetFOVEvent extends Event {
@@ -1,11 +1,12 @@
package me.retucio.sputnik.event.events.render;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.misc.GameOptionsMixin;
import net.minecraft.client.option.Perspective;
/**
* @see me.retucio.sputnik.mixin.GameOptionsMixin#changePerspective
* @see GameOptionsMixin#changePerspective
*/
public class PerspectiveChangeEvent extends Event {
@@ -1,13 +1,14 @@
package me.retucio.sputnik.event.events.render;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.render.WorldRendererMixin;
import net.minecraft.client.render.Camera;
import net.minecraft.client.render.RenderTickCounter;
import net.minecraft.client.util.math.MatrixStack;
/**
* @see me.retucio.sputnik.mixin.WorldRendererMixin#render
* @see WorldRendererMixin#render
*/
public class Render3DEvent extends Event {
@@ -1,12 +1,13 @@
package me.retucio.sputnik.event.events.render;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.render.HeldItemRendererMixin;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.Hand;
/**
* @see me.retucio.sputnik.mixin.HeldItemRendererMixin#onRenderArm
* @see HeldItemRendererMixin#onRenderArm
*/
public class RenderArmEvent extends Event {
@@ -1,6 +1,7 @@
package me.retucio.sputnik.event.events.render;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.hud.BossBarHudMixin;
import net.minecraft.client.gui.hud.ClientBossBar;
import net.minecraft.text.Text;
@@ -8,9 +9,9 @@ import java.util.Iterator;
/**
* @see me.retucio.sputnik.mixin.BossBarHudMixin#modifyBossBarIterator
* @see me.retucio.sputnik.mixin.BossBarHudMixin#modifyBossBarName
* @see me.retucio.sputnik.mixin.BossBarHudMixin#modifySpacingConstant
* @see BossBarHudMixin#modifyBossBarIterator
* @see BossBarHudMixin#modifyBossBarName
* @see BossBarHudMixin#modifySpacingConstant
*/
public class RenderBossbarEvent {
@@ -1,12 +1,13 @@
package me.retucio.sputnik.event.events.render;
import me.retucio.sputnik.event.Event;
import me.retucio.sputnik.mixin.mixins.render.HeldItemRendererMixin;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.Hand;
/**
* @see me.retucio.sputnik.mixin.HeldItemRendererMixin#onRenderItem
* @see HeldItemRendererMixin#onRenderItem
*/
public class RenderHeldItemEvent extends Event {
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin.accessor;
package me.retucio.sputnik.mixin.accessors;
import net.minecraft.block.AbstractBlock;
import org.spongepowered.asm.mixin.Mixin;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin.accessor;
package me.retucio.sputnik.mixin.accessors;
import net.minecraft.block.entity.SignBlockEntity;
import net.minecraft.client.gui.screen.ingame.AbstractSignEditScreen;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin.accessor;
package me.retucio.sputnik.mixin.accessors;
import net.minecraft.client.gui.screen.ingame.AnvilScreen;
import net.minecraft.client.gui.widget.TextFieldWidget;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin.accessor;
package me.retucio.sputnik.mixin.accessors;
import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.network.message.LastSeenMessagesCollector;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin.accessor;
package me.retucio.sputnik.mixin.accessors;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.network.ClientCommonNetworkHandler;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin.accessor;
package me.retucio.sputnik.mixin.accessors;
import net.minecraft.entity.projectile.FishingBobberEntity;
import org.spongepowered.asm.mixin.Mixin;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin.accessor;
package me.retucio.sputnik.mixin.accessors;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import net.minecraft.screen.slot.Slot;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin.accessor;
package me.retucio.sputnik.mixin.accessors;
import net.minecraft.client.option.KeyBinding;
import net.minecraft.client.util.InputUtil;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin.accessor;
package me.retucio.sputnik.mixin.accessors;
import net.minecraft.client.render.OverlayTexture;
import net.minecraft.client.texture.NativeImageBackedTexture;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin.accessor;
package me.retucio.sputnik.mixin.accessors;
import net.minecraft.client.network.ClientCommonNetworkHandler;
import org.spongepowered.asm.mixin.Mixin;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin.accessor;
package me.retucio.sputnik.mixin.accessors;
import net.minecraft.entity.effect.StatusEffectInstance;
import org.spongepowered.asm.mixin.Mixin;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.entity;
import me.retucio.sputnik.Sputnik;
import me.retucio.sputnik.event.events.interact.BoatMoveEvent;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.entity;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import me.retucio.sputnik.event.events.render.ChangeRotationEvent;
@@ -0,0 +1,37 @@
package me.retucio.sputnik.mixin.mixins.entity;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import com.llamalad7.mixinextras.sugar.Local;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.render.EntityESP;
import net.minecraft.client.render.entity.EntityRenderer;
import net.minecraft.client.render.entity.EntityRendererFactory;
import net.minecraft.entity.Entity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(EntityRenderer.class)
public abstract class EntityRendererMixin {
@Unique
private EntityESP esp;
@Inject(method = "<init>", at = @At("TAIL"))
private void getModules(EntityRendererFactory.Context context, CallbackInfo ci) {
esp = ModuleManager.INSTANCE.getModuleByClass(EntityESP.class);
}
@ModifyExpressionValue(method = "updateRenderState", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/MinecraftClient;hasOutline(Lnet/minecraft/entity/Entity;)Z"))
private boolean renderGlowESP(boolean original, @Local(argsOnly = true) Entity entity) {
return (esp.isEnabled() && esp.mode.is(EntityESP.ESPMode.GLOW) && esp.entities.isEnabled(entity.getType())) || original;
}
@ModifyExpressionValue(method = "updateRenderState", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;getTeamColorValue()I"))
private int setGlowESPColor(int original, @Local(argsOnly = true) Entity entity) {
if (esp.isEnabled() && esp.mode.is(EntityESP.ESPMode.GLOW) && esp.entities.isEnabled(entity.getType())) return esp.glowColor.getRGB();
return original;
}
}
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.entity;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import me.retucio.sputnik.module.ModuleManager;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.entity;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.movement.ElytraBounce;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.hud;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import com.llamalad7.mixinextras.sugar.Local;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.hud;
import com.mojang.authlib.GameProfile;
import me.retucio.sputnik.util.interfaces.IChatHudLine;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.hud;
import com.mojang.authlib.GameProfile;
import me.retucio.sputnik.util.interfaces.IChatHudLineVisible;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.hud;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import com.llamalad7.mixinextras.sugar.Local;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.hud;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import me.retucio.sputnik.Sputnik;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.io;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.camera.Freecam;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.io;
import me.retucio.sputnik.Sputnik;
import me.retucio.sputnik.event.events.input.KeyEvent;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.io;
import me.retucio.sputnik.event.events.input.MouseClickEvent;
import me.retucio.sputnik.event.events.input.MouseScrollEvent;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.io;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.misc.ScreenshotPlus;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.item;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.misc.ShulkerPeek;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.item;
import me.retucio.sputnik.event.events.interact.DamageItemEvent;
import net.minecraft.item.Item;
@@ -1,16 +1,12 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.item;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.movement.TridentBoost;
import net.minecraft.item.Item;
import net.minecraft.item.TridentItem;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.ModifyArgs;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.invoke.arg.Args;
@Mixin(TridentItem.class)
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.misc;
import me.retucio.sputnik.Sputnik;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.misc;
import me.retucio.sputnik.event.events.render.PerspectiveChangeEvent;
import me.retucio.sputnik.module.ModuleManager;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.misc;
import com.llamalad7.mixinextras.sugar.Local;
import me.retucio.sputnik.Sputnik;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.misc;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.misc.ChatPlus;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.misc;
import me.retucio.sputnik.util.interfaces.IVec3d;
import net.minecraft.util.math.Vec3d;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.network;
import com.llamalad7.mixinextras.sugar.Local;
import com.mojang.brigadier.ParseResults;
@@ -1,7 +1,7 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.network;
import me.retucio.sputnik.mixin.accessor.ConfirmServerResourcePackScreenAccessor;
import me.retucio.sputnik.mixin.accessor.PackAccessor;
import me.retucio.sputnik.mixin.accessors.ConfirmServerResourcePackScreenAccessor;
import me.retucio.sputnik.mixin.accessors.PackAccessor;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.network.RPackBypass;
import me.retucio.sputnik.util.interfaces.IConfirmScreen;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.network;
import io.netty.channel.ChannelFutureListener;
import io.netty.channel.ChannelHandlerContext;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.network;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import me.retucio.sputnik.command.CommandManager;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.network;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.network;
import com.mojang.authlib.GameProfile;
import me.retucio.sputnik.util.interfaces.IMessageHandler;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.network;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.network.RPackBypass;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.network;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.network.RPackBypass;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.network;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.network.RPackBypass;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.network;
import net.minecraft.client.session.telemetry.TelemetryManager;
import org.spongepowered.asm.mixin.Mixin;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.network;
import com.mojang.authlib.yggdrasil.YggdrasilUserApiService;
import com.mojang.authlib.yggdrasil.response.UserAttributesResponse;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.player;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.player;
import me.retucio.sputnik.event.events.interact.*;
import me.retucio.sputnik.module.ModuleManager;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.player;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import me.retucio.sputnik.Sputnik;
@@ -0,0 +1,25 @@
package me.retucio.sputnik.mixin.mixins.player;
import me.retucio.sputnik.Sputnik;
import me.retucio.sputnik.event.events.interact.SwitchSlotEvent;
import net.minecraft.entity.player.PlayerInventory;
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(PlayerInventory.class)
public abstract class PlayerInventoryMixin {
@Shadow
private int selectedSlot;
@Inject(method = "setSelectedSlot", at = @At("HEAD"), cancellable = true)
private void onSwitchSlot(int slot, CallbackInfo ci) {
if (selectedSlot == slot) return;
SwitchSlotEvent event = Sputnik.EVENT_BUS.post(new SwitchSlotEvent(selectedSlot, slot));
if (event.isCancelled()) ci.cancel();
if (event.getSlot() != slot) this.selectedSlot = event.getSlot();
}
}
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap;
import me.retucio.sputnik.util.render.GlintRenderLayer;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.camera.Freelook;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import me.retucio.sputnik.module.ModuleManager;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import me.retucio.sputnik.module.ModuleManager;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import me.retucio.sputnik.module.ModuleManager;
@@ -0,0 +1,19 @@
package me.retucio.sputnik.mixin.mixins.render;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.render.Hitboxes;
import net.minecraft.client.render.debug.EntityHitboxDebugRenderer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyVariable;
@Mixin(EntityHitboxDebugRenderer.class)
public abstract class EntityHitboxDebugRendererMixin {
@ModifyVariable(method = "drawHitbox", at = @At("STORE"))
private int modifyHitboxColor(int original) {
Hitboxes hitboxes = ModuleManager.INSTANCE.getModuleByClass(Hitboxes.class);
if (hitboxes.isEnabled()) return hitboxes.color.getRGB();
return original;
}
}
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.render.GlintPlus;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import me.retucio.sputnik.event.events.render.GetFOVEvent;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import me.retucio.sputnik.event.events.render.RenderHeldItemEvent;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.render.NoRender;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.render.GlintPlus;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import com.llamalad7.mixinextras.sugar.Local;
import com.mojang.blaze3d.systems.RenderSystem;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
@@ -51,7 +51,8 @@ public abstract class LivingEntityRendererMixin<T extends LivingEntity> {
@ModifyReturnValue(method = "hasLabel(Lnet/minecraft/entity/LivingEntity;D)Z", at = @At("RETURN"))
private boolean shouldRenderPlayerNametag(boolean original, @Local(argsOnly = true) T livingEntity) {
if (nametags.isEnabled() && livingEntity instanceof PlayerEntity) return nametags.entities.isEnabled(EntityType.PLAYER) && original;
if (nametags.isEnabled() && livingEntity instanceof PlayerEntity)
return nametags.entities.isEnabled(EntityType.PLAYER) && original;
return original;
}
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.render.DamageOverlay;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import me.retucio.sputnik.util.render.Pipelines;
import net.minecraft.client.gl.ShaderLoader;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.render.NoRender;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import me.retucio.sputnik.module.ModuleManager;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import me.retucio.sputnik.module.ModuleManager;
@@ -1,4 +1,4 @@
package me.retucio.sputnik.mixin;
package me.retucio.sputnik.mixin.mixins.render;
import me.retucio.sputnik.module.ModuleManager;
import me.retucio.sputnik.module.modules.render.NoRender;
Loaded 100 of 152 files, more files were not shown because too many files have changed in this diff. Show more