🧩 Arquitetura e Análise de Mixins
| Parâmetro | Detalhes 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) |
🏛️ Visão geral da arquitetura de classes
[ BedChatHiderClient ]
(ClientModInitializer)
│
┌───────────────┴───────────────┐
▼ ▼
[ InBedChatScreenMixin ] [ ChatScreenMixin ]
(Widget & Layout Injection) (Input & Render Gating)
│ │
▼ ▼
Reposiciona 'Sair da cama' e botão 'Ocultar chat' Ignora renderização do chat, teclas, cliques e rolagem🔍 Inventário detalhado de injeções Mixin
1. InBedChatScreenMixin (InBedChatScreen.class)
- Método alvo:
init() - Ponto de injeção:
@At("TAIL") - Ações:
- Redimensiona
leaveBedButtonde $200\text{px}$ para $98\text{px}$ em $X = W/2 - 100$. - Adiciona o botão alternador
Buttonde $98\text{px}$ em $X = W/2 + 2, Y = H - 40$. - Sincroniza a visibilidade e o foco de
inputviabedchathider$updateChatState().
- Redimensiona
2. ChatScreenMixin (ChatScreen.class)
- Método alvo 1:
extractRenderState(GuiGraphicsExtractor, int, int, float, CallbackInfo)@At("HEAD"),cancellable = true- Quando
hideChatfor true emInBedChatScreen: invocasuper.extractRenderStatee cancela a renderização deChatScreen.
- Método alvo 2:
keyPressed(KeyEvent, CallbackInfoReturnable<Boolean>)@At("HEAD"),cancellable = true- Redireciona para
super.keyPressed(event)para desativar a digitação e navegação de setas.
- Método alvo 3:
mouseClicked(MouseButtonEvent, boolean, CallbackInfoReturnable<Boolean>)@At("HEAD"),cancellable = true- Redireciona para
super.mouseClicked(event, doubleClick)para desativar cliques em links do chat.
- Método alvo 4:
mouseScrolled(double, double, double, double, CallbackInfoReturnable<Boolean>)@At("HEAD"),cancellable = true- Redireciona para
super.mouseScrolled(x, y, scrollX, scrollY)para desativar rolagem do histórico.
Páginas relacionadas: Início | Interface da Cama e Layout | Visibilidade do Chat e Bloqueio de Entrada
