бля можешь мне это дать пж я смогу сделать такую хуйню я просто софт под фт пишу и есть идея типо если нашёл базу внизу то сразу друзьям корды отпровлялисьвообще то я про отправку в чат корд и получения их
бля можешь мне это дать пж я смогу сделать такую хуйню я просто софт под фт пишу и есть идея типо если нашёл базу внизу то сразу друзьям корды отпровлялисьвообще то я про отправку в чат корд и получения их
нормасскоро солью френд онлайн с получениям корд
прикольно, добавлю в свой худ (если что это мой скид я просто этому челу его сливалкод:
ss:Код:package hvh.cheat.ui.display.impl; import com.mojang.blaze3d.matrix.MatrixStack; import hvh.cheat.HvH; import hvh.cheat.command.friends.FriendStorage; import hvh.cheat.events.EventDisplay; import hvh.cheat.events.EventUpdate; import hvh.cheat.functions.impl.visual.HUD; import hvh.cheat.ui.display.ElementRenderer; import hvh.cheat.ui.display.ElementUpdater; import hvh.cheat.utils.drag.Dragging; import hvh.cheat.utils.math.Vector4i; import hvh.cheat.utils.render.ColorUtils; import hvh.cheat.utils.render.DisplayUtils; import hvh.cheat.utils.render.font.Fonts; import hvh.cheat.utils.text.GradientUtil; import hvh.cheat.ui.styles.Style; 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.util.math.vector.Vector4f; import net.minecraft.util.text.ITextComponent; 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 FriendListRenderer implements ElementRenderer, ElementUpdater { final Dragging dragging; private final List<Friend> friendPlayers = new ArrayList<>(); private final Pattern namePattern = Pattern.compile("^\\w{3,16}$"); @Override public void update(EventUpdate e) { friendPlayers.clear(); for (String name : FriendStorage.getFriends()) { if (namePattern.matcher(name).matches() && !name.equals(mc.player.getName().getString())) { boolean isOnline = mc.getConnection().getPlayerInfoMap().stream() .anyMatch(info -> info.getGameProfile().getName().equals(name)); Friend friend = new Friend(name, isOnline ? Status.ONLINE : Status.OFFLINE); friendPlayers.add(friend); } } } float width; float height; @Override public void tick() { } @Override public void render(EventDisplay eventDisplay) { float posX = dragging.getX(); float posY = dragging.getY(); float padding = 5; float fontSize = 6.5f; MatrixStack ms = eventDisplay.getMatrixStack(); ITextComponent name = GradientUtil.gradient("Friend List"); Style style = HvH.getInstance().getStyleManager().getCurrentStyle(); DisplayUtils.drawShadow(posX - 2, posY, 3, height, 7, ColorUtils.getColor(0)); drawStyledRect(posX, posY, width, height, 4); Fonts.sfui.drawCenteredText(ms, name, posX + width / 2, posY + padding + 1f, fontSize); posY += fontSize + padding * 2; float maxWidth = Fonts.sfMedium.getWidth(name, fontSize) + padding * 2; float localHeight = fontSize + padding * 2; posY += 3.5f; for (FriendListRenderer.Friend f : friendPlayers) { String friendName = f.getName(); float nameWidth = Fonts.sfMedium.getWidth(friendName, fontSize); float localWidth = nameWidth + Fonts.sfMedium.getWidth(f.getStatus().string, fontSize) + padding * 2; DisplayUtils.drawRoundedRect(posX, posY - 3, 2.5f, 13.5f, new Vector4f(0.0F, 0.0F, 0.0F, 0.0F), new Vector4i(HUD.getColor(0, 1.0F), HUD.getColor(0, 1.0F), HUD.getColor(90, 1.0F), HUD.getColor(90, 1.0F))); Fonts.sfMedium.drawText(ms, friendName, posX + padding, posY, ColorUtils.rgb(255, 255, 255), 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); } @AllArgsConstructor @Data public static class Friend { String name; Status status; public void updateStatus() { boolean isOnline = mc.getConnection().getPlayerInfoMap().stream() .anyMatch(info -> info.getGameProfile().getName().equals(name)); status = isOnline ? Status.ONLINE : Status.OFFLINE; } } public enum Status { ONLINE("Online", ColorUtils.rgb(0, 255, 0)), OFFLINE("Offline", ColorUtils.rgb(255, 0, 0)); 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, y, width, height, 0, ColorUtils.rgba(0, 0, 0, 255)); DisplayUtils.drawRoundedRect(x, y, 2.5f, 18.8f, new Vector4f(0.0F, 0.0F, 0.0F, 0.0F), new Vector4i(HUD.getColor(0, 1.0F), HUD.getColor(0, 1.0F), HUD.getColor(90, 1.0F), HUD.getColor(90, 1.0F))); } }
Посмотреть вложение 280471
кудакудакудатак его же сливали.
отлично, но не понимаю зачем оно, если у тебя есть тиммейты, скорее всего вы будете сидеть в дс же, а если у тебя большой френдлист то там пол экрана забито будеткод:
ss:Код:package hvh.cheat.ui.display.impl; import com.mojang.blaze3d.matrix.MatrixStack; import hvh.cheat.HvH; import hvh.cheat.command.friends.FriendStorage; import hvh.cheat.events.EventDisplay; import hvh.cheat.events.EventUpdate; import hvh.cheat.functions.impl.visual.HUD; import hvh.cheat.ui.display.ElementRenderer; import hvh.cheat.ui.display.ElementUpdater; import hvh.cheat.utils.drag.Dragging; import hvh.cheat.utils.math.Vector4i; import hvh.cheat.utils.render.ColorUtils; import hvh.cheat.utils.render.DisplayUtils; import hvh.cheat.utils.render.font.Fonts; import hvh.cheat.utils.text.GradientUtil; import hvh.cheat.ui.styles.Style; 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.util.math.vector.Vector4f; import net.minecraft.util.text.ITextComponent; 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 FriendListRenderer implements ElementRenderer, ElementUpdater { final Dragging dragging; private final List<Friend> friendPlayers = new ArrayList<>(); private final Pattern namePattern = Pattern.compile("^\\w{3,16}$"); @Override public void update(EventUpdate e) { friendPlayers.clear(); for (String name : FriendStorage.getFriends()) { if (namePattern.matcher(name).matches() && !name.equals(mc.player.getName().getString())) { boolean isOnline = mc.getConnection().getPlayerInfoMap().stream() .anyMatch(info -> info.getGameProfile().getName().equals(name)); Friend friend = new Friend(name, isOnline ? Status.ONLINE : Status.OFFLINE); friendPlayers.add(friend); } } } float width; float height; @Override public void tick() { } @Override public void render(EventDisplay eventDisplay) { float posX = dragging.getX(); float posY = dragging.getY(); float padding = 5; float fontSize = 6.5f; MatrixStack ms = eventDisplay.getMatrixStack(); ITextComponent name = GradientUtil.gradient("Friend List"); Style style = HvH.getInstance().getStyleManager().getCurrentStyle(); DisplayUtils.drawShadow(posX - 2, posY, 3, height, 7, ColorUtils.getColor(0)); drawStyledRect(posX, posY, width, height, 4); Fonts.sfui.drawCenteredText(ms, name, posX + width / 2, posY + padding + 1f, fontSize); posY += fontSize + padding * 2; float maxWidth = Fonts.sfMedium.getWidth(name, fontSize) + padding * 2; float localHeight = fontSize + padding * 2; posY += 3.5f; for (FriendListRenderer.Friend f : friendPlayers) { String friendName = f.getName(); float nameWidth = Fonts.sfMedium.getWidth(friendName, fontSize); float localWidth = nameWidth + Fonts.sfMedium.getWidth(f.getStatus().string, fontSize) + padding * 2; DisplayUtils.drawRoundedRect(posX, posY - 3, 2.5f, 13.5f, new Vector4f(0.0F, 0.0F, 0.0F, 0.0F), new Vector4i(HUD.getColor(0, 1.0F), HUD.getColor(0, 1.0F), HUD.getColor(90, 1.0F), HUD.getColor(90, 1.0F))); Fonts.sfMedium.drawText(ms, friendName, posX + padding, posY, ColorUtils.rgb(255, 255, 255), 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); } @AllArgsConstructor @Data public static class Friend { String name; Status status; public void updateStatus() { boolean isOnline = mc.getConnection().getPlayerInfoMap().stream() .anyMatch(info -> info.getGameProfile().getName().equals(name)); status = isOnline ? Status.ONLINE : Status.OFFLINE; } } public enum Status { ONLINE("Online", ColorUtils.rgb(0, 255, 0)), OFFLINE("Offline", ColorUtils.rgb(255, 0, 0)); 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, y, width, height, 0, ColorUtils.rgba(0, 0, 0, 255)); DisplayUtils.drawRoundedRect(x, y, 2.5f, 18.8f, new Vector4f(0.0F, 0.0F, 0.0F, 0.0F), new Vector4i(HUD.getColor(0, 1.0F), HUD.getColor(0, 1.0F), HUD.getColor(90, 1.0F), HUD.getColor(90, 1.0F))); } }
Посмотреть вложение 280471
ну типо спрашивать ник каждного а так посмотрел и сразу тепнулсяотлично, но не понимаю зачем оно, если у тебя есть тиммейты, скорее всего вы будете сидеть в дс же, а если у тебя большой френдлист то там пол экрана забито будет
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz