Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.72 KB | None | 0 0
  1. package net.minecraft.src;
  2.  
  3. import net.minecraft.client.Minecraft;
  4. import net.minecraft.src.Achievement;
  5. import net.minecraft.src.BaseMod;
  6. import net.minecraft.src.Entity;
  7. import net.minecraft.src.EntityPlayer;
  8. import net.minecraft.src.Item;
  9. import net.minecraft.src.MLProp;
  10. import net.minecraft.src.MathHelper;
  11. import net.minecraft.src.ModLoader;
  12. import net.minecraft.src.PlayerControllerSP;
  13. import net.minecraft.src.ScaledResolution;
  14. import net.minecraft.src.TileEntityMobSpawner;
  15. import net.minecraft.src.World;
  16. import org.lwjgl.input.Keyboard;
  17.  
  18. public class mod_MovePlus extends BaseMod implements Runnable {
  19.  
  20. public static int spriteIndex;
  21. public static String modName = "MovePlus";
  22. public static World worldRef;
  23. public static EntityPlayer theplayer;
  24. public static Minecraft mc;
  25. public static int timeout;
  26. public static String msg;
  27. public static int color;
  28. public static int defaultColor = 16777215;
  29. public static int lastKey = 0;
  30. public static int[] keys;
  31. public static long[] keyTimes = new long[]{0L, 0L, 0L, 0L, 0L};
  32. public static boolean[] secondPress = new boolean[]{false, false, false, false, false};
  33. public static boolean dodged;
  34. public static boolean doubleJumped;
  35. public static boolean speedJumped;
  36. public static long landTime;
  37. public static boolean lastTickLanded;
  38. public static long tickCount = 0L;
  39. public static long timeCount = 0L;
  40. public static long prevTimeCount = 0L;
  41. public static boolean toggleKeyPressed = false;
  42. public static boolean dodgeToggle = true;
  43. @MLProp
  44. public static String toggleKey = "Z";
  45. @MLProp
  46. public static boolean useDoubleJump = true;
  47. @MLProp
  48. public static boolean useGroundDodge = true;
  49. @MLProp
  50. public static boolean useWallDodge = true;
  51. @MLProp
  52. public static boolean useBoostDodge = true;
  53. @MLProp
  54. public static boolean useSpeedJump = true;
  55. @MLProp
  56. public static boolean useAirControl = true;
  57. @MLProp
  58. public static float dodgeUpForce = 0.4F;
  59. @MLProp
  60. public static float doubleJumpForce = 0.5F;
  61. @MLProp
  62. public static float dodgeForce = 1.6F;
  63. public static float fwForce = 0.8F;
  64. @MLProp
  65. public static int dodgeMinDelayTime = 7;
  66. public static Achievement boostdodged;
  67. @MLProp
  68. public static boolean speedMining = false;
  69. @MLProp
  70. public static boolean dolphinSkills = false;
  71. @MLProp
  72. public static float dolphinSpeed = 0.2F;
  73. @MLProp
  74. public static float dolphinSpeedMax = 15.0F;
  75. @MLProp
  76. public static float airControlSpeed = 0.1F;
  77. @MLProp
  78. public static float airControlSpeedMax = 0.15F;
  79. @MLProp
  80. public static float speedJumpMax = 0.9F;
  81. public static boolean superMagicProperty = true;
  82. public static boolean ingui = false;
  83.  
  84.  
  85.  
  86. public void run() {
  87. try {
  88. while(true) {
  89. if(mc == null) {
  90. mc = ModLoader.getMinecraftInstance();
  91. }
  92.  
  93. if(mc == null) {
  94. Thread.sleep(5000L);
  95. } else if(mc.thePlayer == null) {
  96. Thread.sleep(5000L);
  97. } else {
  98. worldRef = mc.theWorld;
  99. theplayer = mc.thePlayer;
  100. keys = new int[]{mc.gameSettings.keyBindForward.keyCode, mc.gameSettings.keyBindLeft.keyCode, mc.gameSettings.keyBindBack.keyCode, mc.gameSettings.keyBindRight.keyCode, mc.gameSettings.keyBindJump.keyCode};
  101. Thread.sleep(10000L);
  102. }
  103. }
  104. } catch (Throwable var6) {
  105. var6.printStackTrace();
  106. }
  107. }
  108.  
  109. public mod_MovePlus() {
  110. ingui = false;
  111. ModLoader.SetInGameHook(this, true, false);
  112. ModLoader.SetInGUIHook(this, true, false);
  113. theplayer = null;
  114. (new Thread(this)).start();
  115. boostdodged = (new Achievement(456, "boostdodged", 0, 0, Item.feather, (Achievement)null)).registerAchievement();
  116. ModLoader.AddAchievementDesc(boostdodged, "Boost Dodge", "Perform a Boost Dodge.");
  117. }
  118.  
  119. public static void displayMessage(String var0, int var1) {
  120. msg = var0;
  121. timeout = 85;
  122. color = var1;
  123. }
  124.  
  125. public static void displayMessage(String var0) {
  126. displayMessage(var0, defaultColor);
  127. }
  128.  
  129. public static void checkKey(int var0) {
  130. if(useSpeedJump && var0 == 4 && Keyboard.isKeyDown(keys[var0]) && !speedJumped && tickCount - landTime < 3L) {
  131. double var1 = theplayer.motionY;
  132. double var3 = Math.sqrt(theplayer.motionX * theplayer.motionX + theplayer.motionZ * theplayer.motionZ);
  133. if(var3 < (double)speedJumpMax) {
  134. performMove(keys[var0], false, false, true);
  135. }
  136.  
  137. theplayer.motionY = var1;
  138. speedJumped = true;
  139. keyTimes[var0] = tickCount - 500L;
  140. }
  141.  
  142. if(useDoubleJump && var0 == 4 && secondPress[var0] && Keyboard.isKeyDown(keys[var0])) {
  143. if(!theplayer.onGround && !doubleJumped) {
  144. if(!doubleJumped) {
  145. performMove(keys[var0], false, false);
  146. }
  147.  
  148. doubleJumped = true;
  149. }
  150.  
  151. secondPress[var0] = false;
  152. keyTimes[var0] = tickCount - 500L;
  153. }
  154.  
  155. if(tickCount - keyTimes[var0] < (long)dodgeMinDelayTime && secondPress[var0] && Keyboard.isKeyDown(keys[var0])) {
  156. if(useBoostDodge && Keyboard.isKeyDown(Keyboard.getKeyIndex("SPACE")) && keyTimes[var0] - keyTimes[4] - 500L < 5L && nearWall(theplayer)) {
  157. theplayer.triggerAchievement(boostdodged);
  158. performMove(keys[var0], true, false);
  159. } else if(dodgeToggle && useWallDodge && (theplayer.onGround || nearWall(theplayer))) {
  160. performMove(keys[var0], false, false);
  161. } else if(dodgeToggle && useGroundDodge && !dodged && !doubleJumped) {
  162. performMove(keys[var0], false, true);
  163. }
  164.  
  165. dodged = true;
  166. secondPress[var0] = false;
  167. keyTimes[var0] = tickCount - 500L;
  168. }
  169.  
  170. if(!Keyboard.isKeyDown(keys[var0]) && !secondPress[var0]) {
  171. secondPress[var0] = true;
  172. }
  173.  
  174. if(Keyboard.isKeyDown(keys[var0]) && secondPress[var0]) {
  175. secondPress[var0] = false;
  176. lastKey = keys[var0];
  177. keyTimes[var0] = tickCount;
  178. }
  179.  
  180. }
  181.  
  182. public static boolean nearWall(Entity var0) {
  183. return var0.worldObj.getCollidingBoundingBoxes(var0, var0.boundingBox.expand(0.2D, 0.0D, 0.2D)).size() > 0;
  184. }
  185.  
  186. public boolean OnTickInGame(Minecraft var1) {
  187. if(!ingui) {
  188. this.OSDHook(var1, false);
  189. }
  190.  
  191. ingui = false;
  192. return true;
  193. }
  194.  
  195. public boolean OnTickInGUI(Minecraft var1, TileEntityMobSpawner var2) {
  196. ingui = true;
  197. return true;
  198. }
  199.  
  200. public static void airControl(Entity var0) {
  201. if(useAirControl && timeCount != worldRef.worldInfo.getWorldTime()) {
  202. float var1 = 0.0F;
  203. float var2 = 0.0F;
  204. if(Keyboard.isKeyDown(mc.gameSettings.keyBindForward.keyCode)) {
  205. ++var1;
  206. } else if(Keyboard.isKeyDown(mc.gameSettings.keyBindLeft.keyCode)) {
  207. --var2;
  208. } else if(Keyboard.isKeyDown(mc.gameSettings.keyBindBack.keyCode)) {
  209. --var1;
  210. } else if(Keyboard.isKeyDown(mc.gameSettings.keyBindRight.keyCode)) {
  211. ++var2;
  212. }
  213.  
  214. double var3 = Math.sqrt(var0.motionX * var0.motionX + var0.motionZ * var0.motionZ);
  215. if(dolphinSkills && theplayer.isInWater()) {
  216. if(var3 < (double)dolphinSpeedMax && var3 > 0.009999999776482582D && (var1 != 0.0F || var2 != 0.0F)) {
  217. setRelVel2(theplayer, var2, (float)var0.motionY, var1, dolphinSpeed);
  218. }
  219. } else if(useAirControl && !theplayer.onGround && var3 < (double)airControlSpeedMax && var3 > 0.009999999776482582D && (var1 != 0.0F || var2 != 0.0F)) {
  220. setRelVel(theplayer, var2, (float)var0.motionY, var1, airControlSpeed);
  221. }
  222. }
  223.  
  224. }
  225.  
  226. //FALLDAMAGE NEGATING!
  227. //sendQueue.addToSendQueue(new Packet11PlayerPosition(motionX, -999D, -999D, motionZ, field_fall_hack ? true : onGround));
  228. //also set onGround = true?
  229.  
  230. public void OSDHook(Minecraft var1, boolean var2) {
  231. int var4;
  232. if(theplayer != null && !var2 && (!worldRef.multiplayerWorld || superMagicProperty)) {
  233. boolean var3 = nearWall(theplayer);
  234. if(Keyboard.isKeyDown(Keyboard.getKeyIndex(toggleKey))) {
  235. if(!toggleKeyPressed) {
  236. dodgeToggle = !dodgeToggle;
  237. toggleKeyPressed = true;
  238. displayMessage("Dodging: " + (dodgeToggle?"enabled":"disabled"));
  239. }
  240. } else {
  241. toggleKeyPressed = false;
  242. }
  243.  
  244. for(var4 = 0; var4 < keys.length; ++var4) {
  245. checkKey(var4);
  246. }
  247.  
  248. if(!theplayer.onGround || theplayer.isInWater()) {
  249. airControl(theplayer);
  250. }
  251.  
  252. theplayer.fallDistance = 0.0F;
  253. if(theplayer.onGround) {
  254. speedJumped = false;
  255. doubleJumped = false;
  256. dodged = false;
  257. if(!lastTickLanded) {
  258. lastTickLanded = true;
  259. landTime = tickCount;
  260. }
  261. } else {
  262. lastTickLanded = false;
  263. }
  264.  
  265. prevTimeCount = timeCount;
  266. timeCount = worldRef.worldInfo.getWorldTime();
  267. if(timeCount > prevTimeCount) {
  268. tickCount += timeCount - prevTimeCount;
  269. }
  270.  
  271. if(speedMining) {
  272. if(!worldRef.multiplayerWorld) {
  273. try {
  274. Object var9 = ModLoader.getPrivateValue(PlayerControllerSP.class, (PlayerControllerSP)ModLoader.getMinecraftInstance().playerController, "f");
  275. float var5 = Float.valueOf(var9.toString()).floatValue();
  276. if(var5 > 0.01F) {
  277. var5 += 0.05F;
  278. if(var5 > 1.0F) {
  279. var5 = 1.0F;
  280. }
  281.  
  282. ModLoader.setPrivateValue(PlayerControllerSP.class, (PlayerControllerSP)ModLoader.getMinecraftInstance().playerController, "f", Float.valueOf(var5));
  283. }
  284.  
  285. ModLoader.setPrivateValue(PlayerControllerSP.class, (PlayerControllerSP)ModLoader.getMinecraftInstance().playerController, "i", Integer.valueOf(0));
  286. } catch (Exception var7) {
  287. ;
  288. }
  289. } else if(!superMagicProperty) {
  290. ;
  291. }
  292. }
  293. }
  294.  
  295. if(timeout > 0 && msg != null) {
  296. ScaledResolution var8 = new ScaledResolution(var1.gameSettings, var1.displayWidth, var1.displayHeight);
  297. var4 = var8.getScaledWidth();
  298. int var10 = var8.getScaledHeight();
  299. int var6 = var1.fontRenderer.getStringWidth(msg);
  300. var1.fontRenderer.drawStringWithShadow(msg, 3, 105, 16777215);
  301. --timeout;
  302. }
  303.  
  304. }
  305.  
  306. public static void tryHarvest(int var0, int var1, int var2) {
  307. if(mc.theWorld.worldInfo.getWorldTime() % 5L == 0L) {
  308. for(int var3 = 0; var3 <= 6; ++var3) {
  309. for(int var4 = 0; var4 <= 6; ++var4) {
  310. for(int var5 = 0; var5 <= 4; ++var5) {
  311. mc.playerController.clickBlock(var0 - 3 + var3, var1 - 2 + var5, var2 - 3 + var4, 2);
  312. }
  313. }
  314. }
  315. }
  316.  
  317. }
  318.  
  319. public String Version() {
  320. return "Version 1.9 for MC b1.7_01";
  321. }
  322.  
  323. public static void performMove(int var0, boolean var1, boolean var2) {
  324. performMove(var0, var1, var2, false);
  325. }
  326.  
  327. public static void performMove(int var0, boolean var1, boolean var2, boolean var3) {
  328. float var4 = dodgeUpForce;
  329. float var5 = dodgeForce;
  330. if(var1) {
  331. var4 += 0.4F;
  332. }
  333.  
  334. if(var2) {
  335. var5 /= 2.0F;
  336. }
  337.  
  338. float var6 = 0.0F;
  339. float var7 = 0.0F;
  340. if(var3) {
  341. if(Keyboard.isKeyDown(mc.gameSettings.keyBindForward.keyCode)) {
  342. ++var6;
  343. } else if(Keyboard.isKeyDown(mc.gameSettings.keyBindLeft.keyCode)) {
  344. --var7;
  345. } else if(Keyboard.isKeyDown(mc.gameSettings.keyBindBack.keyCode)) {
  346. --var6;
  347. } else {
  348. if(!Keyboard.isKeyDown(mc.gameSettings.keyBindRight.keyCode)) {
  349. return;
  350. }
  351.  
  352. ++var7;
  353. }
  354.  
  355. double var8 = Math.sqrt(theplayer.motionX * theplayer.motionX + theplayer.motionZ * theplayer.motionZ);
  356. setRelVel(theplayer, var7, 0.0F, var6, (float)var8 / 2.0F);
  357. } else {
  358. if(mc.gameSettings.keyBindForward.keyCode == var0) {
  359. setRelVel(theplayer, 0.0F, var4, 1.0F, var5);
  360. } else if(mc.gameSettings.keyBindLeft.keyCode == var0) {
  361. setRelVel(theplayer, -1.0F, var4, 0.0F + fwForce, var5);
  362. } else if(mc.gameSettings.keyBindBack.keyCode == var0) {
  363. setRelVel(theplayer, 0.0F, var4, -1.0F, var5);
  364. } else if(mc.gameSettings.keyBindRight.keyCode == var0) {
  365. setRelVel(theplayer, 1.0F, var4, 0.0F + fwForce, var5);
  366. } else if(mc.gameSettings.keyBindJump.keyCode == var0) {
  367. setRelVel(theplayer, var7, doubleJumpForce, var6, 0.0F);
  368. }
  369.  
  370. }
  371. }
  372.  
  373. public static void setRelVel(Entity var0, float var1, float var2, float var3, float var4) {
  374. float var5 = 10.0F;
  375. float var6 = 0.0F;
  376. float var7 = var0.prevRotationYaw + (var0.rotationYaw - var0.prevRotationYaw) * var5;
  377. int var8 = (int)Math.floor((double)(var7 / 360.0F) + 0.5D);
  378. var7 = var7 - (float)var8 * 360.0F + 270.0F;
  379. if(var3 <= 0.0F && var3 < 0.0F) {
  380. var7 += 180.0F;
  381. }
  382.  
  383. if(var1 > 0.0F) {
  384. var7 += 90.0F - var3 * 10.0F;
  385. } else if(var1 < 0.0F) {
  386. var7 += 270.0F + var3 * 10.0F;
  387. }
  388.  
  389. float var9 = MathHelper.cos(-var7 * 0.01745329F - 3.141593F);
  390. float var10 = MathHelper.sin(-var7 * 0.01745329F - 3.141593F);
  391. float var11 = -MathHelper.cos(-var6 * 0.01745329F - 0.7853982F);
  392. float var12 = MathHelper.sin(-var6 * 0.01745329F - 0.7853982F);
  393. float var13 = var9 * var11;
  394. float var15 = var10 * var11;
  395. if(var1 == 0.0F && var3 == 0.0F) {
  396. setVel(var0, (float)var0.motionX / 2.0F, var2, (float)var0.motionZ / 2.0F);
  397. } else {
  398. setVel(var0, var13 * var4 * -1.0F, var2, var15 * var4);
  399. }
  400.  
  401. }
  402.  
  403. public static void setRelVel2(Entity var0, float var1, float var2, float var3, float var4) {
  404. float var5 = 10.0F;
  405. float var6 = var0.prevRotationPitch + (var0.rotationPitch - var0.prevRotationPitch) * var5;
  406. float var7 = var0.prevRotationYaw + (var0.rotationYaw - var0.prevRotationYaw) * var5;
  407. int var8 = (int)Math.floor((double)(var7 / 360.0F) + 0.5D);
  408. var7 = var7 - (float)var8 * 360.0F + 270.0F;
  409. var6 = var6 - (float)var8 * 360.0F + 315.0F;
  410. if(var3 <= 0.0F && var3 < 0.0F) {
  411. var7 += 180.0F;
  412. }
  413.  
  414. if(var1 > 0.0F) {
  415. var7 += 90.0F - var3 * 10.0F;
  416. } else if(var1 < 0.0F) {
  417. var7 += 270.0F + var3 * 10.0F;
  418. }
  419.  
  420. float var9 = MathHelper.cos(-var7 * 0.01745329F - 3.141593F);
  421. float var10 = MathHelper.sin(-var7 * 0.01745329F - 3.141593F);
  422. float var11 = -MathHelper.cos(-var6 * 0.01745329F - 0.7853982F);
  423. float var12 = MathHelper.sin(-var6 * 0.01745329F - 0.7853982F);
  424. float var13 = var9 * var11;
  425. float var15 = var10 * var11;
  426. if(var1 == 0.0F && var3 == 0.0F) {
  427. setVel(var0, (float)var0.motionX / 2.0F, var2, (float)var0.motionZ / 2.0F);
  428. } else {
  429. setVel(var0, var13 * var4 * -1.0F, var12 * var4 * 5.0F, var15 * var4);
  430. }
  431.  
  432. }
  433.  
  434. public static void setVel(Entity var0, float var1, float var2, float var3) {
  435. var0.motionX += (double)var1;
  436. var0.motionY = (double)var2;
  437. var0.motionZ += (double)var3;
  438. }
  439.  
  440. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement