Advertisement
Guest User

Untitled

a guest
Dec 5th, 2019
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.08 KB | None | 0 0
  1. package me.zeroeightsix.kami.module.modules.combat;
  2.  
  3. import me.zero.alpine.listener.EventHandler;
  4. import me.zero.alpine.listener.Listener;
  5. import me.zeroeightsix.kami.event.events.PacketEvent;
  6. import me.zeroeightsix.kami.event.events.RenderEvent;
  7. import me.zeroeightsix.kami.module.Module;
  8. import me.zeroeightsix.kami.setting.Setting;
  9. import me.zeroeightsix.kami.setting.Settings;
  10. import me.zeroeightsix.kami.util.*;
  11. import me.zeroeightsix.kami.util.EntityUtil;
  12. import net.minecraft.nbt.NBTTagCompound;
  13. import net.minecraft.nbt.NBTTagList;
  14. import me.zeroeightsix.kami.util.LagCompensator;
  15. import net.minecraft.enchantment.EnchantmentHelper;
  16. import net.minecraft.entity.Entity;
  17. import net.minecraft.entity.EntityLivingBase;
  18. import net.minecraft.entity.SharedMonsterAttributes;
  19. import net.minecraft.entity.item.EntityEnderCrystal;
  20. import net.minecraft.entity.player.EntityPlayer;
  21. import net.minecraft.init.Blocks;
  22. import net.minecraft.init.Items;
  23. import net.minecraft.init.MobEffects;
  24. import net.minecraft.item.ItemStack;
  25. import net.minecraft.item.ItemSword;
  26. import net.minecraft.item.ItemTool;
  27. import net.minecraft.network.Packet;
  28. import net.minecraft.network.play.client.CPacketPlayer;
  29. import net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock;
  30. import net.minecraft.potion.Potion;
  31. import net.minecraft.util.*;
  32. import net.minecraft.util.math.*;
  33. import net.minecraft.world.Explosion;
  34. import org.lwjgl.opengl.GL11;
  35.  
  36. import me.zeroeightsix.kami.command.Command;
  37. import me.zeroeightsix.kami.gui.kami.component.ActiveModules;
  38. import me.zeroeightsix.kami.gui.rgui.component.AlignedComponent;
  39. import me.zeroeightsix.kami.gui.rgui.render.AbstractComponentUI;
  40. import me.zeroeightsix.kami.gui.rgui.render.font.FontRenderer;
  41. import me.zeroeightsix.kami.module.Module;
  42. import me.zeroeightsix.kami.module.ModuleManager;
  43. import me.zeroeightsix.kami.util.Wrapper;
  44. import org.lwjgl.opengl.GL11;
  45.  
  46. import java.awt.*;
  47. import java.util.Comparator;
  48. import java.util.List;
  49. import java.util.function.Function;
  50. import java.util.stream.Collectors;
  51.  
  52. import java.util.ArrayList;
  53. import java.util.Comparator;
  54. import java.util.List;
  55. import java.util.stream.Collectors;
  56.  
  57. import static me.zeroeightsix.kami.util.EntityUtil.calculateLookAt;
  58. import java.util.Iterator;
  59. /**
  60. * Created by 086 on 28/12/2017.
  61. * Last Updated 29 June 2019 by hub
  62. */
  63. @Module.Info(name = "HoleFinder", category = Module.Category.COMBAT)
  64. public class HoleEsp extends Module {
  65. private Setting<Double> range = register(Settings.d("Range", 7));
  66. private Setting<Integer> Red = register(Settings.integerBuilder("Red").withMinimum(0).withMaximum(255).withValue(100));
  67. private Setting<Integer> Green = register(Settings.integerBuilder("Green").withMinimum(0).withMaximum(255).withValue(0));
  68. private Setting<Integer> Blue = register(Settings.integerBuilder("Blue").withMinimum(0).withMaximum(255).withValue(100));
  69. private Setting<Integer> alpha = register(Settings.integerBuilder("Alpha").withMinimum(0).withMaximum(100).withValue(60));
  70.  
  71. private BlockPos render;
  72. private Entity renderEnt;
  73. private long systemTime = -1;
  74. private static boolean togglePitch = false;
  75. // we need this cooldown to not place from old hotbar slot, before we have switched to crystals
  76. private boolean switchCooldown = false;
  77. private boolean isAttacking = false;
  78. private int oldSlot = -1;
  79. private int newSlot;//kkkkkkkkkkkkk
  80. double d;
  81.  
  82. @Override
  83. public void onUpdate() {
  84. List<BlockPos> blocks = findCrystalBlocks();
  85. BlockPos q = null;
  86. for (BlockPos blockPos : blocks) {
  87. q = blockPos;
  88.  
  89. }
  90. render = q;
  91. }
  92.  
  93. @Override
  94. public void onWorldRender(RenderEvent event) {
  95. List<BlockPos> blocks = findCrystalBlocks();
  96. GL11.glEnable(GL11.GL_CULL_FACE);
  97. if (render != null) {
  98. KamiTessellator.prepare(GL11.GL_QUADS);
  99. for (BlockPos hole : blocks) {
  100. KamiTessellator.drawBox(hole, Red.getValue(),Green.getValue(),Blue.getValue(),alpha.getValue(), GeometryMasks.Quad.ALL);
  101. KamiTessellator.drawLines(hole, Red.getValue(),Green.getValue(),Blue.getValue(),alpha.getValue(), GeometryMasks.Quad.ALL);
  102. }
  103. KamiTessellator.release();
  104. if (renderEnt != null) {
  105. Vec3d p = EntityUtil.getInterpolatedRenderPos(renderEnt, mc.getRenderPartialTicks());
  106. }
  107. }
  108. }
  109. private void lookAtPacket(double px, double py, double pz, EntityPlayer me) {
  110. double[] v = calculateLookAt(px, py, pz, me);
  111. setYawAndPitch((float) v[0], (float) v[1]);
  112. }
  113.  
  114. private boolean IsHole(BlockPos blockPos) {
  115. BlockPos boost = blockPos.add(0, 1, 0);
  116. BlockPos boost2 = blockPos.add(0, 0, 0);
  117. BlockPos boost3 = blockPos.add(0, 0, -1);
  118. BlockPos boost4 = blockPos.add(1, 0, 0);
  119. BlockPos boost5 = blockPos.add(-1, 0, 0);
  120. BlockPos boost6 = blockPos.add(0, 0, 1);
  121. BlockPos boost7 = blockPos.add(0, 2, 0);
  122. BlockPos boost8 = blockPos.add(0.5, 0.5, 0.5);
  123. if ((mc.world.getBlockState(boost).getBlock() == Blocks.AIR
  124. && (mc.world.getBlockState(boost2).getBlock() == Blocks.AIR)
  125. && (mc.world.getBlockState(boost7).getBlock() == Blocks.AIR)
  126. && (mc.world.getBlockState(boost3).getBlock() != Blocks.AIR)
  127. && (mc.world.getBlockState(boost4).getBlock() != Blocks.AIR)
  128. && (mc.world.getBlockState(boost5).getBlock() != Blocks.AIR)
  129. && (mc.world.getBlockState(boost8).getBlock() == Blocks.AIR)
  130. && (mc.world.getBlockState(boost6).getBlock() != Blocks.AIR))) {
  131. return true;
  132. } else {
  133. return false;
  134. }
  135. }
  136.  
  137. public static BlockPos getPlayerPos() {
  138. return new BlockPos(Math.floor(mc.player.posX), Math.floor(mc.player.posY), Math.floor(mc.player.posZ));
  139. }
  140.  
  141. private List<BlockPos> findCrystalBlocks() {
  142. NonNullList<BlockPos> positions = NonNullList.create();
  143. positions.addAll(getSphere(getPlayerPos(), range.getValue().floatValue(), range.getValue().intValue(), false, true, 0).stream().filter(this::IsHole).collect(Collectors.toList()));
  144. return positions;
  145. }
  146.  
  147. public List<BlockPos> getSphere(BlockPos loc, float r, int h, boolean hollow, boolean sphere, int plus_y) {
  148. List<BlockPos> circleblocks = new ArrayList<>();
  149. int cx = loc.getX();
  150. int cy = loc.getY();
  151. int cz = loc.getZ();
  152. for (int x = cx - (int) r; x <= cx + r; x++) {
  153. for (int z = cz - (int) r; z <= cz + r; z++) {
  154. for (int y = (sphere ? cy - (int) r : cy); y < (sphere ? cy + r : cy + h); y++) {
  155. double dist = (cx - x) * (cx - x) + (cz - z) * (cz - z) + (sphere ? (cy - y) * (cy - y) : 0);
  156. if (dist < r * r && !(hollow && dist < (r - 1) * (r - 1))) {
  157. BlockPos l = new BlockPos(x, y + plus_y, z);
  158. circleblocks.add(l);
  159. }
  160. }
  161. }
  162. }
  163. return circleblocks;
  164. }
  165.  
  166. //Better Rotation Spoofing System:
  167.  
  168. private static boolean isSpoofingAngles;
  169. private static double yaw;
  170. private static double pitch;
  171.  
  172. //this modifies packets being sent so no extra ones are made. NCP used to flag with "too many packets"
  173. private static void setYawAndPitch(float yaw1, float pitch1) {
  174. yaw = yaw1;
  175. pitch = pitch1;
  176. isSpoofingAngles = true;
  177. }
  178.  
  179. private static void resetRotation() {
  180. if (isSpoofingAngles) {
  181. yaw = mc.player.rotationYaw;
  182. pitch = mc.player.rotationPitch;
  183. isSpoofingAngles = false;
  184. }
  185. }
  186.  
  187.  
  188. @EventHandler
  189. private Listener<PacketEvent.Send> packetListener = new Listener<>(event -> {
  190. Packet packet = event.getPacket();
  191. if (packet instanceof CPacketPlayer) {
  192. if (isSpoofingAngles) {
  193. ((CPacketPlayer) packet).yaw = (float) yaw;
  194. ((CPacketPlayer) packet).pitch = (float) pitch;
  195. }
  196. }
  197. });
  198.  
  199. @Override
  200. public void onDisable() {
  201. render = null;
  202. resetRotation();
  203. }
  204. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement