LoVisual/mod
loki5512344 0f1709f25c
Some checks failed
CI / backend (cargo test + clippy) (push) Failing after 1m19s
CI / frontend (lint + test + build) (push) Failing after 27s
CI / mod (gradle test + checkFolderLimit) (push) Successful in 1m56s
wip(spatialgui): isolate screen render state via second GuiRenderer
Also repairs origin/main: commit 39b270b1 accidentally registered two
SpatialGui mixins in lovisual.mixins.json without committing their
sources; this commit ships them.

Refactors the SpatialGui capture path to follow the upstream
Spatial-GUI architecture. Instead of cancelling and re-targeting the
main GuiRenderer.draw() pass (which required shadowing private fields
and rebuilding the projection matrices), the open screen is now
extracted into an isolated GuiRenderState + GuiRenderer pair owned by
SpatialGuiCapture:

- GuiSpatialExtractMixin @Redirects Screen.extractRenderStateWithTooltipAndSubtitles
  inside Gui.extractRenderState: while SpatialGui.isCapturing(), the
  screen is extracted into SpatialGuiCapture.extractScreen() using a
  private GuiRenderState instead of the vanilla main state, so the HUD
  pass no longer sees the screen content.
- GameRendererSpatialGuiMixin injects twice around GameRenderer.render:
  just before GuiRenderer.render() it resizes and clears the capture
  texture to transparent from the frame's WindowRenderState, and at
  TAIL it runs the isolated renderer's render()+endFrame() so the
  screen's draw list executes into the capture texture once the main
  HUD pass is done.
- GuiRendererCaptureMixin is now a @ModifyArg on the target argument of
  executeDrawRange inside GuiRenderer.draw(): if the instance is the
  isolated one, the target is swapped for SpatialGuiCapture.target();
  the vanilla main renderer keeps its normal framebuffer untouched.

SpatialGuiCapture gains screenRenderState, screenGuiRenderer, and the
extractScreen/renderIsolatedFrame/clearTransparent/target helpers.
SpatialGui.onRenderWorldEngine gets DebugLog.renderThreadOnChange
traces at each early-return branch (noLevel, closed, captureNotReady,
noTextureView, alpha0, published, closing, mesh) so plane publishing
can be diagnosed from a log without a debugger.

Docstring in SpatialGui updated to describe the new pipeline. Message
kept wip: this pass compiles clean and is behaviour-plausible, but I
have not run it against a live Minecraft session this turn.
2026-10-12 23:05:30 +02:00
..
config feat(mod): ProjectileTrails, KillEffect death modes (Shatter/Ascend/Explosion/Disintegrate), TNT fuse bar; compact TODO 2026-10-02 10:01:37 +02:00
docs refactor(mod): dispatch RenderBackendOps.current() by active backend (Stage 4 kickoff) 2026-10-12 22:10:10 +02:00
gradle/wrapper chore(history): squash 59 commit(s) from 2026-09-23 2026-09-23 22:38:08 +02:00
src wip(spatialgui): isolate screen render state via second GuiRenderer 2026-10-12 23:05:30 +02:00
tools chore(history): squash 100 commit(s) from 2026-09-24 2026-09-24 23:52:12 +02:00
.gitignore chore(history): squash 59 commit(s) from 2026-09-23 2026-09-23 22:38:08 +02:00
build.gradle feat: frontend perf and a11y pass, plus mod visuals, hero main menu, Simple Voice Chat and vanilla chat autocomplete 2026-10-01 21:29:54 +02:00
DEV_GUIDE.md chore(history): squash 59 commit(s) from 2026-09-23 2026-09-23 22:38:08 +02:00
gradle.properties feat(mod): Stage 3 steps 1-8 — DrawStats, SharedDepthFbos, AnimFreeze, ItemLod/Bounds, HudCache, raw vertices, ParallelModels 2026-10-12 14:51:41 +02:00
gradlew ci(release): commit the mod's Gradle wrapper launch scripts 2026-09-28 14:19:18 +02:00
gradlew.bat ci(release): commit the mod's Gradle wrapper launch scripts 2026-09-28 14:19:18 +02:00
LICENSE chore(history): squash 59 commit(s) from 2026-09-23 2026-09-23 22:38:08 +02:00
lombok.config chore(history): squash 59 commit(s) from 2026-09-23 2026-09-23 22:38:08 +02:00
NOTICE feat(mod): Stage 1 optimization helpers (backend-independent) 2026-10-10 14:50:50 +02:00
README.md docs: add a real root README and rewrite the frontend one 2026-09-28 17:28:41 +02:00
settings.gradle chore(history): squash 59 commit(s) from 2026-09-23 2026-09-23 22:38:08 +02:00
TODO.md feat(mod): cosmetics settings category with custom card previews, in-chat widget quick settings, HUD and ClickGUI look pages, TotemSound 2026-10-07 17:54:25 +02:00

LoVisual

Minecraft utility client for PvP and automation. Developed and maintained by loki5512344.

Java Fabric License

English | Русский


English

Overview

LoVisual is an open-source legit utility client for Minecraft. It provides configurable visual, HUD, and UI features with a custom ClickGUI, theme system, and addon API.

LoVisual is developed and maintained by loki5512344. The goal is to keep adding new features and maintain compatibility with the latest Minecraft versions.

Quick Start

  1. Install Fabric Loader 0.19.3+ for MC 26.2+
  2. Download the LoVisual jar
  3. Place it in your mods/ folder along with Fabric API and Sodium
  4. Open the ClickGUI with RShift (configurable)

Features

Feature Description
Combat ProjectilePuncher, Reach, RubberHand, SpearAssist, TPSSync, PvpCooldowns, NoFriendDamage, TargetESP, Predictions, DamageTint
Visuals ESP, NameTags, Chams, Crosshair, FullBright, MotionBlur, NoRender, Freecam, Hitboxes, Light, ChinaHat, Trinkets, SpatialGui, and more
Player AutoTool, ClickPearl, FakeLag, NoDelay, LockSlot, AutoRespawn, DeathCoords, NoInteract
Misc BetterMinecraft, FakePlayer, HitSounds, NameProtect, MessageFilter, NoSound, DefineTarget
HUD Draggable & static elements: TargetHUD, ModuleList, Watermark, Reach, Armor, Potions, Keystrokes, Coords, Notifications, Scoreboard
ClickGUI Full-featured GUI with module browser, settings editor, theme editor, config profiles
Config profiles .lvcfg profiles for modules, HUD, and themes — shareable between users
Addon API Versioned addon API for extending the client
Custom renderer Custom UI rendering with MSDF fonts, SVG icons, and shader support
Iris/Sodium/Xaero Optional compatibility with popular mods

Compatibility

Mod Status
Sodium ✅ Required
Iris ✅ Optional — shaderpack support
ImmediatelyFast ✅ Optional — performance
Entity Culling ✅ Optional — performance
Xaero's Minimap ✅ Optional — waypoint integration
Xaero's World Map ✅ Optional — waypoint integration
ViaFabricPlus ✅ Optional — protocol translation

Dependencies

  • Required: Fabric Loader 0.19.3+, Fabric API, Sodium, Java 25+
  • Optional: Iris, ImmediatelyFast, ViaFabricPlus, Entity Culling, Xaero's Minimap, Xaero's World Map

Installation

  1. Download the jar from Releases
  2. Place it in your mods/ folder
  3. Restart the game

Русский

Обзор

LoVisual — открытый легитный утилитарный клиент для Minecraft. Включает настраиваемые визуальные, HUD и UI-модули, кастомный ClickGUI, систему тем и API для аддонов.

LoVisual разрабатывается и поддерживается loki5512344. Цель — добавлять новые возможности и поддерживать актуальные версии Minecraft.

Быстрый старт

  1. Установите Fabric Loader 0.19.3+ для MC 26.2+
  2. Скачайте LoVisual jar
  3. Положите в папку mods/ вместе с Fabric API и Sodium
  4. Откройте ClickGUI через RShift (настраивается)

Возможности

Возможность Описание
Combat ProjectilePuncher, Reach, RubberHand, SpearAssist, TPSSync, PvpCooldowns, NoFriendDamage, TargetESP, Predictions, DamageTint
Visuals ESP, NameTags, Chams, Crosshair, FullBright, MotionBlur, NoRender, Freecam, Hitboxes, Light, ChinaHat, Trinkets, SpatialGui и другие
Player AutoTool, ClickPearl, FakeLag, NoDelay, LockSlot, AutoRespawn, DeathCoords, NoInteract
Misc BetterMinecraft, FakePlayer, HitSounds, NameProtect, MessageFilter, NoSound, DefineTarget
HUD Перетаскиваемые и статические элементы: TargetHUD, ModuleList, Watermark, Reach, Armor, Potions, Keystrokes, Coords, Notifications, Scoreboard
ClickGUI Полноценный GUI с браузером модулей, редактором настроек, тем и профилей конфигов
Профили .lvcfg Профили для модулей, HUD и тем — можно шарить между пользователями
Addon API Версионированное API для аддонов
Кастомный рендер UI-рендеринг с MSDF-шрифтами, SVG-иконками и шейдерами
Iris/Sodium/Xaero Опциональная совместимость с популярными модами

Совместимость

Мод Статус
Sodium ✅ Требуется
Iris ✅ Опционально — шейдерпаки
ImmediatelyFast ✅ Опционально — производительность
Entity Culling ✅ Опционально — производительность
Xaero's Minimap ✅ Опционально — интеграция waypoint
Xaero's World Map ✅ Опционально — интеграция waypoint
ViaFabricPlus ✅ Опционально — протокол

Зависимости

  • Обязательные: Fabric Loader 0.19.3+, Fabric API, Sodium, Java 25+
  • Опциональные: Iris, ImmediatelyFast, ViaFabricPlus, Entity Culling, Xaero's Minimap, Xaero's World Map

Установка

  1. Скачайте jar из Releases
  2. Положите в папку mods/
  3. Перезапустите игру

Development

Building

./gradlew build

Docs

License

GNU General Public License v3.0. See LICENSE.

Credits

  • The SpatialGui module (rendering the open screen as a 3D plane in the world) is adapted from Spatial GUI (MIT License).

TODO

План разработки и актуальный статус ведутся в TODO.md.