chore(history): squash 10 commit(s) from 2026-07-31

- feat: Фаза 1 ребрендинг combatant → lovisual + восстановление config
- refactor: Фаза 2 — выкинуть Runtime/JarReplacement, заменить на Lifecycle
- refactor: Фаза 3.5 — удалить читерские модули, ESP под легит
- refactor: Фаза 3 — разбить Renderer2D (3379→2150 фасад + 14 хелперов ≤200)
- refactor: Фаза 3 — разбить BetterChatRenderer (2870→210 фасад + 21 хелпер ≤200)
- refactor: Фаза 3 — разбить UnifiedSettingRenderer (2798→208 фасад + 24 хелпера ≤200)
- refactor: Фаза 3 — разбить ClickGuiRenderer (1887→542 фасад + 15 хелперов ≤200)
- refactor: Фаза 3 — разбить NameTags (1791→438 фасад + 11 хелперов ≤200)
- refactor: Фаза 3 — разбить TargetHud (1655→340 фасад + 11 хелперов ≤200)
- refactor: Фаза 3 — разбить ESP (1538→269 фасад + 11 хелперов ≤200)
This commit is contained in:
loki5512344 2026-07-31 23:14:14 +02:00
parent 8084ac50b3
commit 52d87368c9
1595 changed files with 35857 additions and 51145 deletions

View file

@ -1,5 +1,5 @@
/*
* This file is part of the Combatant Client distribution.
* This file is part of the LoVisual Client distribution.
* Copyright (c) 2026 pivosos2007.
*
* Licensed under the GNU General Public License v3.0.
@ -20,33 +20,33 @@ import org.spongepowered.asm.mixin.injection.At;
@Mixin(ItemFeatureRenderer.class)
public abstract class ItemFeatureRendererMixin {
@Unique
private static final int COMBATANT_VIEW_FADE_DITHER_MARK = 0x00010001;
private static final int LOVISUAL_VIEW_FADE_DITHER_MARK = 0x00010001;
@Unique
private static final int COMBATANT_VIEW_FADE_A2C_MARK = 0x00010100;
private static final int LOVISUAL_VIEW_FADE_A2C_MARK = 0x00010100;
@Unique
private static boolean combatant$isViewFadeMarked(int argb) {
private static boolean lovisual$isViewFadeMarked(int argb) {
int alpha = (argb >>> 24) & 0xFF;
if (alpha >= 255) {
return false;
}
int rgbMarker = argb & 0x00010101;
return rgbMarker == COMBATANT_VIEW_FADE_DITHER_MARK || rgbMarker == COMBATANT_VIEW_FADE_A2C_MARK;
return rgbMarker == LOVISUAL_VIEW_FADE_DITHER_MARK || rgbMarker == LOVISUAL_VIEW_FADE_A2C_MARK;
}
@Unique
private static boolean combatant$hasViewFadeTint(int[] tints) {
return tints != null && tints.length > 0 && combatant$isViewFadeMarked(tints[0]);
private static boolean lovisual$hasViewFadeTint(int[] tints) {
return tints != null && tints.length > 0 && lovisual$isViewFadeMarked(tints[0]);
}
@ModifyReturnValue(
method = "getLayerColorSafe([ILnet/minecraft/client/resources/model/geometry/BakedQuad$MaterialInfo;)I",
at = @At("RETURN")
)
private static int combatant$applyViewFadeToUntintedItemQuads(int original,
private static int lovisual$applyViewFadeToUntintedItemQuads(int original,
int[] tints,
BakedQuad.MaterialInfo materialInfo) {
if (original != -1 || !combatant$hasViewFadeTint(tints)) {
if (original != -1 || !lovisual$hasViewFadeTint(tints)) {
return original;
}
return tints[0];
@ -56,7 +56,7 @@ public abstract class ItemFeatureRendererMixin {
method = "prepareMainSubmit",
at = @At(value = "INVOKE", target = "Lnet/minecraft/client/resources/model/geometry/BakedQuad$MaterialInfo;itemRenderType()Lnet/minecraft/client/renderer/rendertype/RenderType;")
)
private RenderType combatant$useTranslucentRenderTypeForViewFadeItem(RenderType original,
private RenderType lovisual$useTranslucentRenderTypeForViewFadeItem(RenderType original,
@Local(argsOnly = true) ItemFeatureRenderer.Submit submit,
@Local(ordinal = 0) BakedQuad.MaterialInfo materialInfo) {
// Vanilla item translucent sheets render into ITEM_ENTITY_TARGET. For entity fade this can