🧩 Arquitectura y Análisis de Mixins
| Parámetro | Detalles técnicos |
|---|---|
| Root Package | net.vanillaoutsider.bedchathider |
| Mixin Configuration | vanilla-outsider-bed-chat-hider.mixins.json |
| Compatibility Level | JAVA_25 |
| Default Require Count | 1 (injectors.defaultRequire: 1) |
🏛️ Descripción general de arquitectura de clases
[ BedChatHiderClient ]
(ClientModInitializer)
│
┌───────────────┴───────────────┐
▼ ▼
[ InBedChatScreenMixin ] [ ChatScreenMixin ]
(Widget & Layout Injection) (Input & Render Gating)
│ │
▼ ▼
Reposiciona 'Salir de la cama' y botón 'Ocultar chat' Omite renderizado de chat, teclas, clics y rueda🔍 Inventario detallado de inyecciones Mixin
1. InBedChatScreenMixin (InBedChatScreen.class)
- Método objetivo:
init() - Punto de inyección:
@At("TAIL") - Acciones:
- Redimensiona
leaveBedButtonde $200\text{px}$ a $98\text{px}$ en $X = W/2 - 100$. - Agrega botón conmutador
Buttonde $98\text{px}$ en $X = W/2 + 2, Y = H - 40$. - Sincroniza visibilidad y enfoque de
inputmediantebedchathider$updateChatState().
- Redimensiona
2. ChatScreenMixin (ChatScreen.class)
- Método objetivo 1:
extractRenderState(GuiGraphicsExtractor, int, int, float, CallbackInfo)@At("HEAD"),cancellable = true- Cuando
hideChates true enInBedChatScreen: invocasuper.extractRenderStatey cancela el renderizado deChatScreen.
- Método objetivo 2:
keyPressed(KeyEvent, CallbackInfoReturnable<Boolean>)@At("HEAD"),cancellable = true- Redirige a
super.keyPressed(event)para deshabilitar escritura y navegación de flechas.
- Método objetivo 3:
mouseClicked(MouseButtonEvent, boolean, CallbackInfoReturnable<Boolean>)@At("HEAD"),cancellable = true- Redirige a
super.mouseClicked(event, doubleClick)para deshabilitar clics en URLs del chat.
- Método objetivo 4:
mouseScrolled(double, double, double, double, CallbackInfoReturnable<Boolean>)@At("HEAD"),cancellable = true- Redirige a
super.mouseScrolled(x, y, scrollX, scrollY)para deshabilitar desplazamiento del historial.
Páginas relacionadas: Inicio | Interfaz y Disposición de Cama | Visibilidad del Chat y Bloqueo de Entrada
