Исходник Potions expensive 3.1 ready

Начинающий
Статус
Оффлайн
Регистрация
19 Янв 2024
Сообщения
69
Реакции[?]
0
Поинты[?]
0
немного кривые но кому не трудно исправит и немного сломал картинки кто захочет пофиксит
Пожалуйста, авторизуйтесь для просмотра ссылки.

potion:
package wtf.resolute.ui.HUD.impl;

import com.google.common.collect.Lists;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.DisplayEffectsScreen;
import net.minecraft.client.gui.IngameGui;
import net.minecraft.client.renderer.texture.PotionSpriteUploader;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.potion.Effect;
import net.optifine.reflect.Reflector;
import wtf.resolute.evented.EventDisplay;
import wtf.resolute.ui.DisplayElement.ElementRenderer;
import wtf.resolute.manage.drag.Dragging;
import wtf.resolute.utiled.render.ColorUtils;
import wtf.resolute.utiled.render.DisplayUtils;
import wtf.resolute.utiled.render.Scissor;
import wtf.resolute.utiled.render.font.Fonts;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.resources.I18n;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.EffectUtils;

import java.awt.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
import java.util.Iterator;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class PotionRender implements HudElement {


    final Dragging dragging;


    float width;
    float height;

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float posX = dragging.getX();
        float posY = dragging.getY();
        float fontSize = 6.5f;
        float padding = 5;
        int color = ThemePiccer.color;
        int color2 = ThemePiccer.color2;

        DisplayUtils.drawShadow(posX, posY, width + 8, height, 8, new Color(16, 16, 16).getRGB());
        DisplayUtils.drawRoundedRect(posX, posY, width + 8, height, 3, DisplayUtils.reAlphaInt(new Color(8, 8, 8).getRGB(), 210));
        Scissor.push();
        Scissor.setFromComponentCoordinates(posX, posY, width + 8, height);
        Fonts.sfbold.drawCenteredText(ms, "Potions", posX + (width + 8) / 2, posY + padding + 0.5f,-1, fontSize);

        posY += fontSize + padding * 2;

        float maxWidth = Fonts.sfbold.getWidth("Potions", fontSize) + padding * 2;
        float localHeight = fontSize + padding * 2;

        DisplayUtils.drawRectHorizontalW(posX + 0.5f, posY, width - 1 + 8, 2.5f, 3, ColorUtils.rgba(0, 0, 0, (int) (255 * 0.25f)));
        posY += 3f;

        for (EffectInstance ef : mc.player.getActivePotionEffects()) {
            int amp = ef.getAmplifier();

            String ampStr = "";

            if (amp >= 1 && amp <= 9) {
                ampStr = " " + I18n.format("enchantment.level." + (amp + 1));
            }

            String nameText = I18n.format(ef.getEffectName()) + ampStr;
            float nameWidth = Fonts.sfMedium.getWidth(nameText, fontSize);

            String bindText = EffectUtils.getPotionDurationString(ef, 1);
            float bindWidth = Fonts.sfMedium.getWidth(bindText, fontSize);
            float localWidth = nameWidth + bindWidth + padding * 3;
            Fonts.sfMedium.drawText(ms, I18n.format(ef.getEffectName(), new Object[0]), posX + padding + 8, posY, ColorUtils.rgba(210, 210, 210, 255), fontSize);
            Fonts.sfMedium.drawText(ms, bindText, posX + width - padding - bindWidth + 8, posY, ColorUtils.rgba(210, 210, 210, 255), fontSize);
            Effect effect = ef.getPotion();
            PotionSpriteUploader potionspriteuploader = mc.getPotionSpriteUploader();
            TextureAtlasSprite textureatlassprite = potionspriteuploader.getSprite(effect);
            mc.getTextureManager().bindTexture(textureatlassprite.getAtlasTexture());
            DisplayEffectsScreen.blit(ms, (int) (posX + padding), (int) posY - 1, 10, 8, 8, textureatlassprite);
            if (localWidth > maxWidth) {
                maxWidth = localWidth;
            }

            posY += (fontSize + padding);
            localHeight += (fontSize + padding);
        }
        Scissor.unset();
        Scissor.pop();
        width = Math.max(maxWidth, 80);
        height = localHeight + 2.5f;
        dragging.setWidth(width);
        dragging.setHeight(height);
    }
}
бля я думал пастеры хоть умеют поменять цвет кейбиндов и зарендерить иконки
 
Начинающий
Статус
Оффлайн
Регистрация
26 Фев 2024
Сообщения
399
Реакции[?]
0
Поинты[?]
0
у меня ещё хуже вышло:


package im.expensive.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.ui.styles.Style;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.Scissor;
import im.expensive.utils.render.font.Fonts;
import im.expensive.utils.text.GradientUtil;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.resources.I18n;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.EffectUtils;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class PotionRenderer implements ElementRenderer {


final Dragging dragging;


float width;
float height;

@Override
public void render(EventDisplay eventDisplay) {
MatrixStack ms = eventDisplay.getMatrixStack();

float posX = dragging.getX();
float posY = dragging.getY();
float fontSize = 6.5f;
float padding = 5;

float iconSize = 0;
float localPosX = posX + iconSize + padding * 1;
iconSize = 1;

ITextComponent name = GradientUtil.gradient("Активные эффекты");

posY += 1f;
DisplayUtils.drawImage(new ResourceLocation("expensive/images/hud/potion.png"), posX + 3, posY - 17.5f, 14, 14, ColorUtils.getColor(0));

Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();

DisplayUtils.drawShadow(posX, posY, width, height, 10, style.getFirstColor().getRGB(), style.getSecondColor().getRGB());
drawStyledRect(posX, posY, width, height, 4);
Scissor.push();
Scissor.setFromComponentCoordinates(posX, posY, width, height);
Fonts.sfui.drawCenteredText(ms, name, posX + width / 2, posY + padding + 0.5f, fontSize);

posY += fontSize + padding * 2;

float maxWidth = Fonts.sfMedium.getWidth(name, fontSize) + padding * 2;
float localHeight = fontSize + padding * 2;

DisplayUtils.drawRectHorizontalW(posX + 0.5f, posY, width - 1, 2.5f, 3, ColorUtils.rgba(0, 0, 0, (int) (255 * 0.25f)));
posY += 3f;

for (EffectInstance ef : mc.player.getActivePotionEffects()) {
int amp = ef.getAmplifier();

String ampStr = "";

if (amp >= 1 && amp <= 9) {
ampStr = " " + I18n.format("enchantment.level." + (amp + 1));
}
String nameText = I18n.format(ef.getEffectName()) + ampStr;
float nameWidth = Fonts.sfMedium.getWidth(nameText, fontSize);

String bindText = EffectUtils.getPotionDurationString(ef, 1);
float bindWidth = Fonts.sfMedium.getWidth(bindText, fontSize);

float localWidth = nameWidth + bindWidth + padding * 3;

Fonts.sfMedium.drawText(ms, nameText, posX + padding, posY, ColorUtils.rgba(210, 210, 210, 255), fontSize);
Fonts.sfMedium.drawText(ms, bindText, posX + width - padding - bindWidth, posY, ColorUtils.rgba(210, 210, 210, 255), fontSize);

if (localWidth > maxWidth) {
maxWidth = localWidth;
}

posY += (fontSize + padding);
localHeight += (fontSize + padding);
}
Scissor.unset();
Scissor.pop();
width = Math.max(maxWidth, 80);
height = localHeight + 2.5f;
dragging.setWidth(width);
dragging.setHeight(height);
}

private void drawStyledRect(float x,
float y,
float width,
float height,
float radius) {

DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius + 0.5f, ColorUtils.getColor(0)); // outline
DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(21, 21, 21, 255));
}
}
даи пнг (на коленях, в слезах прошу прощения за то, что поднял тему:sob::sob::sob:)
 
Начинающий
Статус
Оффлайн
Регистрация
24 Авг 2022
Сообщения
165
Реакции[?]
0
Поинты[?]
0
БОЖЕ ТЫ ПАСТЕРЮГА ПОСМОТРИ НА СВОЕ ДЕРЬМО ПОТОМ ЧТОТО СРИ
Кто-то у меня выпрашивал AirPlace целую неделю, даже осталась переписка, но хочу тебя рассмешить ещё больше ты его добавил в свою пасту по такой же эффективности как у меня,то-есть ты являешься человеком не трудо-способным сделать что-то своё, хотя данная функция была в написании очень лёгкой)
 
Начинающий
Статус
Оффлайн
Регистрация
19 Янв 2024
Сообщения
69
Реакции[?]
0
Поинты[?]
0
Кто-то у меня выпрашивал AirPlace целую неделю, даже осталась переписка, но хочу тебя рассмешить ещё больше ты его добавил в свою пасту по такой же эффективности как у меня,то-есть ты являешься человеком не трудо-способным сделать что-то своё, хотя данная функция была в написании очень лёгкой)
дай оер плеис пжпжпжпжпжжпжп ппжпжпжж пжпжпжпжпжп жпжпжпжпжп пжжпжпп
 
Read Only
Статус
Оффлайн
Регистрация
31 Июл 2023
Сообщения
227
Реакции[?]
1
Поинты[?]
1K
немного кривые но кому не трудно исправит и немного сломал картинки кто захочет пофиксит
Пожалуйста, авторизуйтесь для просмотра ссылки.

potion:
package wtf.resolute.ui.HUD.impl;

import com.google.common.collect.Lists;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.DisplayEffectsScreen;
import net.minecraft.client.gui.IngameGui;
import net.minecraft.client.renderer.texture.PotionSpriteUploader;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.potion.Effect;
import net.optifine.reflect.Reflector;
import wtf.resolute.evented.EventDisplay;
import wtf.resolute.ui.DisplayElement.ElementRenderer;
import wtf.resolute.manage.drag.Dragging;
import wtf.resolute.utiled.render.ColorUtils;
import wtf.resolute.utiled.render.DisplayUtils;
import wtf.resolute.utiled.render.Scissor;
import wtf.resolute.utiled.render.font.Fonts;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.resources.I18n;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.EffectUtils;

import java.awt.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
import java.util.Iterator;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class PotionRender implements HudElement {


    final Dragging dragging;


    float width;
    float height;

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float posX = dragging.getX();
        float posY = dragging.getY();
        float fontSize = 6.5f;
        float padding = 5;
        int color = ThemePiccer.color;
        int color2 = ThemePiccer.color2;

        DisplayUtils.drawShadow(posX, posY, width + 8, height, 8, new Color(16, 16, 16).getRGB());
        DisplayUtils.drawRoundedRect(posX, posY, width + 8, height, 3, DisplayUtils.reAlphaInt(new Color(8, 8, 8).getRGB(), 210));
        Scissor.push();
        Scissor.setFromComponentCoordinates(posX, posY, width + 8, height);
        Fonts.sfbold.drawCenteredText(ms, "Potions", posX + (width + 8) / 2, posY + padding + 0.5f,-1, fontSize);

        posY += fontSize + padding * 2;

        float maxWidth = Fonts.sfbold.getWidth("Potions", fontSize) + padding * 2;
        float localHeight = fontSize + padding * 2;

        DisplayUtils.drawRectHorizontalW(posX + 0.5f, posY, width - 1 + 8, 2.5f, 3, ColorUtils.rgba(0, 0, 0, (int) (255 * 0.25f)));
        posY += 3f;

        for (EffectInstance ef : mc.player.getActivePotionEffects()) {
            int amp = ef.getAmplifier();

            String ampStr = "";

            if (amp >= 1 && amp <= 9) {
                ampStr = " " + I18n.format("enchantment.level." + (amp + 1));
            }

            String nameText = I18n.format(ef.getEffectName()) + ampStr;
            float nameWidth = Fonts.sfMedium.getWidth(nameText, fontSize);

            String bindText = EffectUtils.getPotionDurationString(ef, 1);
            float bindWidth = Fonts.sfMedium.getWidth(bindText, fontSize);
            float localWidth = nameWidth + bindWidth + padding * 3;
            Fonts.sfMedium.drawText(ms, I18n.format(ef.getEffectName(), new Object[0]), posX + padding + 8, posY, ColorUtils.rgba(210, 210, 210, 255), fontSize);
            Fonts.sfMedium.drawText(ms, bindText, posX + width - padding - bindWidth + 8, posY, ColorUtils.rgba(210, 210, 210, 255), fontSize);
            Effect effect = ef.getPotion();
            PotionSpriteUploader potionspriteuploader = mc.getPotionSpriteUploader();
            TextureAtlasSprite textureatlassprite = potionspriteuploader.getSprite(effect);
            mc.getTextureManager().bindTexture(textureatlassprite.getAtlasTexture());
            DisplayEffectsScreen.blit(ms, (int) (posX + padding), (int) posY - 1, 10, 8, 8, textureatlassprite);
            if (localWidth > maxWidth) {
                maxWidth = localWidth;
            }

            posY += (fontSize + padding);
            localHeight += (fontSize + padding);
        }
        Scissor.unset();
        Scissor.pop();
        width = Math.max(maxWidth, 80);
        height = localHeight + 2.5f;
        dragging.setWidth(width);
        dragging.setHeight(height);
    }
}
Пиздец главный пастер rich0.3.2 фак вернулся
удали нахуй intelij idea и все сурсы с компа
 
Начинающий
Статус
Оффлайн
Регистрация
30 Май 2023
Сообщения
25
Реакции[?]
0
Поинты[?]
0
немного кривые но кому не трудно исправит и немного сломал картинки кто захочет пофиксит
Пожалуйста, авторизуйтесь для просмотра ссылки.

potion:
package wtf.resolute.ui.HUD.impl;

import com.google.common.collect.Lists;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.DisplayEffectsScreen;
import net.minecraft.client.gui.IngameGui;
import net.minecraft.client.renderer.texture.PotionSpriteUploader;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.potion.Effect;
import net.optifine.reflect.Reflector;
import wtf.resolute.evented.EventDisplay;
import wtf.resolute.ui.DisplayElement.ElementRenderer;
import wtf.resolute.manage.drag.Dragging;
import wtf.resolute.utiled.render.ColorUtils;
import wtf.resolute.utiled.render.DisplayUtils;
import wtf.resolute.utiled.render.Scissor;
import wtf.resolute.utiled.render.font.Fonts;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.resources.I18n;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.EffectUtils;

import java.awt.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
import java.util.Iterator;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class PotionRender implements HudElement {


    final Dragging dragging;


    float width;
    float height;

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float posX = dragging.getX();
        float posY = dragging.getY();
        float fontSize = 6.5f;
        float padding = 5;
        int color = ThemePiccer.color;
        int color2 = ThemePiccer.color2;

        DisplayUtils.drawShadow(posX, posY, width + 8, height, 8, new Color(16, 16, 16).getRGB());
        DisplayUtils.drawRoundedRect(posX, posY, width + 8, height, 3, DisplayUtils.reAlphaInt(new Color(8, 8, 8).getRGB(), 210));
        Scissor.push();
        Scissor.setFromComponentCoordinates(posX, posY, width + 8, height);
        Fonts.sfbold.drawCenteredText(ms, "Potions", posX + (width + 8) / 2, posY + padding + 0.5f,-1, fontSize);

        posY += fontSize + padding * 2;

        float maxWidth = Fonts.sfbold.getWidth("Potions", fontSize) + padding * 2;
        float localHeight = fontSize + padding * 2;

        DisplayUtils.drawRectHorizontalW(posX + 0.5f, posY, width - 1 + 8, 2.5f, 3, ColorUtils.rgba(0, 0, 0, (int) (255 * 0.25f)));
        posY += 3f;

        for (EffectInstance ef : mc.player.getActivePotionEffects()) {
            int amp = ef.getAmplifier();

            String ampStr = "";

            if (amp >= 1 && amp <= 9) {
                ampStr = " " + I18n.format("enchantment.level." + (amp + 1));
            }

            String nameText = I18n.format(ef.getEffectName()) + ampStr;
            float nameWidth = Fonts.sfMedium.getWidth(nameText, fontSize);

            String bindText = EffectUtils.getPotionDurationString(ef, 1);
            float bindWidth = Fonts.sfMedium.getWidth(bindText, fontSize);
            float localWidth = nameWidth + bindWidth + padding * 3;
            Fonts.sfMedium.drawText(ms, I18n.format(ef.getEffectName(), new Object[0]), posX + padding + 8, posY, ColorUtils.rgba(210, 210, 210, 255), fontSize);
            Fonts.sfMedium.drawText(ms, bindText, posX + width - padding - bindWidth + 8, posY, ColorUtils.rgba(210, 210, 210, 255), fontSize);
            Effect effect = ef.getPotion();
            PotionSpriteUploader potionspriteuploader = mc.getPotionSpriteUploader();
            TextureAtlasSprite textureatlassprite = potionspriteuploader.getSprite(effect);
            mc.getTextureManager().bindTexture(textureatlassprite.getAtlasTexture());
            DisplayEffectsScreen.blit(ms, (int) (posX + padding), (int) posY - 1, 10, 8, 8, textureatlassprite);
            if (localWidth > maxWidth) {
                maxWidth = localWidth;
            }

            posY += (fontSize + padding);
            localHeight += (fontSize + padding);
        }
        Scissor.unset();
        Scissor.pop();
        width = Math.max(maxWidth, 80);
        height = localHeight + 2.5f;
        dragging.setWidth(width);
        dragging.setHeight(height);
    }
}
хуйня ебаная наренеймил своей хуйни нихуя не разберешь
 
Сверху Снизу