- Статус
- Оффлайн
- Регистрация
- 6 Апр 2025
- Сообщения
- 368
- Реакции
- 5
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
сегодня в гайде покажу юным кодерам кубоголовым как же сделать сделать гуишку???
1. начинаем с создания главного класса нашей гуи

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

надеюсь гайд хоть кому то будет полезным, и дайте знать, делать ли ещё подобных гайдов?
За основу я взял базу @megaline234 , https://yougame.biz/threads/344595/
1. начинаем с создания главного класса нашей гуи


2. после чего мы создали главный класс нашей гуи, мы должны привязать класс к миксину (для открытия гуи на rshift)
заходим в класс KeyboardMixin и создаем новый оператор if
KeyBoardMixin:
if (action == 0) {
if (key == GLFW.GLFW_KEY_RIGHT_SHIFT) {
MinecraftClient.getInstance().setScreen(new GuiScreen(Text.of("Мой экран")));
}
}
3. после того как мы привязали главный класс гуи к миксину, мы беремся за рендер самой гуишки (сеттинги, рендер модулей и прочее)
p.s вот вам и готовые отрендеренные панельки
GuiScreen:
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);
}
}
}

надеюсь гайд хоть кому то будет полезным, и дайте знать, делать ли ещё подобных гайдов?