use of net.minecraft.client.render.Camera in project Hypnotic-Client by Hypnotic-Development.
the class ModelPredicateProviderRegistryMixin method onGetAngleToPos.
@Inject(method = "getAngleToPos(Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/entity/Entity;)D", at = @At("HEAD"), cancellable = true)
private void onGetAngleToPos(Vec3d pos, Entity entity, CallbackInfoReturnable<Double> info) {
if (ModuleManager.INSTANCE.getModule(Freecam.class).isEnabled()) {
Camera camera = mc.gameRenderer.getCamera();
info.setReturnValue(Math.atan2(pos.getZ() - camera.getPos().z, pos.getX() - camera.getPos().x));
}
}
use of net.minecraft.client.render.Camera in project Hypnotic-Client by Hypnotic-Development.
the class Waypoints method render.
@EventTarget
public void render(EventRender3D event) {
MatrixStack matrices = event.getMatrices();
for (Waypoint waypoint : WaypointManager.INSTANCE.waypoints) {
if (waypoint.isEnabled()) {
Camera c = mc.gameRenderer.getCamera();
Vec3d vv = new Vec3d(waypoint.getX() + .5, c.getPos().y, waypoint.getZ() + .5);
double distance = vv.distanceTo(mc.player.getPos());
int a = 255;
float scale = 3f;
scale /= 50f;
scale *= 0.55f;
if (distance < 100) {
a = (int) ((distance / 100) * 255);
} else
scale *= distance / 100d;
RenderUtils.drawBoxOutline(new Box(new BlockPos(waypoint.getX(), 0, waypoint.getZ())).stretch(0, 500, 0), QuadColor.single(ColorUtils.defaultClientColor), 1);
RenderUtils.drawBoxFill(new Box(new BlockPos(waypoint.getX(), 0, waypoint.getZ())).stretch(0, 500, 0), QuadColor.single(new Color(ColorUtils.defaultClientColor().getRed(), ColorUtils.defaultClientColor().getGreen(), ColorUtils.defaultClientColor().getBlue(), a).getRGB()));
Vec3d textPos = new Vec3d(waypoint.getX() + 0.5, c.getPos().y, waypoint.getZ() + 0.25);
matrices.push();
matrices.translate(textPos.x - c.getPos().x - 1, textPos.y - c.getPos().y + 2, textPos.z - c.getPos().z - 0.5);
matrices.translate(0, scale * 6, 0);
matrices.scale(-scale, -scale, scale);
Quaternion qu = mc.getEntityRenderDispatcher().getRotation();
qu = new Quaternion(-qu.getX(), -qu.getY(), qu.getZ(), qu.getW());
matrices.multiply(qu);
VertexConsumerProvider.Immediate immediate = VertexConsumerProvider.immediate(Tessellator.getInstance().getBuffer());
RenderSystem.disableDepthTest();
RenderSystem.polygonOffset(1, -15000000);
RenderSystem.enablePolygonOffset();
FontManager.robotoBig.drawCenteredString(matrices, waypoint.getName() + " " + Math.round(PlayerUtils.distanceTo(new BlockPos(waypoint.getX(), mc.player.getY(), waypoint.getZ()))) + "m", 0, 0, -1, true);
RenderSystem.polygonOffset(1, 15000000);
RenderSystem.disablePolygonOffset();
RenderSystem.enableDepthTest();
immediate.draw();
matrices.pop();
}
}
}
use of net.minecraft.client.render.Camera in project Hypnotic-Client by Hypnotic-Development.
the class ESP method renderOutline.
void renderOutline(Entity e, Color color, MatrixStack stack) {
float red = color.getRed() / 255f;
float green = color.getGreen() / 255f;
float blue = color.getBlue() / 255f;
float alpha = color.getAlpha() / 255f;
Camera c = mc.gameRenderer.getCamera();
Vec3d camPos = c.getPos();
Vec3d start = e.getPos().subtract(camPos);
float x = (float) start.x;
float y = (float) start.y;
float z = (float) start.z;
double r = Math.toRadians(-c.getYaw() + 90);
float sin = (float) (Math.sin(r) * (e.getWidth() / 1.7));
float cos = (float) (Math.cos(r) * (e.getWidth() / 1.7));
stack.push();
Matrix4f matrix = stack.peek().getPositionMatrix();
BufferBuilder buffer = Tessellator.getInstance().getBuffer();
RenderSystem.setShader(GameRenderer::getPositionColorShader);
GL11.glDepthFunc(GL11.GL_ALWAYS);
RenderSystem.setShaderColor(1f, 1f, 1f, 1f);
RenderSystem.defaultBlendFunc();
RenderSystem.enableBlend();
buffer.begin(VertexFormat.DrawMode.DEBUG_LINES, VertexFormats.POSITION_COLOR);
buffer.vertex(matrix, x + sin, y, z + cos).color(red, green, blue, alpha).next();
buffer.vertex(matrix, x - sin, y, z - cos).color(red, green, blue, alpha).next();
buffer.vertex(matrix, x - sin, y, z - cos).color(red, green, blue, alpha).next();
buffer.vertex(matrix, x - sin, y + e.getHeight(), z - cos).color(red, green, blue, alpha).next();
buffer.vertex(matrix, x - sin, y + e.getHeight(), z - cos).color(red, green, blue, alpha).next();
buffer.vertex(matrix, x + sin, y + e.getHeight(), z + cos).color(red, green, blue, alpha).next();
buffer.vertex(matrix, x + sin, y + e.getHeight(), z + cos).color(red, green, blue, alpha).next();
buffer.vertex(matrix, x + sin, y, z + cos).color(red, green, blue, alpha).next();
buffer.end();
BufferRenderer.draw(buffer);
GL11.glDepthFunc(GL11.GL_LEQUAL);
RenderSystem.disableBlend();
stack.pop();
}
use of net.minecraft.client.render.Camera in project Client by MatHax.
the class MouseMixin method updateMouseChangeLookDirection.
@Redirect(method = "updateMouse", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/network/ClientPlayerEntity;changeLookDirection(DD)V"))
private void updateMouseChangeLookDirection(ClientPlayerEntity player, double cursorDeltaX, double cursorDeltaY) {
Freecam freecam = Modules.get().get(Freecam.class);
FreeLook freeLook = Modules.get().get(FreeLook.class);
if (freecam.isActive())
freecam.changeLookDirection(cursorDeltaX * 0.15, cursorDeltaY * 0.15);
else if (Modules.get().isActive(HighwayBuilder.class)) {
Camera camera = client.gameRenderer.getCamera();
((ICamera) camera).setRot(camera.getYaw() + cursorDeltaX * 0.15, camera.getPitch() + cursorDeltaY * 0.15);
} else if (freeLook.cameraMode()) {
freeLook.cameraYaw += cursorDeltaX / freeLook.sensitivity.get().floatValue();
freeLook.cameraPitch += cursorDeltaY / freeLook.sensitivity.get().floatValue();
if (Math.abs(freeLook.cameraPitch) > 90.0F)
freeLook.cameraPitch = freeLook.cameraPitch > 0.0F ? 90.0F : -90.0F;
} else
player.changeLookDirection(cursorDeltaX, cursorDeltaY);
}
use of net.minecraft.client.render.Camera in project Client by MatHax.
the class Waypoints method onRender2D.
@EventHandler
private void onRender2D(Render2DEvent event) {
if (!Modules.get().isActive(WaypointsModule.class))
return;
TextRenderer text = TextRenderer.get();
for (Waypoint waypoint : this) {
if (!waypoint.visible || !checkDimension(waypoint))
continue;
Camera camera = mc.gameRenderer.getCamera();
double x = getCoords(waypoint).x;
double y = getCoords(waypoint).y;
double z = getCoords(waypoint).z;
double dist = PlayerUtils.distanceToCamera(x, y, z);
if (dist > waypoint.maxVisibleDistance)
continue;
double scale = waypoint.scale;
double a = 1;
if (dist < 10) {
a = dist / 10;
if (a < 0.1)
continue;
}
double maxViewDist = mc.options.viewDistance * 16;
if (dist > maxViewDist) {
double dx = x - camera.getPos().x;
double dy = y - camera.getPos().y;
double dz = z - camera.getPos().z;
double length = Math.sqrt(dx * dx + dy * dy + dz * dz);
dx /= length;
dy /= length;
dz /= length;
dx *= maxViewDist;
dy *= maxViewDist;
dz *= maxViewDist;
x = camera.getPos().x + dx;
y = camera.getPos().y + dy;
z = camera.getPos().z + dz;
scale /= dist / 15;
scale *= maxViewDist / 15;
}
scale = Utils.clamp(scale, waypoint.minScale, Integer.MAX_VALUE);
pos.set(x, y, z);
if (!NametagUtils.to2D(pos, scale))
continue;
NametagUtils.begin(pos);
int preBgA = BACKGROUND.a;
int preTextA = TEXT.a;
BACKGROUND.a *= a;
TEXT.a *= a;
String distText = Math.round(dist) + " blocks";
text.beginBig();
double w = text.getWidth(waypoint.name) / 2.0;
double w2 = text.getWidth(distText) / 2.0;
double h = text.getHeight();
Renderer2D.COLOR.begin();
Renderer2D.COLOR.quad(-w, -h, w * 2, h * 2, BACKGROUND);
Renderer2D.COLOR.render(null);
waypoint.renderIcon(-16, h + 1, a, 32);
text.render(waypoint.name, -w, -h + 1, TEXT);
text.render(distText, -w2, 0, TEXT);
text.end();
NametagUtils.end();
BACKGROUND.a = preBgA;
TEXT.a = preTextA;
}
}
Aggregations