Advertisement
Guest User

Untitled

a guest
Mar 26th, 2015
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.96 KB | None | 0 0
  1. package io.github.supercheese200.serenity.module.impl.misc;
  2.  
  3. import io.github.supercheese200.serenity.events.EventBlockBoundingBox;
  4. import io.github.supercheese200.serenity.events.EventIncomingPacket;
  5. import io.github.supercheese200.serenity.events.EventOutgoingPacket;
  6. import io.github.supercheese200.serenity.events.EventPreMovePlayer;
  7. import io.github.supercheese200.serenity.events.EventUpdate;
  8. import io.github.supercheese200.serenity.module.Module;
  9. import io.github.supercheese200.serenity.module.ModuleType;
  10. import io.github.supercheese200.serenity.util.SerenityUtil;
  11. import net.minecraft.block.Block;
  12. import net.minecraft.block.BlockAir;
  13. import net.minecraft.client.Minecraft;
  14. import net.minecraft.entity.player.EntityPlayer;
  15. import net.minecraft.network.PacketThreadUtil;
  16. import net.minecraft.network.play.client.C03PacketPlayer;
  17. import net.minecraft.network.play.client.C07PacketPlayerDigging;
  18. import net.minecraft.network.play.client.C03PacketPlayer.C04PacketPlayerPosition;
  19. import net.minecraft.network.play.server.S12PacketEntityVelocity;
  20. import net.minecraft.util.AxisAlignedBB;
  21. import net.minecraft.util.BlockPos;
  22. import net.minecraft.util.MathHelper;
  23.  
  24. import org.lwjgl.input.Keyboard;
  25.  
  26. import com.darkmagician6.eventapi.EventManager;
  27. import com.darkmagician6.eventapi.EventTarget;
  28.  
  29. public class ModuleVPhase extends Module{
  30.  
  31. public ModuleVPhase() {
  32. super("VPhase", Keyboard.KEY_K, ModuleType.MISC, 0x9E4EFA);
  33. }
  34. public String getHelp() {
  35. return "Phase through blocks - vertically.";
  36. }
  37. public void onEnable() {
  38. EventManager.register(this);
  39. }
  40. @EventTarget
  41. public void onUpdate(final EventUpdate _event) {
  42. double x, z;
  43. x = 0;
  44. z = 0;
  45. switch (mc.thePlayer.func_174811_aO()) {
  46. case DOWN:
  47. break;
  48. case EAST:
  49. x = 0.05;
  50. break;
  51. case NORTH:
  52. z = 0.05;
  53. break;
  54. case SOUTH:
  55. z = -0.05;
  56. break;
  57. case UP:
  58. break;
  59. case WEST:
  60. x = -0.05;
  61. break;
  62. }
  63. if (!SerenityUtil.isStandingStill()) {
  64. mc.getNetHandler().addToSendQueue(new C04PacketPlayerPosition(mc.thePlayer.posX, mc.thePlayer.posY - 0.05, mc.thePlayer.posZ, true));
  65. //mc.getNetHandler().addToSendQueue(new C04PacketPlayerPosition(mc.thePlayer.posX - x, mc.thePlayer.posY, mc.thePlayer.posZ - z, true));
  66. }
  67. }
  68. @EventTarget
  69. public void onBlockBB(final EventBlockBoundingBox event) {
  70. if (mc.thePlayer.isCollidedHorizontally || isInsideBlock()) {
  71. if (event.y > mc.thePlayer.boundingBox.minY - 0.4 && event.y < mc.thePlayer.boundingBox.maxY) {
  72. event.boundingBox = null;
  73. }
  74. }
  75. }
  76. public void onDisable() {
  77. EventManager.unregister(this);
  78. }
  79. private boolean isInsideBlock() {
  80. for (int x = MathHelper.floor_double(mc.thePlayer.boundingBox.minX); x < MathHelper
  81. .floor_double(mc.thePlayer.boundingBox.maxX) + 1; x++) {
  82. for (int y = MathHelper.floor_double(mc.thePlayer.boundingBox.minY); y < MathHelper
  83. .floor_double(mc.thePlayer.boundingBox.maxY) + 1; y++) {
  84. for (int z = MathHelper.floor_double(mc.thePlayer.boundingBox.minZ); z < MathHelper
  85. .floor_double(mc.thePlayer.boundingBox.maxZ) + 1; z++) {
  86. final Block block = Minecraft.getMinecraft().theWorld
  87. .getBlockState(new BlockPos(x, y, z)).getBlock();
  88. if (block == null || block instanceof BlockAir) {
  89. continue;
  90. }
  91.  
  92. final AxisAlignedBB boundingBox = block
  93. .getCollisionBoundingBox(mc.theWorld, new BlockPos(x, y, z), mc.theWorld.getBlockState(new BlockPos(x, y, z)));
  94. if (boundingBox != null
  95. && mc.thePlayer.boundingBox.intersectsWith(boundingBox))
  96. return true;
  97. }
  98. }
  99. }
  100. return false;
  101. }
  102. @EventTarget
  103. public void onReceivePacket(final EventIncomingPacket event) {
  104. if (event.getPacket() instanceof S12PacketEntityVelocity) {
  105. if (((S12PacketEntityVelocity)event.getPacket()).func_149412_c() == mc.thePlayer.getEntityId() && isInsideBlock()) {
  106. event.setCancelled(true);
  107. }
  108. }
  109. }
  110. @EventTarget
  111. public void onMovePlayer(final EventPreMovePlayer event) {
  112. }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement