-
Автор темы
- #21
cогл автор тупой пидорас!!!!!!базовый худ с юг ну чуть поменян цвет
cогл автор тупой пидорас!!!!!!базовый худ с юг ну чуть поменян цвет
вот как раз, такие как ты и засоряют югеймБратиш, кому надо было, тот уже бы добавил тени и сделал их другого цвета. А так ты попусту засоряешь югейм. К тому же, тебе сказали, что лучше не стоит постить подобное, но ты посчитал, что никто не может жить без твоей залупы
а есть полный худ? очень красивоПосмотреть вложение 284270
Без понятия зачем я это заливаю, сделано за 12 минут.
Давайте без негатива, если вам не нравится - не скачивайте! но пожалуйста, не обсирайте, я сам все прекрасно знаю.
Думаю есть люди которым зайдет это
Будет много реакций - сделаю таргетхуд и ватермарку в этом стиле
(идею взял у тык )
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.api.Function; import im.expensive.ui.display.ElementRenderer; import im.expensive.utils.client.KeyStorage; 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.util.ResourceLocation; import net.minecraft.util.text.ITextComponent; @FieldDefaults(level = AccessLevel.PRIVATE) @RequiredArgsConstructor public class KeyBindRenderer implements ElementRenderer { final Dragging dragging; float iconSizeX = 10; float iconSizeY = 10; 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; ITextComponent name = GradientUtil.gradient("Hotkeys"); String namemod = "Hotkeys"; float finalPosY = posY; drawStyledRect(posX, finalPosY, width, height, 5); DisplayUtils.drawShadow(posX, posY, width, height, 15, ColorUtils.rgba(255,255,255,165)); Scissor.push(); Scissor.setFromComponentCoordinates(posX, posY, width, height); Fonts.sfui.drawText(ms, namemod, posX + padding, posY + padding + 1, ColorUtils.rgb(0, 0, 0),fontSize); posY += fontSize + padding * 2; float maxWidth = Fonts.sfMedium.getWidth(name, fontSize) + padding * 2; float localHeight = fontSize + padding * 2; for (Function f : Expensive.getInstance().getFunctionRegistry().getFunctions()) { f.getAnimation().update(); if (!(f.getAnimation().getValue() > 0) || f.getBind() == 0) continue; String nameText = f.getName(); float nameWidth = Fonts.sfMedium.getWidth(nameText, fontSize); String bindText = KeyStorage.getKey(f.getBind()); float bindWidth = Fonts.sfMedium.getWidth(bindText, fontSize); float localWidth = nameWidth + bindWidth + padding * 3; Fonts.sfMedium.drawText(ms, nameText, posX + padding, posY + 0.5f, ColorUtils.rgba(0, 0, 0, (int) (255 * f.getAnimation().getValue())), fontSize); Fonts.sfMedium.drawText(ms, bindText, posX + width - padding - bindWidth, posY + 0.5f, ColorUtils.rgba(0, 0, 0, (int) (255 * f.getAnimation().getValue())), fontSize); if (localWidth > maxWidth) { maxWidth = localWidth; } posY += (float) ((fontSize + padding) * f.getAnimation().getValue()); localHeight += (float) ((fontSize + padding) * f.getAnimation().getValue()); } 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.setAlpha(ColorUtils.rgb(18,16,16), 90)); DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(255, 255, 255, 190)); } }
Java:package im.expensive.ui.display.impl; import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.platform.GlStateManager; import im.expensive.Expensive; import im.expensive.command.staffs.StaffStorage; import im.expensive.events.EventDisplay; import im.expensive.events.EventUpdate; import im.expensive.ui.display.ElementRenderer; import im.expensive.ui.display.ElementUpdater; 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.KawaseBlur; import im.expensive.utils.render.Scissor; import im.expensive.utils.render.font.Fonts; import im.expensive.utils.text.GradientUtil; import lombok.AccessLevel; import lombok.AllArgsConstructor; import lombok.Data; import lombok.RequiredArgsConstructor; import lombok.experimental.FieldDefaults; import net.minecraft.client.network.play.NetworkPlayerInfo; import net.minecraft.scoreboard.ScorePlayerTeam; import net.minecraft.scoreboard.Team; import net.minecraft.util.ResourceLocation; import net.minecraft.util.text.ITextComponent; import net.minecraft.world.GameType; import ru.hogoshi.Animation; import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.Locale; import java.util.regex.Pattern; @FieldDefaults(level = AccessLevel.PRIVATE) @RequiredArgsConstructor public class StaffListRenderer implements ElementRenderer, ElementUpdater { final Dragging dragging; private final List<Staff> staffPlayers = new ArrayList<>(); private final Pattern namePattern = Pattern.compile("^\\w{3,16}$"); private final Pattern prefixMatches = Pattern.compile(".*(mod|der|adm|help|wne|хелп|адм|поддержка|кура|own|taf|curat|dev|supp|yt|сотруд).*"); @Override public void update(EventUpdate e) { staffPlayers.clear(); for (ScorePlayerTeam team : mc.world.getScoreboard().getTeams().stream().sorted(Comparator.comparing(Team::getName)).toList()) { String name = team.getMembershipCollection().toString().replaceAll("[\\[\\]]", ""); boolean vanish = true; for (NetworkPlayerInfo info : mc.getConnection().getPlayerInfoMap()) { if (info.getGameProfile().getName().equals(name)) { vanish = false; } } if (namePattern.matcher(name).matches() && !name.equals(mc.player.getName().getString())) { if (!vanish) { if (prefixMatches.matcher(team.getPrefix().getString().toLowerCase(Locale.ROOT)).matches() || StaffStorage.isStaff(name)) { Staff staff = new Staff(team.getPrefix(), name, false, Status.NONE); staffPlayers.add(staff); } } if (vanish && !team.getPrefix().getString().isEmpty()) { Staff staff = new Staff(team.getPrefix(), name, true, Status.VANISHED); staffPlayers.add(staff); } } } } float width; float height; @Override public void render(EventDisplay eventDisplay) { MatrixStack ms = eventDisplay.getMatrixStack(); float posX = dragging.getX(); float posY = dragging.getY(); float padding = 5; float fontSize = 6.5f; ITextComponent name = GradientUtil.gradient("Staff"); String namemod = "Staff"; float finalPosY = posY; drawStyledRect(posX, finalPosY, width, height, 5); DisplayUtils.drawShadow(posX, posY, width, height, 15, ColorUtils.rgba(255,255,255,165)); Scissor.push(); try { Scissor.setFromComponentCoordinates(posX, posY, width, height); Fonts.sfui.drawText(ms, namemod, posX + padding, posY + padding + 1, ColorUtils.rgb(0, 0, 0), fontSize); posY += fontSize + padding * 2; float maxWidth = Fonts.sfMedium.getWidth(name, fontSize) + padding * 2; float localHeight = fontSize + padding * 2; for (StaffListRenderer.Staff f : staffPlayers) { ITextComponent prefix = f.getPrefix(); float prefixWidth = Fonts.sfMedium.getWidth(prefix, fontSize); String staff = (prefix.getString().isEmpty() ? "" : " ") + f.getName(); float nameWidth = Fonts.sfMedium.getWidth(staff, fontSize); float localWidth = prefixWidth + nameWidth + Fonts.sfMedium.getWidth(f.getStatus().string, fontSize) + padding * 3; Fonts.sfMedium.drawText(ms, prefix, posX + padding, posY, fontSize, 255); Fonts.sfMedium.drawText(ms, staff, posX + padding + prefixWidth, posY, -1, fontSize); Fonts.sfMedium.drawText(ms, f.getStatus().string, posX + width - padding - Fonts.sfMedium.getWidth(f.getStatus().string, fontSize), posY, f.getStatus().color, fontSize); if (localWidth > maxWidth) { maxWidth = localWidth; } posY += fontSize + padding; localHeight += fontSize + padding; } width = Math.max(maxWidth, 80); height = localHeight + 2.5f; dragging.setWidth(width); dragging.setHeight(height); } finally { Scissor.pop(); } } @AllArgsConstructor @Data public static class Staff { ITextComponent prefix; String name; boolean isSpec; Status status; public void updateStatus() { for (NetworkPlayerInfo info : mc.getConnection().getPlayerInfoMap()) { if (info.getGameProfile().getName().equals(name)) { if (info.getGameType() == GameType.SPECTATOR) { return; } status = Status.NONE; return; } } status = Status.VANISHED; } } public enum Status { NONE("", -1), VANISHED("SPEC", ColorUtils.rgb(254, 68, 68)); public final String string; public final int color; Status(String string, int color) { this.string = string; this.color = color; } } 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.setAlpha(ColorUtils.rgb(18,16,16), 90)); DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(255, 255, 255, 190)); } } /* Если ты это читаешь, то знай, я гей! */
Java:package im.expensive.ui.display.impl; import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.platform.GlStateManager; 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.KawaseBlur; 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 iconSizeX = 10; float iconSizeY = 10; 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; ITextComponent name = GradientUtil.gradient("Зелья"); String namemod = "Potions"; float finalPosY = posY; drawStyledRect(posX, finalPosY, width, height, 5); DisplayUtils.drawShadow(posX, posY, width, height, 15, ColorUtils.rgba(255,255,255,165)); Scissor.push(); Scissor.setFromComponentCoordinates(posX, posY, width, height); Fonts.sfui.drawText(ms, namemod, posX + padding, posY + padding + 1, ColorUtils.rgb(0, 0, 0), fontSize); posY += fontSize + padding * 2; float maxWidth = Fonts.sfMedium.getWidth(name, fontSize) + padding * 2; float localHeight = fontSize + padding * 2; 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(0, 0, 0, 255), fontSize); Fonts.sfMedium.drawText(ms, bindText, posX + width - padding - bindWidth, posY, ColorUtils.rgba(0, 0, 0,255), fontSize); if (localWidth > maxWidth) { maxWidth = localWidth; } posY += (fontSize + padding); localHeight += (fontSize + padding); } width = Math.max(maxWidth, 80); height = localHeight + 2.5f; dragging.setWidth(width); dragging.setHeight(height); float imagePosX = posX + width - iconSizeX - padding; Scissor.unset(); Scissor.pop(); } 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.setAlpha(ColorUtils.rgb(18,16,16), 90)); DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(255, 255, 255, 190)); } }
нет, врятли буду делатьа есть полный худ? очень красиво
жаль, мне очень понравилось..нет, врятли буду делать
очень многим это не зашло,очень много критики.
вот как раз, такие как ты и засоряют югейм
поплачь еще
Угомонись пацанпоплачь еще
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz