🧩 Arsitektur & Analisis Mixin
| Parameter | Rincian Teknis |
|---|---|
| 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) |
🏛️ Ringkasan Arsitektur Kelas
[ BedChatHiderClient ]
(ClientModInitializer)
│
┌───────────────┴───────────────┐
▼ ▼
[ InBedChatScreenMixin ] [ ChatScreenMixin ]
(Widget & Layout Injection) (Input & Render Gating)
│ │
▼ ▼
Posisikan ulang 'Tinggalkan Tempat Tidur' & tombol 'Sembunyikan Obrolan' Lewati render obrolan, tombol keyboard, klik, dan scroll🔍 Inventaris Injeksi Mixin Terperinci
1. InBedChatScreenMixin (InBedChatScreen.class)
- Metode Target:
init() - Titik Injeksi:
@At("TAIL") - Tindakan:
- Mengubah ukuran
leaveBedButtondari $200\text{px}$ menjadi $98\text{px}$ pada $X = W/2 - 100$. - Menambahkan
Buttontoggle berukuran $98\text{px}$ pada $X = W/2 + 2, Y = H - 40$. - Menyelaraskan visibilitas kotak
inputdan status fokus viabedchathider$updateChatState().
- Mengubah ukuran
2. ChatScreenMixin (ChatScreen.class)
- Metode Target 1:
extractRenderState(GuiGraphicsExtractor, int, int, float, CallbackInfo)@At("HEAD"),cancellable = true- Saat
hideChatbernilai true diInBedChatScreen: memanggilsuper.extractRenderStatedan membatalkan renderingChatScreen.
- Metode Target 2:
keyPressed(KeyEvent, CallbackInfoReturnable<Boolean>)@At("HEAD"),cancellable = true- Mengalihkan ke
super.keyPressed(event)untuk menonaktifkan pengetikan teks dan tombol navigasi panah.
- Metode Target 3:
mouseClicked(MouseButtonEvent, boolean, CallbackInfoReturnable<Boolean>)@At("HEAD"),cancellable = true- Mengalihkan ke
super.mouseClicked(event, doubleClick)untuk mencegah klik URL tautan obrolan.
- Metode Target 4:
mouseScrolled(double, double, double, double, CallbackInfoReturnable<Boolean>)@At("HEAD"),cancellable = true- Mengalihkan ke
super.mouseScrolled(x, y, scrollX, scrollY)untuk menonaktifkan gulir riwayat obrolan.
Halaman Terkait: Beranda | Tata Letak UI Layar Tempat Tidur | Visibilitas Obrolan & Pemblokiran Input
