This commit is contained in:
jackh 2025-01-17 23:35:22 -07:00
parent 88dda079c0
commit 78747b4fc8
86 changed files with 1038 additions and 1260 deletions

View File

@ -1,132 +0,0 @@
buildscript {
repositories {
mavenCentral()
maven { url 'https://plugins.gradle.org/m2/' }
maven {
name = "forge"
url = "http://files.minecraftforge.net/maven"
}
maven {
url 'https://repo.spongepowered.org/maven'
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT'
classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.1'
classpath 'org.spongepowered:mixingradle:0.6-SNAPSHOT'
}
}
apply plugin: 'com.github.johnrengelman.shadow'
apply plugin: 'net.minecraftforge.gradle.forge'
apply plugin: 'org.spongepowered.mixin'
apply plugin: 'java'
group = "keystrokesmod"
archivesBaseName = "raven-bS"
compileJava {
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
options.encoding 'UTF-8'
}
minecraft {
version = "1.8.9-11.15.1.2318-1.8.9"
runDir = "run"
mappings = "stable_22"
makeObfSourceJar = false
clientJvmArgs += '-Dfml.coreMods.load=keystrokesmod.mixins.MixinLoader'
}
mixin {
defaultObfuscationEnv searge
sourceSets {
main {
ext.refMap = 'mixins.raven.refmap.json'
}
}
}
repositories {
mavenCentral()
maven {
url 'https://repo.spongepowered.org/maven'
}
}
configurations {
embed
compile.extendsFrom embed
}
dependencies {
implementation group: 'commons-io', name: 'commons-io', version: '2.11.0'
embed('org.spongepowered:mixin:0.6-SNAPSHOT') {
exclude module: 'gson'
exclude module: 'guava'
exclude module: 'jarjar'
exclude module: 'commons-codec'
exclude module: 'commons-io'
exclude module: 'launchwrapper'
exclude module: 'asm-commons'
exclude module: 'slf4j-api'
}
implementation 'org.jetbrains:annotations:24.1.0'
}
processResources {
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version
from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info'
expand 'version': project.version, 'mcversion': project.minecraft.version
}
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
}
jar {
from(configurations.embed.collect {
it.isDirectory() ? it : zipTree(it)
}) {
exclude 'dummyThing',
'LICENSE.txt',
'META-INF/MUMFREY.RSA',
'META-INF/maven/**',
'org/**/*.html'
exclude 'LICENSE.md'
exclude 'pack.mcmeta'
exclude '**/module-info.class'
exclude '*.so'
exclude '*.dylib'
exclude '*.dll'
exclude '*.jnilib'
exclude 'ibxm/**'
exclude 'com/jcraft/**'
exclude 'org/lwjgl/**'
exclude 'net/java/**'
exclude 'META-INF/proguard/**'
exclude 'META-INF/versions/**'
exclude 'META-INF/com.android.tools/**'
exclude 'fabric.mod.json'
}
manifest {
attributes(
'MixinConfigs': 'mixins.raven.json',
'TweakClass': 'org.spongepowered.asm.launch.MixinTweaker',
'TweakOrder': 0,
"FMLCorePlugin": "keystrokesmod.mixins.MixinLoader",
"ForceLoadAsMod": true,
'FMLCorePluginContainsFMLMod': true,
"ModSide": "CLIENT"
)
}
}

View File

@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.7-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip

View File

@ -1,5 +1,6 @@
package keystrokesmod;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
@ -19,6 +20,7 @@ import keystrokesmod.utility.profile.Profile;
import keystrokesmod.utility.profile.ProfileManager;
import net.minecraft.client.Minecraft;
import net.minecraftforge.client.ClientCommandHandler;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.common.Mod;
@ -39,7 +41,8 @@ public class Raven {
public static Minecraft mc = Minecraft.getMinecraft();
private static KeySrokeRenderer keySrokeRenderer;
private static boolean isKeyStrokeConfigGuiToggled;
private static final ScheduledExecutorService ex = Executors.newScheduledThreadPool(2);
private static final ScheduledExecutorService scheduledExecutor = Executors.newScheduledThreadPool(2);
private static final ExecutorService cachedExecutor = Executors.newCachedThreadPool();
public static ModuleManager moduleManager;
public static ClickGui clickGui;
public static ProfileManager profileManager;
@ -55,18 +58,18 @@ public class Raven {
@EventHandler
public void init(FMLInitializationEvent e) {
Runtime.getRuntime().addShutdownHook(new Thread(ex::shutdown));
Runtime.getRuntime().addShutdownHook(new Thread(scheduledExecutor::shutdown));
Runtime.getRuntime().addShutdownHook(new Thread(cachedExecutor::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 MovementFix(mc));
FMLCommonHandler.instance().bus().register(new KeySrokeRenderer());
FMLCommonHandler.instance().bus().register(new Ping());
FMLCommonHandler.instance().bus().register(packetsHandler = new PacketsHandler());
FMLCommonHandler.instance().bus().register(new ModuleUtils(mc));
MinecraftForge.EVENT_BUS.register(this);
MinecraftForge.EVENT_BUS.register(new DebugInfoRenderer());
MinecraftForge.EVENT_BUS.register(new CPSCalculator());
MinecraftForge.EVENT_BUS.register(new MovementFix(mc));
MinecraftForge.EVENT_BUS.register(new KeySrokeRenderer());
MinecraftForge.EVENT_BUS.register(new Ping());
MinecraftForge.EVENT_BUS.register(packetsHandler = new PacketsHandler());
MinecraftForge.EVENT_BUS.register(new ModuleUtils(mc));
Reflection.getFields();
Reflection.getMethods();
moduleManager.register();
scriptManager = new ScriptManager();
keySrokeRenderer = new KeySrokeRenderer();
@ -76,8 +79,8 @@ public class Raven {
profileManager.loadProfiles();
profileManager.loadProfile("default");
Reflection.setKeyBindings();
FMLCommonHandler.instance().bus().register(ModuleManager.scaffold);
FMLCommonHandler.instance().bus().register(ModuleManager.tower);
MinecraftForge.EVENT_BUS.register(ModuleManager.scaffold);
MinecraftForge.EVENT_BUS.register(ModuleManager.tower);
commandManager = new CommandManager();
}
@ -139,8 +142,12 @@ public class Raven {
return moduleManager;
}
public static ScheduledExecutorService getExecutor() {
return ex;
public static ScheduledExecutorService getScheduledExecutor() {
return scheduledExecutor;
}
public static ExecutorService getCachedExecutor() {
return cachedExecutor;
}
public static KeySrokeRenderer getKeyStrokeRenderer() {

View File

@ -64,7 +64,7 @@ public class ClickGui extends GuiScreen {
public void initMain() {
(this.logoSmoothWidth = this.smoothEntity = this.blurSmooth = this.backgroundFade = new Timer(500.0F)).start();
this.sf = Raven.getExecutor().schedule(() -> {
this.sf = Raven.getScheduledExecutor().schedule(() -> {
(this.logoSmoothLength = new Timer(650.0F)).start();
}, 650L, TimeUnit.MILLISECONDS);
}

View File

@ -3,10 +3,10 @@ package keystrokesmod.event;
import net.minecraft.network.Packet;
import net.minecraftforge.fml.common.eventhandler.Event;
public class AllPacketsEvent extends Event {
public class NoEventPacketEvent extends Event {
private Packet<?> packet;
public AllPacketsEvent(Packet<?> packet) {
public NoEventPacketEvent(Packet<?> packet) {
this.packet = packet;
}

View File

@ -68,6 +68,11 @@ public class PreMotionEvent extends Event {
setRotations = true;
}
public void setYawSilent(float yaw) {
this.yaw = yaw;
setRotations = true;
}
public void setPitch(float pitch) {
this.pitch = pitch;
setRotations = true;
@ -81,9 +86,10 @@ public class PreMotionEvent extends Event {
return setRenderYaw;
}
public void setRenderYaw(boolean setRenderYaw) {
this.setRenderYaw = setRenderYaw;
public static void setRenderYaw(boolean setYaw) {
setRenderYaw = setYaw;
}
public boolean isSprinting() {
return isSprinting;
}
@ -103,4 +109,4 @@ public class PreMotionEvent extends Event {
public boolean isEquals(PlayerState e) {
return e.x == this.posX && e.y == this.posY && e.z == this.posZ && e.yaw == this.yaw && e.pitch == this.pitch && e.onGround == this.onGround && e.isSprinting == this.isSprinting && e.isSneaking == this.isSneaking;
}
}
}

View File

@ -0,0 +1,11 @@
package keystrokesmod.mixin.impl.accessor;
import net.minecraft.entity.projectile.EntityArrow;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(EntityArrow.class)
public interface IAccessorEntityArrow {
@Accessor("inGround")
boolean getInGround();
}

View File

@ -0,0 +1,14 @@
package keystrokesmod.mixin.impl.accessor;
import net.minecraft.entity.EntityLivingBase;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
@SideOnly(Side.CLIENT)
@Mixin(EntityLivingBase.class)
public interface IAccessorEntityLivingBase {
@Accessor("jumpTicks")
void setJumpTicks(int ticks);
}

View File

@ -0,0 +1,14 @@
package keystrokesmod.mixin.impl.accessor;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
@SideOnly(Side.CLIENT)
@Mixin(EntityPlayer.class)
public interface IAccessorEntityPlayer {
@Accessor("itemInUseCount")
void setItemInUseCount(int count);
}

View File

@ -1,4 +1,4 @@
package keystrokesmod.mixins.impl.entity;
package keystrokesmod.mixin.impl.accessor;
import net.minecraftforge.fml.relauncher.*;
import org.spongepowered.asm.mixin.*;
@ -8,7 +8,6 @@ import org.spongepowered.asm.mixin.gen.*;
@SideOnly(Side.CLIENT)
@Mixin(EntityPlayerSP.class)
public interface IAccessorEntityPlayerSP {
@Accessor("lastReportedPosX")
double getLastReportedPosX();
@ -20,5 +19,4 @@ public interface IAccessorEntityPlayerSP {
@Accessor("lastReportedYaw")
float getLastReportedYaw();
}

View File

@ -0,0 +1,37 @@
package keystrokesmod.mixin.impl.accessor;
import net.minecraft.client.renderer.EntityRenderer;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
import org.spongepowered.asm.mixin.gen.Invoker;
@SideOnly(Side.CLIENT)
@Mixin(EntityRenderer.class)
public interface IAccessorEntityRenderer {
@Invoker("setupCameraTransform")
void callSetupCameraTransform(float partialTicks, int pass);
@Invoker("loadShader")
void callLoadShader(ResourceLocation resourceLocationIn);
@Accessor("shaderResourceLocations")
ResourceLocation[] getShaderResourceLocations();
@Accessor("useShader")
boolean getUseShader();
@Accessor("useShader")
void setUseShader(boolean useShader);
@Accessor("shaderIndex")
int getShaderIndex();
@Accessor("shaderIndex")
void setShaderIndex(int index);
@Accessor("thirdPersonDistance")
void setThirdPersonDistance(float distance);
}

View File

@ -0,0 +1,20 @@
package keystrokesmod.mixin.impl.accessor;
import net.minecraft.client.gui.GuiIngame;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
@SideOnly(Side.CLIENT)
@Mixin(GuiIngame.class)
public interface IAccessorGuiIngame {
@Accessor("recordPlaying")
String getRecordPlaying();
@Accessor("displayedTitle")
String getDisplayedTitle();
@Accessor("displayedSubTitle")
String getDisplayedSubTitle();
}

View File

@ -0,0 +1,18 @@
package keystrokesmod.mixin.impl.accessor;
import net.minecraft.client.gui.GuiPlayerTabOverlay;
import net.minecraft.util.IChatComponent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
@SideOnly(Side.CLIENT)
@Mixin(GuiPlayerTabOverlay.class)
public interface IAccessorGuiPlayerTabOverlay {
@Accessor("header")
IChatComponent getHeader();
@Accessor("footer")
IChatComponent getFooter();
}

View File

@ -0,0 +1,14 @@
package keystrokesmod.mixin.impl.accessor;
import net.minecraft.client.gui.GuiScreenBook;
import net.minecraft.util.IChatComponent;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
import java.util.List;
@Mixin(GuiScreenBook.class)
public interface IAccessorGuiScreenBook {
@Accessor("field_175386_A")
List<IChatComponent> getBookContents();
}

View File

@ -0,0 +1,14 @@
package keystrokesmod.mixin.impl.accessor;
import net.minecraft.item.ItemFood;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
@SideOnly(Side.CLIENT)
@Mixin(ItemFood.class)
public interface IAccessorItemFood {
@Accessor("alwaysEdible")
boolean getAlwaysEdible();
}

View File

@ -0,0 +1,31 @@
package keystrokesmod.mixin.impl.accessor;
import net.minecraft.client.Minecraft;
import net.minecraft.util.Timer;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
import org.spongepowered.asm.mixin.gen.Invoker;
@SideOnly(Side.CLIENT)
@Mixin(Minecraft.class)
public interface IAccessorMinecraft {
@Accessor("timer")
Timer getTimer();
@Accessor("rightClickDelayTimer")
int getRightClickDelayTimer();
@Accessor("rightClickDelayTimer")
void setRightClickDelayTimer(int delay);
@Accessor("leftClickCounter")
void setLeftClickCounter(int delay);
@Invoker("rightClickMouse")
void callRightClickMouse();
@Invoker("clickMouse")
void callClickMouse();
}

View File

@ -0,0 +1,22 @@
package keystrokesmod.mixin.impl.accessor;
import net.minecraftforge.fml.relauncher.*;
import org.spongepowered.asm.mixin.*;
import net.minecraft.client.multiplayer.*;
import org.spongepowered.asm.mixin.gen.*;
@SideOnly(Side.CLIENT)
@Mixin(PlayerControllerMP.class)
public interface IAccessorPlayerControllerMP {
@Accessor
float getCurBlockDamageMP();
@Accessor
void setCurBlockDamageMP(float damage);
@Accessor
int getBlockHitDelay();
@Accessor
void setBlockHitDelay(int delay);
}

View File

@ -1,4 +1,4 @@
package keystrokesmod.mixins.impl.client;
package keystrokesmod.mixin.impl.client;
import keystrokesmod.event.GuiUpdateEvent;
import keystrokesmod.event.PreInputEvent;

View File

@ -1,4 +1,4 @@
package keystrokesmod.mixins.impl.client;
package keystrokesmod.mixin.impl.client;
import keystrokesmod.event.PostPlayerInputEvent;
import keystrokesmod.event.PrePlayerInputEvent;

View File

@ -1,17 +1,25 @@
package keystrokesmod.mixins.impl.client;
package keystrokesmod.mixin.impl.client;
import keystrokesmod.module.ModuleManager;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraft.world.storage.WorldInfo;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
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.Redirect;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@SideOnly(Side.CLIENT)
@Mixin(World.class)
public class MixinWorld {
@Shadow
@Final
public boolean isRemote;
@Inject(method = "getThunderStrength", at = @At("RETURN"), cancellable = true)
public void setThunderStrength(CallbackInfoReturnable<Float> clr) {
@ -26,4 +34,12 @@ public class MixinWorld {
clr.setReturnValue(1F);
}
}
@Redirect(method = {"getMoonPhase", "getCelestialAngle"}, at = @At(value = "INVOKE", target = "Lnet/minecraft/world/storage/WorldInfo;getWorldTime()J"))
private long setTimeForMoonPhase(WorldInfo worldInfo) {
if (ModuleManager.weather != null && ModuleManager.weather.isEnabled()) {
return (long) MathHelper.clamp_double((ModuleManager.weather.time.getInput() * 1000), 0, 23999);
}
return worldInfo.getWorldTime();
}
}

View File

@ -1,26 +1,17 @@
package keystrokesmod.mixins.impl.client;
package keystrokesmod.mixin.impl.client;
import keystrokesmod.module.ModuleManager;
import net.minecraft.world.storage.WorldInfo;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
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;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@SideOnly(Side.CLIENT)
@Mixin(WorldInfo.class)
public abstract class MixinWorldInfo {
@Shadow
private long worldTime;
@Overwrite
public long getWorldTime() {
if (ModuleManager.weather != null && ModuleManager.weather.isEnabled()) {
return (long) (ModuleManager.weather.time.getInput() * 1000);
}
return worldTime;
}
@Inject(method = "isRaining", at = @At("RETURN"), cancellable = true)
private void setPrecipitation(CallbackInfoReturnable<Boolean> clr) {

View File

@ -1,9 +1,8 @@
package keystrokesmod.mixins.impl.entity;
package keystrokesmod.mixin.impl.entity;
import keystrokesmod.event.StrafeEvent;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.player.Safewalk;
import keystrokesmod.utility.*;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.util.MathHelper;

View File

@ -1,4 +1,4 @@
package keystrokesmod.mixins.impl.entity;
package keystrokesmod.mixin.impl.entity;
import com.google.common.collect.Maps;
import keystrokesmod.event.JumpEvent;
@ -50,7 +50,7 @@ public abstract class MixinEntityLivingBase extends Entity {
@Shadow
public float swingProgress;
@Inject(method = "func_110146_f", at = @At("HEAD"), cancellable = true)
@Inject(method = { "updateDistance", "func_110146_f" }, at = @At("HEAD"), cancellable = true)
protected void injectFunc110146_f(float p_110146_1_, float p_110146_2_, CallbackInfoReturnable<Float> cir) {
float rotationYaw = this.rotationYaw;
if (Settings.fullBody != null && Settings.rotateBody != null && !Settings.fullBody.isToggled() && Settings.rotateBody.isToggled() && (EntityLivingBase) (Object) this instanceof EntityPlayerSP) {

View File

@ -0,0 +1,177 @@
package keystrokesmod.mixin.impl.entity;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.combat.Reduce;
import keystrokesmod.module.impl.movement.KeepSprint;
import net.minecraft.client.Minecraft;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.*;
import net.minecraft.entity.boss.EntityDragonPart;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
import net.minecraft.network.play.server.S12PacketEntityVelocity;
import net.minecraft.potion.Potion;
import net.minecraft.stats.AchievementList;
import net.minecraft.stats.StatBase;
import net.minecraft.stats.StatList;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeHooks;
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;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(EntityPlayer.class)
public abstract class MixinEntityPlayer extends EntityLivingBase {
public MixinEntityPlayer(World p_i1594_1_) {
super(p_i1594_1_);
}
@Shadow
public abstract ItemStack getHeldItem();
@Shadow
public abstract void onCriticalHit(Entity p_onCriticalHit_1_);
@Shadow
public abstract void onEnchantmentCritical(Entity p_onEnchantmentCritical_1_);
@Shadow
public abstract void triggerAchievement(StatBase p_triggerAchievement_1_);
@Shadow
public abstract ItemStack getCurrentEquippedItem();
@Shadow
public abstract void destroyCurrentEquippedItem();
@Shadow
public abstract void addStat(StatBase p_addStat_1_, int p_addStat_2_);
@Shadow
public abstract void addExhaustion(float p_addExhaustion_1_);
@Overwrite
public void attackTargetEntityWithCurrentItem(Entity p_attackTargetEntityWithCurrentItem_1_) {
if (ForgeHooks.onPlayerAttackTarget(((EntityPlayer) (Object) this), p_attackTargetEntityWithCurrentItem_1_)) {
if (p_attackTargetEntityWithCurrentItem_1_.canAttackWithItem() && !p_attackTargetEntityWithCurrentItem_1_.hitByEntity(this)) {
float f = (float) this.getEntityAttribute(SharedMonsterAttributes.attackDamage).getAttributeValue();
int i = 0;
float f1 = 0.0F;
if (p_attackTargetEntityWithCurrentItem_1_ instanceof EntityLivingBase) {
f1 = EnchantmentHelper.getModifierForCreature(this.getHeldItem(), ((EntityLivingBase) p_attackTargetEntityWithCurrentItem_1_).getCreatureAttribute());
} else {
f1 = EnchantmentHelper.getModifierForCreature(this.getHeldItem(), EnumCreatureAttribute.UNDEFINED);
}
i += EnchantmentHelper.getKnockbackModifier(this);
if (this.isSprinting()) {
++i;
}
if (f > 0.0F || f1 > 0.0F) {
boolean flag = this.fallDistance > 0.0F && !this.onGround && !this.isOnLadder() && !this.isInWater() && !this.isPotionActive(Potion.blindness) && this.ridingEntity == null && p_attackTargetEntityWithCurrentItem_1_ instanceof EntityLivingBase;
if (flag && f > 0.0F) {
f *= 1.5F;
}
f += f1;
boolean flag1 = false;
int j = EnchantmentHelper.getFireAspectModifier(this);
if (p_attackTargetEntityWithCurrentItem_1_ instanceof EntityLivingBase && j > 0 && !p_attackTargetEntityWithCurrentItem_1_.isBurning()) {
flag1 = true;
p_attackTargetEntityWithCurrentItem_1_.setFire(1);
}
double d0 = p_attackTargetEntityWithCurrentItem_1_.motionX;
double d1 = p_attackTargetEntityWithCurrentItem_1_.motionY;
double d2 = p_attackTargetEntityWithCurrentItem_1_.motionZ;
boolean flag2 = p_attackTargetEntityWithCurrentItem_1_.attackEntityFrom(DamageSource.causePlayerDamage(((EntityPlayer) (Object) this)), f);
if (flag2) {
if (i > 0) {
p_attackTargetEntityWithCurrentItem_1_.addVelocity((double) (-MathHelper.sin(this.rotationYaw * 3.1415927F / 180.0F) * (float) i * 0.5F), 0.1, (double) (MathHelper.cos(this.rotationYaw * 3.1415927F / 180.0F) * (float) i * 0.5F));
if (ModuleManager.reduce != null && ModuleManager.reduce.isEnabled()) {
Reduce.reduce(p_attackTargetEntityWithCurrentItem_1_);
}
else if (ModuleManager.keepSprint != null && ModuleManager.keepSprint.isEnabled()) {
KeepSprint.keepSprint(p_attackTargetEntityWithCurrentItem_1_);
}
else {
this.motionX *= 0.6D;
this.motionZ *= 0.6D;
this.setSprinting(false);
}
}
if (p_attackTargetEntityWithCurrentItem_1_ instanceof EntityPlayerMP && p_attackTargetEntityWithCurrentItem_1_.velocityChanged) {
((EntityPlayerMP) p_attackTargetEntityWithCurrentItem_1_).playerNetServerHandler.sendPacket(new S12PacketEntityVelocity(p_attackTargetEntityWithCurrentItem_1_));
p_attackTargetEntityWithCurrentItem_1_.velocityChanged = false;
p_attackTargetEntityWithCurrentItem_1_.motionX = d0;
p_attackTargetEntityWithCurrentItem_1_.motionY = d1;
p_attackTargetEntityWithCurrentItem_1_.motionZ = d2;
}
if (flag) {
this.onCriticalHit(p_attackTargetEntityWithCurrentItem_1_);
}
if (f1 > 0.0F) {
this.onEnchantmentCritical(p_attackTargetEntityWithCurrentItem_1_);
}
if (f >= 18.0F) {
this.triggerAchievement(AchievementList.overkill);
}
this.setLastAttacker(p_attackTargetEntityWithCurrentItem_1_);
if (p_attackTargetEntityWithCurrentItem_1_ instanceof EntityLivingBase) {
EnchantmentHelper.applyThornEnchantments((EntityLivingBase) p_attackTargetEntityWithCurrentItem_1_, this);
}
EnchantmentHelper.applyArthropodEnchantments(this, p_attackTargetEntityWithCurrentItem_1_);
ItemStack itemstack = this.getCurrentEquippedItem();
Entity entity = p_attackTargetEntityWithCurrentItem_1_;
if (p_attackTargetEntityWithCurrentItem_1_ instanceof EntityDragonPart) {
IEntityMultiPart ientitymultipart = ((EntityDragonPart) p_attackTargetEntityWithCurrentItem_1_).entityDragonObj;
if (ientitymultipart instanceof EntityLivingBase) {
entity = (EntityLivingBase) ientitymultipart;
}
}
if (itemstack != null && entity instanceof EntityLivingBase) {
itemstack.hitEntity((EntityLivingBase) entity, ((EntityPlayer) (Object) this));
if (itemstack.stackSize <= 0) {
this.destroyCurrentEquippedItem();
}
}
if (p_attackTargetEntityWithCurrentItem_1_ instanceof EntityLivingBase) {
this.addStat(StatList.damageDealtStat, Math.round(f * 10.0F));
if (j > 0) {
p_attackTargetEntityWithCurrentItem_1_.setFire(j * 4);
}
}
this.addExhaustion(0.3F);
} else if (flag1) {
p_attackTargetEntityWithCurrentItem_1_.extinguish();
}
}
}
}
}
@Inject(method = "isBlocking", at = @At("RETURN"), cancellable = true)
private void isBlocking(CallbackInfoReturnable<Boolean> cir) {
if (ModuleManager.killAura != null && ModuleManager.killAura.isEnabled() && ModuleManager.killAura.blockingClient && ((Object) this) == Minecraft.getMinecraft().thePlayer) {
cir.setReturnValue(true);
}
cir.setReturnValue(cir.getReturnValue());
}
}

View File

@ -1,4 +1,4 @@
package keystrokesmod.mixins.impl.entity;
package keystrokesmod.mixin.impl.entity;
import com.mojang.authlib.GameProfile;
import keystrokesmod.event.PostMotionEvent;
@ -9,14 +9,12 @@ import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.combat.WTap;
import keystrokesmod.module.impl.movement.NoSlow;
import keystrokesmod.utility.RotationUtils;
import keystrokesmod.utility.Utils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.client.entity.AbstractClientPlayer;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.network.NetHandlerPlayClient;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.network.play.client.C03PacketPlayer;
import net.minecraft.network.play.client.C0BPacketEntityAction;
import net.minecraft.network.play.client.C0CPacketInput;
@ -29,6 +27,9 @@ 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;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(EntityPlayerSP.class)
public abstract class MixinEntityPlayerSP extends AbstractClientPlayer {
@ -99,29 +100,26 @@ public abstract class MixinEntityPlayerSP extends AbstractClientPlayer {
@Shadow
private int positionUpdateTicks;
@Overwrite
public void onUpdate() {
@Inject(method = "onUpdate", at = @At("HEAD"))
private void onUpdatePre(CallbackInfo c) {
if (this.worldObj.isBlockLoaded(new BlockPos(this.posX, 0.0, this.posZ))) {
RotationUtils.prevRenderPitch = RotationUtils.renderPitch;
RotationUtils.prevRenderYaw = RotationUtils.renderYaw;
net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new PreUpdateEvent());
}
}
super.onUpdate();
if (this.isRiding()) {
this.sendQueue.addToSendQueue(new C03PacketPlayer.C05PacketPlayerLook(this.rotationYaw, this.rotationPitch, this.onGround));
this.sendQueue.addToSendQueue(new C0CPacketInput(this.moveStrafing, this.moveForward, this.movementInput.jump, this.movementInput.sneak));
} else {
this.onUpdateWalkingPlayer();
}
@Inject(method = "onUpdate", at = @At("RETURN"))
private void onUpdatePost(CallbackInfo c) {
if (this.worldObj.isBlockLoaded(new BlockPos(this.posX, 0.0, this.posZ))) {
net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new PostUpdateEvent());
}
}
@Overwrite
public void onUpdateWalkingPlayer() {
PreMotionEvent.setRenderYaw(false);
PreMotionEvent preMotionEvent = new PreMotionEvent(
this.posX,
this.getEntityBoundingBox().minY,
@ -162,7 +160,6 @@ public abstract class MixinEntityPlayerSP extends AbstractClientPlayer {
if (this.isCurrentViewEntity()) {
if (PreMotionEvent.setRenderYaw()) {
RotationUtils.setRenderYaw(preMotionEvent.getYaw());
preMotionEvent.setRenderYaw(false);
}
RotationUtils.renderPitch = preMotionEvent.getPitch();
@ -289,7 +286,7 @@ public abstract class MixinEntityPlayerSP extends AbstractClientPlayer {
this.setSprinting(true);
}
if (this.isSprinting() && (!ModuleManager.sprint.omniSprint() && !NoSlow.groundSpeed() && (this.movementInput.moveForward < f || !flag3)) || this.isCollidedHorizontally || ModuleManager.sprint.disableBack || this.mc.gameSettings.keyBindSneak.isKeyDown() || (ModuleManager.scaffold != null && ModuleManager.scaffold.isEnabled && (!ModuleManager.scaffold.sprint() || ModuleManager.tower.canTower())) || (ModuleManager.wTap.isEnabled() && WTap.stopSprint)) {
if (this.isSprinting() && (!ModuleManager.sprint.omniSprint() && !NoSlow.groundSpeed() && (this.movementInput.moveForward < f || !flag3)) || this.isCollidedHorizontally || ModuleManager.sprint.disableBackwards() || this.mc.gameSettings.keyBindSneak.isKeyDown() || (ModuleManager.scaffold != null && ModuleManager.scaffold.isEnabled && (!ModuleManager.scaffold.sprint() || ModuleManager.tower.canTower())) || (ModuleManager.wTap.isEnabled() && WTap.stopSprint)) {
this.setSprinting(false);
WTap.stopSprint = false;
}

View File

@ -1,4 +1,4 @@
package keystrokesmod.mixins.impl.network;
package keystrokesmod.mixin.impl.network;
import io.netty.buffer.ByteBuf;
import net.minecraft.client.Minecraft;

View File

@ -1,4 +1,4 @@
package keystrokesmod.mixins.impl.network;
package keystrokesmod.mixin.impl.network;
import keystrokesmod.module.ModuleManager;
import net.minecraft.client.network.NetHandlerPlayClient;

View File

@ -1,7 +1,7 @@
package keystrokesmod.mixins.impl.network;
package keystrokesmod.mixin.impl.network;
import io.netty.channel.ChannelHandlerContext;
import keystrokesmod.event.AllPacketsEvent;
import keystrokesmod.event.NoEventPacketEvent;
import keystrokesmod.event.ReceivePacketEvent;
import keystrokesmod.event.SendPacketEvent;
import keystrokesmod.utility.PacketUtils;
@ -16,9 +16,9 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
public class MixinNetworkManager {
@Inject(method = "sendPacket(Lnet/minecraft/network/Packet;)V", at = @At("HEAD"), cancellable = true)
public void sendPacket(Packet p_sendPacket_1_, CallbackInfo ci) {
net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new AllPacketsEvent(p_sendPacket_1_));
if (PacketUtils.skipSendEvent.contains(p_sendPacket_1_)) {
PacketUtils.skipSendEvent.remove(p_sendPacket_1_);
net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new NoEventPacketEvent(p_sendPacket_1_));
return;
}

View File

@ -0,0 +1,22 @@
package keystrokesmod.mixin.impl.render;
import keystrokesmod.module.ModuleManager;
import net.minecraft.util.MathHelper;
import org.spongepowered.asm.mixin.Dynamic;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Pseudo;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyVariable;
@Pseudo
@Mixin(targets = "net.optifine.CustomSky", remap = false)
public abstract class MixinCustomSky {
@Dynamic
@ModifyVariable(method = "renderSky", at = @At("STORE"))
private static long changeWorldTime(long time) {
if (ModuleManager.weather != null && ModuleManager.weather.isEnabled()) {
return (long) MathHelper.clamp_double((ModuleManager.weather.time.getInput() * 1000), 0, 23999);
}
return time;
}
}

View File

@ -1,4 +1,4 @@
package keystrokesmod.mixins.impl.render;
package keystrokesmod.mixin.impl.render;
import keystrokesmod.module.ModuleManager;
import net.minecraft.client.renderer.EntityRenderer;

View File

@ -1,4 +1,4 @@
package keystrokesmod.mixins.impl.render;
package keystrokesmod.mixin.impl.render;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.other.NameHider;

View File

@ -1,4 +1,4 @@
package keystrokesmod.mixins.impl.render;
package keystrokesmod.mixin.impl.render;
import keystrokesmod.Raven;
import keystrokesmod.module.ModuleManager;

View File

@ -1,4 +1,4 @@
package keystrokesmod.mixins.impl.render;
package keystrokesmod.mixin.impl.render;
import keystrokesmod.Raven;
import keystrokesmod.module.ModuleManager;

View File

@ -1,6 +1,6 @@
package keystrokesmod.mixins.impl.render;
package keystrokesmod.mixin.impl.render;
import keystrokesmod.mixins.interfaces.IMixinItemRenderer;
import keystrokesmod.mixin.interfaces.IMixinItemRenderer;
import keystrokesmod.utility.Utils;
import net.minecraft.client.renderer.ItemRenderer;
import net.minecraft.item.ItemStack;

View File

@ -1,4 +1,4 @@
package keystrokesmod.mixins.impl.render;
package keystrokesmod.mixin.impl.render;
import keystrokesmod.module.impl.client.Settings;
import net.minecraft.client.Minecraft;

View File

@ -1,4 +1,4 @@
package keystrokesmod.mixins.impl.render;
package keystrokesmod.mixin.impl.render;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.world.AntiBot;

View File

@ -0,0 +1,43 @@
package keystrokesmod.mixin.impl.render;
import keystrokesmod.event.PreMotionEvent;
import keystrokesmod.utility.RotationUtils;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.entity.Entity;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
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.CallbackInfoReturnable;
@SideOnly(Side.CLIENT)
@Mixin(RenderManager.class)
public class MixinRenderManager {
@Unique
private float cachedPrevRotationPitch;
@Unique
private float cachedRotationPitch;
@Inject(method = "renderEntityStatic", at = @At("HEAD"))
public void renderEntityStaticPre(final Entity entity, final float n, final boolean b, final CallbackInfoReturnable<Boolean> callbackInfoReturnable) {
if (entity instanceof EntityPlayerSP && PreMotionEvent.setRenderYaw()) {
final EntityPlayerSP player = (EntityPlayerSP)entity;
cachedRotationPitch = player.rotationPitch;
cachedPrevRotationPitch = player.prevRotationPitch;
player.prevRotationPitch = RotationUtils.prevRenderPitch;
player.rotationPitch = RotationUtils.renderPitch;
}
}
@Inject(method = "renderEntityStatic", at = @At("RETURN"))
public void renderEntityStaticPost(final Entity entity, final float n, final boolean b, final CallbackInfoReturnable<Boolean> callbackInfoReturnable) {
if (entity instanceof EntityPlayerSP && PreMotionEvent.setRenderYaw()) {
final EntityPlayerSP player = (EntityPlayerSP)entity;
player.prevRotationPitch = this.cachedPrevRotationPitch;
player.rotationPitch = this.cachedRotationPitch;
}
}
}

View File

@ -1,4 +1,4 @@
package keystrokesmod.mixins.impl.render;
package keystrokesmod.mixin.impl.render;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.world.AntiBot;

View File

@ -1,4 +1,4 @@
package keystrokesmod.mixins.interfaces;
package keystrokesmod.mixin.interfaces;
public interface IMixinItemRenderer {
void setCancelUpdate(boolean cancel);

View File

@ -1,48 +0,0 @@
package keystrokesmod.mixins;
import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.launch.MixinBootstrap;
import org.spongepowered.asm.mixin.MixinEnvironment;
import org.spongepowered.asm.mixin.Mixins;
import java.util.Map;
@IFMLLoadingPlugin.MCVersion("1.8.9")
public class MixinLoader implements IFMLLoadingPlugin {
public MixinLoader() {
MixinBootstrap.init();
Mixins.addConfiguration("mixins.raven.json");
MixinEnvironment.getDefaultEnvironment().setSide(MixinEnvironment.Side.CLIENT);
}
@NotNull
@Override
public String[] getASMTransformerClass() {
return new String[0];
}
@Nullable
@Override
public String getModContainerClass() {
return null;
}
@Nullable
@Override
public String getSetupClass() {
return null;
}
@Override
public void injectData(Map<String, Object> data) {
}
@Nullable
@Override
public String getAccessTransformerClass() {
return null;
}
}

View File

@ -1,51 +0,0 @@
package keystrokesmod.mixins.impl.entity;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.combat.Reduce;
import keystrokesmod.module.impl.movement.KeepSprint;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.*;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.*;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(EntityPlayer.class)
public abstract class MixinEntityPlayer extends EntityLivingBase {
public MixinEntityPlayer(World p_i1594_1_) {
super(p_i1594_1_);
}
@Shadow
public abstract ItemStack getHeldItem();
@ModifyConstant(method = "attackTargetEntityWithCurrentItem", constant = @Constant(doubleValue = 0.6))
private double multiplyMotion(final double originalValue) {
if (ModuleManager.reduce != null && ModuleManager.reduce.isEnabled()) {
return Reduce.getReduceMotion();
}
else if (ModuleManager.keepSprint != null && ModuleManager.keepSprint.isEnabled()) {
return KeepSprint.getKeepSprintMotion();
}
return originalValue;
}
@Redirect(method = "attackTargetEntityWithCurrentItem", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/player/EntityPlayer;setSprinting(Z)V"))
public void setSprinting(final EntityPlayer entityPlayer, final boolean sprinting) {
if (ModuleManager.keepSprint != null && ModuleManager.keepSprint.isEnabled()) {
return;
}
entityPlayer.setSprinting(sprinting);
}
@Inject(method = "isBlocking", at = @At("RETURN"), cancellable = true)
private void isBlocking(CallbackInfoReturnable<Boolean> cir) {
if (ModuleManager.killAura != null && ModuleManager.killAura.isEnabled() && ModuleManager.killAura.blockingClient && ((Object) this) == Minecraft.getMinecraft().thePlayer) {
cir.setReturnValue(true);
}
cir.setReturnValue(cir.getReturnValue());
}
}

View File

@ -1,38 +0,0 @@
package keystrokesmod.mixins.impl.render;
import keystrokesmod.utility.RotationUtils;
import keystrokesmod.utility.Utils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
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(ModelBiped.class)
public class MixinModelBiped {
@Shadow
public ModelRenderer bipedRightArm;
@Shadow
public int heldItemRight;
@Shadow
public ModelRenderer bipedHead;
@Inject(method = "setRotationAngles", at = @At(value = "FIELD", target = "Lnet/minecraft/client/model/ModelBiped;swingProgress:F"))
private void revertSwordAnimation(float p_setRotationAngles_1_, float p_setRotationAngles_2_, float p_setRotationAngles_3_, float p_setRotationAngles_4_, float p_setRotationAngles_5_, float p_setRotationAngles_6_, Entity p_setRotationAngles_7_, CallbackInfo callbackInfo) {
if (heldItemRight == 3)
this.bipedRightArm.rotateAngleY = 0F;
if (p_setRotationAngles_7_ instanceof EntityPlayer
&& p_setRotationAngles_7_.equals(Minecraft.getMinecraft().thePlayer)) {
this.bipedHead.rotateAngleX = (float) Math.toRadians(RotationUtils.interpolateValue(Utils.getTimer().renderPartialTicks, RotationUtils.prevRenderPitch, RotationUtils.renderPitch));
}
}
}

View File

@ -12,8 +12,8 @@ import keystrokesmod.module.impl.other.*;
import keystrokesmod.module.impl.player.*;
import keystrokesmod.module.impl.render.*;
import keystrokesmod.module.impl.world.*;
import keystrokesmod.utility.Utils;
import keystrokesmod.utility.ModuleUtils;
import keystrokesmod.utility.Utils;
import keystrokesmod.utility.profile.Manager;
import java.util.ArrayList;
@ -76,7 +76,7 @@ public class ModuleManager {
this.addModule(autoClicker = new AutoClicker());
this.addModule(LongJump = new LongJump());
this.addModule(new AimAssist());
this.addModule(new BurstClicker());
this.addModule(new BinskiClicker());
this.addModule(weather = new Weather());
this.addModule(chatCommands = new ChatCommands());
this.addModule(new ClickAssist());
@ -98,7 +98,6 @@ public class ModuleManager {
this.addModule(blink = new Blink());
this.addModule(new AutoRequeue());
this.addModule(new AntiAFK());
this.addModule(new Boost());
this.addModule(autoTool = new AutoTool());
this.addModule(noHurtCam = new NoHurtCam());
this.addModule(new SpeedBuilders());
@ -113,14 +112,11 @@ public class ModuleManager {
this.addModule(bedAura = new BedAura());
this.addModule(noSlow = new NoSlow());
this.addModule(new Indicators());
this.addModule(new Speed());
this.addModule(new LatencyAlerts());
this.addModule(noCameraClip = new NoCameraClip());
this.addModule(sprint = new Sprint());
this.addModule(new StopMotion());
this.addModule(timer = new Timer());
this.addModule(new VClip());
this.addModule(new AutoJump());
this.addModule(new AutoPlace());
this.addModule(fastPlace = new FastPlace());
this.addModule(new Freecam());

View File

@ -1,6 +1,7 @@
package keystrokesmod.module.impl.combat;
import keystrokesmod.Raven;
import keystrokesmod.mixin.impl.accessor.IAccessorMinecraft;
import keystrokesmod.module.Module;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.DescriptionSetting;
@ -12,7 +13,7 @@ import net.minecraft.item.ItemBlock;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent.RenderTickEvent;
public class BurstClicker extends Module {
public class BinskiClicker extends Module {
private SliderSetting clicks;
private SliderSetting delay;
private ButtonSetting delayRandomizer;
@ -20,8 +21,8 @@ public class BurstClicker extends Module {
private boolean l_c = false;
private boolean l_r = false;
public BurstClicker() {
super("BurstClicker", category.combat, 0);
public BinskiClicker() {
super("BinskiClicker", category.combat, 0);
this.registerSetting(new DescriptionSetting("Artificial dragclicking."));
this.registerSetting(clicks = new SliderSetting("Clicks", 0.0D, 0.0D, 50.0D, 1.0D));
this.registerSetting(delay = new SliderSetting("Delay (ms)", 5.0D, 1.0D, 40.0D, 1.0D));
@ -31,7 +32,7 @@ public class BurstClicker extends Module {
public void onEnable() {
if (clicks.getInput() != 0.0D && mc.currentScreen == null && mc.inGameHasFocus) {
Raven.getExecutor().execute(() -> {
Raven.getScheduledExecutor().execute(() -> {
try {
int cl = (int) clicks.getInput();
int del = (int) delay.getInput();
@ -87,7 +88,7 @@ public class BurstClicker extends Module {
private void c(boolean st) {
boolean r = placeWhenBlock.isToggled() && mc.thePlayer.getHeldItem() != null && mc.thePlayer.getHeldItem().getItem() instanceof ItemBlock;
if (r) {
Reflection.rightClick();
((IAccessorMinecraft) mc).callRightClickMouse();
} else {
int key = mc.gameSettings.keyBindAttack.getKeyCode();
KeyBinding.setKeyBindState(key, st);

View File

@ -2,6 +2,7 @@ package keystrokesmod.module.impl.combat;
import keystrokesmod.Raven;
import keystrokesmod.event.*;
import keystrokesmod.mixin.impl.accessor.IAccessorMinecraft;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.client.Settings;
@ -90,7 +91,7 @@ public class KillAura extends Module {
private int partialTicks;
private int firstEdge;
private boolean blocked;
private boolean canUse;
private int unBlockDelay;
private boolean canBlockServerside;
// blink related
@ -178,6 +179,30 @@ public class KillAura extends Module {
}
}
@SubscribeEvent(priority = EventPriority.HIGH)
public void onSendPacket(SendPacketEvent e) {
if (!Utils.nullCheck()) {
return;
}
Packet packet = e.getPacket();
if (packet.getClass().getSimpleName().startsWith("S")) {
return;
}
if (packet instanceof C08PacketPlayerBlockPlacement) {
if (delayTicks >= 0) {
if (((C08PacketPlayerBlockPlacement) packet).getStack() != null && ((C08PacketPlayerBlockPlacement) packet).getStack().getItem() instanceof ItemSword && ((C08PacketPlayerBlockPlacement) packet).getPlacedBlockDirection() != 255) {
e.setCanceled(true);
}
}
}
if (blinking.get() && !e.isCanceled()) { // blink
if (packet instanceof C00PacketLoginStart || packet instanceof C00Handshake) {
return;
}
blinkedPackets.add(packet);
e.setCanceled(true);
}
}
@SubscribeEvent
public void onPreUpdate(PreUpdateEvent e) {
@ -233,18 +258,27 @@ public class KillAura extends Module {
}
lastPressedLeft = pressedLeft;
}
if (sendDig && !isTargeting && !ModuleManager.bedAura.stopAutoblock) {
sendDigPacket();
sendDig = false;
if (sendDig && ++unBlockDelay >= 2) {
if (target == null && !ModuleManager.bedAura.stopAutoblock && blocked) {
sendDigPacket();
}
sendDig = blocked = false;
unBlockDelay = 0;
}
/*if (sendUnBlock) {
Reflection.setItemInUse(blockingClient = false);
sendDigPacket();
sendUnBlock = false;
Utils.print("sendUnBlock");
return;
}*/
delayTicks--;
if (sendUnBlock) {
if (Raven.packetsHandler.C07.get()) {
sendUnBlock = false;
return;
}
if (!Utils.keybinds.isMouseDown(1)) {
Reflection.setItemInUse(blockingClient = false);
sendDigPacket();
}
sendUnBlock = false;
Utils.print("Dig 2");
return;
}
if (ModuleManager.blink.isEnabled()) {
if (blinking.get() || lag) {
resetBlinkState(true);
@ -396,31 +430,6 @@ public class KillAura extends Module {
}
}
@SubscribeEvent(priority = EventPriority.HIGH)
public void onSendPacket(SendPacketEvent e) {
if (!Utils.nullCheck()) {
return;
}
Packet packet = e.getPacket();
if (packet.getClass().getSimpleName().startsWith("S")) {
return;
}
if (packet instanceof C08PacketPlayerBlockPlacement) {
if (delayTicks >= 0) {
if (((C08PacketPlayerBlockPlacement) packet).getStack() != null && ((C08PacketPlayerBlockPlacement) packet).getStack().getItem() instanceof ItemSword && ((C08PacketPlayerBlockPlacement) packet).getPlacedBlockDirection() != 255) {
e.setCanceled(true);
}
}
}
if (blinking.get() && !e.isCanceled()) { // blink
if (packet instanceof C00PacketKeepAlive || packet instanceof C00PacketLoginStart || packet instanceof C00Handshake) {
return;
}
blinkedPackets.add(packet);
e.setCanceled(true);
}
}
@SubscribeEvent
public void onMouse(MouseEvent e) {
if (e.button == 0 || e.button == 1) {
@ -507,7 +516,7 @@ public class KillAura extends Module {
if (entity == null || !(entity instanceof EntityLivingBase)) {
if (blockingClient) {
//Reflection.setItemInUse(blockingClient = false);
sendUnBlock = true;
//sendUnBlock = true;
}
if (blinking.get() || lag) {
resetBlinkState(true);
@ -845,7 +854,7 @@ public class KillAura extends Module {
}
break;
case 5: // hypixel a
if (interactTicks >= 3) {
if (interactTicks >= 4) {
interactTicks = 0;
}
interactTicks++;
@ -857,7 +866,7 @@ public class KillAura extends Module {
blocked = false;
}
break;
case 2:
case 3:
handleInteractAndAttack(distance, true, true, swung);
sendBlockPacket();
blocked = true;
@ -871,7 +880,7 @@ public class KillAura extends Module {
interactTicks = 0;
}
interactTicks++;
if (!firstCycle) {
if (firstCycle) {
switch (interactTicks) {
case 1:
blinking.set(true);
@ -884,17 +893,10 @@ public class KillAura extends Module {
handleInteractAndAttack(distance, true, true, swung);
sendBlockPacket();
blocked = true;
releasePackets(); // release
releasePackets();
lag = true;
break;
case 3:
++firstEdge;
if (firstEdge > 2) {
firstCycle = true;
if (firstEdge > 6) {
firstEdge = 0;
}
}
firstEdge = 1;
firstCycle = false;
break;
}
}
@ -911,10 +913,13 @@ public class KillAura extends Module {
handleInteractAndAttack(distance, true, true, swung);
sendBlockPacket();
blocked = true;
releasePackets(); // release
releasePackets();
lag = true;
interactTicks = 0;
firstCycle = false;
if (firstEdge == 0) {
firstEdge = 1;
}
firstCycle = true;
break;
}
}
@ -1064,7 +1069,7 @@ public class KillAura extends Module {
if (!canHit) {
return;
}
MovingObjectPosition mov = RotationUtils.rayTrace(10, Utils.getTimer().renderPartialTicks, RotationUtils.serverRotations, hitThroughBlocks.isToggled() ? attackingEntity : null);
MovingObjectPosition mov = RotationUtils.rayTrace(10, ((IAccessorMinecraft) mc).getTimer().renderPartialTicks, RotationUtils.serverRotations, hitThroughBlocks.isToggled() ? attackingEntity : null);
if (mov != null && mov.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY && mov.entityHit == attackingEntity) {
Vec3 hitVec = mov.hitVec;
hitVec = new Vec3(hitVec.xCoord - attackingEntity.posX, hitVec.yCoord - attackingEntity.posY, hitVec.zCoord - attackingEntity.posZ);
@ -1151,7 +1156,7 @@ public class KillAura extends Module {
else if (unblock && lag && !ModuleManager.scaffold.isEnabled) {
sendDig = true;
}
swapped = blocked = false;
swapped = false;
lag = false;
firstEdge = interactTicks = 0;
firstCycle = false;

View File

@ -3,6 +3,7 @@ package keystrokesmod.module.impl.combat;
import keystrokesmod.module.Module;
import keystrokesmod.module.setting.impl.DescriptionSetting;
import keystrokesmod.module.setting.impl.SliderSetting;
import net.minecraft.entity.Entity;
public class Reduce extends Module {
private static SliderSetting chance;
@ -16,13 +17,17 @@ public class Reduce extends Module {
this.closetModule = true;
}
public static double getReduceMotion() {
public static void reduce(Entity entity) {
if (chance.getInput() == 0) {
return 0.6;
return;
}
if (chance.getInput() != 100.0 && Math.random() >= chance.getInput() / 100.0) {
return 0.6;
mc.thePlayer.motionX *= 0.6;
mc.thePlayer.motionZ *= 0.6;
return;
}
return (100.0 - (float)reduction.getInput()) / 100.0;
double n = (100.0 - (float)reduction.getInput()) / 100.0;
mc.thePlayer.motionX *= n;
mc.thePlayer.motionZ *= n;
}
}

View File

@ -1,6 +1,7 @@
package keystrokesmod.module.impl.combat;
import keystrokesmod.event.PreMotionEvent;
import keystrokesmod.mixin.impl.accessor.IAccessorMinecraft;
import keystrokesmod.module.Module;
import keystrokesmod.module.impl.world.AntiBot;
import keystrokesmod.module.setting.impl.ButtonSetting;
@ -74,7 +75,7 @@ public class RodAimbot extends Module {
rotate = false;
}
if (rightClick) {
Reflection.rightClick();
((IAccessorMinecraft) mc).callRightClickMouse();
rightClick = false;
}
}

View File

@ -107,7 +107,7 @@ public class DuelsStats extends Module {
Utils.sendMessage("&cAPI Key is empty!");
} else {
ProfileUtils.DM dm = ProfileUtils.DM.values()[(int) (mode.getInput() - 1.0D)];
Raven.getExecutor().execute(() -> {
Raven.getScheduledExecutor().execute(() -> {
int[] s = ProfileUtils.getHypixelStats(n, dm);
if (s != null) {
if (s[0] == -1) {

View File

@ -2,6 +2,7 @@ package keystrokesmod.module.impl.minigames;
import keystrokesmod.event.PreUpdateEvent;
import keystrokesmod.event.ReceivePacketEvent;
import keystrokesmod.mixin.impl.accessor.IAccessorMinecraft;
import keystrokesmod.module.Module;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.DescriptionSetting;
@ -137,7 +138,7 @@ public class SpeedBuilders extends Module {
if (lastPlaceTick++ < placeDelay.getInput()) {
return;
}
Reflection.rightClick();
((IAccessorMinecraft) mc).callRightClickMouse();
lastPlaceTick = 0;
}
}

View File

@ -7,6 +7,7 @@ import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.client.Settings;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.SliderSetting;
import keystrokesmod.utility.ModuleUtils;
import keystrokesmod.utility.RotationUtils;
import keystrokesmod.utility.Utils;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
@ -60,6 +61,9 @@ public class Bhop extends Module {
collided = false;
}
if (mc.thePlayer.onGround) {
if (mc.thePlayer.moveForward <= -0.5 && mc.thePlayer.moveStrafing == 0) {
setRotation = true;
}
mc.thePlayer.jump();
double horizontalSpeed = Utils.getHorizontalSpeed();
double speedModifier = 0.48;
@ -79,8 +83,7 @@ public class Bhop extends Module {
if (horizontalSpeed < additionalSpeed) {
horizontalSpeed = additionalSpeed;
}
if (Utils.isMoving() && !Utils.noSlowingBackWithBow()) {
mc.thePlayer.setSprinting(true);
if (Utils.isMoving() && !Utils.noSlowingBackWithBow() && !ModuleManager.sprint.disableBackwards()) {
Utils.setSpeed(horizontalSpeed);
didMove = true;
}
@ -141,6 +144,28 @@ public class Bhop extends Module {
}
break;
}
/*if (rotateYawOption.isToggled()) {
if (!ModuleManager.killAura.isTargeting && !Utils.noSlowingBackWithBow() && !ModuleManager.scaffold.isEnabled && !mc.thePlayer.isCollidedHorizontally && mc.thePlayer.onGround) {
float yaw = mc.thePlayer.rotationYaw;
e.setYaw(yaw - hardcodedYaw());
}
}*/
}
public float hardcodedYaw() {
float simpleYaw = 0F;
float f = 0.8F;
if (mc.thePlayer.moveForward == 0) {
if (mc.thePlayer.moveStrafing >= f) simpleYaw += 90;
if (mc.thePlayer.moveStrafing <= -f) simpleYaw -= 90;
}
else if (mc.thePlayer.moveForward <= -f) {
simpleYaw -= 180;
if (mc.thePlayer.moveStrafing >= f) simpleYaw -= 45;
if (mc.thePlayer.moveStrafing <= -f) simpleYaw += 45;
}
return simpleYaw;
}
public void onDisable() {

View File

@ -1,56 +0,0 @@
package keystrokesmod.module.impl.movement;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.setting.impl.DescriptionSetting;
import keystrokesmod.module.setting.impl.SliderSetting;
import keystrokesmod.utility.Utils;
public class Boost extends Module {
public static DescriptionSetting c;
public static SliderSetting a;
public static SliderSetting b;
private int i = 0;
private boolean t = false;
public Boost() {
super("Boost", Module.category.movement, 0);
this.registerSetting(c = new DescriptionSetting("20 ticks are in 1 second"));
this.registerSetting(a = new SliderSetting("Multiplier", 2.0D, 1.0D, 3.0D, 0.05D));
this.registerSetting(b = new SliderSetting("Time (ticks)", 15.0D, 1.0D, 80.0D, 1.0D));
}
public void onEnable() {
if (ModuleManager.timer.isEnabled()) {
this.t = true;
ModuleManager.timer.disable();
}
}
public void onDisable() {
this.i = 0;
if (Utils.getTimer().timerSpeed != 1.0F) {
Utils.resetTimer();
}
if (this.t) {
ModuleManager.timer.enable();
}
this.t = false;
}
public void onUpdate() {
if (this.i == 0) {
this.i = mc.thePlayer.ticksExisted;
}
Utils.getTimer().timerSpeed = (float) a.getInput();
if ((double) this.i == (double) mc.thePlayer.ticksExisted - b.getInput()) {
Utils.resetTimer();
this.disable();
}
}
}

View File

@ -6,7 +6,7 @@ import keystrokesmod.module.impl.combat.KillAura;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.DescriptionSetting;
import keystrokesmod.module.setting.impl.SliderSetting;
import keystrokesmod.utility.Utils;
import net.minecraft.entity.Entity;
import net.minecraft.util.Vec3;
public class KeepSprint extends Module {
@ -22,7 +22,7 @@ public class KeepSprint extends Module {
this.registerSetting(reduceReachHits = new ButtonSetting("Only reduce reach hits", false));
}
public static double getKeepSprintMotion() {
public static void keepSprint(Entity en) {
boolean vanilla = false;
if (disableWhileJump.isToggled() && !mc.thePlayer.onGround) {
vanilla = true;
@ -31,7 +31,7 @@ public class KeepSprint extends Module {
double distance = -1.0;
final Vec3 getPositionEyes = mc.thePlayer.getPositionEyes(1.0f);
if (ModuleManager.killAura != null && ModuleManager.killAura.isEnabled() && KillAura.target != null) {
distance = getPositionEyes.distanceTo(KillAura.target.getPositionEyes(Utils.getTimer().renderPartialTicks));
distance = getPositionEyes.distanceTo(KillAura.target.getPositionEyes(1.0f));
}
else if (ModuleManager.reach != null && ModuleManager.reach.isEnabled()) {
distance = getPositionEyes.distanceTo(mc.objectMouseOver.hitVec);
@ -41,10 +41,13 @@ public class KeepSprint extends Module {
}
}
if (vanilla) {
return 0.6;
mc.thePlayer.motionX *= 0.6;
mc.thePlayer.motionZ *= 0.6;
}
else {
return (100.0f - (float) slow.getInput()) / 100.0f;
float mult = (100.0f - (float) slow.getInput()) / 100.0f;
mc.thePlayer.motionX *= mult;
mc.thePlayer.motionZ *= mult;
}
}
}

View File

@ -2,6 +2,7 @@ package keystrokesmod.module.impl.movement;
import keystrokesmod.event.PrePlayerInputEvent;
import keystrokesmod.event.*;
import keystrokesmod.mixin.impl.accessor.IAccessorMinecraft;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.setting.impl.ButtonSetting;
@ -199,7 +200,7 @@ public class LongJump extends Module {
if (fireballSlot != -1) {
mc.thePlayer.inventory.currentItem = fireballSlot; // we are probably already on the slot but make sure
fireballTime = System.currentTimeMillis();
Reflection.rightClick();
((IAccessorMinecraft) mc).callRightClickMouse();
mc.thePlayer.swingItem();
mc.getItemRenderer().resetEquippedProgress();
stopVelocity = true;

View File

@ -2,6 +2,7 @@ package keystrokesmod.module.impl.movement;
import keystrokesmod.Raven;
import keystrokesmod.event.*;
import keystrokesmod.mixin.impl.accessor.IAccessorItemFood;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.setting.impl.ButtonSetting;
@ -16,7 +17,7 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import org.lwjgl.input.Mouse;
public class NoSlow extends Module {
public static SliderSetting mode;
public SliderSetting mode;
public static SliderSetting slowed;
public static ButtonSetting disableBow;
public static ButtonSetting disablePotions;
@ -27,7 +28,6 @@ public class NoSlow extends Module {
private boolean postPlace;
private boolean canFloat;
private boolean reSendConsume;
private boolean setRotation;
public static boolean noSlowing;
public NoSlow() {
@ -116,13 +116,12 @@ public class NoSlow extends Module {
return;
}
if (reSendConsume) {
if (!mc.thePlayer.onGround) {
if (ModuleUtils.inAirTicks > 1) {
//mc.playerController.sendUseItem(mc.thePlayer, mc.theWorld, mc.thePlayer.getHeldItem());
mc.getNetHandler().addToSendQueue(new C08PacketPlayerBlockPlacement(mc.thePlayer.getHeldItem()));
canFloat = true;
reSendConsume = false;
}
if (ModuleUtils.inAirTicks > 1) {
KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(), false);
KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(), true);
mc.playerController.sendUseItem(mc.thePlayer, mc.theWorld, mc.thePlayer.getHeldItem());
canFloat = true;
reSendConsume = false;
}
}
if (!canFloat) {
@ -130,20 +129,10 @@ public class NoSlow extends Module {
}
e.setPosY(e.getPosY() + 1E-11);
noSlowing = true;
if (mc.thePlayer.onGround) {
if (mc.thePlayer.moveStrafing == 0 && mc.thePlayer.moveForward <= 0 && Utils.isMoving()) {
setRotation = true;
} else {
setRotation = false;
}
}
if (Utils.noSlowingBackWithBow()) setRotation = false;
if (groundSpeedOption.isToggled()) {
if (setRotation) {
if (!ModuleManager.killAura.isTargeting && !Utils.noSlowingBackWithBow() && !Utils.jumpDown()) {
float playerYaw = mc.thePlayer.rotationYaw;
e.setYaw(playerYaw -= 55);
}
if (!ModuleManager.killAura.isTargeting && !Utils.noSlowingBackWithBow() && !Utils.jumpDown() && mc.thePlayer.moveForward <= -0.5 && mc.thePlayer.moveStrafing == 0 && Utils.isMoving() && mc.thePlayer.onGround) {
float yaw = mc.thePlayer.rotationYaw;
e.setYaw(yaw - 55);
}
}
}
@ -205,7 +194,7 @@ public class NoSlow extends Module {
private void resetFloat() {
reSendConsume = false;
canFloat = setRotation = false;
canFloat = false;
}
private double getSpeedModifier() {
@ -239,18 +228,11 @@ public class NoSlow extends Module {
return false;
}
private boolean holdingEdible(ItemStack stack) {
public static boolean holdingEdible(ItemStack stack) {
if (stack.getItem() instanceof ItemFood && mc.thePlayer.getFoodStats().getFoodLevel() == 20) {
ItemFood food = (ItemFood) stack.getItem();
boolean alwaysEdible = false;
try {
alwaysEdible = Reflection.alwaysEdible.getBoolean(food);
}
catch (Exception e) {
Utils.sendMessage("&cError checking food edibility, check logs.");
e.printStackTrace();
}
return alwaysEdible;
return ((IAccessorItemFood) food).getAlwaysEdible();
}
return true;
}

View File

@ -1,33 +0,0 @@
package keystrokesmod.module.impl.movement;
import keystrokesmod.module.Module;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.SliderSetting;
import keystrokesmod.utility.Utils;
public class Speed extends Module {
public static SliderSetting speed;
private ButtonSetting strafeOnly;
public Speed() {
super("Speed", Module.category.movement, 0);
this.registerSetting(speed = new SliderSetting("Speed", 1.2D, 1.0D, 1.5D, 0.01D));
this.registerSetting(strafeOnly = new ButtonSetting("Strafe only", false));
}
public void onUpdate() {
double csp = Utils.getHorizontalSpeed();
if (csp != 0.0D) {
if (mc.thePlayer.onGround && !mc.thePlayer.capabilities.isFlying) {
if (!strafeOnly.isToggled() || mc.thePlayer.moveStrafing != 0.0F) {
if (mc.thePlayer.hurtTime != mc.thePlayer.maxHurtTime || mc.thePlayer.maxHurtTime <= 0) {
if (!Utils.jumpDown()) {
double val = speed.getInput() - (speed.getInput() - 1.0D) * 0.5D;
Utils.ss(csp * val, true);
}
}
}
}
}
}
}

View File

@ -2,12 +2,13 @@ package keystrokesmod.module.impl.movement;
import keystrokesmod.event.PreMotionEvent;
import keystrokesmod.event.PreUpdateEvent;
import keystrokesmod.mixins.impl.entity.IAccessorEntityPlayerSP;
import keystrokesmod.mixin.impl.accessor.IAccessorEntityPlayerSP;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.DescriptionSetting;
import keystrokesmod.module.setting.impl.SliderSetting;
import keystrokesmod.utility.ModuleUtils;
import keystrokesmod.utility.RenderUtils;
import keystrokesmod.utility.Utils;
import net.minecraft.client.gui.GuiButton;
@ -30,7 +31,6 @@ public class Sprint extends Module {
public float posX = 5;
public float posY = 5;
private float limit;
public boolean disableBack;
private String[] omniDirectionalModes = new String[] { "Disabled", "Vanilla", "Hypixel" };
@ -54,36 +54,31 @@ public class Sprint extends Module {
return;
}
if (ModuleManager.sprint.isEnabled() && ModuleManager.sprint.omniDirectional.getInput() == 2) {
if (mc.thePlayer.onGround && mc.thePlayer.moveStrafing == 0 && mc.thePlayer.moveForward <= -0.5 && !Utils.jumpDown()) {
if (mc.thePlayer.onGround && mc.thePlayer.moveForward <= -0.5 && mc.thePlayer.moveStrafing == 0 && !Utils.jumpDown()) {
if (!ModuleManager.killAura.isTargeting && !Utils.noSlowingBackWithBow() && !ModuleManager.safeWalk.canSafeWalk() && !ModuleManager.scaffold.isEnabled && !ModuleManager.bhop.isEnabled() && !mc.thePlayer.isCollidedHorizontally) {
float playerYaw = mc.thePlayer.rotationYaw;
e.setYaw(playerYaw -= 55);
float yaw = mc.thePlayer.rotationYaw;
e.setYaw(yaw - 55);
}
}
}
}
@SubscribeEvent
public void onPreUpdate(PreUpdateEvent e) {
limit = MathHelper.wrapAngleTo180_float(mc.thePlayer.rotationYaw - ((IAccessorEntityPlayerSP) mc.thePlayer).getLastReportedYaw() );
//Utils.print("" + limit);
public boolean disableBackwards() {
limit = MathHelper.wrapAngleTo180_float(mc.thePlayer.rotationYaw - ((IAccessorEntityPlayerSP) mc.thePlayer).getLastReportedYaw());
double limitVal = 135;
if (!disableBackwards.isToggled()) {
disableBack = false;
return;
return false;
}
if (exceptions()) {
disableBack = false;
return;
return false;
}
if ((limit <= -limitVal || limit >= limitVal) || omniSprint() && ModuleManager.killAura.isTargeting && mc.thePlayer.moveForward <= 0.5) {
disableBack = true;
//Utils.print("Disable sprint");
if ((limit <= -limitVal || limit >= limitVal)) {
return true;
}
else {
disableBack = false;
if ((omniSprint() || ModuleManager.bhop.isEnabled()) && ModuleManager.killAura.isTargeting && mc.thePlayer.moveForward <= 0.5) {
return true;
}
return false;
}
public void onUpdate() {
@ -117,7 +112,7 @@ public class Sprint extends Module {
}
private boolean exceptions() {
return ModuleManager.scaffold.isEnabled || mc.thePlayer.hurtTime > 0;
return ModuleManager.scaffold.isEnabled || mc.thePlayer.hurtTime > 0 || !mc.thePlayer.onGround;
}
static class EditScreen extends GuiScreen {

View File

@ -1,30 +0,0 @@
package keystrokesmod.module.impl.movement;
import keystrokesmod.module.Module;
import keystrokesmod.module.setting.impl.ButtonSetting;
public class StopMotion extends Module {
private ButtonSetting stopX;
private ButtonSetting stopY;
private ButtonSetting stopZ;
public StopMotion() {
super("Stop Motion", Module.category.movement, 0);
this.registerSetting(stopX = new ButtonSetting("Stop X", true));
this.registerSetting(stopY = new ButtonSetting("Stop Y", true));
this.registerSetting(stopZ = new ButtonSetting("Stop Z", true));
}
public void onEnable() {
if (stopX.isToggled()) {
mc.thePlayer.motionX = 0;
}
if (stopY.isToggled()) {
mc.thePlayer.motionY = 0;
}
if (stopZ.isToggled()) {
mc.thePlayer.motionZ = 0;
}
this.disable();
}
}

View File

@ -71,7 +71,7 @@ public class ChatBypass extends Module {
msg = doReplace(msg);
}
if (split[0] != null) { // if command existed, re-add
if (split[0] != null && split[1] != null) { // if command existed, re-add
msg = split[0] + " " + msg;
}

View File

@ -1,6 +1,6 @@
package keystrokesmod.module.impl.other;
import keystrokesmod.event.AllPacketsEvent;
import keystrokesmod.event.NoEventPacketEvent;
import keystrokesmod.module.Module;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.utility.BlockUtils;
@ -126,7 +126,7 @@ public class DebugAC extends Module {
}
@SubscribeEvent
public void onAllPacketSent(AllPacketsEvent e) {
public void onAllPacketSent(NoEventPacketEvent e) {
if (e.getPacket() instanceof C03PacketPlayer) {
lastC03 = System.currentTimeMillis();
}

View File

@ -1,5 +1,6 @@
package keystrokesmod.module.impl.other;
import keystrokesmod.event.NoEventPacketEvent;
import keystrokesmod.event.ReceivePacketEvent;
import keystrokesmod.event.SendPacketEvent;
import keystrokesmod.module.Module;
@ -82,6 +83,29 @@ public class ViewPackets extends Module {
sendMessage(packet = e.getPacket(), false);
}
@SubscribeEvent
public void onSendPacketNoEvent(NoEventPacketEvent e) {
if (!sent.isToggled()) {
return;
}
if (singlePlayer.isToggled() && mc.isSingleplayer() && e.getPacket().getClass().getSimpleName().charAt(0) == 'S') {
return;
}
if (e.isCanceled() && !includeCancelled.isToggled()) {
return;
}
if (ignoreC00.isToggled() && e.getPacket() instanceof C00PacketKeepAlive) {
return;
}
if (ignoreC0F.isToggled() && e.getPacket() instanceof C0FPacketConfirmTransaction) {
return;
}
if (e.getPacket() instanceof C03PacketPlayer && (ignoreC03.isToggled() || (compactC03.isToggled() && (packet == null || packet instanceof C03PacketPlayer)))) {
return;
}
sendMessage(packet = e.getPacket(), false);
}
@SubscribeEvent
public void onReceivePacket(ReceivePacketEvent e) {
if (!received.isToggled()) {

View File

@ -1,6 +1,7 @@
package keystrokesmod.module.impl.player;
import keystrokesmod.event.PreUpdateEvent;
import keystrokesmod.mixin.impl.accessor.IAccessorMinecraft;
import keystrokesmod.module.Module;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.SliderSetting;
@ -121,7 +122,7 @@ public class AntiAFK extends Module {
mc.thePlayer.inventory.currentItem = Utils.randomizeInt(0, 8);
}
if (randomClicks.isToggled()) {
Reflection.clickMouse();
((IAccessorMinecraft) mc).callClickMouse();
}
this.ticks = this.h();
this.c = !this.c;

View File

@ -1,42 +0,0 @@
package keystrokesmod.module.impl.player;
import keystrokesmod.module.Module;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.utility.Utils;
import net.minecraft.client.settings.KeyBinding;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent;
public class AutoJump extends Module {
public static ButtonSetting b;
private boolean c = false;
public AutoJump() {
super("AutoJump", Module.category.player, 0);
this.registerSetting(b = new ButtonSetting("Cancel when shifting", true));
}
public void onDisable() {
this.ju(this.c = false);
}
@SubscribeEvent
public void p(PlayerTickEvent e) {
if (Utils.nullCheck()) {
if (mc.thePlayer.onGround && (!b.isToggled() || !mc.thePlayer.isSneaking())) {
if (Utils.onEdge()) {
this.ju(this.c = true);
} else if (this.c) {
this.ju(this.c = false);
}
} else if (this.c) {
this.ju(this.c = false);
}
}
}
private void ju(boolean ju) {
KeyBinding.setKeyBindState(mc.gameSettings.keyBindJump.getKeyCode(), ju);
}
}

View File

@ -1,5 +1,6 @@
package keystrokesmod.module.impl.player;
import keystrokesmod.mixin.impl.accessor.IAccessorMinecraft;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.setting.impl.ButtonSetting;
@ -55,7 +56,7 @@ public class AutoPlace extends Module {
public void onDisable() {
if (holdRight.isToggled()) {
this.rd(4);
this.setRightClickDelay(4);
}
this.resetVariables();
@ -71,10 +72,10 @@ public class AutoPlace extends Module {
}
if (fastPlaceJump.isToggled() && holdRight.isToggled() && !ModuleManager.fastPlace.isEnabled() && Mouse.isButtonDown(1)) {
if (mc.thePlayer.motionY > 0.0) {
this.rd(1);
this.setRightClickDelay(1);
}
else if (!pitchCheck.isToggled() || mc.thePlayer.rotationPitch >= 70.0f) {
this.rd(1000);
this.setRightClickDelay(1000);
}
}
}
@ -122,13 +123,8 @@ public class AutoPlace extends Module {
}
}
private void rd(int i) {
try {
if (Reflection.rightClickDelayTimerField != null) {
Reflection.rightClickDelayTimerField.set(mc, i);
}
} catch (IllegalAccessException | IndexOutOfBoundsException var3) {
}
private void setRightClickDelay(int delay) {
((IAccessorMinecraft) mc).setRightClickDelayTimer(delay);
}
private void resetVariables() {

View File

@ -1,6 +1,6 @@
package keystrokesmod.module.impl.player;
import keystrokesmod.mixins.interfaces.IMixinItemRenderer;
import keystrokesmod.mixin.interfaces.IMixinItemRenderer;
import keystrokesmod.module.Module;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.SliderSetting;

View File

@ -80,7 +80,7 @@ public class Blink extends Module {
this.disable();
return;
}
if (ModuleManager.killAura.lag || ModuleManager.killAura.justUnTargeted) {
if (ModuleManager.killAura.lag || ModuleManager.killAura.justUnTargeted || ModuleManager.killAura.target != null) {
return;
}
if (disableOnBreak.isToggled() && (Utils.usingBedAura() || ModuleUtils.isBreaking)) {
@ -88,10 +88,7 @@ public class Blink extends Module {
return;
}
Packet packet = e.getPacket();
if (packet.getClass().getSimpleName().startsWith("S")) {
return;
}
if (packet instanceof C00PacketKeepAlive || packet instanceof C00PacketLoginStart || packet instanceof C00Handshake) {
if (e.isCanceled() || packet.getClass().getSimpleName().startsWith("S") || packet instanceof C00PacketLoginStart || packet instanceof C00Handshake) {
return;
}
started = true;

View File

@ -1,5 +1,7 @@
package keystrokesmod.module.impl.player;
import keystrokesmod.mixin.impl.accessor.IAccessorEntityLivingBase;
import keystrokesmod.mixin.impl.accessor.IAccessorMinecraft;
import keystrokesmod.module.Module;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.SliderSetting;
@ -26,18 +28,10 @@ public class DelayRemover extends Module {
return;
}
if (oldReg.isToggled()) {
try {
Reflection.leftClickCounter.set(mc, 0);
} catch (IllegalAccessException ex) {
} catch (IndexOutOfBoundsException ex2) {
}
((IAccessorMinecraft) mc).setLeftClickCounter(0);
}
if (removeJumpTicks.getInput() == 1 || removeJumpTicks.getInput() == 2 && removeJumpDelay()) {
try {
Reflection.jumpTicks.set(mc.thePlayer, 0);
} catch (IllegalAccessException ex3) {
} catch (IndexOutOfBoundsException ex4) {
}
((IAccessorEntityLivingBase) mc.thePlayer).setJumpTicks(0);
}
}

View File

@ -1,26 +1,12 @@
package keystrokesmod.module.impl.player;
import keystrokesmod.event.PreMotionEvent;
import keystrokesmod.event.PrePlayerInputEvent;
import keystrokesmod.event.ReceivePacketEvent;
import keystrokesmod.event.*;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.movement.LongJump;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.SliderSetting;
import keystrokesmod.script.classes.Block;
import keystrokesmod.utility.BlockUtils;
import keystrokesmod.utility.PacketUtils;
import keystrokesmod.utility.Reflection;
import keystrokesmod.utility.Utils;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.network.play.client.C03PacketPlayer;
import net.minecraft.network.play.client.C0BPacketEntityAction;
import net.minecraft.network.play.server.S08PacketPlayerPosLook;
import net.minecraft.network.play.server.S12PacketEntityVelocity;
import net.minecraft.network.play.server.S27PacketExplosion;
import net.minecraft.util.BlockPos;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
@ -28,6 +14,8 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import java.util.Objects;
public class Disabler extends Module {
public ButtonSetting motion;
public ButtonSetting bridging;
private final int defaultSetbacks = 20;
private final long joinDelay = 200, delay = 0, checkDisabledTime = 4000, timeout = 12000;
@ -41,12 +29,19 @@ public class Disabler extends Module {
private boolean noRotateWasEnabled;
private Class<? extends Module> noRotate;
private boolean hasSneaked, hasWentInAir;
private int lastSneakTicks;
private int lastY;
//private String text;
private int[] disp;
private int width;
public Disabler() {
super("Disabler", Module.category.player);
this.registerSetting(motion = new ButtonSetting("Motion", false));
this.registerSetting(bridging = new ButtonSetting("Bridging", false));
}
private void resetVars() {
@ -59,7 +54,7 @@ public class Disabler extends Module {
@SubscribeEvent(priority = EventPriority.LOWEST)
public void onPreMotion(PreMotionEvent e) {
long now = System.currentTimeMillis();
/*long now = System.currentTimeMillis();
if (!awaitGround && !mc.thePlayer.onGround) {
disablerAirTicks++;
@ -139,10 +134,53 @@ public class Disabler extends Module {
e.setPosZ(zOffset + min_offset);
}
}
}*/
if (bridging.isToggled()) {
if (mc.gameSettings.keyBindSneak.isKeyDown() || !Safewalk.canSafeWalk() && !ModuleManager.scaffold.isEnabled) {
lastSneakTicks = 0;
}
if (mc.thePlayer.onGround) { // Switching Y levels doesnt stop flagging
if ((int) mc.thePlayer.posY != lastY && hasWentInAir) {
lastSneakTicks = 0;
Utils.print("Dif Y");
}
lastY = (int) mc.thePlayer.posY;
hasWentInAir = false;
}
else {
hasWentInAir = true;
}
lastSneakTicks++;
}
}
@SubscribeEvent
public void onPostPlayerInput(PostPlayerInputEvent e) {
if (bridging.isToggled()) {
if (hasSneaked) {
if (!mc.gameSettings.keyBindSneak.isKeyDown()) {
mc.thePlayer.sendQueue.addToSendQueue(new C0BPacketEntityAction(mc.thePlayer, C0BPacketEntityAction.Action.STOP_SNEAKING));
}
hasSneaked = false;
lastSneakTicks = 0;
} else if (lastSneakTicks >= 19) {
if (!mc.gameSettings.keyBindSneak.isKeyDown() && (Safewalk.canSafeWalk() || ModuleManager.scaffold.isEnabled) && mc.thePlayer.onGround) {
mc.thePlayer.sendQueue.addToSendQueue(new C0BPacketEntityAction(mc.thePlayer, C0BPacketEntityAction.Action.START_SNEAKING));
hasSneaked = true;
Utils.print("Sneak packet");
}
}
}
}
@SubscribeEvent()
public void onMoveInput(PrePlayerInputEvent e) {
if (awaitSetback) {
e.setForward(0);
e.setStrafe(0);
}
}
@SubscribeEvent
@ -153,14 +191,6 @@ public class Disabler extends Module {
}
}
@SubscribeEvent(priority = EventPriority.LOWEST) // called last in order to apply fix
public void onMoveInput(PrePlayerInputEvent e) {
if (awaitSetback) {
e.setForward(0);
e.setStrafe(0);
}
}
/*void onRenderTick(float partialTicks) {
if (awaitSetback) {
if (hideProgress || text == null) {

View File

@ -1,11 +1,11 @@
package keystrokesmod.module.impl.player;
import keystrokesmod.mixin.impl.accessor.IAccessorPlayerControllerMP;
import keystrokesmod.module.Module;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.DescriptionSetting;
import keystrokesmod.module.setting.impl.SliderSetting;
import keystrokesmod.utility.BlockUtils;
import keystrokesmod.utility.Reflection;
import keystrokesmod.utility.Utils;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;
@ -17,8 +17,8 @@ public class FastMine extends Module { // from b4 src
private SliderSetting mode;
private ButtonSetting creativeDisable;
private float lastCurBlockDamageMP;
private String[] modes = new String[]{"Pre", "Post", "Increment"};
private String[] modes = new String[] { "Pre", "Post", "Increment" };
public FastMine() {
super("FastMine", category.player);
this.registerSetting(new DescriptionSetting("Vanilla is 5 delay & 1x speed."));
@ -34,11 +34,6 @@ public class FastMine extends Module { // from b4 src
return ((int) multiplier.getInput() == multiplier.getInput() ? (int) multiplier.getInput() + "" : multiplier.getInput()) + multiplier.getSuffix();
}
@Override
public int getInfoType() {
return 1;
}
@SubscribeEvent
public void a(TickEvent.PlayerTickEvent e) {
if (e.phase != TickEvent.Phase.END || !mc.inGameHasFocus || !Utils.nullCheck()) {
@ -47,57 +42,49 @@ public class FastMine extends Module { // from b4 src
if (creativeDisable.isToggled() && mc.thePlayer.capabilities.isCreativeMode) {
return;
}
final int delay = (int) this.delay.getInput();
int delay = (int) this.delay.getInput();
if (delay < 5.0) {
try {
if (delay == 0.0) {
Reflection.blockHitDelay.set(mc.playerController, 0);
} else if (Reflection.blockHitDelay.getInt(mc.playerController) > delay) {
Reflection.blockHitDelay.set(mc.playerController, delay);
}
} catch (IllegalAccessException ex) {
} catch (IndexOutOfBoundsException ex2) {
if (delay == 0) {
((IAccessorPlayerControllerMP) mc.playerController).setBlockHitDelay(0);
}
else if (((IAccessorPlayerControllerMP) mc.playerController).getBlockHitDelay() > delay) {
((IAccessorPlayerControllerMP) mc.playerController).setBlockHitDelay(delay);
}
}
final double c = multiplier.getInput();
if (c > 1.0) {
double multiplierInput = multiplier.getInput();
if (multiplierInput > 1.0) {
if (!mc.thePlayer.capabilities.isCreativeMode && Mouse.isButtonDown(0)) {
try {
final float float1 = Reflection.curBlockDamageMP.getFloat(mc.playerController);
switch ((int) mode.getInput()) {
case 0: {
float n = (float) (1.0 - 1.0 / c);
if (float1 > 0.0f && float1 < n) {
Reflection.curBlockDamageMP.set(mc.playerController, n);
break;
}
float curBlockDamage = ((IAccessorPlayerControllerMP) mc.playerController).getCurBlockDamageMP();
switch ((int) mode.getInput()) {
case 0:
float damage = (float) (1.0 - 1.0 / multiplierInput);
if (curBlockDamage > 0.0f && curBlockDamage < damage) {
((IAccessorPlayerControllerMP) mc.playerController).setCurBlockDamageMP(damage);
break;
}
case 1: {
final double n2 = 1.0 / c;
if (float1 < 1.0f && float1 >= n2) {
Reflection.curBlockDamageMP.set(mc.playerController, 1);
break;
}
break;
case 1:
double extra = 1.0 / multiplierInput;
if (curBlockDamage < 1.0f && curBlockDamage >= extra) {
((IAccessorPlayerControllerMP) mc.playerController).setCurBlockDamageMP(1);
break;
}
case 2: {
float n3 = -1.0f;
if (float1 < 1.0f) {
if (mc.objectMouseOver != null && float1 > this.lastCurBlockDamageMP) {
n3 = (float) (this.lastCurBlockDamageMP + BlockUtils.getBlockHardness(mc.theWorld.getBlockState(mc.objectMouseOver.getBlockPos()).getBlock(), mc.thePlayer.inventory.getStackInSlot(mc.thePlayer.inventory.currentItem), false, false) * (c - 0.2152857 * (c - 1.0)));
}
if (n3 != -1.0f && float1 > 0.0f) {
Reflection.curBlockDamageMP.set(mc.playerController, n3);
}
break;
case 2:
float damage2 = -1.0f;
if (curBlockDamage < 1.0f) {
if (mc.objectMouseOver != null && curBlockDamage > this.lastCurBlockDamageMP) {
damage2 = (float) (this.lastCurBlockDamageMP + BlockUtils.getBlockHardness(mc.theWorld.getBlockState(mc.objectMouseOver.getBlockPos()).getBlock(), mc.thePlayer.inventory.getStackInSlot(mc.thePlayer.inventory.currentItem), false, false) * (multiplierInput - 0.2152857 * (multiplierInput - 1.0)));
}
if (damage2 != -1.0f && curBlockDamage > 0.0f) {
((IAccessorPlayerControllerMP) mc.playerController).setCurBlockDamageMP(damage2);
}
this.lastCurBlockDamageMP = float1;
break;
}
}
} catch (IllegalAccessException | IndexOutOfBoundsException ex3) {
this.lastCurBlockDamageMP = curBlockDamage;
break;
}
} else if (mode.getInput() == 2) {
}
else if (mode.getInput() == 2) {
this.lastCurBlockDamageMP = 0.0f;
}
}

View File

@ -1,6 +1,7 @@
package keystrokesmod.module.impl.player;
import keystrokesmod.event.SendPacketEvent;
import keystrokesmod.mixin.impl.accessor.IAccessorMinecraft;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.setting.impl.ButtonSetting;
@ -32,7 +33,7 @@ public class FastPlace extends Module {
if (ModuleManager.scaffold.stopFastPlace()) {
return;
}
if (Utils.nullCheck() && mc.inGameHasFocus && Reflection.rightClickDelayTimerField != null) {
if (Utils.nullCheck() && mc.inGameHasFocus) {
if (blocksOnly.isToggled()) {
ItemStack item = mc.thePlayer.getHeldItem();
if (item == null || !(item.getItem() instanceof ItemBlock)) {
@ -43,22 +44,18 @@ public class FastPlace extends Module {
return;
}
try {
int c = (int) tickDelay.getInput();
if (c == 0) {
Reflection.rightClickDelayTimerField.set(mc, 0);
} else {
if (c == 4) {
return;
}
int d = Reflection.rightClickDelayTimerField.getInt(mc);
if (d == 4) {
Reflection.rightClickDelayTimerField.set(mc, c);
}
int c = (int) tickDelay.getInput();
if (c == 0) {
((IAccessorMinecraft) mc).setRightClickDelayTimer(0);
} else {
if (c == 4) {
return;
}
int d = ((IAccessorMinecraft) mc).getRightClickDelayTimer();
if (d == 4) {
((IAccessorMinecraft) mc).setRightClickDelayTimer(c);
}
} catch (IllegalAccessException var4) {
} catch (IndexOutOfBoundsException var5) {
}
}
}

View File

@ -79,9 +79,13 @@ public class NoFall extends Module {
}
}
if (isFalling && mode.getInput() == 3) {
Utils.getTimer().timerSpeed = (float) 1;
if (mc.thePlayer.ticksExisted % 2 == 0) {
Utils.getTimer().timerSpeed = (float) Utils.randomizeDouble(0.5, 0.6);
}
else {
Utils.getTimer().timerSpeed = (float) 1;
}
if (distanceFallen >= 3) {
Utils.getTimer().timerSpeed = (float) 0.5;
mc.getNetHandler().addToSendQueue(new C03PacketPlayer(true));
initialY = mc.thePlayer.posY;
edging = "nofall packet";

View File

@ -3,7 +3,7 @@ package keystrokesmod.module.impl.player;
import keystrokesmod.event.PreMotionEvent;
import keystrokesmod.event.PreUpdateEvent;
import keystrokesmod.event.ReceivePacketEvent;
import keystrokesmod.mixins.interfaces.IMixinItemRenderer;
import keystrokesmod.mixin.interfaces.IMixinItemRenderer;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.movement.LongJump;
@ -74,6 +74,8 @@ public class Scaffold extends Module {
private long lastSwap, lastSwap2;
private boolean didFlip;
public boolean canBlockFade;
private boolean floatJumped;
private boolean floatStarted;
private boolean floatWasEnabled;
@ -91,6 +93,8 @@ public class Scaffold extends Module {
private static float rotOffset;
private long firstStroke;
public boolean moduleEnabled;
public boolean isEnabled;
private boolean disabledModule;
@ -126,6 +130,8 @@ public class Scaffold extends Module {
public void onEnable() {
isEnabled = true;
moduleEnabled = true;
ModuleUtils.fadeEdge = 0;
firstStroke = System.currentTimeMillis();
FMLCommonHandler.instance().bus().register(scaffoldBlockCount = new ScaffoldBlockCount(mc));
lastSlot.set(-1);
@ -149,6 +155,7 @@ public class Scaffold extends Module {
if (!isEnabled || !holdingBlocks()) {
return;
}
canBlockFade = true;
int simpleY = (int) Math.round((e.posY % 1) * 10000);
if (Utils.keysDown() && usingFastScaffold() && fastScaffold.getInput() >= 1 && !ModuleManager.tower.canTower() && !ModuleManager.LongJump.isEnabled()) { // jump mode
if (mc.thePlayer.onGround && Utils.isMoving()) {
@ -236,19 +243,21 @@ public class Scaffold extends Module {
float mainOffset = MathHelper.wrapAngleTo180_float(yawBackwards - lastBlockYaw);
float rawOffset = MathHelper.wrapAngleTo180_float(yawBackwards - lastBlockYaw);
float mainOffset2 = MathHelper.wrapAngleTo180_float(yawBackwards - lastBlockYaw);
rotOffset = (!Utils.scaffoldDiagonal(false)) ? 134.475F : 140.625F;
float minOffset = (!Utils.scaffoldDiagonal(false)) ? 35 : 5;
rotOffset = (!Utils.scaffoldDiagonal(false)) ? 135F : 140F;
float minOffset = (!Utils.scaffoldDiagonal(false)) ? 30 : 0;
if (blockRotations != null) {
e.setYaw(blockRotations[0]);
e.setPitch(blockRotations[1]);
lastBlockYaw = MathHelper.wrapAngleTo180_float(blockRotations[0]);
//Utils.print("" + MathHelper.wrapAngleTo180_float(blockRotations[0]));
if (rotation.getInput() == 2) {
lastBlockYaw = blockRotations[0];
if (rotation.getInput() == 2 && !ModuleManager.tower.isVerticalTowering()) {
if (!flipRotation) {
if (main >= 0) {
//Utils.print("Main1");
@ -284,26 +293,21 @@ public class Scaffold extends Module {
//Utils.print("2 ");
}
}
//if (System.currentTimeMillis() - lastSwap >= 0) {
//Utils.print("" + rawOffset);
double minFlip = (!Utils.scaffoldDiagonal(false)) ? 7 : 14;
double minFlip = (!Utils.scaffoldDiagonal(false)) ? 6 : 14;
double minEdge = (!Utils.scaffoldDiagonal(false)) ? 0 : 10;
if (firstStroke > 0 && (System.currentTimeMillis() - firstStroke) > 200) {
if (!didFlip) {
if ((main >= 0 && rawOffset >= 0 || main <= -0 && rawOffset <= -0)) {
if ((main >= 0 && rawOffset >= minEdge || main <= -0 && rawOffset <= -minEdge)) {
didFlip = true;
flipRotation = true;
}
else {
} else {
didFlip = true;
flipRotation = false;
}
}
else if ((main >= 0 && rawOffset >= minFlip || main >= 0 && rawOffset <= -minFlip || main <= -0 && rawOffset <= -minFlip || main <= -0 && rawOffset >= minFlip)) {
} else if ((main >= 0 && rawOffset >= minFlip || main >= 0 && rawOffset <= -minFlip || main <= -0 && rawOffset <= -minFlip || main <= -0 && rawOffset >= minFlip)) {
didFlip = false;
}
//lastSwap = System.currentTimeMillis();
//Utils.print("flip " + mainOffset);
//}
}
if (!flipRotation) {
e.setYaw(e.getYaw() - mainOffset);
@ -418,7 +422,7 @@ public class Scaffold extends Module {
}
break;
case 3:
if (!firstKeepYPlace && keepYTicks == 8 || Utils.scaffoldDiagonal(false) && keepYTicks == 11) {
if (!firstKeepYPlace && keepYTicks == 8) {
placeBlock(1, 0);
firstKeepYPlace = true;
}

View File

@ -175,16 +175,16 @@ public class Tower extends Module {
if (aligning && (int) mc.thePlayer.posX > firstX) {
aligned = true;
}
e.setYaw(90F);
//e.setYaw(90F);
e.setPitch(85F);
}
if (aligned) {
if (placed) {
e.setYaw(270F);
//e.setYaw(270F);
e.setPitch(89.9F);
}
else {
e.setYaw(90F);
//e.setYaw(90F);
e.setPitch(85F);
}
placeExtraBlock = true;
@ -201,9 +201,13 @@ public class Tower extends Module {
}
}
public boolean isVerticalTowering() {
return canTower() && !Utils.keysDown() && verticalTower.getInput() == 2;
}
@SubscribeEvent
public void onPostPlayerInput(PostPlayerInputEvent e) {
if (canTower() && Utils.keysDown() && towerMove.getInput() > 0) {
/*if (canTower() && Utils.keysDown() && towerMove.getInput() > 0) {
mc.thePlayer.movementInput.jump = false;
if (!firstJump) {
if (!mc.thePlayer.onGround) {
@ -217,7 +221,7 @@ public class Tower extends Module {
firstJump = true;
}
}
}
}*/
if (canTower() && !Utils.keysDown() && verticalTower.getInput() > 0) {
mc.thePlayer.movementInput.jump = false;
}

View File

@ -48,7 +48,7 @@ public class BedESP extends Module {
return;
}
lastCheck = System.currentTimeMillis();
Raven.getExecutor().execute(() -> {
Raven.getCachedExecutor().execute(() -> {
int i;
priorityLoop:
for (int n = i = (int) range.getInput(); i >= -n; --i) {

View File

@ -1,5 +1,6 @@
package keystrokesmod.module.impl.render;
import keystrokesmod.mixin.impl.accessor.IAccessorPlayerControllerMP;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.setting.impl.ButtonSetting;
@ -95,16 +96,13 @@ public class BreakProgress extends Module {
this.resetVariables();
return;
}
try {
this.progress = Reflection.curBlockDamageMP.getFloat(mc.playerController);
if (this.progress == 0.0f) {
this.resetVariables();
return;
}
this.block = mc.objectMouseOver.getBlockPos();
this.setProgress();
} catch (IllegalAccessException ex) {
this.progress = ((IAccessorPlayerControllerMP) mc.playerController).getCurBlockDamageMP();
if (this.progress == 0.0f) {
this.resetVariables();
return;
}
this.block = mc.objectMouseOver.getBlockPos();
this.setProgress();
}
public void onDisable() {

View File

@ -1,9 +1,9 @@
package keystrokesmod.module.impl.render;
import keystrokesmod.mixin.impl.accessor.IAccessorEntityRenderer;
import keystrokesmod.module.Module;
import keystrokesmod.module.setting.impl.DescriptionSetting;
import keystrokesmod.module.setting.impl.SliderSetting;
import keystrokesmod.utility.Reflection;
import keystrokesmod.utility.Utils;
public class ExtendCamera extends Module {
@ -38,12 +38,6 @@ public class ExtendCamera extends Module {
}
private void setThirdPersonDistance(float distance) {
try {
Reflection.thirdPersonDistance.set(mc.entityRenderer, distance);
}
catch (Exception e) {
e.printStackTrace();
Utils.sendMessage("&cThere was an issue setting third person distance.");
}
((IAccessorEntityRenderer) mc.entityRenderer).setThirdPersonDistance(distance);
}
}
}

View File

@ -1,11 +1,13 @@
package keystrokesmod.module.impl.render;
import keystrokesmod.mixin.impl.accessor.IAccessorEntityArrow;
import keystrokesmod.mixin.impl.accessor.IAccessorEntityRenderer;
import keystrokesmod.mixin.impl.accessor.IAccessorMinecraft;
import keystrokesmod.module.Module;
import keystrokesmod.module.impl.world.AntiBot;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.SliderSetting;
import keystrokesmod.utility.BlockUtils;
import keystrokesmod.utility.Reflection;
import keystrokesmod.utility.RenderUtils;
import keystrokesmod.utility.Utils;
import net.minecraft.block.Block;
@ -20,7 +22,6 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.entity.projectile.EntityFireball;
import net.minecraft.entity.projectile.EntityLargeFireball;
import net.minecraft.entity.projectile.EntityWitherSkull;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.util.BlockPos;
@ -32,7 +33,6 @@ import org.lwjgl.opengl.GL11;
import java.awt.*;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@ -77,15 +77,16 @@ public class Indicators extends Module {
return;
}
try {
Iterator<Entity> iterator = threats.iterator();
while (iterator.hasNext()) {
Entity en = iterator.next();
if (en == null || !mc.theWorld.loadedEntityList.contains(en) || !canRender(en) || (en instanceof EntityArrow && Reflection.inGround.getBoolean(en))) {
iterator.remove();
for (Entity en : mc.theWorld.loadedEntityList) {
if (en == null || en == mc.thePlayer) {
continue;
}
ItemStack itemStack = null;
if (en instanceof EntityArrow) {
if (((IAccessorEntityArrow) en).getInGround()) {
threats.remove(en);
continue;
}
itemStack = new ItemStack(Items.arrow);
}
else if (en instanceof EntityFireball) {
@ -94,7 +95,7 @@ public class Indicators extends Module {
else if (en instanceof EntityEnderPearl) {
itemStack = new ItemStack(Items.ender_pearl);
}
if (!mc.theWorld.loadedEntityList.contains(en)) {
if (!threats.contains(en) && !(en instanceof EntityPlayer)) {
continue;
}
this.renderIndicatorFor(en, itemStack, event.renderTickTime);
@ -111,30 +112,23 @@ public class Indicators extends Module {
if (e.entity == mc.thePlayer) {
this.threats.clear();
}
else if (canRender(e.entity) && (mc.thePlayer.getDistanceSqToEntity(e.entity) > 36 || !threatsOnly.isToggled() || e.entity instanceof EntityPlayer)) {
else if (canRender(e.entity) && (mc.thePlayer.getDistanceSqToEntity(e.entity) > 36 || !threatsOnly.isToggled())) {
this.threats.add(e.entity);
}
}
private boolean canRender(Entity entity) {
try {
if (entity instanceof EntityArrow && !Reflection.inGround.getBoolean(entity) && renderArrows.isToggled()) {
return true;
}
else if (entity instanceof EntityLargeFireball && renderFireballs.isToggled()) {
return true;
}
else if (entity instanceof EntityEnderPearl && renderPearls.isToggled()) {
return true;
}
else if (entity instanceof EntityPlayer && renderPlayers.isToggled() && AntiBot.isBot(entity)) {
return true;
}
if (entity instanceof EntityArrow && !((IAccessorEntityArrow) entity).getInGround() && renderArrows.isToggled()) {
return true;
}
catch (IllegalAccessException e) {
Utils.sendMessage("&cIssue checking entity.");
e.printStackTrace();
return false;
else if (entity instanceof EntityLargeFireball && renderFireballs.isToggled()) {
return true;
}
else if (entity instanceof EntityEnderPearl && renderPearls.isToggled()) {
return true;
}
else if (entity instanceof EntityPlayer && renderPlayers.isToggled() && !AntiBot.isBot(entity)) {
return true;
}
return false;
}
@ -153,9 +147,7 @@ public class Indicators extends Module {
double y = en.lastTickPosY + (en.posY - en.lastTickPosY) * partialTicks - mc.getRenderManager().viewerPosY + en.height / 2;
double z = en.lastTickPosZ + (en.posZ - en.lastTickPosZ) * partialTicks - mc.getRenderManager().viewerPosZ;
if (!Reflection.setupCameraTransform(mc.entityRenderer, partialTicks, 0)) {
return;
}
((IAccessorEntityRenderer) mc.entityRenderer).callSetupCameraTransform(((IAccessorMinecraft) mc).getTimer().renderPartialTicks, 0);
ScaledResolution scaledResolution = new ScaledResolution(mc);
Vec3 vec = RenderUtils.convertTo2D(scaledResolution.getScaleFactor(), x, y, z);
@ -270,6 +262,9 @@ public class Indicators extends Module {
}
private Color getColorForItem(ItemStack itemStack) {
if (itemStack == null) {
return Color.WHITE;
}
if (itemStack.getItem() == Items.ender_pearl) {
return new Color(210, 0, 255);
}

View File

@ -1,12 +1,13 @@
package keystrokesmod.module.impl.render;
import keystrokesmod.mixin.impl.accessor.IAccessorEntityRenderer;
import keystrokesmod.mixin.impl.accessor.IAccessorMinecraft;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.world.AntiBot;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.DescriptionSetting;
import keystrokesmod.module.setting.impl.SliderSetting;
import keystrokesmod.utility.Reflection;
import keystrokesmod.utility.RenderUtils;
import keystrokesmod.utility.Utils;
import net.minecraft.client.gui.ScaledResolution;
@ -21,7 +22,6 @@ import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import java.awt.*;
import java.util.Locale;
public class Nametags extends Module {
private SliderSetting scale;
@ -46,7 +46,7 @@ public class Nametags extends Module {
public Nametags() {
super("Nametags", category.render, 0);
this.registerSetting(scale = new SliderSetting("Scale", 1.0, 0.1, 5.0, 0.1));
this.registerSetting(scale = new SliderSetting("Scale", 1.0, 0.5, 5.0, 0.1));
this.registerSetting(autoScale = new ButtonSetting("Auto-scale", true));
this.registerSetting(drawBackground = new ButtonSetting("Draw background", true));
this.registerSetting(onlyRenderName = new ButtonSetting("Only render name", false));
@ -109,21 +109,18 @@ public class Nametags extends Module {
double renderHeightOffset = (playerY - mc.getRenderManager().viewerPosY) + (!en.isSneaking() ? en.height : en.height - 0.3) + 0.294;
double heightOffset = playerY + (!en.isSneaking() ? en.height : en.height - 0.3) + 0.294;
if (!Reflection.setupCameraTransform(mc.entityRenderer, ev.partialTicks, 0)) {
continue;
}
((IAccessorEntityRenderer) mc.entityRenderer).callSetupCameraTransform(((IAccessorMinecraft) mc).getTimer().renderPartialTicks, 0);
Vec3 screenCords = RenderUtils.convertTo2D(scaledResolution.getScaleFactor(), playerX - mc.getRenderManager().viewerPosX, renderHeightOffset, playerZ - mc.getRenderManager().viewerPosZ);
if (screenCords == null) {
continue;
}
boolean inFrustum = screenCords.zCoord < 1.0003684;
if (!inFrustum) {
continue;
}
mc.entityRenderer.setupOverlayRendering();
if (screenCords == null) {
continue;
}
float scaleSetting = (float) scale.getInput();
float newScale = scaleSetting;
if (autoScale.isToggled()) {
@ -190,7 +187,7 @@ public class Nametags extends Module {
double startTime = ModuleManager.skyWars.strengthPlayers.get(en);
double timePassed = (System.currentTimeMillis() - startTime) / 1000;
double strengthRemaining = Math.max(0, Utils.round(5.0 - timePassed, 1));
String strengthInfo = "§4" + (Utils.isWholeNumber(strengthRemaining) ? (int) strengthRemaining + "" : strengthRemaining) + "s§r ";
String strengthInfo = "§4" + Utils.asWholeNum(strengthRemaining) + "s§r ";
name = strengthInfo + name;
}

View File

@ -1,13 +1,14 @@
package keystrokesmod.module.impl.render;
import keystrokesmod.Raven;
import keystrokesmod.mixin.impl.accessor.IAccessorEntityRenderer;
import keystrokesmod.mixin.impl.accessor.IAccessorMinecraft;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.world.AntiBot;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.DescriptionSetting;
import keystrokesmod.module.setting.impl.SliderSetting;
import keystrokesmod.utility.Reflection;
import keystrokesmod.utility.RenderUtils;
import keystrokesmod.utility.Utils;
import net.minecraft.client.gui.FontRenderer;
@ -195,9 +196,8 @@ public class PlayerESP extends Module {
if (!RenderUtils.isInViewFrustum(en)) {
return;
}
if (!Reflection.setupCameraTransform(mc.entityRenderer, partialTicks, 0)) {
return;
}
((IAccessorEntityRenderer) mc.entityRenderer).callSetupCameraTransform(((IAccessorMinecraft) mc).getTimer().renderPartialTicks, 0);
ScaledResolution scaledResolution = new ScaledResolution(mc);
double playerX = en.lastTickPosX + (en.posX - en.lastTickPosX) * partialTicks - mc.getRenderManager().viewerPosX;

View File

@ -1,9 +1,9 @@
package keystrokesmod.module.impl.render;
import keystrokesmod.event.ReceivePacketEvent;
import keystrokesmod.mixin.impl.accessor.IAccessorEntityRenderer;
import keystrokesmod.module.Module;
import keystrokesmod.module.setting.impl.SliderSetting;
import keystrokesmod.utility.Reflection;
import keystrokesmod.utility.Utils;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.network.play.server.S08PacketPlayerPosLook;
@ -18,45 +18,17 @@ public class Shaders extends Module {
public Shaders() {
super("Shaders", category.render);
try {
shaderLocations = (ResourceLocation[]) Reflection.shaderResourceLocations.get(mc.entityRenderer);
shaderNames = new String[shaderLocations.length];
for (int i = 0; i < shaderLocations.length; ++i) {
shaderNames[i] = ((String[]) shaderLocations[i].getResourcePath().replaceFirst("shaders/post/", "").split("\\.json"))[0].toUpperCase();
}
}
catch (Exception ex) {
ex.printStackTrace();
shaderLocations = ((IAccessorEntityRenderer) mc.entityRenderer).getShaderResourceLocations();
if (shaderLocations == null) {
return;
}
shaderNames = new String[shaderLocations.length];
for (int i = 0; i < shaderLocations.length; ++i) {
shaderNames[i] = ((String[]) shaderLocations[i].getResourcePath().replaceFirst("shaders/post/", "").split("\\.json"))[0].toUpperCase();
}
this.registerSetting(shader = new SliderSetting("Shader", 0, shaderNames));
}
public void onUpdate() {
if (resetShader) {
mc.entityRenderer.stopUseShader();
//Utils.print("Reset shader");
resetShader = false;
}
if (!Utils.nullCheck() || mc.entityRenderer == null || shaderLocations == null) {
return;
}
try {
if (Reflection.shaderIndex.getInt(mc.entityRenderer) != (int) shader.getInput()) {
Reflection.shaderIndex.setInt(mc.entityRenderer, (int) shader.getInput());
Reflection.loadShader.invoke(mc.entityRenderer, shaderLocations[(int) shader.getInput()]);
}
else if (!Reflection.useShader.getBoolean(mc.entityRenderer)) {
Reflection.useShader.setBoolean(mc.entityRenderer, true);
}
}
catch (Exception ex) {
ex.printStackTrace();
Utils.sendMessage("&cError loading shader.");
this.disable();
}
}
@SubscribeEvent
public void onReceivePacket(ReceivePacketEvent e) {
if (e.getPacket() instanceof S08PacketPlayerPosLook && mc.thePlayer != null) {
@ -64,6 +36,30 @@ public class Shaders extends Module {
}
}
public void onUpdate() {
if (resetShader) {
mc.entityRenderer.stopUseShader();
resetShader = false;
}
if (!Utils.nullCheck() || mc.entityRenderer == null || shaderLocations == null) {
return;
}
try {
if (((IAccessorEntityRenderer) mc.entityRenderer).getShaderIndex() != (int) shader.getInput()) {
((IAccessorEntityRenderer) mc.entityRenderer).setShaderIndex((int) shader.getInput());
((IAccessorEntityRenderer) mc.entityRenderer).callLoadShader(shaderLocations[(int) shader.getInput()]);
}
else if (!((IAccessorEntityRenderer) mc.entityRenderer).getUseShader()) {
((IAccessorEntityRenderer) mc.entityRenderer).setUseShader(true);
}
}
catch (Exception ex) {
ex.printStackTrace();
Utils.sendMessage("&cError loading shader.");
this.disable();
}
}
public void onDisable() {
mc.entityRenderer.stopUseShader();
}
@ -74,4 +70,4 @@ public class Shaders extends Module {
this.disable();
}
}
}
}

View File

@ -58,7 +58,7 @@ public class Xray extends Module {
return;
}
lastCheck = System.currentTimeMillis();
Raven.getExecutor().execute(() -> {
Raven.getCachedExecutor().execute(() -> {
synchronized (blocks) {
int i;
for (int n = i = (int) range.getInput(); i >= -n; --i) {

View File

@ -4,6 +4,7 @@ import keystrokesmod.Raven;
import keystrokesmod.clickgui.ClickGui;
import keystrokesmod.clickgui.components.impl.CategoryComponent;
import keystrokesmod.clickgui.components.impl.ModuleComponent;
import keystrokesmod.mixin.impl.accessor.*;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.combat.KillAura;
@ -115,7 +116,7 @@ public class ScriptDefaults {
}
public static void setTimer(float timer) {
Utils.getTimer().timerSpeed = timer;
((IAccessorMinecraft) mc).getTimer().timerSpeed = timer;
}
public static boolean isCreative() {
@ -131,27 +132,15 @@ public class ScriptDefaults {
}
public static String getTitle() {
try {
return (String) Reflection.displayedTitle.get(mc.ingameGUI);
}
catch (IllegalAccessException ignored) {}
return "";
return ((IAccessorGuiIngame) mc.ingameGUI).getDisplayedTitle();
}
public static String getSubTitle() {
try {
return (String) Reflection.displayedSubTitle.get(mc.ingameGUI);
}
catch (IllegalAccessException ignored) {}
return "";
return ((IAccessorGuiIngame) mc.ingameGUI).getDisplayedSubTitle();
}
public static String getRecordPlaying() {
try {
return (String) Reflection.recordPlaying.get(mc.ingameGUI);
}
catch (IllegalAccessException ignored) {}
return "";
return ((IAccessorGuiIngame) mc.ingameGUI).getRecordPlaying();
}
public static boolean isFlying() {
@ -237,7 +226,7 @@ public class ScriptDefaults {
}
public static void setItemInUseCount(int count) {
Reflection.setItemInUseCount(count);
((IAccessorEntityPlayer) mc.thePlayer).setItemInUseCount(count);
}
public static int getItemInUseCount() {
@ -324,18 +313,23 @@ public class ScriptDefaults {
}
public static String getTabHeader() {
try {
return (String) Reflection.tabHeader.get(mc.ingameGUI.getTabList());
if (mc == null || mc.ingameGUI == null || mc.ingameGUI.getTabList() == null) {
return "";
}
IChatComponent header = ((IAccessorGuiPlayerTabOverlay) mc.ingameGUI.getTabList()).getHeader();
if (header != null) {
return header.getUnformattedText();
}
catch (IllegalAccessException ignored) {}
return "";
}
public static String getTabFooter() {
try {
return (String) Reflection.tabFooter.get(mc.ingameGUI.getTabList());
if (mc == null || mc.ingameGUI == null || mc.ingameGUI.getTabList() == null) {
return "";
}
catch (IllegalAccessException ignored) {
IChatComponent footer = ((IAccessorGuiPlayerTabOverlay) mc.ingameGUI.getTabList()).getFooter();
if (footer != null) {
return footer.getUnformattedText();
}
return "";
}
@ -376,6 +370,10 @@ public class ScriptDefaults {
PacketUtils.sendPacketNoEvent(packet1);
}
public static boolean inFocus() {
return mc.inGameHasFocus;
}
public static void dropItem(boolean dropStack) {
mc.thePlayer.dropOneItem(dropStack);
}
@ -1017,7 +1015,7 @@ public class ScriptDefaults {
public static void item(ItemStack item, float x, float y, float scale) {
GlStateManager.pushMatrix();
Reflection.setupCameraTransform(mc.entityRenderer, Utils.getTimer().renderPartialTicks, 0);
((IAccessorEntityRenderer) mc.entityRenderer).callSetupCameraTransform(((IAccessorMinecraft) mc).getTimer().renderPartialTicks, 0);
mc.entityRenderer.setupOverlayRendering();
if (scale != 1.0f) {
GlStateManager.scale(scale, scale, scale);
@ -1064,7 +1062,7 @@ public class ScriptDefaults {
x -= mc.getRenderManager().viewerPosX;
y -= mc.getRenderManager().viewerPosY;
z -= mc.getRenderManager().viewerPosZ;
Reflection.setupCameraTransform(mc.entityRenderer, partialTicks, 0);
((IAccessorEntityRenderer) mc.entityRenderer).callSetupCameraTransform(((IAccessorMinecraft) mc).getTimer().renderPartialTicks, 0);
GL11.glGetFloat(GL11.GL_MODELVIEW_MATRIX, MODELVIEW);
GL11.glGetFloat(GL11.GL_PROJECTION_MATRIX, PROJECTION);
GL11.glGetInteger(GL11.GL_VIEWPORT, VIEWPORT);
@ -1105,7 +1103,7 @@ public class ScriptDefaults {
}
public static Vec3 getPosition() {
net.minecraft.util.Vec3 position = Utils.getCameraPos(Utils.getTimer().renderPartialTicks);
net.minecraft.util.Vec3 position = Utils.getCameraPos(((IAccessorMinecraft) mc).getTimer().renderPartialTicks);
return new Vec3(position);
}
@ -1126,7 +1124,7 @@ public class ScriptDefaults {
public static void text3d(String text, float x, float y, float scale, int color, boolean shadow) {
GlStateManager.pushMatrix();
Reflection.setupCameraTransform(mc.entityRenderer, Utils.getTimer().renderPartialTicks, 0);
((IAccessorEntityRenderer) mc.entityRenderer).callSetupCameraTransform(((IAccessorMinecraft) mc).getTimer().renderPartialTicks, 0);
mc.entityRenderer.setupOverlayRendering();
if (scale != 1.0f) {
GlStateManager.scale(scale, scale, scale);
@ -1264,20 +1262,14 @@ public class ScriptDefaults {
public static List<String> getBookContents() {
if (mc.currentScreen instanceof GuiScreenBook) {
try {
List<String> contents = new ArrayList<>();
int max = Math.min(128 / mc.fontRendererObj.FONT_HEIGHT, ((List<IChatComponent>) Reflection.bookContents.get(mc.currentScreen)).size());
for (int line = 0; line < max; ++line) {
IChatComponent lineStr = ((List<IChatComponent>) Reflection.bookContents.get(mc.currentScreen)).get(line);
contents.add(lineStr.getUnformattedText());
Utils.sendMessage(lineStr.getUnformattedText());
}
if (!contents.isEmpty()) {
return contents;
}
List<String> contents = new ArrayList<>();
int max = Math.min(128 / mc.fontRendererObj.FONT_HEIGHT, ((IAccessorGuiScreenBook) mc.currentScreen).getBookContents().size());
for (int line = 0; line < max; ++line) {
IChatComponent lineStr = ((IAccessorGuiScreenBook) mc.currentScreen).getBookContents().get(line);
contents.add(lineStr.getUnformattedText());
}
catch (Exception e) {
e.printStackTrace();
if (!contents.isEmpty()) {
return contents;
}
}
return null;
@ -1404,11 +1396,11 @@ public class ScriptDefaults {
}
public static void rightClick() {
Reflection.rightClick();
((IAccessorMinecraft) mc).callRightClickMouse();
}
public static void leftClick() {
Reflection.clickMouse();
((IAccessorMinecraft) mc).callClickMouse();
}
}

View File

@ -7,7 +7,6 @@ import keystrokesmod.module.impl.client.Settings;
import keystrokesmod.module.impl.minigames.DuelsStats;
import keystrokesmod.module.impl.movement.Bhop;
import keystrokesmod.module.impl.movement.Fly;
import keystrokesmod.module.impl.movement.Speed;
import keystrokesmod.module.impl.other.FakeChat;
import keystrokesmod.module.impl.other.NameHider;
import keystrokesmod.utility.profile.Profile;
@ -49,7 +48,7 @@ public class Commands {
print("Setting...", 1);
n = args[1];
Raven.getExecutor().execute(() -> {
Raven.getScheduledExecutor().execute(() -> {
if (NetworkUtils.isHypixelKeyValid(n)) {
NetworkUtils.API_KEY = n;
print("&a" + "success!", 0);
@ -127,7 +126,7 @@ public class Commands {
n = args[1];
print("Retrieving data...", 1);
Raven.getExecutor().execute(() -> {
Raven.getScheduledExecutor().execute(() -> {
int[] s = ProfileUtils.getHypixelStats(n, ProfileUtils.DM.OVERALL);
if (s != null) {
if (s[0] == -1) {
@ -179,9 +178,6 @@ public class Commands {
case "bhop":
Bhop.speedSetting.setValueRaw(value);
break;
case "speed":
Speed.speed.setValueRaw(value);
break;
default:
print(invSyn, 1);
return;

View File

@ -1,35 +1,22 @@
package keystrokesmod.utility;
import keystrokesmod.Raven;
import keystrokesmod.event.PostPlayerInputEvent;
import keystrokesmod.event.PreMotionEvent;
import keystrokesmod.event.PreUpdateEvent;
import keystrokesmod.event.SendPacketEvent;
import keystrokesmod.module.impl.movement.LongJump;
import keystrokesmod.module.impl.render.HUD;
import keystrokesmod.utility.*;
import keystrokesmod.utility.Timer;
import net.minecraft.client.Minecraft;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.client.Settings;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.SliderSetting;
import net.minecraft.client.Minecraft;
import net.minecraft.network.play.client.C07PacketPlayerDigging;
import net.minecraft.network.play.client.C08PacketPlayerBlockPlacement;
import net.minecraft.network.play.client.C09PacketHeldItemChange;
import net.minecraft.util.BlockPos;
import net.minecraftforge.client.event.RenderWorldLastEvent;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import org.lwjgl.input.Keyboard;
import java.util.Iterator;
import java.util.Map;
import static net.minecraft.util.EnumFacing.DOWN;
public class ModuleUtils {
private final Minecraft mc;
@ -41,8 +28,11 @@ public class ModuleUtils {
public static boolean threwFireball;
private int isBreakingTick;
public static long MAX_EXPLOSION_DIST_SQ = 10;
private long FIREBALL_TIMEOUT = 750L, fireballTime = 0;
private long FIREBALL_TIMEOUT = 500L, fireballTime = 0;
public static int inAirTicks;
public static int fadeEdge;
public static int lastFaceDifference;
private int lastFace;
@SubscribeEvent
public void onSendPacket(SendPacketEvent e) {
@ -56,6 +46,22 @@ public class ModuleUtils {
threwFireball = true;
}
}
if (e.getPacket() instanceof C08PacketPlayerBlockPlacement && Utils.scaffoldDiagonal(false)) {
if (((C08PacketPlayerBlockPlacement) e.getPacket()).getPlacedBlockDirection() != 1) {
int currentFace = ((C08PacketPlayerBlockPlacement) e.getPacket()).getPlacedBlockDirection();
if (currentFace == lastFace) {
lastFaceDifference++;
}
else {
lastFaceDifference = 0;
}
lastFace = currentFace;
}
}
}
@SubscribeEvent
@ -117,30 +123,29 @@ public class ModuleUtils {
}
}
//Bhop rotate yaw handling
if (mc.thePlayer.onGround) {
if (mc.thePlayer.moveStrafing == 0 && mc.thePlayer.moveForward <= 0 && Utils.isMoving() && ModuleManager.bhop.isEnabled()) {
ModuleManager.bhop.setRotation = true;
} else {
if (ModuleManager.bhop.setRotation) {
if (!ModuleManager.killAura.isTargeting && !Utils.noSlowingBackWithBow() && !ModuleManager.scaffold.isEnabled && !mc.thePlayer.isCollidedHorizontally) {
float yaw = mc.thePlayer.rotationYaw;
e.setYaw(yaw - 55);
}
if (mc.thePlayer.onGround) {
ModuleManager.bhop.setRotation = false;
}
}
if (ModuleManager.bhop.rotateYawOption.isToggled()) {
if (ModuleManager.bhop.setRotation) {
if (!ModuleManager.killAura.isTargeting && !Utils.noSlowingBackWithBow() && !ModuleManager.scaffold.isEnabled && !mc.thePlayer.isCollidedHorizontally) {
float playerYaw = mc.thePlayer.rotationYaw;
e.setYaw(playerYaw -= 55);
}
}
if (ModuleManager.scaffold.canBlockFade && !ModuleManager.scaffold.isEnabled && ++fadeEdge >= 45) {
ModuleManager.scaffold.canBlockFade = false;
fadeEdge = 0;
ModuleManager.scaffold.highlight.clear();
}
}
@SubscribeEvent(priority = EventPriority.HIGHEST)
public void onRenderWorld(RenderWorldLastEvent e) {
if (!Utils.nullCheck() || !ModuleManager.scaffold.highlightBlocks.isToggled() || ModuleManager.scaffold.highlight.isEmpty() || !ModuleManager.scaffold.isEnabled) {
if (!ModuleManager.scaffold.canBlockFade) {
return;
}
if (!Utils.nullCheck() || !ModuleManager.scaffold.highlightBlocks.isToggled() || ModuleManager.scaffold.highlight.isEmpty()) {
return;
}
Iterator<Map.Entry<BlockPos, Timer>> iterator = ModuleManager.scaffold.highlight.entrySet().iterator();
@ -158,6 +163,4 @@ public class ModuleUtils {
RenderUtils.renderBlock(entry.getKey(), Utils.mergeAlpha(Theme.getGradient((int) HUD.theme.getInput(), 0), alpha), true, false);
}
}
}

View File

@ -1,38 +1,19 @@
package keystrokesmod.utility;
import keystrokesmod.mixin.impl.accessor.IAccessorEntityPlayer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiEnchantment;
import net.minecraft.client.gui.GuiIngame;
import net.minecraft.client.gui.GuiPlayerTabOverlay;
import net.minecraft.client.gui.GuiScreenBook;
import net.minecraft.client.gui.inventory.GuiBrewingStand;
import net.minecraft.client.gui.inventory.GuiDispenser;
import net.minecraft.client.gui.inventory.GuiFurnace;
import net.minecraft.client.multiplayer.PlayerControllerMP;
import net.minecraft.client.renderer.EntityRenderer;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.ai.EntityAIAttackOnCollide;
import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
import net.minecraft.entity.ai.EntityAITasks;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.inventory.*;
import net.minecraft.item.ItemFood;
import net.minecraft.network.play.client.C01PacketChatMessage;
import net.minecraft.network.play.client.C02PacketUseEntity;
import net.minecraft.network.play.server.S08PacketPlayerPosLook;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.MouseEvent;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.relauncher.ReflectionHelper;
import org.lwjgl.input.Mouse;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.nio.ByteBuffer;
import java.util.*;
@ -40,35 +21,6 @@ public class Reflection {
public static Field button;
public static Field buttonstate;
public static Field buttons;
public static Field leftClickCounter;
public static Field jumpTicks;
public static Field rightClickDelayTimerField;
public static Field curBlockDamageMP;
public static Field blockHitDelay;
public static Method clickMouse;
public static Method setupCameraTransform;
public static Method rightClickMouse;
public static Field shaderResourceLocations;
public static Field useShader;
public static Field shaderIndex;
public static Method loadShader;
public static Field inGround;
public static Method getFOVModifier;
public static Field itemInUseCount;
public static Field displayedTitle;
public static Field displayedSubTitle;
public static Field S08PacketPlayerPosLookYaw;
public static Field S08PacketPlayerPosLookPitch;
public static Field C02PacketUseEntityEntityId;
public static Field recordPlaying;
public static Field bookContents;
public static Field fallDistance;
public static Field tabHeader;
public static Field tabFooter;
public static Field thirdPersonDistance;
public static Field alwaysEdible;
public static Field mcGuiInGame;
public static Field C01PacketChatMessageMessage;
public static HashMap<Class, Field> containerInventoryPlayer = new HashMap<>();
private static List<Class> containerClasses = Arrays.asList(GuiFurnace.class, GuiBrewingStand.class, GuiEnchantment.class, ContainerHopper.class, GuiDispenser.class, ContainerWorkbench.class, ContainerMerchant.class, ContainerHorseInventory.class);
public static boolean sendMessage = false;
@ -79,140 +31,13 @@ public class Reflection {
button = MouseEvent.class.getDeclaredField("button");
buttonstate = MouseEvent.class.getDeclaredField("buttonstate");
buttons = Mouse.class.getDeclaredField("buttons");
leftClickCounter = ReflectionHelper.findField(Minecraft.class, "field_71429_W", "leftClickCounter");
if (leftClickCounter != null) {
leftClickCounter.setAccessible(true);
}
jumpTicks = ReflectionHelper.findField(EntityLivingBase.class, "field_70773_bE", "jumpTicks");
if (jumpTicks != null) {
jumpTicks.setAccessible(true);
}
rightClickDelayTimerField = ReflectionHelper.findField(Minecraft.class, "field_71467_ac", "rightClickDelayTimer");
if (rightClickDelayTimerField != null) {
rightClickDelayTimerField.setAccessible(true);
}
displayedTitle = ReflectionHelper.findField(GuiIngame.class, "field_175201_x", "displayedTitle");
if (displayedTitle != null) {
displayedTitle.setAccessible(true);
}
displayedSubTitle = ReflectionHelper.findField(GuiIngame.class, "field_175200_y", "displayedSubTitle");
if (displayedSubTitle != null) {
displayedSubTitle.setAccessible(true);
}
tabHeader = ReflectionHelper.findField(GuiPlayerTabOverlay.class, "header", "field_175256_i");
if (tabHeader != null) {
tabHeader.setAccessible(true);
}
tabFooter = ReflectionHelper.findField(GuiPlayerTabOverlay.class, "footer", "field_175255_h");
if (tabFooter != null) {
tabFooter.setAccessible(true);
}
C01PacketChatMessageMessage = ReflectionHelper.findField(C01PacketChatMessage.class, "field_149440_a", "message");
if (C01PacketChatMessageMessage != null) {
C01PacketChatMessageMessage.setAccessible(true);
}
recordPlaying = ReflectionHelper.findField(GuiIngame.class, "recordPlaying", "field_73838_g");
if (recordPlaying != null) {
recordPlaying.setAccessible(true);
}
curBlockDamageMP = ReflectionHelper.findField(PlayerControllerMP.class, "field_78770_f", "curBlockDamageMP"); // fastmine and mining related stuff
if (curBlockDamageMP != null) {
curBlockDamageMP.setAccessible(true);
}
blockHitDelay = ReflectionHelper.findField(PlayerControllerMP.class, "field_78781_i", "blockHitDelay");
if (blockHitDelay != null) {
blockHitDelay.setAccessible(true);
}
fallDistance = ReflectionHelper.findField(Entity.class, "fallDistance", "field_70143_R");
if (fallDistance != null) {
fallDistance.setAccessible(true);
}
mcGuiInGame = ReflectionHelper.findField(GuiIngame.class, "mc", "field_73839_d");
if (mcGuiInGame != null) {
mcGuiInGame.setAccessible(true);
}
shaderResourceLocations = ReflectionHelper.findField(EntityRenderer.class, "shaderResourceLocations", "field_147712_ad");
if (shaderResourceLocations != null) {
shaderResourceLocations.setAccessible(true);
}
thirdPersonDistance = ReflectionHelper.findField(EntityRenderer.class, "thirdPersonDistance", "field_78490_B");
if (thirdPersonDistance != null) {
thirdPersonDistance.setAccessible(true);
}
alwaysEdible = ReflectionHelper.findField(ItemFood.class, "alwaysEdible", "field_77852_bZ");
if (alwaysEdible != null) {
alwaysEdible.setAccessible(true);
}
useShader = ReflectionHelper.findField(EntityRenderer.class, "useShader", "field_175083_ad");
if (useShader != null) {
useShader.setAccessible(true);
}
shaderIndex = ReflectionHelper.findField(EntityRenderer.class, "field_147713_ae", "shaderIndex"); // for shaders
if (shaderIndex != null) {
shaderIndex.setAccessible(true);
}
inGround = ReflectionHelper.findField(EntityArrow.class, "field_70254_i", "inGround"); // for indicators
if (inGround != null) {
inGround.setAccessible(true);
}
itemInUseCount = ReflectionHelper.findField(EntityPlayer.class, "field_71072_f", "itemInUseCount"); // for fake block
if (itemInUseCount != null) {
itemInUseCount.setAccessible(true);
}
S08PacketPlayerPosLookYaw = ReflectionHelper.findField(S08PacketPlayerPosLook.class, "field_148936_d", "yaw");
if (S08PacketPlayerPosLookYaw != null) {
S08PacketPlayerPosLookYaw.setAccessible(true);
}
S08PacketPlayerPosLookPitch = ReflectionHelper.findField(S08PacketPlayerPosLook.class, "field_148937_e", "pitch");
if (S08PacketPlayerPosLookPitch != null) {
S08PacketPlayerPosLookPitch.setAccessible(true);
}
C02PacketUseEntityEntityId = ReflectionHelper.findField(C02PacketUseEntity.class, "entityId", "field_149567_a");
if (C02PacketUseEntityEntityId != null) {
C02PacketUseEntityEntityId.setAccessible(true);
}
bookContents = ReflectionHelper.findField(GuiScreenBook.class, "field_175386_A");
if (bookContents != null) {
bookContents.setAccessible(true);
}
for (Class clazz : containerClasses) {
for (Field field : clazz.getDeclaredFields()) {
addToMap(clazz, field);
}
}
} catch (Exception var2) {
}
catch (Exception var2) {
System.out.println("There was an error, relaunch the game.");
var2.printStackTrace();
sendMessage = true;
@ -226,59 +51,6 @@ public class Reflection {
}
}
public static void getMethods() {
try {
try {
rightClickMouse = Minecraft.getMinecraft().getClass().getDeclaredMethod("func_147121_ag");
} catch (NoSuchMethodException var4) {
try {
rightClickMouse = Minecraft.getMinecraft().getClass().getDeclaredMethod("rightClickMouse");
} catch (NoSuchMethodException var3) {
}
}
if (rightClickMouse != null) {
rightClickMouse.setAccessible(true);
}
getFOVModifier = ReflectionHelper.findMethod(EntityRenderer.class, Minecraft.getMinecraft().entityRenderer, new String[]{"func_78481_a", "getFOVModifier"}, float.class, boolean.class);
if (getFOVModifier != null) {
getFOVModifier.setAccessible(true);
}
loadShader = ReflectionHelper.findMethod(EntityRenderer.class, Minecraft.getMinecraft().entityRenderer, new String[]{"func_175069_a", "loadShader"}, ResourceLocation.class);
if (loadShader != null) {
loadShader.setAccessible(true);
}
try {
clickMouse = Minecraft.getMinecraft().getClass().getDeclaredMethod("clickMouse");
} catch (NoSuchMethodException var4) {
try {
clickMouse = Minecraft.getMinecraft().getClass().getDeclaredMethod("func_147116_af");
} catch (NoSuchMethodException var3) {
}
}
if (clickMouse != null) {
clickMouse.setAccessible(true);
}
setupCameraTransform = ReflectionHelper.findMethod(EntityRenderer.class, Minecraft.getMinecraft().entityRenderer, new String[]{"func_78479_a", "setupCameraTransform"}, float.class, int.class);
if (setupCameraTransform != null) {
setupCameraTransform.setAccessible(true);
}
}
catch (Exception e) {
System.out.println("There was an error, relaunch the game.");
e.printStackTrace();
sendMessage = true;
}
}
public static void setButton(int button, boolean state) {
if (Reflection.button != null && buttonstate != null && buttons != null) {
MouseEvent m = new MouseEvent();
@ -310,56 +82,15 @@ public class Reflection {
containerInventoryPlayer.put(clazz, field);
}
public static void rightClick() {
try {
Reflection.rightClickMouse.invoke(Minecraft.getMinecraft());
}
catch (InvocationTargetException ex) {}
catch (IllegalAccessException ex2) {}
}
public static void clickMouse() {
if (clickMouse != null) {
try {
clickMouse.invoke(Minecraft.getMinecraft());
}
catch (InvocationTargetException ex) {}
catch (IllegalAccessException ex2) {}
}
}
public static boolean setItemInUse(boolean blocking) {
try {
itemInUseCount.set(Minecraft.getMinecraft().thePlayer, blocking ? 1 : 0);
((IAccessorEntityPlayer) Minecraft.getMinecraft().thePlayer).setItemInUseCount(blocking ? 1 : 0);
}
catch (Exception e) {
e.printStackTrace();
Utils.sendMessage("§cFailed to set block state client-side.");
Utils.sendMessage("§cFailed to set block state client-side.");
return false;
}
return blocking;
}
public static void setItemInUseCount(int count) {
try {
itemInUseCount.set(Minecraft.getMinecraft().thePlayer, count);
}
catch (Exception e) {
e.printStackTrace();
}
}
public static boolean setupCameraTransform(EntityRenderer entityRenderer, float partialTicks, int eyeIndex) {
try {
if (setupCameraTransform == null) {
return false;
}
setupCameraTransform.invoke(entityRenderer, partialTicks, eyeIndex);
return true;
}
catch (IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
return false;
}
}
}

View File

@ -4,6 +4,9 @@ import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.gson.JsonObject;
import keystrokesmod.Raven;
import keystrokesmod.mixin.impl.accessor.IAccessorGuiIngame;
import keystrokesmod.mixin.impl.accessor.IAccessorItemFood;
import keystrokesmod.mixin.impl.accessor.IAccessorMinecraft;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.client.Settings;
@ -64,15 +67,7 @@ public class Utils {
public static boolean holdingEdible(ItemStack stack) {
if (stack.getItem() instanceof ItemFood && mc.thePlayer.getFoodStats().getFoodLevel() == 20) {
ItemFood food = (ItemFood) stack.getItem();
boolean alwaysEdible = false;
try {
alwaysEdible = Reflection.alwaysEdible.getBoolean(food);
}
catch (Exception e) {
Utils.sendMessage("&cError checking food edibility, check logs.");
e.printStackTrace();
}
return alwaysEdible;
return ((IAccessorItemFood) food).getAlwaysEdible();
}
return true;
}
@ -588,12 +583,7 @@ public class Utils {
}
public static String getTitle() {
try {
return (String) Reflection.displayedTitle.get(mc.ingameGUI);
} catch (IllegalAccessException ex) {
ex.printStackTrace();
}
return "";
return ((IAccessorGuiIngame) mc.ingameGUI).getDisplayedTitle();
}
public static int getBedwarsStatus() {
@ -1357,11 +1347,11 @@ public class Utils {
}
public static void rightClick() {
Reflection.rightClick();
((IAccessorMinecraft) mc).callRightClickMouse();
}
public static void leftClick() {
Reflection.clickMouse();
((IAccessorMinecraft) mc).callClickMouse();
}
}

View File

@ -1,6 +1,6 @@
{
"required": true,
"package": "keystrokesmod.mixins.impl",
"package": "keystrokesmod.mixin.impl",
"refmap": "mixins.raven.refmap.json",
"compatibilityLevel": "JAVA_8",
"mixins": [
@ -8,7 +8,6 @@
"render.MixinFontRenderer",
"entity.MixinEntityPlayerSP",
"render.MixinLayerCape",
"render.MixinModelBiped",
"entity.MixinEntityLivingBase",
"network.MixinNetworkManager",
"entity.MixinEntityPlayer",
@ -23,7 +22,20 @@
"client.MixinWorld",
"render.MixinGuiChat",
"render.MixinGuiScreen",
"entity.IAccessorEntityPlayerSP",
"network.MixinNetHandlerPlayClient"
"network.MixinNetHandlerPlayClient",
"render.MixinRenderManager",
"render.MixinCustomSky",
"accessor.IAccessorEntityPlayerSP",
"accessor.IAccessorEntityArrow",
"accessor.IAccessorEntityLivingBase",
"accessor.IAccessorMinecraft",
"accessor.IAccessorPlayerControllerMP",
"accessor.IAccessorGuiPlayerTabOverlay",
"accessor.IAccessorGuiIngame",
"accessor.IAccessorEntityRenderer",
"accessor.IAccessorItemFood",
"accessor.IAccessorGuiScreenBook",
"accessor.IAccessorEntityPlayer"
]
}