Skip to content
This repository has been archived by the owner on Jan 22, 2025. It is now read-only.

Commit

Permalink
Release 2.8 (#820)
Browse files Browse the repository at this point in the history
Co-authored-by: smugvee <85663797+smugvee@users.noreply.github.com>
Co-authored-by: Kg <88619756+KgDW@users.noreply.github.com>
  • Loading branch information
3 people authored Oct 12, 2024
1 parent 72ab748 commit 26f0c8a
Show file tree
Hide file tree
Showing 125 changed files with 2,306 additions and 1,700 deletions.
2 changes: 1 addition & 1 deletion .run/Raven-XD.run.xml → .run/Raven-XD [build].run.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Raven-XD" type="GradleRunConfiguration" factoryName="Gradle" nameIsGenerated="true">
<configuration default="false" name="Raven-XD [build]" type="GradleRunConfiguration" factoryName="Gradle" nameIsGenerated="true">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
Expand Down
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ dependencies {
}
implementation 'org.projectlombok:lombok:1.18.22'
implementation 'org.jetbrains:annotations:24.1.0'
implementation 'cn.hutool:hutool-all:5.8.26'
implementation files('libraries/fastutil-core-8.5.14-javadoc.jar')
implementation files('libraries/json-20220924.jar')
implementation files('libraries/discord-rpc.jar')
// implementation files('libraries/ViaAprilFools-3.0.2-SNAPSHOT.jar')
Expand All @@ -85,7 +85,7 @@ dependencies {
// implementation files('libraries/ViaRewind-4.0.3-SNAPSHOT.jar')
// implementation files('libraries/ViaVersion-5.0.4-SNAPSHOT.jar')

embed 'cn.hutool:hutool-all:5.8.26'
embed files('libraries/fastutil-core-8.5.14.jar')
embed files('libraries/discord-rpc.jar')
embed files('libraries/json-20220924.jar')
// embed files('libraries/viaforge-1.8.9-3.3.3.jar')
Expand Down
Binary file added libraries/fastutil-core-8.5.14-javadoc.jar
Binary file not shown.
Binary file added libraries/fastutil-core-8.5.14.jar
Binary file not shown.
24 changes: 12 additions & 12 deletions src/main/java/keystrokesmod/Raven.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import lombok.Getter;
import net.minecraft.client.Minecraft;
import net.minecraftforge.client.ClientCommandHandler;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
Expand Down Expand Up @@ -63,13 +63,13 @@ public Raven() {
public void init(FMLInitializationEvent ignored) {
Runtime.getRuntime().addShutdownHook(new Thread(ex::shutdown));
ClientCommandHandler.instance.registerCommand(new keystrokeCommand());
FMLCommonHandler.instance().bus().register(this);
FMLCommonHandler.instance().bus().register(new DebugInfoRenderer());
FMLCommonHandler.instance().bus().register(new CPSCalculator());
FMLCommonHandler.instance().bus().register(new KeySrokeRenderer());
FMLCommonHandler.instance().bus().register(new Ping());
FMLCommonHandler.instance().bus().register(badPacketsHandler = new BadPacketsHandler());
FMLCommonHandler.instance().bus().register(progressManager = new ProgressManager());
MinecraftForge.EVENT_BUS.register(this);
MinecraftForge.EVENT_BUS.register(new DebugInfoRenderer());
MinecraftForge.EVENT_BUS.register(new CPSCalculator());
MinecraftForge.EVENT_BUS.register(new KeySrokeRenderer());
MinecraftForge.EVENT_BUS.register(new Ping());
MinecraftForge.EVENT_BUS.register(badPacketsHandler = new BadPacketsHandler());
MinecraftForge.EVENT_BUS.register(progressManager = new ProgressManager());
Reflection.getFields();
Reflection.getMethods();
moduleManager.register();
Expand All @@ -82,10 +82,10 @@ public void init(FMLInitializationEvent ignored) {
Reflection.setKeyBindings();
scriptManager.loadScripts();
scriptManager.loadScripts();
FMLCommonHandler.instance().bus().register(ModuleManager.tower);
FMLCommonHandler.instance().bus().register(ModuleManager.rotationHandler);
FMLCommonHandler.instance().bus().register(ModuleManager.slotHandler);
FMLCommonHandler.instance().bus().register(ModuleManager.dynamicManager);
MinecraftForge.EVENT_BUS.register(ModuleManager.tower);
MinecraftForge.EVENT_BUS.register(ModuleManager.rotationHandler);
MinecraftForge.EVENT_BUS.register(ModuleManager.slotHandler);
MinecraftForge.EVENT_BUS.register(ModuleManager.dynamicManager);

I18nManager.init();
AutoUpdate.init();
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/keystrokesmod/event/MoveInputEvent.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@
public class MoveInputEvent extends Event {
private float forward, strafe;
private boolean jump, sneak;
private double sneakSlowDownMultiplier;
private double sneakSlowDown;

public MoveInputEvent(float forward, float strafe, boolean jump, boolean sneak, double sneakSlowDownMultiplier) {
public MoveInputEvent(float forward, float strafe, boolean jump, boolean sneak, double sneakSlowDown) {
this.forward = forward;
this.strafe = strafe;
this.jump = jump;
this.sneak = sneak;
this.sneakSlowDownMultiplier = sneakSlowDownMultiplier;
this.sneakSlowDown = sneakSlowDown;
}

@Override
Expand Down
24 changes: 22 additions & 2 deletions src/main/java/keystrokesmod/mixins/impl/client/MixinMinecraft.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,27 @@
import keystrokesmod.module.impl.exploit.ExploitFixer;
import keystrokesmod.module.impl.render.Animations;
import keystrokesmod.module.impl.render.FreeLook;
import keystrokesmod.module.impl.render.Watermark;
import keystrokesmod.utility.Utils;
import keystrokesmod.utility.render.BackgroundUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.multiplayer.WorldClient;
import net.minecraft.client.resources.DefaultResourcePack;
import net.minecraft.crash.CrashReport;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.MinecraftForge;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.lwjgl.opengl.Display;
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.*;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

import java.io.IOException;
import java.io.InputStream;

import static keystrokesmod.Raven.mc;

@Mixin(value = Minecraft.class, priority = 1001)
Expand Down Expand Up @@ -94,4 +102,16 @@ private void onCrashed(CrashReport crashReport, CallbackInfo ci) {
} catch (Throwable ignored) {
}
}

@Inject(method = "createDisplay", at = @At(value = "RETURN"))
private void onSetTitle(@NotNull CallbackInfo ci) {
Display.setTitle("Raven XD " + Watermark.VERSION);
}



@Redirect(method = "drawSplashScreen", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/resources/DefaultResourcePack;getInputStream(Lnet/minecraft/util/ResourceLocation;)Ljava/io/InputStream;"))
private InputStream modifyConstant(@NotNull DefaultResourcePack instance, ResourceLocation location) throws IOException {
return instance.getInputStream(BackgroundUtils.getLogoPng());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import net.minecraftforge.common.MinecraftForge;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
Expand Down Expand Up @@ -52,7 +51,7 @@ public void updatePlayerMoveState(CallbackInfo ci) {

MinecraftForge.EVENT_BUS.post(moveInputEvent);

final double sneakMultiplier = moveInputEvent.getSneakSlowDownMultiplier();
final double sneakMultiplier = moveInputEvent.getSneakSlowDown();
this.moveForward = moveInputEvent.getForward();
this.moveStrafe = moveInputEvent.getStrafe();
this.jump = moveInputEvent.isJump();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package keystrokesmod.mixins.impl.entity;

import net.minecraft.entity.EntityLivingBase;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;

@Mixin(EntityLivingBase.class)
public interface EntityLivingBaseAccessor {

@Accessor("newPosX")
double getNewPosX();

@Accessor("newPosY")
double getNewPosY();

@Accessor("newPosZ")
double getNewPosZ();

@Accessor("newRotationYaw")
double getNewRotationYaw();

@Accessor("newRotationPitch")
double getNewRotationPitch();

@Accessor("newPosRotationIncrements")
int getNewPosRotationIncrements();
}
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,9 @@ public void onUpdate() {
*/
@Overwrite
public void onUpdateWalkingPlayer() {
if (ModuleManager.rotationHandler != null)
ModuleManager.rotationHandler.onPrePreMotion();

PreMotionEvent preMotionEvent = new PreMotionEvent(
this.posX,
this.getEntityBoundingBox().minY,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package keystrokesmod.mixins.impl.gui;


import net.minecraftforge.fml.client.SplashProgress;
import org.jetbrains.annotations.NotNull;
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.CallbackInfoReturnable;

@Mixin(value = SplashProgress.class, remap = false)
public abstract class MixinSplashProgress {

@Inject(method = "getString", at = @At("HEAD"), cancellable = true)
private static void onGetString(@NotNull String name, String def, CallbackInfoReturnable<String> cir) {
if (name.equals("logoTexture") && def.equals("textures/gui/title/mojang.png")) {
cir.setReturnValue("keystrokesmod:textures/backgrounds/bluearacive.png");
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
package keystrokesmod.mixins.impl.gui;


import keystrokesmod.utility.Reflection;
import net.minecraftforge.fml.client.SplashProgress;
import org.lwjgl.opengl.GL11;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;

@Mixin(targets = "net/minecraftforge/fml/client/SplashProgress$3", remap = false)
public abstract class MixinSplashProgressThread {

/**
* To make a custom loading logo rendering fine.
* <p>
* Codes:
* <p>
* SplashProgress.logoTexture.texCoord(0, 0.0F, 0.0F);
* <p>
* GL11.glVertex2f(64.0F, -16.0F);
* <p>
* SplashProgress.logoTexture.texCoord(0, 0.0F, 1.0F);
* <p>
* GL11.glVertex2f(64.0F, 496.0F);
* <p>
* SplashProgress.logoTexture.texCoord(0, 1.0F, 1.0F);
* <p>
* GL11.glVertex2f(576.0F, 496.0F);
* <p>
* SplashProgress.logoTexture.texCoord(0, 1.0F, 0.0F);
* <p>
* GL11.glVertex2f(576.0F, -16.0F);
* @see "Lnet/minecraftforge/fml/client/SplashProgress$3;run()V"
*/
@Redirect(method = "run", at = @At(value = "INVOKE", target = "Lorg/lwjgl/opengl/GL11;glVertex2f(FF)V"))
private void onGlVertex2f(float x, float y) {
final short type;
if (x == 64.0F && y == -16.0F) {
type = 0;
} else if (x == 64.0F && y == 496.0F) {
type = 1;
} else if (x == 576.0F && y == 496.0F) {
type = 2;
} else if (x == 576.0F && y == -16.0F) {
type = 3;
} else {
GL11.glVertex2f(x, y);
return;
}

final Object texture = Reflection.getDeclared(SplashProgress.class, "logoTexture");
final float width = (float) Reflection.call(texture, "getWidth") / 2.0F / 2.0F;
final float height = (float) Reflection.call(texture, "getHeight") / 2.0F / 2.0F;

switch (type) {
case 0:
GL11.glVertex2f(-width, -height);
break;
case 1:
GL11.glVertex2f(-width, height);
break;
case 2:
GL11.glVertex2f(width, height);
break;
case 3:
GL11.glVertex2f(width, -height);
break;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
import net.minecraft.network.ThreadQuickExitException;
import org.jetbrains.annotations.NotNull;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
Expand Down Expand Up @@ -67,23 +68,9 @@ public void onProcessPacket(Packet<?> instance, INetHandler handler) {
((Packet<INetHandler>) instance).processPacket(handler);
} catch (ThreadQuickExitException ignored) { // 😅 Minecraft wtf
} catch (Exception e) {
try {
if (ModuleManager.exploitFixer != null && ModuleManager.exploitFixer.isEnabled() && ExploitFixer.safePacketProcess != null && ExploitFixer.safePacketProcess.isToggled()) {
final StringBuilder stackTraces = new StringBuilder();

Arrays.stream(e.getStackTrace())
.limit(7)
.parallel()
.map(s -> "\n " + ChatFormatting.RED + "at " + ChatFormatting.AQUA + s)
.forEach(stackTraces::append);

Utils.sendMessage(String.format(
"%sCatch %s on processing packet <%s>.%s",
ChatFormatting.RED, e.getClass(), instance.toString(), stackTraces
));
}
} catch (Throwable ignored) {
}
ExploitFixer.onBadPacket(instance, e);
}
}


}
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ public abstract class MixinItemRenderer {

@Shadow protected abstract void func_178098_a(float p_178098_1_, AbstractClientPlayer p_178098_2_);

@SuppressWarnings("deprecation")
@Shadow public abstract void renderItem(EntityLivingBase p_renderItem_1_, ItemStack p_renderItem_2_, ItemCameraTransforms.TransformType p_renderItem_3_);

@Shadow protected abstract void func_178095_a(AbstractClientPlayer p_178095_1_, float p_178095_2_, float p_178095_3_);
Expand All @@ -62,6 +63,7 @@ public abstract class MixinItemRenderer {
* @author xia__mc
* @reason for Animations module.
*/
@SuppressWarnings("deprecation")
@Inject(method = "renderItemInFirstPerson", at = @At("HEAD"), cancellable = true)
public void renderItemInFirstPerson(final float partialTicks, @NotNull CallbackInfo ci) {
if (!Utils.nullCheck() || !ModuleManager.animations.isEnabled()) {
Expand Down
8 changes: 3 additions & 5 deletions src/main/java/keystrokesmod/module/Module.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,21 @@
import keystrokesmod.module.impl.client.Settings;
import keystrokesmod.module.setting.Setting;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.ModeValue;
import keystrokesmod.module.setting.impl.SubMode;
import keystrokesmod.script.Script;
import keystrokesmod.utility.Utils;
import keystrokesmod.utility.i18n.I18nModule;
import lombok.Getter;
import lombok.Setter;
import net.minecraft.client.Minecraft;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.common.MinecraftForge;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.lwjgl.input.Keyboard;
import org.lwjgl.input.Mouse;
import scala.reflect.internal.util.WeakHashSet;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class Module {
Expand Down Expand Up @@ -138,7 +136,7 @@ public final void enable() {
}
else {
try {
FMLCommonHandler.instance().bus().register(this);
MinecraftForge.EVENT_BUS.register(this);
this.onEnable();
} catch (Throwable ignored) {
}
Expand All @@ -156,7 +154,7 @@ public final void disable() {
}
else {
try {
FMLCommonHandler.instance().bus().unregister(this);
MinecraftForge.EVENT_BUS.unregister(this);
this.onDisable();
} catch (Throwable ignored) {
}
Expand Down
Loading

0 comments on commit 26f0c8a

Please sign in to comment.