Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.minecraft.src;
- import net.minecraft.client.Minecraft;
- import net.minecraft.src.Achievement;
- import net.minecraft.src.BaseMod;
- import net.minecraft.src.Entity;
- import net.minecraft.src.EntityPlayer;
- import net.minecraft.src.Item;
- import net.minecraft.src.MLProp;
- import net.minecraft.src.MathHelper;
- import net.minecraft.src.ModLoader;
- import net.minecraft.src.PlayerControllerSP;
- import net.minecraft.src.ScaledResolution;
- import net.minecraft.src.TileEntityMobSpawner;
- import net.minecraft.src.World;
- import org.lwjgl.input.Keyboard;
- public class mod_MovePlus extends BaseMod implements Runnable {
- public static int spriteIndex;
- public static String modName = "MovePlus";
- public static World worldRef;
- public static EntityPlayer theplayer;
- public static Minecraft mc;
- public static int timeout;
- public static String msg;
- public static int color;
- public static int defaultColor = 16777215;
- public static int lastKey = 0;
- public static int[] keys;
- public static long[] keyTimes = new long[]{0L, 0L, 0L, 0L, 0L};
- public static boolean[] secondPress = new boolean[]{false, false, false, false, false};
- public static boolean dodged;
- public static boolean doubleJumped;
- public static boolean speedJumped;
- public static long landTime;
- public static boolean lastTickLanded;
- public static long tickCount = 0L;
- public static long timeCount = 0L;
- public static long prevTimeCount = 0L;
- public static boolean toggleKeyPressed = false;
- public static boolean dodgeToggle = true;
- @MLProp
- public static String toggleKey = "Z";
- @MLProp
- public static boolean useDoubleJump = true;
- @MLProp
- public static boolean useGroundDodge = true;
- @MLProp
- public static boolean useWallDodge = true;
- @MLProp
- public static boolean useBoostDodge = true;
- @MLProp
- public static boolean useSpeedJump = true;
- @MLProp
- public static boolean useAirControl = true;
- @MLProp
- public static float dodgeUpForce = 0.4F;
- @MLProp
- public static float doubleJumpForce = 0.5F;
- @MLProp
- public static float dodgeForce = 1.6F;
- public static float fwForce = 0.8F;
- @MLProp
- public static int dodgeMinDelayTime = 7;
- public static Achievement boostdodged;
- @MLProp
- public static boolean speedMining = false;
- @MLProp
- public static boolean dolphinSkills = false;
- @MLProp
- public static float dolphinSpeed = 0.2F;
- @MLProp
- public static float dolphinSpeedMax = 15.0F;
- @MLProp
- public static float airControlSpeed = 0.1F;
- @MLProp
- public static float airControlSpeedMax = 0.15F;
- @MLProp
- public static float speedJumpMax = 0.9F;
- public static boolean superMagicProperty = true;
- public static boolean ingui = false;
- public void run() {
- try {
- while(true) {
- if(mc == null) {
- mc = ModLoader.getMinecraftInstance();
- }
- if(mc == null) {
- Thread.sleep(5000L);
- } else if(mc.thePlayer == null) {
- Thread.sleep(5000L);
- } else {
- worldRef = mc.theWorld;
- theplayer = mc.thePlayer;
- keys = new int[]{mc.gameSettings.keyBindForward.keyCode, mc.gameSettings.keyBindLeft.keyCode, mc.gameSettings.keyBindBack.keyCode, mc.gameSettings.keyBindRight.keyCode, mc.gameSettings.keyBindJump.keyCode};
- Thread.sleep(10000L);
- }
- }
- } catch (Throwable var6) {
- var6.printStackTrace();
- }
- }
- public mod_MovePlus() {
- ingui = false;
- ModLoader.SetInGameHook(this, true, false);
- ModLoader.SetInGUIHook(this, true, false);
- theplayer = null;
- (new Thread(this)).start();
- boostdodged = (new Achievement(456, "boostdodged", 0, 0, Item.feather, (Achievement)null)).registerAchievement();
- ModLoader.AddAchievementDesc(boostdodged, "Boost Dodge", "Perform a Boost Dodge.");
- }
- public static void displayMessage(String var0, int var1) {
- msg = var0;
- timeout = 85;
- color = var1;
- }
- public static void displayMessage(String var0) {
- displayMessage(var0, defaultColor);
- }
- public static void checkKey(int var0) {
- if(useSpeedJump && var0 == 4 && Keyboard.isKeyDown(keys[var0]) && !speedJumped && tickCount - landTime < 3L) {
- double var1 = theplayer.motionY;
- double var3 = Math.sqrt(theplayer.motionX * theplayer.motionX + theplayer.motionZ * theplayer.motionZ);
- if(var3 < (double)speedJumpMax) {
- performMove(keys[var0], false, false, true);
- }
- theplayer.motionY = var1;
- speedJumped = true;
- keyTimes[var0] = tickCount - 500L;
- }
- if(useDoubleJump && var0 == 4 && secondPress[var0] && Keyboard.isKeyDown(keys[var0])) {
- if(!theplayer.onGround && !doubleJumped) {
- if(!doubleJumped) {
- performMove(keys[var0], false, false);
- }
- doubleJumped = true;
- }
- secondPress[var0] = false;
- keyTimes[var0] = tickCount - 500L;
- }
- if(tickCount - keyTimes[var0] < (long)dodgeMinDelayTime && secondPress[var0] && Keyboard.isKeyDown(keys[var0])) {
- if(useBoostDodge && Keyboard.isKeyDown(Keyboard.getKeyIndex("SPACE")) && keyTimes[var0] - keyTimes[4] - 500L < 5L && nearWall(theplayer)) {
- theplayer.triggerAchievement(boostdodged);
- performMove(keys[var0], true, false);
- } else if(dodgeToggle && useWallDodge && (theplayer.onGround || nearWall(theplayer))) {
- performMove(keys[var0], false, false);
- } else if(dodgeToggle && useGroundDodge && !dodged && !doubleJumped) {
- performMove(keys[var0], false, true);
- }
- dodged = true;
- secondPress[var0] = false;
- keyTimes[var0] = tickCount - 500L;
- }
- if(!Keyboard.isKeyDown(keys[var0]) && !secondPress[var0]) {
- secondPress[var0] = true;
- }
- if(Keyboard.isKeyDown(keys[var0]) && secondPress[var0]) {
- secondPress[var0] = false;
- lastKey = keys[var0];
- keyTimes[var0] = tickCount;
- }
- }
- public static boolean nearWall(Entity var0) {
- return var0.worldObj.getCollidingBoundingBoxes(var0, var0.boundingBox.expand(0.2D, 0.0D, 0.2D)).size() > 0;
- }
- public boolean OnTickInGame(Minecraft var1) {
- if(!ingui) {
- this.OSDHook(var1, false);
- }
- ingui = false;
- return true;
- }
- public boolean OnTickInGUI(Minecraft var1, TileEntityMobSpawner var2) {
- ingui = true;
- return true;
- }
- public static void airControl(Entity var0) {
- if(useAirControl && timeCount != worldRef.worldInfo.getWorldTime()) {
- float var1 = 0.0F;
- float var2 = 0.0F;
- if(Keyboard.isKeyDown(mc.gameSettings.keyBindForward.keyCode)) {
- ++var1;
- } else if(Keyboard.isKeyDown(mc.gameSettings.keyBindLeft.keyCode)) {
- --var2;
- } else if(Keyboard.isKeyDown(mc.gameSettings.keyBindBack.keyCode)) {
- --var1;
- } else if(Keyboard.isKeyDown(mc.gameSettings.keyBindRight.keyCode)) {
- ++var2;
- }
- double var3 = Math.sqrt(var0.motionX * var0.motionX + var0.motionZ * var0.motionZ);
- if(dolphinSkills && theplayer.isInWater()) {
- if(var3 < (double)dolphinSpeedMax && var3 > 0.009999999776482582D && (var1 != 0.0F || var2 != 0.0F)) {
- setRelVel2(theplayer, var2, (float)var0.motionY, var1, dolphinSpeed);
- }
- } else if(useAirControl && !theplayer.onGround && var3 < (double)airControlSpeedMax && var3 > 0.009999999776482582D && (var1 != 0.0F || var2 != 0.0F)) {
- setRelVel(theplayer, var2, (float)var0.motionY, var1, airControlSpeed);
- }
- }
- }
- //FALLDAMAGE NEGATING!
- //sendQueue.addToSendQueue(new Packet11PlayerPosition(motionX, -999D, -999D, motionZ, field_fall_hack ? true : onGround));
- //also set onGround = true?
- public void OSDHook(Minecraft var1, boolean var2) {
- int var4;
- if(theplayer != null && !var2 && (!worldRef.multiplayerWorld || superMagicProperty)) {
- boolean var3 = nearWall(theplayer);
- if(Keyboard.isKeyDown(Keyboard.getKeyIndex(toggleKey))) {
- if(!toggleKeyPressed) {
- dodgeToggle = !dodgeToggle;
- toggleKeyPressed = true;
- displayMessage("Dodging: " + (dodgeToggle?"enabled":"disabled"));
- }
- } else {
- toggleKeyPressed = false;
- }
- for(var4 = 0; var4 < keys.length; ++var4) {
- checkKey(var4);
- }
- if(!theplayer.onGround || theplayer.isInWater()) {
- airControl(theplayer);
- }
- theplayer.fallDistance = 0.0F;
- if(theplayer.onGround) {
- speedJumped = false;
- doubleJumped = false;
- dodged = false;
- if(!lastTickLanded) {
- lastTickLanded = true;
- landTime = tickCount;
- }
- } else {
- lastTickLanded = false;
- }
- prevTimeCount = timeCount;
- timeCount = worldRef.worldInfo.getWorldTime();
- if(timeCount > prevTimeCount) {
- tickCount += timeCount - prevTimeCount;
- }
- if(speedMining) {
- if(!worldRef.multiplayerWorld) {
- try {
- Object var9 = ModLoader.getPrivateValue(PlayerControllerSP.class, (PlayerControllerSP)ModLoader.getMinecraftInstance().playerController, "f");
- float var5 = Float.valueOf(var9.toString()).floatValue();
- if(var5 > 0.01F) {
- var5 += 0.05F;
- if(var5 > 1.0F) {
- var5 = 1.0F;
- }
- ModLoader.setPrivateValue(PlayerControllerSP.class, (PlayerControllerSP)ModLoader.getMinecraftInstance().playerController, "f", Float.valueOf(var5));
- }
- ModLoader.setPrivateValue(PlayerControllerSP.class, (PlayerControllerSP)ModLoader.getMinecraftInstance().playerController, "i", Integer.valueOf(0));
- } catch (Exception var7) {
- ;
- }
- } else if(!superMagicProperty) {
- ;
- }
- }
- }
- if(timeout > 0 && msg != null) {
- ScaledResolution var8 = new ScaledResolution(var1.gameSettings, var1.displayWidth, var1.displayHeight);
- var4 = var8.getScaledWidth();
- int var10 = var8.getScaledHeight();
- int var6 = var1.fontRenderer.getStringWidth(msg);
- var1.fontRenderer.drawStringWithShadow(msg, 3, 105, 16777215);
- --timeout;
- }
- }
- public static void tryHarvest(int var0, int var1, int var2) {
- if(mc.theWorld.worldInfo.getWorldTime() % 5L == 0L) {
- for(int var3 = 0; var3 <= 6; ++var3) {
- for(int var4 = 0; var4 <= 6; ++var4) {
- for(int var5 = 0; var5 <= 4; ++var5) {
- mc.playerController.clickBlock(var0 - 3 + var3, var1 - 2 + var5, var2 - 3 + var4, 2);
- }
- }
- }
- }
- }
- public String Version() {
- return "Version 1.9 for MC b1.7_01";
- }
- public static void performMove(int var0, boolean var1, boolean var2) {
- performMove(var0, var1, var2, false);
- }
- public static void performMove(int var0, boolean var1, boolean var2, boolean var3) {
- float var4 = dodgeUpForce;
- float var5 = dodgeForce;
- if(var1) {
- var4 += 0.4F;
- }
- if(var2) {
- var5 /= 2.0F;
- }
- float var6 = 0.0F;
- float var7 = 0.0F;
- if(var3) {
- if(Keyboard.isKeyDown(mc.gameSettings.keyBindForward.keyCode)) {
- ++var6;
- } else if(Keyboard.isKeyDown(mc.gameSettings.keyBindLeft.keyCode)) {
- --var7;
- } else if(Keyboard.isKeyDown(mc.gameSettings.keyBindBack.keyCode)) {
- --var6;
- } else {
- if(!Keyboard.isKeyDown(mc.gameSettings.keyBindRight.keyCode)) {
- return;
- }
- ++var7;
- }
- double var8 = Math.sqrt(theplayer.motionX * theplayer.motionX + theplayer.motionZ * theplayer.motionZ);
- setRelVel(theplayer, var7, 0.0F, var6, (float)var8 / 2.0F);
- } else {
- if(mc.gameSettings.keyBindForward.keyCode == var0) {
- setRelVel(theplayer, 0.0F, var4, 1.0F, var5);
- } else if(mc.gameSettings.keyBindLeft.keyCode == var0) {
- setRelVel(theplayer, -1.0F, var4, 0.0F + fwForce, var5);
- } else if(mc.gameSettings.keyBindBack.keyCode == var0) {
- setRelVel(theplayer, 0.0F, var4, -1.0F, var5);
- } else if(mc.gameSettings.keyBindRight.keyCode == var0) {
- setRelVel(theplayer, 1.0F, var4, 0.0F + fwForce, var5);
- } else if(mc.gameSettings.keyBindJump.keyCode == var0) {
- setRelVel(theplayer, var7, doubleJumpForce, var6, 0.0F);
- }
- }
- }
- public static void setRelVel(Entity var0, float var1, float var2, float var3, float var4) {
- float var5 = 10.0F;
- float var6 = 0.0F;
- float var7 = var0.prevRotationYaw + (var0.rotationYaw - var0.prevRotationYaw) * var5;
- int var8 = (int)Math.floor((double)(var7 / 360.0F) + 0.5D);
- var7 = var7 - (float)var8 * 360.0F + 270.0F;
- if(var3 <= 0.0F && var3 < 0.0F) {
- var7 += 180.0F;
- }
- if(var1 > 0.0F) {
- var7 += 90.0F - var3 * 10.0F;
- } else if(var1 < 0.0F) {
- var7 += 270.0F + var3 * 10.0F;
- }
- float var9 = MathHelper.cos(-var7 * 0.01745329F - 3.141593F);
- float var10 = MathHelper.sin(-var7 * 0.01745329F - 3.141593F);
- float var11 = -MathHelper.cos(-var6 * 0.01745329F - 0.7853982F);
- float var12 = MathHelper.sin(-var6 * 0.01745329F - 0.7853982F);
- float var13 = var9 * var11;
- float var15 = var10 * var11;
- if(var1 == 0.0F && var3 == 0.0F) {
- setVel(var0, (float)var0.motionX / 2.0F, var2, (float)var0.motionZ / 2.0F);
- } else {
- setVel(var0, var13 * var4 * -1.0F, var2, var15 * var4);
- }
- }
- public static void setRelVel2(Entity var0, float var1, float var2, float var3, float var4) {
- float var5 = 10.0F;
- float var6 = var0.prevRotationPitch + (var0.rotationPitch - var0.prevRotationPitch) * var5;
- float var7 = var0.prevRotationYaw + (var0.rotationYaw - var0.prevRotationYaw) * var5;
- int var8 = (int)Math.floor((double)(var7 / 360.0F) + 0.5D);
- var7 = var7 - (float)var8 * 360.0F + 270.0F;
- var6 = var6 - (float)var8 * 360.0F + 315.0F;
- if(var3 <= 0.0F && var3 < 0.0F) {
- var7 += 180.0F;
- }
- if(var1 > 0.0F) {
- var7 += 90.0F - var3 * 10.0F;
- } else if(var1 < 0.0F) {
- var7 += 270.0F + var3 * 10.0F;
- }
- float var9 = MathHelper.cos(-var7 * 0.01745329F - 3.141593F);
- float var10 = MathHelper.sin(-var7 * 0.01745329F - 3.141593F);
- float var11 = -MathHelper.cos(-var6 * 0.01745329F - 0.7853982F);
- float var12 = MathHelper.sin(-var6 * 0.01745329F - 0.7853982F);
- float var13 = var9 * var11;
- float var15 = var10 * var11;
- if(var1 == 0.0F && var3 == 0.0F) {
- setVel(var0, (float)var0.motionX / 2.0F, var2, (float)var0.motionZ / 2.0F);
- } else {
- setVel(var0, var13 * var4 * -1.0F, var12 * var4 * 5.0F, var15 * var4);
- }
- }
- public static void setVel(Entity var0, float var1, float var2, float var3) {
- var0.motionX += (double)var1;
- var0.motionY = (double)var2;
- var0.motionZ += (double)var3;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement