• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Гайд Делаем клиент с нуля 1.21.4 - GuiScreen aka ClickGui

  • Автор темы Автор темы dr3amq
  • Дата начала Дата начала
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
6 Апр 2025
Сообщения
368
Реакции
5
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
сегодня в гайде покажу юным кодерам кубоголовым как же сделать сделать гуишку???
За основу я взял базу @megaline234 , https://yougame.biz/threads/344595/


1. начинаем с создания главного класса нашей гуи
photo_2025-06-03_12-03-19.jpg photo_2025-06-03_12-02-19.jpg

2. после чего мы создали главный класс нашей гуи, мы должны привязать класс к миксину (для открытия гуи на rshift)
заходим в класс KeyboardMixin и создаем новый оператор if

KeyBoardMixin:
Expand Collapse Copy
        if (action == 0) {
            if (key == GLFW.GLFW_KEY_RIGHT_SHIFT) {
                MinecraftClient.getInstance().setScreen(new GuiScreen(Text.of("Мой экран")));
            }
        }

3. после того как мы привязали главный класс гуи к миксину, мы беремся за рендер самой гуишки (сеттинги, рендер модулей и прочее)

p.s вот вам и готовые отрендеренные панельки
GuiScreen:
Expand Collapse Copy
package xyz.Extencion.extencion.ui.gui;

import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.Element;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;
import xyz.Extencion.extencion.render.Renderer2d;

import java.awt.*;
import java.util.Optional;


public class GuiScreen extends Screen {
    public GuiScreen( Text title ) {
        super(title);
    }

    [USER=1367676]@override[/USER]
    public Optional<Element> hoveredElement( double mouseX, double mouseY ) {
        return super.hoveredElement(mouseX, mouseY);
    }

    private final int x = 165; // координата x
    private final int y = 100; // координата y
    private final int width = 120; // длинна
    private final int height = 250; // высота
    private final int gap = 6; // это отступ между панелькамиииииии


    [USER=1367676]@override[/USER]
    public void render(DrawContext context, int mouseX, int mouseY, float delta) {
        super.render(context, mouseX, mouseY, delta);
        for (int i = 0; i < 5; i++) {
            int panelX = x + i * (width + gap);
            boolean hovered = mouseX >= panelX && mouseX <= panelX + width &&
                    mouseY >= y && mouseY <= y + height;

            // цвет панелеееееееееееееек
            Color color = new Color(0x1a1a1a);
            MatrixStack matrices = context.getMatrices();
            // панелькииииииии
            Renderer2d.renderRoundedQuad(matrices, color, panelX, y, panelX + width, y + height, 5, 5);
        }
    }
}

Base Profile Screenshot 2025.06.03 - 12.08.11.91.png
надеюсь гайд хоть кому то будет полезным, и дайте знать, делать ли ещё подобных гайдов?
 
круто, особенно скрины крутые
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
смысл?
 
смысл?
На 1.16.5 + моджанг ебланы которые рендер движок перехуярили 4 раза и тот гайд уже не подходит
 
На 1.16.5 + моджанг ебланы которые рендер движок перехуярили 4 раза и тот гайд уже не подходит
гайд подходит под все версии, я даже об этом говорил:
1749081612222.png
 
Назад
Сверху Снизу