Начинающий
- Статус
- Оффлайн
- Регистрация
- 8 Авг 2024
- Сообщения
- 6
- Реакции
- 0
- Выберите загрузчик игры
- OptiFine
ss:
Моя первая работа не бейте паже :)
утилка ниже не забывайте
Утилку кидать в expensive/utils/client
Watermark:
утилка:
Пожалуйста, авторизуйтесь для просмотра ссылки.
Моя первая работа не бейте паже :)
утилка ниже не забывайте
Утилку кидать в expensive/utils/client
Watermark:
Java:
package im.expensive.ui.display.impl;
import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.functions.impl.render.HUD;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.ui.styles.Style;
import im.expensive.utils.client.PingUtil;
import im.expensive.utils.math.Vector4i;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.KawaseBlur;
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.Minecraft;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;
@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class WatermarkRenderer implements ElementRenderer {
final Minecraft mc = Minecraft.getInstance();
String palka = " | ";
String palka2 = " | ";
[USER=1367676]@override[/USER]
public void render(EventDisplay eventDisplay) {
MatrixStack ms = eventDisplay.getMatrixStack();
float posX = 3;
float posY = 3.7f;
float padding = 3;
float fontSize = 7f;
float iconSize = 8;
float localHeight = fontSize + padding * 2;
final ResourceLocation logo = new ResourceLocation("expensive/images/krug/1.png");
Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();
int fps = mc.getDebugFPS();
drawStyledRect(posX, posY, 113, localHeight + 2, 1);
Fonts.geo.drawText(ms, " Catlavan" , posX+padding+3, posY + 1.3f + padding + 1, ColorUtils.rgb(255,255,255), fontSize );
Fonts.geo.drawText(ms, " " + palka + "fps " + mc.getDebugFPS() + palka + " " + PingUtil.calculatePing()+" ping" , posX+padding+3, posY + 1.3f + padding + 1, ColorUtils.rgb(255,255,255), fontSize );
DisplayUtils.drawImage(logo, 5, 3, 16, 16, ColorUtils.rgb(255,255,255));
}
private void drawStyledRect(float x,
float y,
float width,
float height,
float radius) {
Vector4i vector4i = new Vector4i(HUD.getColor(50), HUD.getColor(160), HUD.getColor(100), HUD.getColor(80));
//DisplayUtils.drawShadow(posX, posY, width, height, 10, ColorUtils.getColor(0));
DisplayUtils.drawRoundedRect(x, y, width, height , radius + 1, ColorUtils.rgba(0, 0, 0, 200));
//после - идет цифра которая в утилке i и эта i каждые 15 милисекунд меняется благодаря чему отрисовывается картинка и в итоге получается такая гифка, а так же numImages кол-во картинок которое вы хотите отрисовать
}
}
утилка:
Java:
package im.expensive.utils.client;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.item.ItemStack;
import org.lwjgl.opengl.GL11;
public class PingUtil implements IMinecraft {
public static String calculateBPS() {
return String.format("%.2f", Math.hypot(mc.player.getPosX() - mc.player.prevPosX, mc.player.getPosZ() - mc.player.prevPosZ) * (double) mc.timer.timerSpeed * 20.0D);
}
public static void drawItemStack(ItemStack stack, float x, float y, boolean withoutOverlay, boolean scale, float scaleValue) {
RenderSystem.pushMatrix();
RenderSystem.translatef(x, y, 0);
if (scale) GL11.glScaled(scaleValue, scaleValue, scaleValue);
mc.getItemRenderer().renderItemAndEffectIntoGUI(stack, 0, 0);
if (withoutOverlay) mc.getItemRenderer().renderItemOverlays(mc.fontRenderer, stack, 0, 0);
RenderSystem.popMatrix();
}
public static int calculatePing() {
return mc.player.connection.getPlayerInfo(mc.player.getUniqueID()) != null ?
mc.player.connection.getPlayerInfo(mc.player.getUniqueID()).getResponseTime() : 0;
}
public static String serverIP() {
return mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP != null && !mc.isSingleplayer() ? mc.getCurrentServerData().serverIP : "";
}
Вложения
Последнее редактирование: