Начинающий
- Статус
- Оффлайн
- Регистрация
- 13 Июл 2025
- Сообщения
- 50
- Реакции
- 0
- Выберите загрузчик игры
- OptiFine
Ну что зумерские зумеры пастерочки пастеры ультра мега пастера я переделал свою работу все писали /del и хуйня
и поэтому я улучшил добавил скругления плавную анимацию наведения, черный цвет, и просто типо мне приятно для глаза
есть маленький джпт код!
потом пихаем куда то это
И это
И вот утилка
SS
и поэтому я улучшил добавил скругления плавную анимацию наведения, черный цвет, и просто типо мне приятно для глаза
есть маленький джпт код!
Код:
public void renderButton(MatrixStack ms, int mouseX, int mouseY, float partialTicks) {
Minecraft mc = Minecraft.getInstance();
FontRenderer fr = mc.fontRenderer;
boolean hovered = mouseX >= x && mouseY >= y &&
mouseX < x + width && mouseY < y + height;
hoverAnim = lerp(hoverAnim, hovered ? 1.0f : 0.0f, 0.15f);
RenderSystem.enableBlend();
RenderSystem.defaultBlendFunc();
RenderSystem.enableDepthTest();
RenderSystem.color4f(1F, 1F, 1F, alpha);
DisplayUtils.drawShadow(
x - 2, y - 2,
width + 4, height + 4,
10,
ColorUtils.setAlpha(0x000000, (int) (80 + hoverAnim * 40))
);
DisplayUtils.drawRoundedRect(
x - 0.5f, y - 0.5f,
width + 1, height + 1,
6,
ColorUtils.setAlpha(Color.BLACK.getRGB(), 120)
);
int base = ColorUtils.rgb(20, 22, 26);
int hover = ColorUtils.rgb(34, 38, 45);
int bgColor = ColorUtils.lerpColor(base, hover, hoverAnim);
DisplayUtils.drawRoundedRect(
x, y,
width, height,
5.5f,
bgColor
);
if (hoverAnim > 0.01f) {
DisplayUtils.drawRoundedRect(
x + 1, y + 1,
width - 2, height - 2,
4.5f,
ColorUtils.setAlpha(
ColorUtils.rgb(0, 170, 255),
(int) (hoverAnim * 80)
)
);
}
renderBg(ms, mc, mouseX, mouseY);
int textColor = active ? 0xFFFFFF : 0xA0A0A0;
textColor = ColorUtils.lerpColor(
ColorUtils.setAlpha(textColor, 200),
ColorUtils.setAlpha(0xFFFFFF, 255),
hoverAnim
);
textColor |= MathHelper.ceil(alpha * 255F) << 24;
drawCenteredString(
ms,
fr,
getMessage(),
x + width / 2,
y + (height - 8) / 2,
textColor
);
}
потом пихаем куда то это
Код:
private float hoverAnim = 0f;
И это
Код:
private float lerp(float start, float end, float speed) {
return start + (end - start) * speed;
}
И вот утилка
Код:
public static int lerpColor(int color1, int color2, float t) {
t = MathHelper.clamp(t, 0.0F, 1.0F);
int a1 = (color1 >> 24) & 0xFF;
int r1 = (color1 >> 16) & 0xFF;
int g1 = (color1 >> 8) & 0xFF;
int b1 = color1 & 0xFF;
int a2 = (color2 >> 24) & 0xFF;
int r2 = (color2 >> 16) & 0xFF;
int g2 = (color2 >> 8) & 0xFF;
int b2 = color2 & 0xFF;
int a = (int) (a1 + (a2 - a1) * t);
int r = (int) (r1 + (r2 - r1) * t);
int g = (int) (g1 + (g2 - g1) * t);
int b = (int) (b1 + (b2 - b1) * t);
return (a << 24) | (r << 16) | (g << 8) | b;
}
SS