Advertisement
Guest User

debugcrosshair

a guest
Nov 18th, 2019
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.55 KB | None | 0 0
  1. package me.zeroeightsix.kami.module.modules.misc;
  2.  
  3. import me.zeroeightsix.kami.module.Module;
  4. import me.zero.alpine.listener.EventHandler;
  5. import me.zeroeightsix.kami.util.Wrapper;
  6. import net.minecraft.block.state.IBlockState;
  7. import net.minecraft.client.Minecraft;
  8. import net.minecraft.client.gui.Gui;
  9. import net.minecraft.client.gui.ScaledResolution;
  10. import net.minecraft.client.renderer.GlStateManager;
  11. import net.minecraft.client.renderer.OpenGlHelper;
  12. import net.minecraft.client.settings.GameSettings;
  13. import net.minecraft.entity.Entity;
  14. import net.minecraft.inventory.IInventory;
  15. import net.minecraft.util.math.BlockPos;
  16. import net.minecraft.util.math.RayTraceResult;
  17. import net.minecraftforge.client.event.RenderGameOverlayEvent;
  18. import net.minecraftforge.fml.common.ObfuscationReflectionHelper;
  19. import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
  20.  
  21. @Module.Info(name = "Debug-Crosshair", category = Module.Category.MISC)
  22. public class DebugCrosshair extends Module
  23. {
  24. @SubscribeEvent
  25. public void stopRegularCrosshair(final RenderGameOverlayEvent event) {
  26. if (this.getEnabled() && event.getType() == RenderGameOverlayEvent.ElementType.CROSSHAIRS) {
  27. event.setCanceled(true);
  28. final int width = new ScaledResolution(DebugCrosshair.mc).getScaledWidth();
  29. final int height = new ScaledResolution(DebugCrosshair.mc).getScaledHeight();
  30. final float zLevel = (float)ObfuscationReflectionHelper.getPrivateValue((Class)Gui.class, (Object)Globals.mc.ingameGUI, new String[] { "zLevel", "zLevel" });
  31. renderCrosshair(event.getPartialTicks(), width, height, zLevel);
  32. }
  33. }
  34.  
  35. private boolean getEnabled() {
  36. }
  37.  
  38. public static void renderCrosshair(final float partialTicks, final int width, final int height, final float zLevel) {
  39. final GameSettings gamesettings = DebugCrosshair.mc.gameSettings;
  40. if (gamesettings.thirdPersonView == 0) {
  41. if (DebugCrosshair.mc.playerController.isSpectator() && DebugCrosshair.mc.pointedEntity == null) {
  42. final RayTraceResult raytraceresult = DebugCrosshair.mc.objectMouseOver;
  43. if (raytraceresult == null || raytraceresult.typeOfHit != RayTraceResult.Type.BLOCK) {
  44. return;
  45. }
  46. final BlockPos blockpos = raytraceresult.getBlockPos();
  47. final IBlockState state = DebugCrosshair.mc.world.getBlockState(blockpos);
  48. if (!state.getBlock().hasTileEntity(state) || !(DebugCrosshair.mc.world.getTileEntity(blockpos) instanceof IInventory)) {
  49. return;
  50. }
  51. }
  52. if (!gamesettings.hideGUI) {
  53. GlStateManager.pushMatrix();
  54. GlStateManager.translate((float)(width / 2), (float)(height / 2), zLevel);
  55. final Entity entity = DebugCrosshair.mc.getRenderViewEntity();
  56. if (entity != null) {
  57. GlStateManager.rotate(((Entity) entity).prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * partialTicks, -1.0f, 0.0f, 0.0f);
  58. GlStateManager.rotate(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * partialTicks, 0.0f, 1.0f, 0.0f);
  59. GlStateManager.scale(-1.0f, -1.0f, -1.0f);
  60. OpenGlHelper.renderDirections(10);
  61. GlStateManager.popMatrix();
  62. }
  63. }
  64. }
  65. }
  66.  
  67. private static Minecraft mc;
  68. private Wrapper Globals;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement