Skip to content

🖥️ HUD, Diagnostics & Rendu de l'Interface

ParamètreSpécification
Moteur Graphiquenet.minecraft.client.gui.GuiGraphicsExtractor
Contexte d'Écrannet.minecraft.client.gui.screens.worldselection.AbstractGameRulesScreen
Couleur au Survol0xFFFFFFAA (Légère lueur jaune)
Couleur Standard0xFFFFFFFF (Blanc franc)
Cadre de Survol0x22FFFFFF (Rectangle blanc transparent)
Ligne de Séparation0x44AAAAAA (Ligne de bordure)
Couleur Bouton Actif0x4400FF00 (Vert émeraude)
Couleur Bouton Inactif0x44FF0000 (Rouge rubis)
Narration d'AccessibilitéNarratedElementType.TITLE (NarrationPriority.HOVERED)

📖 Vue d'Ensemble

Minecraft 26.2 a totalement repensé le pipeline de rendu du client, migrant le dessin des interfaces vers le système GuiGraphicsExtractor.

Collapsible Game Rules a été écrit sur mesure pour ce moteur, garantissant un rendu vectoriel sans ralentissement.


🎨 Palette de Couleurs

ÉlémentCode Hex ARGBDescriptionApplication
Fond au Survol0x22FFFFFFRectangle blanc avec 13% d'opacité.En-tête des catégories et actions globales.
Ligne de Bordure0x44AAAAAATrait gris clair de 1px avec 27% d'opacité.Ligne basse des catégories et actions.
Texte au Survol0xFFFFFFAAJaune doux éclatant.Libellés des catégories et boutons survolés.
Texte Normal0xFFFFFFFFBlanc pur à 100%.Titres réguliers et badges de comptage.
Badge de ComptageChatFormatting.GRAYGris Vanilla ( (N rules)).Suffixe accolé au nom des catégories.
Bouton Activé0x4400FF00Vert émeraude avec 27% d'opacité.Fond de l'état ✔ ON dans BooleanToggleWidget.
Bouton Désactivé0x44FF0000Rouge rubis avec 27% d'opacité.Fond de l'état ✖ OFF dans BooleanToggleWidget.

💻 Implémentation du Rendu

java
@Override
public void extractContent(GuiGraphicsExtractor graphics, int mouseX, int mouseY, boolean hovered, float a) {
    // 1. Premium Highlight on hover
    if (hovered) {
        graphics.fill(this.getX() - 2, this.getY(), this.getX() + this.getWidth() + 2, this.getY() + 24, 0x22FFFFFF);
    }

    // 2. Directional arrow, label, and child count badge
    String prefix = this.expanded ? "▼ " : "▶ ";
    Component countBadge = Component.literal(" (" + this.childCount + " rules)").withStyle(ChatFormatting.GRAY);
    Component display = Component.literal(prefix).append(this.label).append(countBadge);

    // 3. Centered text with dynamic hover tint
    graphics.centeredText(Minecraft.getInstance().font, display,
            this.getContentXMiddle(), this.getContentY() + 5, hovered ? 0xFFFFFFAA : 0xFFFFFFFF);
    
    // 4. Subtle separating line at the bottom
    graphics.fill(this.getX() + 10, this.getY() + 23, this.getX() + this.getWidth() - 10, this.getY() + 24, 0x44AAAAAA);
}

🔊 Effets Sonores et Retours Audio

  • Événement : SoundEvents.UI_BUTTON_CLICK
  • Volume : 1.0F
  • Pitch : 1.0F
  • Déclencheurs :
    • Clic gauche ou droit sur un en-tête.
    • Touches Espace / Entrée sur une catégorie sélectionnée.
    • Flèche gauche (fermer) ou Flèche droite (ouvrir).
    • Clics sur « Expand All » ou « Collapse All ».

🔗 Documentation Associée

Official documentation & web portal for Dasik Igaijinn mods.