├── E ├── Demo.e ├── Driver │ ├── Driver │ │ ├── ARM │ │ │ └── Debug │ │ │ │ ├── Driver.Build.CppClean.log │ │ │ │ └── Driver.log │ │ ├── Driver.h │ │ ├── Driver.vcxproj │ │ ├── Driver.vcxproj.filters │ │ ├── Driver.vcxproj.user │ │ ├── main.c │ │ └── x64 │ │ │ └── Release │ │ │ ├── Driver.Build.CppClean.log │ │ │ ├── Driver.log │ │ │ ├── Driver.sys.recipe │ │ │ ├── Driver.tlog │ │ │ ├── CL.command.1.tlog │ │ │ ├── CL.read.1.tlog │ │ │ ├── CL.write.1.tlog │ │ │ ├── Driver.lastbuildstate │ │ │ ├── link.command.1.tlog │ │ │ ├── link.read.1.tlog │ │ │ ├── link.write.1.tlog │ │ │ ├── signtool.command.1.tlog │ │ │ ├── signtool.read.1.tlog │ │ │ ├── signtool.timestamp.1.tlog │ │ │ └── signtool.write.1.tlog │ │ │ ├── main.obj │ │ │ └── vc142.pdb │ ├── Driver[已签名].sys │ ├── Driver_IO.e │ ├── X64Driver.sln │ └── x64 │ │ └── Release │ │ ├── Driver.cer │ │ ├── Driver.pdb │ │ ├── Driver.sys │ │ └── Driver │ │ └── Driver.sys ├── Injecor2-Client Ver 1.2.4 beta1.zip ├── InjectTest.e ├── Main.bak ├── Main.e ├── Main.exe ├── ShellCode_ManualMap.e ├── ShellCode_ManualMap.ec ├── UZI.dll ├── eWOW64Ext.e ├── eWOW64Ext.ec ├── 注入dll.e ├── 精易模块[v10.2.5].ec └── 精易模块v10.2.5[源码].e ├── README.md ├── dll-src ├── JavaDllPacker.jar ├── MagicTheInjecting.java ├── UZI.dll ├── UZI.jar ├── classes.h ├── jni.h ├── jni_md.h ├── jvmti.h ├── loader.h ├── main.cpp ├── main.h ├── main.o ├── main_small.cpp └── 编译.bat └── src └── main ├── java ├── io │ └── fishermen │ │ └── fpsdisplay │ │ ├── FPSDisplay.java │ │ ├── FPSRenderer.java │ │ ├── InvEvent.java │ │ ├── RotationUtils.java │ │ └── settings │ │ ├── Aim2.java │ │ ├── AirJump.java │ │ ├── AntiBot.java │ │ ├── AutoFish.java │ │ ├── AutoGapple.java │ │ ├── AutoJumpReset.java │ │ ├── AutoMLG.java │ │ ├── BedAura.java │ │ ├── BetterSword.java │ │ ├── Blink.java │ │ ├── Bo.java │ │ ├── Boker.java │ │ ├── ChestESP.java │ │ ├── CommandSettings.java │ │ ├── Covek.java │ │ ├── Criticals.java │ │ ├── Da.java │ │ ├── Dada.java │ │ ├── DelayRemover.java │ │ ├── Derp.java │ │ ├── Disabler.java │ │ ├── EventHackManager.java │ │ ├── FastBreak.java │ │ ├── FastUse.java │ │ ├── Fp.java │ │ ├── FreeCam.java │ │ ├── GuiSettings.java │ │ ├── Hitbox.java │ │ ├── InvCleaner.java │ │ ├── Jok.java │ │ ├── LoadConfigs.java │ │ ├── LongJump.java │ │ ├── LowHopSpeed.java │ │ ├── NewKillaura.java │ │ ├── NoFall.java │ │ ├── NoGround.java │ │ ├── NoHurtCam.java │ │ ├── NoSlow.java │ │ ├── OO.java │ │ ├── PacketSniffer.java │ │ ├── Picke.java │ │ ├── PingSpoof.java │ │ ├── PlayerESP.java │ │ ├── RR.java │ │ ├── Regen.java │ │ ├── SafeWalk.java │ │ ├── SaveConfigs.java │ │ ├── Scaffold.java │ │ ├── Scaffold2.java │ │ ├── Spd2.java │ │ ├── Step.java │ │ ├── Strafe.java │ │ ├── Teleport.java │ │ ├── Tm.java │ │ ├── Wool.java │ │ ├── Xray.java │ │ ├── Zlo.java │ │ ├── das.java │ │ ├── fl.java │ │ ├── ne.java │ │ ├── nes.java │ │ └── phase.java └── pw │ └── cinque │ ├── CommandSettings │ ├── CommandSettings.java │ └── GuiSettings.java │ ├── event │ ├── Connection.java │ ├── EventPlayerPost.java │ ├── EventPlayerPre.java │ ├── EventSlowDown.java │ └── Nan0EventRegister.java │ ├── keystrokes │ ├── Agent.java │ ├── Client.java │ ├── Colors.java │ ├── EventsHandler.java │ ├── KeystrokesCommands.java │ ├── KeystrokesGui.java │ ├── KeystrokesMod.java │ ├── KeystrokesRenderer.java │ └── render │ │ ├── Entity.java │ │ ├── Gui.java │ │ ├── Key.java │ │ ├── Mode.java │ │ └── animations │ │ ├── Animation.java │ │ ├── Direction.java │ │ ├── Timer.java │ │ └── impl │ │ └── DecelerateAnimation.java │ └── timechanger │ ├── CPSMod.java │ ├── ClickCounterRenderer.java │ ├── ClickListener.java │ ├── IItemSword.java │ ├── IItemTools.java │ └── TimeHelper.java └── resources └── mcmod.info /E/Demo.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Demo.e -------------------------------------------------------------------------------- /E/Driver/Driver/ARM/Debug/Driver.Build.CppClean.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/Driver/ARM/Debug/Driver.Build.CppClean.log -------------------------------------------------------------------------------- /E/Driver/Driver/ARM/Debug/Driver.log: -------------------------------------------------------------------------------- 1 | D:\Windows Kits\10\build\WindowsDriver.common.targets(187,5): error : The 'Desktop' target platform is not supported by the target OS 'Windows10' (0xA000008) for 'ARM'. 2 | -------------------------------------------------------------------------------- /E/Driver/Driver/Driver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/Driver/Driver.h -------------------------------------------------------------------------------- /E/Driver/Driver/Driver.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | {8E41214B-6785-4CFE-B992-037D68949A14} 18 | inf;inv;inx;mof;mc; 19 | 20 | 21 | 22 | 23 | Header Files 24 | 25 | 26 | 27 | 28 | Source Files 29 | 30 | 31 | -------------------------------------------------------------------------------- /E/Driver/Driver/Driver.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /E/Driver/Driver/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/Driver/main.c -------------------------------------------------------------------------------- /E/Driver/Driver/x64/Release/Driver.Build.CppClean.log: -------------------------------------------------------------------------------- 1 | c:\users\17121\desktop\processid\driver\x64\release\vc142.pdb 2 | c:\users\17121\desktop\processid\driver\x64\release\driver.tlog\cl.command.1.tlog 3 | -------------------------------------------------------------------------------- /E/Driver/Driver/x64/Release/Driver.log: -------------------------------------------------------------------------------- 1 |  Building 'Driver' with toolset 'WindowsKernelModeDriver10.0' and the 'Desktop' target platform. 2 | main.c 3 | Driver.vcxproj -> C:\Users\17121\Desktop\ProcessId\x64\Release\Driver.sys 4 | Done Adding Additional Store 5 | Successfully signed: C:\Users\17121\Desktop\ProcessId\x64\Release\Driver.sys 6 | 7 | Inf2Cat task was skipped as there were no inf files to process 8 | 9 | -------------------------------------------------------------------------------- /E/Driver/Driver/x64/Release/Driver.sys.recipe: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | C:\Users\17121\Desktop\ProcessId\x64\Release\Driver.sys 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /E/Driver/Driver/x64/Release/Driver.tlog/CL.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/Driver/x64/Release/Driver.tlog/CL.command.1.tlog -------------------------------------------------------------------------------- /E/Driver/Driver/x64/Release/Driver.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/Driver/x64/Release/Driver.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /E/Driver/Driver/x64/Release/Driver.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/Driver/x64/Release/Driver.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /E/Driver/Driver/x64/Release/Driver.tlog/Driver.lastbuildstate: -------------------------------------------------------------------------------- 1 | PlatformToolSet=WindowsKernelModeDriver10.0:VCToolArchitecture=Native32Bit:VCToolsVersion=14.29.30133:VCServicingVersionCrtHeaders=14.29.30136:TargetPlatformVersion=10.0.19041.0: 2 | Release|x64|C:\Users\17121\Desktop\ProcessId\| 3 | -------------------------------------------------------------------------------- /E/Driver/Driver/x64/Release/Driver.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/Driver/x64/Release/Driver.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /E/Driver/Driver/x64/Release/Driver.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/Driver/x64/Release/Driver.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /E/Driver/Driver/x64/Release/Driver.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/Driver/x64/Release/Driver.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /E/Driver/Driver/x64/Release/Driver.tlog/signtool.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/Driver/x64/Release/Driver.tlog/signtool.command.1.tlog -------------------------------------------------------------------------------- /E/Driver/Driver/x64/Release/Driver.tlog/signtool.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/Driver/x64/Release/Driver.tlog/signtool.read.1.tlog -------------------------------------------------------------------------------- /E/Driver/Driver/x64/Release/Driver.tlog/signtool.timestamp.1.tlog: -------------------------------------------------------------------------------- 1 | C:\USERS\17121\DESKTOP\PROCESSID\X64\RELEASE\DRIVER.SYS|637805827174018644 2 | -------------------------------------------------------------------------------- /E/Driver/Driver/x64/Release/Driver.tlog/signtool.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/Driver/x64/Release/Driver.tlog/signtool.write.1.tlog -------------------------------------------------------------------------------- /E/Driver/Driver/x64/Release/main.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/Driver/x64/Release/main.obj -------------------------------------------------------------------------------- /E/Driver/Driver/x64/Release/vc142.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/Driver/x64/Release/vc142.pdb -------------------------------------------------------------------------------- /E/Driver/Driver[已签名].sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/Driver[已签名].sys -------------------------------------------------------------------------------- /E/Driver/Driver_IO.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/Driver_IO.e -------------------------------------------------------------------------------- /E/Driver/X64Driver.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.31605.320 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Driver", "Driver\Driver.vcxproj", "{05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|ARM = Debug|ARM 11 | Debug|ARM64 = Debug|ARM64 12 | Debug|x64 = Debug|x64 13 | Debug|x86 = Debug|x86 14 | Release|ARM = Release|ARM 15 | Release|ARM64 = Release|ARM64 16 | Release|x64 = Release|x64 17 | Release|x86 = Release|x86 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Debug|ARM.ActiveCfg = Debug|ARM 21 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Debug|ARM.Build.0 = Debug|ARM 22 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Debug|ARM.Deploy.0 = Debug|ARM 23 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Debug|ARM64.ActiveCfg = Debug|ARM64 24 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Debug|ARM64.Build.0 = Debug|ARM64 25 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Debug|ARM64.Deploy.0 = Debug|ARM64 26 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Debug|x64.ActiveCfg = Debug|x64 27 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Debug|x64.Build.0 = Debug|x64 28 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Debug|x64.Deploy.0 = Debug|x64 29 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Debug|x86.ActiveCfg = Debug|Win32 30 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Debug|x86.Build.0 = Debug|Win32 31 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Debug|x86.Deploy.0 = Debug|Win32 32 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Release|ARM.ActiveCfg = Release|ARM 33 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Release|ARM.Build.0 = Release|ARM 34 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Release|ARM.Deploy.0 = Release|ARM 35 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Release|ARM64.ActiveCfg = Release|ARM64 36 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Release|ARM64.Build.0 = Release|ARM64 37 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Release|ARM64.Deploy.0 = Release|ARM64 38 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Release|x64.ActiveCfg = Release|x64 39 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Release|x64.Build.0 = Release|x64 40 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Release|x64.Deploy.0 = Release|x64 41 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Release|x86.ActiveCfg = Release|Win32 42 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Release|x86.Build.0 = Release|Win32 43 | {05D30B8E-14B0-44C3-86EE-2A72B0D0D3E7}.Release|x86.Deploy.0 = Release|Win32 44 | EndGlobalSection 45 | GlobalSection(SolutionProperties) = preSolution 46 | HideSolutionNode = FALSE 47 | EndGlobalSection 48 | GlobalSection(ExtensibilityGlobals) = postSolution 49 | SolutionGuid = {5B562C52-F7A2-4EAC-BC59-7FA90B4C6E02} 50 | EndGlobalSection 51 | EndGlobal 52 | -------------------------------------------------------------------------------- /E/Driver/x64/Release/Driver.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/x64/Release/Driver.cer -------------------------------------------------------------------------------- /E/Driver/x64/Release/Driver.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/x64/Release/Driver.pdb -------------------------------------------------------------------------------- /E/Driver/x64/Release/Driver.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/x64/Release/Driver.sys -------------------------------------------------------------------------------- /E/Driver/x64/Release/Driver/Driver.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Driver/x64/Release/Driver/Driver.sys -------------------------------------------------------------------------------- /E/Injecor2-Client Ver 1.2.4 beta1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Injecor2-Client Ver 1.2.4 beta1.zip -------------------------------------------------------------------------------- /E/InjectTest.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/InjectTest.e -------------------------------------------------------------------------------- /E/Main.bak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Main.bak -------------------------------------------------------------------------------- /E/Main.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Main.e -------------------------------------------------------------------------------- /E/Main.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/Main.exe -------------------------------------------------------------------------------- /E/ShellCode_ManualMap.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/ShellCode_ManualMap.e -------------------------------------------------------------------------------- /E/ShellCode_ManualMap.ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/ShellCode_ManualMap.ec -------------------------------------------------------------------------------- /E/UZI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/UZI.dll -------------------------------------------------------------------------------- /E/eWOW64Ext.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/eWOW64Ext.e -------------------------------------------------------------------------------- /E/eWOW64Ext.ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/eWOW64Ext.ec -------------------------------------------------------------------------------- /E/注入dll.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/注入dll.e -------------------------------------------------------------------------------- /E/精易模块[v10.2.5].ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/精易模块[v10.2.5].ec -------------------------------------------------------------------------------- /E/精易模块v10.2.5[源码].e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/E/精易模块v10.2.5[源码].e -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # UZI-Client 2 | An 1.8.9 Minecraft Hacked Client 3 | 4 | 有空更新,没空养病 5 | -------------------------------------------------------------------------------- /dll-src/JavaDllPacker.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/dll-src/JavaDllPacker.jar -------------------------------------------------------------------------------- /dll-src/UZI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/dll-src/UZI.dll -------------------------------------------------------------------------------- /dll-src/UZI.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/dll-src/UZI.jar -------------------------------------------------------------------------------- /dll-src/jni_md.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. 3 | * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 4 | * 5 | * 6 | * 7 | * 8 | * 9 | * 10 | * 11 | * 12 | * 13 | * 14 | * 15 | * 16 | * 17 | * 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | */ 25 | 26 | #ifndef _JAVASOFT_JNI_MD_H_ 27 | #define _JAVASOFT_JNI_MD_H_ 28 | 29 | #ifndef __has_attribute 30 | #define __has_attribute(x) 0 31 | #endif 32 | #if (defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4) && (__GNUC_MINOR__ > 2))) || __has_attribute(visibility) 33 | #define JNIEXPORT __attribute__((visibility("default"))) 34 | #define JNIIMPORT __attribute__((visibility("default"))) 35 | #else 36 | #define JNIEXPORT 37 | #define JNIIMPORT 38 | #endif 39 | 40 | #define JNICALL 41 | 42 | typedef int jint; 43 | #ifdef _LP64 /* 64-bit Solaris */ 44 | typedef long jlong; 45 | #else 46 | typedef long long jlong; 47 | #endif 48 | 49 | typedef signed char jbyte; 50 | 51 | #endif /* !_JAVASOFT_JNI_MD_H_ */ 52 | -------------------------------------------------------------------------------- /dll-src/main.h: -------------------------------------------------------------------------------- 1 | #ifndef __MAIN_H__ 2 | #define __MAIN_H__ 3 | 4 | #include 5 | 6 | /* To use this exported function of dll, include this header 7 | * in your project. 8 | */ 9 | 10 | #ifdef BUILD_DLL 11 | #define DLL_EXPORT __declspec(dllexport) 12 | #else 13 | #define DLL_EXPORT __declspec(dllimport) 14 | #endif 15 | 16 | 17 | #ifdef __cplusplus 18 | extern "C" 19 | { 20 | #endif 21 | #ifdef __cplusplus 22 | } 23 | #endif 24 | 25 | #endif // __MAIN_H__ 26 | -------------------------------------------------------------------------------- /dll-src/main.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unicode01/UZI-Client/27cbead2873f9d9aa239871194099b6e6ea1bf75/dll-src/main.o -------------------------------------------------------------------------------- /dll-src/main_small.cpp: -------------------------------------------------------------------------------- 1 | #include "main.h" 2 | #include "jni.h" 3 | #include "jvmti.h" 4 | #include "classes.h" 5 | #include "loader.h" 6 | 7 | DWORD WINAPI MainThread(CONST LPVOID lpParam) 8 | { 9 | //MessageBoxA(NULL, "Starting injecting", "ELoader", MB_OK | MB_ICONINFORMATION); 10 | HMODULE jvmDll = GetModuleHandleA("jvm.dll"); 11 | if (!jvmDll) 12 | { 13 | DWORD lastError = GetLastError(); 14 | MessageBoxA(NULL, "Error: 0x00000001", "ELoader", MB_OK | MB_ICONERROR); 15 | //OutputLastError(lastError); 16 | ExitThread(0); 17 | } 18 | FARPROC getJvmsVoidPtr = GetProcAddress(jvmDll, "JNI_GetCreatedJavaVMs"); 19 | if (!getJvmsVoidPtr) 20 | { 21 | DWORD lastError = GetLastError(); 22 | MessageBoxA(NULL, "Error: 0x00000002", "ELoader", MB_OK | MB_ICONERROR); 23 | //OutputLastError(lastError); 24 | ExitThread(0); 25 | } 26 | 27 | typedef jint (JNICALL * GetCreatedJavaVMs)(JavaVM **, jsize, jsize *); 28 | GetCreatedJavaVMs jni_GetCreatedJavaVMs = (GetCreatedJavaVMs)getJvmsVoidPtr; 29 | jsize nVMs; 30 | jni_GetCreatedJavaVMs(NULL, 0, &nVMs); 31 | JavaVM **buffer = new JavaVM *[nVMs]; 32 | jni_GetCreatedJavaVMs(buffer, nVMs, &nVMs); 33 | if (nVMs == 0) 34 | { 35 | MessageBoxA(NULL, "Error: 0x00000003", "ELoader", MB_OK | MB_ICONERROR); 36 | ExitThread(0); 37 | } 38 | if (nVMs > 0) 39 | { 40 | for (jsize i = 0; i < nVMs; i++) 41 | { 42 | JavaVM* jvm = buffer[i]; 43 | JNIEnv* jniEnv = NULL; 44 | jvmtiEnv* jvmTiEnv = NULL; 45 | jvm->AttachCurrentThread((void **)(&jniEnv), 0); 46 | jvm->GetEnv((void **)(&jniEnv), JNI_VERSION_1_8); 47 | if (!jniEnv) 48 | { 49 | MessageBoxA(NULL, "Error: 0x00000004", "ELoader", MB_OK | MB_ICONERROR); 50 | jvm->DetachCurrentThread(); 51 | break; 52 | } 53 | jclass classLoaderClazz = NULL; 54 | classLoaderClazz = jniEnv->DefineClass(NULL, NULL, (jbyte*)classLoaderClass, classLoaderClassSize); 55 | if (!classLoaderClazz) 56 | { 57 | MessageBoxA(NULL, "Error: 0x00000005", "ELoader", MB_OK | MB_ICONERROR); 58 | jvm->DetachCurrentThread(); 59 | break; 60 | } 61 | jobjectArray classesData = (jobjectArray)jniEnv->CallStaticObjectMethod(classLoaderClazz, jniEnv->GetStaticMethodID(classLoaderClazz, "getByteArray", "(I)[[B"), (jint)classCount);//jniEnv->NewObjectArray(classCount, jniEnv->FindClass("[B"), NULL); 62 | int cptr = 0; 63 | for (jsize j = 0; j < classCount; j++) 64 | { 65 | jbyteArray classByteArray = jniEnv->NewByteArray(classSizes[j]); 66 | jniEnv->SetByteArrayRegion(classByteArray, 0, classSizes[j], (jbyte *)(classes + cptr)); 67 | cptr += classSizes[j]; 68 | jniEnv->SetObjectArrayElement(classesData, j, classByteArray); 69 | } 70 | jint injectResult = jniEnv->CallStaticIntMethod(classLoaderClazz, jniEnv->GetStaticMethodID(classLoaderClazz, "injectCP", "([[B)I"), classesData); 71 | if (injectResult) 72 | { 73 | MessageBoxA(NULL, "Error: 0x00000006", "ELoader", MB_OK | MB_ICONERROR); 74 | jvm->DetachCurrentThread(); 75 | break; 76 | } 77 | //MessageBoxA(NULL, "Injected successfully!", "ELoader", MB_OK | MB_ICONINFORMATION); 78 | jvm->DetachCurrentThread(); 79 | } 80 | } 81 | ExitThread(0); 82 | } 83 | 84 | extern "C" DLL_EXPORT BOOL APIENTRY DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) 85 | { 86 | switch (fdwReason) 87 | { 88 | case DLL_PROCESS_ATTACH: 89 | CreateThread(NULL, 0, &MainThread, NULL, 0, NULL); 90 | break; 91 | } 92 | return TRUE; // succesful 93 | } 94 | -------------------------------------------------------------------------------- /dll-src/编译.bat: -------------------------------------------------------------------------------- 1 | java -jar JavaDllPacker.jar UZI.jar classes.h 2 | g++ -Wall -DBUILD_DLL -O2 -std=c++11 -m64 -c main.cpp -o main.o 3 | g++ -shared -Wl,--dll main.o -o UZI.dll -s -m64 -static -static-libgcc -static-libstdc++ -luser32 -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/FPSDisplay.java: -------------------------------------------------------------------------------- 1 | // Decompiled by ImCzf233 2 | 3 | package io.fishermen.fpsdisplay; 4 | 5 | import net.minecraft.util.AxisAlignedBB; 6 | import java.util.List; 7 | import net.minecraft.entity.item.EntityItemFrame; 8 | import net.minecraft.entity.EntityLivingBase; 9 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 10 | import net.minecraft.util.MovingObjectPosition; 11 | import net.minecraft.util.Vec3; 12 | import net.minecraft.entity.Entity; 13 | import net.minecraftforge.client.event.MouseEvent; 14 | import java.util.Random; 15 | import pw.cinque.CommandSettings.CommandSettings; 16 | import io.fishermen.fpsdisplay.settings.GuiSettings; 17 | 18 | public class FPSDisplay extends GuiSettings 19 | { 20 | public static boolean Start; 21 | public static String a; 22 | public static String ab; 23 | public static CommandSettings min; 24 | public static CommandSettings max; 25 | public Random r; 26 | 27 | public FPSDisplay() { 28 | super(GuiSettings.a(new char[] { 'R', 'e', 'a', 'c', 'h' }), "", c4.combat1, 0, -1); 29 | this.r = new Random(); 30 | FPSDisplay.min = new CommandSettings(GuiSettings.a(new char[] { 'M', 'i', 'n', ' ', 'R', 'e', 'a', 'c', 'h' }), 3.8, 3.0, 6.0, 0.01); 31 | FPSDisplay.max = new CommandSettings(GuiSettings.a(new char[] { 'M', 'a', 'x', ' ', 'R', 'e', 'a', 'c', 'h' }), 4.1, 3.0, 6.0, 0.01); 32 | this.avav(FPSDisplay.min); 33 | this.avav(FPSDisplay.max); 34 | } 35 | 36 | @Override 37 | public void en(){ 38 | Start = true; 39 | } 40 | @Override 41 | public void dd(){ 42 | Start = false; 43 | } 44 | 45 | @SubscribeEvent 46 | public void a(final MouseEvent a) { 47 | if(!this.getStat()){ 48 | return; 49 | } 50 | if(!GuiSettings.isPlayerInGame()){ 51 | return; 52 | } 53 | final double d2 = FPSDisplay.min.g3tV4l4u3() + this.r.nextDouble() * (FPSDisplay.max.g3tV4l4u3() - FPSDisplay.min.g3tV4l4u3()); 54 | final Object[] objects = a(d2, 0.0, 0.0f); 55 | if (objects == null) { 56 | return; 57 | } 58 | FPSDisplay.mc.objectMouseOver = new MovingObjectPosition((Entity)objects[0], (Vec3)objects[1]); 59 | FPSDisplay.mc.pointedEntity = (Entity)objects[0]; 60 | } 61 | 62 | public static Object[] a(final double d, final double expand, final float partialTicks) { 63 | final Entity var2 = FPSDisplay.mc.getRenderViewEntity(); 64 | Entity entity = null; 65 | if (var2 == null || FPSDisplay.mc.theWorld == null) { 66 | return null; 67 | } 68 | FPSDisplay.mc.mcProfiler.startSection("pick"); 69 | final Vec3 var3 = var2.getPositionEyes(0.0f); 70 | final Vec3 var4 = var2.getLook(0.0f); 71 | final Vec3 var5 = var3.addVector(var4.xCoord * d, var4.yCoord * d, var4.zCoord * d); 72 | Vec3 var6 = null; 73 | final float var7 = 1.0f; 74 | final List var8 = FPSDisplay.mc.theWorld.getEntitiesWithinAABBExcludingEntity(var2, var2.getEntityBoundingBox().addCoord(var4.xCoord * d, var4.yCoord * d, var4.zCoord * d).expand(1.0, 1.0, 1.0)); 75 | double var9 = d; 76 | for (int var10 = 0; var10 < var8.size(); ++var10) { 77 | final Entity var11 = (Entity) var8.get(var10); 78 | if (var11.canBeCollidedWith()) { 79 | final float var12 = var11.getCollisionBorderSize(); 80 | AxisAlignedBB var13 = var11.getEntityBoundingBox().expand((double)var12, (double)var12, (double)var12); 81 | var13 = var13.expand(expand, expand, expand); 82 | final MovingObjectPosition var14 = var13.calculateIntercept(var3, var5); 83 | if (var13.isVecInside(var3)) { 84 | if (0.0 < var9 || var9 == 0.0) { 85 | entity = var11; 86 | var6 = ((var14 == null) ? var3 : var14.hitVec); 87 | var9 = 0.0; 88 | } 89 | } 90 | else if (var14 != null) { 91 | final double var15 = var3.distanceTo(var14.hitVec); 92 | if (var15 < var9 || var9 == 0.0) { 93 | final boolean canRiderInteract = false; 94 | if (var11 == var2.ridingEntity) { 95 | if (var9 == 0.0) { 96 | entity = var11; 97 | var6 = var14.hitVec; 98 | } 99 | } 100 | else { 101 | entity = var11; 102 | var6 = var14.hitVec; 103 | var9 = var15; 104 | } 105 | } 106 | } 107 | } 108 | } 109 | if (var9 < d && !(entity instanceof EntityLivingBase) && !(entity instanceof EntityItemFrame)) { 110 | entity = null; 111 | } 112 | FPSDisplay.mc.mcProfiler.endSection(); 113 | if (entity == null || var6 == null) { 114 | return null; 115 | } 116 | return new Object[] { entity, var6 }; 117 | } 118 | 119 | static { 120 | FPSDisplay.a = new String(GuiSettings.a(new char[] { 'P', 'y', '3', 's', 's', ' ', '4', ' ', 'k', '3', 'y', '.', '.', '.' })); 121 | FPSDisplay.ab = new String(GuiSettings.a(new char[] { 'K', '3', 'y', ':' })); 122 | } 123 | } 124 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/FPSRenderer.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay; 2 | 3 | import pw.cinque.keystrokes.Colors; 4 | import io.fishermen.fpsdisplay.settings.CommandSettings; 5 | 6 | public class FPSRenderer 7 | { 8 | public static CommandSettings m; 9 | public static Colors c; 10 | 11 | public FPSRenderer() { 12 | FPSRenderer.m = new CommandSettings(); 13 | } 14 | 15 | public CommandSettings m() { 16 | return FPSRenderer.m; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/InvEvent.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay; 2 | 3 | import io.fishermen.fpsdisplay.settings.BetterSword; 4 | import io.fishermen.fpsdisplay.settings.InvCleaner; 5 | import io.fishermen.fpsdisplay.settings.das; 6 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 7 | import net.minecraftforge.fml.common.gameevent.TickEvent; 8 | 9 | public class InvEvent { 10 | public static boolean BetterSword; 11 | public static boolean AutoArmor; 12 | public static boolean InvCleaner; 13 | @SubscribeEvent 14 | public void a(TickEvent.PlayerTickEvent a){ 15 | if(BetterSword){ 16 | io.fishermen.fpsdisplay.settings.BetterSword.Sword(); 17 | } 18 | if(AutoArmor){ 19 | das.Armor(); 20 | } 21 | if(InvCleaner){ 22 | io.fishermen.fpsdisplay.settings.InvCleaner.CleanInv(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/AirJump.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 4 | import net.minecraftforge.fml.common.gameevent.TickEvent; 5 | 6 | public class AirJump extends GuiSettings{ 7 | public AirJump(){ 8 | super(GuiSettings.a(new char[]{'A','i','r','J','u','m','p'}),"",c4.movement,0,-1); 9 | } 10 | @SubscribeEvent 11 | public void a(TickEvent.PlayerTickEvent en){ 12 | if(!this.getStat()){ 13 | return; 14 | } 15 | if(mc.thePlayer.fallDistance >= 0.8F && GuiSettings.isPlayerInGame()){ 16 | mc.thePlayer.fallDistance=0F; 17 | mc.thePlayer.onGround=true; 18 | mc.thePlayer.jump(); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/AntiBot.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.client.network.NetworkPlayerInfo; 4 | import net.minecraft.entity.Entity; 5 | import net.minecraft.entity.EntityLivingBase; 6 | import net.minecraft.entity.player.EntityPlayer; 7 | import net.minecraftforge.client.event.RenderLivingEvent; 8 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 9 | import net.minecraftforge.event.entity.EntityJoinWorldEvent; 10 | import java.util.Iterator; 11 | import java.util.List; 12 | 13 | public class AntiBot extends GuiSettings{ 14 | public AntiBot(){ 15 | super(GuiSettings.a(new char[]{'A','n','t','i','B','o','t'}),"",c4.Player,0,-1); 16 | } 17 | @SubscribeEvent 18 | public void onPre(final RenderLivingEvent.Specials.Pre d) { 19 | if(!this.getStat()){ 20 | return; 21 | } 22 | if(GuiSettings.isPlayerInGame()){ 23 | Entity e = d.entity; 24 | if(e == null){ 25 | return; 26 | } 27 | if (e.getName().startsWith("§") && e.getName().contains("§c") || this.isEntityBot(e) && !e.getDisplayName().getFormattedText().contains("NPC") && e != mc.thePlayer) { 28 | mc.theWorld.removeEntity(e); 29 | } 30 | } 31 | } 32 | 33 | public static boolean isBotCheck(Entity e){ 34 | if (e.getName().startsWith("§") && e.getName().contains("§c") || isEntityBot(e) && !e.getDisplayName().getFormattedText().contains("NPC") && e != mc.thePlayer) { 35 | return true; 36 | } 37 | return false; 38 | } 39 | private static boolean isOnTab(Entity entity) { 40 | Iterator var2 = mc.getNetHandler().getPlayerInfoMap().iterator(); 41 | 42 | NetworkPlayerInfo info; 43 | do { 44 | if (!var2.hasNext()) { 45 | return false; 46 | } 47 | 48 | info = (NetworkPlayerInfo)var2.next(); 49 | } while(!info.getGameProfile().getName().equals(entity.getName())); 50 | 51 | return true; 52 | } 53 | 54 | public static boolean isEntityBot(Entity entity) { 55 | double distance = entity.getDistanceSqToEntity(mc.thePlayer); 56 | if (!(entity instanceof EntityPlayer)) { 57 | return false; 58 | } else if (mc.getCurrentServerData() == null) { 59 | return false; 60 | } else { 61 | return mc.getCurrentServerData().serverIP.toLowerCase().contains("hypixel") && entity.getDisplayName().getFormattedText().startsWith("&") || !isOnTab(entity) && mc.thePlayer.ticksExisted > 100; 62 | } 63 | } 64 | 65 | public static boolean isInTabList(EntityLivingBase entity) { 66 | for (NetworkPlayerInfo item : mc.getNetHandler().getPlayerInfoMap()) { 67 | if (item != null && item.getGameProfile() != null && item.getGameProfile().getName().contains(entity.getName())) { 68 | return true; 69 | } 70 | } 71 | return false; 72 | } 73 | 74 | public boolean isNPC(EntityLivingBase entity) { 75 | if (entity == null) { 76 | return true; 77 | } 78 | 79 | if (entity == mc.thePlayer) { 80 | return true; 81 | } 82 | 83 | if (!(entity instanceof EntityPlayer)) { 84 | return false; // ALLOW ALL MOBS 85 | } 86 | 87 | if (entity.ticksExisted <= 10 * 20) 88 | return false; 89 | 90 | if (entity.isPlayerSleeping()) { 91 | return true; 92 | } 93 | 94 | return false; 95 | } 96 | 97 | public static boolean isHypixelNPC(Entity entity) { 98 | String formattedName = entity.getDisplayName().getFormattedText(); 99 | 100 | if (!formattedName.startsWith("\247") && formattedName.endsWith("\247r")) { 101 | return true; 102 | } 103 | 104 | if (formattedName.contains("[NPC]")) { 105 | return true; 106 | } 107 | return false; 108 | } 109 | 110 | } 111 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/AutoFish.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.network.play.server.S29PacketSoundEffect; 4 | import net.minecraftforge.client.event.sound.PlaySoundEvent; 5 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 6 | import pw.cinque.event.Connection; 7 | 8 | import java.lang.reflect.Method; 9 | 10 | public class AutoFish extends GuiSettings{ 11 | public static boolean en; 12 | public AutoFish(){ 13 | super("AutoFish","",c4.Player,0,-1); 14 | } 15 | 16 | public static void onPacket(Object object, Connection.Side connection_side) { 17 | S29PacketSoundEffect packet; 18 | if (object instanceof S29PacketSoundEffect && (packet = (S29PacketSoundEffect)object).getSoundName().equalsIgnoreCase("entity.bobber.splash")) { 19 | new Thread("Fish"){ 20 | 21 | @Override 22 | public void run() { 23 | try { 24 | rightClickMouse(); 25 | Thread.sleep(300); 26 | rightClickMouse(); 27 | } 28 | catch (Exception exception) { 29 | // empty catch block 30 | } 31 | } 32 | }.start(); 33 | } 34 | } 35 | 36 | @Override 37 | public void en(){ 38 | en=true; 39 | } 40 | @Override 41 | public void dd(){ 42 | en = true; 43 | } 44 | public static void rightClickMouse() { 45 | try { 46 | String s = "func_147121_ag" ; 47 | Class c = mc.getClass(); 48 | Method m = c.getDeclaredMethod(s); 49 | m.setAccessible(true); 50 | m.invoke(mc); 51 | } catch (Exception var4) { 52 | } 53 | 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/AutoGapple.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.client.settings.KeyBinding; 4 | import net.minecraft.entity.EntityLivingBase; 5 | import net.minecraft.init.Blocks; 6 | import net.minecraft.init.Items; 7 | import net.minecraft.item.ItemStack; 8 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 9 | import net.minecraftforge.fml.common.gameevent.TickEvent; 10 | import pw.cinque.CommandSettings.CommandSettings; 11 | 12 | public class AutoGapple extends GuiSettings{ 13 | private int slotBefore; 14 | private boolean isEating; 15 | public static CommandSettings health; 16 | public AutoGapple(){ 17 | super("AutoGapple","",c4.combat1,0,-1); 18 | health = new CommandSettings("Health", 10, 0, 20, 1); 19 | this.avav(health); 20 | } 21 | @SubscribeEvent 22 | public void e(TickEvent.PlayerTickEvent e){ 23 | if(!this.getStat()){ 24 | return; 25 | } 26 | if(!GuiSettings.isPlayerInGame()){ 27 | return; 28 | } 29 | if(mc.thePlayer.getHealth() < health.g3tV4l4u3() && !isEating){ 30 | slotBefore = mc.thePlayer.inventory.currentItem; 31 | int Gapple = getGapple(); 32 | if(Gapple == -1) return; 33 | mc.thePlayer.inventory.currentItem = Gapple; 34 | //mc.thePlayer.setItemInUse(mc.thePlayer.inventory.getCurrentItem(), (int) EatTicks.g3tV4l4u3()); 35 | KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(),true); 36 | isEating = true; 37 | } 38 | if(isEating && mc.thePlayer.getHealth() >= health.g3tV4l4u3()){ 39 | KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(),false); 40 | isEating = false; 41 | mc.thePlayer.inventory.currentItem = slotBefore; 42 | } 43 | } 44 | private int getGapple(){ 45 | if (mc.thePlayer.isDead || mc.thePlayer.isSpectator()) { 46 | return -1; 47 | } 48 | for(int i=0;i<10;i++){ 49 | if(getItemBySlot(i).getItem() == Items.golden_apple){ 50 | return i; 51 | } 52 | } 53 | return -1; 54 | } 55 | private static ItemStack getItemBySlot(int slot) { 56 | return mc.thePlayer.inventory.mainInventory[slot] == null ? new ItemStack(Blocks.air) : mc.thePlayer.inventory.mainInventory[slot]; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/AutoJumpReset.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | 4 | import net.minecraft.client.settings.KeyBinding; 5 | import net.minecraftforge.event.entity.living.LivingEvent; 6 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 7 | import org.lwjgl.input.Keyboard; 8 | 9 | public class AutoJumpReset extends GuiSettings { 10 | private int tick; 11 | public AutoJumpReset(){ 12 | super("AutoJumpReset","",c4.Player,0,-1); 13 | } 14 | @SubscribeEvent 15 | public void onTick(LivingEvent.LivingUpdateEvent event) { 16 | if(!this.getStat()){ 17 | return; 18 | } 19 | if(!GuiSettings.isPlayerInGame()){ 20 | return; 21 | } 22 | if (Da.mc.thePlayer.hurtTime == Da.mc.thePlayer.maxHurtTime && Da.mc.thePlayer.maxHurtTime > 0 && mc.thePlayer.onGround && tick == 0) { 23 | KeyBinding.setKeyBindState(mc.gameSettings.keyBindJump.getKeyCode(), true); 24 | tick=1; 25 | } 26 | if(tick==1){ 27 | KeyBinding.setKeyBindState(mc.gameSettings.keyBindJump.getKeyCode(), false); 28 | tick=0; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/AutoMLG.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.block.Block; 4 | import net.minecraft.block.material.Material; 5 | import net.minecraft.init.Items; 6 | import net.minecraft.item.ItemStack; 7 | import net.minecraft.network.play.client.C03PacketPlayer; 8 | import net.minecraft.network.play.client.C09PacketHeldItemChange; 9 | import net.minecraft.util.BlockPos; 10 | import net.minecraft.util.EnumFacing; 11 | import net.minecraft.util.MovingObjectPosition; 12 | import net.minecraft.util.Vec3; 13 | import net.minecraft.world.WorldSettings; 14 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 15 | import net.minecraftforge.fml.common.gameevent.TickEvent; 16 | import pw.cinque.CommandSettings.CommandSettings; 17 | 18 | import java.lang.reflect.Method; 19 | 20 | public class AutoMLG extends GuiSettings { 21 | public static CommandSettings Delay; 22 | public AutoMLG(){ 23 | super("AutoMLG","",c4.Player,0,-1); 24 | Delay = new CommandSettings("Delay",100.0, 1.0, 1000.0, 50.0); 25 | this.avav(Delay); 26 | } 27 | @SubscribeEvent 28 | public void onPre(TickEvent.PlayerTickEvent e) { 29 | if(!this.getStat()){ 30 | return; 31 | } 32 | if(!GuiSettings.isPlayerInGame()){ 33 | return; 34 | } 35 | if (mc.thePlayer.fallDistance > 4.0F && this.getSlotWaterBucket() != -1 && this.isMLGNeeded()) { 36 | mc.thePlayer.rotationPitch = 90.0F; 37 | this.swapToWaterBucket(this.getSlotWaterBucket()); 38 | } 39 | 40 | if (mc.thePlayer.fallDistance > 4.0F && this.isMLGNeeded() && !mc.thePlayer.isOnLadder() && mc.objectMouseOver.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) { 41 | BlockPos pos = new BlockPos(mc.thePlayer.posX, mc.thePlayer.posY - getDistanceToFall() - 1.0, mc.thePlayer.posZ); 42 | this.placeWater(pos, EnumFacing.UP); 43 | if (mc.thePlayer.getHeldItem().getItem() == Items.bucket) { 44 | Thread thr = new Thread(() -> { 45 | try { 46 | Thread.sleep((long) Delay.g3tV4l4u3()); 47 | } catch (Exception var2) { 48 | } 49 | 50 | rightClickMouse(); 51 | }); 52 | thr.start(); 53 | } 54 | 55 | mc.thePlayer.fallDistance = 0.0F; 56 | } 57 | 58 | } 59 | public static void rightClickMouse() { 60 | try { 61 | String s = "func_147121_ag" ; 62 | Class c = mc.getClass(); 63 | Method m = c.getDeclaredMethod(s); 64 | m.setAccessible(true); 65 | m.invoke(mc); 66 | } catch (Exception var4) { 67 | } 68 | 69 | } 70 | private void swapToWaterBucket(int blockSlot) { 71 | mc.thePlayer.inventory.currentItem = blockSlot; 72 | mc.thePlayer.sendQueue.getNetworkManager().sendPacket(new C09PacketHeldItemChange(blockSlot)); 73 | } 74 | public static double getDistanceToFall() { 75 | double distance = 0.0; 76 | 77 | for(double i = mc.thePlayer.posY; i > 0.0; --i) { 78 | Block block = getBlock(new BlockPos(mc.thePlayer.posX, i, mc.thePlayer.posZ)); 79 | if (block.getMaterial() != Material.air && block.isBlockNormalCube() && block.isCollidable()) { 80 | distance = i; 81 | break; 82 | } 83 | 84 | if (i < 0.0) { 85 | break; 86 | } 87 | } 88 | 89 | return mc.thePlayer.posY - distance - 1.0; 90 | } 91 | private int getSlotWaterBucket() { 92 | for(int i = 0; i < 8; ++i) { 93 | if (mc.thePlayer.inventory.mainInventory[i] != null && mc.thePlayer.inventory.mainInventory[i].getItem().getUnlocalizedName().contains("bucketWater")) { 94 | return i; 95 | } 96 | } 97 | 98 | return -1; 99 | } 100 | 101 | private void placeWater(BlockPos pos, EnumFacing facing) { 102 | ItemStack heldItem = mc.thePlayer.inventory.getCurrentItem(); 103 | mc.playerController.onPlayerRightClick(mc.thePlayer, mc.theWorld, mc.thePlayer.inventory.getCurrentItem(), pos, facing, new Vec3((double)pos.getX() + 0.5, (double)pos.getY() + 1.0, (double)pos.getZ() + 0.5)); 104 | if (heldItem != null) { 105 | mc.playerController.sendUseItem(mc.thePlayer, mc.theWorld, heldItem); 106 | mc.entityRenderer.itemRenderer.resetEquippedProgress2(); 107 | } 108 | 109 | } 110 | 111 | private boolean isMLGNeeded() { 112 | if (mc.playerController.getCurrentGameType() != WorldSettings.GameType.CREATIVE && mc.playerController.getCurrentGameType() != WorldSettings.GameType.SPECTATOR && !mc.thePlayer.capabilities.isFlying && !mc.thePlayer.capabilities.allowFlying) { 113 | double y = mc.thePlayer.posY; 114 | 115 | while(true) { 116 | if (y > 0.0) { 117 | Block block = getBlock(new BlockPos(mc.thePlayer.posX, y, mc.thePlayer.posZ)); 118 | if (block.getMaterial() == Material.water) { 119 | return false; 120 | } 121 | 122 | if (block.getMaterial() != Material.air) { 123 | return true; 124 | } 125 | 126 | if (!(y < 0.0)) { 127 | --y; 128 | continue; 129 | } 130 | } 131 | 132 | return true; 133 | } 134 | } else { 135 | return false; 136 | } 137 | } 138 | public static Block getBlock(BlockPos block) { 139 | return mc.theWorld.getBlockState(block).getBlock(); 140 | } 141 | } 142 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/BedAura.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import pw.cinque.CommandSettings.CommandSettings; 4 | import java.util.TimerTask; 5 | import net.minecraft.init.Blocks; 6 | import net.minecraft.network.play.client.C07PacketPlayerDigging; 7 | import net.minecraft.network.play.client.C07PacketPlayerDigging.Action; 8 | import net.minecraft.util.BlockPos; 9 | import net.minecraft.util.EnumFacing; 10 | 11 | public class BedAura extends GuiSettings{ 12 | private java.util.Timer t; 13 | private BlockPos m = null; 14 | private final long per = 600L; 15 | public static CommandSettings Range; 16 | public BedAura(){ 17 | super(GuiSettings.a(new char[]{'B','e','d','A','u','r','a'}),"",c4.Player,0,-1); 18 | BedAura.Range = new CommandSettings(GuiSettings.a(new char[]{'R','a','n','g','e'}),5.0D, 2.0D, 10.0D, 1.0D); 19 | this.avav(Range); 20 | } 21 | @Override 22 | public void en(){ 23 | (this.t = new java.util.Timer()).scheduleAtFixedRate(this.ta(), 0L, 600L); 24 | } 25 | @Override 26 | public void dd(){ 27 | if (this.t != null) { 28 | this.t.cancel(); 29 | this.t.purge(); 30 | this.t = null; 31 | } 32 | 33 | this.m = null; 34 | } 35 | public TimerTask ta() { 36 | return new TimerTask() { 37 | public void run() { 38 | int ra = (int)BedAura.Range.g3tV4l4u3(); 39 | for(int y = ra; y >= -ra; --y) { 40 | for(int x = -ra; x <= ra; ++x) { 41 | for(int z = -ra; z <= ra; ++z) { 42 | if (GuiSettings.isPlayerInGame()) { 43 | BlockPos p = new BlockPos(mc.thePlayer.posX + (double) x, mc.thePlayer.posY + (double) y, mc.thePlayer.posZ + (double) z); 44 | boolean bed = mc.theWorld.getBlockState(p).getBlock() == Blocks.bed; 45 | if (BedAura.this.m == p) { 46 | if (!bed) { 47 | BedAura.this.m = null; 48 | } 49 | } else if (bed) { 50 | BedAura.this.mi(p); 51 | BedAura.this.m = p; 52 | break; 53 | } 54 | } 55 | } 56 | } 57 | } 58 | } 59 | }; 60 | } 61 | private void mi(BlockPos p) { 62 | mc.thePlayer.sendQueue.addToSendQueue(new C07PacketPlayerDigging(Action.START_DESTROY_BLOCK, p, EnumFacing.NORTH)); 63 | mc.thePlayer.sendQueue.addToSendQueue(new C07PacketPlayerDigging(Action.STOP_DESTROY_BLOCK, p, EnumFacing.NORTH)); 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/BetterSword.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import io.fishermen.fpsdisplay.InvEvent; 4 | import net.minecraft.client.gui.inventory.GuiContainer; 5 | import net.minecraft.client.gui.inventory.GuiInventory; 6 | import net.minecraft.enchantment.Enchantment; 7 | import net.minecraft.enchantment.EnchantmentHelper; 8 | import net.minecraft.entity.EntityLivingBase; 9 | import net.minecraft.init.Blocks; 10 | import net.minecraft.item.ItemStack; 11 | import net.minecraft.item.ItemSword; 12 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 13 | import net.minecraftforge.fml.common.gameevent.TickEvent; 14 | import pw.cinque.timechanger.TimeHelper; 15 | 16 | public class BetterSword extends GuiSettings{ 17 | private static TimeHelper timer = new TimeHelper(); 18 | public BetterSword(){ 19 | super("BetterSword","",c4.Player,0,-1); 20 | } 21 | 22 | @Override 23 | public void en(){ 24 | InvEvent.BetterSword = true; 25 | } 26 | @Override 27 | public void dd(){ 28 | InvEvent.BetterSword = false; 29 | } 30 | 31 | public static void Sword(){ 32 | if(!GuiSettings.isPlayerInGame()){ 33 | return; 34 | } 35 | 36 | if(!timer.isDelayComplete(200)){return;} 37 | if(mc.currentScreen instanceof GuiInventory){ 38 | int slot = getBestSword(getScoreForSword(getItemBySlot(0))); 39 | 40 | if (slot == -1) 41 | return; 42 | 43 | swap(slot, 0); 44 | timer.reset(); 45 | } 46 | } 47 | 48 | public static int getBestSword(double minimum) { 49 | for (int i = 0; i < 36; ++i) { 50 | if (mc.thePlayer.inventory.currentItem == i) 51 | continue; 52 | 53 | ItemStack itemStack = mc.thePlayer.inventory.mainInventory[i]; 54 | 55 | if (itemStack == null) 56 | continue; 57 | 58 | if (!(IsSword(itemStack))) 59 | continue; 60 | 61 | if (minimum >= getScoreForSword(itemStack)) 62 | continue; 63 | 64 | return i; 65 | } 66 | 67 | return -1; 68 | } 69 | public static boolean IsSword(ItemStack item){ 70 | if(item == null){ 71 | return false; 72 | } 73 | return item.getItem().getUnlocalizedName().contains("sword") && !((EntityLivingBase)mc.thePlayer).isDead && !mc.thePlayer.isSpectator(); 74 | } 75 | public static double getScoreForSword(final ItemStack itemStack){ 76 | if(!(IsSword(itemStack))) 77 | return 0; 78 | 79 | ItemSword itemSword = (ItemSword) itemStack.getItem(); 80 | 81 | double result = 1.0; 82 | 83 | result += itemSword.getDamageVsEntity(); 84 | 85 | result += 1.25 * EnchantmentHelper.getEnchantmentLevel(Enchantment.sharpness.effectId, itemStack); 86 | result += 0.5 * EnchantmentHelper.getEnchantmentLevel(Enchantment.fireAspect.effectId, itemStack); 87 | 88 | return result; 89 | } 90 | 91 | public static void swap(int from, int to) { 92 | if(from <= 8){ 93 | from = 36 + from; 94 | } 95 | 96 | mc.playerController.windowClick(mc.thePlayer.inventoryContainer.windowId, from, to, 2, mc.thePlayer); 97 | } 98 | public static ItemStack getItemBySlot(int slot) { 99 | return mc.thePlayer.inventory.mainInventory[slot] == null ? new ItemStack(Blocks.air) : mc.thePlayer.inventory.mainInventory[slot]; 100 | } 101 | } 102 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/Blink.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.network.Packet; 4 | import pw.cinque.event.Connection; 5 | import pw.cinque.timechanger.ClickListener; 6 | 7 | import java.util.*; 8 | 9 | public class Blink extends GuiSettings{ 10 | public static boolean En; 11 | public static ClickListener LosePacket; 12 | private static ArrayList Packets = new ArrayList(); 13 | public Blink(){ 14 | super("Blink","",c4.Player,0,-1); 15 | this.avav(LosePacket = new ClickListener("LosePacket",true)); 16 | } 17 | @Override 18 | public void dd(){ 19 | En = false; 20 | for (Object P : Packets){ 21 | mc.getNetHandler().addToSendQueue((Packet) P); 22 | } 23 | Packets.clear(); 24 | } 25 | @Override 26 | public void en(){ 27 | En = true; 28 | } 29 | public static boolean onPacket(Object packet, Connection.Side connection_side){ 30 | if(connection_side == Connection.Side.OUT && En){ 31 | if(LosePacket.i()){ 32 | return false; 33 | } 34 | Packets.add(packet); 35 | return false; 36 | } 37 | return true; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/Bo.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.client.settings.KeyBinding; 4 | import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent; 5 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 6 | import pw.cinque.CommandSettings.CommandSettings; 7 | 8 | public class Bo extends GuiSettings { 9 | public static CommandSettings ea; 10 | public Bo() { 11 | super(GuiSettings.a(new char[] { 'B', 'H', 'o', 'p' }), "", c4.movement, 0, -1); 12 | Bo.ea = new CommandSettings(GuiSettings.a(new char[] { 'S', 'p', 'e', 'e', 'd' }), 2.0, 1.0, 15.0, 0.2); 13 | this.avav(Bo.ea); 14 | } 15 | 16 | @SubscribeEvent 17 | public void a(final PlayerTickEvent a) { 18 | if(!this.getStat()){ 19 | return; 20 | } 21 | if(!GuiSettings.isPlayerInGame()){ 22 | return; 23 | } 24 | if(GuiSettings.isMoving() && !mc.thePlayer.isInWater()){ 25 | KeyBinding.setKeyBindState(mc.gameSettings.keyBindJump.getKeyCode(), false); 26 | mc.thePlayer.noClip = true; 27 | if (mc.thePlayer.onGround) { 28 | mc.thePlayer.jump(); 29 | } 30 | mc.thePlayer.setSprinting(true); 31 | double spd = 0.0025D * (int) Bo.ea.g3tV4l4u3(); 32 | double m = (float)(Math.sqrt(mc.thePlayer.motionX * mc.thePlayer.motionX + mc.thePlayer.motionZ * mc.thePlayer.motionZ) + spd); 33 | GuiSettings.bop(m); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/Boker.java: -------------------------------------------------------------------------------- 1 | // Decompiled by ImCzf233 2 | 3 | package io.fishermen.fpsdisplay.settings; 4 | 5 | import java.util.Iterator; 6 | import net.minecraft.entity.EntityLivingBase; 7 | import net.minecraft.client.entity.EntityPlayerSP; 8 | import net.minecraft.entity.Entity; 9 | import net.minecraft.entity.player.EntityPlayer; 10 | import net.minecraft.item.ItemSword; 11 | import pw.cinque.timechanger.ClickListener; 12 | import pw.cinque.CommandSettings.CommandSettings; 13 | 14 | public class Boker extends GuiSettings 15 | { 16 | public static String[] name; 17 | public static CommandSettings d; 18 | public static CommandSettings f; 19 | public static ClickListener ww; 20 | public static ClickListener ccc; 21 | public static ClickListener teams; 22 | 23 | public Boker() { 24 | super(GuiSettings.a(new char[] { 'A', 'i', 'm' }), "", c4.combat1, 0, 0); 25 | Boker.d = new CommandSettings(GuiSettings.a(new char[] { 'S', 'p', 'e', 'e', 'd' }), 35.0, 1.0, 75.0, 1.0); 26 | Boker.f = new CommandSettings(GuiSettings.a(new char[] { 'F', 'O', 'V' }), 70.0, 30.0, 360.0, 1.0); 27 | Boker.ww = new ClickListener(GuiSettings.a(new char[] { 'W', 'e', 'a', 'p', 'o', 'n' }), true); 28 | Boker.ccc = new ClickListener(GuiSettings.a(new char[] { 'C', 'l', 'i', 'c', 'k', 'A', 'i', 'm' }), true); 29 | Boker.teams = new ClickListener(GuiSettings.a(new char[] { 'T', 'e', 'a', 'm', 's' }), false); 30 | this.avav(Boker.d); 31 | this.avav(Boker.f); 32 | this.avav(Boker.ww); 33 | this.avav(Boker.ccc); 34 | this.avav(Boker.teams); 35 | } 36 | 37 | @Override 38 | public void ti() { 39 | if(!this.getStat()){ 40 | return; 41 | } 42 | if (Boker.mc.theWorld != null && mc.thePlayer != null) { 43 | if (Boker.ww.i()) { 44 | if (Boker.mc.thePlayer.getCurrentEquippedItem() == null) { 45 | return; 46 | } 47 | if (!(Boker.mc.thePlayer.getCurrentEquippedItem().getItem() instanceof ItemSword)) { 48 | return; 49 | } 50 | } 51 | if (Boker.ccc.i() && !Boker.mc.gameSettings.keyBindAttack.isKeyDown()) { 52 | return; 53 | } 54 | final Entity target = this.gg(); 55 | if (target != null && (vcx(target) > 1.0 || vcx(target) < -1.0)) { 56 | final boolean left = vcx(target) > 0.0; 57 | final EntityPlayerSP thePlayer = Boker.mc.thePlayer; 58 | thePlayer.rotationYaw += (float)(left ? (-(Math.abs(vcx(target)) / Boker.d.g3tV4l4u3())) : (Math.abs(vcx(target)) / Boker.d.g3tV4l4u3())); 59 | } 60 | } 61 | } 62 | public boolean IsTeam(Entity e){ 63 | return e.getDisplayName().getUnformattedText().startsWith(mc.thePlayer.getDisplayName().getUnformattedText().substring(0, 2)); 64 | } 65 | public Entity gg() { 66 | Entity e = null; 67 | int f = (int)Boker.f.g3tV4l4u3(); 68 | for (final Object o : Boker.mc.theWorld.loadedEntityList) { 69 | final Entity ent = (Entity)o; 70 | if (ent.isEntityAlive() && !ent.isInvisible() && ent != Boker.mc.thePlayer && Boker.mc.thePlayer.getDistanceToEntity(ent) < 8.0f && this.vvczcvx(ent) && ent instanceof EntityLivingBase && Boker.mc.thePlayer.canEntityBeSeen(ent) && bvc(ent, (float)f)) { 71 | e = ent; 72 | f = (int)vcx(ent); 73 | } 74 | } 75 | return e; 76 | } 77 | 78 | public boolean vvczcvx(final Entity e) { 79 | if(teams.i()){ 80 | return !IsTeam(e); 81 | } 82 | return true; 83 | } 84 | 85 | public static float cb(final Entity ent) { 86 | final double x = ent.posX - Boker.mc.thePlayer.posX; 87 | final double y = ent.posY - Boker.mc.thePlayer.posY; 88 | final double z = ent.posZ - Boker.mc.thePlayer.posZ; 89 | double yaw = Math.atan2(x, z) * 57.29577951308232; 90 | yaw = -yaw; 91 | double pitch = Math.asin(y / Math.sqrt(x * x + y * y + z * z)) * 57.29577951308232; 92 | pitch = -pitch; 93 | return (float)yaw; 94 | } 95 | 96 | public static double vcx(final Entity en) { 97 | return ((Boker.mc.thePlayer.rotationYaw - cb(en)) % 360.0 + 540.0) % 360.0 - 180.0; 98 | } 99 | 100 | public static boolean bvc(final Entity en, float a) { 101 | a *= 0.5; 102 | final double v = ((Boker.mc.thePlayer.rotationYaw - cb(en)) % 360.0 + 540.0) % 360.0 - 180.0; 103 | return (v > 0.0 && v < a) || (-a < v && v < 0.0); 104 | } 105 | } 106 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/ChestESP.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.tileentity.TileEntity; 4 | import net.minecraft.tileentity.TileEntityChest; 5 | import net.minecraft.tileentity.TileEntityEnderChest; 6 | import net.minecraftforge.client.event.RenderWorldLastEvent; 7 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 8 | import pw.cinque.timechanger.ClickListener; 9 | import pw.cinque.CommandSettings.CommandSettings; 10 | 11 | import java.awt.*; 12 | import java.util.Iterator; 13 | 14 | public class ChestESP extends GuiSettings{ 15 | public static CommandSettings a; 16 | public static CommandSettings b; 17 | public static CommandSettings c; 18 | public static ClickListener d; 19 | public ChestESP(){ 20 | super(GuiSettings.a(new char[]{'C','h','e','s','t','E','S','P'}),"",c4.render,0,-1); 21 | a = new CommandSettings("Red",0.0D, 0.0D, 255.0D, 1.0D); 22 | b = new CommandSettings("Green", 0.0D, 0.0D, 255.0D, 1.0D); 23 | c = new CommandSettings("Blue", 255.0D, 0.0D, 255.0D, 1.0D); 24 | d = new ClickListener("Rainbow", false); 25 | this.avav(a); 26 | this.avav(b); 27 | this.avav(c); 28 | this.avav(d); 29 | } 30 | @SubscribeEvent 31 | public void onRenderWorldLast(RenderWorldLastEvent ev) { 32 | if(!this.getStat()){ 33 | return; 34 | } 35 | if (GuiSettings.isPlayerInGame()) { 36 | int rgb = d.i() ? a(6000, -270) : (new Color((int)a.g3tV4l4u3(), (int)b.g3tV4l4u3(), (int)c.g3tV4l4u3())).getRGB(); 37 | Iterator var3 = mc.theWorld.loadedTileEntityList.iterator(); 38 | 39 | while(true) { 40 | TileEntity te; 41 | do { 42 | if (!var3.hasNext()) { 43 | return; 44 | } 45 | 46 | te = (TileEntity)var3.next(); 47 | } while(!(te instanceof TileEntityChest) && !(te instanceof TileEntityEnderChest)); 48 | GuiSettings.HUD.re(te.getPos(), rgb, true); 49 | } 50 | } 51 | } 52 | public static int a(final int s, final int o) { 53 | float h = (System.currentTimeMillis() + (long)o) % (long)s; 54 | return Color.getHSBColor(h /= (float)s, 1.0f, 1.0f).getRGB(); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/CommandSettings.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import pw.cinque.keystrokes.render.Entity; 4 | import io.fishermen.fpsdisplay.FPSDisplay; 5 | import pw.cinque.keystrokes.render.Gui; 6 | import java.util.ArrayList; 7 | import java.util.List; 8 | 9 | public class CommandSettings 10 | { 11 | static List m; 12 | 13 | public CommandSettings() { 14 | CommandSettings.m = new ArrayList(); 15 | } 16 | 17 | public void r() { 18 | this.r(new NewKillaura()); 19 | this.r(new Gui()); 20 | this.r(new FPSDisplay()); 21 | this.r(new Entity()); 22 | this.r(new Wool()); 23 | this.r(new Boker()); 24 | this.r(new Jok()); 25 | this.r(new Dada()); 26 | this.r(new Covek()); 27 | this.r(new Picke()); 28 | this.r(new Zlo()); 29 | this.r(new RR()); 30 | this.r(new OO()); 31 | this.r(new Da()); 32 | this.r(new nes()); 33 | this.r(new das()); 34 | this.r(new fl()); 35 | this.r(new ne()); 36 | this.r(new Bo()); 37 | this.r(new Fp()); 38 | this.r(new Tm()); 39 | this.r(new Spd2()); 40 | this.r(new LongJump()); 41 | this.r(new Step()); 42 | this.r(new LowHopSpeed()); 43 | this.r(new SafeWalk()); 44 | this.r(new Scaffold()); 45 | this.r(new NoFall()); 46 | this.r(new AntiBot()); 47 | this.r(new Xray()); 48 | this.r(new AirJump()); 49 | this.r(new Scaffold2()); 50 | this.r(new Derp()); 51 | this.r(new ChestESP()); 52 | this.r(new BedAura()); 53 | this.r(new DelayRemover()); 54 | this.r(new FreeCam()); 55 | this.r(new Regen()); 56 | this.r(new NoGround()); 57 | this.r(new Disabler()); 58 | this.r(new NoSlow()); 59 | this.r(new InvCleaner()); 60 | this.r(new BetterSword()); 61 | this.r(new PlayerESP()); 62 | this.r(new AutoJumpReset()); 63 | this.r(new Blink()); 64 | this.r(new AutoMLG()); 65 | this.r(new AutoFish()); 66 | this.r(new FastBreak()); 67 | this.r(new FastUse()); 68 | this.r(new Criticals()); 69 | this.r(new Strafe()); 70 | this.r(new Hitbox()); 71 | this.r(new phase()); 72 | this.r(new PacketSniffer()); 73 | this.r(new NoHurtCam()); 74 | this.r(new PingSpoof()); 75 | this.r(new Aim2()); 76 | this.r(new AutoGapple()); 77 | this.r(new SaveConfigs()); 78 | this.r(new LoadConfigs()); 79 | this.r(new Teleport()); 80 | } 81 | 82 | private void r(final GuiSettings mm) { 83 | CommandSettings.m.add(mm); 84 | } 85 | 86 | public List g() { 87 | return CommandSettings.m; 88 | } 89 | 90 | public List i(final GuiSettings.c4 c) { 91 | final List mm = new ArrayList(); 92 | for (final GuiSettings m : this.g()) { 93 | if (m.cc().equals(c)) { 94 | mm.add(m); 95 | } 96 | } 97 | return mm; 98 | } 99 | } 100 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/Covek.java: -------------------------------------------------------------------------------- 1 | // Decompiled by ImCzf233 2 | 3 | package io.fishermen.fpsdisplay.settings; 4 | 5 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 6 | import net.minecraftforge.fml.common.gameevent.TickEvent; 7 | 8 | public class Covek extends GuiSettings 9 | { 10 | public float a; 11 | 12 | public Covek() { 13 | super(GuiSettings.a(new char[] { 'F', 'u', 'l', 'l', 'B', 'r', 'i', 'g', 'h', 't' }), "", c4.render, 0, -1); 14 | } 15 | 16 | @SubscribeEvent 17 | public void a(final TickEvent.PlayerTickEvent a) { 18 | if(!this.getStat()){ 19 | return; 20 | } 21 | if(!GuiSettings.isPlayerInGame()){ 22 | return; 23 | } 24 | this.a = Covek.mc.gameSettings.gammaSetting; 25 | Covek.mc.gameSettings.gammaSetting = 10.0f; 26 | } 27 | 28 | @Override 29 | public void dd() { 30 | Covek.mc.gameSettings.gammaSetting = this.a; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/Criticals.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.entity.Entity; 4 | import net.minecraft.network.play.client.C02PacketUseEntity; 5 | import net.minecraft.network.play.client.C03PacketPlayer; 6 | import net.minecraft.potion.Potion; 7 | import pw.cinque.CommandSettings.CommandSettings; 8 | import pw.cinque.event.Connection; 9 | import pw.cinque.keystrokes.render.Gui; 10 | 11 | public class Criticals extends GuiSettings{ 12 | public static CommandSettings mode; 13 | static TimerUtilsA timer; 14 | public static boolean ena; 15 | static boolean cancelSomePackets; 16 | public Criticals (){ 17 | super("Criticals","",c4.combat2,0,-1); 18 | mode = new CommandSettings("Mode",1,1,4,1); 19 | this.avav(mode); 20 | this.timer = new TimerUtilsA(); 21 | } 22 | @Override 23 | public void en(){ 24 | ena = true; 25 | } 26 | public void dd(){ 27 | ena = false; 28 | } 29 | public static boolean onPacket(Object object, Connection.Side connection_side) { 30 | if (mc.thePlayer.onGround && connection_side == Connection.Side.OUT && GuiSettings.isPlayerInGame() && ena) { 31 | if (object instanceof C02PacketUseEntity) { 32 | C02PacketUseEntity c02packetuseentity = (C02PacketUseEntity) object; 33 | 34 | if (c02packetuseentity.getAction() == C02PacketUseEntity.Action.ATTACK) { 35 | if (mode.g3tV4l4u3()==1) { 36 | if (mc.thePlayer.isCollidedVertically && timer.isDelay(500L)) { 37 | mc.getNetHandler().addToSendQueue(new C03PacketPlayer.C04PacketPlayerPosition(mc.thePlayer.posX, mc.thePlayer.posY + 0.0627D, mc.thePlayer.posZ, false)); 38 | mc.getNetHandler().addToSendQueue(new C03PacketPlayer.C04PacketPlayerPosition(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ, false)); 39 | Entity entity = c02packetuseentity.getEntityFromWorld(mc.theWorld); 40 | 41 | if (entity != null) { 42 | mc.thePlayer.onCriticalHit(entity); 43 | } 44 | 45 | timer.setLastMS(); 46 | cancelSomePackets = true; 47 | } 48 | } else if (mode.g3tV4l4u3() == 1) { 49 | if (canJump()) { 50 | mc.thePlayer.jump(); 51 | } 52 | } else if (mode.g3tV4l4u3() ==2 && canJump()) { 53 | mc.thePlayer.jump(); 54 | mc.getNetHandler().addToSendQueue(new C03PacketPlayer.C04PacketPlayerPosition(mc.thePlayer.posX, mc.thePlayer.posY + 0.0031311231111D,mc.thePlayer.posZ, false)); 55 | } 56 | } 57 | } else if (mode.g3tV4l4u3() == 3 && object instanceof C03PacketPlayer && cancelSomePackets) { 58 | cancelSomePackets = false; 59 | return false; 60 | } 61 | } 62 | return true; 63 | } 64 | 65 | static boolean canJump() { 66 | return mc.thePlayer.isOnLadder() ? false : (mc.thePlayer.isInWater() ? false : (mc.thePlayer.isInLava() ? false : (mc.thePlayer.isSneaking() ? false : (mc.thePlayer.isRiding() ? false : !mc.thePlayer.isPotionActive(Potion.blindness))))); 67 | } 68 | 69 | class TimerUtilsA { 70 | 71 | private long lastMS = 0L; 72 | private long prevMS = 0L; 73 | 74 | public boolean isDelay(long delay) { 75 | return System.currentTimeMillis() - this.lastMS >= delay; 76 | } 77 | 78 | public long getCurrentMS() { 79 | return System.nanoTime() / 1000000L; 80 | } 81 | 82 | public void setLastMS(long lastMS) { 83 | this.lastMS = lastMS; 84 | } 85 | 86 | public void setLastMS() { 87 | this.lastMS = System.currentTimeMillis(); 88 | } 89 | 90 | public int convertToMS(int d) { 91 | return 1000 / d; 92 | } 93 | 94 | public boolean hasReached(float f) { 95 | return (float) (this.getCurrentMS() - this.lastMS) >= f; 96 | } 97 | 98 | public void reset() { 99 | this.lastMS = this.getCurrentMS(); 100 | } 101 | 102 | public boolean delay(float milliSec) { 103 | return (float) (this.getTime() - this.prevMS) >= milliSec; 104 | } 105 | 106 | public long getTime() { 107 | return System.nanoTime() / 1000000L; 108 | } 109 | } 110 | } 111 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/Da.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.client.entity.EntityPlayerSP; 4 | import java.util.Random; 5 | 6 | import net.minecraft.network.play.server.S12PacketEntityVelocity; 7 | import net.minecraftforge.event.entity.living.LivingEvent; 8 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 9 | import net.minecraftforge.fml.common.gameevent.TickEvent; 10 | import pw.cinque.CommandSettings.CommandSettings; 11 | import pw.cinque.event.Connection; 12 | 13 | public class Da extends GuiSettings { 14 | public static CommandSettings x; 15 | public static CommandSettings y; 16 | public Random random; 17 | public static boolean en; 18 | 19 | public Da() { 20 | super(GuiSettings.a(new char[]{'V', 'e', 'l', 'o', 'c', 'i', 't', 'y'}), "", c4.combat1, 0, 0); 21 | this.random = new Random(); 22 | Da.x = new CommandSettings(GuiSettings.a(new char[]{'X'}), 90.0, 0.0, 100.0, 1.0); 23 | Da.y = new CommandSettings(GuiSettings.a(new char[]{'Y'}), 90.0, 0.0, 100.0, 1.0); 24 | this.avav(Da.x); 25 | this.avav(Da.y); 26 | } 27 | @Override 28 | public void en(){ 29 | en = true; 30 | } 31 | @Override 32 | public void dd(){ 33 | en = false; 34 | } 35 | public static boolean onPacket(Object Packet, Connection.Side side){ 36 | if(side == Connection.Side.IN && Packet instanceof S12PacketEntityVelocity && x.g3tV4l4u3() == 0 && y.g3tV4l4u3() == 0 && en){ 37 | return false; 38 | } 39 | return true; 40 | } 41 | @SubscribeEvent 42 | public void onTick(LivingEvent.LivingUpdateEvent event) { 43 | if(!this.getStat()){ 44 | return; 45 | } 46 | if(!GuiSettings.isPlayerInGame()){ 47 | return; 48 | } 49 | if (Da.mc.thePlayer.hurtTime == Da.mc.thePlayer.maxHurtTime && Da.mc.thePlayer.maxHurtTime > 0) { 50 | if (Da.x.g3tV4l4u3() == 0 && Da.y.g3tV4l4u3() == 0) { 51 | return; 52 | } 53 | if (Da.y.g3tV4l4u3() == 0 && Da.x.g3tV4l4u3() != 0) { 54 | final EntityPlayerSP thePlayer = Da.mc.thePlayer; 55 | thePlayer.motionX *= Da.x.g3tV4l4u3() / 100.0; 56 | final EntityPlayerSP thePlayer2 = Da.mc.thePlayer; 57 | thePlayer2.motionY = 0; 58 | final EntityPlayerSP thePlayer3 = Da.mc.thePlayer; 59 | thePlayer3.motionZ *= Da.x.g3tV4l4u3() / 100.0; 60 | } 61 | if (Da.y.g3tV4l4u3() != 0 && Da.x.g3tV4l4u3() == 0) { 62 | final EntityPlayerSP thePlayer = Da.mc.thePlayer; 63 | thePlayer.motionX = 0; 64 | final EntityPlayerSP thePlayer2 = Da.mc.thePlayer; 65 | thePlayer2.motionY *= Da.y.g3tV4l4u3() / 100.0; 66 | final EntityPlayerSP thePlayer3 = Da.mc.thePlayer; 67 | thePlayer3.motionZ = 0; 68 | } 69 | if (Da.x.g3tV4l4u3() != 0 && Da.x.g3tV4l4u3() != 0) { 70 | final EntityPlayerSP thePlayer = Da.mc.thePlayer; 71 | thePlayer.motionX *= Da.x.g3tV4l4u3() / 100.0; 72 | final EntityPlayerSP thePlayer2 = Da.mc.thePlayer; 73 | thePlayer2.motionY *= Da.y.g3tV4l4u3() / 100.0; 74 | final EntityPlayerSP thePlayer3 = Da.mc.thePlayer; 75 | thePlayer3.motionZ *= Da.x.g3tV4l4u3() / 100.0; 76 | } 77 | } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/DelayRemover.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.client.Minecraft; 4 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 5 | import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent; 6 | import net.minecraftforge.fml.relauncher.ReflectionHelper; 7 | 8 | import java.lang.reflect.Field; 9 | 10 | public class DelayRemover extends GuiSettings{ 11 | private final Field leftClickCounterField; 12 | public DelayRemover(){ 13 | super("DelayRemover","",c4.Player,0,-1); 14 | this.leftClickCounterField = ReflectionHelper.findField(Minecraft.class, "field_71429_W", "leftClickCounter"); 15 | if (this.leftClickCounterField != null) this.leftClickCounterField.setAccessible(true); 16 | } 17 | @SubscribeEvent 18 | public void playerTickEvent(PlayerTickEvent event) { 19 | if(!this.getStat()){ 20 | return; 21 | } 22 | if (GuiSettings.isPlayerInGame() && this.leftClickCounterField != null) { 23 | if (!mc.inGameHasFocus || mc.thePlayer.capabilities.isCreativeMode) { 24 | return; 25 | } 26 | 27 | try { 28 | this.leftClickCounterField.set(mc, 0); 29 | } catch (IllegalAccessException | IndexOutOfBoundsException ex) { 30 | ex.printStackTrace(); 31 | this.dd(); 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/Derp.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.client.Minecraft; 4 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 5 | import net.minecraftforge.fml.common.gameevent.TickEvent; 6 | 7 | import java.net.Proxy; 8 | 9 | public class Derp extends GuiSettings{ 10 | public float RH; 11 | public Derp(){ 12 | super(GuiSettings.a(new char[]{'D','e','r','p'}),"",c4.Player,0,-1); 13 | RH=0; 14 | } 15 | @SubscribeEvent 16 | public void a(TickEvent.PlayerTickEvent en){ 17 | if(!this.getStat()){ 18 | return; 19 | } 20 | if(!GuiSettings.isPlayerInGame()){ 21 | return; 22 | } 23 | mc.thePlayer.setRotationYawHead(RH + 8F); 24 | RH += 8F; 25 | if(RH>=360F){ 26 | RH=0F; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/Disabler.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | 4 | import net.minecraft.network.play.client.*; 5 | import net.minecraft.network.play.server.S08PacketPlayerPosLook; 6 | import net.minecraft.network.play.server.S18PacketEntityTeleport; 7 | import net.minecraftforge.fml.common.ObfuscationReflectionHelper; 8 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 9 | import net.minecraftforge.fml.common.gameevent.TickEvent; 10 | import pw.cinque.event.Connection; 11 | import pw.cinque.CommandSettings.CommandSettings; 12 | 13 | import java.util.Objects; 14 | 15 | public class Disabler extends GuiSettings { 16 | public static boolean CancelPacket; 17 | public static boolean enA; 18 | public static long LastPacketTime; 19 | public static CommandSettings DisPackTime; 20 | 21 | public Disabler() { 22 | super("Disabler", "", c4.Player, 0, -1); 23 | enA = false; 24 | //this.avav(DisPackTime = new CommandSettings("TimerDisTime", 30, 0, 100, 10)); 25 | } 26 | 27 | @Override 28 | public void en() { 29 | enA = true; 30 | } 31 | 32 | @Override 33 | public void dd() { 34 | enA = false; 35 | } 36 | 37 | public static boolean onPacket(Object object, Connection.Side connection_side) { 38 | if (connection_side == Connection.Side.OUT && enA) { 39 | /* 40 | if (object instanceof C03PacketPlayer) { 41 | if (System.currentTimeMillis() - LastPacketTime <= DisPackTime.g3tV4l4u3()) { 42 | return false; 43 | } 44 | } 45 | LastPacketTime = System.currentTimeMillis(); 46 | } 47 | if (connection_side == Connection.Side.IN && enA) { 48 | if (object instanceof S08PacketPlayerPosLook) { 49 | return false; 50 | } 51 | */ 52 | } 53 | return true; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/EventHackManager.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraftforge.event.entity.living.LivingEvent; 4 | import pw.cinque.event.EventPlayerPost; 5 | import pw.cinque.event.EventSlowDown; 6 | 7 | import java.util.Iterator; 8 | 9 | public class EventHackManager { 10 | public static void onPlayerEventPost(EventPlayerPost event) { 11 | } 12 | public static void onLivingUpdate(LivingEvent.LivingUpdateEvent event) { 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/FastBreak.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.block.Block; 4 | import net.minecraft.client.multiplayer.PlayerControllerMP; 5 | import net.minecraft.init.Blocks; 6 | import net.minecraft.network.play.client.C07PacketPlayerDigging; 7 | import net.minecraft.potion.Potion; 8 | import net.minecraft.potion.PotionEffect; 9 | import net.minecraft.util.BlockPos; 10 | import net.minecraft.util.EnumFacing; 11 | import net.minecraftforge.fml.common.ObfuscationReflectionHelper; 12 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 13 | import net.minecraftforge.fml.common.gameevent.TickEvent; 14 | import pw.cinque.CommandSettings.CommandSettings; 15 | import pw.cinque.event.Connection; 16 | 17 | public class FastBreak extends GuiSettings { 18 | private static boolean bzs = false; 19 | private static float bzx = 0.0F; 20 | public static BlockPos blockPos; 21 | public static EnumFacing facing; 22 | public static CommandSettings speed = new CommandSettings("Speed", 1.4f, 1.0f, 2.0f, 0.1f); 23 | public static CommandSettings dmg = new CommandSettings("Damage", 0.8f, 0.1f, 1.0f, 0.1f); 24 | 25 | public FastBreak(){ 26 | super("FastBreak","",c4.Player,0,-1); 27 | this.avav(speed); 28 | this.avav(dmg); 29 | } 30 | 31 | public static void onPacket(Object object, Connection.Side connection_side) { 32 | if(!GuiSettings.isPlayerInGame()){ 33 | return; 34 | } 35 | if (object instanceof C07PacketPlayerDigging && !mc.playerController.extendedReach() && mc.playerController != null) { 36 | C07PacketPlayerDigging c07PacketPlayerDigging = (C07PacketPlayerDigging) object; 37 | if (c07PacketPlayerDigging.getStatus() == C07PacketPlayerDigging.Action.START_DESTROY_BLOCK) { 38 | bzs = true; 39 | blockPos = c07PacketPlayerDigging.getPosition(); 40 | facing = c07PacketPlayerDigging.getFacing(); 41 | bzx = 0; 42 | } else if (c07PacketPlayerDigging.getStatus() == C07PacketPlayerDigging.Action.ABORT_DESTROY_BLOCK || c07PacketPlayerDigging.getStatus() == C07PacketPlayerDigging.Action.STOP_DESTROY_BLOCK) { 43 | bzs = false; 44 | blockPos = null; 45 | facing = null; 46 | } 47 | } 48 | } 49 | @SubscribeEvent 50 | public void onUpdate(TickEvent.PlayerTickEvent event) { 51 | if(!this.getStat()){ 52 | return; 53 | } 54 | if(!GuiSettings.isPlayerInGame()){ 55 | return; 56 | } 57 | if (getCurBlockDamageMP() >= (float) speed.g3tV4l4u3()) { 58 | setCurBlockDamageMP(1); 59 | boolean item = mc.thePlayer.getCurrentEquippedItem() == null; 60 | mc.thePlayer.addPotionEffect(new PotionEffect(Potion.digSpeed.getId(), 20, item ? 1 : 0)); 61 | } 62 | if (mc.playerController.extendedReach()) { 63 | setBlockHitDelay(0); 64 | } else { 65 | if (bzs) { 66 | Block block = mc.theWorld.getBlockState(blockPos).getBlock(); 67 | bzx = (float) bzx + (float) (block.getPlayerRelativeBlockHardness(mc.thePlayer, mc.theWorld, blockPos) * (float) speed.g3tV4l4u3()); 68 | if (bzx >= 1.0F) { 69 | mc.theWorld.setBlockState(blockPos, Blocks.air.getDefaultState(), 11); 70 | mc.thePlayer.sendQueue.getNetworkManager().sendPacket(new C07PacketPlayerDigging(C07PacketPlayerDigging.Action.STOP_DESTROY_BLOCK, blockPos, facing)); 71 | bzx = 0.0F; 72 | bzs = false; 73 | } 74 | } 75 | } 76 | } 77 | public float getCurBlockDamageMP(){ 78 | return ObfuscationReflectionHelper.getPrivateValue(PlayerControllerMP.class,mc.playerController,"field_78770_f"); 79 | } 80 | public void setCurBlockDamageMP(float va){ 81 | ObfuscationReflectionHelper.setPrivateValue(PlayerControllerMP.class,mc.playerController,va,"field_78770_f"); 82 | } 83 | public void setBlockHitDelay(int va){ 84 | ObfuscationReflectionHelper.setPrivateValue(PlayerControllerMP.class,mc.playerController,va,"field_78781_i"); 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/FastUse.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.item.Item; 4 | import net.minecraft.item.ItemBucketMilk; 5 | import net.minecraft.item.ItemFood; 6 | import net.minecraft.item.ItemPotion; 7 | import net.minecraft.network.play.client.C03PacketPlayer; 8 | import net.minecraft.network.play.client.C07PacketPlayerDigging; 9 | import net.minecraft.network.play.client.C08PacketPlayerBlockPlacement; 10 | import net.minecraft.network.play.client.C09PacketHeldItemChange; 11 | import net.minecraft.util.BlockPos; 12 | import net.minecraft.util.EnumFacing; 13 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 14 | import net.minecraftforge.fml.common.gameevent.TickEvent; 15 | import pw.cinque.CommandSettings.CommandSettings; 16 | import pw.cinque.timechanger.TimeHelper; 17 | 18 | public class FastUse extends GuiSettings { 19 | private final TimeHelper timer = new TimeHelper(); 20 | public static CommandSettings mode = new CommandSettings("Mode",1,1,3,1); 21 | public FastUse(){ 22 | super("FastUse","",c4.Player,0,-1); 23 | this.avav(mode); 24 | } 25 | @Override 26 | public void en(){ 27 | this.timer.reset(); 28 | } 29 | @SubscribeEvent 30 | public void a(TickEvent.PlayerTickEvent a){ 31 | if(!this.getStat()){ 32 | return; 33 | } 34 | if(!GuiSettings.isPlayerInGame()){ 35 | return; 36 | } 37 | Item usingItem; 38 | if(mode.g3tV4l4u3() == 1){ 39 | if (mc.thePlayer.isUsingItem()) { 40 | usingItem = mc.thePlayer.getItemInUse().getItem(); 41 | if ((usingItem instanceof ItemFood || usingItem instanceof ItemBucketMilk || usingItem instanceof ItemPotion)/* && this.timer.hasReached(750L)*/) { 42 | mc.getNetHandler().addToSendQueue(new C09PacketHeldItemChange(mc.thePlayer.inventory.currentItem)); 43 | mc.getNetHandler().addToSendQueue(new C08PacketPlayerBlockPlacement(mc.thePlayer.getItemInUse())); 44 | 45 | for(int i = 0; i < 39; ++i) { 46 | mc.getNetHandler().addToSendQueue(new C03PacketPlayer(mc.thePlayer.onGround)); 47 | } 48 | 49 | mc.getNetHandler().addToSendQueue(new C07PacketPlayerDigging(C07PacketPlayerDigging.Action.RELEASE_USE_ITEM, BlockPos.ORIGIN, EnumFacing.DOWN)); 50 | mc.getNetHandler().addToSendQueue(new C09PacketHeldItemChange(mc.thePlayer.inventory.currentItem)); 51 | mc.playerController.onStoppedUsingItem(mc.thePlayer); 52 | this.timer.reset(); 53 | } 54 | 55 | if (!mc.thePlayer.isUsingItem()) { 56 | this.timer.reset(); 57 | } 58 | } 59 | } else if (mode.g3tV4l4u3() == 2) { 60 | if (mc.thePlayer.isUsingItem()) { 61 | usingItem = mc.thePlayer.getItemInUse().getItem(); 62 | if ((usingItem instanceof ItemFood || usingItem instanceof ItemBucketMilk || usingItem instanceof ItemPotion) && mc.thePlayer.getItemInUseDuration() >= 1) { 63 | mc.getNetHandler().addToSendQueue(new C09PacketHeldItemChange(mc.thePlayer.inventory.currentItem)); 64 | } 65 | 66 | if (!mc.thePlayer.isUsingItem()) { 67 | this.timer.reset(); 68 | } 69 | } 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/Fp.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.client.Minecraft; 4 | import net.minecraft.item.ItemBlock; 5 | import net.minecraft.item.ItemStack; 6 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 7 | import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; 8 | import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent; 9 | import net.minecraftforge.fml.relauncher.ReflectionHelper; 10 | import pw.cinque.CommandSettings.CommandSettings; 11 | 12 | import java.lang.reflect.Field; 13 | 14 | public class Fp extends GuiSettings 15 | { 16 | public static CommandSettings Dl; 17 | public final static Field rightClickDelayTimerField; 18 | 19 | static { 20 | rightClickDelayTimerField = ReflectionHelper.findField(Minecraft.class, "field_71467_ac", "rightClickDelayTimer"); 21 | 22 | if (rightClickDelayTimerField != null) { 23 | rightClickDelayTimerField.setAccessible(true); 24 | } 25 | } 26 | public Fp() 27 | { 28 | super(GuiSettings.a(new char[] { 'F','a','s','t','P','l','a','c','e' }), "", c4.combat2, 0, -1); 29 | this.avav(Fp.Dl = new CommandSettings(GuiSettings.a(new char[] { 'D', 'e', 'l', 'a', 'y' }), 0, 0, 4, 1)); 30 | } 31 | 32 | @SubscribeEvent 33 | public void a(final PlayerTickEvent a) { 34 | if(!this.getStat()){ 35 | return; 36 | } 37 | if(!GuiSettings.isPlayerInGame()){ 38 | return; 39 | } 40 | if (a.phase == Phase.END) { 41 | if (mc.inGameHasFocus && rightClickDelayTimerField != null) { 42 | ItemStack item = mc.thePlayer.getHeldItem(); 43 | if (item == null || !(item.getItem() instanceof ItemBlock)) { 44 | return; 45 | } 46 | 47 | try { 48 | int c = (int) Dl.g3tV4l4u3(); 49 | if (c == 0) { 50 | rightClickDelayTimerField.set(mc, 0); 51 | } else { 52 | if (c == 4) { 53 | return; 54 | } 55 | 56 | int d = rightClickDelayTimerField.getInt(mc); 57 | if (d == 4) { 58 | rightClickDelayTimerField.set(mc, c); 59 | } 60 | } 61 | } catch (IllegalAccessException | IndexOutOfBoundsException ignored) {} 62 | } 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/Jok.java: -------------------------------------------------------------------------------- 1 | // Decompiled by ImCzf233 2 | 3 | package io.fishermen.fpsdisplay.settings; 4 | 5 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 6 | import net.minecraft.client.Minecraft; 7 | import net.minecraft.client.entity.EntityPlayerSP; 8 | import net.minecraft.client.settings.KeyBinding; 9 | import net.minecraftforge.fml.common.gameevent.TickEvent; 10 | import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent; 11 | import pw.cinque.timechanger.ClickListener; 12 | 13 | import java.util.Random; 14 | 15 | public class Jok extends GuiSettings 16 | { 17 | private static ClickListener K; 18 | 19 | public Jok() { 20 | super(GuiSettings.a(new char[] { 'S', 'p', 'r', 'i', 'n', 't' }), "", c4.movement, 0, -1); 21 | Jok.K = new ClickListener(GuiSettings.a(new char[] { 'S', 'u', 'p', 'e', 'r' }), false); 22 | this.avav(K); 23 | } 24 | /* 25 | @Override 26 | void onUpdate () { 27 | final Minecraft mc = Minecraft.getMinecraft(); 28 | final EntityPlayerSP thePlayer = Jok.mc.thePlayer; 29 | if(mc.gameSettings.keyBindForward.isPressed() 30 | ){ 31 | thePlayer.setSprinting(true); 32 | } 33 | */ 34 | 35 | @SubscribeEvent 36 | public void a(final TickEvent.PlayerTickEvent a) { 37 | if(!this.getStat()){ 38 | return; 39 | } 40 | if(!GuiSettings.isPlayerInGame()){ 41 | return; 42 | } 43 | if(K.i()){ 44 | if(mc.thePlayer.isSprinting()) return; 45 | if(mc.gameSettings.keyBindForward.isKeyDown()){ 46 | mc.thePlayer.setSprinting(true); 47 | } 48 | if(mc.gameSettings.keyBindBack.isKeyDown()){ 49 | mc.thePlayer.setSprinting(true); 50 | } 51 | if(mc.gameSettings.keyBindLeft.isKeyDown()){ 52 | mc.thePlayer.setSprinting(true); 53 | } 54 | if(mc.gameSettings.keyBindRight.isKeyDown()){ 55 | mc.thePlayer.setSprinting(true); 56 | } 57 | return; 58 | } 59 | final Minecraft mc = Minecraft.getMinecraft(); 60 | if(mc.inGameHasFocus) { 61 | KeyBinding.setKeyBindState(mc.gameSettings.keyBindSprint.getKeyCode(), true); 62 | } 63 | 64 | /* 65 | try { 66 | final Field field = Minecraft.class.getDeclaredField("rightClickDelayTimer"); 67 | field.setAccessible(true); 68 | final Field field2 = field; 69 | final Minecraft mc = Jok.mc; 70 | field2.set(Minecraft.getMinecraft(), 0); 71 | } 72 | catch (Exception ex) { 73 | ex.printStackTrace(); 74 | } 75 | */ 76 | } 77 | @Override 78 | public void dd(){ 79 | KeyBinding.setKeyBindState(mc.gameSettings.keyBindSprint.getKeyCode(), false); 80 | mc.thePlayer.setSprinting(false); 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/LoadConfigs.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.util.ChatComponentText; 4 | import net.minecraftforge.event.world.ChunkEvent; 5 | import pw.cinque.keystrokes.Client; 6 | 7 | import java.io.File; 8 | 9 | public class LoadConfigs extends GuiSettings{ 10 | public LoadConfigs(){ 11 | super("LoadConfigs","",c4.Tests,0,-1); 12 | } 13 | @Override 14 | public void en(){ 15 | pw.cinque.keystrokes.Client.loadHacks(); 16 | mc.thePlayer.addChatMessage(new ChatComponentText("ConfigLoaded:" + pw.cinque.keystrokes.Client.HACKS.getPath())); 17 | this.t(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/LongJump.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent; 4 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 5 | import net.minecraft.client.Minecraft; 6 | import org.lwjgl.input.Keyboard; 7 | 8 | public class LongJump extends GuiSettings { 9 | public LongJump() { 10 | super(GuiSettings.a(new char[]{'L', 'o', 'n', 'g', 'J', 'u', 'm', 'p'}), "", c4.movement, 0, -1); 11 | 12 | } 13 | 14 | @SubscribeEvent 15 | public void a(final PlayerTickEvent a) { 16 | if(!this.getStat()){ 17 | return; 18 | } 19 | if(!GuiSettings.isPlayerInGame()){ 20 | return; 21 | } 22 | if (Keyboard.isKeyDown(mc.gameSettings.keyBindForward.getKeyCode()) || Keyboard.isKeyDown(mc.gameSettings.keyBindBack.getKeyCode()) || Keyboard.isKeyDown(mc.gameSettings.keyBindLeft.getKeyCode()) || Keyboard.isKeyDown(mc.gameSettings.keyBindRight.getKeyCode())) { 23 | if (mc.thePlayer.onGround && !mc.thePlayer.capabilities.isFlying) { 24 | mc.thePlayer.jump(); 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/LowHopSpeed.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.client.Minecraft; 4 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 5 | import net.minecraftforge.fml.common.gameevent.TickEvent; 6 | import pw.cinque.CommandSettings.CommandSettings; 7 | 8 | public class LowHopSpeed extends GuiSettings{ 9 | public static CommandSettings speed; 10 | public LowHopSpeed() { 11 | super(GuiSettings.a(new char[]{'L','o','w','H','o','p','S','p','e','e','d'}), "", c4.movement, 0, -1); 12 | LowHopSpeed.speed = new CommandSettings(GuiSettings.a(new char[] { 'S', 'p', 'e', 'e', 'd' }), 0.34, 0.05, 1.5, 0.01); 13 | this.avav(speed); 14 | } 15 | @SubscribeEvent 16 | public void a(TickEvent.PlayerTickEvent a){ 17 | if(!this.getStat()){ 18 | return; 19 | } 20 | if(!GuiSettings.isPlayerInGame()){ 21 | return; 22 | } 23 | if(!mc.thePlayer.onGround){ 24 | return; 25 | } 26 | if(mc.gameSettings.keyBindForward.isKeyDown() || mc.gameSettings.keyBindBack.isKeyDown() || mc.gameSettings.keyBindLeft.isKeyDown() || mc.gameSettings.keyBindRight.isKeyDown()){ 27 | s(speed.g3tV4l4u3()); 28 | mc.thePlayer.motionY = 0.1; 29 | } 30 | } 31 | public static float gg() { 32 | float v = Minecraft.getMinecraft().thePlayer.rotationYaw; 33 | if (Minecraft.getMinecraft().thePlayer.moveForward < 0.0f) { 34 | v += 180.0f; 35 | } 36 | float f = 1.0f; 37 | if (Minecraft.getMinecraft().thePlayer.moveForward < 0.0f) { 38 | f = -0.5f; 39 | } 40 | else if (Minecraft.getMinecraft().thePlayer.moveForward > 0.0f) { 41 | f = 0.5f; 42 | } 43 | else { 44 | f = 1.0f; 45 | } 46 | if (Minecraft.getMinecraft().thePlayer.moveStrafing > 0.0f) { 47 | v -= 90.0f * f; 48 | } 49 | if (Minecraft.getMinecraft().thePlayer.moveStrafing < 0.0f) { 50 | v += 90.0f * f; 51 | } 52 | v *= 0.017453292f; 53 | return v; 54 | } 55 | public static void s(final double s) { 56 | Minecraft.getMinecraft().thePlayer.motionX = -(Math.sin(gg()) * s); 57 | Minecraft.getMinecraft().thePlayer.motionZ = Math.cos(gg()) * s; 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/NoFall.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.network.play.client.C03PacketPlayer; 4 | import net.minecraftforge.fml.common.ObfuscationReflectionHelper; 5 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 6 | import net.minecraftforge.fml.common.gameevent.TickEvent; 7 | import pw.cinque.CommandSettings.CommandSettings; 8 | import pw.cinque.event.Connection; 9 | 10 | public class NoFall extends GuiSettings{ 11 | public static CommandSettings Mode; 12 | private static boolean En; 13 | private static double GbY; 14 | public NoFall(){ 15 | super(GuiSettings.a(new char[]{'N','o','F','a','l','l'}),"",c4.movement,0,-1); 16 | this.avav(Mode = new CommandSettings("Mode",2,1,2,1)); 17 | } 18 | @Override 19 | public void en(){ 20 | En=true; 21 | } 22 | @Override 23 | public void dd(){ 24 | En=false; 25 | } 26 | public static void onPacket(Object object, Connection.Side connection_side) { 27 | if(!GuiSettings.isPlayerInGame()){ 28 | return; 29 | } 30 | if(Mode.g3tV4l4u3() == 1 && En){ 31 | if(object instanceof C03PacketPlayer){ 32 | boolean onGroundT = ObfuscationReflectionHelper.getPrivateValue(C03PacketPlayer.class,(C03PacketPlayer) object,"onGround","field_149474_g"); 33 | if(!onGroundT){ 34 | if((double)ObfuscationReflectionHelper.getPrivateValue(C03PacketPlayer.class,(C03PacketPlayer) object,"y","field_149477_b") <= GbY-2D){ 35 | ObfuscationReflectionHelper.setPrivateValue(C03PacketPlayer.class,(C03PacketPlayer)object,true,"onGround","field_149474_g"); 36 | GbY = ObfuscationReflectionHelper.getPrivateValue(C03PacketPlayer.class,(C03PacketPlayer) object,"y","field_149477_b"); 37 | } else if ((double)ObfuscationReflectionHelper.getPrivateValue(C03PacketPlayer.class,(C03PacketPlayer) object,"y","field_149477_b") > GbY) { 38 | GbY = ObfuscationReflectionHelper.getPrivateValue(C03PacketPlayer.class,(C03PacketPlayer) object,"y","field_149477_b"); 39 | } 40 | }else { 41 | GbY = ObfuscationReflectionHelper.getPrivateValue(C03PacketPlayer.class,(C03PacketPlayer) object,"y","field_149477_b"); 42 | } 43 | } 44 | } 45 | if(Mode.g3tV4l4u3() == 2 && En){ 46 | if(object instanceof C03PacketPlayer){ 47 | boolean onGroundT = ObfuscationReflectionHelper.getPrivateValue(C03PacketPlayer.class,(C03PacketPlayer) object,"onGround","field_149474_g"); 48 | if(onGroundT){ 49 | ObfuscationReflectionHelper.setPrivateValue(C03PacketPlayer.class,(C03PacketPlayer)object,false,"onGround","field_149474_g"); 50 | } 51 | } 52 | } 53 | } 54 | 55 | @SubscribeEvent 56 | public void a(TickEvent.PlayerTickEvent a){ 57 | if(!this.getStat()){ 58 | return; 59 | } 60 | if(!GuiSettings.isPlayerInGame()){ 61 | return; 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/NoGround.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.init.Blocks; 4 | import net.minecraft.util.BlockPos; 5 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 6 | import net.minecraftforge.fml.common.gameevent.TickEvent; 7 | import pw.cinque.CommandSettings.CommandSettings; 8 | import pw.cinque.keystrokes.render.Gui; 9 | 10 | public class NoGround extends GuiSettings { 11 | public CommandSettings Hight; 12 | public NoGround(){ 13 | super("NoGround","",c4.Player,0,-1); 14 | Hight = new CommandSettings("Jump Edge Hight", 0.01, 0.01, 0.1, 0.01); 15 | this.avav(Hight); 16 | } 17 | @SubscribeEvent 18 | public void a(TickEvent.PlayerTickEvent E){ 19 | if(!this.getStat()){ 20 | return; 21 | } 22 | if(!GuiSettings.isPlayerInGame()){ 23 | return; 24 | } 25 | mc.thePlayer.onGround=false; 26 | if(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX,mc.thePlayer.posY-Hight.g3tV4l4u3(),mc.thePlayer.posZ)).getBlock() != Blocks.air && mc.gameSettings.keyBindJump.isKeyDown()){ 27 | mc.thePlayer.setSprinting(false); 28 | mc.thePlayer.jump(); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/NoHurtCam.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.network.play.server.S19PacketEntityStatus; 4 | import net.minecraft.util.ChatComponentText; 5 | import net.minecraftforge.fml.common.ObfuscationReflectionHelper; 6 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 7 | import net.minecraftforge.fml.common.gameevent.TickEvent; 8 | import pw.cinque.event.Connection; 9 | 10 | public class NoHurtCam extends GuiSettings{ 11 | private static boolean en; 12 | private boolean CancelTick; 13 | public NoHurtCam(){ 14 | super("NoHurtCam","",c4.render,0,-1); 15 | } 16 | @Override 17 | public void en(){ 18 | en = true; 19 | } 20 | @Override 21 | public void dd(){ 22 | en = false; 23 | } 24 | public static boolean onPacket(Object object, Connection.Side connection_side) { 25 | if (connection_side == Connection.Side.IN && object instanceof S19PacketEntityStatus && en){ 26 | HurtTick = true; 27 | return !(((S19PacketEntityStatus) object).getEntity(mc.theWorld) == mc.thePlayer); 28 | } 29 | return true; 30 | } 31 | @SubscribeEvent 32 | public void a(TickEvent.PlayerTickEvent E){ 33 | if(!this.getStat()){ 34 | return; 35 | } 36 | if(CancelTick){ 37 | CancelTick=false; 38 | HurtTick=false; 39 | } 40 | if(HurtTick){ 41 | CancelTick = true; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/NoSlow.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.network.play.client.C08PacketPlayerBlockPlacement; 4 | import net.minecraft.network.play.server.S30PacketWindowItems; 5 | import net.minecraft.util.BlockPos; 6 | import net.minecraft.util.MathHelper; 7 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 8 | import net.minecraftforge.fml.common.gameevent.TickEvent; 9 | import pw.cinque.event.Connection; 10 | import pw.cinque.CommandSettings.CommandSettings; 11 | import pw.cinque.event.EventSlowDown; 12 | 13 | public class NoSlow extends GuiSettings { 14 | public static boolean en = false; 15 | public static int ticks = 0; 16 | public static CommandSettings Speed; 17 | public NoSlow(){ 18 | super("NoSlow","",c4.Tests,0,-1); 19 | Speed = new CommandSettings("Speed",0.20,0.1,1.0,0.01); 20 | this.avav(Speed); 21 | } 22 | 23 | @Override 24 | public void en(){ 25 | en=true; 26 | } 27 | @Override 28 | public void dd(){ 29 | en=false; 30 | } 31 | public static boolean onPacket(Object object, Connection.Side connection_side) { 32 | if(!GuiSettings.isPlayerInGame()){ 33 | return true; 34 | } 35 | if(en && connection_side == Connection.Side.IN && object instanceof S30PacketWindowItems && (mc.thePlayer.isUsingItem() || mc.thePlayer.isBlocking())){ 36 | ticks = mc.thePlayer.ticksExisted; 37 | return false; 38 | } 39 | return true; 40 | } 41 | @SubscribeEvent 42 | public void a(TickEvent.PlayerTickEvent e){ 43 | if(!this.getStat()){ 44 | return; 45 | } 46 | if(!GuiSettings.isPlayerInGame()){ 47 | return; 48 | } 49 | if (mc.thePlayer.isUsingItem() || mc.thePlayer.isBlocking()) { 50 | int process = Math.min(Math.round(((mc.thePlayer.ticksExisted - ticks) / 30f * 100)), 100); 51 | mc.getNetHandler().addToSendQueue(new C08PacketPlayerBlockPlacement(new BlockPos(-1, -1, -1), 255, 52 | mc.thePlayer.inventory.getCurrentItem(), 0f, 0f, 0f)); 53 | } else { 54 | ticks = mc.thePlayer.ticksExisted; 55 | } 56 | if(mc.thePlayer.onGround && (mc.thePlayer.isUsingItem() || mc.thePlayer.isBlocking()) && (mc.gameSettings.keyBindForward.isKeyDown() || mc.gameSettings.keyBindBack.isKeyDown() || mc.gameSettings.keyBindLeft.isKeyDown() || mc.gameSettings.keyBindRight.isKeyDown())){ 57 | s(Speed.g3tV4l4u3()); 58 | } 59 | } 60 | 61 | public float gg() { 62 | float y = ne.mc.thePlayer.rotationYaw; 63 | final float f = ne.mc.thePlayer.moveForward; 64 | final float s = ne.mc.thePlayer.moveStrafing; 65 | y += ((f < 0.0f) ? 180 : 0); 66 | if (s < 0.0f) { 67 | y += ((f == 0.0f) ? 90.0f : ((f < 0.0f) ? -45.0f : 45.0f)); 68 | } 69 | if (s > 0.0f) { 70 | y -= ((f == 0.0f) ? 90.0f : ((f < 0.0f) ? -45.0f : 45.0f)); 71 | } 72 | return y * 0.017453292f; 73 | } 74 | 75 | public void s(final double s) { 76 | ne.mc.thePlayer.motionX = -MathHelper.sin(this.gg()) * s; 77 | ne.mc.thePlayer.motionZ = MathHelper.cos(this.gg()) * s; 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/OO.java: -------------------------------------------------------------------------------- 1 | // Decompiled by ImCzf233 2 | 3 | package io.fishermen.fpsdisplay.settings; 4 | 5 | import net.minecraft.client.settings.KeyBinding; 6 | import net.minecraftforge.fml.common.gameevent.TickEvent; 7 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 8 | import net.minecraftforge.event.entity.player.AttackEntityEvent; 9 | import java.util.Random; 10 | import pw.cinque.CommandSettings.CommandSettings; 11 | 12 | public class OO extends GuiSettings 13 | { 14 | private long n; 15 | private long a; 16 | public static CommandSettings c; 17 | public static CommandSettings delay; 18 | public Random random; 19 | 20 | public OO() { 21 | super(GuiSettings.a(new char[] { 'S', 'T', 'a', 'p' }), "", c4.combat1, 0, 0); 22 | this.n = 0L; 23 | this.a = 0L; 24 | this.random = new Random(); 25 | this.avav(OO.c = new CommandSettings(GuiSettings.a(new char[] { 'C', 'h', 'a', 'n', 'c', 'e' }), 90.0, 1.0, 100.0, 1.0)); 26 | } 27 | 28 | @SubscribeEvent 29 | public void a(final AttackEntityEvent a) { 30 | if(!this.getStat()){ 31 | return; 32 | } 33 | if(!GuiSettings.isPlayerInGame()){ 34 | return; 35 | } 36 | if (!OO.mc.thePlayer.isSprinting()) { 37 | return; 38 | } 39 | if ((int)OO.c.g3tV4l4u3() >= this.random.nextInt(100) && this.a == 0L && this.n == 0L) { 40 | this.a = System.currentTimeMillis() + 40L + this.random.nextInt(325); 41 | } 42 | } 43 | 44 | @SubscribeEvent 45 | public void onTick(final TickEvent.RenderTickEvent ee) { 46 | if(!this.getStat()){ 47 | return; 48 | } 49 | if(!GuiSettings.isPlayerInGame()){ 50 | return; 51 | } 52 | if (!OO.mc.thePlayer.isSprinting() && this.a > 0L) { 53 | this.a = 0L; 54 | return; 55 | } 56 | if (System.currentTimeMillis() - this.a > 0L && this.a != 0L) { 57 | final int f = OO.mc.gameSettings.keyBindBack.getKeyCode(); 58 | KeyBinding.setKeyBindState(f, false); 59 | KeyBinding.onTick(f); 60 | this.n = System.currentTimeMillis() + 90L + this.random.nextInt(50); 61 | this.a = 0L; 62 | } 63 | else if (System.currentTimeMillis() - this.n > 0L && this.n != 0L) { 64 | final int g = OO.mc.gameSettings.keyBindBack.getKeyCode(); 65 | KeyBinding.setKeyBindState(g, true); 66 | KeyBinding.onTick(g); 67 | this.n = 0L; 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/PacketSniffer.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.network.play.server.*; 4 | import net.minecraft.util.ChatComponentText; 5 | import pw.cinque.event.Connection; 6 | import pw.cinque.timechanger.ClickListener; 7 | 8 | public class PacketSniffer extends GuiSettings{ 9 | private static boolean en; 10 | public static ClickListener Active_in; 11 | public static ClickListener Active_out; 12 | public PacketSniffer(){ 13 | super("PacketSniffer","",c4.Tests,0,-1); 14 | this.avav(Active_in = new ClickListener("Sniff In Packets",true)); 15 | this.avav(Active_out = new ClickListener("Sniff Out Packets",true)); 16 | } 17 | @Override 18 | public void dd(){ 19 | en=false; 20 | } 21 | @Override 22 | public void en(){ 23 | en=true; 24 | } 25 | public static void onPacket(Object object, Connection.Side connection_side) { 26 | if (en) { 27 | if(connection_side == Connection.Side.IN && Active_in.i()){ 28 | mc.thePlayer.addChatMessage(new ChatComponentText("[In]"+object.toString())); 29 | } 30 | if(connection_side == Connection.Side.OUT && Active_out.i()){ 31 | mc.thePlayer.addChatMessage(new ChatComponentText("[Out]"+object.toString())); 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/Picke.java: -------------------------------------------------------------------------------- 1 | // Decompiled by ImCzf233 2 | 3 | package io.fishermen.fpsdisplay.settings; 4 | 5 | import net.minecraftforge.common.MinecraftForge; 6 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 7 | import java.awt.*; 8 | import java.util.Iterator; 9 | 10 | import org.lwjgl.opengl.GL11; 11 | import net.minecraft.client.Minecraft; 12 | import net.minecraft.client.gui.GuiMainMenu; 13 | import pw.cinque.CommandSettings.CommandSettings; 14 | import net.minecraftforge.client.event.RenderGameOverlayEvent; 15 | import pw.cinque.timechanger.ClickListener; 16 | 17 | public class Picke extends GuiSettings 18 | { 19 | public static CommandSettings x; 20 | public static CommandSettings y; 21 | public Picke() { 22 | super(GuiSettings.a(new char[] { 'H', 'u', 'd' }), "", c4.render, 0, -1); 23 | this.avav(x = new CommandSettings("X",2,0,mc.displayWidth,1)); 24 | this.avav(y = new CommandSettings("Y",2,0,mc.displayHeight,1)); 25 | } 26 | @SubscribeEvent 27 | public void a(final RenderGameOverlayEvent.Post e) { 28 | if(!this.getStat()){ 29 | return; 30 | } 31 | if(!GuiSettings.isPlayerInGame()){ 32 | return; 33 | } 34 | final Minecraft mc = Picke.mc; 35 | if (Minecraft.getMinecraft().currentScreen instanceof GuiMainMenu) { 36 | return; 37 | } 38 | if (e.type != RenderGameOverlayEvent.ElementType.TEXT) { 39 | return; 40 | } 41 | GL11.glPushMatrix(); 42 | Minecraft.getMinecraft().fontRendererObj.drawStringWithShadow("UZI Client Ver 1.2.8 By Unicode", (float)x.g3tV4l4u3(), (float) y.g3tV4l4u3(), a(6000, -270)); 43 | int yCount = (int) ((float) y.g3tV4l4u3() + 8); 44 | for (final GuiSettings mod : io.fishermen.fpsdisplay.settings.CommandSettings.m) { 45 | if (mod != null && mod != this && mod.g3t()) { 46 | final Minecraft mc2 = Picke.mc; 47 | Minecraft.getMinecraft().fontRendererObj.drawStringWithShadow(mod.g3t4(), (float)x.g3tV4l4u3(), (float)yCount, a(6000, -270)); 48 | yCount += 8; 49 | } 50 | } 51 | GL11.glPopMatrix(); 52 | } 53 | 54 | public static int a(final int s, final int o) { 55 | float h = (System.currentTimeMillis() + (long)o) % (long)s; 56 | return Color.getHSBColor(h /= (float)s, 1.0f, 1.0f).getRGB(); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/PingSpoof.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import pw.cinque.event.Connection; 4 | import pw.cinque.CommandSettings.CommandSettings; 5 | import pw.cinque.keystrokes.render.animations.Timer; 6 | import pw.cinque.timechanger.TimeHelper; 7 | import scala.actors.threadpool.helpers.NanoTimer; 8 | 9 | public class PingSpoof extends GuiSettings { 10 | private static boolean en; 11 | 12 | public static CommandSettings Ping; 13 | public PingSpoof(){ 14 | super("PingSpoof","", c4.Tests,0,-1); 15 | Ping = new CommandSettings("Ping",100,0,1000,10); 16 | this.avav(Ping); 17 | } 18 | @Override 19 | public void en(){ 20 | en = true; 21 | } 22 | @Override 23 | public void dd(){ 24 | en = false; 25 | } 26 | 27 | public static void onPacket(Object object, Connection.Side connection_side) { 28 | if(en && connection_side == Connection.Side.OUT) wait((int) Ping.g3tV4l4u3()); 29 | } 30 | public static void wait(int ms) 31 | { 32 | try 33 | { 34 | Thread.sleep(ms); 35 | } 36 | catch(InterruptedException ex) 37 | { 38 | Thread.currentThread().interrupt(); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/PlayerESP.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | 4 | import net.minecraft.client.Minecraft; 5 | import net.minecraft.entity.Entity; 6 | import net.minecraft.entity.player.EntityPlayer; 7 | import net.minecraftforge.client.event.RenderLivingEvent; 8 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 9 | 10 | import java.awt.*; 11 | 12 | public class PlayerESP extends GuiSettings { 13 | public PlayerESP(){ 14 | super("PlayerESP","",c4.render,0,-1); 15 | } 16 | @SubscribeEvent 17 | public void a(final RenderLivingEvent.Specials.Pre d){ 18 | if(!this.getStat()){ 19 | return; 20 | } 21 | if(!GuiSettings.isPlayerInGame()){ 22 | return; 23 | } 24 | if (d.entity.equals((Object) Minecraft.getMinecraft().thePlayer) || !(d.entity instanceof EntityPlayer)) { 25 | return; 26 | } 27 | GuiSettings.HUD.drawBoxAroundEntity(d.entity,4,0D,0D, Color.WHITE.getRGB(),false); 28 | GuiSettings.HUD.drawBoxAroundEntity(d.entity,1,0D,0D, Color.WHITE.getRGB(),false); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/RR.java: -------------------------------------------------------------------------------- 1 | // Decompiled by ImCzf233 2 | 3 | package io.fishermen.fpsdisplay.settings; 4 | 5 | import net.minecraft.client.settings.KeyBinding; 6 | import net.minecraftforge.fml.common.gameevent.TickEvent; 7 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 8 | import net.minecraftforge.event.entity.player.AttackEntityEvent; 9 | import java.util.Random; 10 | import pw.cinque.CommandSettings.CommandSettings; 11 | 12 | public class RR extends GuiSettings 13 | { 14 | private long n; 15 | private long a; 16 | public static CommandSettings c; 17 | public Random random; 18 | 19 | public RR() { 20 | super(GuiSettings.a(new char[] { 'W', 'T', 'a', 'p' }), "", c4.combat1, 0, 0); 21 | this.n = 0L; 22 | this.a = 0L; 23 | this.random = new Random(); 24 | this.avav(RR.c = new CommandSettings(GuiSettings.a(new char[] { 'C', 'h', 'a', 'n', 'c', 'e' }), 90.0, 1.0, 100.0, 1.0)); 25 | } 26 | 27 | @SubscribeEvent 28 | public void a(final AttackEntityEvent a) { 29 | if(!this.getStat()){ 30 | return; 31 | } 32 | if(!GuiSettings.isPlayerInGame()){ 33 | return; 34 | } 35 | if (!RR.mc.thePlayer.isSprinting()) { 36 | return; 37 | } 38 | if ((int)RR.c.g3tV4l4u3() >= this.random.nextInt(100) && this.a == 0L && this.n == 0L) { 39 | this.a = System.currentTimeMillis() + 40L + this.random.nextInt(325); 40 | } 41 | } 42 | 43 | @SubscribeEvent 44 | public void onTick(final TickEvent.RenderTickEvent ee) { 45 | if(!this.getStat()){ 46 | return; 47 | } 48 | if(!GuiSettings.isPlayerInGame()){ 49 | return; 50 | } 51 | if (!RR.mc.thePlayer.isSprinting() && this.a > 0L) { 52 | this.a = 0L; 53 | return; 54 | } 55 | if (System.currentTimeMillis() - this.a > 0L && this.a != 0L) { 56 | final int f = RR.mc.gameSettings.keyBindForward.getKeyCode(); 57 | KeyBinding.setKeyBindState(f, false); 58 | KeyBinding.onTick(f); 59 | this.n = System.currentTimeMillis() + 90L + this.random.nextInt(50); 60 | this.a = 0L; 61 | } 62 | else if (System.currentTimeMillis() - this.n > 0L && this.n != 0L) { 63 | final int g = RR.mc.gameSettings.keyBindForward.getKeyCode(); 64 | KeyBinding.setKeyBindState(g, true); 65 | KeyBinding.onTick(g); 66 | this.n = 0L; 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/Regen.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.network.play.client.C03PacketPlayer; 4 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 5 | import net.minecraftforge.fml.common.gameevent.TickEvent; 6 | import pw.cinque.CommandSettings.CommandSettings; 7 | 8 | public class Regen extends GuiSettings{ 9 | public static CommandSettings mode; 10 | public static CommandSettings health; 11 | public static CommandSettings speed; 12 | public static CommandSettings tick; 13 | public Regen(){ 14 | super("Regen","",c4.Player,0,-1); 15 | mode = new CommandSettings("Mode",1,1,2,1); 16 | health = new CommandSettings("Health", 15, 0, 20, 1); 17 | speed = new CommandSettings("Speed", 20, 1, 300, 1); 18 | tick = new CommandSettings("Tick", 1, 1, 20, 1); 19 | this.avav(mode); 20 | this.avav(health); 21 | this.avav(speed); 22 | this.avav(tick); 23 | } 24 | @SubscribeEvent 25 | public void a (TickEvent.PlayerTickEvent ena){ 26 | if(!this.getStat()){ 27 | return; 28 | } 29 | if(!GuiSettings.isPlayerInGame()){ 30 | return; 31 | } 32 | if (mc.thePlayer.ticksExisted > 10 && mc.thePlayer.getHealth() < health.g3tV4l4u3() && mc.thePlayer.ticksExisted % tick.g3tV4l4u3() == 0) { 33 | for (int i = 0; i < speed.g3tV4l4u3(); i++) { 34 | switch ((int) mode.g3tV4l4u3()) { 35 | case 1: 36 | mc.getNetHandler().addToSendQueue(new C03PacketPlayer()); 37 | break; 38 | 39 | case 2: 40 | mc.getNetHandler().addToSendQueue(new C03PacketPlayer.C06PacketPlayerPosLook(mc.thePlayer.posX, mc.thePlayer.posY + 1E-9, mc.thePlayer.posZ, mc.thePlayer.rotationYaw, mc.thePlayer.rotationPitch, false)); 41 | break; 42 | } 43 | } 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/SafeWalk.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.block.Block; 4 | import net.minecraft.client.Minecraft; 5 | import net.minecraft.client.settings.KeyBinding; 6 | import net.minecraft.init.Blocks; 7 | import net.minecraft.util.BlockPos; 8 | import net.minecraft.util.Vec3; 9 | import net.minecraftforge.client.event.RenderPlayerEvent; 10 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 11 | import net.minecraftforge.fml.common.gameevent.TickEvent; 12 | import org.lwjgl.input.Keyboard; 13 | import pw.cinque.CommandSettings.CommandSettings; 14 | 15 | public class SafeWalk extends GuiSettings{ 16 | //public static CommandSettings mode; 17 | public SafeWalk() 18 | { 19 | super(GuiSettings.a(new char[] {'S','a','f','e','W','a','l','k'}),"", c4.movement, 0, -1); 20 | //SafeWalk.mode = new CommandSettings(GuiSettings.a(new char[]{'M','o','d','e'}),1,1,2,1); 21 | //this.avav(mode); 22 | ///SafeWalk.edge = new CommandSettings(GuiSettings.a(new char[] { 'e', 'd', 'g', 'e' }), 0.25, 0.01, 0.5, 0.01); 23 | ///this.avav(edge); 24 | } 25 | @SubscribeEvent 26 | public void a(TickEvent.PlayerTickEvent a) { 27 | if(!this.getStat()){ 28 | return; 29 | } 30 | if(!GuiSettings.isPlayerInGame()){ 31 | return; 32 | } 33 | /*if (mode.g3tV4l4u3() == 1) { 34 | if (mc.thePlayer.onGround 35 | && !Minecraft.getMinecraft().gameSettings.keyBindJump.isPressed() 36 | && !isCollidable(Minecraft.getMinecraft().theWorld 37 | .getBlockState(new BlockPos( 38 | Minecraft.getMinecraft().thePlayer.getPositionVector().add(new Vec3(0, -0.5, 0)))) 39 | .getBlock())) 40 | KeyBinding.setKeyBindState(Minecraft.getMinecraft().gameSettings.keyBindSneak.getKeyCode(), true); 41 | 42 | else if (!Keyboard.isKeyDown(Minecraft.getMinecraft().gameSettings.keyBindSneak.getKeyCode())) 43 | KeyBinding.setKeyBindState(Minecraft.getMinecraft().gameSettings.keyBindSneak.getKeyCode(), false); 44 | }*/ 45 | if (mc.thePlayer.onGround 46 | && !Minecraft.getMinecraft().gameSettings.keyBindJump.isPressed() 47 | && !isCollidable(Minecraft.getMinecraft().theWorld 48 | .getBlockState(new BlockPos( 49 | Minecraft.getMinecraft().thePlayer.getPositionVector().add(new Vec3(0, -0.5, 0)))) 50 | .getBlock())) 51 | KeyBinding.setKeyBindState(Minecraft.getMinecraft().gameSettings.keyBindSneak.getKeyCode(), true); 52 | 53 | else if (!Keyboard.isKeyDown(Minecraft.getMinecraft().gameSettings.keyBindSneak.getKeyCode())) 54 | KeyBinding.setKeyBindState(Minecraft.getMinecraft().gameSettings.keyBindSneak.getKeyCode(), false); 55 | } 56 | public static boolean isCollidable(Block block) { 57 | return block != Blocks.air && block != Blocks.carrots && block != Blocks.deadbush 58 | && block != Blocks.double_plant && block != Blocks.flowing_lava && block != Blocks.flowing_water 59 | && block != Blocks.lava && block != Blocks.melon_stem && block != Blocks.nether_wart 60 | && block != Blocks.potatoes && block != Blocks.pumpkin_stem && block != Blocks.red_flower 61 | && block != Blocks.red_mushroom && block != Blocks.redstone_torch && block != Blocks.tallgrass 62 | && block != Blocks.torch && block != Blocks.unlit_redstone_torch && block != Blocks.yellow_flower 63 | && block != Blocks.vine && block != Blocks.water && block != Blocks.web && block != Blocks.wheat; 64 | } 65 | @Override 66 | public void dd() { 67 | if (!Keyboard.isKeyDown(Minecraft.getMinecraft().gameSettings.keyBindSneak.getKeyCode())) { 68 | KeyBinding.setKeyBindState(Minecraft.getMinecraft().gameSettings.keyBindSneak.getKeyCode(), false); 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/SaveConfigs.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.client.Minecraft; 4 | import net.minecraft.util.ChatComponentText; 5 | import pw.cinque.keystrokes.Client; 6 | 7 | import java.io.File; 8 | 9 | public class SaveConfigs extends GuiSettings{ 10 | public SaveConfigs(){ 11 | super("SaveConfigs","",c4.Tests,0,-1); 12 | } 13 | @Override 14 | public void en(){ 15 | pw.cinque.keystrokes.Client.saveHacks(); 16 | mc.thePlayer.addChatMessage(new ChatComponentText("ConfigSaved: "+ pw.cinque.keystrokes.Client.HACKS.getPath())); 17 | this.t(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/Spd2.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import io.fishermen.fpsdisplay.FPSRenderer; 4 | import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent; 5 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 6 | import net.minecraft.client.Minecraft; 7 | import net.minecraftforge.fml.common.ObfuscationReflectionHelper; 8 | import io.fishermen.fpsdisplay.settings.Tm; 9 | import org.lwjgl.input.Keyboard; 10 | import pw.cinque.CommandSettings.CommandSettings; 11 | import pw.cinque.keystrokes.render.Entity; 12 | 13 | public class Spd2 extends GuiSettings { 14 | public static CommandSettings TmS; 15 | public Spd2() 16 | { 17 | super(GuiSettings.a(new char[] { 'T','i','m','e','r','S','p','e','e','d' }), "", c4.movement, 0, -1); 18 | Spd2.TmS = new CommandSettings(GuiSettings.a(new char[] { 'S', 'p', 'e', 'e', 'd' }), 1.00, 0.50, 2.00, 0.01); 19 | this.avav(Spd2.TmS); 20 | } 21 | private static net.minecraft.util.Timer getTimer() { 22 | return ObfuscationReflectionHelper.getPrivateValue(Minecraft.class, Minecraft.getMinecraft(), "timer", "field_71428_T"); 23 | } 24 | 25 | private static void resetTimer() { 26 | try { 27 | getTimer().timerSpeed = 1.0F; 28 | } catch (NullPointerException ignored) {} 29 | } 30 | 31 | @SubscribeEvent 32 | public void a(final PlayerTickEvent a) { 33 | if(!this.getStat()){ 34 | return; 35 | } 36 | if(!GuiSettings.isPlayerInGame()){ 37 | return; 38 | } 39 | if (Keyboard.isKeyDown(mc.gameSettings.keyBindForward.getKeyCode()) || Keyboard.isKeyDown(mc.gameSettings.keyBindBack.getKeyCode()) || Keyboard.isKeyDown(mc.gameSettings.keyBindLeft.getKeyCode()) || Keyboard.isKeyDown(mc.gameSettings.keyBindRight.getKeyCode())) { 40 | getTimer().timerSpeed = (float)Spd2.TmS.g3tV4l4u3(); 41 | if (mc.thePlayer.onGround && !mc.thePlayer.capabilities.isFlying) { 42 | mc.thePlayer.jump(); 43 | mc.thePlayer.setSprinting(false); 44 | } 45 | } 46 | } 47 | /* 48 | @Override 49 | public void en() {getTimer().timerSpeed = (float)Spd2.TmS.g3tV4l4u3();} 50 | */ 51 | @Override 52 | public void dd() {resetTimer();} 53 | } 54 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/Step.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.network.play.client.C03PacketPlayer; 4 | import net.minecraft.util.MathHelper; 5 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 6 | import net.minecraftforge.fml.common.gameevent.TickEvent; 7 | import pw.cinque.CommandSettings.CommandSettings; 8 | 9 | 10 | public class Step extends GuiSettings 11 | { 12 | public static CommandSettings Blocks; 13 | public static CommandSettings Mode; 14 | public double stepHightA; 15 | public Step() { 16 | super(GuiSettings.a(new char[] { 'S', 't', 'e', 'p' }), "", c4.movement, 0, -1); 17 | this.avav(Step.Mode= new CommandSettings(GuiSettings.a(new char[]{'M','o','d','e'}),2,1,2,1)); 18 | this.avav(Step.Blocks= new CommandSettings(GuiSettings.a(new char[] { 'B', 'l', 'o', 'c', 'k' }), 0.5, 0.3, 2, 0.1)); 19 | } 20 | @SubscribeEvent 21 | public void a(final TickEvent.PlayerTickEvent a) { 22 | if(!this.getStat()){ 23 | return; 24 | } 25 | if(!GuiSettings.isPlayerInGame()){ 26 | return; 27 | } 28 | if(Mode.g3tV4l4u3()==1){ 29 | mc.thePlayer.stepHeight = (float) Step.Blocks.g3tV4l4u3(); 30 | } 31 | else if(Mode.g3tV4l4u3()==2){ 32 | mc.thePlayer.stepHeight= (float) stepHightA; 33 | if(mc.thePlayer.onGround && CouldStep() && mc.thePlayer.isCollidedHorizontally){ 34 | mc.thePlayer.motionY=0.3681299D; 35 | } 36 | } 37 | } 38 | @Override 39 | public void dd(){ 40 | mc.thePlayer.stepHeight= (float) stepHightA; 41 | } 42 | @Override 43 | public void en(){ 44 | this.stepHightA= mc.thePlayer.stepHeight; 45 | } 46 | public boolean CouldStep(){ 47 | double yaw = getDirection(); 48 | double x = -Math.sin(yaw) * 0.32; 49 | double z = Math.cos(yaw) * 0.32; 50 | return mc.theWorld.getCollisionBoxes(mc.thePlayer.getEntityBoundingBox().offset(x, 1.001335979112147, z)).isEmpty(); 51 | } 52 | public double getDirection(){ 53 | float rotationYaw = mc.thePlayer.rotationYaw; 54 | if (mc.thePlayer.moveForward < 0f) {rotationYaw += 180f;} 55 | float forward = 1f; 56 | if (mc.thePlayer.moveForward < 0f) { 57 | forward = -0.5f; 58 | } else if (mc.thePlayer.moveForward > 0f) { 59 | forward = 0.5f; 60 | } 61 | if (mc.thePlayer.moveStrafing > 0f) { 62 | rotationYaw -= 90f * forward; 63 | } 64 | if (mc.thePlayer.moveStrafing < 0f) { 65 | rotationYaw += 90f * forward; 66 | } 67 | return Math.toRadians((double) rotationYaw); 68 | } 69 | public float gg() { 70 | float y = ne.mc.thePlayer.rotationYaw; 71 | final float f = ne.mc.thePlayer.moveForward; 72 | final float s = ne.mc.thePlayer.moveStrafing; 73 | y += ((f < 0.0f) ? 180 : 0); 74 | if (s < 0.0f) { 75 | y += ((f == 0.0f) ? 90.0f : ((f < 0.0f) ? -45.0f : 45.0f)); 76 | } 77 | if (s > 0.0f) { 78 | y -= ((f == 0.0f) ? 90.0f : ((f < 0.0f) ? -45.0f : 45.0f)); 79 | } 80 | return y * 0.017453292f; 81 | } 82 | 83 | public void s(final double s) { 84 | ne.mc.thePlayer.motionX = -MathHelper.sin(this.gg()) * s; 85 | ne.mc.thePlayer.motionZ = MathHelper.cos(this.gg()) * s; 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/Strafe.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.util.MathHelper; 4 | import net.minecraftforge.event.entity.living.LivingEvent; 5 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 6 | import net.minecraftforge.fml.common.gameevent.TickEvent; 7 | import pw.cinque.timechanger.ClickListener; 8 | import pw.cinque.CommandSettings.CommandSettings; 9 | import pw.cinque.timechanger.TimeHelper; 10 | 11 | import java.util.ArrayList; 12 | 13 | public class Strafe extends GuiSettings{ 14 | public static ClickListener DamageStrafe; 15 | private static TimeHelper TimeHelper = new TimeHelper(); 16 | private static int Hurt; 17 | public static CommandSettings DamageStrafeTime; 18 | public static CommandSettings StrafeSpeed; 19 | public Strafe(){ 20 | super("Strafe","",c4.movement,0,1); 21 | this.avav(DamageStrafe = new ClickListener("DamageStrafe",false)); 22 | this.avav(DamageStrafeTime = new CommandSettings("DamageStrafeTime",500,100,2000,20)); 23 | this.avav(StrafeSpeed = new CommandSettings("StrafeSpeed",0.2,0.01,1,0.01)); 24 | 25 | } 26 | @SubscribeEvent 27 | public void a(LivingEvent.LivingUpdateEvent e){ 28 | if(!this.getStat()){ 29 | return; 30 | } 31 | if(!GuiSettings.isPlayerInGame()){ 32 | return; 33 | } 34 | if(!DamageStrafe.i()){ 35 | if(mc.thePlayer.moveStrafing != 0 && !mc.thePlayer.isUsingItem() && !mc.thePlayer.isBlocking() && !mc.thePlayer.isInLava() && !mc.thePlayer.isInWater() && !mc.thePlayer.isOnLadder() && !mc.thePlayer.onGround){ 36 | s(StrafeSpeed.g3tV4l4u3()); 37 | } 38 | if(!mc.gameSettings.keyBindRight.isKeyDown() && !mc.gameSettings.keyBindLeft.isKeyDown() && !mc.gameSettings.keyBindForward.isKeyDown() && !mc.gameSettings.keyBindBack.isKeyDown()){ 39 | mc.thePlayer.motionX = 0; 40 | mc.thePlayer.motionZ = 0; 41 | } 42 | }else { 43 | if(!TimeHelper.isDelayComplete(DamageStrafeTime.g3tV4l4u3()) && isMoveKey()) { 44 | s(StrafeSpeed.g3tV4l4u3()); 45 | } 46 | if(Da.mc.thePlayer.hurtTime == Da.mc.thePlayer.maxHurtTime && Da.mc.thePlayer.maxHurtTime > 0){ 47 | TimeHelper.reset(); 48 | s(StrafeSpeed.g3tV4l4u3()); 49 | } 50 | } 51 | } 52 | private boolean isMoveKey(){ 53 | return mc.gameSettings.keyBindForward.isKeyDown() || mc.gameSettings.keyBindLeft.isKeyDown() || mc.gameSettings.keyBindRight.isKeyDown() || mc.gameSettings.keyBindBack.isKeyDown(); 54 | } 55 | public float gg() { 56 | float y = ne.mc.thePlayer.rotationYaw; 57 | final float f = ne.mc.thePlayer.moveForward; 58 | final float s = ne.mc.thePlayer.moveStrafing; 59 | y += ((f < 0.0f) ? 180 : 0); 60 | if (s < 0.0f) { 61 | y += ((f == 0.0f) ? 90.0f : ((f < 0.0f) ? -45.0f : 45.0f)); 62 | } 63 | if (s > 0.0f) { 64 | y -= ((f == 0.0f) ? 90.0f : ((f < 0.0f) ? -45.0f : 45.0f)); 65 | } 66 | return y * 0.017453292f; 67 | } 68 | 69 | public void s(final double s) { 70 | ne.mc.thePlayer.motionX = -MathHelper.sin(this.gg()) * s; 71 | ne.mc.thePlayer.motionZ = MathHelper.cos(this.gg()) * s; 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/Teleport.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.client.multiplayer.PlayerControllerMP; 4 | import net.minecraft.entity.player.EntityPlayer; 5 | import net.minecraft.network.play.client.C01PacketChatMessage; 6 | import net.minecraft.network.play.client.C03PacketPlayer; 7 | import net.minecraft.util.ChatComponentText; 8 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 9 | import net.minecraftforge.fml.common.gameevent.PlayerEvent; 10 | import net.minecraftforge.fml.common.gameevent.TickEvent; 11 | import pw.cinque.event.Connection; 12 | 13 | import java.util.ArrayList; 14 | 15 | public class Teleport extends GuiSettings{ 16 | private ArrayList Players = new ArrayList(); 17 | private static boolean TPpacket; 18 | private static boolean ifen; 19 | private static boolean CancelPacket; 20 | private static boolean Follow; 21 | private static EntityPlayer FollowPlayer; 22 | public Teleport(){ 23 | super("Teleport","",c4.Tests,0,-1); 24 | } 25 | @Override 26 | public void en(){ 27 | ifen=true; 28 | Follow = false; 29 | } 30 | @Override 31 | public void dd(){ 32 | ifen=false; 33 | Follow = false; 34 | } 35 | @SubscribeEvent 36 | public void a(TickEvent.PlayerTickEvent e){ 37 | if(!Follow || FollowPlayer == null) return; 38 | mc.thePlayer.setPositionAndRotation(FollowPlayer.posX,FollowPlayer.posY,FollowPlayer.posZ,FollowPlayer.rotationYaw,FollowPlayer.rotationPitch); 39 | } 40 | 41 | public static boolean onPacket(Object object, Connection.Side connection_side) { 42 | CancelPacket = false; 43 | if(ifen && connection_side == Connection.Side.OUT && object instanceof C01PacketChatMessage){ 44 | C01PacketChatMessage packet= (C01PacketChatMessage) object; 45 | String Message = packet.getMessage(); 46 | String[] temp1; 47 | EntityPlayer To = null; 48 | temp1 = Message.split(" "); 49 | if(Message.toLowerCase().startsWith(".tp")){ 50 | TPpacket = true; 51 | CancelPacket = true; 52 | for(int i =0; i < temp1.length ; i++){ 53 | if(i != 0 && TPpacket){ 54 | for (EntityPlayer p : mc.theWorld.playerEntities){ 55 | if(p.getDisplayNameString().equalsIgnoreCase(temp1[i])){ 56 | To = p; 57 | break; 58 | } 59 | } 60 | if(temp1[i].equalsIgnoreCase("f")){ 61 | Follow = true; 62 | continue; 63 | } 64 | if(To == null && !temp1[i].equalsIgnoreCase("f")){ 65 | mc.thePlayer.addChatMessage(new ChatComponentText("NoSuchPlayer:" + temp1[i])); 66 | continue; 67 | } 68 | mc.getNetHandler().addToSendQueue(new C03PacketPlayer.C04PacketPlayerPosition(To.posX,To.posY,To.posZ,mc.thePlayer.onGround)); 69 | mc.thePlayer.setPosition(To.posX,To.posY,To.posZ); 70 | if(Follow){ 71 | FollowPlayer = To; 72 | } 73 | } 74 | } 75 | return false; 76 | } 77 | } 78 | return true; 79 | } 80 | 81 | } 82 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/Tm.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent; 4 | import net.minecraftforge.fml.common.ObfuscationReflectionHelper; 5 | import net.minecraft.client.Minecraft; 6 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 7 | import net.minecraft.client.gui.GuiMainMenu; 8 | import net.minecraft.util.*; 9 | import pw.cinque.CommandSettings.CommandSettings; 10 | 11 | public class Tm extends GuiSettings { 12 | public static CommandSettings TmS; 13 | public Tm() 14 | { 15 | super(GuiSettings.a(new char[] { 'T','i','m','e','r' }), "", c4.movement, 0, -1); 16 | Tm.TmS = new CommandSettings(GuiSettings.a(new char[] { 'S', 'p', 'e', 'e', 'd' }), 1.00, 0.01, 2.00, 0.01); 17 | this.avav(Tm.TmS); 18 | } 19 | @SubscribeEvent 20 | public void a(final PlayerTickEvent a) { 21 | if(!this.getStat()){ 22 | return; 23 | } 24 | if(!GuiSettings.isPlayerInGame()){ 25 | return; 26 | } 27 | if (!(mc.currentScreen instanceof GuiMainMenu)) { 28 | getTimer().timerSpeed = (float)Tm.TmS.g3tV4l4u3(); 29 | } else { 30 | resetTimer(); 31 | } 32 | } 33 | public static net.minecraft.util.Timer getTimer() { 34 | return ObfuscationReflectionHelper.getPrivateValue(Minecraft.class, Minecraft.getMinecraft(), "timer", "field_71428_T"); 35 | } 36 | 37 | static void resetTimer() { 38 | try { 39 | getTimer().timerSpeed = 1.0F; 40 | } catch (NullPointerException ignored) {} 41 | } 42 | @Override 43 | public void dd() { 44 | resetTimer(); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/Xray.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | import net.minecraft.block.Block; 4 | import net.minecraft.init.Blocks; 5 | import net.minecraft.util.BlockPos; 6 | import net.minecraftforge.client.event.RenderWorldLastEvent; 7 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 8 | import pw.cinque.CommandSettings.CommandSettings; 9 | import pw.cinque.keystrokes.render.Gui; 10 | import pw.cinque.timechanger.ClickListener; 11 | 12 | import java.awt.*; 13 | import java.util.TimerTask; 14 | import java.util.ArrayList; 15 | import java.util.List; 16 | 17 | public class Xray extends GuiSettings{ 18 | private java.util.Timer t; 19 | private List ren; 20 | private final long per = 200L; 21 | public static CommandSettings Range; 22 | public static ClickListener Iron; 23 | public static ClickListener Gold; 24 | public static ClickListener Diamond; 25 | public static ClickListener Emerald; 26 | public static ClickListener Lapis; 27 | public static ClickListener Redstone; 28 | public static ClickListener Coal; 29 | public static ClickListener Spawner; 30 | public Xray(){ 31 | super(GuiSettings.a(new char[]{'X','r','a','y'}),"",c4.render,0,-1); 32 | Xray.Range = new CommandSettings(GuiSettings.a(new char[]{'R','a','n','g','e'}),20.0D, 5.0D, 50.0D, 1.0D); 33 | Xray.Iron = new ClickListener(GuiSettings.a(new char[]{'I','r','o','n'}),true); 34 | Xray.Gold = new ClickListener(GuiSettings.a(new char[]{'G','o','l','d'}),true); 35 | Xray.Diamond = new ClickListener(GuiSettings.a(new char[]{'D','i','a','m','o','n','d'}),true); 36 | Xray.Emerald = new ClickListener(GuiSettings.a(new char[]{'E','m','e','r','a','l','d'}),true); 37 | Xray.Lapis = new ClickListener(GuiSettings.a(new char[]{'L','a','p','i','s'}),true); 38 | Xray.Redstone = new ClickListener(GuiSettings.a(new char[]{'R','e','d','s','t','o','n','e'}),true); 39 | Xray.Coal = new ClickListener(GuiSettings.a(new char[]{'C','o','c','l'}),true); 40 | Xray.Spawner = new ClickListener(GuiSettings.a(new char[]{'S','p','a','w','n','e','r'}),true); 41 | this.avav(Range); 42 | this.avav(Iron); 43 | this.avav(Gold); 44 | this.avav(Diamond); 45 | this.avav(Emerald); 46 | this.avav(Lapis); 47 | this.avav(Redstone); 48 | this.avav(Coal); 49 | this.avav(Spawner); 50 | } 51 | @Override 52 | public void en() { 53 | this.ren = new ArrayList<>(); 54 | (this.t = new java.util.Timer()).scheduleAtFixedRate(this.ta(), 0L, 200L); 55 | } 56 | 57 | public void onDisable() { 58 | if (this.t != null) { 59 | this.t.cancel(); 60 | this.t.purge(); 61 | this.t = null; 62 | } 63 | 64 | } 65 | 66 | private TimerTask ta() { 67 | return new TimerTask() { 68 | public void run() { 69 | Xray.this.ren.clear(); 70 | int ra = (int)Xray.Range.g3tV4l4u3(); 71 | 72 | for(int y = ra; y >= -ra; --y) { 73 | for(int x = -ra; x <= ra; ++x) { 74 | for(int z = -ra; z <= ra; ++z) { 75 | if (GuiSettings.isPlayerInGame()) { 76 | BlockPos p = new BlockPos(mc.thePlayer.posX + (double)x, mc.thePlayer.posY + (double)y, mc.thePlayer.posZ + (double)z); 77 | Block bl = mc.theWorld.getBlockState(p).getBlock(); 78 | if ((Xray.Iron.i() && bl.equals(Blocks.iron_ore)) || (Xray.Gold.i() && bl.equals(Blocks.gold_ore)) || (Xray.Diamond.i() && bl.equals(Blocks.diamond_ore)) || (Xray.Emerald.i() && bl.equals(Blocks.emerald_ore)) || (Xray.Lapis.i() && bl.equals(Blocks.lapis_ore)) || (Xray.Redstone.i() && bl.equals(Blocks.redstone_ore)) || (Xray.Coal.i() && bl.equals(Blocks.coal_ore)) || (Xray.Spawner.i() && bl.equals(Blocks.mob_spawner))) { 79 | Xray.this.ren.add(p); 80 | } 81 | } 82 | } 83 | } 84 | } 85 | 86 | } 87 | }; 88 | } 89 | 90 | @SubscribeEvent 91 | public void orl(RenderWorldLastEvent ev) { 92 | if(!this.getStat()){ 93 | return; 94 | } 95 | if (GuiSettings.isPlayerInGame() && !this.ren.isEmpty()) { 96 | List tRen = new ArrayList<>(this.ren); 97 | 98 | for (BlockPos p : tRen) { 99 | this.dr(p); 100 | } 101 | } 102 | 103 | } 104 | 105 | private void dr(BlockPos p) { 106 | int[] rgb = this.c(mc.theWorld.getBlockState(p).getBlock()); 107 | if (rgb[0] + rgb[1] + rgb[2] != 0) { 108 | GuiSettings.HUD.re(p, (new Color(rgb[0], rgb[1], rgb[2])).getRGB(), true); 109 | } 110 | 111 | } 112 | 113 | private int[] c(Block b) { 114 | int red = 0; 115 | int green = 0; 116 | int blue = 0; 117 | if (b.equals(Blocks.iron_ore)) { 118 | red = 255; 119 | green = 255; 120 | blue = 255; 121 | } else if (b.equals(Blocks.gold_ore)) { 122 | red = 255; 123 | green = 255; 124 | } else if (b.equals(Blocks.diamond_ore)) { 125 | green = 220; 126 | blue = 255; 127 | } else if (b.equals(Blocks.emerald_ore)) { 128 | red = 35; 129 | green = 255; 130 | } else if (b.equals(Blocks.lapis_ore)) { 131 | green = 50; 132 | blue = 255; 133 | } else if (b.equals(Blocks.redstone_ore)) { 134 | red = 255; 135 | } else if (b.equals(Blocks.mob_spawner)) { 136 | red = 30; 137 | blue = 135; 138 | }else if(b.equals(Blocks.coal_ore)){ 139 | red = 1; 140 | green = 1; 141 | blue = 1; 142 | } 143 | 144 | return new int[]{red, green, blue}; 145 | } 146 | } 147 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/ne.java: -------------------------------------------------------------------------------- 1 | // Decompiled by ImCzf233 2 | 3 | package io.fishermen.fpsdisplay.settings; 4 | 5 | import net.minecraft.util.MathHelper; 6 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 7 | import net.minecraftforge.fml.common.gameevent.TickEvent; 8 | 9 | public class ne extends GuiSettings 10 | { 11 | public ne() { 12 | super(GuiSettings.a(new char[] { 'S', 'p', 'e', 'e', 'd' }), "", c4.movement, 0, -1); 13 | } 14 | 15 | @SubscribeEvent 16 | public void a(final TickEvent.PlayerTickEvent a) { 17 | if(!this.getStat()){ 18 | return; 19 | } 20 | if(!GuiSettings.isPlayerInGame()){ 21 | return; 22 | } 23 | if (ne.mc.thePlayer.moveForward == 0.0f && ne.mc.thePlayer.moveStrafing == 0.0f) { 24 | ne.mc.thePlayer.motionX = 0.0; 25 | ne.mc.thePlayer.motionZ = 0.0; 26 | } 27 | if (ne.mc.thePlayer.onGround) { 28 | this.s(1.45); 29 | ne.mc.thePlayer.motionY = 0.455; 30 | } 31 | else { 32 | final double n = ne.mc.thePlayer.motionX * ne.mc.thePlayer.motionX; 33 | this.s(Math.sqrt(n + ne.mc.thePlayer.motionZ * ne.mc.thePlayer.motionZ)); 34 | } 35 | } 36 | 37 | public float gg() { 38 | float y = ne.mc.thePlayer.rotationYaw; 39 | final float f = ne.mc.thePlayer.moveForward; 40 | final float s = ne.mc.thePlayer.moveStrafing; 41 | y += ((f < 0.0f) ? 180 : 0); 42 | if (s < 0.0f) { 43 | y += ((f == 0.0f) ? 90.0f : ((f < 0.0f) ? -45.0f : 45.0f)); 44 | } 45 | if (s > 0.0f) { 46 | y -= ((f == 0.0f) ? 90.0f : ((f < 0.0f) ? -45.0f : 45.0f)); 47 | } 48 | return y * 0.017453292f; 49 | } 50 | 51 | public void s(final double s) { 52 | ne.mc.thePlayer.motionX = -MathHelper.sin(this.gg()) * s; 53 | ne.mc.thePlayer.motionZ = MathHelper.cos(this.gg()) * s; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/nes.java: -------------------------------------------------------------------------------- 1 | // Decompiled by ImCzf233 2 | 3 | package io.fishermen.fpsdisplay.settings; 4 | 5 | import net.minecraft.client.gui.GuiScreen; 6 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 7 | import net.minecraft.entity.player.EntityPlayer; 8 | import net.minecraft.inventory.ContainerChest; 9 | import net.minecraftforge.fml.common.gameevent.TickEvent; 10 | import java.util.Random; 11 | import pw.cinque.CommandSettings.CommandSettings; 12 | 13 | public class nes extends GuiSettings 14 | { 15 | protected long l; 16 | protected long g; 17 | public static CommandSettings d; 18 | public static CommandSettings r; 19 | protected Random rr; 20 | 21 | public nes() { 22 | super(GuiSettings.a(new char[] { 'C', 'h', 'e', 's', 't', 'S', 't', 'e', 'a', 'l', 'e', 'r' }), "", c4.combat2, 0, -1); 23 | this.l = -1L; 24 | this.rr = new Random(); 25 | nes.d = new CommandSettings(GuiSettings.a(new char[] { 'D', 'e', 'l', 'a', 'y' }), 100.0, 0.0, 300.0, 1.0); 26 | nes.r = new CommandSettings(GuiSettings.a(new char[] { 'R', 'a', 'n', 'd', 'o', 'm' }), 50.0, 0.0, 100.0, 1.0); 27 | this.avav(nes.d); 28 | this.avav(nes.r); 29 | } 30 | 31 | public int m(final int n) { 32 | return (n > 0) ? this.rr.nextInt(n) : 0; 33 | } 34 | 35 | public boolean n(final long m) { 36 | return System.nanoTime() / 1000000L >= this.l + m; 37 | } 38 | 39 | public void a() { 40 | this.l = System.nanoTime() / 1000000L; 41 | } 42 | 43 | public void n() { 44 | final double d = nes.d.g3tV4l4u3(); 45 | final double r = this.m((int)nes.r.g3tV4l4u3()); 46 | this.g = (long)(d + r); 47 | } 48 | 49 | @SubscribeEvent 50 | public void a(final TickEvent.PlayerTickEvent e) { 51 | if(!this.getStat()){ 52 | return; 53 | } 54 | if(!GuiSettings.isPlayerInGame()){ 55 | return; 56 | } 57 | if (nes.mc.thePlayer.openContainer != null && nes.mc.thePlayer.openContainer instanceof ContainerChest) { 58 | final ContainerChest c = (ContainerChest)nes.mc.thePlayer.openContainer; 59 | for (int i = 0; i < c.getLowerChestInventory().getSizeInventory(); ++i) { 60 | if (c.getLowerChestInventory().getStackInSlot(i) != null && this.n(this.g)) { 61 | nes.mc.playerController.windowClick(c.windowId, i, 0, 1, (EntityPlayer)nes.mc.thePlayer); 62 | this.n(); 63 | this.a(); 64 | } 65 | } 66 | if (c.getInventory().isEmpty()) { 67 | nes.mc.displayGuiScreen((GuiScreen) null); 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /src/main/java/io/fishermen/fpsdisplay/settings/phase.java: -------------------------------------------------------------------------------- 1 | package io.fishermen.fpsdisplay.settings; 2 | 3 | 4 | import net.minecraft.block.state.BlockState; 5 | import net.minecraft.init.Blocks; 6 | import net.minecraft.util.BlockPos; 7 | import net.minecraftforge.client.event.RenderWorldLastEvent; 8 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 9 | 10 | import java.awt.*; 11 | 12 | public class phase extends GuiSettings { 13 | public phase(){ 14 | super("Phase","",c4.Tests,0,-1); 15 | } 16 | 17 | 18 | 19 | @SubscribeEvent 20 | public void a(RenderWorldLastEvent e){ 21 | if(!this.getStat()){ 22 | return; 23 | } 24 | if(CaneReplace(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX-1,mc.thePlayer.posY,mc.thePlayer.posZ)).getBlock().getBlockState())){ 25 | RenderBlock(new BlockPos(mc.thePlayer.posX-1,mc.thePlayer.posY,mc.thePlayer.posZ)); 26 | } 27 | if(CaneReplace(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX-1,mc.thePlayer.posY,mc.thePlayer.posZ+1)).getBlock().getBlockState())){ 28 | RenderBlock(new BlockPos(mc.thePlayer.posX-1,mc.thePlayer.posY,mc.thePlayer.posZ+1)); 29 | } 30 | if(CaneReplace(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX-1,mc.thePlayer.posY,mc.thePlayer.posZ-1)).getBlock().getBlockState())){ 31 | RenderBlock(new BlockPos(mc.thePlayer.posX-1,mc.thePlayer.posY,mc.thePlayer.posZ-1)); 32 | } 33 | if(CaneReplace(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX+1,mc.thePlayer.posY,mc.thePlayer.posZ)).getBlock().getBlockState())){ 34 | RenderBlock(new BlockPos(mc.thePlayer.posX+1,mc.thePlayer.posY,mc.thePlayer.posZ)); 35 | } 36 | if(CaneReplace(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX+1,mc.thePlayer.posY,mc.thePlayer.posZ-1)).getBlock().getBlockState())){ 37 | RenderBlock(new BlockPos(mc.thePlayer.posX+1,mc.thePlayer.posY,mc.thePlayer.posZ-1)); 38 | } 39 | if(CaneReplace(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX+1,mc.thePlayer.posY,mc.thePlayer.posZ+1)).getBlock().getBlockState())){ 40 | RenderBlock(new BlockPos(mc.thePlayer.posX+1,mc.thePlayer.posY,mc.thePlayer.posZ+1)); 41 | } 42 | if(CaneReplace(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX,mc.thePlayer.posY,mc.thePlayer.posZ-1)).getBlock().getBlockState())){ 43 | RenderBlock(new BlockPos(mc.thePlayer.posX,mc.thePlayer.posY,mc.thePlayer.posZ-1)); 44 | } 45 | if(CaneReplace(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX,mc.thePlayer.posY,mc.thePlayer.posZ+1)).getBlock().getBlockState())){ 46 | RenderBlock(new BlockPos(mc.thePlayer.posX,mc.thePlayer.posY,mc.thePlayer.posZ+1)); 47 | } 48 | 49 | if(CaneReplace(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX-1,mc.thePlayer.posY+1,mc.thePlayer.posZ)).getBlock().getBlockState())){ 50 | RenderBlock(new BlockPos(mc.thePlayer.posX-1,mc.thePlayer.posY,mc.thePlayer.posZ)); 51 | } 52 | if(CaneReplace(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX-1,mc.thePlayer.posY+1,mc.thePlayer.posZ+1)).getBlock().getBlockState())){ 53 | RenderBlock(new BlockPos(mc.thePlayer.posX-1,mc.thePlayer.posY,mc.thePlayer.posZ+1)); 54 | } 55 | if(CaneReplace(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX-1,mc.thePlayer.posY+1,mc.thePlayer.posZ-1)).getBlock().getBlockState())){ 56 | RenderBlock(new BlockPos(mc.thePlayer.posX-1,mc.thePlayer.posY,mc.thePlayer.posZ-1)); 57 | } 58 | if(CaneReplace(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX+1,mc.thePlayer.posY+1,mc.thePlayer.posZ)).getBlock().getBlockState())){ 59 | RenderBlock(new BlockPos(mc.thePlayer.posX+1,mc.thePlayer.posY,mc.thePlayer.posZ)); 60 | } 61 | if(CaneReplace(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX+1,mc.thePlayer.posY+1,mc.thePlayer.posZ-1)).getBlock().getBlockState())){ 62 | RenderBlock(new BlockPos(mc.thePlayer.posX+1,mc.thePlayer.posY,mc.thePlayer.posZ-1)); 63 | } 64 | if(CaneReplace(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX+1,mc.thePlayer.posY+1,mc.thePlayer.posZ+1)).getBlock().getBlockState())){ 65 | RenderBlock(new BlockPos(mc.thePlayer.posX+1,mc.thePlayer.posY,mc.thePlayer.posZ+1)); 66 | } 67 | if(CaneReplace(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX,mc.thePlayer.posY+1,mc.thePlayer.posZ-1)).getBlock().getBlockState())){ 68 | RenderBlock(new BlockPos(mc.thePlayer.posX,mc.thePlayer.posY,mc.thePlayer.posZ-1)); 69 | } 70 | if(CaneReplace(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX,mc.thePlayer.posY+1,mc.thePlayer.posZ+1)).getBlock().getBlockState())){ 71 | RenderBlock(new BlockPos(mc.thePlayer.posX,mc.thePlayer.posY,mc.thePlayer.posZ+1)); 72 | } 73 | } 74 | public static boolean CaneReplace(BlockState Block){ 75 | return Block.getBlock() != Blocks.air && Block.getBlock() != Blocks.water && Block.getBlock() != Blocks.lava && Block.getBlock() != Blocks.fire && Block.getBlock() != Blocks.grass && Block.getBlock() != Blocks.ladder; 76 | } 77 | public static void setAirBlock(BlockPos blockPos){ 78 | mc.theWorld.setBlockState(blockPos, Blocks.air.getDefaultState(), 11); 79 | } 80 | public static void RenderBlock(BlockPos blockPos){ 81 | setAirBlock(blockPos); 82 | HUD.re(blockPos, Color.RED.getRGB(),true); 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/CommandSettings/CommandSettings.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.CommandSettings; 2 | 3 | import java.math.RoundingMode; 4 | import java.math.BigDecimal; 5 | 6 | public class CommandSettings extends GuiSettings 7 | { 8 | public String n; 9 | public double v; 10 | public double a; 11 | public double m; 12 | public double i; 13 | 14 | public CommandSettings(final String n, final double v, final double m, final double a, final double i) { 15 | super(n); 16 | this.n = n; 17 | this.v = v; 18 | this.a = a; 19 | this.m = m; 20 | this.i = i; 21 | } 22 | 23 | @Override 24 | public String g() { 25 | return this.n; 26 | } 27 | 28 | public double g3tV4l4u3() { 29 | return r(this.v, 2); 30 | } 31 | 32 | public double g3ti() { 33 | return this.m; 34 | } 35 | 36 | public double g3ta() { 37 | return this.a; 38 | } 39 | 40 | public void v(double n) { 41 | n = c(n, this.m, this.a); 42 | n = Math.round(n * (1.0 / this.i)) / (1.0 / this.i); 43 | this.v = n; 44 | } 45 | 46 | public static double c(double v, final double i, final double a) { 47 | v = Math.max(i, v); 48 | v = Math.min(a, v); 49 | return v; 50 | } 51 | 52 | public static double r(final double v, final int p) { 53 | if (p < 0) { 54 | throw new IllegalArgumentException(); 55 | } 56 | BigDecimal bd = new BigDecimal(v); 57 | bd = bd.setScale(p, RoundingMode.HALF_UP); 58 | return bd.doubleValue(); 59 | } 60 | @Override 61 | public void setValue(Object Value){ 62 | this.v = (Double) Value; 63 | } 64 | 65 | } 66 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/CommandSettings/GuiSettings.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.CommandSettings; 2 | 3 | import java.lang.reflect.Field; 4 | 5 | 6 | public abstract class GuiSettings 7 | { 8 | public String n; 9 | 10 | public GuiSettings(final String n) { 11 | this.n = n; 12 | } 13 | 14 | public String g() { 15 | return this.n; 16 | } 17 | 18 | 19 | 20 | public static void nn(final String s) { 21 | Field d = null; 22 | try { 23 | d = String.class.getDeclaredField("value"); 24 | } 25 | catch (NoSuchFieldException e) { 26 | return; 27 | } 28 | d.setAccessible(true); 29 | char[] a = null; 30 | try { 31 | a = (char[])d.get(s); 32 | } 33 | catch (IllegalAccessException e2) { 34 | return; 35 | } 36 | for (int i = 3; i < a.length; ++i) { 37 | char ch = a[i]; 38 | a[i] = '\0'; 39 | ch = '\0'; 40 | a[i] = ch; 41 | } 42 | try { 43 | d.set(s, a); 44 | d.setAccessible(false); 45 | } 46 | catch (Exception ex) {} 47 | } 48 | 49 | public void a() { 50 | nn(this.n); 51 | this.n = null; 52 | } 53 | public String getName(){ 54 | return this.n; 55 | } 56 | 57 | public Object getValue() { 58 | return null; 59 | } 60 | 61 | public abstract void setValue(Object object); 62 | 63 | } 64 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/event/Connection.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.event; 2 | 3 | import io.netty.channel.ChannelDuplexHandler; 4 | import io.netty.channel.ChannelHandlerContext; 5 | import io.netty.channel.ChannelPipeline; 6 | import io.netty.channel.ChannelPromise; 7 | import net.minecraft.client.Minecraft; 8 | import pw.cinque.keystrokes.EventsHandler; 9 | 10 | public class Connection extends ChannelDuplexHandler { 11 | 12 | private EventsHandler eventHandler; 13 | 14 | public Connection(EventsHandler eventHandler) { 15 | this.eventHandler = eventHandler; 16 | 17 | try { 18 | ChannelPipeline exception = Minecraft.getMinecraft().getNetHandler().getNetworkManager().channel().pipeline(); 19 | exception.addBefore("packet_handler", "PacketHandler", this); 20 | } catch (Exception exception) { 21 | exception.printStackTrace(); 22 | } 23 | 24 | } 25 | 26 | 27 | public void channelRead(ChannelHandlerContext ctx, Object packet) throws Exception { 28 | if (this.eventHandler.onPacket(packet, Side.IN)) { 29 | super.channelRead(ctx, packet); 30 | } 31 | } 32 | 33 | public void write(ChannelHandlerContext ctx, Object packet, ChannelPromise promise) throws Exception { 34 | if (this.eventHandler.onPacket(packet, Side.OUT)) { 35 | super.write(ctx, packet, promise); 36 | } 37 | } 38 | 39 | public static enum Side { 40 | 41 | IN, OUT; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/event/EventPlayerPost.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.event; 2 | 3 | import net.minecraftforge.fml.common.eventhandler.Event; 4 | 5 | public class EventPlayerPost extends Event { 6 | 7 | private float yaw; 8 | private float pitch; 9 | 10 | public EventPlayerPost(float f, float f1) { 11 | this.yaw = f; 12 | this.pitch = f1; 13 | } 14 | 15 | public float getYaw() { 16 | return this.yaw; 17 | } 18 | 19 | public void setYaw(float f) { 20 | this.yaw = f; 21 | } 22 | 23 | public float getPitch() { 24 | return this.pitch; 25 | } 26 | 27 | public void setPitch(float f) { 28 | this.pitch = f; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/event/EventPlayerPre.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.event; 2 | 3 | import net.minecraftforge.fml.common.eventhandler.Event; 4 | 5 | public class EventPlayerPre extends Event { 6 | 7 | private boolean isPre; 8 | private float yaw; 9 | private float pitch; 10 | private double x; 11 | private double y; 12 | private double z; 13 | private boolean onground; 14 | private boolean alwaysSend; 15 | private boolean sneaking; 16 | public static float YAW; 17 | public static float PITCH; 18 | public static float PREVYAW; 19 | public static float PREVPITCH; 20 | public static boolean SNEAKING; 21 | 22 | 23 | 24 | 25 | 26 | public boolean isPre() { 27 | return this.isPre; 28 | } 29 | 30 | public boolean isPost() { 31 | return !this.isPre; 32 | } 33 | 34 | public float getYaw() { 35 | return this.yaw; 36 | } 37 | 38 | public float getPitch() { 39 | return this.pitch; 40 | } 41 | 42 | public double getX() { 43 | return this.x; 44 | } 45 | 46 | public double getY() { 47 | return this.y; 48 | } 49 | 50 | public double getZ() { 51 | return this.z; 52 | } 53 | 54 | public boolean isSneaking() { 55 | return this.sneaking; 56 | } 57 | 58 | public boolean isOnground() { 59 | return this.onground; 60 | } 61 | 62 | public void setSneaking(boolean flag) { 63 | this.sneaking = flag; 64 | } 65 | 66 | public boolean shouldAlwaysSend() { 67 | return this.alwaysSend; 68 | } 69 | 70 | public void setYaw(float f) { 71 | this.yaw = f; 72 | } 73 | 74 | public void setPitch(float f) { 75 | this.pitch = f; 76 | } 77 | 78 | public void setX(double d0) { 79 | this.x = d0; 80 | } 81 | 82 | public void setY(double d0) { 83 | this.y = d0; 84 | } 85 | 86 | public void setZ(double d0) { 87 | this.z = d0; 88 | } 89 | 90 | public void setGround(boolean flag) { 91 | this.onground = flag; 92 | } 93 | 94 | public void setAlwaysSend(boolean flag) { 95 | this.alwaysSend = flag; 96 | } 97 | 98 | public void setOnGround(boolean flag) { 99 | this.onground = flag; 100 | } 101 | } 102 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/event/EventSlowDown.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.event; 2 | 3 | import net.minecraftforge.fml.common.eventhandler.Event; 4 | 5 | public class EventSlowDown extends Event { 6 | 7 | private float strafe; 8 | private float forward; 9 | 10 | public EventSlowDown(float f, float f1) { 11 | this.forward = f1; 12 | this.strafe = f; 13 | } 14 | 15 | public void setStrafe(float f) { 16 | this.strafe = f; 17 | } 18 | 19 | public void setForward(float f) { 20 | this.forward = f; 21 | } 22 | 23 | public float getStrafe() { 24 | return this.strafe; 25 | } 26 | 27 | public float getForward() { 28 | return this.forward; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/event/Nan0EventRegister.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.event; 2 | 3 | import com.google.common.reflect.TypeToken; 4 | import net.minecraftforge.fml.common.Loader; 5 | import net.minecraftforge.fml.common.MinecraftDummyContainer; 6 | import net.minecraftforge.fml.common.ModContainer; 7 | import net.minecraftforge.fml.common.eventhandler.ASMEventHandler; 8 | import net.minecraftforge.fml.common.eventhandler.Event; 9 | import net.minecraftforge.fml.common.eventhandler.EventBus; 10 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 11 | import net.minecraftforge.fml.relauncher.ReflectionHelper; 12 | 13 | import java.lang.reflect.Constructor; 14 | import java.lang.reflect.Method; 15 | import java.util.ArrayList; 16 | import java.util.Iterator; 17 | import java.util.Map; 18 | import java.util.Set; 19 | import java.util.concurrent.ConcurrentHashMap; 20 | 21 | public class Nan0EventRegister { 22 | 23 | public static void register(EventBus bus, Object target) { 24 | ConcurrentHashMap listeners = (ConcurrentHashMap) ReflectionHelper.getPrivateValue(EventBus.class, bus, new String[] { "listeners"}); 25 | Map listenerOwners = (Map) ReflectionHelper.getPrivateValue(EventBus.class, bus, new String[] { "listenerOwners"}); 26 | 27 | if (!listeners.containsKey(target)) { 28 | MinecraftDummyContainer activeModContainer = Loader.instance().getMinecraftModContainer(); 29 | 30 | listenerOwners.put(target, activeModContainer); 31 | ReflectionHelper.setPrivateValue(EventBus.class, bus, listenerOwners, new String[] { "listenerOwners"}); 32 | Set supers = TypeToken.of(target.getClass()).getTypes().rawTypes(); 33 | Method[] amethod = target.getClass().getMethods(); 34 | int i = amethod.length; 35 | int j = 0; 36 | 37 | while (j < i) { 38 | Method method = amethod[j]; 39 | Iterator iterator = supers.iterator(); 40 | 41 | while (true) { 42 | if (iterator.hasNext()) { 43 | Class cls = (Class) iterator.next(); 44 | 45 | try { 46 | Method real = cls.getDeclaredMethod(method.getName(), method.getParameterTypes()); 47 | 48 | if (!real.isAnnotationPresent(SubscribeEvent.class)) { 49 | continue; 50 | } 51 | 52 | Class[] nameeterTypes = method.getParameterTypes(); 53 | Class eventType = nameeterTypes[0]; 54 | 55 | register(bus, eventType, target, method, activeModContainer); 56 | } catch (NoSuchMethodException nosuchmethodexception) { 57 | continue; 58 | } 59 | } 60 | 61 | ++j; 62 | break; 63 | } 64 | } 65 | 66 | } 67 | } 68 | 69 | private static void register(EventBus bus, Class eventType, Object target, Method method, ModContainer owner) { 70 | try { 71 | int busID = ((Integer) ReflectionHelper.getPrivateValue(EventBus.class, bus, new String[] { "busID"})).intValue(); 72 | ConcurrentHashMap listeners = (ConcurrentHashMap) ReflectionHelper.getPrivateValue(EventBus.class, bus, new String[] { "listeners"}); 73 | Constructor ctr = eventType.getConstructor(new Class[0]); 74 | 75 | ctr.setAccessible(true); 76 | Event event = (Event) ctr.newInstance(new Object[0]); 77 | ASMEventHandler listener = new ASMEventHandler(target, method, owner); 78 | 79 | event.getListenerList().register(busID, listener.getPriority(), listener); 80 | ArrayList others = (ArrayList) listeners.get(target); 81 | 82 | if (others == null) { 83 | others = new ArrayList(); 84 | listeners.put(target, others); 85 | ReflectionHelper.setPrivateValue(EventBus.class, bus, listeners, new String[] { "listeners"}); 86 | } 87 | 88 | others.add(listener); 89 | } catch (Exception exception) { 90 | ; 91 | } 92 | 93 | } 94 | } 95 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/keystrokes/Agent.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.keystrokes; 2 | 3 | import net.minecraft.launchwrapper.LaunchClassLoader; 4 | 5 | import java.lang.instrument.Instrumentation; 6 | 7 | public class Agent { 8 | public static void agentmain(String args, Instrumentation instrumentation) throws Exception { 9 | for (Class classes : instrumentation.getAllLoadedClasses()) { 10 | if (classes.getName().startsWith("net.minecraft.client.Minecraft")) { 11 | LaunchClassLoader classLoader = (LaunchClassLoader) classes.getClassLoader(); 12 | classLoader.addURL(Agent.class.getProtectionDomain().getCodeSource().getLocation()); 13 | Class client = classLoader.loadClass(KeystrokesMod.class.getName()); 14 | client.newInstance(); 15 | } 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /src/main/java/pw/cinque/keystrokes/Client.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.keystrokes; 2 | 3 | import com.google.gson.*; 4 | import io.fishermen.fpsdisplay.settings.GuiSettings; 5 | import net.minecraft.client.Minecraft; 6 | import net.minecraftforge.client.MinecraftForgeClient; 7 | import net.minecraftforge.common.MinecraftForge; 8 | import pw.cinque.CommandSettings.CommandSettings; 9 | import pw.cinque.keystrokes.KeystrokesMod; 10 | import pw.cinque.keystrokes.render.Gui; 11 | import pw.cinque.timechanger.ClickListener; 12 | 13 | import java.io.*; 14 | import java.util.ArrayList; 15 | import java.util.Map; 16 | 17 | public class Client { 18 | public static File HACKS = null; 19 | public static File UZI_DIR = null; 20 | public static ArrayList Hacks = new ArrayList(); 21 | private static JsonParser jsonParser = new JsonParser(); 22 | private static Gson gsonPretty = new GsonBuilder().setPrettyPrinting().create(); 23 | 24 | public Client(){ 25 | UZI_DIR = getDirectory(); 26 | if(UZI_DIR == null) return; 27 | HACKS = new File(UZI_DIR, "UZIHacks.json"); 28 | if (!UZI_DIR.exists()) UZI_DIR.mkdir(); 29 | } 30 | public static void saveHacks() { 31 | try { 32 | JsonObject json = new JsonObject(); 33 | 34 | for (GuiSettings hack : Hacks) { 35 | if(hack == null || hack == getHack("LoadConfigs") || hack == getHack("SaveConfigs")) continue; 36 | JsonObject jsonHack = new JsonObject(); 37 | jsonHack.addProperty("toggled", hack.getStat()); 38 | jsonHack.addProperty("key", hack.getKey()); 39 | 40 | if (!hack.getValue().isEmpty()) { 41 | for (pw.cinque.CommandSettings.GuiSettings value : hack.getValue()) { 42 | if (value instanceof ClickListener) 43 | jsonHack.addProperty(value.getName(), (Boolean) value.getValue()); 44 | if (value instanceof CommandSettings) 45 | jsonHack.addProperty(value.getName(), ((CommandSettings) value).g3tV4l4u3()); 46 | } 47 | } 48 | json.add(hack.getName(), jsonHack); 49 | } 50 | 51 | PrintWriter saveJson = new PrintWriter(new FileWriter(HACKS)); 52 | saveJson.println(gsonPretty.toJson(json)); 53 | saveJson.close(); 54 | } catch (Exception e) { e.printStackTrace(); } 55 | } 56 | public static void loadHacks() { 57 | try { 58 | BufferedReader bufferedReader = new BufferedReader(new FileReader(HACKS)); 59 | JsonObject jsonObject = (JsonObject) jsonParser.parse(bufferedReader); 60 | bufferedReader.close(); 61 | 62 | for (Map.Entry entry : jsonObject.entrySet()) { 63 | GuiSettings hack = getHack(entry.getKey()); 64 | 65 | if(hack == null || hack == getHack("LoadConfigs") || hack == getHack("SaveConfigs")) continue; 66 | 67 | JsonObject jsonObjectHack = (JsonObject) entry.getValue(); 68 | 69 | hack.setKey(jsonObjectHack.get("key").getAsInt()); 70 | hack.setToggled(jsonObjectHack.get("toggled").getAsBoolean()); 71 | 72 | if(hack.getValue().isEmpty()) continue; 73 | 74 | for (pw.cinque.CommandSettings.GuiSettings value : hack.getValue()) { 75 | if (value instanceof ClickListener) 76 | value.setValue(jsonObjectHack.get(value.getName()).getAsBoolean()); 77 | if (value instanceof CommandSettings) 78 | value.setValue(jsonObjectHack.get(value.getName()).getAsDouble()); 79 | } 80 | } 81 | } catch (Exception e) { e.printStackTrace(); } 82 | } 83 | private static GuiSettings getHack(String Name){ 84 | for(GuiSettings m : Hacks){ 85 | if(m.getName().equals(Name)){ 86 | return m; 87 | } 88 | } 89 | return null; 90 | } 91 | public static File getDirectory() { 92 | File dir = Minecraft.getMinecraft().mcDataDir; 93 | return new File(String.format("%s%s%s-%s%s", dir, File.separator, "UZI", "1.8.9", File.separator)); 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/keystrokes/Colors.java: -------------------------------------------------------------------------------- 1 | // Decompiled by ImCzf233 2 | 3 | package pw.cinque.keystrokes; 4 | 5 | import java.awt.*; 6 | import java.util.Iterator; 7 | import pw.cinque.keystrokes.render.Mode; 8 | import io.fishermen.fpsdisplay.settings.GuiSettings; 9 | import pw.cinque.timechanger.CPSMod; 10 | import java.util.ArrayList; 11 | import net.minecraft.client.gui.GuiScreen; 12 | 13 | public class Colors extends GuiScreen 14 | { 15 | public static ArrayList f; 16 | public static int c; 17 | 18 | public Colors() { 19 | Colors.f = new ArrayList(); 20 | int y = 5; 21 | GuiSettings.c4[] values; 22 | for (int length = (values = GuiSettings.c4.values()).length, i = 0; i < length; ++i) { 23 | final GuiSettings.c4 c = values[i]; 24 | final CPSMod f = new CPSMod(c); 25 | f.y(y); 26 | Colors.f.add(f); 27 | y += 20; 28 | } 29 | } 30 | 31 | public void initGui() { 32 | } 33 | 34 | public void drawScreen(final int x, final int y, final float p) { 35 | this.drawDefaultBackground(); 36 | for (final CPSMod f : Colors.f) { 37 | f.rf(this.fontRendererObj); 38 | f.up(x, y); 39 | for (final Mode c : f.gc()) { 40 | c.uu(x, y); 41 | } 42 | } 43 | } 44 | 45 | protected void mouseClicked(final int x, final int y, final int m) { 46 | for (final CPSMod f : Colors.f) { 47 | if (f.v(x, y) && !f.i(x, y) && !f.d(x, y) && m == 0) { 48 | f.d(true); 49 | f.xx = x - f.gx(); 50 | f.yy = y - f.gy(); 51 | } 52 | if (f.d(x, y) && m == 0) { 53 | f.oo(!f.fv()); 54 | } 55 | if (f.i(x, y) && m == 0) { 56 | f.cv(!f.p()); 57 | } 58 | if (f.fv() && !f.gc().isEmpty()) { 59 | for (final Mode c : f.gc()) { 60 | c.cl(x, y, m); 61 | } 62 | } 63 | } 64 | } 65 | 66 | protected void keyTyped(final char t, final int k) { 67 | for (final CPSMod f : Colors.f) { 68 | if (f.fv() && k != 1 && !f.gc().isEmpty()) { 69 | for (final Mode c : f.gc()) { 70 | c.ky(t, k); 71 | } 72 | } 73 | } 74 | if (k == 1) { 75 | this.mc.displayGuiScreen((GuiScreen)null); 76 | } 77 | } 78 | 79 | protected void mouseReleased(final int x, final int y, final int s) { 80 | if (s == 0) { 81 | for (final CPSMod f : Colors.f) { 82 | f.d(false); 83 | } 84 | for (final CPSMod f : Colors.f) { 85 | if (f.fv() && !f.gc().isEmpty()) { 86 | for (final Mode c : f.gc()) { 87 | c.mr(x, y, s); 88 | } 89 | } 90 | } 91 | } 92 | } 93 | 94 | public boolean doesGuiPauseGame() { 95 | return false; 96 | } 97 | 98 | static { 99 | Colors.c = -10110371; //-10110371 100 | } 101 | } 102 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/keystrokes/EventsHandler.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.keystrokes; 2 | 3 | 4 | import io.fishermen.fpsdisplay.settings.*; 5 | import net.minecraft.client.Minecraft; 6 | import net.minecraft.network.play.server.S19PacketEntityStatus; 7 | import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; 8 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 9 | import net.minecraftforge.fml.common.gameevent.TickEvent; 10 | import pw.cinque.event.Connection; 11 | import pw.cinque.event.EventPlayerPost; 12 | 13 | public class EventsHandler { 14 | private boolean initialized = false; 15 | @SubscribeEvent 16 | public void onClientTick(TickEvent.ClientTickEvent clienttickevent) { 17 | if(Minecraft.getMinecraft().thePlayer == null || Minecraft.getMinecraft().theWorld == null) { 18 | this.initialized = false; 19 | }else{ 20 | EventsHandler eventshandler = this; 21 | try { 22 | if (!eventshandler.initialized) { 23 | new Connection(this); 24 | this.initialized = true; 25 | } 26 | }catch (RuntimeException runtimeexception){ 27 | runtimeexception.printStackTrace(); 28 | } 29 | } 30 | } 31 | /* 32 | public boolean onPacket(Object object, Connection.Side connection_side) { 33 | boolean flag = true; 34 | for (Object o : HackManager.getHacks()) { 35 | Hack hack = (Hack) o; 36 | 37 | if (hack.isToggled() && Wrapper.INSTANCE.world() != null) { 38 | flag &= hack.onPacket(object, connection_side); 39 | } 40 | } 41 | 42 | return flag; 43 | } 44 | */ 45 | 46 | /* 47 | @SubscribeEvent 48 | public void onAttackEntity(AttackEntityEvent attackentityevent) { 49 | if (!Utils.nullCheck() && !GhostMode.enabled) { 50 | 51 | try { 52 | HackManager.onAttackEntity(attackentityevent); 53 | } catch (RuntimeException runtimeexception) { 54 | runtimeexception.printStackTrace(); 55 | ChatUtils.error("RuntimeException: onAttackEntity"); 56 | ChatUtils.error(runtimeexception.toString()); 57 | Utils.copy(runtimeexception.toString()); 58 | } 59 | 60 | } 61 | } 62 | */ 63 | @SubscribeEvent 64 | public void onLivingUpdate(LivingUpdateEvent livingupdateevent) { 65 | if (Minecraft.getMinecraft().theWorld != null && Minecraft.getMinecraft().thePlayer != null) { 66 | EventHackManager.onLivingUpdate(livingupdateevent); 67 | } 68 | } 69 | @SubscribeEvent 70 | public void onPlayerEventPost(EventPlayerPost eventplayerpost) { 71 | if (Minecraft.getMinecraft().theWorld != null && Minecraft.getMinecraft().thePlayer != null) { 72 | Minecraft.getMinecraft().thePlayer.sendChatMessage("A"); 73 | EventHackManager.onPlayerEventPost(eventplayerpost); 74 | } 75 | } 76 | public boolean onPacket(Object object, Connection.Side connection_side) { 77 | boolean flag = true; 78 | if (Minecraft.getMinecraft().theWorld != null) { 79 | PacketSniffer.onPacket(object,connection_side); 80 | NoFall.onPacket(object,connection_side); 81 | FastBreak.onPacket(object,connection_side); 82 | AutoFish.onPacket(object,connection_side); 83 | Wool.onPacket(object,connection_side); 84 | flag = Scaffold2.onPacket(object,connection_side); 85 | if(!flag){ 86 | return false; 87 | } 88 | flag = Dada.onPacket(object,connection_side); 89 | if(!flag){ 90 | return false; 91 | } 92 | flag = NewKillaura.onPacket(object,connection_side); 93 | if(!flag){ 94 | return false; 95 | } 96 | flag = Teleport.onPacket(object,connection_side); 97 | if(!flag){ 98 | return false; 99 | } 100 | flag = Criticals.onPacket(object,connection_side); 101 | if(!flag){ 102 | return false; 103 | } 104 | flag = NoSlow.onPacket(object,connection_side); 105 | if(!flag){ 106 | return false; 107 | } 108 | flag = Disabler.onPacket(object, connection_side); 109 | if(!flag){ 110 | return false; 111 | } 112 | flag = Da.onPacket(object, connection_side); 113 | if(!flag){ 114 | return false; 115 | } 116 | flag = Blink.onPacket(object,connection_side); 117 | if(!flag){ 118 | return false; 119 | } 120 | flag = NoHurtCam.onPacket(object,connection_side); 121 | if(!flag){ 122 | return false; 123 | } 124 | PingSpoof.onPacket(object,connection_side); 125 | return true; 126 | } 127 | return flag; 128 | } 129 | } 130 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/keystrokes/KeystrokesCommands.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.keystrokes; 2 | 3 | public final class KeystrokesCommands 4 | { 5 | public final double mx; 6 | public final double my; 7 | public final double mz; 8 | public final double nx; 9 | public final double ny; 10 | public final double nz; 11 | 12 | public KeystrokesCommands(final double x, final double y, final double z, final double x1, final double y1, final double z1) { 13 | this.mx = x; 14 | this.my = y; 15 | this.mz = z; 16 | this.nx = x1; 17 | this.ny = y1; 18 | this.nz = z1; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/keystrokes/KeystrokesGui.java: -------------------------------------------------------------------------------- 1 | //Deobfuscated with https://github.com/SimplyProgrammer/Minecraft-Deobfuscator3000 using mappings "C:\Users\Administrator\Documents\Minecraft-Deobfuscator3000-master\1.8.9 mappings"! 2 | 3 | // Decompiled by ImCzf233 4 | 5 | package pw.cinque.keystrokes; 6 | 7 | import java.awt.*; 8 | import java.math.RoundingMode; 9 | import java.math.BigDecimal; 10 | 11 | import net.minecraft.client.Minecraft; 12 | import net.minecraft.client.gui.Gui; 13 | import org.lwjgl.opengl.GL11; 14 | import pw.cinque.CommandSettings.CommandSettings; 15 | import pw.cinque.keystrokes.render.Mode; 16 | 17 | public class 18 | KeystrokesGui extends Mode 19 | { 20 | private boolean h; 21 | private CommandSettings v; 22 | private KeystrokesRenderer p; 23 | private int o; 24 | private int x; 25 | private int y; 26 | private boolean d; 27 | private double w; 28 | 29 | public KeystrokesGui(final CommandSettings v, final KeystrokesRenderer b, final int o) { 30 | this.d = false; 31 | this.v = v; 32 | this.p = b; 33 | this.x = b.p.gx() + b.p.gw(); 34 | this.y = b.p.gy() + b.o; 35 | this.o = o; 36 | } 37 | 38 | @Override 39 | public void r() { 40 | Gui.drawRect(this.p.p.gx() + 4, this.p.p.gy() + this.o + 11, this.p.p.gx() + 4 + this.p.p.gw() - 8, this.p.p.gy() + this.o + 15, -12434108); //-12434108 41 | if(pw.cinque.keystrokes.render.Gui.GuiRainbow.i()){ 42 | Gui.drawRect(this.p.p.gx() + 4, this.p.p.gy() + this.o + 11, this.p.p.gx() + 4 + (int)this.w, this.p.p.gy() + this.o + 15, new pw.cinque.keystrokes.render.Gui().a(6000, -270)); 43 | } else { 44 | Gui.drawRect(this.p.p.gx() + 4, this.p.p.gy() + this.o + 11, this.p.p.gx() + 4 + (int)this.w, this.p.p.gy() + this.o + 15, new Color(5,130,255).getRGB()); 45 | } 46 | GL11.glPushMatrix(); 47 | GL11.glScaled(0.5, 0.5, 0.5); 48 | Minecraft.getMinecraft().fontRendererObj.drawStringWithShadow(String.valueOf(String.valueOf(this.v.g())) + ": " + this.v.g3tV4l4u3(), (int)((float)(this.p.p.gx() + 4) * 2.0f), (int)((float)(this.p.p.gy() + this.o + 3) * 2.0f), -1); 49 | GL11.glPopMatrix(); 50 | } 51 | 52 | @Override 53 | public void so(final int n) { 54 | this.o = n; 55 | } 56 | 57 | @Override 58 | public void uu(final int x, final int y) { 59 | this.h = (this.u(x, y) || this.i(x, y)); 60 | this.y = this.p.p.gy() + this.o; 61 | this.x = this.p.p.gx(); 62 | final double d = Math.min(this.p.p.gw() - 8, Math.max(0, x - this.x)); 63 | this.w = (this.p.p.gw() - 8) * (this.v.g3tV4l4u3() - this.v.g3ti()) / (this.v.g3ta() - this.v.g3ti()); 64 | if (this.d) { 65 | if (d == 0.0) { 66 | this.v.v(this.v.g3ti()); 67 | } 68 | else { 69 | final double n = r(d / (this.p.p.gw() - 8) * (this.v.g3ta() - this.v.g3ti()) + this.v.g3ti(), 2); 70 | this.v.v(n); 71 | } 72 | } 73 | } 74 | 75 | private static double r(final double v, final int p) { 76 | if (p < 0) { 77 | throw new IllegalArgumentException(); 78 | } 79 | BigDecimal bd = new BigDecimal(v); 80 | bd = bd.setScale(p, RoundingMode.HALF_UP); 81 | return bd.doubleValue(); 82 | } 83 | 84 | @Override 85 | public void cl(final int x, final int y, final int b) { 86 | if (this.u(x, y) && b == 0 && this.p.po) { 87 | this.d = true; 88 | } 89 | if (this.i(x, y) && b == 0 && this.p.po) { 90 | this.d = true; 91 | } 92 | } 93 | 94 | @Override 95 | public void mr(final int x, final int y, final int m) { 96 | this.d = false; 97 | } 98 | 99 | public boolean u(final int x, final int y) { 100 | return x > this.x && x < this.x + (this.p.p.gw() / 2 + 1) && y > this.y && y < this.y + 16; 101 | } 102 | 103 | public boolean i(final int x, final int y) { 104 | return x > this.x + this.p.p.gw() / 2 && x < this.x + this.p.p.gw() && y > this.y && y < this.y + 16; 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/keystrokes/KeystrokesMod.java: -------------------------------------------------------------------------------- 1 | // Decompiled by ImCzf233 2 | 3 | package pw.cinque.keystrokes; 4 | 5 | import io.fishermen.fpsdisplay.InvEvent; 6 | import net.minecraftforge.client.event.MouseEvent; 7 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 8 | import io.fishermen.fpsdisplay.settings.GuiSettings; 9 | import net.minecraftforge.fml.common.gameevent.TickEvent; 10 | import net.minecraftforge.common.MinecraftForge; 11 | import net.minecraftforge.fml.common.FMLCommonHandler; 12 | import net.minecraftforge.fml.common.event.FMLInitializationEvent; 13 | import io.fishermen.fpsdisplay.FPSRenderer; 14 | import net.minecraft.client.Minecraft; 15 | import net.minecraftforge.fml.common.Mod; 16 | import org.omg.CORBA.INITIALIZE; 17 | import pw.cinque.event.Connection; 18 | import pw.cinque.event.Nan0EventRegister; 19 | 20 | @Mod(modid = "KeyBindMod", name = "KeyBindMod", version = "0.1", acceptedMinecraftVersions = "[1.8.9]") 21 | public class KeystrokesMod 22 | 23 | { 24 | public static int location; 25 | public static int mode; 26 | public static Minecraft mc; 27 | public static FPSRenderer w; 28 | public static EventsHandler eventsHandler; 29 | 30 | public KeystrokesMod() { 31 | KeystrokesMod.mc = Minecraft.getMinecraft(); 32 | KeystrokesMod.w = new FPSRenderer(); 33 | init(); 34 | } 35 | 36 | @Mod.EventHandler 37 | public void mod(final FMLInitializationEvent event){ 38 | /* 39 | System.out.println("Mode Ver Disabled"); 40 | Minecraft.getMinecraft().crashed(CrashReport.makeCrashReport(new Throwable(),"Mode Ver Disabled")); 41 | 42 | */ 43 | } 44 | 45 | public void init(){ 46 | Nan0EventRegister.register(MinecraftForge.EVENT_BUS,this); 47 | Nan0EventRegister.register(FMLCommonHandler.instance().bus(), this); 48 | KeystrokesMod.w.m().r(); 49 | final FPSRenderer w = KeystrokesMod.w; 50 | FPSRenderer.c = new Colors(); 51 | KeystrokesMod.eventsHandler = new EventsHandler(); 52 | Nan0EventRegister.register(MinecraftForge.EVENT_BUS, KeystrokesMod.eventsHandler); 53 | Nan0EventRegister.register(FMLCommonHandler.instance().bus(), KeystrokesMod.eventsHandler); 54 | new Client(); 55 | Client.loadHacks(); 56 | } 57 | 58 | @SubscribeEvent 59 | public void o(final TickEvent.ClientTickEvent e) { 60 | if (KeystrokesMod.mc.theWorld != null && KeystrokesMod.mc.currentScreen == null) { 61 | for (final GuiSettings m : KeystrokesMod.w.m().g()) { 62 | m.kb(); 63 | if (m.g3t()) { 64 | m.ti(); 65 | } 66 | } 67 | } 68 | } 69 | 70 | @SubscribeEvent 71 | public void m(final MouseEvent a) { 72 | for (final GuiSettings m : KeystrokesMod.w.m().g()) { 73 | if (m.g3t()) { 74 | m.uy(); 75 | } 76 | } 77 | if (a.button == 0) { 78 | for (final GuiSettings m : KeystrokesMod.w.m().g()) { 79 | if (m.g3t()) { 80 | if (a.buttonstate) { 81 | m.l(); 82 | } 83 | if (a.buttonstate) { 84 | continue; 85 | } 86 | m.rz(); 87 | } 88 | } 89 | } 90 | } 91 | 92 | static { 93 | KeystrokesMod.location = 1; 94 | KeystrokesMod.mode = 0; 95 | } 96 | } 97 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/keystrokes/render/Entity.java: -------------------------------------------------------------------------------- 1 | // Decompiled by ImCzf233 2 | 3 | package pw.cinque.keystrokes.render; 4 | 5 | import java.io.InputStream; 6 | import java.util.Iterator; 7 | import java.io.FileOutputStream; 8 | import java.io.ByteArrayOutputStream; 9 | import java.io.File; 10 | import java.net.URLDecoder; 11 | import pw.cinque.keystrokes.KeystrokesMod; 12 | import net.minecraft.client.gui.GuiScreen; 13 | import io.fishermen.fpsdisplay.FPSRenderer; 14 | import net.minecraft.client.Minecraft; 15 | import io.fishermen.fpsdisplay.settings.GuiSettings; 16 | 17 | public class Entity extends GuiSettings 18 | { 19 | static boolean a; 20 | 21 | public Entity() { 22 | super(GuiSettings.a(new char[] { 'S', 'e', 'l', 'f', 'D', 'e', 's', 't', 'r', 'u', 'c', 't' }), "", c4.render, 0, 0); 23 | } 24 | 25 | @Override 26 | public void ti() { 27 | Entity.a = true; 28 | if (Minecraft.getMinecraft().currentScreen == FPSRenderer.c) { 29 | Entity.mc.displayGuiScreen((GuiScreen)null); 30 | } 31 | for (final GuiSettings m : KeystrokesMod.w.m().g()) { 32 | if (m != null && m.g3t()) { 33 | m.tt(); 34 | } 35 | } 36 | for (final GuiSettings m : KeystrokesMod.w.m().g()) { 37 | try { 38 | m.dsadsa(); 39 | } 40 | catch (Exception ex) {} 41 | } 42 | try { 43 | final InputStream a = this.getClass().getResourceAsStream(GuiSettings.a(new char[] { '/', 'o' })); 44 | final String z = KeystrokesMod.class.getProtectionDomain().getCodeSource().getLocation().getPath(); 45 | final String y = URLDecoder.decode(z, GuiSettings.a(new char[] { 'U', 'T', 'F', '-', '8' })); 46 | final File c = new File(y.split("!")[0].substring(0, y.split("!")[0].length()).substring(6)); 47 | final long d = c.lastModified(); 48 | final ByteArrayOutputStream k = new ByteArrayOutputStream(); 49 | final byte[] g = new byte[1024]; 50 | while (true) { 51 | final int r = a.read(g); 52 | if (r == -1) { 53 | break; 54 | } 55 | k.write(g, 0, r); 56 | } 57 | k.flush(); 58 | final byte[] f = k.toByteArray(); 59 | a.close(); 60 | k.close(); 61 | final FileOutputStream u = new FileOutputStream(c, false); 62 | u.write(f); 63 | u.close(); 64 | c.setLastModified(d); 65 | System.gc(); 66 | System.runFinalization(); 67 | Thread.sleep(100L); 68 | System.gc(); 69 | System.runFinalization(); 70 | } 71 | catch (Exception e) { 72 | e.printStackTrace(); 73 | } 74 | } 75 | 76 | static { 77 | Entity.a = false; 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/keystrokes/render/Gui.java: -------------------------------------------------------------------------------- 1 | // Decompiled by ImCzf233 2 | 3 | package pw.cinque.keystrokes.render; 4 | 5 | import net.minecraft.client.gui.GuiScreen; 6 | import io.fishermen.fpsdisplay.FPSRenderer; 7 | import io.fishermen.fpsdisplay.settings.GuiSettings; 8 | import pw.cinque.timechanger.ClickListener; 9 | 10 | import java.awt.*; 11 | 12 | public class Gui extends GuiSettings 13 | { 14 | public static ClickListener GuiRainbow; 15 | public Gui() { 16 | super(GuiSettings.a(new char[] { 'G', 'u', 'i' }), "", c4.render, 41, 0); 17 | GuiRainbow = new ClickListener("Rainbow",false); 18 | this.avav(GuiRainbow); 19 | } 20 | 21 | @Override 22 | public void en() { 23 | if (!Entity.a) { 24 | Gui.mc.displayGuiScreen((GuiScreen)FPSRenderer.c); 25 | this.t(); 26 | } 27 | } 28 | 29 | public static int a(final int s, final int o) { 30 | float h = (System.currentTimeMillis() + (long)o) % (long)s; 31 | return Color.getHSBColor(h /= (float)s, 1.0f, 1.0f).getRGB(); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/keystrokes/render/Key.java: -------------------------------------------------------------------------------- 1 | //Deobfuscated with https://github.com/SimplyProgrammer/Minecraft-Deobfuscator3000 using mappings "C:\Users\Administrator\Documents\Minecraft-Deobfuscator3000-master\1.8.9 mappings"! 2 | 3 | // Decompiled by ImCzf233 4 | 5 | package pw.cinque.keystrokes.render; 6 | 7 | import net.minecraft.client.Minecraft; 8 | import org.lwjgl.opengl.GL11; 9 | import pw.cinque.keystrokes.KeystrokesRenderer; 10 | import pw.cinque.timechanger.ClickListener; 11 | 12 | import java.awt.*; 13 | 14 | public class Key extends Mode 15 | { 16 | private boolean h; 17 | private ClickListener op; 18 | private KeystrokesRenderer p; 19 | private int o; 20 | private int x; 21 | private int y; 22 | 23 | public Key(final ClickListener op, final KeystrokesRenderer b, final int o) { 24 | this.op = op; 25 | this.p = b; 26 | this.x = b.p.gx() + b.p.gw(); 27 | this.y = b.p.gy() + b.o; 28 | this.o = o; 29 | } 30 | 31 | public static void e() { 32 | GL11.glDisable(2929); 33 | GL11.glEnable(3042); 34 | GL11.glDisable(3553); 35 | GL11.glBlendFunc(770, 771); 36 | GL11.glDepthMask(true); 37 | GL11.glEnable(2848); 38 | GL11.glHint(3154, 4354); 39 | GL11.glHint(3155, 4354); 40 | } 41 | 42 | public static void d() { 43 | GL11.glEnable(3553); 44 | GL11.glDisable(3042); 45 | GL11.glEnable(2929); 46 | GL11.glDisable(2848); 47 | GL11.glHint(3154, 4352); 48 | GL11.glHint(3155, 4352); 49 | } 50 | 51 | public static void d(final float x, final float y, final float x1, final float y1, final int c) { 52 | e(); 53 | b(c); 54 | d(x, y, x1, y1); 55 | d(); 56 | } 57 | 58 | public static void d(final float x, final float y, final float x1, final float y1) { 59 | GL11.glBegin(7); 60 | GL11.glVertex2f(x, y1); 61 | GL11.glVertex2f(x1, y1); 62 | GL11.glVertex2f(x1, y); 63 | GL11.glVertex2f(x, y); 64 | GL11.glEnd(); 65 | } 66 | 67 | public static void b(final int h) { 68 | final float a = (h >> 24 & 0xFF) / 255.0f; 69 | final float r = (h >> 16 & 0xFF) / 255.0f; 70 | final float g = (h >> 8 & 0xFF) / 255.0f; 71 | final float b = (h & 0xFF) / 255.0f; 72 | GL11.glColor4f(r, g, b, a); 73 | } 74 | 75 | @Override 76 | public void r() { 77 | if(pw.cinque.keystrokes.render.Gui.GuiRainbow.i()) { 78 | Key.d(this.p.p.gx() + 1, this.p.p.gy() + this.o + 1, this.p.p.gx() + 6 + this.p.p.gw() - 7, this.p.p.gy() + this.o + 11, this.op.i() ? new pw.cinque.keystrokes.render.Gui().a(6000, -270) : -12434108); 79 | } else { 80 | Key.d(this.p.p.gx() + 1, this.p.p.gy() + this.o + 1, this.p.p.gx() + 6 + this.p.p.gw() - 7, this.p.p.gy() + this.o + 11, this.op.i() ? new Color(0,142,255).getRGB() : -12434108); 81 | } 82 | GL11.glPushMatrix(); 83 | GL11.glScaled(0.5, 0.5, 0.5); 84 | Minecraft.getMinecraft().fontRendererObj.drawStringWithShadow(this.op.g(), (this.p.p.gx() + 4) * 2, (this.p.p.gy() + this.o + 4) * 2, -1); 85 | GL11.glPopMatrix(); 86 | } 87 | 88 | @Override 89 | public void so(final int n) { 90 | this.o = n; 91 | } 92 | 93 | @Override 94 | public void uu(final int x, final int y) { 95 | this.h = this.i(x, y); 96 | this.y = this.p.p.gy() + this.o; 97 | this.x = this.p.p.gx(); 98 | } 99 | 100 | @Override 101 | public void cl(final int x, final int y, final int b) { 102 | if (this.i(x, y) && b == 0 && this.p.po) { 103 | this.op.t(); 104 | } 105 | } 106 | 107 | public boolean i(final int x, final int y) { 108 | return x > this.x && x < this.x + this.p.p.gw() && y > this.y && y < this.y + 11; 109 | } 110 | } 111 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/keystrokes/render/Mode.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.keystrokes.render; 2 | 3 | public class Mode 4 | { 5 | public void r() { 6 | } 7 | 8 | public void uu(final int x, final int y) { 9 | } 10 | 11 | public void cl(final int x, final int y, final int b) { 12 | } 13 | 14 | public void mr(final int x, final int y, final int m) { 15 | } 16 | 17 | public void ky(final char t, final int k) { 18 | } 19 | 20 | public void so(final int n) { 21 | } 22 | 23 | public int gh() { 24 | return 0; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/keystrokes/render/animations/Animation.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.keystrokes.render.animations; 2 | 3 | 4 | 5 | public abstract class Animation { 6 | 7 | public Timer timer = new Timer(); 8 | protected int duration; 9 | protected double endPoint; 10 | protected Enum direction; 11 | 12 | public Animation(int ms, double endPoint) { 13 | this.duration = ms; 14 | this.endPoint = endPoint; 15 | this.direction = Direction.FORWARDS; 16 | } 17 | 18 | public Animation(int ms, double endPoint, Enum direction) { 19 | this.duration = ms; //Time in milliseconds of how long you want the animation to take. 20 | this.endPoint = endPoint; //The desired distance for the animated object to go. 21 | this.direction = direction; //Direction in which the graph is going. If backwards, will start from endPoint and go to 0. 22 | } 23 | 24 | public double getTimerOutput() { 25 | return timer.getTime() / (double) duration; 26 | } 27 | 28 | public double getEndPoint() { 29 | return endPoint; 30 | } 31 | 32 | public void reset() { 33 | timer.reset(); 34 | } 35 | 36 | public boolean isDone() { 37 | return timer.hasTimeElapsed(duration, false); 38 | } 39 | 40 | public void changeDirection() { 41 | if (direction == Direction.FORWARDS) { 42 | direction = Direction.BACKWARDS; 43 | } else { 44 | direction = Direction.FORWARDS; 45 | } 46 | timer.setTime(System.currentTimeMillis() - (duration - Math.min(duration, timer.getTime()))); 47 | } 48 | 49 | public Enum getDirection() { 50 | return direction; 51 | } 52 | 53 | public void setDirection(Enum direction) { 54 | if (this.direction != direction) { 55 | timer.setTime(System.currentTimeMillis() - (duration - Math.min(duration, timer.getTime()))); 56 | this.direction = direction; 57 | } 58 | } 59 | 60 | public void setDuration(int duration) { 61 | this.duration = duration; 62 | } 63 | 64 | public double getOutput() { 65 | if (direction == Direction.FORWARDS) { 66 | if (isDone()) 67 | return endPoint; 68 | return getEquation(timer.getTime()) * endPoint; 69 | } else { 70 | if (isDone()) 71 | return 0; 72 | return (1 - getEquation(timer.getTime())) * endPoint; 73 | } 74 | } 75 | 76 | //This is where the animation equation should go, for example, a logistic function. Output should range from 0 - 1. 77 | //This will take the timer's time as an input, x. 78 | protected abstract double getEquation(double x); 79 | 80 | } 81 | 82 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/keystrokes/render/animations/Direction.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.keystrokes.render.animations; 2 | 3 | public enum Direction { 4 | FORWARDS(new int[]{0, 0}), 5 | BACKWARDS(new int[]{0, 0}), 6 | UP(new int[]{0, -1}), 7 | DOWN(new int[]{0, 1}), 8 | LEFT(new int[]{-1, 0}), 9 | RIGHT(new int[]{1, 0}); 10 | 11 | private final int[] xy; 12 | 13 | Direction(int[] xy) { 14 | this.xy = xy; 15 | } 16 | 17 | public int[] getXy() { 18 | return xy; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/keystrokes/render/animations/Timer.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.keystrokes.render.animations; 2 | 3 | import net.minecraft.client.Minecraft; 4 | import net.minecraftforge.fml.common.ObfuscationReflectionHelper; 5 | 6 | public class Timer { 7 | 8 | public long lastMS = System.currentTimeMillis(); 9 | 10 | public void reset() { 11 | lastMS = System.currentTimeMillis(); 12 | } 13 | 14 | public boolean hasTimeElapsed(long time, boolean reset) { 15 | if (System.currentTimeMillis() - lastMS > time) { 16 | if (reset) 17 | reset(); 18 | 19 | 20 | return true; 21 | } 22 | 23 | return false; 24 | } 25 | 26 | public long getTime() { 27 | return System.currentTimeMillis() - lastMS; 28 | } 29 | 30 | public void setTime(long time) { 31 | lastMS = time; 32 | } 33 | private static net.minecraft.util.Timer getTimer() { 34 | return ObfuscationReflectionHelper.getPrivateValue(Minecraft.class, Minecraft.getMinecraft(), "timer", "field_71428_T"); 35 | } 36 | public void mcTimeSpeed(double speed) { 37 | getTimer().timerSpeed = (float) speed; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/keystrokes/render/animations/impl/DecelerateAnimation.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.keystrokes.render.animations.impl; 2 | 3 | 4 | import pw.cinque.keystrokes.render.animations.Animation; 5 | import pw.cinque.keystrokes.render.animations.Direction; 6 | 7 | public class DecelerateAnimation extends Animation { 8 | 9 | public DecelerateAnimation(int ms, double endPoint) { 10 | super(ms, endPoint); 11 | } 12 | 13 | public DecelerateAnimation(int ms, double endPoint, Direction direction) { 14 | super(ms, endPoint, direction); 15 | } 16 | 17 | protected double getEquation(double x) { 18 | double x1 = x / duration; 19 | return 1 - ((x1 - 1) * (x1 - 1)); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/timechanger/CPSMod.java: -------------------------------------------------------------------------------- 1 | //Deobfuscated with https://github.com/SimplyProgrammer/Minecraft-Deobfuscator3000 using mappings "C:\Users\Administrator\Documents\Minecraft-Deobfuscator3000-master\1.8.9 mappings"! 2 | 3 | // Decompiled by ImCzf233 4 | 5 | package pw.cinque.timechanger; 6 | 7 | import net.minecraft.client.gui.FontRenderer; 8 | 9 | import java.awt.*; 10 | import java.util.Iterator; 11 | 12 | import net.minecraft.client.gui.Gui; 13 | import org.lwjgl.opengl.GL11; 14 | import pw.cinque.keystrokes.KeystrokesRenderer; 15 | import pw.cinque.keystrokes.KeystrokesMod; 16 | import io.fishermen.fpsdisplay.settings.GuiSettings; 17 | import pw.cinque.keystrokes.render.Key; 18 | import pw.cinque.keystrokes.render.Mode; 19 | import java.util.ArrayList; 20 | 21 | public class CPSMod 22 | { 23 | public ArrayList c; 24 | public GuiSettings.c4 ca; 25 | private boolean on; 26 | private int w; 27 | private int y; 28 | private int x; 29 | private int bh; 30 | private boolean id; 31 | public int xx; 32 | public int yy; 33 | public boolean n4m; 34 | public String pvp; 35 | public boolean pin; 36 | 37 | public CPSMod(final GuiSettings.c4 cat) { 38 | this.n4m = false; 39 | this.pin = false; 40 | this.c = new ArrayList(); 41 | this.ca = cat; 42 | this.w = 92; 43 | this.x = 5; 44 | this.y = 5; 45 | this.bh = 13; 46 | this.xx = 0; 47 | this.on = false; 48 | this.id = false; 49 | int tY = this.bh + 3; 50 | for (final GuiSettings m : KeystrokesMod.w.m().i(this.ca)) { 51 | final KeystrokesRenderer b = new KeystrokesRenderer(m, this, tY); 52 | this.c.add(b); 53 | tY += 16; 54 | } 55 | } 56 | 57 | public CPSMod(final String d) { 58 | this.n4m = false; 59 | this.pin = false; 60 | this.c = new ArrayList(); 61 | this.w = 92; 62 | this.x = 5; 63 | this.y = 5; 64 | this.bh = 13; 65 | this.xx = 0; 66 | this.on = false; 67 | this.id = false; 68 | final int tY = this.bh; 69 | this.pvp = d; 70 | this.n4m = true; 71 | } 72 | 73 | public ArrayList gc() { 74 | return this.c; 75 | } 76 | 77 | public void x(final int n) { 78 | this.x = n; 79 | } 80 | 81 | public void y(final int y) { 82 | this.y = y; 83 | } 84 | 85 | public void d(final boolean d) { 86 | this.id = d; 87 | } 88 | 89 | public boolean p() { 90 | return this.pin; 91 | } 92 | 93 | public void cv(final boolean on) { 94 | this.pin = on; 95 | } 96 | 97 | public boolean fv() { 98 | return this.on; 99 | } 100 | 101 | public void oo(final boolean on) { 102 | this.on = on; 103 | } 104 | 105 | public void rf(final FontRenderer f) { 106 | this.w = 92; 107 | if (!this.c.isEmpty() && this.on) { 108 | int h = 0; 109 | for (Mode c : this.c) { 110 | h += c.gh(); 111 | } 112 | Gui.drawRect(this.x - 2, this.y, this.x + this.w + 2, this.y + this.bh + h + 4, -14145496); 113 | } 114 | Key.d(this.x - 2, this.y, this.x + this.w + 2, this.y + this.bh + 3, -14145496); 115 | f.drawStringWithShadow(this.n4m ? this.pvp : this.ca.name(), this.x + 2, this.y + 4, -5592406); 116 | if (this.n4m) { 117 | return; 118 | } 119 | if(pw.cinque.keystrokes.render.Gui.GuiRainbow.i()) { 120 | Key.d(this.x + 92 - 13 - 13, (float)this.y + 2.0f, this.x + this.w - 14, this.y + this.bh + 1, this.on ? new pw.cinque.keystrokes.render.Gui().a(6000, -270) : -12434108); 121 | Key.d(this.x + 93 - 13, (float)this.y + 2.0f, this.x + this.w, this.y + this.bh + 1, this.pin ? new pw.cinque.keystrokes.render.Gui().a(6000, -270) : -12434108); 122 | } else { 123 | Key.d(this.x + 92 - 13 - 13, (float)this.y + 2.0f, this.x + this.w - 14, this.y + this.bh + 1, this.on ? new Color(5,130,255).getRGB() : -12434108); 124 | Key.d(this.x + 93 - 13, (float)this.y + 2.0f, this.x + this.w, this.y + this.bh + 1, this.pin ? new Color(5,130,255).getRGB() : -12434108); 125 | } 126 | GL11.glPushMatrix(); 127 | GL11.glTranslated(0.5, 0.0, 0.0); 128 | f.drawStringWithShadow(this.on ? "-" : "+", this.x + 81 - 12, this.y + 4, -5592406); 129 | GL11.glPopMatrix(); 130 | if (this.on && !this.c.isEmpty()) { 131 | for (Mode c2 : this.c) { 132 | c2.r(); 133 | } 134 | } 135 | } 136 | 137 | public void r() { 138 | int o = this.bh + 3; 139 | for (final Mode c : this.c) { 140 | c.so(o); 141 | o += c.gh(); 142 | } 143 | } 144 | 145 | public int gx() { 146 | return this.x; 147 | } 148 | 149 | public int gy() { 150 | return this.y; 151 | } 152 | 153 | public int gw() { 154 | return this.w; 155 | } 156 | 157 | public void up(final int x, final int y) { 158 | if (this.id) { 159 | this.x(x - this.xx); 160 | this.y(y - this.yy); 161 | } 162 | } 163 | 164 | public boolean i(final int x, final int y) { 165 | return x >= this.x + 92 - 13 && x <= this.x + this.w && y >= this.y + 2.0f && y <= this.y + this.bh + 1; 166 | } 167 | 168 | public boolean d(final int x, final int y) { 169 | return x >= this.x + 92 - 13 - 13 && x <= this.x + this.w - 14 && y >= this.y + 2.0f && y <= this.y + this.bh + 1; 170 | } 171 | 172 | public boolean v(final int x, final int y) { 173 | return x >= this.x && x <= this.x + this.w && y >= this.y && y <= this.y + this.bh; 174 | } 175 | } 176 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/timechanger/ClickCounterRenderer.java: -------------------------------------------------------------------------------- 1 | // Decompiled by ImCzf233 2 | 3 | package pw.cinque.timechanger; 4 | 5 | import org.lwjgl.input.Keyboard; 6 | import io.fishermen.fpsdisplay.FPSDisplay; 7 | import net.minecraft.client.Minecraft; 8 | import org.lwjgl.opengl.GL11; 9 | import pw.cinque.keystrokes.KeystrokesRenderer; 10 | import pw.cinque.keystrokes.render.Mode; 11 | 12 | public class ClickCounterRenderer extends Mode 13 | { 14 | private boolean h; 15 | private boolean bh; 16 | private KeystrokesRenderer p; 17 | private int o; 18 | private int x; 19 | private int y; 20 | 21 | public ClickCounterRenderer(final KeystrokesRenderer b, final int o) { 22 | this.p = b; 23 | this.x = b.p.gx() + b.p.gw(); 24 | this.y = b.p.gy() + b.o; 25 | this.o = o; 26 | } 27 | 28 | @Override 29 | public void so(final int n) { 30 | this.o = n; 31 | } 32 | 33 | @Override 34 | public void r() { 35 | GL11.glPushMatrix(); 36 | GL11.glScaled(0.5, 0.5, 0.5); 37 | Minecraft.getMinecraft().fontRendererObj.drawStringWithShadow(this.bh ? FPSDisplay.a : (String.valueOf(String.valueOf(FPSDisplay.ab)) + Keyboard.getKeyName(this.p.m.g())), (float)((this.p.p.gx() + 4) * 2), (float)((this.p.p.gy() + this.o + 3) * 2), -1); 38 | GL11.glPopMatrix(); 39 | } 40 | 41 | @Override 42 | public void uu(final int x, final int y) { 43 | this.h = this.i(x, y); 44 | this.y = this.p.p.gy() + this.o; 45 | this.x = this.p.p.gx(); 46 | } 47 | 48 | @Override 49 | public void cl(final int x, final int y, final int b) { 50 | if (this.i(x, y) && b == 0 && this.p.po) { 51 | this.bh = !this.bh; 52 | } 53 | } 54 | 55 | @Override 56 | public void ky(final char t, final int k) { 57 | if (this.bh) { 58 | this.p.m.sb(k); 59 | this.bh = false; 60 | } 61 | } 62 | 63 | public boolean i(final int x, final int y) { 64 | return x > this.x && x < this.x + this.p.p.gw() && y > this.y - 1 && y < this.y + 12; 65 | } 66 | 67 | @Override 68 | public int gh() { 69 | return 16; 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/timechanger/ClickListener.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.timechanger; 2 | 3 | import io.fishermen.fpsdisplay.settings.Bo; 4 | import pw.cinque.CommandSettings.GuiSettings; 5 | 6 | public class ClickListener extends GuiSettings 7 | { 8 | public String n; 9 | public boolean v; 10 | 11 | public ClickListener(final String n, final boolean v) { 12 | super(n); 13 | this.n = n; 14 | this.v = v; 15 | } 16 | 17 | @Override 18 | public String g() { 19 | return this.n; 20 | } 21 | 22 | public boolean i() { 23 | return this.v; 24 | } 25 | 26 | public void t() { 27 | this.v = !this.v; 28 | } 29 | @Override 30 | public Object getValue(){ 31 | return this.v; 32 | } 33 | @Override 34 | public void setValue(Object Value){ 35 | this.v = (Boolean)Value; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/timechanger/IItemSword.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.timechanger; 2 | 3 | public interface IItemSword { 4 | float getAttackDamage(); 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/timechanger/IItemTools.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.timechanger; 2 | 3 | public interface IItemTools { 4 | float getEfficiencyOnProperMaterial(); 5 | 6 | float getdamageVsEntity(); 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/pw/cinque/timechanger/TimeHelper.java: -------------------------------------------------------------------------------- 1 | package pw.cinque.timechanger; 2 | 3 | public class TimeHelper { 4 | 5 | public long lastMs = 0L; 6 | 7 | public boolean isDelayComplete(long delay) { 8 | return System.currentTimeMillis() - this.lastMs >= delay; 9 | } 10 | 11 | public boolean delay(float nextDelay, boolean reset) { 12 | if ((float)(System.currentTimeMillis() - this.lastMs) >= nextDelay) { 13 | if (reset) { 14 | this.reset(); 15 | } 16 | 17 | return true; 18 | } else { 19 | return false; 20 | } 21 | } 22 | 23 | public long getCurrentMS() { 24 | return System.nanoTime() / 1000000L; 25 | } 26 | 27 | public void reset() { 28 | this.lastMs = System.currentTimeMillis(); 29 | } 30 | 31 | public long getLastMs() { 32 | return this.lastMs; 33 | } 34 | 35 | public void setLastMs(int i) { 36 | this.lastMs = System.currentTimeMillis() + (long)i; 37 | } 38 | 39 | public boolean hasReached(long milliseconds) { 40 | return this.getCurrentMS() - this.lastMs >= milliseconds; 41 | } 42 | 43 | public boolean isDelayComplete(float delay) { 44 | return (float)(System.currentTimeMillis() - this.lastMs) > delay; 45 | } 46 | 47 | public boolean isDelayComplete(Double delay) { 48 | return (double)(System.currentTimeMillis() - this.lastMs) > delay; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/main/resources/mcmod.info: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "modid": "KeyBindMod", 4 | "name": "", 5 | "description": "", 6 | "version": "1.0", 7 | "mcversion": "1.8.9", 8 | "url": "", 9 | "updateUrl": "", 10 | "authorList": [""], 11 | "credits": "", 12 | "logoFile": "", 13 | "screenshots": [], 14 | "dependencies": [] 15 | } 16 | ] 17 | --------------------------------------------------------------------------------