This commit is contained in:
parent
88dda079c0
commit
78747b4fc8
132
build.gradle
132
build.gradle
|
|
@ -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"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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();
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package keystrokesmod.mixins.impl.client;
|
||||
package keystrokesmod.mixin.impl.client;
|
||||
|
||||
import keystrokesmod.event.GuiUpdateEvent;
|
||||
import keystrokesmod.event.PreInputEvent;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package keystrokesmod.mixins.impl.client;
|
||||
package keystrokesmod.mixin.impl.client;
|
||||
|
||||
import keystrokesmod.event.PostPlayerInputEvent;
|
||||
import keystrokesmod.event.PrePlayerInputEvent;
|
||||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
@ -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) {
|
||||
|
|
@ -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;
|
||||
|
|
@ -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) {
|
||||
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package keystrokesmod.mixins.impl.network;
|
||||
package keystrokesmod.mixin.impl.network;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.client.Minecraft;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package keystrokesmod.mixins.impl.network;
|
||||
package keystrokesmod.mixin.impl.network;
|
||||
|
||||
import keystrokesmod.module.ModuleManager;
|
||||
import net.minecraft.client.network.NetHandlerPlayClient;
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package keystrokesmod.mixins.impl.render;
|
||||
package keystrokesmod.mixin.impl.render;
|
||||
|
||||
import keystrokesmod.module.ModuleManager;
|
||||
import net.minecraft.client.renderer.EntityRenderer;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package keystrokesmod.mixins.impl.render;
|
||||
package keystrokesmod.mixin.impl.render;
|
||||
|
||||
import keystrokesmod.module.ModuleManager;
|
||||
import keystrokesmod.module.impl.other.NameHider;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package keystrokesmod.mixins.impl.render;
|
||||
package keystrokesmod.mixin.impl.render;
|
||||
|
||||
import keystrokesmod.Raven;
|
||||
import keystrokesmod.module.ModuleManager;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package keystrokesmod.mixins.impl.render;
|
||||
package keystrokesmod.mixin.impl.render;
|
||||
|
||||
import keystrokesmod.Raven;
|
||||
import keystrokesmod.module.ModuleManager;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package keystrokesmod.mixins.impl.render;
|
||||
package keystrokesmod.mixin.impl.render;
|
||||
|
||||
import keystrokesmod.module.ModuleManager;
|
||||
import keystrokesmod.module.impl.world.AntiBot;
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package keystrokesmod.mixins.impl.render;
|
||||
package keystrokesmod.mixin.impl.render;
|
||||
|
||||
import keystrokesmod.module.ModuleManager;
|
||||
import keystrokesmod.module.impl.world.AntiBot;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package keystrokesmod.mixins.interfaces;
|
||||
package keystrokesmod.mixin.interfaces;
|
||||
|
||||
public interface IMixinItemRenderer {
|
||||
void setCancelUpdate(boolean cancel);
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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()) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
]
|
||||
}
|
||||
Loading…
Reference in New Issue